diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index 2303b6a68e8..678eacd7f3e 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -86,5 +86,4 @@ This module provides the core of the OpenERP Web Client. "static/test/mutex.js" ], 'bootstrap': True, - 'twitter': False, } diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 59722d12372..bc28b1b213f 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -13,6 +13,7 @@ import os import re import simplejson import time +import urllib import urllib2 import xmlrpclib import zlib @@ -294,9 +295,9 @@ def manifest_list(req, extension, mods=None, db=None): if not req.debug: path = '/web/webclient/' + extension if mods is not None: - path += '?mods=' + mods + path += '?' + urllib.urlencode({'mods': mods}) elif db: - path += '?db=' + db + path += '?' + urllib.urlencode({'db': db}) return [path] files = manifest_glob(req, extension, addons=mods, db=db) i_am_diabetic = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 or \ @@ -877,7 +878,7 @@ class Session(openerpweb.Controller): """ saved_actions = req.httpsession.get('saved_actions') if not saved_actions: - saved_actions = {"next":0, "actions":{}} + saved_actions = {"next":1, "actions":{}} req.httpsession['saved_actions'] = saved_actions # we don't allow more than 10 stored actions if len(saved_actions["actions"]) >= 10: diff --git a/addons/web/controllers/testing.py b/addons/web/controllers/testing.py index 5692139f002..b6327bf4622 100644 --- a/addons/web/controllers/testing.py +++ b/addons/web/controllers/testing.py @@ -32,12 +32,12 @@ NOMODULE_TEMPLATE = Template(u""" -""") +""", default_filters=['h']) NOTFOUND = Template(u"""

Unable to find the module [${module}], please check that the module name is correct and the module is on OpenERP's path.

<< Back to tests -""") +""", default_filters=['h']) TESTING = Template(u""" <%def name="to_path(module, p)">/${module}/${p} @@ -51,9 +51,9 @@ TESTING = Template(u""" @@ -83,7 +83,7 @@ TESTING = Template(u""" % endif % endfor -""") +""", default_filters=['h']) class TestRunnerController(http.Controller): _cp_path = '/web/tests' diff --git a/addons/web/doc/conf.py b/addons/web/doc/conf.py index 54434190707..7fe38022ab1 100644 --- a/addons/web/doc/conf.py +++ b/addons/web/doc/conf.py @@ -253,6 +253,5 @@ todo_include_todos = True intersphinx_mapping = { 'python': ('http://docs.python.org/', None), 'openerpserver': ('http://doc.openerp.com/trunk/developers/server', None), - 'openerpdev': ('http://doc.openerp.com/trunk/developers', None), 'openerpcommand': ('http://doc.openerp.com/trunk/developers/command', None), } diff --git a/addons/web/doc/module.rst b/addons/web/doc/module.rst index 1bdb7c14799..8306e885f65 100644 --- a/addons/web/doc/module.rst +++ b/addons/web/doc/module.rst @@ -1,3 +1,5 @@ +.. _module: + Building an OpenERP Web module ============================== diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po index 4dc799cebf4..0a339a02909 100644 --- a/addons/web/i18n/bg.po +++ b/addons/web/i18n/bg.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-01-17 19:26+0000\n" +"Last-Translator: tuxar \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:37+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-18 07:11+0000\n" +"X-Generator: Launchpad (build 16430)\n" #. module: web #. openerp-web @@ -29,14 +29,14 @@ msgstr "Език по подразбиране:" #: code:addons/web/static/src/js/coresetup.js:602 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "Преди %d минути" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:630 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "Зареждането продължава..
Моля, бъдете търпеливи." #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "по-малко или равно на" #: code:addons/web/static/src/js/chrome.js:393 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Въведете Вашата предишна парола" #. module: web #. openerp-web @@ -75,14 +75,14 @@ msgstr "Главна парола:" #: code:addons/web/static/src/xml/base.xml:274 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "Промяна на главната парола" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:491 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "Сигурни ли сте, че искате да изтриете база от данни: %s ?" #. module: web #. openerp-web @@ -96,21 +96,21 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:537 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Достъпът е отказан" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Грешка при изпращане на данни." #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:603 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "преди около час" #. module: web #. openerp-web @@ -119,7 +119,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:216 #, python-format msgid "Backup Database" -msgstr "" +msgstr "Резервно копие на базата от данни" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "\"%s\" не е валидна дата" #. module: web #. openerp-web @@ -148,20 +148,20 @@ msgstr "Преглед на файла, който не се импортира: #: code:addons/web/static/src/js/coresetup.js:601 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "преди около минута" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1297 #, python-format msgid "File" -msgstr "" +msgstr "Файл" #. module: web #: code:addons/web/controllers/main.py:826 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Не може да оставите полето за парола празно." #. module: web #. openerp-web diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po index a7a28acc5ff..e66462880a1 100644 --- a/addons/web/i18n/cs.po +++ b/addons/web/i18n/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-26 22:10+0000\n" +"PO-Revision-Date: 2012-12-28 11:54+0000\n" "Last-Translator: Jan Grmela \n" "Language-Team: openerp-i18n-czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-27 05:53+0000\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" "X-Generator: Launchpad (build 16378)\n" "X-Poedit-Language: Czech\n" @@ -44,7 +44,7 @@ msgstr "Načítání stále probíhá...
Prosím čekejte." #: code:addons/web/static/src/js/search.js:1832 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -90,7 +90,7 @@ msgstr "Opravdu chcete smazat databázi: %s?" #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "" +msgstr "Vyhledat %(field)s v: %(value)s" #. module: web #. openerp-web @@ -127,7 +127,7 @@ msgstr "Záloha databáze" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "pohledy %(view_type)s" #. module: web #. openerp-web @@ -215,6 +215,7 @@ msgstr "Naposledy změneno:" #, python-format msgid "M2O search fields do not currently handle multiple default values" msgstr "" +"Vyhledávací pole M2O momentálně nepodporují vícenásobné výchozí hodnoty" #. module: web #. openerp-web @@ -356,7 +357,7 @@ msgstr "Změnit heslo" #: code:addons/web/static/src/js/view_form.js:3411 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "Typ pohledu '%s' není podporován v One2Many" #. module: web #. openerp-web @@ -440,7 +441,7 @@ msgstr "Nahrát soubor" #: code:addons/web/static/src/js/view_form.js:3804 #, python-format msgid "Action Button" -msgstr "" +msgstr "Tlačítko akce" #. module: web #. openerp-web @@ -483,7 +484,7 @@ msgstr "Načítání (%d)" #: code:addons/web/static/src/js/search.js:1114 #, python-format msgid "GroupBy" -msgstr "" +msgstr "GroupBy" #. module: web #. openerp-web @@ -567,7 +568,7 @@ msgstr "Vytvořit a upravit..." #: code:addons/web/static/src/js/pyeval.js:731 #, python-format msgid "Unknown nonliteral type " -msgstr "" +msgstr "Neznámý typ nonliterálu " #. module: web #. openerp-web @@ -697,7 +698,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:1223 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Pole '%s' specifikované v pohledu nelze nalézt." #. module: web #. openerp-web @@ -854,7 +855,7 @@ msgstr "Přidat" #: code:addons/web/static/src/xml/base.xml:536 #, python-format msgid "Toggle Form Layout Outline" -msgstr "" +msgstr "Přepnout náčrt rozložení formuláře" #. module: web #. openerp-web @@ -889,7 +890,7 @@ msgstr "Předvolby" #: code:addons/web/static/src/js/view_form.js:436 #, python-format msgid "Wrong on change format: %s" -msgstr "" +msgstr "Neplatný při změně formátu: %s" #. module: web #. openerp-web @@ -1066,7 +1067,7 @@ msgstr "/web/binary/upload_attachment" #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Změněné heslo" #. module: web #. openerp-web @@ -1279,7 +1280,7 @@ msgstr "Odhlásit se" #: code:addons/web/static/src/js/search.js:1090 #, python-format msgid "Group by: %s" -msgstr "" +msgstr "Seskupit podle: %s" #. module: web #. openerp-web @@ -1782,7 +1783,7 @@ msgstr "Uložit jako:" #: code:addons/web/static/src/js/search.js:927 #, python-format msgid "Filter on: %s" -msgstr "" +msgstr "Filtrovat: %s" #. module: web #. openerp-web @@ -1932,6 +1933,8 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" +"Seskupení podle pole '%s' není možné protože toto pole není zobrazeno v " +"seznamu." #. module: web #. openerp-web @@ -2022,7 +2025,7 @@ msgstr "nerovná se" msgid "" "The type of the field '%s' must be a many2many field with a relation to " "'ir.attachment' model." -msgstr "" +msgstr "Typ pole '%s' musí být many2many s relací k modelu 'ir.attachment'." #. module: web #. openerp-web @@ -2259,7 +2262,7 @@ msgstr "'%s' není platné datum, datum/čas ani čas" #: code:addons/web/controllers/main.py:1264 #, python-format msgid "No content found for field '%s' on '%s:%s'" -msgstr "" +msgstr "Žádný obsah pole '%s' nebyl nalezen v '%s:%s'" #. module: web #. openerp-web @@ -2366,7 +2369,7 @@ msgstr "Neplatná hodnata pro pole %(fieldname)s: [%(value)s] je %(message)s" #: code:addons/web/static/src/js/view_form.js:3805 #, python-format msgid "The o2m record must be saved before an action can be used" -msgstr "" +msgstr "Záznam o2m musí být uložen před tím, než je akce použita" #. module: web #. openerp-web @@ -2450,7 +2453,7 @@ msgstr "Opravdu chcete smazat tuto přílohu?" #: code:addons/web/static/src/js/views.js:840 #, python-format msgid "Technical Translation" -msgstr "" +msgstr "Technický překlad" #. module: web #. openerp-web @@ -2471,7 +2474,7 @@ msgstr "Změněno:" #: code:addons/web/static/src/js/chrome.js:499 #, python-format msgid "The database %s has been dropped" -msgstr "" +msgstr "Databáze %s byla smazána" #. module: web #. openerp-web @@ -2536,7 +2539,7 @@ msgstr "Uložit & Zavřít" #: code:addons/web/static/src/js/view_form.js:2845 #, python-format msgid "Search More..." -msgstr "" +msgstr "Vyhledat více..." #. module: web #. openerp-web @@ -2574,7 +2577,7 @@ msgstr "Vybrat datum" #: code:addons/web/static/src/js/search.js:1249 #, python-format msgid "Search %(field)s for: %(value)s" -msgstr "" +msgstr "Prohledat %(field)s na výskyt: %(value)s" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po index a53f304a472..f08ebe85221 100644 --- a/addons/web/i18n/es_EC.po +++ b/addons/web/i18n/es_EC.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-01-22 03:23+0000\n" +"Last-Translator: Cristian Salamea (Gnuthink) \n" "Language-Team: Spanish (Ecuador) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-23 06:03+0000\n" +"X-Generator: Launchpad (build 16441)\n" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "Acceso denegado" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Error cargando datos" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Base de datos de respaldo" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "Vista %(view_type)s" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "Nueva Password:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Adjunto:" #. module: web #. openerp-web @@ -754,7 +754,7 @@ msgstr "Guardar Como" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -1023,7 +1023,7 @@ msgstr "Guardar lista de campos" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Start" #. module: web #. openerp-web @@ -1366,7 +1366,7 @@ msgstr "La confirmación no coincide con la contraseña" #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Editar datos de la compañía" #. module: web #. openerp-web @@ -1867,7 +1867,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Stop" #. module: web #. openerp-web @@ -2094,7 +2094,7 @@ msgstr "Cargar datos de demostración" #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Created by :" -msgstr "" +msgstr "Creado por:" #. module: web #. openerp-web @@ -2475,7 +2475,7 @@ msgstr "Campo:" #: code:addons/web/static/src/xml/base.xml:620 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Modificado por:" #. module: web #. openerp-web diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po index 17067d20da7..75e527609dd 100644 --- a/addons/web/i18n/et.po +++ b/addons/web/i18n/et.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-26 14:49+0000\n" +"PO-Revision-Date: 2013-01-06 20:00+0000\n" "Last-Translator: Ahti Hinnov \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-27 05:53+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-07 05:45+0000\n" +"X-Generator: Launchpad (build 16402)\n" #. module: web #. openerp-web @@ -2359,7 +2359,7 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:509 #, python-format msgid "Backed" -msgstr "" +msgstr "Varundatud" #. module: web #. openerp-web diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po index e8f008873a4..63cfe619984 100644 --- a/addons/web/i18n/fi.po +++ b/addons/web/i18n/fi.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Juha Kotamäki \n" +"PO-Revision-Date: 2013-02-06 08:55+0000\n" +"Last-Translator: Sligo Oy \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:37+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-07 05:42+0000\n" +"X-Generator: Launchpad (build 16477)\n" #. module: web #. openerp-web @@ -29,21 +29,21 @@ msgstr "Oletuskieli:" #: code:addons/web/static/src/js/coresetup.js:602 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d minuuttia sitten" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:630 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "Ladataan...
Olkaa hyvä ja odottakaa." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1832 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "pienempi tai yhtäsuuri kuin" #: code:addons/web/static/src/js/chrome.js:393 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Syötä edellinen salasanasi" #. module: web #. openerp-web @@ -75,42 +75,42 @@ msgstr "Pääsalasana:" #: code:addons/web/static/src/xml/base.xml:274 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "Vaihda pääsalasana" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:491 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "Oletko varma, että haluat poistaa tietokannan: %s ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "" +msgstr "Hae %(field)s arvoista: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:537 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Pääsy evätty" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Lähetysvirhe" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:603 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "noin tunti sitten" #. module: web #. openerp-web @@ -119,14 +119,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:216 #, python-format msgid "Backup Database" -msgstr "" +msgstr "Varmuuskopioi tietokanta" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "%(view_type)s näkymä" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "\"%s\" ei ole kelvollinen päivämäärä" #. module: web #. openerp-web @@ -148,20 +148,20 @@ msgstr "Tässä on näyte tiedostosta jota ei voitu tuoda:" #: code:addons/web/static/src/js/coresetup.js:601 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "noin minuutti sitten" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1297 #, python-format msgid "File" -msgstr "" +msgstr "Tiedosto" #. module: web #: code:addons/web/controllers/main.py:826 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Et voi jättää salasanaa tyhjäksi." #. module: web #. openerp-web @@ -192,7 +192,7 @@ msgstr "Valitse" #: code:addons/web/static/src/js/chrome.js:549 #, python-format msgid "Database restored successfully" -msgstr "Tietokanta palautettu onnistuneesti" +msgstr "Tietokanta palautettu" #. module: web #. openerp-web @@ -213,21 +213,21 @@ msgstr "Viimeisin muutospäivämäärä:" #: code:addons/web/static/src/js/search.js:1459 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "" +msgstr "Monesta yhteen hakukentät eivät salli useita oletusarvoja." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1227 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Pienohjelman tyyppiä '%s' ei ole asennettu" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1608 #, python-format msgid "Share with all users" -msgstr "" +msgstr "Jaa kaikkien käyttäjien kanssa" #. module: web #. openerp-web @@ -242,14 +242,14 @@ msgstr "Lomake" #: code:addons/web/static/src/xml/base.xml:1324 #, python-format msgid "(no string)" -msgstr "" +msgstr "(ei merkkijonoa)" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:282 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' on virheellinen aika" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "Uusi salasana:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Liite:" #. module: web #. openerp-web @@ -291,49 +291,49 @@ msgstr "Määrittämätön" #: code:addons/web/static/src/js/view_form.js:4871 #, python-format msgid "File Upload" -msgstr "" +msgstr "Tiedoston lähetys" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:607 #, python-format msgid "about a month ago" -msgstr "" +msgstr "noin kuukausi sitten" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1600 #, python-format msgid "Custom Filters" -msgstr "" +msgstr "Muokattavat suodattimet" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1336 #, python-format msgid "Button Type:" -msgstr "Napin tyyppi:" +msgstr "Painiketyyppi:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:419 #, python-format msgid "OpenERP SA Company" -msgstr "" +msgstr "OpenERP SA yritys" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1553 #, python-format msgid "Custom Filter" -msgstr "" +msgstr "Mukautettu suodatin" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:159 #, python-format msgid "Duplicate Database" -msgstr "" +msgstr "Kopioi tietokanta" #. module: web #. openerp-web @@ -355,7 +355,7 @@ msgstr "Vaihda salasana" #: code:addons/web/static/src/js/view_form.js:3411 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "Näkymätyyppiä '%s' ei tueta yhdestä moneen kentissä." #. module: web #. openerp-web @@ -370,7 +370,7 @@ msgstr "Lataa" #: code:addons/web/static/src/js/formats.js:266 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' on virheellinen päivämäärä" #. module: web #. openerp-web @@ -398,20 +398,20 @@ msgstr "Valinta:" #: code:addons/web/static/src/js/view_form.js:871 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "Seuraavat kentät ovat virheellisiä:" #. module: web #: code:addons/web/controllers/main.py:847 #, python-format msgid "Languages" -msgstr "" +msgstr "Kielet" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1270 #, python-format msgid "...Upload in progress..." -msgstr "" +msgstr "...lähetys käynnissä..." #. module: web #. openerp-web @@ -425,21 +425,21 @@ msgstr "Tuo" #: code:addons/web/static/src/js/chrome.js:543 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "Tietokantaa ei voitu palauttaa" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4851 #, python-format msgid "File upload" -msgstr "" +msgstr "Tiedoston lähetys" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3804 #, python-format msgid "Action Button" -msgstr "" +msgstr "Toimintopainike" #. module: web #. openerp-web @@ -447,7 +447,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1467 #, python-format msgid "Manage Filters" -msgstr "Hallitse Suotimia" +msgstr "Hallitse suodattimia" #. module: web #. openerp-web @@ -461,14 +461,14 @@ msgstr "sisältää" #: code:addons/web/static/src/js/coresetup.js:633 #, python-format msgid "Take a minute to get a coffee,
because it's loading..." -msgstr "" +msgstr "Käy vaikka kahvilla,
koska tämä lataus kestää hetken..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:413 #, python-format msgid "Activate the developer mode" -msgstr "" +msgstr "Aktivoi kehittäjätila" #. module: web #. openerp-web @@ -482,14 +482,14 @@ msgstr "Ladataan (%d)" #: code:addons/web/static/src/js/search.js:1114 #, python-format msgid "GroupBy" -msgstr "" +msgstr "Järjestä" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:687 #, python-format msgid "You must select at least one record." -msgstr "" +msgstr "Sinun täytyy valita vähintään yksi tietue." #. module: web #. openerp-web @@ -503,7 +503,7 @@ msgstr "Näytä loki (perm_read)" #: code:addons/web/static/src/js/view_form.js:1061 #, python-format msgid "Set Default" -msgstr "Aseta Oletukseksi" +msgstr "Aseta oletukseksi" #. module: web #. openerp-web @@ -517,7 +517,7 @@ msgstr "Suhde:" #: code:addons/web/static/src/js/coresetup.js:600 #, python-format msgid "less than a minute ago" -msgstr "" +msgstr "alle minuutti sitten" #. module: web #. openerp-web @@ -552,14 +552,14 @@ msgstr "Palautettu" #: code:addons/web/static/src/js/view_list.js:394 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d-%d %d :sta" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2868 #, python-format msgid "Create and Edit..." -msgstr "" +msgstr "Luo ja muokkaa..." #. module: web #. openerp-web @@ -573,7 +573,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:2346 #, python-format msgid "Resource error" -msgstr "" +msgstr "Resurssivirhe" #. module: web #. openerp-web @@ -587,21 +587,21 @@ msgstr "ei ole" #: code:addons/web/static/src/xml/base.xml:550 #, python-format msgid "Print Workflow" -msgstr "" +msgstr "Tulosta työnkulku" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:396 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "Vahvista uusi salasanasi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1804 #, python-format msgid "UTF-8" -msgstr "" +msgstr "UTF-8" #. module: web #. openerp-web @@ -674,7 +674,7 @@ msgstr "Näkymä" #: code:addons/web/static/src/xml/base.xml:1466 #, python-format msgid "Save Filter" -msgstr "Tallenna suodin" +msgstr "Tallenna suodatin" #. module: web #. openerp-web @@ -689,13 +689,14 @@ msgstr "Toiminnon ID:" #, python-format msgid "Your user's preference timezone does not match your browser timezone:" msgstr "" +"Käyttäjätietojesi aikavyöhyke ei täsmää selaimesi aikavyöhykkeen kanssa:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1223 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Näkymässä määriteltyä kenttää '%s' ei löytynyt." #. module: web #. openerp-web @@ -716,21 +717,21 @@ msgstr "Vanha salasana:" #: code:addons/web/static/src/js/formats.js:113 #, python-format msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" -msgstr "" +msgstr "bittiä,kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "Tietokanta on kopioitu" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1625 #, python-format msgid "Apply" -msgstr "" +msgstr "Käytä" #. module: web #. openerp-web @@ -752,21 +753,21 @@ msgstr "Tallenna nimellä" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2317 #, python-format msgid "E-mail error" -msgstr "" +msgstr "Sähköpostivirhe" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:605 #, python-format msgid "a day ago" -msgstr "" +msgstr "päivä sitten" #. module: web #. openerp-web @@ -780,7 +781,7 @@ msgstr "Onko tiedostossasi otsikot?" #: code:addons/web/static/src/js/view_list.js:327 #, python-format msgid "Unlimited" -msgstr "Ei rajoitettu" +msgstr "Rajoittamaton" #. module: web #. openerp-web @@ -791,6 +792,9 @@ msgid "" "\n" "Are you sure you want to leave this page ?" msgstr "" +"Varoitus, tietuetta on muokattu ja tekemäsi muutokset hylätään.\n" +"\n" +"Haluatko varmasti poistua tältä sivulta ?" #. module: web #. openerp-web @@ -818,14 +822,14 @@ msgstr "Rajoitin:" #: code:addons/web/static/src/xml/base.xml:462 #, python-format msgid "Browser's timezone" -msgstr "" +msgstr "Selaimen aikavyhöhyke" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1605 #, python-format msgid "Filter name" -msgstr "" +msgstr "Suodattimen nimi" #. module: web #. openerp-web @@ -856,7 +860,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:421 #, python-format msgid "OpenERP.com" -msgstr "" +msgstr "OpenERP.com" #. module: web #. openerp-web @@ -870,7 +874,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:636 #, python-format msgid "Add..." -msgstr "" +msgstr "Lisää..." #. module: web #. openerp-web @@ -945,14 +949,14 @@ msgstr "Käyttäjänimi" #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "Duplicating database" -msgstr "" +msgstr "Tietokantaa kopioidaan" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Password has been changed successfully" -msgstr "" +msgstr "Salasana vaihdettu" #. module: web #. openerp-web @@ -966,7 +970,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:533 #, python-format msgid "Debug View#" -msgstr "" +msgstr "Kehitysnäkymä#" #. module: web #. openerp-web @@ -1014,7 +1018,7 @@ msgstr "Tallenna kenttäluettelo" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Aloita" #. module: web #. openerp-web @@ -1035,14 +1039,14 @@ msgstr "Luontipäivämäärä:" #: code:addons/web/controllers/main.py:835 #, python-format msgid "Error, password not changed !" -msgstr "" +msgstr "Virhe, salasanaa ei muutettu" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4850 #, python-format msgid "The selected file exceed the maximum file size of %s." -msgstr "" +msgstr "Tiedoston suurin sallittu koko %s ylitetty." #. module: web #. openerp-web @@ -1050,14 +1054,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1300 #, python-format msgid "/web/binary/upload_attachment" -msgstr "" +msgstr "/web/binary/upload_attachment" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Salasana vaihdettu" #. module: web #. openerp-web @@ -1091,14 +1095,14 @@ msgstr "Varmuuskopioi" #: code:addons/web/static/src/js/dates.js:80 #, python-format msgid "'%s' is not a valid time" -msgstr "" +msgstr "\"%s\" ei ole kelvollinen aika" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:274 #, python-format msgid "'%s' is not a correct date" -msgstr "" +msgstr "'%s' ei ole kelvollinen päivämäärä" #. module: web #. openerp-web @@ -1112,14 +1116,14 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:606 #, python-format msgid "%d days ago" -msgstr "" +msgstr "%d päivää sitten" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1474 #, python-format msgid "(Any existing filter with the same name will be replaced)" -msgstr "(jo olemassaoleva samanniminen suodin korvataan)" +msgstr "" #. module: web #. openerp-web @@ -1166,7 +1170,7 @@ msgstr "Tuntematon operaattori %s toimialueella %s" #: code:addons/web/static/src/js/view_form.js:428 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web #. openerp-web @@ -1196,7 +1200,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:608 #, python-format msgid "%d months ago" -msgstr "" +msgstr "%d kuukautta sitten" #. module: web #. openerp-web @@ -1217,7 +1221,7 @@ msgstr "Lisää kehittynyt suodin" #: code:addons/web/controllers/main.py:828 #, python-format msgid "The new password and its confirmation must be identical." -msgstr "" +msgstr "Uusi salasana sekä vahvistus tulee olla samat." #. module: web #. openerp-web @@ -1225,14 +1229,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:248 #, python-format msgid "Restore Database" -msgstr "" +msgstr "Palauta tietokanta" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "Login" -msgstr "" +msgstr "Kirjaudu" #. module: web #. openerp-web @@ -1346,28 +1350,28 @@ msgstr "%(page)d/%(page_count)d" #: code:addons/web/static/src/js/chrome.js:397 #, python-format msgid "The confirmation does not match the password" -msgstr "" +msgstr "Salasanan vahvistus ei täsmää salasanan kanssa" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Muokkaa yrityksen tietoja" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4886 #, python-format msgid "Save As..." -msgstr "" +msgstr "Tallenna nimellä..." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5007 #, python-format msgid "Could not display the selected image." -msgstr "" +msgstr "Valittua kuvaa ei voitu näyttää." #. module: web #. openerp-web @@ -1390,7 +1394,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:394 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web #. openerp-web @@ -1404,14 +1408,14 @@ msgstr "1. Tuo .CSV tiedosto" #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "No database selected !" -msgstr "" +msgstr "Tietokantaa ei valittu !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:180 #, python-format msgid "(%d records)" -msgstr "" +msgstr "(%d tietuetta)" #. module: web #. openerp-web @@ -1425,7 +1429,7 @@ msgstr "Vaihda oletusarvo:" #: code:addons/web/static/src/xml/base.xml:171 #, python-format msgid "Original database name:" -msgstr "" +msgstr "Alkuperäinen tietokannan nimi:" #. module: web #. openerp-web @@ -1449,7 +1453,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1619 #, python-format msgid "Advanced Search" -msgstr "" +msgstr "Tarkennettu haku" #. module: web #. openerp-web @@ -1496,7 +1500,7 @@ msgstr "Tuonnin valinnat" #: code:addons/web/static/src/js/view_form.js:2936 #, python-format msgid "Add %s" -msgstr "" +msgstr "Lisää %s" #. module: web #. openerp-web @@ -1534,7 +1538,7 @@ msgstr "CSV tiedosto:" #: code:addons/web/static/src/js/search.js:1741 #, python-format msgid "Advanced" -msgstr "" +msgstr "Lisäasetukset" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po index 7e759aa3a16..6a7f8ca2467 100644 --- a/addons/web/i18n/fr.po +++ b/addons/web/i18n/fr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 07:02+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2013-01-09 15:30+0000\n" +"Last-Translator: Numérigraphe \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-10 05:36+0000\n" +"X-Generator: Launchpad (build 16412)\n" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "Accès refusé" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Erreur de transmission" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Sauvegarde de la base de données" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "vue %(view_type)s" #. module: web #. openerp-web @@ -272,7 +272,7 @@ msgstr "Nouveau mot de passe :" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Pièce jointe :" #. module: web #. openerp-web @@ -757,7 +757,7 @@ msgstr "Enregistrer sous" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -941,7 +941,7 @@ msgstr "Enregistrer" #: code:addons/web/static/src/xml/base.xml:352 #, python-format msgid "More" -msgstr "Plus" +msgstr "Autres options" #. module: web #. openerp-web @@ -1028,7 +1028,7 @@ msgstr "Enregistrer la liste des champs" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Démarrer" #. module: web #. openerp-web @@ -1372,7 +1372,7 @@ msgstr "La confirmation ne correspond pas au mot de passe" #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Modifier les données de la société" #. module: web #. openerp-web @@ -1621,7 +1621,7 @@ msgstr "Suppression de la base de données" #: code:addons/web/static/src/xml/base.xml:445 #, python-format msgid "Powered by" -msgstr "Propulsé par" +msgstr "Fourni par" #. module: web #. openerp-web @@ -1873,7 +1873,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Arrêter" #. module: web #. openerp-web @@ -2100,7 +2100,7 @@ msgstr "Charger les données de démonstration:" #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Created by :" -msgstr "" +msgstr "Créé par :" #. module: web #. openerp-web @@ -2482,7 +2482,7 @@ msgstr "Champ :" #: code:addons/web/static/src/xml/base.xml:620 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Modifié par :" #. module: web #. openerp-web diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po index 3c820122505..9ef88396e9d 100644 --- a/addons/web/i18n/hu.po +++ b/addons/web/i18n/hu.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-27 09:12+0000\n" +"PO-Revision-Date: 2013-02-12 13:23+0000\n" "Last-Translator: krnkris \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-28 05:37+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-13 05:22+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "Hozzáférés megtagadva" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "Feltültési hiba" +msgstr "Feltöltési hiba" #. module: web #. openerp-web diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index 8103a64f8f4..2e294f2d1c6 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-23 23:17+0000\n" +"PO-Revision-Date: 2013-01-02 23:44+0000\n" "Last-Translator: Sergio Corato \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-25 05:16+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-04 05:28+0000\n" +"X-Generator: Launchpad (build 16393)\n" #. module: web #. openerp-web @@ -75,7 +75,7 @@ msgstr "Password principale" #: code:addons/web/static/src/xml/base.xml:274 #, python-format msgid "Change Master Password" -msgstr "Cambia Master Password" +msgstr "Cambia la Password principale" #. module: web #. openerp-web diff --git a/addons/web/i18n/ko.po b/addons/web/i18n/ko.po new file mode 100644 index 00000000000..3185dbf1368 --- /dev/null +++ b/addons/web/i18n/ko.po @@ -0,0 +1,2612 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 07:14+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:133 +#, python-format +msgid "Default language:" +msgstr "기본 언어:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:602 +#, python-format +msgid "%d minutes ago" +msgstr "%d분 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:630 +#, python-format +msgid "Still loading...
Please be patient." +msgstr "로딩 중입니다...
기다려 주세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1832 +#, python-format +msgid "%(field)s %(operator)s \"%(value)s\"" +msgstr "%(field)s %(operator)s \"%(value)s\"" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1884 +#: code:addons/web/static/src/js/search.js:1918 +#: code:addons/web/static/src/js/search.js:1943 +#, python-format +msgid "less or equal than" +msgstr "다음보다 작거나 같음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:393 +#, python-format +msgid "Please enter your previous password" +msgstr "기존 암호를 입력해 주세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:117 +#: code:addons/web/static/src/xml/base.xml:167 +#: code:addons/web/static/src/xml/base.xml:282 +#, python-format +msgid "Master password:" +msgstr "마스터 암호:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:274 +#, python-format +msgid "Change Master Password" +msgstr "마스터 암호 변경" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:491 +#, python-format +msgid "Do you really want to delete the database: %s ?" +msgstr "%s 데이터베이스를 삭제하시겠습니까?" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1398 +#, python-format +msgid "Search %(field)s at: %(value)s" +msgstr "다음 위치에서 %(field)s 검색: %(value)s" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:537 +#, python-format +msgid "Access Denied" +msgstr "접근이 거부됨" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:5183 +#, python-format +msgid "Uploading error" +msgstr "업로드 오류" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:603 +#, python-format +msgid "about an hour ago" +msgstr "약 한 시간 전" + +#. module: web +#. openerp-web +#: code:addons/web/controllers/main.py:768 +#: code:addons/web/static/src/js/chrome.js:514 +#: code:addons/web/static/src/xml/base.xml:216 +#, python-format +msgid "Backup Database" +msgstr "데이터베이스 백업" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:463 +#, python-format +msgid "%(view_type)s view" +msgstr "%(view_type)s 화면" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/dates.js:49 +#: code:addons/web/static/src/js/dates.js:53 +#, python-format +msgid "'%s' is not a valid date" +msgstr "'%s' 는 유효한 날짜가 아닙니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1837 +#, python-format +msgid "Here is a preview of the file we could not import:" +msgstr "다음은 불러올 수 없는 파일의 미리보기입니다:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:601 +#, python-format +msgid "about a minute ago" +msgstr "약 1분 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1297 +#, python-format +msgid "File" +msgstr "파일" + +#. module: web +#: code:addons/web/controllers/main.py:826 +#, python-format +msgid "You cannot leave any password empty." +msgstr "암호는 비워둘 수 없습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:680 +#, python-format +msgid "Invalid username or password" +msgstr "유효하지 않은 사용자명 또는 암호" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:206 +#: code:addons/web/static/src/xml/base.xml:238 +#: code:addons/web/static/src/xml/base.xml:260 +#, python-format +msgid "Master Password:" +msgstr "마스터 암호:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1217 +#: code:addons/web/static/src/xml/base.xml:1374 +#, python-format +msgid "Select" +msgstr "선택" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:549 +#, python-format +msgid "Database restored successfully" +msgstr "데이터베이스가 성공적으로 복구되었습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:415 +#, python-format +msgid "Version" +msgstr "버전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:570 +#, python-format +msgid "Latest Modification Date:" +msgstr "최종 수정일:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1459 +#, python-format +msgid "M2O search fields do not currently handle multiple default values" +msgstr "M2O 검색 필드는 현재 다중 기본값을 처리하지 않습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1227 +#, python-format +msgid "Widget type '%s' is not implemented" +msgstr "'%s' 위젯 유형은 구현되지 않습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1608 +#, python-format +msgid "Share with all users" +msgstr "모든 사용자들과 공유" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:77 +#: code:addons/web/static/src/js/view_form.js:321 +#, python-format +msgid "Form" +msgstr "양식" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1324 +#, python-format +msgid "(no string)" +msgstr "(문자열 없음)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:282 +#, python-format +msgid "'%s' is not a correct time" +msgstr "'%s' 은(는) 올바른 시간이 아닙니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1297 +#, python-format +msgid "not a valid number" +msgstr "유효한 숫자가 아님" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:325 +#, python-format +msgid "New Password:" +msgstr "새로운 비밀번호" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:610 +#, python-format +msgid "Attachment :" +msgstr "첨부 파일 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1691 +#, python-format +msgid "Fields to export" +msgstr "내보낼 필드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1340 +#, python-format +msgid "Undefined" +msgstr "정의되지 않음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4871 +#, python-format +msgid "File Upload" +msgstr "파일 업로드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:607 +#, python-format +msgid "about a month ago" +msgstr "약 한 달 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1600 +#, python-format +msgid "Custom Filters" +msgstr "사용자 지정 필터" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1336 +#, python-format +msgid "Button Type:" +msgstr "버튼 유형:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:419 +#, python-format +msgid "OpenERP SA Company" +msgstr "OpenERP SA Company" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1553 +#, python-format +msgid "Custom Filter" +msgstr "사용자 지정 필터" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:159 +#, python-format +msgid "Duplicate Database" +msgstr "중복 데이터베이스" + +#. module: web +#. openerp-web +#: code:addons/web/controllers/main.py:789 +#: code:addons/web/controllers/main.py:790 +#: code:addons/web/controllers/main.py:826 +#: code:addons/web/controllers/main.py:828 +#: code:addons/web/controllers/main.py:834 +#: code:addons/web/controllers/main.py:835 +#: code:addons/web/static/src/js/chrome.js:768 +#: code:addons/web/static/src/xml/base.xml:276 +#: code:addons/web/static/src/xml/base.xml:336 +#, python-format +msgid "Change Password" +msgstr "암호 변경" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:3411 +#, python-format +msgid "View type '%s' is not supported in One2Many." +msgstr "'%s' 화면 유형은 One2Many에서 지원되지 않습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4951 +#: code:addons/web/static/src/js/view_list.js:2194 +#, python-format +msgid "Download" +msgstr "다운로드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:266 +#, python-format +msgid "'%s' is not a correct datetime" +msgstr "'%s'은(는) 올바른 datetime이 아닙니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:417 +#, python-format +msgid "Group" +msgstr "그룹" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:927 +#, python-format +msgid "Unhandled widget" +msgstr "처리되지 않은 위젯" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:982 +#, python-format +msgid "Selection:" +msgstr "선택:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:871 +#, python-format +msgid "The following fields are invalid:" +msgstr "다음 필드는 유효하지 않습니다:" + +#. module: web +#: code:addons/web/controllers/main.py:847 +#, python-format +msgid "Languages" +msgstr "언어" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1270 +#, python-format +msgid "...Upload in progress..." +msgstr "...업로드가 진행 중입니다..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1768 +#, python-format +msgid "Import" +msgstr "가져오기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:543 +#, python-format +msgid "Could not restore the database" +msgstr "데이터베이스를 복구할 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4851 +#, python-format +msgid "File upload" +msgstr "파일 업로드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:3804 +#, python-format +msgid "Action Button" +msgstr "액션 버튼" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:542 +#: code:addons/web/static/src/xml/base.xml:1467 +#, python-format +msgid "Manage Filters" +msgstr "필터 관리" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1867 +#, python-format +msgid "contains" +msgstr "포함" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:633 +#, python-format +msgid "Take a minute to get a coffee,
because it's loading..." +msgstr "불러오는 중이오니
커피 한 잔 하시면서 기다려 주세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:413 +#, python-format +msgid "Activate the developer mode" +msgstr "개발자 모드 활성화" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:324 +#, python-format +msgid "Loading (%d)" +msgstr "(%d)을(를) 불러오는 중" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1114 +#, python-format +msgid "GroupBy" +msgstr "GroupBy" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:687 +#, python-format +msgid "You must select at least one record." +msgstr "최소한 하나의 기록을 선택해야 합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:535 +#, python-format +msgid "View Log (perm_read)" +msgstr "로그 보기 (perm_read)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1061 +#, python-format +msgid "Set Default" +msgstr "기본 값 설정" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:978 +#, python-format +msgid "Relation:" +msgstr "관계:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:600 +#, python-format +msgid "less than a minute ago" +msgstr "1분 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:851 +#, python-format +msgid "Condition:" +msgstr "조건:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1692 +#, python-format +msgid "Unsupported operator %s in domain %s" +msgstr "지원되지 않는 %s 작업자가 %s 도메인에 있음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:242 +#, python-format +msgid "'%s' is not a correct float" +msgstr "'%s' 는 유효한 float 유형이 아닙니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:549 +#, python-format +msgid "Restored" +msgstr "복구됨" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:394 +#, python-format +msgid "%d-%d of %d" +msgstr "%d의 %d-%d" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2868 +#, python-format +msgid "Create and Edit..." +msgstr "생성 및 편집..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/pyeval.js:731 +#, python-format +msgid "Unknown nonliteral type " +msgstr "알 수 없는 비문자 유형 " + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2346 +#, python-format +msgid "Resource error" +msgstr "리소스 오류" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1961 +#, python-format +msgid "is not" +msgstr "일치하지 않음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:550 +#, python-format +msgid "Print Workflow" +msgstr "업무 흐름 인쇄" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:396 +#, python-format +msgid "Please confirm your new password" +msgstr "새 암호를 확정해 주세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1804 +#, python-format +msgid "UTF-8" +msgstr "UTF-8" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:421 +#, python-format +msgid "For more information visit" +msgstr "더 많은 정보를 원하시면 다음을 방문하세요 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1859 +#, python-format +msgid "Add All Info..." +msgstr "모든 정보 추가..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1683 +#, python-format +msgid "Export Formats" +msgstr "내보내기 형식" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:974 +#, python-format +msgid "On change:" +msgstr "변경 시:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:865 +#, python-format +msgid "Model %s fields" +msgstr "%s 모델 필드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:893 +#, python-format +msgid "Setting 'id' attribute on existing record %s" +msgstr "기존 %s 기록에 'id' 속성 설정" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:8 +#, python-format +msgid "List" +msgstr "목록" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1881 +#: code:addons/web/static/src/js/search.js:1915 +#: code:addons/web/static/src/js/search.js:1940 +#, python-format +msgid "greater than" +msgstr "다음보다 큼" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:2248 +#: code:addons/web/static/src/xml/base.xml:546 +#, python-format +msgid "View" +msgstr "화면" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1466 +#, python-format +msgid "Save Filter" +msgstr "필터 저장" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1344 +#, python-format +msgid "Action ID:" +msgstr "액션 ID:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:457 +#, python-format +msgid "Your user's preference timezone does not match your browser timezone:" +msgstr "기본 설정의 시간대가 브라우저 시간대와 일치하지 않습니다 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1223 +#, python-format +msgid "Field '%s' specified in view could not be found." +msgstr "화면에서 지정된 '%s' 필드를 찾을 수 없습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1756 +#, python-format +msgid "Saved exports:" +msgstr "저장된 내보내기 파일:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:320 +#, python-format +msgid "Old Password:" +msgstr "기존 암호:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:113 +#, python-format +msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" +msgstr "바이트,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:481 +#, python-format +msgid "The database has been duplicated." +msgstr "데이터베이스 사본이 생성되었습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1625 +#, python-format +msgid "Apply" +msgstr "적용" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1386 +#, python-format +msgid "Save & New" +msgstr "저장 & 신규 생성" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1223 +#: code:addons/web/static/src/xml/base.xml:1225 +#, python-format +msgid "Save As" +msgstr "다른 이름으로" + +#. module: web +#. openerp-web +#: code:addons/web/doc/module/static/src/xml/web_example.xml:3 +#, python-format +msgid "00:00:00" +msgstr "00:00:00" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2317 +#, python-format +msgid "E-mail error" +msgstr "이메일 오류" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:605 +#, python-format +msgid "a day ago" +msgstr "1일 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1789 +#, python-format +msgid "Does your file have titles?" +msgstr "파일에 제목이 있습니까?" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:327 +#, python-format +msgid "Unlimited" +msgstr "무한" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:784 +#, python-format +msgid "" +"Warning, the record has been modified, your changes will be discarded.\n" +"\n" +"Are you sure you want to leave this page ?" +msgstr "경고, 기록이 수정되었으며 변경사항이 제거됩니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2904 +#, python-format +msgid "Search: " +msgstr "찾기: " + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:544 +#, python-format +msgid "Technical translation" +msgstr "기술적 번역" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1797 +#, python-format +msgid "Delimiter:" +msgstr "구획자:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:462 +#, python-format +msgid "Browser's timezone" +msgstr "브라우저의 시간대" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1605 +#, python-format +msgid "Filter name" +msgstr "필터명" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1464 +#, python-format +msgid "-- Actions --" +msgstr "-- 액션 --" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4134 +#: code:addons/web/static/src/js/view_form.js:4294 +#: code:addons/web/static/src/xml/base.xml:1407 +#: code:addons/web/static/src/xml/base.xml:1705 +#, python-format +msgid "Add" +msgstr "추가" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:536 +#, python-format +msgid "Toggle Form Layout Outline" +msgstr "양식 레이아웃 개요 토글" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:421 +#, python-format +msgid "OpenERP.com" +msgstr "OpenERP.com" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2317 +#, python-format +msgid "Can't send email to invalid e-mail address" +msgstr "유효하지 않은 이메일 주소로 이메일을 전송할 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:636 +#, python-format +msgid "Add..." +msgstr "추가..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:405 +#, python-format +msgid "Preferences" +msgstr "환경 설정" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:436 +#, python-format +msgid "Wrong on change format: %s" +msgstr "잘못된 형식 변경: %s" + +#. module: web +#. openerp-web +#: code:addons/web/controllers/main.py:750 +#: code:addons/web/static/src/xml/base.xml:185 +#, python-format +msgid "Drop Database" +msgstr "데이터베이스 중단" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:466 +#, python-format +msgid "Click here to change your user's timezone." +msgstr "여기를 클릭하여 사용자의 시간대를 변경하세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:966 +#, python-format +msgid "Modifiers:" +msgstr "수정자:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:627 +#, python-format +msgid "Delete this attachment" +msgstr "해당 첨부 파일 삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:774 +#: code:addons/web/static/src/xml/base.xml:815 +#: code:addons/web/static/src/xml/base.xml:1382 +#: code:addons/web/static/src/xml/base.xml:1612 +#, python-format +msgid "Save" +msgstr "저장" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:999 +#: code:addons/web/static/src/xml/base.xml:352 +#, python-format +msgid "More" +msgstr "더 보기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:73 +#, python-format +msgid "Username" +msgstr "사용자명" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:481 +#, python-format +msgid "Duplicating database" +msgstr "데이터베이스 복제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:563 +#, python-format +msgid "Password has been changed successfully" +msgstr "암호가 성공적으로 변경되었습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list_editable.js:788 +#, python-format +msgid "The form's data can not be discarded" +msgstr "양식의 데이터는 폐기될 수 없습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:533 +#, python-format +msgid "Debug View#" +msgstr "디버깅 화면#" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:77 +#, python-format +msgid "Log in" +msgstr "로그인" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:198 +#: code:addons/web/static/src/js/view_list.js:346 +#: code:addons/web/static/src/xml/base.xml:1764 +#, python-format +msgid "Delete" +msgstr "삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/pyeval.js:769 +#, python-format +msgid "" +"Local evaluation failure\n" +"%s\n" +"\n" +"%s" +msgstr "" +"로컬 평가 실패\n" +"%s\n" +"\n" +"%s" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:350 +#, python-format +msgid "Invalid database name" +msgstr "유효하지 않은 데이터베이스명" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1693 +#, python-format +msgid "Save fields list" +msgstr "필드 목록 저장" + +#. module: web +#. openerp-web +#: code:addons/web/doc/module/static/src/xml/web_example.xml:5 +#, python-format +msgid "Start" +msgstr "시작" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:823 +#, python-format +msgid "View Log (%s)" +msgstr "(%s) 로그 보기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:564 +#, python-format +msgid "Creation Date:" +msgstr "생성일:" + +#. module: web +#: code:addons/web/controllers/main.py:790 +#: code:addons/web/controllers/main.py:835 +#, python-format +msgid "Error, password not changed !" +msgstr "오류, 암호가 변경되지 않음!" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4850 +#, python-format +msgid "The selected file exceed the maximum file size of %s." +msgstr "선택된 파일은 %s인 최대 파일 크기를 초과했습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:632 +#: code:addons/web/static/src/xml/base.xml:1300 +#, python-format +msgid "/web/binary/upload_attachment" +msgstr "/web/binary/upload_attachment" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:563 +#, python-format +msgid "Changed Password" +msgstr "변경된 암호" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1431 +#, python-format +msgid "Search" +msgstr "찾기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:3032 +#: code:addons/web/static/src/js/view_form.js:3668 +#: code:addons/web/static/src/js/view_form.js:3785 +#: code:addons/web/static/src/js/view_form.js:4230 +#: code:addons/web/static/src/js/view_form.js:4353 +#, python-format +msgid "Open: " +msgstr "열기: " + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:218 +#: code:addons/web/static/src/xml/base.xml:309 +#, python-format +msgid "Backup" +msgstr "떠두기(백업)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/dates.js:76 +#: code:addons/web/static/src/js/dates.js:80 +#, python-format +msgid "'%s' is not a valid time" +msgstr "'%s'은(는) 유효하지 않은 시간입니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:274 +#, python-format +msgid "'%s' is not a correct date" +msgstr "'%s'은(는) 올바르지 않은 날짜입니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:933 +#, python-format +msgid "(nolabel)" +msgstr "(nolabel)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:606 +#, python-format +msgid "%d days ago" +msgstr "%d 일 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1474 +#, python-format +msgid "(Any existing filter with the same name will be replaced)" +msgstr "(동일한 이름의 모든 기존 필터는 교체됩니다)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1918 +#: code:addons/web/static/src/xml/base.xml:338 +#: code:addons/web/static/src/xml/base.xml:1377 +#: code:addons/web/static/src/xml/base.xml:1860 +#, python-format +msgid "Cancel" +msgstr "취소" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:628 +#: code:addons/web/static/src/xml/base.xml:9 +#, python-format +msgid "Loading..." +msgstr "불러오는 중..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:567 +#, python-format +msgid "Latest Modification by:" +msgstr "최근 수정자:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:1242 +#: code:addons/web/static/src/xml/base.xml:470 +#, python-format +msgid "Timezone mismatch" +msgstr "시간대 불일치" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1646 +#, python-format +msgid "Unknown operator %s in domain %s" +msgstr "알 수 없는 %s 작업자가 %s 도메인에 존재함" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:428 +#, python-format +msgid "%d / %d" +msgstr "%d / %d" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1782 +#, python-format +msgid "2. Check your file format" +msgstr "2. 파일 형식을 확인하세요" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1718 +#, python-format +msgid "Name" +msgstr "명칭" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1775 +#, python-format +msgid "" +"Select a .CSV file to import. If you need a sample of file to import,\n" +" you should use the export tool with the \"Import Compatible\" option." +msgstr "" +"불러올 .CSV 파일을 선택하세요. 불러올 파일 샘플이 필요할 경우,\n" +" 내보내기 도구에서 \"호환 파일 불러오기\" 옵션을 사용해야 합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:608 +#, python-format +msgid "%d months ago" +msgstr "%d달 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:187 +#: code:addons/web/static/src/xml/base.xml:308 +#, python-format +msgid "Drop" +msgstr "삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1465 +#, python-format +msgid "Add Advanced Filter" +msgstr "고급 필터 추가" + +#. module: web +#: code:addons/web/controllers/main.py:828 +#, python-format +msgid "The new password and its confirmation must be identical." +msgstr "새 암호와 확정 암호는 동일해야 합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:542 +#: code:addons/web/static/src/xml/base.xml:248 +#, python-format +msgid "Restore Database" +msgstr "데이터베이스 복원" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:644 +#, python-format +msgid "Login" +msgstr "로그인" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:420 +#, python-format +msgid "Licenced under the terms of" +msgstr "다음 조건에 따라 허가됨:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:250 +#: code:addons/web/static/src/xml/base.xml:310 +#, python-format +msgid "Restore" +msgstr "복원" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1677 +#, python-format +msgid "Export Type:" +msgstr "내보내기 유형:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:406 +#, python-format +msgid "Log out" +msgstr "로그아웃" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1090 +#, python-format +msgid "Group by: %s" +msgstr "분류 기준: %s" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:153 +#, python-format +msgid "No data provided." +msgstr "데이터가 제공되지 않음." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:345 +#: code:addons/web/static/src/xml/base.xml:1665 +#, python-format +msgid "Export" +msgstr "내보내기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:12 +#, python-format +msgid "Export To File" +msgstr "파일로 내보내기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:1097 +#, python-format +msgid "You must choose at least one record." +msgstr "최소 한 개의 기록을 선택해야 합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:631 +#, python-format +msgid "Don't leave yet,
it's still loading..." +msgstr "잠시만 기다리세요.
아직 불러오는 중입니다..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:775 +#, python-format +msgid "Invalid Search" +msgstr "유효하지 않은 검색" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:980 +#, python-format +msgid "Could not find id in dataset" +msgstr "데이터 세트에서 id를 찾을 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1707 +#, python-format +msgid "Remove All" +msgstr "모두 삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1340 +#, python-format +msgid "Method:" +msgstr "방식:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1439 +#, python-format +msgid "%(page)d/%(page_count)d" +msgstr "%(page)d/%(page_count)d" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:397 +#, python-format +msgid "The confirmation does not match the password" +msgstr "확정 암호가 일치하지 않음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:441 +#, python-format +msgid "Edit Company data" +msgstr "업체 데이터 편집" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4886 +#, python-format +msgid "Save As..." +msgstr "다른 이름으로 저장..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:5007 +#, python-format +msgid "Could not display the selected image." +msgstr "선택한 이미지를 표시할 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:509 +#, python-format +msgid "Database backed up successfully" +msgstr "데이터베이스가 성공적으로 백업됨" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1808 +#, python-format +msgid "" +"For use if CSV files have titles on multiple lines, skips more than a single " +"line during import" +msgstr "CSV 파일이 다중 입력줄을 보유하고 있을 경우에 사용됨, 가져오기 작업 시 한 줄 이상 건너뜀." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:394 +#, python-format +msgid "99+" +msgstr "99+" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1774 +#, python-format +msgid "1. Import a .CSV file" +msgstr ".CSV 파일 불러오기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:644 +#, python-format +msgid "No database selected !" +msgstr "데이터베이스가 선택되지 않음 !" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:180 +#, python-format +msgid "(%d records)" +msgstr "(%d개의 기록)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:970 +#, python-format +msgid "Change default:" +msgstr "기본 값 변경:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:171 +#, python-format +msgid "Original database name:" +msgstr "원본 데이터베이스명:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1869 +#: code:addons/web/static/src/js/search.js:1879 +#: code:addons/web/static/src/js/search.js:1913 +#: code:addons/web/static/src/js/search.js:1938 +#, python-format +msgid "is equal to" +msgstr "와 동일함" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:1500 +#, python-format +msgid "Could not serialize XML" +msgstr "XML을 직렬화할 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1619 +#, python-format +msgid "Advanced Search" +msgstr "고급 검색" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:290 +#, python-format +msgid "Confirm new master password:" +msgstr "새로운 마스터 암호 확정:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:634 +#, python-format +msgid "Maybe you should consider reloading the application by pressing F5..." +msgstr "F5를 눌러 응용 프로그램을 다시 불러오는 것을 고려해보세요..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:17 +#: code:addons/web/static/src/js/view_list.js:2248 +#: code:addons/web/static/src/xml/base.xml:111 +#: code:addons/web/static/src/xml/base.xml:306 +#: code:addons/web/static/src/xml/base.xml:812 +#: code:addons/web/static/src/xml/base.xml:1376 +#, python-format +msgid "Create" +msgstr "생성" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1868 +#, python-format +msgid "doesn't contain" +msgstr "포함하지 않음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1785 +#, python-format +msgid "Import Options" +msgstr "가져오기 옵션" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2936 +#, python-format +msgid "Add %s" +msgstr "%s 추가" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:145 +#, python-format +msgid "Admin password:" +msgstr "관리자 암호:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:11 +#: code:addons/web/static/src/js/view_form.js:1067 +#: code:addons/web/static/src/xml/base.xml:1394 +#, python-format +msgid "Close" +msgstr "닫기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:632 +#, python-format +msgid "" +"You may not believe it,
but the application is actually loading..." +msgstr "믿기시지 않겠지만
응용 프로그램을 실제로 불러오는 중입니다..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1779 +#, python-format +msgid "CSV File:" +msgstr "CSV 파일:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1741 +#, python-format +msgid "Advanced" +msgstr "고급" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_tree.js:11 +#, python-format +msgid "Tree" +msgstr "트리" + +#. module: web +#: code:addons/web/controllers/main.py:750 +#, python-format +msgid "Could not drop database !" +msgstr "데이터베이스를 삭제할 수 없음 !" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:227 +#, python-format +msgid "'%s' is not a correct integer" +msgstr "'%s'은(는) 올바른 정수가 아닙니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:877 +#, python-format +msgid "All users" +msgstr "모든 사용자" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1654 +#, python-format +msgid "Unknown field %s in domain %s" +msgstr "알 수 없는 %s 필드가 %s 도메인에 존재함" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:1466 +#, python-format +msgid "Node [%s] is not a JSONified XML node" +msgstr "[%s] 노드는 JSON 처리된 XML 노드가 아닙니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1428 +#, python-format +msgid "Advanced Search..." +msgstr "고급 검색..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:499 +#, python-format +msgid "Dropping database" +msgstr "데이터 베이스 삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:82 +#: code:addons/web/static/src/xml/base.xml:445 +#, python-format +msgid "Powered by" +msgstr "" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1380 +#: code:addons/web/static/src/xml/base.xml:970 +#, python-format +msgid "Yes" +msgstr "예" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4871 +#, python-format +msgid "There was a problem while uploading your file" +msgstr "파일 업로드 중 문제가 발생했습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:558 +#, python-format +msgid "XML ID:" +msgstr "XML ID:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:954 +#, python-format +msgid "Size:" +msgstr "크기:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1824 +#, python-format +msgid "--- Don't Import ---" +msgstr "--- 가져오지 않기 ---" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1679 +#, python-format +msgid "Import-Compatible Export" +msgstr "" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:610 +#, python-format +msgid "%d years ago" +msgstr "%d년 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1040 +#, python-format +msgid "Unknown m2m command %s" +msgstr "알 수 없는 %s m2m 명령" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1068 +#, python-format +msgid "Save default" +msgstr "기본 값 저장" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:121 +#: code:addons/web/static/src/xml/base.xml:175 +#: code:addons/web/static/src/xml/base.xml:264 +#, python-format +msgid "New database name:" +msgstr "신규 데이터베이스명:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:394 +#, python-format +msgid "Please enter your new password" +msgstr "새 암호를 입력해주세요." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4886 +#, python-format +msgid "The field is empty, there's nothing to save !" +msgstr "필드가 비어있을 경우, 저장할 것이 없습니다 !" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:545 +#, python-format +msgid "Manage Views" +msgstr "화면 관리" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1801 +#, python-format +msgid "Encoding:" +msgstr "암호화:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1808 +#, python-format +msgid "Lines to skip" +msgstr "건너뛸 입력줄" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2858 +#, python-format +msgid "Create \"%s\"" +msgstr "\"%s\" 생성" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:361 +#, python-format +msgid "Please select fields to save export list..." +msgstr "내보내기 목록을 저장할 필드를 선택하세요..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:418 +#, python-format +msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." +msgstr "Copyright © 2004-TODAY OpenERP SA. 모든 권리 보유." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2346 +#, python-format +msgid "This resource is empty" +msgstr "해당 리소스는 비어있습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1689 +#, python-format +msgid "Available fields" +msgstr "사용 가능한 필드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1835 +#, python-format +msgid "The import failed due to:" +msgstr "다음 사유로 인해 가져오기를 실패함:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:812 +#: code:addons/web/static/src/xml/base.xml:539 +#, python-format +msgid "JS Tests" +msgstr "JS 시험" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1750 +#, python-format +msgid "Save as:" +msgstr "다른 이름으로 저장:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:927 +#, python-format +msgid "Filter on: %s" +msgstr "다음에 필터 적용: %s" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2904 +#: code:addons/web/static/src/js/view_form.js:3757 +#, python-format +msgid "Create: " +msgstr "다음 생성: " + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:540 +#, python-format +msgid "View Fields" +msgstr "필드 보기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:330 +#, python-format +msgid "Confirm New Password:" +msgstr "새로운 암호 확인 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:575 +#, python-format +msgid "Do you really want to remove these records?" +msgstr "정말로 해당 기록을 제거하시겠습니까?" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:958 +#, python-format +msgid "Context:" +msgstr "문맥:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1933 +#: code:addons/web/static/src/js/search.js:1960 +#, python-format +msgid "is" +msgstr "같음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:6 +#, python-format +msgid "Export Data" +msgstr "데이터 내보내기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:962 +#, python-format +msgid "Domain:" +msgstr "도메인:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:834 +#, python-format +msgid "Default:" +msgstr "기본 값:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:82 +#: code:addons/web/static/src/xml/base.xml:446 +#, python-format +msgid "OpenERP" +msgstr "OpenERP" + +#. module: web +#. openerp-web +#: code:addons/web/doc/module/static/src/xml/web_example.xml:8 +#, python-format +msgid "Stop" +msgstr "중단" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:68 +#: code:addons/web/static/src/xml/base.xml:193 +#: code:addons/web/static/src/xml/base.xml:225 +#, python-format +msgid "Database:" +msgstr "데이터베이스:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1183 +#: code:addons/web/static/src/xml/base.xml:1240 +#, python-format +msgid "Uploading ..." +msgstr "업로드 중 ..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1853 +#, python-format +msgid "Name:" +msgstr "명칭:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:1058 +#, python-format +msgid "About" +msgstr "정보" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1431 +#, python-format +msgid "Search Again" +msgstr "다시 검색" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1455 +#, python-format +msgid "-- Filters --" +msgstr "-- 필터 --" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1230 +#: code:addons/web/static/src/xml/base.xml:1232 +#, python-format +msgid "Clear" +msgstr "삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1680 +#, python-format +msgid "Export all Data" +msgstr "모든 데이터 내보내기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1334 +#, python-format +msgid "" +"Grouping on field '%s' is not possible because that field does not appear in " +"the list view." +msgstr "'%s' 필드는 목록 화면에 나타나지 않으므로 분류할 수 없습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:537 +#, python-format +msgid "Set Defaults" +msgstr "기본 값 설정" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1670 +#, python-format +msgid "" +"This wizard will export all data that matches the current search criteria to " +"a CSV file.\n" +" You can export all data or only the fields that can be " +"reimported after modification." +msgstr "" +"해당 마법사는 현재 검색 조건과 일치하는 모든 데이터를 CSV 파일로 내보냅니다.\n" +" 전체 데이터 또는 수정 후 다시 가져올 수 있는 필드만 내보낼 수 있습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:321 +#, python-format +msgid "The record could not be found in the database." +msgstr "데이터베이스에서 기록을 찾을 수 없습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1472 +#, python-format +msgid "Filter Name:" +msgstr "필터명:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:946 +#, python-format +msgid "Type:" +msgstr "유형:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:538 +#, python-format +msgid "Incorrect super-administrator password" +msgstr "잘못된 슈퍼 관리자 암호" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:942 +#, python-format +msgid "Object:" +msgstr "객체:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:292 +#: code:addons/web/static/src/js/chrome.js:326 +#, python-format +msgid "Loading" +msgstr "불러오는 중" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:609 +#, python-format +msgid "about a year ago" +msgstr "약 1년 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1870 +#: code:addons/web/static/src/js/search.js:1880 +#: code:addons/web/static/src/js/search.js:1914 +#: code:addons/web/static/src/js/search.js:1939 +#, python-format +msgid "is not equal to" +msgstr "동일하지 않음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:5036 +#, python-format +msgid "" +"The type of the field '%s' must be a many2many field with a relation to " +"'ir.attachment' model." +msgstr "" +"The type of the field '%s' 필드의 유형은 'ir.attachment' 모델과 관련된 many2many 필드여야 " +"합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:604 +#, python-format +msgid "%d hours ago" +msgstr "%d 시간 전" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:4206 +#: code:addons/web/static/src/js/view_form.js:4335 +#, python-format +msgid "Add: " +msgstr "추가: " + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1858 +#, python-format +msgid "Quick Add" +msgstr "빠른 추가" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1805 +#, python-format +msgid "Latin 1" +msgstr "라틴어 1" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:260 +#: code:addons/web/static/src/js/chrome.js:269 +#: code:addons/web/static/src/js/chrome.js:449 +#: code:addons/web/static/src/js/chrome.js:792 +#: code:addons/web/static/src/js/view_form.js:572 +#: code:addons/web/static/src/js/view_form.js:1923 +#: code:addons/web/static/src/xml/base.xml:1752 +#, python-format +msgid "Ok" +msgstr "Ok" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:1162 +#, python-format +msgid "Uploading..." +msgstr "올려주기…" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:125 +#, python-format +msgid "Load Demonstration data:" +msgstr "시연 데이터 불러오기:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:615 +#, python-format +msgid "Created by :" +msgstr "생성자 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/dates.js:22 +#: code:addons/web/static/src/js/dates.js:26 +#, python-format +msgid "'%s' is not a valid datetime" +msgstr "'%s'은(는) 유효한 datetime이 아닙니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:256 +#, python-format +msgid "File:" +msgstr "파일:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1882 +#: code:addons/web/static/src/js/search.js:1916 +#: code:addons/web/static/src/js/search.js:1941 +#, python-format +msgid "less than" +msgstr "미만" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:687 +#: code:addons/web/static/src/js/views.js:1097 +#, python-format +msgid "Warning" +msgstr "경고" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:547 +#, python-format +msgid "Edit SearchView" +msgstr "검색 화면 편집" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1975 +#, python-format +msgid "is true" +msgstr "참" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:3909 +#, python-format +msgid "Add an item" +msgstr "항목 추가" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1603 +#, python-format +msgid "Save current filter" +msgstr "현재 필터 저장" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:1915 +#, python-format +msgid "Confirm" +msgstr "확정" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:126 +#, python-format +msgid "Please enter save field list name" +msgstr "저장 필드 목록명을 입력하세요" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:2206 +#, python-format +msgid "Download \"%s\"" +msgstr "\"%s\" 다운로드" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:326 +#, python-format +msgid "New" +msgstr "새로 만들기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1767 +#, python-format +msgid "Can't convert value %s to context" +msgstr "%s 값을 문맥으로 변환할 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:807 +#: code:addons/web/static/src/xml/base.xml:541 +#, python-format +msgid "Fields View Get" +msgstr "필드 화면 얻기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:149 +#, python-format +msgid "Confirm password:" +msgstr "암호 확인:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1883 +#: code:addons/web/static/src/js/search.js:1917 +#: code:addons/web/static/src/js/search.js:1942 +#, python-format +msgid "greater or equal than" +msgstr "이상" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1321 +#, python-format +msgid "Button" +msgstr "버튼" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:418 +#, python-format +msgid "OpenERP is a trademark of the" +msgstr "OpenERP은 다음 소유의 등록 상표입니다:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/data_export.js:374 +#, python-format +msgid "Please select fields to export..." +msgstr "내보낼 필드를 선택하세요..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:286 +#, python-format +msgid "New master password:" +msgstr "새로운 마스터 암호:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1976 +#, python-format +msgid "is false" +msgstr "거짓" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:404 +#, python-format +msgid "About OpenERP" +msgstr "OpenERP 정보" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:297 +#, python-format +msgid "'%s' is not a correct date, datetime nor time" +msgstr "'%s'은(는) 올바른 날짜, 일시 또는 시간이 아닙니다" + +#. module: web +#: code:addons/web/controllers/main.py:1264 +#, python-format +msgid "No content found for field '%s' on '%s:%s'" +msgstr "'%s:%s'의 '%s' 필드에서 내용을 찾을 수 없음" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:304 +#, python-format +msgid "Database Management" +msgstr "데이터베이스 관리" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:5007 +#, python-format +msgid "Image" +msgstr "이미지" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:81 +#, python-format +msgid "Manage Databases" +msgstr "데이터베이스 관리" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/pyeval.js:765 +#, python-format +msgid "Evaluation Error" +msgstr "평가 오류" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1283 +#, python-format +msgid "not a valid integer" +msgstr "유효하지 않은 정수" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:337 +#: code:addons/web/static/src/xml/base.xml:776 +#: code:addons/web/static/src/xml/base.xml:816 +#: code:addons/web/static/src/xml/base.xml:1376 +#: code:addons/web/static/src/xml/base.xml:1384 +#: code:addons/web/static/src/xml/base.xml:1630 +#, python-format +msgid "or" +msgstr "또는" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1381 +#, python-format +msgid "No" +msgstr "아니오" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/formats.js:309 +#, python-format +msgid "'%s' is not convertible to date, datetime nor time" +msgstr "'%s'은(는) 날짜, 일시 또는 시간으로 변환할 수 없습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:199 +#: code:addons/web/static/src/xml/base.xml:161 +#: code:addons/web/static/src/xml/base.xml:307 +#, python-format +msgid "Duplicate" +msgstr "사본 생성" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:777 +#: code:addons/web/static/src/xml/base.xml:817 +#: code:addons/web/static/src/xml/base.xml:1391 +#, python-format +msgid "Discard" +msgstr "무시" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1624 +#, python-format +msgid "Add a condition" +msgstr "조건 추가" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/coresetup.js:629 +#, python-format +msgid "Still loading..." +msgstr "아직 불러오는 중..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:818 +#, python-format +msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" +msgstr "%(fieldname)s 필드에 대한 잘못된 값: [%(value)s]은(는) %(message)s임" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:3805 +#, python-format +msgid "The o2m record must be saved before an action can be used" +msgstr "o2m 기록은 액션을 사용하기 전에 저장되어야 합니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:509 +#, python-format +msgid "Backed" +msgstr "" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1610 +#, python-format +msgid "Use by default" +msgstr "기본으로 사용" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_list.js:1348 +#, python-format +msgid "%s (%d)" +msgstr "%s (%d)" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:775 +#, python-format +msgid "triggered from search view" +msgstr "검색 화면에서 촉발됨" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:978 +#, python-format +msgid "Filter" +msgstr "필터" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:950 +#, python-format +msgid "Widget:" +msgstr "위젯:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:548 +#, python-format +msgid "Edit Action" +msgstr "액션 편집" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:555 +#, python-format +msgid "ID:" +msgstr "ID:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:870 +#, python-format +msgid "Only you" +msgstr "" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:549 +#, python-format +msgid "Edit Workflow" +msgstr "작업 흐름 편집" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:1171 +#, python-format +msgid "Do you really want to delete this attachment ?" +msgstr "해당 첨부 파일을 정말로 삭제하시겠습니까?" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:840 +#, python-format +msgid "Technical Translation" +msgstr "기술적 번역" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:938 +#, python-format +msgid "Field:" +msgstr "필드:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:620 +#, python-format +msgid "Modified by :" +msgstr "수정자 :" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:499 +#, python-format +msgid "The database %s has been dropped" +msgstr "%s 데이터베이스를 삭제하였습니다" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:460 +#, python-format +msgid "User's timezone" +msgstr "사용자의 시간대" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/chrome.js:284 +#: code:addons/web/static/src/js/chrome.js:1168 +#, python-format +msgid "Client Error" +msgstr "클라이언트 오류" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/views.js:998 +#, python-format +msgid "Print" +msgstr "인쇄" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1331 +#, python-format +msgid "Special:" +msgstr "특별:" + +#. module: web +#: code:addons/web/controllers/main.py:834 +#, python-format +msgid "" +"The old password you provided is incorrect, your password was not changed." +msgstr "제공된 오래된 암호가 잘못되었습니다, 암호가 변경되지 않았습니다." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:561 +#, python-format +msgid "Creation User:" +msgstr "생성 사용자:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:769 +#, python-format +msgid "Do you really want to delete this record?" +msgstr "정말로 이 기록을 삭제하시겠습니까?" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1385 +#, python-format +msgid "Save & Close" +msgstr "저장 & 닫기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/view_form.js:2845 +#, python-format +msgid "Search More..." +msgstr "추가 검색..." + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:75 +#: code:addons/web/static/src/xml/base.xml:311 +#, python-format +msgid "Password" +msgstr "암호" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:546 +#: code:addons/web/static/src/xml/base.xml:809 +#: code:addons/web/static/src/xml/base.xml:1178 +#, python-format +msgid "Edit" +msgstr "편집" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1706 +#, python-format +msgid "Remove" +msgstr "제거" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1062 +#, python-format +msgid "Select date" +msgstr "날짜 선택" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1249 +#, python-format +msgid "Search %(field)s for: %(value)s" +msgstr "%(field)s에서 다음 검색: %(value)s" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1277 +#, python-format +msgid "Delete this file" +msgstr "해당 파일 삭제" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:109 +#, python-format +msgid "Create Database" +msgstr "데이터데이스 생성" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:420 +#, python-format +msgid "GNU Affero General Public License" +msgstr "GNU Affero 일반 공개 라이선스" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:1795 +#, python-format +msgid "Separator:" +msgstr "구분자:" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/xml/base.xml:300 +#, python-format +msgid "Back to Login" +msgstr "로그인 화면으로 돌아가기" + +#. module: web +#. openerp-web +#: code:addons/web/static/src/js/search.js:1662 +#: code:addons/web/static/src/xml/base.xml:1454 +#, python-format +msgid "Filters" +msgstr "필터" diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po index 6ea24e9954c..341cd749aaa 100644 --- a/addons/web/i18n/mn.po +++ b/addons/web/i18n/mn.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-25 02:31+0000\n" -"Last-Translator: gobi \n" +"PO-Revision-Date: 2013-02-07 09:58+0000\n" +"Last-Translator: Tenuun Khangaitan \n" "Language-Team: Mongolian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-26 05:18+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-08 05:24+0000\n" +"X-Generator: Launchpad (build 16482)\n" #. module: web #. openerp-web @@ -477,7 +477,7 @@ msgstr "Хөгжүүлэгч горимыг идэвхжүүлэх" #: code:addons/web/static/src/js/chrome.js:324 #, python-format msgid "Loading (%d)" -msgstr "Ачаалж байна (%d)" +msgstr "Ачааллаж байна (%d)" #. module: web #. openerp-web @@ -1146,7 +1146,7 @@ msgstr "Цуцлах" #: code:addons/web/static/src/xml/base.xml:9 #, python-format msgid "Loading..." -msgstr "Ачаалж байна..." +msgstr "Ачааллаж байна..." #. module: web #. openerp-web diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po index 59d6ec5ebc3..186441c0ac6 100644 --- a/addons/web/i18n/nl.po +++ b/addons/web/i18n/nl.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 07:31+0000\n" -"Last-Translator: Fabien (Open ERP) \n" +"PO-Revision-Date: 2013-02-23 17:55+0000\n" +"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-24 05:13+0000\n" +"X-Generator: Launchpad (build 16506)\n" #. module: web #. openerp-web @@ -68,7 +68,7 @@ msgstr "Geef uw vorige wachtwoord in" #: code:addons/web/static/src/xml/base.xml:282 #, python-format msgid "Master password:" -msgstr "Master wachtwoord:" +msgstr "Hoofdwachtwoord:" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "Toegang geweigerd" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "Uploading fottmelding" +msgstr "Fout bij uploaden" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Back-up database" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "%(view_type)s were gave" +msgstr "%(view_type)s weergave" #. module: web #. openerp-web @@ -177,7 +177,7 @@ msgstr "Ongeldige gebruikersnaam of wachtwoord" #: code:addons/web/static/src/xml/base.xml:260 #, python-format msgid "Master Password:" -msgstr "Master wachtwoord:" +msgstr "Hoofdwachtwoord" #. module: web #. openerp-web @@ -185,7 +185,7 @@ msgstr "Master wachtwoord:" #: code:addons/web/static/src/xml/base.xml:1374 #, python-format msgid "Select" -msgstr "Selecteren" +msgstr "Kies" #. module: web #. openerp-web @@ -333,7 +333,7 @@ msgstr "Aangepaste Filter" #: code:addons/web/static/src/xml/base.xml:159 #, python-format msgid "Duplicate Database" -msgstr "Dupliceer Database" +msgstr "Dupliceer database" #. module: web #. openerp-web @@ -348,7 +348,7 @@ msgstr "Dupliceer Database" #: code:addons/web/static/src/xml/base.xml:336 #, python-format msgid "Change Password" -msgstr "Wachtwoord wijzigen" +msgstr "Wijzig wachtwoord" #. module: web #. openerp-web @@ -629,7 +629,7 @@ msgstr "Export Formaten" #: code:addons/web/static/src/xml/base.xml:974 #, python-format msgid "On change:" -msgstr "On change:" +msgstr "Bij wijziging" #. module: web #. openerp-web @@ -794,10 +794,9 @@ msgid "" "\n" "Are you sure you want to leave this page ?" msgstr "" -"Opgelet, het record werd aangepast, uw wijzigingen willen verloren gaan.
\n" -"
\n" -"Bent u zeker dat u deze pagina wenst te verlaten?" +"Opgelet, het record is aangepast, uw wijzigingen zullen verloren gaan.\n" +"\n" +"Weet u zeker dat u deze pagina wilt verlaten?" #. module: web #. openerp-web @@ -899,7 +898,7 @@ msgstr "Fout bij het wijzigen van het formaat: %s" #: code:addons/web/static/src/xml/base.xml:185 #, python-format msgid "Drop Database" -msgstr "Verwijder Database" +msgstr "Verwijder database" #. module: web #. openerp-web @@ -1095,7 +1094,7 @@ msgstr "Open: " #: code:addons/web/static/src/xml/base.xml:309 #, python-format msgid "Backup" -msgstr "Backup" +msgstr "Back-up" #. module: web #. openerp-web @@ -1319,7 +1318,7 @@ msgstr "U moet tenminste één record kiezen." #: code:addons/web/static/src/js/coresetup.js:631 #, python-format msgid "Don't leave yet,
it's still loading..." -msgstr "Nog niet weggaan,
het is nog steeds aan het laden..." +msgstr "Nog niet weggaan,
het systeem is nog steeds aan het laden..." #. module: web #. openerp-web @@ -1389,7 +1388,7 @@ msgstr "Kan de geselecteerde afbeelding niet tonen." #: code:addons/web/static/src/js/chrome.js:509 #, python-format msgid "Database backed up successfully" -msgstr "Database succesvol gebackupped" +msgstr "Database back-up succesvol" #. module: web #. openerp-web @@ -1442,7 +1441,7 @@ msgstr "Wijzig standaard" #: code:addons/web/static/src/xml/base.xml:171 #, python-format msgid "Original database name:" -msgstr "Originele Database naam:" +msgstr "Originele database naam:" #. module: web #. openerp-web @@ -1473,7 +1472,7 @@ msgstr "Geavanceerd zoeken" #: code:addons/web/static/src/xml/base.xml:290 #, python-format msgid "Confirm new master password:" -msgstr "Bevestig nieuw master wachtwoord:" +msgstr "Bevestig nieuw hoofdwachtwoord:" #. module: web #. openerp-web @@ -1811,7 +1810,7 @@ msgstr "Weergeven velden" #: code:addons/web/static/src/xml/base.xml:330 #, python-format msgid "Confirm New Password:" -msgstr "Bevestig nieuw wachtwoord" +msgstr "Bevestig nieuw wachtwoord:" #. module: web #. openerp-web @@ -2243,7 +2242,7 @@ msgstr "Selecteer velden voor export" #: code:addons/web/static/src/xml/base.xml:286 #, python-format msgid "New master password:" -msgstr "Nieuw master wachtwoord:" +msgstr "Nieuw hoofdwachtwoord:" #. module: web #. openerp-web @@ -2277,7 +2276,7 @@ msgstr "Geen inhoud gevonden voor veld '%s' bij '%s:%s'" #: code:addons/web/static/src/xml/base.xml:304 #, python-format msgid "Database Management" -msgstr "Database Beheer" +msgstr "Database beheer" #. module: web #. openerp-web @@ -2291,7 +2290,7 @@ msgstr "Afbeelding" #: code:addons/web/static/src/xml/base.xml:81 #, python-format msgid "Manage Databases" -msgstr "Beheer administraties" +msgstr "Beheer databases" #. module: web #. openerp-web @@ -2623,7 +2622,7 @@ msgstr "Scheidingsteken:" #: code:addons/web/static/src/xml/base.xml:300 #, python-format msgid "Back to Login" -msgstr "Terug naar aanmelding" +msgstr "Terug naar login" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po index 260c8b749fb..69d0aa01403 100644 --- a/addons/web/i18n/nl_BE.po +++ b/addons/web/i18n/nl_BE.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2013-01-07 15:44+0000\n" +"Last-Translator: Niels Huylebroeck \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-08 06:06+0000\n" +"X-Generator: Launchpad (build 16402)\n" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Fout bij het uploaden" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Database back-uppen" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "%(view_type)s weergave" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "'%s' is geen geldige datum" #. module: web #. openerp-web @@ -155,20 +155,20 @@ msgstr "ongeveer 1 minuut geleden" #: code:addons/web/static/src/xml/base.xml:1297 #, python-format msgid "File" -msgstr "" +msgstr "Bestand" #. module: web #: code:addons/web/controllers/main.py:826 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "U moet beide wachtwoord velden verplicht invullen." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:680 #, python-format msgid "Invalid username or password" -msgstr "" +msgstr "Ongeldige gebruikersnaam of wachtwoord" #. module: web #. openerp-web @@ -220,7 +220,7 @@ msgstr "M2O-zoekvelden kunnen meerdere standaardwaarden momenteel niet aan" #: code:addons/web/static/src/js/view_form.js:1227 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Widget type '%s' is niet geïmplementeerd" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "Nieuw wachtwoord:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Bijlage:" #. module: web #. openerp-web @@ -291,7 +291,7 @@ msgstr "Onbepaald" #: code:addons/web/static/src/js/view_form.js:4871 #, python-format msgid "File Upload" -msgstr "" +msgstr "Bestand upload" #. module: web #. openerp-web @@ -404,7 +404,7 @@ msgstr "" #: code:addons/web/controllers/main.py:847 #, python-format msgid "Languages" -msgstr "" +msgstr "Talen" #. module: web #. openerp-web @@ -553,7 +553,7 @@ msgstr "Teruggezet" #: code:addons/web/static/src/js/view_list.js:394 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d-%d van %d" #. module: web #. openerp-web @@ -651,7 +651,7 @@ msgstr "" #: code:addons/web/static/src/js/view_list.js:8 #, python-format msgid "List" -msgstr "" +msgstr "Lijst" #. module: web #. openerp-web @@ -696,7 +696,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:1223 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Veld '%s' in weergave kon niet worden gevonden." #. module: web #. openerp-web @@ -717,21 +717,21 @@ msgstr "Huidig wachtwoord:" #: code:addons/web/static/src/js/formats.js:113 #, python-format msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" -msgstr "" +msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "De database is gekopieërd." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1625 #, python-format msgid "Apply" -msgstr "" +msgstr "Toepassen" #. module: web #. openerp-web @@ -753,14 +753,14 @@ msgstr "Opslaan als" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2317 #, python-format msgid "E-mail error" -msgstr "" +msgstr "E-mail fout" #. module: web #. openerp-web diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po index edcd3a14d6a..fafcc2c3c65 100644 --- a/addons/web/i18n/pl.po +++ b/addons/web/i18n/pl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" +"PO-Revision-Date: 2012-12-30 20:11+0000\n" +"Last-Translator: Rafał Perczyński \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2012-12-31 05:16+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web @@ -103,7 +103,7 @@ msgstr "Odmowa dostępu" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Błąd uploadu" #. module: web #. openerp-web @@ -271,7 +271,7 @@ msgstr "Nowe hasło:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Załącznik:" #. module: web #. openerp-web @@ -602,7 +602,7 @@ msgstr "Potwierdź nowe hasło" #: code:addons/web/static/src/xml/base.xml:1804 #, python-format msgid "UTF-8" -msgstr "" +msgstr "UTF-8" #. module: web #. openerp-web @@ -754,7 +754,7 @@ msgstr "Zapisz jako" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -1361,7 +1361,7 @@ msgstr "Hasła się nie zgadzają" #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Zmień dane Firmy" #. module: web #. openerp-web @@ -1564,7 +1564,7 @@ msgstr "Nie mozna usunąć bazy !" #: code:addons/web/static/src/js/formats.js:227 #, python-format msgid "'%s' is not a correct integer" -msgstr "" +msgstr "'%s' nie jest poprawną wartością \"integer\"" #. module: web #. openerp-web @@ -1852,14 +1852,14 @@ msgstr "Domyślne:" #: code:addons/web/static/src/xml/base.xml:446 #, python-format msgid "OpenERP" -msgstr "" +msgstr "OpenERP" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Zatrzymaj" #. module: web #. openerp-web @@ -2063,7 +2063,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1752 #, python-format msgid "Ok" -msgstr "" +msgstr "OK" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po index 6d7bab5fbf2..15a09e35522 100644 --- a/addons/web/i18n/pt.po +++ b/addons/web/i18n/pt.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 07:29+0000\n" -"Last-Translator: Virgílio Oliveira \n" +"PO-Revision-Date: 2013-01-15 10:10+0000\n" +"Last-Translator: António Sequeira \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-16 05:53+0000\n" +"X-Generator: Launchpad (build 16420)\n" #. module: web #. openerp-web @@ -43,7 +43,7 @@ msgstr "Carregando...
Por favor, aguarde." #: code:addons/web/static/src/js/search.js:1832 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -89,7 +89,7 @@ msgstr "Quer mesmo apagar a base de dados: %s?" #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "" +msgstr "Procurar %(field)s em: %(value)s" #. module: web #. openerp-web @@ -103,7 +103,7 @@ msgstr "Acesso negado" #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Erro de carregamento" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Fazer cópia de segurança da base de dados" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "Vista de %(view_type)s" #. module: web #. openerp-web @@ -192,7 +192,7 @@ msgstr "Selecionar" #: code:addons/web/static/src/js/chrome.js:549 #, python-format msgid "Database restored successfully" -msgstr "" +msgstr "Base de dados restaurada com êxito" #. module: web #. openerp-web @@ -214,6 +214,8 @@ msgstr "Data da modificação mais recente:" #, python-format msgid "M2O search fields do not currently handle multiple default values" msgstr "" +"Os campos de pesquisa do tipo \"muitos para vários\" não permitem - por " +"enquanto -, lidar com diversos valores predefinidos." #. module: web #. openerp-web @@ -270,7 +272,7 @@ msgstr "Nova senha:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Anexo:" #. module: web #. openerp-web @@ -719,7 +721,7 @@ msgstr "Senha antiga" #: code:addons/web/static/src/js/formats.js:113 #, python-format msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" -msgstr "" +msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #. module: web #. openerp-web @@ -755,7 +757,7 @@ msgstr "Guardar como" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -855,7 +857,7 @@ msgstr "Acrescentar" #: code:addons/web/static/src/xml/base.xml:536 #, python-format msgid "Toggle Form Layout Outline" -msgstr "" +msgstr "Alternar aspeto do formulário" #. module: web #. openerp-web @@ -1024,7 +1026,7 @@ msgstr "Gravar lista de campos" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Iniciar" #. module: web #. openerp-web @@ -1367,7 +1369,7 @@ msgstr "A confirmação não coincide com a senha" #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Editar dados da empresa" #. module: web #. openerp-web @@ -1866,7 +1868,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Parar" #. module: web #. openerp-web @@ -1936,6 +1938,8 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" +"Não é possível usar o campo '%s' para agrupamento porque este não aparece na " +"vista de listagem." #. module: web #. openerp-web @@ -2027,6 +2031,8 @@ msgid "" "The type of the field '%s' must be a many2many field with a relation to " "'ir.attachment' model." msgstr "" +"O campo '%s' precisa de ser do tipo muitos para muitos com uma relação com o " +"modelo 'ir.attachment'." #. module: web #. openerp-web @@ -2089,7 +2095,7 @@ msgstr "Carregar dados de demonstração" #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Created by :" -msgstr "" +msgstr "Criado por:" #. module: web #. openerp-web @@ -2184,7 +2190,7 @@ msgstr "Novo" #: code:addons/web/static/src/js/view_list.js:1767 #, python-format msgid "Can't convert value %s to context" -msgstr "" +msgstr "Não é possível converter o valor %s dentro para contexto" #. module: web #. openerp-web @@ -2265,7 +2271,7 @@ msgstr "" #: code:addons/web/controllers/main.py:1264 #, python-format msgid "No content found for field '%s' on '%s:%s'" -msgstr "" +msgstr "Nenhum conteúdo encontrado para o campo '%s' em '%s:%s'" #. module: web #. openerp-web @@ -2373,7 +2379,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:3805 #, python-format msgid "The o2m record must be saved before an action can be used" -msgstr "" +msgstr "O registo o2m precisa ser gravado antes de ser usado por uma ação" #. module: web #. openerp-web @@ -2415,7 +2421,7 @@ msgstr "Filtro" #: code:addons/web/static/src/xml/base.xml:950 #, python-format msgid "Widget:" -msgstr "" +msgstr "Componente:" #. module: web #. openerp-web @@ -2471,7 +2477,7 @@ msgstr "Campo:" #: code:addons/web/static/src/xml/base.xml:620 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Modificado por:" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po index 56ba8f53e30..cb071b5b51a 100644 --- a/addons/web/i18n/pt_BR.po +++ b/addons/web/i18n/pt_BR.po @@ -8,15 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 07:29+0000\n" -"Last-Translator: Fábio Martinelli - http://zupy.com.br " -"\n" +"PO-Revision-Date: 2013-02-26 09:39+0000\n" +"Last-Translator: Rui Andrada \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" #. module: web #. openerp-web @@ -83,14 +82,14 @@ msgstr "Alterar Senha Super Admin" #: code:addons/web/static/src/js/chrome.js:491 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "Você realmente deseja excluir a base de dados: %s ?" +msgstr "Você realmente que remover o banco de dados: %s ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "Procurar %(field)s em: %(value)s" +msgstr "Buscar %(field)s por: %(value)s" #. module: web #. openerp-web @@ -120,14 +119,14 @@ msgstr "por volta de uma hora atrás" #: code:addons/web/static/src/xml/base.xml:216 #, python-format msgid "Backup Database" -msgstr "Cópia de segurança da base de dados" +msgstr "Cópia de Segurança do Banco de Dados" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "%(view_type)s view" +msgstr "Visualização %(view_type)s" #. module: web #. openerp-web @@ -214,7 +213,7 @@ msgstr "Data da Última Modificação:" #: code:addons/web/static/src/js/search.js:1459 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "Campos de pesquisa M2O não aceitão múltiplos valores default" +msgstr "Campos de pesquisa M2O não aceitão múltiplos valores padrão" #. module: web #. openerp-web @@ -433,7 +432,7 @@ msgstr "Não foi possível restaurar a base de dados" #: code:addons/web/static/src/js/view_form.js:4851 #, python-format msgid "File upload" -msgstr "Arquivo carregado" +msgstr "Upload de arquivos" #. module: web #. openerp-web @@ -532,7 +531,7 @@ msgstr "Condição:" #: code:addons/web/static/src/js/view_form.js:1692 #, python-format msgid "Unsupported operator %s in domain %s" -msgstr "Operador não suportado %s no domínio %s" +msgstr "Operador %s não suportado no domínio %s" #. module: web #. openerp-web @@ -560,7 +559,7 @@ msgstr "%d-%d de %d" #: code:addons/web/static/src/js/view_form.js:2868 #, python-format msgid "Create and Edit..." -msgstr "Criar e editar..." +msgstr "Criar e Editar..." #. module: web #. openerp-web @@ -1169,7 +1168,7 @@ msgstr "Fuso horário diferentes" #: code:addons/web/static/src/js/view_form.js:1646 #, python-format msgid "Unknown operator %s in domain %s" -msgstr "Operador desconhecido %s no domínio %s" +msgstr "Operador %s desconhecido no domínio %s" #. module: web #. openerp-web @@ -1183,7 +1182,7 @@ msgstr "%d / %d" #: code:addons/web/static/src/xml/base.xml:1782 #, python-format msgid "2. Check your file format" -msgstr "2. Verifique seu formato de arquivo" +msgstr "2. Verifique o formato de seu arquivo" #. module: web #. openerp-web @@ -1318,7 +1317,7 @@ msgstr "Você deve escolher pelo menos um registro." #: code:addons/web/static/src/js/coresetup.js:631 #, python-format msgid "Don't leave yet,
it's still loading..." -msgstr "Não deixe ainda,
que ainda está carregando ..." +msgstr "Não saia dai,
que ainda está carregando ..." #. module: web #. openerp-web @@ -1332,7 +1331,7 @@ msgstr "Pesquisa Inválida" #: code:addons/web/static/src/js/view_list.js:980 #, python-format msgid "Could not find id in dataset" -msgstr "Não foi possível encontrar ID no conjunto de dados" +msgstr "Não foi possível encontrar o ID no conjunto de dados" #. module: web #. openerp-web @@ -1479,7 +1478,7 @@ msgstr "Confirme a Senha do Super Admin:" #: code:addons/web/static/src/js/coresetup.js:634 #, python-format msgid "Maybe you should consider reloading the application by pressing F5..." -msgstr "Considere recarregar a a aplicação pressionado F5 ..." +msgstr "Tente recarregar a aplicação pressionado F5 ..." #. module: web #. openerp-web @@ -1585,7 +1584,7 @@ msgstr "Todos os usuários" #: code:addons/web/static/src/js/view_form.js:1654 #, python-format msgid "Unknown field %s in domain %s" -msgstr "Campo desconhecido %s no domínio %s" +msgstr "Campo %s desconhecido no domínio %s" #. module: web #. openerp-web @@ -1936,8 +1935,8 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" -"Agrupamento em campo '% s' não é possível porque o campo não aparece na " -"visão de lista." +"Agrupar por em campo '% s' não é possível porque o campo não aparece na " +"visualização lista." #. module: web #. openerp-web @@ -1987,7 +1986,7 @@ msgstr "Tipo:" #: code:addons/web/static/src/js/chrome.js:538 #, python-format msgid "Incorrect super-administrator password" -msgstr "Senha de Super-administrator incorreta" +msgstr "Senha de Super Admin incorreta" #. module: web #. openerp-web @@ -2274,7 +2273,7 @@ msgstr "Nenhum conteúdo encontrado para o campo '%s' em '%s:%s'" #: code:addons/web/static/src/xml/base.xml:304 #, python-format msgid "Database Management" -msgstr "Gerenciamento de base de dados" +msgstr "Gerenciamento do banco de dados" #. module: web #. openerp-web @@ -2346,7 +2345,7 @@ msgstr "Duplicar" #: code:addons/web/static/src/xml/base.xml:1391 #, python-format msgid "Discard" -msgstr "Descartar" +msgstr "Cancelar" #. module: web #. openerp-web diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po index 54701e9665b..fb2a766414b 100644 --- a/addons/web/i18n/ro.po +++ b/addons/web/i18n/ro.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 07:29+0000\n" -"Last-Translator: Fekete Mihai \n" +"PO-Revision-Date: 2013-02-02 14:33+0000\n" +"Last-Translator: Dorin \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-03 05:29+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: web #. openerp-web @@ -2349,7 +2349,7 @@ msgstr "Copiaza" #: code:addons/web/static/src/xml/base.xml:1391 #, python-format msgid "Discard" -msgstr "Elimina" +msgstr "Renunță" #. module: web #. openerp-web diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po index e9f140598bc..39f7f816338 100644 --- a/addons/web/i18n/sl.po +++ b/addons/web/i18n/sl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 15:38+0000\n" -"Last-Translator: Dusan Laznik \n" +"PO-Revision-Date: 2012-12-31 13:50+0000\n" +"Last-Translator: Dusan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" +"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web @@ -52,7 +52,7 @@ msgstr "%(field)s %(operator)s \"%(value)s\"" #: code:addons/web/static/src/js/search.js:1943 #, python-format msgid "less or equal than" -msgstr "Manjše ali enako" +msgstr "manjše ali enako" #. module: web #. openerp-web @@ -89,7 +89,7 @@ msgstr "Res želite brisati podatkovno zbirko: %s ?" #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "Iskanje %(field)s at: %(value)s" +msgstr "Iskanje %(field)s v: %(value)s" #. module: web #. openerp-web @@ -141,7 +141,7 @@ msgstr "'%s' ni veljaven datum" #: code:addons/web/static/src/xml/base.xml:1837 #, python-format msgid "Here is a preview of the file we could not import:" -msgstr "Tukaj je predogled datoteke, ki je nismo mogli uvozit" +msgstr "Tukaj je predogled datoteke, ki je nismo mogli uvoziti" #. module: web #. openerp-web @@ -155,7 +155,7 @@ msgstr "približno pred minuto" #: code:addons/web/static/src/xml/base.xml:1297 #, python-format msgid "File" -msgstr "Datoteke" +msgstr "Datoteka" #. module: web #: code:addons/web/controllers/main.py:826 @@ -213,7 +213,7 @@ msgstr "Zadnji datum spremembe:" #: code:addons/web/static/src/js/search.js:1459 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "M2O iskalna polja trenutno ne podpirajo večih prevzetih vrednosti" +msgstr "M2O iskalna polja trenutno ne podpirajo večih privzetih vrednosti" #. module: web #. openerp-web @@ -235,7 +235,7 @@ msgstr "Skupna raba z vsemi uporabniki" #: code:addons/web/static/src/js/view_form.js:321 #, python-format msgid "Form" -msgstr "Forma" +msgstr "Obrazec" #. module: web #. openerp-web @@ -256,7 +256,7 @@ msgstr "'%s' ni pravilen čas" #: code:addons/web/static/src/js/search.js:1297 #, python-format msgid "not a valid number" -msgstr "ni prava številka" +msgstr "ni pravilna številka" #. module: web #. openerp-web @@ -319,7 +319,7 @@ msgstr "Vrsta tipke:" #: code:addons/web/static/src/xml/base.xml:419 #, python-format msgid "OpenERP SA Company" -msgstr "podjetja OpenERP SA" +msgstr "Podjetje OpenERP SA" #. module: web #. openerp-web @@ -418,7 +418,7 @@ msgstr "...Nalaganje v teku..." #: code:addons/web/static/src/xml/base.xml:1768 #, python-format msgid "Import" -msgstr "Uvozi" +msgstr "Uvoz" #. module: web #. openerp-web @@ -482,7 +482,7 @@ msgstr "Nalaganje (%d)" #: code:addons/web/static/src/js/search.js:1114 #, python-format msgid "GroupBy" -msgstr "Združi po" +msgstr "Združeno po" #. module: web #. openerp-web @@ -587,7 +587,7 @@ msgstr "ni" #: code:addons/web/static/src/xml/base.xml:550 #, python-format msgid "Print Workflow" -msgstr "Natisni delovni proces!" +msgstr "Izpis delovnega procesa" #. module: web #. openerp-web @@ -759,7 +759,7 @@ msgstr "00:00:00" #: code:addons/web/static/src/js/view_form.js:2317 #, python-format msgid "E-mail error" -msgstr "Napaka e-mail" +msgstr "Napaka e-pošte" #. module: web #. openerp-web @@ -814,7 +814,7 @@ msgstr "Tehnični prevod" #: code:addons/web/static/src/xml/base.xml:1797 #, python-format msgid "Delimiter:" -msgstr "Razmejitelj:" +msgstr "Ločilo:" #. module: web #. openerp-web @@ -934,7 +934,7 @@ msgstr "Shrani" #: code:addons/web/static/src/xml/base.xml:352 #, python-format msgid "More" -msgstr "Dodatno" +msgstr "Več" #. module: web #. openerp-web @@ -1180,7 +1180,7 @@ msgstr "%d / %d" #: code:addons/web/static/src/xml/base.xml:1782 #, python-format msgid "2. Check your file format" -msgstr "2. Preveri format datoteke" +msgstr "2. Preverite format datoteke" #. module: web #. openerp-web @@ -1197,8 +1197,8 @@ msgid "" "Select a .CSV file to import. If you need a sample of file to import,\n" " you should use the export tool with the \"Import Compatible\" option." msgstr "" -"Izberi datoteko .CSV za uvoz. Če potrebujete vzorec daoteke za uvoz,\n" -" uporabite orodje izvoza z možnostjo \"Uvozi kompatibilno\"." +"Izberite datoteko .CSV za uvoz. Če potrebujete vzorec daoteke za uvoz,\n" +" uporabite orodje izvoza z možnostjo \"Prilagojeno za uvoz\"." #. module: web #. openerp-web @@ -1263,7 +1263,7 @@ msgstr "Obnovi" #: code:addons/web/static/src/xml/base.xml:1677 #, python-format msgid "Export Type:" -msgstr "Tip izvoza:" +msgstr "Vrsta izvoza:" #. module: web #. openerp-web @@ -1277,7 +1277,7 @@ msgstr "Odjava" #: code:addons/web/static/src/js/search.js:1090 #, python-format msgid "Group by: %s" -msgstr "Združi po: %s" +msgstr "Združeno po: %s" #. module: web #. openerp-web @@ -1292,7 +1292,7 @@ msgstr "Ni podatkov." #: code:addons/web/static/src/xml/base.xml:1665 #, python-format msgid "Export" -msgstr "Izvozi" +msgstr "Izvoz" #. module: web #. openerp-web @@ -1421,7 +1421,7 @@ msgstr "Nobena podatkovna zbirka ni izbrana!" #: code:addons/web/static/src/js/formats.js:180 #, python-format msgid "(%d records)" -msgstr "(%d zapisa)" +msgstr "(%d zapisov)" #. module: web #. openerp-web @@ -1466,7 +1466,7 @@ msgstr "Napredno iskanje" #: code:addons/web/static/src/xml/base.xml:290 #, python-format msgid "Confirm new master password:" -msgstr "Potrdi novo glavno geslo:" +msgstr "Potrdite novo glavno geslo:" #. module: web #. openerp-web @@ -1585,7 +1585,7 @@ msgstr "Neznano polje %s v domeni %s" #: code:addons/web/static/src/js/views.js:1466 #, python-format msgid "Node [%s] is not a JSONified XML node" -msgstr "Node [%s] nije JSONified XML node" +msgstr "Node [%s] ni JSONified XML node" #. module: web #. openerp-web @@ -1607,7 +1607,7 @@ msgstr "Brisanje podatkovne zbirke" #: code:addons/web/static/src/xml/base.xml:445 #, python-format msgid "Powered by" -msgstr "Poganja ga" +msgstr "Powered by" #. module: web #. openerp-web @@ -1715,7 +1715,7 @@ msgstr "Nabor znakov:" #: code:addons/web/static/src/xml/base.xml:1808 #, python-format msgid "Lines to skip" -msgstr "Vrstice za preskočit" +msgstr "Preskočene vrstice" #. module: web #. openerp-web @@ -1779,7 +1779,7 @@ msgstr "Shrani kot:" #: code:addons/web/static/src/js/search.js:927 #, python-format msgid "Filter on: %s" -msgstr "Filtriraj po: %s" +msgstr "Filter : %s" #. module: web #. openerp-web @@ -1830,7 +1830,7 @@ msgstr "je" #: code:addons/web/static/src/js/data_export.js:6 #, python-format msgid "Export Data" -msgstr "Izvozi podatke" +msgstr "Izvoz podatkov" #. module: web #. openerp-web @@ -1868,7 +1868,7 @@ msgstr "Ustavi" #: code:addons/web/static/src/xml/base.xml:225 #, python-format msgid "Database:" -msgstr "Podatkovna baza" +msgstr "Podatkovna zbirka:" #. module: web #. openerp-web @@ -1883,7 +1883,7 @@ msgstr "Nalaganje..." #: code:addons/web/static/src/xml/base.xml:1853 #, python-format msgid "Name:" -msgstr "Naziv:" +msgstr "Ime:" #. module: web #. openerp-web @@ -2069,14 +2069,14 @@ msgstr "V redu" #: code:addons/web/static/src/js/views.js:1162 #, python-format msgid "Uploading..." -msgstr "Pošiljanje ..." +msgstr "Nalaganje..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:125 #, python-format msgid "Load Demonstration data:" -msgstr "Naloži demonstracijske podatke:" +msgstr "Naloži demo podatke:" #. module: web #. openerp-web @@ -2122,7 +2122,7 @@ msgstr "Opozorilo" #: code:addons/web/static/src/xml/base.xml:547 #, python-format msgid "Edit SearchView" -msgstr "Urejanje pogleda" +msgstr "Urejanje iskalnega pogleda" #. module: web #. openerp-web @@ -2157,7 +2157,7 @@ msgstr "Potrdi" #: code:addons/web/static/src/js/data_export.js:126 #, python-format msgid "Please enter save field list name" -msgstr "Prosimo, vnesite ime datoteke za varnostno kopiranje" +msgstr "Vnesite ime seznama" #. module: web #. openerp-web @@ -2186,7 +2186,7 @@ msgstr "Ni možno spremeniti vrednost %s v vsebino" #: code:addons/web/static/src/xml/base.xml:541 #, python-format msgid "Fields View Get" -msgstr "Polja pogled - opis" +msgstr "Fields View Get" #. module: web #. openerp-web @@ -2216,7 +2216,7 @@ msgstr "Gumb" #: code:addons/web/static/src/xml/base.xml:418 #, python-format msgid "OpenERP is a trademark of the" -msgstr "OpenERP je blagovna znamka" +msgstr "OpenERP is a trademark of the" #. module: web #. openerp-web @@ -2244,7 +2244,7 @@ msgstr "napačno" #: code:addons/web/static/src/xml/base.xml:404 #, python-format msgid "About OpenERP" -msgstr "O OpenERP-u" +msgstr "About OpenERP" #. module: web #. openerp-web @@ -2442,7 +2442,7 @@ msgstr "Uredi delovni proces" #: code:addons/web/static/src/js/views.js:1171 #, python-format msgid "Do you really want to delete this attachment ?" -msgstr "Res želite brisati ti prilogo?" +msgstr "Res želite brisati to prilogo?" #. module: web #. openerp-web @@ -2565,14 +2565,14 @@ msgstr "Odstrani" #: code:addons/web/static/src/xml/base.xml:1062 #, python-format msgid "Select date" -msgstr "Izberi datum" +msgstr "Izberite datum" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1249 #, python-format msgid "Search %(field)s for: %(value)s" -msgstr "Išči %(field)s for: %(value)s" +msgstr "Išči %(field)s v: %(value)s" #. module: web #. openerp-web @@ -2600,7 +2600,7 @@ msgstr "GNU Affero General Public License" #: code:addons/web/static/src/xml/base.xml:1795 #, python-format msgid "Separator:" -msgstr "Ločitelj:" +msgstr "Ločilo:" #. module: web #. openerp-web diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po index 21223425450..0cdcb313794 100644 --- a/addons/web/i18n/tr.po +++ b/addons/web/i18n/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Ahmet Altınışık \n" +"PO-Revision-Date: 2013-02-15 20:45+0000\n" +"Last-Translator: Hasan Yılmaz \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: 2012-12-22 07:38+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "az ya da eşittir" #: code:addons/web/static/src/js/chrome.js:393 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Lütfen önceki şifrenizi girin" #. module: web #. openerp-web @@ -82,28 +82,28 @@ msgstr "Ana şifreyi değiştir." #: code:addons/web/static/src/js/chrome.js:491 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "Gerçekten %s veritabanını SİLMEK istiyor musunuz?" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "Search %(field)s at: %(value)s" +msgstr "Armama %(field)s at: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:537 #, python-format msgid "Access Denied" -msgstr "" +msgstr "Erişim Reddedildi" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "Yükleme hatası" #. module: web #. openerp-web @@ -126,7 +126,7 @@ msgstr "Veritabanı Yedekle" #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "%(view_type)s ekranı" #. module: web #. openerp-web @@ -134,14 +134,14 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "'%s' geçerli bir tarih değil" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1837 #, python-format msgid "Here is a preview of the file we could not import:" -msgstr "İçeaktaramadığımız dosyanın önizlemesi:" +msgstr "İçe-aktarılamıyan dosyanın önizlemesi:" #. module: web #. openerp-web @@ -161,7 +161,7 @@ msgstr "Dosya" #: code:addons/web/controllers/main.py:826 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Şifreleri boş bırkamazsınız." #. module: web #. openerp-web @@ -213,15 +213,14 @@ msgstr "Son Değiştirme tarihi:" #: code:addons/web/static/src/js/search.js:1459 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "" -"Çoktan teke arama alanları henüz çoklu öntanımlı değerleri desteklemiyor" +msgstr "M2O arama alanları henüz çoklu öntanımlı değerleri desteklemiyor" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1227 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "'%s' widget tipi uygulanmamış" #. module: web #. openerp-web @@ -250,7 +249,7 @@ msgstr "(yazı yok)" #: code:addons/web/static/src/js/formats.js:282 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' geçersiz saat biçimi" #. module: web #. openerp-web @@ -271,7 +270,7 @@ msgstr "Yeni Parola:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Ek :" #. module: web #. openerp-web @@ -313,7 +312,7 @@ msgstr "Özel Filtreler" #: code:addons/web/static/src/xml/base.xml:1336 #, python-format msgid "Button Type:" -msgstr "Buton Tipi:" +msgstr "Buton Türü:" #. module: web #. openerp-web @@ -327,7 +326,7 @@ msgstr "OpenERP SA Company" #: code:addons/web/static/src/js/search.js:1553 #, python-format msgid "Custom Filter" -msgstr "Özel Süzgeç" +msgstr "Özel Filtre" #. module: web #. openerp-web @@ -356,7 +355,7 @@ msgstr "Parolayı Değiştir" #: code:addons/web/static/src/js/view_form.js:3411 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "'%s' ekran (view) tipi one2many için desteklenmiyor." #. module: web #. openerp-web @@ -371,7 +370,7 @@ msgstr "İndir" #: code:addons/web/static/src/js/formats.js:266 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' geçerli bir tarih saat biçimi değil" #. module: web #. openerp-web @@ -385,7 +384,7 @@ msgstr "Grup" #: code:addons/web/static/src/xml/base.xml:927 #, python-format msgid "Unhandled widget" -msgstr "işlenmemiş parçacık" +msgstr "İşlenmemiş parçacık" #. module: web #. openerp-web @@ -399,13 +398,13 @@ msgstr "Seçim:" #: code:addons/web/static/src/js/view_form.js:871 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "Geçersiz alanlar:" #. module: web #: code:addons/web/controllers/main.py:847 #, python-format msgid "Languages" -msgstr "" +msgstr "Diller" #. module: web #. openerp-web @@ -426,7 +425,7 @@ msgstr "İçe aktar" #: code:addons/web/static/src/js/chrome.js:543 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "Veritabanı geri yüklenemedi" #. module: web #. openerp-web @@ -440,7 +439,7 @@ msgstr "Dosya yükle" #: code:addons/web/static/src/js/view_form.js:3804 #, python-format msgid "Action Button" -msgstr "Eylem Butonu" +msgstr "İşlem Butonu" #. module: web #. openerp-web @@ -483,7 +482,7 @@ msgstr "(%d) Yükleniyor" #: code:addons/web/static/src/js/search.js:1114 #, python-format msgid "GroupBy" -msgstr "Grupla" +msgstr "Gruplaİle" #. module: web #. openerp-web @@ -525,7 +524,7 @@ msgstr "bir dakika önce" #: code:addons/web/static/src/xml/base.xml:851 #, python-format msgid "Condition:" -msgstr "Durum:" +msgstr "Koşul:" #. module: web #. openerp-web @@ -539,7 +538,7 @@ msgstr "Desteklenmeyen operatör %s alan adında %s" #: code:addons/web/static/src/js/formats.js:242 #, python-format msgid "'%s' is not a correct float" -msgstr "" +msgstr "'%s' geçersiz bir float" #. module: web #. openerp-web @@ -553,21 +552,21 @@ msgstr "Onarıldı" #: code:addons/web/static/src/js/view_list.js:394 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d-%d / %d" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2868 #, python-format msgid "Create and Edit..." -msgstr "Oluştur ve düzenle..." +msgstr "Oluştur ve Düzenle..." #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:731 #, python-format msgid "Unknown nonliteral type " -msgstr "" +msgstr "Bilinmeyen (nonliteral) tipi " #. module: web #. openerp-web @@ -595,7 +594,7 @@ msgstr "İş Akışı'nı Yazdır" #: code:addons/web/static/src/js/chrome.js:396 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "Lütfen yeni şifrenizi onaylayın" #. module: web #. openerp-web @@ -616,7 +615,7 @@ msgstr "Daha ayrıntılı bilgi için burayı ziyaret edin" #: code:addons/web/static/src/xml/base.xml:1859 #, python-format msgid "Add All Info..." -msgstr "Bütün bilgiyi ekle..." +msgstr "Bütün Bilgisini Ekle..." #. module: web #. openerp-web @@ -644,7 +643,7 @@ msgstr "Model %s Alanları" #: code:addons/web/static/src/js/view_list.js:893 #, python-format msgid "Setting 'id' attribute on existing record %s" -msgstr "" +msgstr "Geçerli kayıt %s nin 'id' özeliği ayarlanıyor" #. module: web #. openerp-web @@ -682,7 +681,7 @@ msgstr "Filitreyi Kaydet" #: code:addons/web/static/src/xml/base.xml:1344 #, python-format msgid "Action ID:" -msgstr "Eylem ID:" +msgstr "İşelme ID:" #. module: web #. openerp-web @@ -690,20 +689,21 @@ msgstr "Eylem ID:" #, python-format msgid "Your user's preference timezone does not match your browser timezone:" msgstr "" +"Kullanıcınızın saat dilimi seçimi tarayıcınızın saat diliminden farklı:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1223 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Ekranda tanımlanan '%s' alanı bulunamıyor." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1756 #, python-format msgid "Saved exports:" -msgstr "Kaydedilmiş Dışa Aktarımlar:" +msgstr "Kaydedilmiş Dış-Aktarımlar:" #. module: web #. openerp-web @@ -724,7 +724,7 @@ msgstr "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "Veritabanı Kopyalandı." #. module: web #. openerp-web @@ -753,7 +753,7 @@ msgstr "Farklı Kaydet" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -781,7 +781,7 @@ msgstr "Dosyanın başlık satırı varmı ?" #: code:addons/web/static/src/js/view_list.js:327 #, python-format msgid "Unlimited" -msgstr "Sınırsız" +msgstr "Limitsiz" #. module: web #. openerp-web @@ -798,7 +798,7 @@ msgstr "Uyarı, kayıt değiştirildi, değişiklikleriniz kaybolacaklar." #: code:addons/web/static/src/js/view_form.js:2904 #, python-format msgid "Search: " -msgstr "Ara: " +msgstr "Arama: " #. module: web #. openerp-web @@ -819,7 +819,7 @@ msgstr "Sonlandırıcı:" #: code:addons/web/static/src/xml/base.xml:462 #, python-format msgid "Browser's timezone" -msgstr "" +msgstr "Tarayıcınızın saat dilimi" #. module: web #. openerp-web @@ -833,7 +833,7 @@ msgstr "Filtre adı" #: code:addons/web/static/src/xml/base.xml:1464 #, python-format msgid "-- Actions --" -msgstr "-- Eylemler --" +msgstr "-- İşlemler --" #. module: web #. openerp-web @@ -885,7 +885,7 @@ msgstr "Tercihler" #: code:addons/web/static/src/js/view_form.js:436 #, python-format msgid "Wrong on change format: %s" -msgstr "" +msgstr "Hatalı (on change) biçimi: %s" #. module: web #. openerp-web @@ -900,14 +900,14 @@ msgstr "Veritabanını Sil" #: code:addons/web/static/src/xml/base.xml:466 #, python-format msgid "Click here to change your user's timezone." -msgstr "" +msgstr "Saat diliminizi değiştirmek için için tıklayın." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:966 #, python-format msgid "Modifiers:" -msgstr "Düzenleyenler" +msgstr "Değiştirenler:" #. module: web #. openerp-web @@ -946,21 +946,21 @@ msgstr "Kullanıcı Adı" #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "Duplicating database" -msgstr "" +msgstr "Veritabanı Kopyalanıyor" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Password has been changed successfully" -msgstr "" +msgstr "Şifreniz değiştirildi" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list_editable.js:788 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "Formdaki veriler iptal edilemiyor" #. module: web #. openerp-web @@ -974,7 +974,7 @@ msgstr "Hata Ayıklama Görünümü#" #: code:addons/web/static/src/xml/base.xml:77 #, python-format msgid "Log in" -msgstr "Giriş yap" +msgstr "Giriş" #. module: web #. openerp-web @@ -995,6 +995,10 @@ msgid "" "\n" "%s" msgstr "" +"Yerel değerlendirme hatası\n" +"%s\n" +"\n" +"%s" #. module: web #. openerp-web @@ -1015,7 +1019,7 @@ msgstr "Alan listesini Kaydet" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Başlat" #. module: web #. openerp-web @@ -1036,7 +1040,7 @@ msgstr "Oluşturma Tarihi:" #: code:addons/web/controllers/main.py:835 #, python-format msgid "Error, password not changed !" -msgstr "" +msgstr "Hata, şifre değiştirilemedi !" #. module: web #. openerp-web @@ -1058,14 +1062,14 @@ msgstr "/web/binary/upload_attachment" #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Parola Değişti" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1431 #, python-format msgid "Search" -msgstr "Ara" +msgstr "Arama" #. module: web #. openerp-web @@ -1092,14 +1096,14 @@ msgstr "Yedekle" #: code:addons/web/static/src/js/dates.js:80 #, python-format msgid "'%s' is not a valid time" -msgstr "" +msgstr "'%s' geçerli bir zaman biçimi değil" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:274 #, python-format msgid "'%s' is not a correct date" -msgstr "" +msgstr "'%s' geçerli bir tarih biçimi değil" #. module: web #. openerp-web @@ -1153,7 +1157,7 @@ msgstr "Son Değiştiren:" #: code:addons/web/static/src/xml/base.xml:470 #, python-format msgid "Timezone mismatch" -msgstr "" +msgstr "Saat dilimi uyumsuzluğu" #. module: web #. openerp-web @@ -1181,7 +1185,7 @@ msgstr "Dosya biçimini kontrol edin" #: code:addons/web/static/src/xml/base.xml:1718 #, python-format msgid "Name" -msgstr "İsim" +msgstr "Adı" #. module: web #. openerp-web @@ -1221,7 +1225,7 @@ msgstr "Gelişmiş Filtre Ekle" #: code:addons/web/controllers/main.py:828 #, python-format msgid "The new password and its confirmation must be identical." -msgstr "" +msgstr "Yeni şifre ve şifre tekrarı aynı olmalı" #. module: web #. openerp-web @@ -1236,7 +1240,7 @@ msgstr "Veritabanını Geri Yükle" #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "Login" -msgstr "" +msgstr "Kullanıcı Adı:" #. module: web #. openerp-web @@ -1272,14 +1276,14 @@ msgstr "Çıkış Yap" #: code:addons/web/static/src/js/search.js:1090 #, python-format msgid "Group by: %s" -msgstr "Grupla : %s" +msgstr "Grupla ile : %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:153 #, python-format msgid "No data provided." -msgstr "" +msgstr "Hiç veri sağlanmadı." #. module: web #. openerp-web @@ -1350,14 +1354,14 @@ msgstr "%(page)d/%(page_count)d" #: code:addons/web/static/src/js/chrome.js:397 #, python-format msgid "The confirmation does not match the password" -msgstr "" +msgstr "Şifre ve doğrulaması uyuşmuyor." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Şirket Bilgilerini düzenle" #. module: web #. openerp-web @@ -1396,7 +1400,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:394 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web #. openerp-web @@ -1410,7 +1414,7 @@ msgstr ".CSV Dosyasından veri al" #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "No database selected !" -msgstr "" +msgstr "Veritabanı Seçilmedi !" #. module: web #. openerp-web @@ -1424,7 +1428,7 @@ msgstr "(%d kayıt)" #: code:addons/web/static/src/xml/base.xml:970 #, python-format msgid "Change default:" -msgstr "Varsayılanı değiştir:" +msgstr "Öntanılıyı değiştir:" #. module: web #. openerp-web @@ -1448,7 +1452,7 @@ msgstr "eşittir" #: code:addons/web/static/src/js/views.js:1500 #, python-format msgid "Could not serialize XML" -msgstr "" +msgstr "XML serileştirilemedi" #. module: web #. openerp-web @@ -1553,14 +1557,14 @@ msgstr "Ağaç" #: code:addons/web/controllers/main.py:750 #, python-format msgid "Could not drop database !" -msgstr "" +msgstr "Veritabanı Silinemedi !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:227 #, python-format msgid "'%s' is not a correct integer" -msgstr "" +msgstr "'%s' geçerli bir tamsayı (interger) değil" #. module: web #. openerp-web @@ -1581,7 +1585,7 @@ msgstr "Bilinmeyen alan %s alan adında %s" #: code:addons/web/static/src/js/views.js:1466 #, python-format msgid "Node [%s] is not a JSONified XML node" -msgstr "" +msgstr "[%s] düğümü JSONlaştırılmış XML düğümü değil" #. module: web #. openerp-web @@ -1595,7 +1599,7 @@ msgstr "Gelişmiş Arama..." #: code:addons/web/static/src/js/chrome.js:499 #, python-format msgid "Dropping database" -msgstr "" +msgstr "Veritabanı Siliniyor" #. module: web #. openerp-web @@ -1639,7 +1643,7 @@ msgstr "Boy:" #: code:addons/web/static/src/xml/base.xml:1824 #, python-format msgid "--- Don't Import ---" -msgstr "--- İçeri Alma ---" +msgstr "--- İçeri Aktarma ---" #. module: web #. openerp-web @@ -1660,7 +1664,7 @@ msgstr "%d yıl önce" #: code:addons/web/static/src/js/view_list.js:1040 #, python-format msgid "Unknown m2m command %s" -msgstr "" +msgstr "Bilinmeyen m2m komutu %s" #. module: web #. openerp-web @@ -1683,7 +1687,7 @@ msgstr "Yeni Veritaban adı:" #: code:addons/web/static/src/js/chrome.js:394 #, python-format msgid "Please enter your new password" -msgstr "" +msgstr "Lütfen yeni parolanızı girin" #. module: web #. openerp-web @@ -1711,7 +1715,7 @@ msgstr "Kodlama:" #: code:addons/web/static/src/xml/base.xml:1808 #, python-format msgid "Lines to skip" -msgstr "atlanacak satırlar" +msgstr "Atlanacak satırlar" #. module: web #. openerp-web @@ -1768,14 +1772,14 @@ msgstr "JS Testleri" #: code:addons/web/static/src/xml/base.xml:1750 #, python-format msgid "Save as:" -msgstr "Save as:" +msgstr "Farklı kaydet:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:927 #, python-format msgid "Filter on: %s" -msgstr "Filterele: %s" +msgstr "Filtrelede: %s" #. module: web #. openerp-web @@ -1797,7 +1801,7 @@ msgstr "Alanları Göster" #: code:addons/web/static/src/xml/base.xml:330 #, python-format msgid "Confirm New Password:" -msgstr "" +msgstr "Yeni Parolayı Onaylayın:" #. module: web #. openerp-web @@ -1833,14 +1837,14 @@ msgstr "Veri Dışaaktar" #: code:addons/web/static/src/xml/base.xml:962 #, python-format msgid "Domain:" -msgstr "Alan:" +msgstr "Domain:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:834 #, python-format msgid "Default:" -msgstr "Varsayılan:" +msgstr "Öntanımlı:" #. module: web #. openerp-web @@ -1855,7 +1859,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Durdur" #. module: web #. openerp-web @@ -1879,7 +1883,7 @@ msgstr "Yükleniyor ..." #: code:addons/web/static/src/xml/base.xml:1853 #, python-format msgid "Name:" -msgstr "İsim:" +msgstr "Adı:" #. module: web #. openerp-web @@ -1893,7 +1897,7 @@ msgstr "Hakkında" #: code:addons/web/static/src/xml/base.xml:1431 #, python-format msgid "Search Again" -msgstr "Yeniden Ara" +msgstr "Yeniden Arama" #. module: web #. openerp-web @@ -1932,7 +1936,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:537 #, python-format msgid "Set Defaults" -msgstr "Varsayılanları Ayarla" +msgstr "Öntanımlı Ayarla" #. module: web #. openerp-web @@ -1967,14 +1971,14 @@ msgstr "Filtre Adı:" #: code:addons/web/static/src/xml/base.xml:946 #, python-format msgid "Type:" -msgstr "Tip:" +msgstr "Türü:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:538 #, python-format msgid "Incorrect super-administrator password" -msgstr "" +msgstr "Geçersiz super-yönetici şifresi" #. module: web #. openerp-web @@ -2016,6 +2020,7 @@ msgid "" "The type of the field '%s' must be a many2many field with a relation to " "'ir.attachment' model." msgstr "" +"'%s' alanı 'ir.attachment' modeline many2many ile bağlı bir tipte olmalı" #. module: web #. openerp-web @@ -2037,7 +2042,7 @@ msgstr "Ekle: " #: code:addons/web/static/src/xml/base.xml:1858 #, python-format msgid "Quick Add" -msgstr "Hızlı ekle" +msgstr "Hızlı Ekle" #. module: web #. openerp-web @@ -2078,7 +2083,7 @@ msgstr "Örnek verileri yükle:" #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Created by :" -msgstr "" +msgstr "Oluşturan:" #. module: web #. openerp-web @@ -2086,7 +2091,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:26 #, python-format msgid "'%s' is not a valid datetime" -msgstr "" +msgstr "'%s' geçersiz bir tarih saat değeri" #. module: web #. openerp-web @@ -2166,14 +2171,14 @@ msgstr "\"%s\" İndir" #: code:addons/web/static/src/js/view_form.js:326 #, python-format msgid "New" -msgstr "" +msgstr "Yeni" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1767 #, python-format msgid "Can't convert value %s to context" -msgstr "" +msgstr "%s değeri bağlama dönüştürülemiyor" #. module: web #. openerp-web @@ -2246,13 +2251,13 @@ msgstr "OpenERP Hakkında" #: code:addons/web/static/src/js/formats.js:297 #, python-format msgid "'%s' is not a correct date, datetime nor time" -msgstr "" +msgstr "'%s' geçerli bir tarih, saat ya da tarih saat değeri değil" #. module: web #: code:addons/web/controllers/main.py:1264 #, python-format msgid "No content found for field '%s' on '%s:%s'" -msgstr "" +msgstr "'%s' alanı için içerik '%s:%s' bulunamadı" #. module: web #. openerp-web @@ -2280,7 +2285,7 @@ msgstr "Veritabanlarını Yönet" #: code:addons/web/static/src/js/pyeval.js:765 #, python-format msgid "Evaluation Error" -msgstr "" +msgstr "Değerlendirme Hatası" #. module: web #. openerp-web @@ -2313,7 +2318,7 @@ msgstr "Hayır" #: code:addons/web/static/src/js/formats.js:309 #, python-format msgid "'%s' is not convertible to date, datetime nor time" -msgstr "" +msgstr "'%s' tarih, tarihsaat veya saat biçimine çevrilemiyor" #. module: web #. openerp-web @@ -2373,14 +2378,14 @@ msgstr "Yedeklenmiş" #: code:addons/web/static/src/xml/base.xml:1610 #, python-format msgid "Use by default" -msgstr "Öntanımlı değer olarak kullan" +msgstr "Öntanımlı kullan" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1348 #, python-format msgid "%s (%d)" -msgstr "" +msgstr "%s (%d)" #. module: web #. openerp-web @@ -2408,7 +2413,7 @@ msgstr "Parçacık:" #: code:addons/web/static/src/xml/base.xml:548 #, python-format msgid "Edit Action" -msgstr "Eylemi Düzenle" +msgstr "İşlemi Düzenle" #. module: web #. openerp-web @@ -2422,7 +2427,7 @@ msgstr "ID:" #: code:addons/web/static/src/xml/base.xml:870 #, python-format msgid "Only you" -msgstr "sadece sen" +msgstr "Sadece sen" #. module: web #. openerp-web @@ -2443,7 +2448,7 @@ msgstr "Gerçekten bu eki silmek istediğinizden emin misiniz?" #: code:addons/web/static/src/js/views.js:840 #, python-format msgid "Technical Translation" -msgstr "" +msgstr "Terim Çevirileri" #. module: web #. openerp-web @@ -2457,21 +2462,21 @@ msgstr "Alan:" #: code:addons/web/static/src/xml/base.xml:620 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Değiştiren :" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:499 #, python-format msgid "The database %s has been dropped" -msgstr "" +msgstr "Veritabanu %s silindi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:460 #, python-format msgid "User's timezone" -msgstr "" +msgstr "Kullanıcı saat-dilimi" #. module: web #. openerp-web @@ -2500,7 +2505,7 @@ msgstr "Özel:" #, python-format msgid "" "The old password you provided is incorrect, your password was not changed." -msgstr "" +msgstr "Eski şifrenizi yanlış girdiniz, şifreniz değiştirilemedi." #. module: web #. openerp-web @@ -2528,7 +2533,7 @@ msgstr "Kaydet & Kapat" #: code:addons/web/static/src/js/view_form.js:2845 #, python-format msgid "Search More..." -msgstr "Daha fazla ara..." +msgstr "Daha Fazla Ara..." #. module: web #. openerp-web @@ -2559,7 +2564,7 @@ msgstr "Kaldır" #: code:addons/web/static/src/xml/base.xml:1062 #, python-format msgid "Select date" -msgstr "Tarihi Seç" +msgstr "Tarihi seç" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po index 0f93ae03d9c..b3a77d76ee8 100644 --- a/addons/web/i18n/zh_TW.po +++ b/addons/web/i18n/zh_TW.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Walter Cheuk \n" +"PO-Revision-Date: 2013-02-01 16:27+0000\n" +"Last-Translator: Charles Hsu \n" "Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-02 06:00+0000\n" +"X-Generator: Launchpad (build 16462)\n" #. module: web #. openerp-web @@ -29,21 +29,21 @@ msgstr "預設語言:" #: code:addons/web/static/src/js/coresetup.js:602 #, python-format msgid "%d minutes ago" -msgstr "" +msgstr "%d 分鐘前" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:630 #, python-format msgid "Still loading...
Please be patient." -msgstr "" +msgstr "載入中...
請稍後" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1832 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -52,14 +52,14 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1943 #, python-format msgid "less or equal than" -msgstr "" +msgstr "小於或等於" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:393 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "請輸入先前的密碼" #. module: web #. openerp-web @@ -75,42 +75,42 @@ msgstr "主密碼:" #: code:addons/web/static/src/xml/base.xml:274 #, python-format msgid "Change Master Password" -msgstr "" +msgstr "變更主要密碼" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:491 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "" +msgstr "您確定要刪除資料庫: %s ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1398 #, python-format msgid "Search %(field)s at: %(value)s" -msgstr "" +msgstr "搜尋 %(field)s 在: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:537 #, python-format msgid "Access Denied" -msgstr "" +msgstr "拒絕存取" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5183 #, python-format msgid "Uploading error" -msgstr "" +msgstr "上傳錯誤" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:603 #, python-format msgid "about an hour ago" -msgstr "" +msgstr "約一小時前" #. module: web #. openerp-web @@ -119,14 +119,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:216 #, python-format msgid "Backup Database" -msgstr "" +msgstr "備用資料庫" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:463 #, python-format msgid "%(view_type)s view" -msgstr "" +msgstr "%(view_type)s 檢視" #. module: web #. openerp-web @@ -134,7 +134,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:53 #, python-format msgid "'%s' is not a valid date" -msgstr "" +msgstr "‘%s’不是有效的日期" #. module: web #. openerp-web @@ -148,27 +148,27 @@ msgstr "無法匯入檔案的預覽:" #: code:addons/web/static/src/js/coresetup.js:601 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "約一分鐘前" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1297 #, python-format msgid "File" -msgstr "" +msgstr "檔案" #. module: web #: code:addons/web/controllers/main.py:826 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "密碼不能為空白" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:680 #, python-format msgid "Invalid username or password" -msgstr "" +msgstr "無效的帳號或密碼" #. module: web #. openerp-web @@ -192,7 +192,7 @@ msgstr "選取" #: code:addons/web/static/src/js/chrome.js:549 #, python-format msgid "Database restored successfully" -msgstr "" +msgstr "資料庫儲存成功" #. module: web #. openerp-web @@ -206,28 +206,28 @@ msgstr "版本" #: code:addons/web/static/src/xml/base.xml:570 #, python-format msgid "Latest Modification Date:" -msgstr "" +msgstr "最後修改日期:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1459 #, python-format msgid "M2O search fields do not currently handle multiple default values" -msgstr "" +msgstr "多對一搜尋欄位目前不能處理多項預設值" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1227 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "小工具的型態 '%s' 並未被實作" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1608 #, python-format msgid "Share with all users" -msgstr "" +msgstr "與所有使用者分享" #. module: web #. openerp-web @@ -235,28 +235,28 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:321 #, python-format msgid "Form" -msgstr "" +msgstr "表單" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1324 #, python-format msgid "(no string)" -msgstr "" +msgstr "(no string)" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:282 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' 並非正確的時間" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1297 #, python-format msgid "not a valid number" -msgstr "" +msgstr "不是有效的數值" #. module: web #. openerp-web @@ -270,7 +270,7 @@ msgstr "新密碼:" #: code:addons/web/static/src/xml/base.xml:610 #, python-format msgid "Attachment :" -msgstr "" +msgstr "附件:" #. module: web #. openerp-web @@ -284,35 +284,35 @@ msgstr "要匯出欄位" #: code:addons/web/static/src/js/view_list.js:1340 #, python-format msgid "Undefined" -msgstr "" +msgstr "未定義" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4871 #, python-format msgid "File Upload" -msgstr "" +msgstr "上傳檔案" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:607 #, python-format msgid "about a month ago" -msgstr "" +msgstr "大約一個月前" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1600 #, python-format msgid "Custom Filters" -msgstr "" +msgstr "客製化篩選器" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1336 #, python-format msgid "Button Type:" -msgstr "" +msgstr "按鈕型態" #. module: web #. openerp-web @@ -326,14 +326,14 @@ msgstr "OpenERP SA 公司" #: code:addons/web/static/src/js/search.js:1553 #, python-format msgid "Custom Filter" -msgstr "" +msgstr "自訂篩選" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:159 #, python-format msgid "Duplicate Database" -msgstr "" +msgstr "複製資料庫" #. module: web #. openerp-web @@ -348,14 +348,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:336 #, python-format msgid "Change Password" -msgstr "" +msgstr "變更密碼" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3411 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "檢視型態 '%s' 在一對多中並不支援。" #. module: web #. openerp-web @@ -363,21 +363,21 @@ msgstr "" #: code:addons/web/static/src/js/view_list.js:2194 #, python-format msgid "Download" -msgstr "" +msgstr "下載" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:266 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' 並非正確的日期時間" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:417 #, python-format msgid "Group" -msgstr "" +msgstr "群組" #. module: web #. openerp-web @@ -391,27 +391,27 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:982 #, python-format msgid "Selection:" -msgstr "" +msgstr "選擇:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:871 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "下列欄位為無效:" #. module: web #: code:addons/web/controllers/main.py:847 #, python-format msgid "Languages" -msgstr "" +msgstr "語言" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1270 #, python-format msgid "...Upload in progress..." -msgstr "" +msgstr "...資料上傳中..." #. module: web #. openerp-web @@ -425,21 +425,21 @@ msgstr "匯入" #: code:addons/web/static/src/js/chrome.js:543 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "資料庫無法回復" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4851 #, python-format msgid "File upload" -msgstr "" +msgstr "檔案上傳" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3804 #, python-format msgid "Action Button" -msgstr "" +msgstr "動作按鈕" #. module: web #. openerp-web @@ -454,77 +454,77 @@ msgstr "管理篩選" #: code:addons/web/static/src/js/search.js:1867 #, python-format msgid "contains" -msgstr "" +msgstr "包含" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:633 #, python-format msgid "Take a minute to get a coffee,
because it's loading..." -msgstr "" +msgstr "喝杯咖啡休息一下吧,
因為還在載入中..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:413 #, python-format msgid "Activate the developer mode" -msgstr "" +msgstr "啟動開發者模式" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:324 #, python-format msgid "Loading (%d)" -msgstr "" +msgstr "載入(%d)" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1114 #, python-format msgid "GroupBy" -msgstr "" +msgstr "分組" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:687 #, python-format msgid "You must select at least one record." -msgstr "" +msgstr "您必須選擇至少一筆紀錄。" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:535 #, python-format msgid "View Log (perm_read)" -msgstr "" +msgstr "檢視日誌 (perm_read)" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1061 #, python-format msgid "Set Default" -msgstr "" +msgstr "設定為預設值" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:978 #, python-format msgid "Relation:" -msgstr "" +msgstr "關聯" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:600 #, python-format msgid "less than a minute ago" -msgstr "" +msgstr "不到一分鐘前" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:851 #, python-format msgid "Condition:" -msgstr "" +msgstr "條件:" #. module: web #. openerp-web @@ -538,28 +538,28 @@ msgstr "" #: code:addons/web/static/src/js/formats.js:242 #, python-format msgid "'%s' is not a correct float" -msgstr "" +msgstr "'%s' 並非正確的浮點數值" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:549 #, python-format msgid "Restored" -msgstr "" +msgstr "回復" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:394 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d 的 %d-%d" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2868 #, python-format msgid "Create and Edit..." -msgstr "" +msgstr "建立及編輯" #. module: web #. openerp-web @@ -573,49 +573,49 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:2346 #, python-format msgid "Resource error" -msgstr "" +msgstr "資源錯誤" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1961 #, python-format msgid "is not" -msgstr "" +msgstr "不是" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:550 #, python-format msgid "Print Workflow" -msgstr "" +msgstr "列印工作流程" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:396 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "請確認新密碼" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1804 #, python-format msgid "UTF-8" -msgstr "" +msgstr "UTF-8" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:421 #, python-format msgid "For more information visit" -msgstr "" +msgstr "更多資訊請至" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1859 #, python-format msgid "Add All Info..." -msgstr "" +msgstr "增加全部資訊..." #. module: web #. openerp-web @@ -629,28 +629,28 @@ msgstr "匯出格式" #: code:addons/web/static/src/xml/base.xml:974 #, python-format msgid "On change:" -msgstr "" +msgstr "變更:" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:865 #, python-format msgid "Model %s fields" -msgstr "" +msgstr "模型 %s 欄位" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:893 #, python-format msgid "Setting 'id' attribute on existing record %s" -msgstr "" +msgstr "在已存在的紀錄 %s 設定 'id' 屬性" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:8 #, python-format msgid "List" -msgstr "" +msgstr "列表" #. module: web #. openerp-web @@ -659,7 +659,7 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1940 #, python-format msgid "greater than" -msgstr "" +msgstr "大於" #. module: web #. openerp-web @@ -667,7 +667,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:546 #, python-format msgid "View" -msgstr "" +msgstr "檢視" #. module: web #. openerp-web @@ -688,14 +688,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:457 #, python-format msgid "Your user's preference timezone does not match your browser timezone:" -msgstr "" +msgstr "您的使用者偏好的時區和您的瀏覽器的時區不符:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1223 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "找不到檢視中指定的欄位 '%s'。" #. module: web #. openerp-web @@ -723,14 +723,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "資料庫已被複製。" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1625 #, python-format msgid "Apply" -msgstr "" +msgstr "套用" #. module: web #. openerp-web @@ -752,35 +752,35 @@ msgstr "另存為" #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2317 #, python-format msgid "E-mail error" -msgstr "" +msgstr "電子郵件錯誤" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:605 #, python-format msgid "a day ago" -msgstr "" +msgstr "一天前" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1789 #, python-format msgid "Does your file have titles?" -msgstr "" +msgstr "您的檔案有標題嗎?" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:327 #, python-format msgid "Unlimited" -msgstr "" +msgstr "無限制" #. module: web #. openerp-web @@ -790,42 +790,42 @@ msgid "" "Warning, the record has been modified, your changes will be discarded.\n" "\n" "Are you sure you want to leave this page ?" -msgstr "" +msgstr "警告,記錄已經被修改,您的變更將會被忽略。" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2904 #, python-format msgid "Search: " -msgstr "" +msgstr "搜尋: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:544 #, python-format msgid "Technical translation" -msgstr "" +msgstr "技術性翻譯" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1797 #, python-format msgid "Delimiter:" -msgstr "" +msgstr "分隔符號:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:462 #, python-format msgid "Browser's timezone" -msgstr "" +msgstr "瀏覽器的時區" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1605 #, python-format msgid "Filter name" -msgstr "" +msgstr "篩選器名稱" #. module: web #. openerp-web @@ -856,35 +856,35 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:421 #, python-format msgid "OpenERP.com" -msgstr "" +msgstr "OpenERP.com" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2317 #, python-format msgid "Can't send email to invalid e-mail address" -msgstr "" +msgstr "無法傳送電子郵件至無效的電子郵件地址" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:636 #, python-format msgid "Add..." -msgstr "" +msgstr "新增..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:405 #, python-format msgid "Preferences" -msgstr "" +msgstr "偏好設定" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:436 #, python-format msgid "Wrong on change format: %s" -msgstr "" +msgstr "變更格式: %s 錯誤" #. module: web #. openerp-web @@ -892,28 +892,28 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:185 #, python-format msgid "Drop Database" -msgstr "" +msgstr "刪除資料庫" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:466 #, python-format msgid "Click here to change your user's timezone." -msgstr "" +msgstr "點擊此處以便變更您的使用者時區" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:966 #, python-format msgid "Modifiers:" -msgstr "" +msgstr "修飾鍵:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:627 #, python-format msgid "Delete this attachment" -msgstr "" +msgstr "刪除附加檔" #. module: web #. openerp-web @@ -931,49 +931,49 @@ msgstr "儲存" #: code:addons/web/static/src/xml/base.xml:352 #, python-format msgid "More" -msgstr "" +msgstr "更多" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:73 #, python-format msgid "Username" -msgstr "" +msgstr "使用者名稱" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:481 #, python-format msgid "Duplicating database" -msgstr "" +msgstr "複製資料庫" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Password has been changed successfully" -msgstr "" +msgstr "密碼變更成功" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list_editable.js:788 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "表格的資料無法忽略" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:533 #, python-format msgid "Debug View#" -msgstr "" +msgstr "除錯檢視#" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:77 #, python-format msgid "Log in" -msgstr "" +msgstr "登入" #. module: web #. openerp-web @@ -994,13 +994,17 @@ msgid "" "\n" "%s" msgstr "" +"本地評估失敗\n" +"%s\n" +"\n" +"%s" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:350 #, python-format msgid "Invalid database name" -msgstr "" +msgstr "無效的資料庫名稱" #. module: web #. openerp-web @@ -1014,35 +1018,35 @@ msgstr "儲存欄位清單" #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "開始" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:823 #, python-format msgid "View Log (%s)" -msgstr "" +msgstr "檢視日誌(%s)" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:564 #, python-format msgid "Creation Date:" -msgstr "" +msgstr "建立日期:" #. module: web #: code:addons/web/controllers/main.py:790 #: code:addons/web/controllers/main.py:835 #, python-format msgid "Error, password not changed !" -msgstr "" +msgstr "錯誤,密碼並未變更!" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4850 #, python-format msgid "The selected file exceed the maximum file size of %s." -msgstr "" +msgstr "所選檔案其大小超過最大檔案 %s" #. module: web #. openerp-web @@ -1050,21 +1054,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1300 #, python-format msgid "/web/binary/upload_attachment" -msgstr "" +msgstr "/web/binary/upload_attachment" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:563 #, python-format msgid "Changed Password" -msgstr "" +msgstr "已變更密碼" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1431 #, python-format msgid "Search" -msgstr "" +msgstr "搜尋" #. module: web #. openerp-web @@ -1075,7 +1079,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:4353 #, python-format msgid "Open: " -msgstr "" +msgstr "開啟: " #. module: web #. openerp-web @@ -1091,28 +1095,28 @@ msgstr "備份" #: code:addons/web/static/src/js/dates.js:80 #, python-format msgid "'%s' is not a valid time" -msgstr "" +msgstr "‘%s’ 不是有效的時間" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:274 #, python-format msgid "'%s' is not a correct date" -msgstr "" +msgstr "‘%s’ 不是正確的日期" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:933 #, python-format msgid "(nolabel)" -msgstr "" +msgstr "(nolabel)" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:606 #, python-format msgid "%d days ago" -msgstr "" +msgstr "%d 天以前" #. module: web #. openerp-web @@ -1144,7 +1148,7 @@ msgstr "載入..." #: code:addons/web/static/src/xml/base.xml:567 #, python-format msgid "Latest Modification by:" -msgstr "" +msgstr "最後更動資料者:" #. module: web #. openerp-web @@ -1152,7 +1156,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:470 #, python-format msgid "Timezone mismatch" -msgstr "" +msgstr "時區不匹配" #. module: web #. openerp-web @@ -1166,7 +1170,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:428 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web #. openerp-web @@ -1196,7 +1200,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:608 #, python-format msgid "%d months ago" -msgstr "" +msgstr "%d 個月以前" #. module: web #. openerp-web @@ -1211,13 +1215,13 @@ msgstr "捨棄" #: code:addons/web/static/src/xml/base.xml:1465 #, python-format msgid "Add Advanced Filter" -msgstr "" +msgstr "新增進階篩選器" #. module: web #: code:addons/web/controllers/main.py:828 #, python-format msgid "The new password and its confirmation must be identical." -msgstr "" +msgstr "新密碼與確認密碼必須一致。" #. module: web #. openerp-web @@ -1225,21 +1229,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:248 #, python-format msgid "Restore Database" -msgstr "" +msgstr "回復資料庫" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "Login" -msgstr "" +msgstr "登入" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:420 #, python-format msgid "Licenced under the terms of" -msgstr "" +msgstr "在條款下授權" #. module: web #. openerp-web @@ -1261,21 +1265,21 @@ msgstr "匯出類型:" #: code:addons/web/static/src/xml/base.xml:406 #, python-format msgid "Log out" -msgstr "" +msgstr "登出" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1090 #, python-format msgid "Group by: %s" -msgstr "" +msgstr "群組條件: %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:153 #, python-format msgid "No data provided." -msgstr "" +msgstr "沒有提供資料" #. module: web #. openerp-web @@ -1290,7 +1294,7 @@ msgstr "匯出" #: code:addons/web/static/src/js/data_export.js:12 #, python-format msgid "Export To File" -msgstr "" +msgstr "匯出至檔案" #. module: web #. openerp-web @@ -1304,21 +1308,21 @@ msgstr "要選擇至少一個紀錄。" #: code:addons/web/static/src/js/coresetup.js:631 #, python-format msgid "Don't leave yet,
it's still loading..." -msgstr "" +msgstr "別離開,
仍在載入中..." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:775 #, python-format msgid "Invalid Search" -msgstr "" +msgstr "無效的搜尋" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:980 #, python-format msgid "Could not find id in dataset" -msgstr "" +msgstr "資料集中找不到id" #. module: web #. openerp-web @@ -1332,49 +1336,49 @@ msgstr "全部移除" #: code:addons/web/static/src/xml/base.xml:1340 #, python-format msgid "Method:" -msgstr "" +msgstr "方法:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1439 #, python-format msgid "%(page)d/%(page_count)d" -msgstr "" +msgstr "%(page)d/%(page_count)d" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:397 #, python-format msgid "The confirmation does not match the password" -msgstr "" +msgstr "確認動作並不與密碼相符" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "編輯公司資訊" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4886 #, python-format msgid "Save As..." -msgstr "" +msgstr "另存新檔…" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5007 #, python-format msgid "Could not display the selected image." -msgstr "" +msgstr "無法顯示所選影像" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:509 #, python-format msgid "Database backed up successfully" -msgstr "" +msgstr "資料庫備份成功" #. module: web #. openerp-web @@ -1390,7 +1394,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:394 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web #. openerp-web @@ -1404,28 +1408,28 @@ msgstr "1. 匯入 .CSV 檔" #: code:addons/web/static/src/js/chrome.js:644 #, python-format msgid "No database selected !" -msgstr "" +msgstr "無選定之資料庫!" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:180 #, python-format msgid "(%d records)" -msgstr "" +msgstr "(%d 筆)" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:970 #, python-format msgid "Change default:" -msgstr "" +msgstr "變更預設值" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:171 #, python-format msgid "Original database name:" -msgstr "" +msgstr "原始資料庫名稱:" #. module: web #. openerp-web @@ -1435,21 +1439,21 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1938 #, python-format msgid "is equal to" -msgstr "" +msgstr "等於" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1500 #, python-format msgid "Could not serialize XML" -msgstr "" +msgstr "無法序列化 XML" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1619 #, python-format msgid "Advanced Search" -msgstr "" +msgstr "進階搜尋" #. module: web #. openerp-web @@ -1463,7 +1467,7 @@ msgstr "確認新主密碼:" #: code:addons/web/static/src/js/coresetup.js:634 #, python-format msgid "Maybe you should consider reloading the application by pressing F5..." -msgstr "" +msgstr "或許您可以考慮按F5來重新載入應用程式..." #. module: web #. openerp-web @@ -1482,7 +1486,7 @@ msgstr "建立" #: code:addons/web/static/src/js/search.js:1868 #, python-format msgid "doesn't contain" -msgstr "" +msgstr "不包含" #. module: web #. openerp-web @@ -1496,7 +1500,7 @@ msgstr "匯入選項" #: code:addons/web/static/src/js/view_form.js:2936 #, python-format msgid "Add %s" -msgstr "" +msgstr "新增 %s" #. module: web #. openerp-web @@ -1520,7 +1524,7 @@ msgstr "關閉" #, python-format msgid "" "You may not believe it,
but the application is actually loading..." -msgstr "" +msgstr "您也許不相信,
但是程式事實上是在載入中...." #. module: web #. openerp-web @@ -1534,41 +1538,41 @@ msgstr "CSV 檔:" #: code:addons/web/static/src/js/search.js:1741 #, python-format msgid "Advanced" -msgstr "" +msgstr "進階的" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_tree.js:11 #, python-format msgid "Tree" -msgstr "" +msgstr "樹狀列表" #. module: web #: code:addons/web/controllers/main.py:750 #, python-format msgid "Could not drop database !" -msgstr "" +msgstr "無法刪除資料庫!" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:227 #, python-format msgid "'%s' is not a correct integer" -msgstr "" +msgstr "'%s' 不是正確的整數" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:877 #, python-format msgid "All users" -msgstr "" +msgstr "所有使用者" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1654 #, python-format msgid "Unknown field %s in domain %s" -msgstr "" +msgstr "在領域 %s 中的不知名欄位 %s" #. module: web #. openerp-web @@ -1582,14 +1586,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1428 #, python-format msgid "Advanced Search..." -msgstr "" +msgstr "進階搜尋..." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:499 #, python-format msgid "Dropping database" -msgstr "" +msgstr "刪除資料庫" #. module: web #. openerp-web @@ -1597,7 +1601,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:445 #, python-format msgid "Powered by" -msgstr "" +msgstr "技術提供" #. module: web #. openerp-web @@ -1605,63 +1609,63 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:970 #, python-format msgid "Yes" -msgstr "" +msgstr "是" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4871 #, python-format msgid "There was a problem while uploading your file" -msgstr "" +msgstr "在上傳您的檔案時,發生了問題。" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:558 #, python-format msgid "XML ID:" -msgstr "" +msgstr "XML ID:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:954 #, python-format msgid "Size:" -msgstr "" +msgstr "大小:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1824 #, python-format msgid "--- Don't Import ---" -msgstr "" +msgstr "--- 請勿匯入 ---" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1679 #, python-format msgid "Import-Compatible Export" -msgstr "" +msgstr "具備匯入相容性的匯出" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:610 #, python-format msgid "%d years ago" -msgstr "" +msgstr "%d 年以前" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1040 #, python-format msgid "Unknown m2m command %s" -msgstr "" +msgstr "不知名的 m2m 指令 %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1068 #, python-format msgid "Save default" -msgstr "" +msgstr "儲存預設值" #. module: web #. openerp-web @@ -1677,21 +1681,21 @@ msgstr "新資料庫名稱:" #: code:addons/web/static/src/js/chrome.js:394 #, python-format msgid "Please enter your new password" -msgstr "" +msgstr "請輸入您的新密碼" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4886 #, python-format msgid "The field is empty, there's nothing to save !" -msgstr "" +msgstr "欄位空白,沒有東西可以儲存!" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:545 #, python-format msgid "Manage Views" -msgstr "" +msgstr "管理檢視" #. module: web #. openerp-web @@ -1705,35 +1709,35 @@ msgstr "編碼:" #: code:addons/web/static/src/xml/base.xml:1808 #, python-format msgid "Lines to skip" -msgstr "" +msgstr "略過行" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2858 #, python-format msgid "Create \"%s\"" -msgstr "" +msgstr "建立 \"%s\"" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:361 #, python-format msgid "Please select fields to save export list..." -msgstr "" +msgstr "請選擇欄位以儲存匯出表列...." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:418 #, python-format msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." -msgstr "" +msgstr "Copyright © 2004-TODAY OpenERP SA. 版權所有." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2346 #, python-format msgid "This resource is empty" -msgstr "" +msgstr "此資源檔為空白" #. module: web #. openerp-web @@ -1755,7 +1759,7 @@ msgstr "匯入失敗,原因為:" #: code:addons/web/static/src/xml/base.xml:539 #, python-format msgid "JS Tests" -msgstr "" +msgstr "JS 測試" #. module: web #. openerp-web @@ -1769,7 +1773,7 @@ msgstr "另存為:" #: code:addons/web/static/src/js/search.js:927 #, python-format msgid "Filter on: %s" -msgstr "" +msgstr "以 %s 進行篩選" #. module: web #. openerp-web @@ -1777,28 +1781,28 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:3757 #, python-format msgid "Create: " -msgstr "" +msgstr "建立: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:540 #, python-format msgid "View Fields" -msgstr "" +msgstr "檢視欄位" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:330 #, python-format msgid "Confirm New Password:" -msgstr "" +msgstr "確認新密碼:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:575 #, python-format msgid "Do you really want to remove these records?" -msgstr "" +msgstr "您真的要刪除這些記錄嗎?" #. module: web #. openerp-web @@ -1813,28 +1817,28 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1960 #, python-format msgid "is" -msgstr "" +msgstr "是" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:6 #, python-format msgid "Export Data" -msgstr "" +msgstr "匯出資料" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:962 #, python-format msgid "Domain:" -msgstr "" +msgstr "領域:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:834 #, python-format msgid "Default:" -msgstr "" +msgstr "預設值:" #. module: web #. openerp-web @@ -1842,14 +1846,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:446 #, python-format msgid "OpenERP" -msgstr "" +msgstr "OpenERP" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "停止" #. module: web #. openerp-web @@ -1873,28 +1877,28 @@ msgstr "上載 ..." #: code:addons/web/static/src/xml/base.xml:1853 #, python-format msgid "Name:" -msgstr "" +msgstr "名稱:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:1058 #, python-format msgid "About" -msgstr "" +msgstr "關於本軟體" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1431 #, python-format msgid "Search Again" -msgstr "" +msgstr "再次搜尋" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1455 #, python-format msgid "-- Filters --" -msgstr "" +msgstr "-- 篩選 --" #. module: web #. openerp-web @@ -1918,14 +1922,14 @@ msgstr "匯出所有資料" msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." -msgstr "" +msgstr "以欄位 '%s' 分組是不可能的,因為該欄位並未在列表式檢視中出現。" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:537 #, python-format msgid "Set Defaults" -msgstr "" +msgstr "設為預設值" #. module: web #. openerp-web @@ -1943,7 +1947,7 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:321 #, python-format msgid "The record could not be found in the database." -msgstr "" +msgstr "資料庫中找不到該筆記錄。" #. module: web #. openerp-web @@ -1957,21 +1961,21 @@ msgstr "篩選名稱:" #: code:addons/web/static/src/xml/base.xml:946 #, python-format msgid "Type:" -msgstr "" +msgstr "類型:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:538 #, python-format msgid "Incorrect super-administrator password" -msgstr "" +msgstr "錯誤的超級管理員密碼" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:942 #, python-format msgid "Object:" -msgstr "" +msgstr "物件:" #. module: web #. openerp-web @@ -1979,14 +1983,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:326 #, python-format msgid "Loading" -msgstr "" +msgstr "正在載入" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:609 #, python-format msgid "about a year ago" -msgstr "" +msgstr "大約一年前" #. module: web #. openerp-web @@ -1996,7 +2000,7 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1939 #, python-format msgid "is not equal to" -msgstr "" +msgstr "不等於" #. module: web #. openerp-web @@ -2012,7 +2016,7 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:604 #, python-format msgid "%d hours ago" -msgstr "" +msgstr "%d 個小時前" #. module: web #. openerp-web @@ -2020,14 +2024,14 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:4335 #, python-format msgid "Add: " -msgstr "" +msgstr "新增: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1858 #, python-format msgid "Quick Add" -msgstr "" +msgstr "快速新增" #. module: web #. openerp-web @@ -2047,28 +2051,28 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1752 #, python-format msgid "Ok" -msgstr "" +msgstr "確定" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1162 #, python-format msgid "Uploading..." -msgstr "" +msgstr "正在上傳..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:125 #, python-format msgid "Load Demonstration data:" -msgstr "載入演示資料:" +msgstr "載入展示資料:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Created by :" -msgstr "" +msgstr "建立者:" #. module: web #. openerp-web @@ -2076,7 +2080,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:26 #, python-format msgid "'%s' is not a valid datetime" -msgstr "" +msgstr "'%s' 不是有效的日期時間" #. module: web #. openerp-web @@ -2092,7 +2096,7 @@ msgstr "檔案:" #: code:addons/web/static/src/js/search.js:1941 #, python-format msgid "less than" -msgstr "" +msgstr "小於" #. module: web #. openerp-web @@ -2107,56 +2111,56 @@ msgstr "警告" #: code:addons/web/static/src/xml/base.xml:547 #, python-format msgid "Edit SearchView" -msgstr "" +msgstr "編輯搜尋檢視" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1975 #, python-format msgid "is true" -msgstr "" +msgstr "為真" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3909 #, python-format msgid "Add an item" -msgstr "" +msgstr "新增項目" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1603 #, python-format msgid "Save current filter" -msgstr "" +msgstr "儲存目前篩選條件" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1915 #, python-format msgid "Confirm" -msgstr "" +msgstr "確認" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:126 #, python-format msgid "Please enter save field list name" -msgstr "" +msgstr "請輸入儲存欄位列表名稱" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:2206 #, python-format msgid "Download \"%s\"" -msgstr "" +msgstr "下載 \"%s\"" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:326 #, python-format msgid "New" -msgstr "" +msgstr "新增" #. module: web #. openerp-web @@ -2187,28 +2191,28 @@ msgstr "確認密碼:" #: code:addons/web/static/src/js/search.js:1942 #, python-format msgid "greater or equal than" -msgstr "" +msgstr "大於或等於" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1321 #, python-format msgid "Button" -msgstr "" +msgstr "按鈕" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:418 #, python-format msgid "OpenERP is a trademark of the" -msgstr "" +msgstr "OpenERP 商標屬於" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:374 #, python-format msgid "Please select fields to export..." -msgstr "" +msgstr "請選擇匯出欄位..." #. module: web #. openerp-web @@ -2222,21 +2226,21 @@ msgstr "新主密碼:" #: code:addons/web/static/src/js/search.js:1976 #, python-format msgid "is false" -msgstr "" +msgstr "為否(false)" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:404 #, python-format msgid "About OpenERP" -msgstr "" +msgstr "有關 OpenERP" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:297 #, python-format msgid "'%s' is not a correct date, datetime nor time" -msgstr "" +msgstr "'%s' 不是正確的日期, 日期時間或時間" #. module: web #: code:addons/web/controllers/main.py:1264 @@ -2249,35 +2253,35 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:304 #, python-format msgid "Database Management" -msgstr "" +msgstr "資料庫管理" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5007 #, python-format msgid "Image" -msgstr "" +msgstr "影像" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:81 #, python-format msgid "Manage Databases" -msgstr "" +msgstr "管理資料庫" #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:765 #, python-format msgid "Evaluation Error" -msgstr "" +msgstr "評估錯誤" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1283 #, python-format msgid "not a valid integer" -msgstr "" +msgstr "並非有效整數" #. module: web #. openerp-web @@ -2289,21 +2293,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1630 #, python-format msgid "or" -msgstr "" +msgstr "或" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1381 #, python-format msgid "No" -msgstr "" +msgstr "否" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:309 #, python-format msgid "'%s' is not convertible to date, datetime nor time" -msgstr "" +msgstr "'%s' 無法轉換成日期、日期時間或時間" #. module: web #. openerp-web @@ -2321,35 +2325,35 @@ msgstr "製作複本" #: code:addons/web/static/src/xml/base.xml:1391 #, python-format msgid "Discard" -msgstr "" +msgstr "捨棄" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1624 #, python-format msgid "Add a condition" -msgstr "" +msgstr "新增條件" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:629 #, python-format msgid "Still loading..." -msgstr "" +msgstr "仍在下載中..." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:818 #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" -msgstr "" +msgstr "欄位 %(fieldname)s 的不正確數值: [%(value)s] 是 %(message)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3805 #, python-format msgid "The o2m record must be saved before an action can be used" -msgstr "" +msgstr "在一項行動被使用之前,一對多的紀錄必須被儲存" #. module: web #. openerp-web @@ -2363,105 +2367,105 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1610 #, python-format msgid "Use by default" -msgstr "" +msgstr "使用預設值" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1348 #, python-format msgid "%s (%d)" -msgstr "" +msgstr "%s (%d)" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:775 #, python-format msgid "triggered from search view" -msgstr "" +msgstr "從搜尋檢視中觸發" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:978 #, python-format msgid "Filter" -msgstr "" +msgstr "篩選器" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:950 #, python-format msgid "Widget:" -msgstr "" +msgstr "小工具" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:548 #, python-format msgid "Edit Action" -msgstr "" +msgstr "編輯動作" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:555 #, python-format msgid "ID:" -msgstr "" +msgstr "編號:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:870 #, python-format msgid "Only you" -msgstr "" +msgstr "只有您" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:549 #, python-format msgid "Edit Workflow" -msgstr "" +msgstr "編輯流程" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1171 #, python-format msgid "Do you really want to delete this attachment ?" -msgstr "" +msgstr "您確定要刪除這附加檔嗎?" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:840 #, python-format msgid "Technical Translation" -msgstr "" +msgstr "技術性翻譯" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:938 #, python-format msgid "Field:" -msgstr "" +msgstr "欄位:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:620 #, python-format msgid "Modified by :" -msgstr "" +msgstr "修改者:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:499 #, python-format msgid "The database %s has been dropped" -msgstr "" +msgstr "資料庫 %s 已被刪除" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:460 #, python-format msgid "User's timezone" -msgstr "" +msgstr "使用者的時區" #. module: web #. openerp-web @@ -2469,42 +2473,42 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:1168 #, python-format msgid "Client Error" -msgstr "" +msgstr "客戶端的錯誤" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:998 #, python-format msgid "Print" -msgstr "" +msgstr "列印" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1331 #, python-format msgid "Special:" -msgstr "" +msgstr "特殊的:" #. module: web #: code:addons/web/controllers/main.py:834 #, python-format msgid "" "The old password you provided is incorrect, your password was not changed." -msgstr "" +msgstr "您提供的舊密碼是錯誤的,您的密碼並未變更。" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:561 #, python-format msgid "Creation User:" -msgstr "" +msgstr "建立的使用者:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:769 #, python-format msgid "Do you really want to delete this record?" -msgstr "" +msgstr "您確定要刪除這項記錄?" #. module: web #. openerp-web @@ -2518,7 +2522,7 @@ msgstr "儲存並關閉" #: code:addons/web/static/src/js/view_form.js:2845 #, python-format msgid "Search More..." -msgstr "" +msgstr "搜尋更多..." #. module: web #. openerp-web @@ -2535,7 +2539,7 @@ msgstr "密碼" #: code:addons/web/static/src/xml/base.xml:1178 #, python-format msgid "Edit" -msgstr "" +msgstr "編輯" #. module: web #. openerp-web @@ -2549,28 +2553,28 @@ msgstr "移除" #: code:addons/web/static/src/xml/base.xml:1062 #, python-format msgid "Select date" -msgstr "" +msgstr "選擇日期" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1249 #, python-format msgid "Search %(field)s for: %(value)s" -msgstr "" +msgstr "以: %(value)s 搜尋 %(field)s" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1277 #, python-format msgid "Delete this file" -msgstr "" +msgstr "刪除此檔案" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:109 #, python-format msgid "Create Database" -msgstr "" +msgstr "建立資料庫" #. module: web #. openerp-web @@ -2599,4 +2603,4 @@ msgstr "返回登入畫面" #: code:addons/web/static/src/xml/base.xml:1454 #, python-format msgid "Filters" -msgstr "" +msgstr "篩選器" diff --git a/addons/web/session.py b/addons/web/session.py index fa99f58afa8..8a083e0dec9 100644 --- a/addons/web/session.py +++ b/addons/web/session.py @@ -18,6 +18,9 @@ _logger = logging.getLogger(__name__) class AuthenticationError(Exception): pass +class SessionExpiredException(Exception): + pass + class Service(object): def __init__(self, session, service_name): self.session = session @@ -82,7 +85,7 @@ class OpenERPSession(object): self.jsonp_requests = {} # FIXME use a LRU def send(self, service_name, method, *args): - code_string = "warning -- %s\n\n%s" + code_string = u"warning -- %s\n\n%s" try: return openerp.netsvc.dispatch_rpc(service_name, method, args) except openerp.osv.osv.except_osv, e: @@ -92,13 +95,13 @@ class OpenERPSession(object): except openerp.exceptions.AccessError, e: raise xmlrpclib.Fault(code_string % ("AccessError", e), '') except openerp.exceptions.AccessDenied, e: - raise xmlrpclib.Fault('AccessDenied', str(e)) + raise xmlrpclib.Fault('AccessDenied', openerp.tools.ustr(e)) except openerp.exceptions.DeferredException, e: formatted_info = "".join(traceback.format_exception(*e.traceback)) - raise xmlrpclib.Fault(openerp.tools.ustr(e.message), formatted_info) + raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info) except Exception, e: formatted_info = "".join(traceback.format_exception(*(sys.exc_info()))) - raise xmlrpclib.Fault(openerp.tools.exception_to_unicode(e), formatted_info) + raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info) def proxy(self, service): return Service(self, service) @@ -152,6 +155,8 @@ class OpenERPSession(object): :type model: str :rtype: a model object """ + if self._db == False: + raise SessionExpiredException("Session expired") return Model(self, model) diff --git a/addons/web/static/lib/cleditor/jquery.cleditor.js b/addons/web/static/lib/cleditor/jquery.cleditor.js index f70cc8b6386..e3446991daf 100644 --- a/addons/web/static/lib/cleditor/jquery.cleditor.js +++ b/addons/web/static/lib/cleditor/jquery.cleditor.js @@ -894,7 +894,7 @@ var $toolbar = editor.$toolbar, $group = $toolbar.children("div:last"), - wid = $main.width(); + wid = /%/.test("" + options.width) ? options.width : $main.width(); // Resize the toolbar var hgt = $group.offset().top + $group.outerHeight() - $toolbar.offset().top + 1; diff --git a/addons/web/static/lib/datejs/globalization/am-ET.js b/addons/web/static/lib/datejs/globalization/am-ET.js new file mode 100644 index 00000000000..8b75ccfd3a5 --- /dev/null +++ b/addons/web/static/lib/datejs/globalization/am-ET.js @@ -0,0 +1,195 @@ +Date.CultureInfo = { + /* Culture Name */ + name: "am-ET", + englishName: "Amharic (Ethiopia)", + nativeName: "አምሃርኛ (ኢትዮጵያ)", + + /* Day Name Strings */ + dayNames: ["እሁድ", "ሰኞ", "ማክሰኞ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"], + abbreviatedDayNames: ["እሁድ", "ሰኞ", "ማክሰ", "ረብዑ", "ሃሙስ", "ዓርብ", "ቅዳሜ"], + shortestDayNames: ["እሁ", "ሰኞ", "ማክ", "ረብ", "ሃሙ", "ዓር", "ቅዳ"], + firstLetterDayNames: ["እ", "ሰ", "ማ", "ረ", "ሃ", "ዓ", "ቅ"], + + /* Month Name Strings */ + monthNames: ["ጃንዋሪ", "ፌብሩዋሪ", "ማርች", "አፕሪል", "ሜይ", "ጁን", "ጁላይ", "ኦገስት", "ሴፕቴምበር", "ኦክቶበር", "ኖቬምበር", "ዲሴምበር"], + abbreviatedMonthNames: ["ጃንዋ", "ፌብሩ", "ማርች", "አፕሪ", "ሜይ", "ጁን", "ጁላይ", "ኦገስ", "ሴፕቴ", "ኦክቶ", "ኖቬም", "ዲሴም"], + + /* AM/PM Designators */ + amDesignator: "ከቀኑ", + pmDesignator: "ከለሊቱ", + + firstDayOfWeek: 1, + twoDigitYearMax: 2029, + + /** + * The dateElementOrder is based on the order of the + * format specifiers in the formatPatterns.DatePattern. + * + * Example: +
+     shortDatePattern    dateElementOrder
+     ------------------  ----------------
+     "M/d/yyyy"          "mdy"
+     "dd/MM/yyyy"        "dmy"
+     "yyyy-MM-dd"        "ymd"
+     
+ * + * The correct dateElementOrder is required by the parser to + * determine the expected order of the date elements in the + * string being parsed. + */ + dateElementOrder: "dmy", + + /* Standard date and time format patterns */ + formatPatterns: { + shortDate: "dd/MM/yyyy", + longDate: "dd MMMM yyyy", + shortTime: "HH:mm", + longTime: "HH:mm:ss", + fullDateTime: "dd MMMM yyyy HH:mm:ss", + sortableDateTime: "yyyy-MM-ddTHH:mm:ss", + universalSortableDateTime: "yyyy-MM-dd HH:mm:ssZ", + rfc1123: "ddd, dd MMM yyyy HH:mm:ss GMT", + monthDay: "dd MMMM", + yearMonth: "MMMM yyyy" + }, + + /** + * NOTE: If a string format is not parsing correctly, but + * you would expect it parse, the problem likely lies below. + * + * The following regex patterns control most of the string matching + * within the parser. + * + * The Month name and Day name patterns were automatically generated + * and in general should be (mostly) correct. + * + * Beyond the month and day name patterns are natural language strings. + * Example: "next", "today", "months" + * + * These natural language string may NOT be correct for this culture. + * If they are not correct, please translate and edit this file + * providing the correct regular expression pattern. + * + * If you modify this file, please post your revised CultureInfo file + * to the Datejs Forum located at http://www.datejs.com/forums/. + * + * Please mark the subject of the post with [CultureInfo]. Example: + * Subject: [CultureInfo] Translated "da-DK" Danish(Denmark) + * + * We will add the modified patterns to the master source files. + * + * As well, please review the list of "Future Strings" section below. + */ + regexPatterns: { + jan: /^jan(uary)?/i, + feb: /^feb(ruary)?/i, + mar: /^mar(ch)?/i, + apr: /^apr(il)?/i, + may: /^may/i, + jun: /^jun(e)?/i, + jul: /^jul(y)?/i, + aug: /^aug(ust)?/i, + sep: /^sep(t(ember)?)?/i, + oct: /^oct(ober)?/i, + nov: /^nov(ember)?/i, + dec: /^dec(ember)?/i, + + sun: /^su(n(day)?)?/i, + mon: /^mo(n(day)?)?/i, + tue: /^tu(e(s(day)?)?)?/i, + wed: /^we(d(nesday)?)?/i, + thu: /^th(u(r(s(day)?)?)?)?/i, + fri: /^fr(i(day)?)?/i, + sat: /^sa(t(urday)?)?/i, + + future: /^next/i, + past: /^last|past|prev(ious)?/i, + add: /^(\+|aft(er)?|from|hence)/i, + subtract: /^(\-|bef(ore)?|ago)/i, + + yesterday: /^yes(terday)?/i, + today: /^t(od(ay)?)?/i, + tomorrow: /^tom(orrow)?/i, + now: /^n(ow)?/i, + + millisecond: /^ms|milli(second)?s?/i, + second: /^sec(ond)?s?/i, + minute: /^mn|min(ute)?s?/i, + hour: /^h(our)?s?/i, + week: /^w(eek)?s?/i, + month: /^m(onth)?s?/i, + day: /^d(ay)?s?/i, + year: /^y(ear)?s?/i, + + shortMeridian: /^(a|p)/i, + longMeridian: /^(a\.?m?\.?|p\.?m?\.?)/i, + timezone: /^((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i, + ordinalSuffix: /^\s*(st|nd|rd|th)/i, + timeContext: /^\s*(\:|a(?!u|p)|p)/i + }, + + timezones: [{name:"UTC", offset:"-000"}, {name:"GMT", offset:"-000"}, {name:"EST", offset:"-0500"}, {name:"EDT", offset:"-0400"}, {name:"CST", offset:"-0600"}, {name:"CDT", offset:"-0500"}, {name:"MST", offset:"-0700"}, {name:"MDT", offset:"-0600"}, {name:"PST", offset:"-0800"}, {name:"PDT", offset:"-0700"}] +}; + +/******************** + ** Future Strings ** + ******************** + * + * The following list of strings may not be currently being used, but + * may be incorporated into the Datejs library later. + * + * We would appreciate any help translating the strings below. + * + * If you modify this file, please post your revised CultureInfo file + * to the Datejs Forum located at http://www.datejs.com/forums/. + * + * Please mark the subject of the post with [CultureInfo]. Example: + * Subject: [CultureInfo] Translated "da-DK" Danish(Denmark)b + * + * English Name Translated + * ------------------ ----------------- + * about about + * ago ago + * date date + * time time + * calendar calendar + * show show + * hourly hourly + * daily daily + * weekly weekly + * bi-weekly bi-weekly + * fortnight fortnight + * monthly monthly + * bi-monthly bi-monthly + * quarter quarter + * quarterly quarterly + * yearly yearly + * annual annual + * annually annually + * annum annum + * again again + * between between + * after after + * from now from now + * repeat repeat + * times times + * per per + * min (abbrev minute) min + * morning morning + * noon noon + * night night + * midnight midnight + * mid-night mid-night + * evening evening + * final final + * future future + * spring spring + * summer summer + * fall fall + * winter winter + * end of end of + * end end + * long long + * short short + */ diff --git a/addons/web/static/lib/py.js/lib/py.js b/addons/web/static/lib/py.js/lib/py.js index 4ef92b40112..8d6443b7753 100644 --- a/addons/web/static/lib/py.js/lib/py.js +++ b/addons/web/static/lib/py.js/lib/py.js @@ -521,7 +521,7 @@ var py = {}; } }; py.PY_getAttr = function (o, attr_name) { - return PY_ensurepy(o.__getattribute__(attr_name)); + return PY_ensurepy(o.__getattribute__(attr_name),attr_name); }; py.PY_str = function (o) { var v = o.__str__(); @@ -998,7 +998,7 @@ var py = {}; } var t = py.PY_call(py.tuple); for(var i=0; i li:hover { - background-color: #f0f0fa; + background-color: #efeff8; background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6); background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6); @@ -748,7 +748,7 @@ width: 200px; } .openerp .oe_sidebar .oe_dropdown_menu .oe_sidebar_add_attachment:hover { - background-color: #f0f0fa; + background-color: #efeff8; background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6); background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6); @@ -846,7 +846,7 @@ border: 1px solid #222222; color: white; margin: 0; - background-color: #b92020; + background-color: #8c1313; background-image: -webkit-gradient(linear, left top, left bottom, from(#b92020), to(#600606)); background-image: -webkit-linear-gradient(top, #b92020, #600606); background-image: -moz-linear-gradient(top, #b92020, #600606); @@ -903,7 +903,7 @@ right: 0; bottom: 0; text-shadow: 0 1px 1px #999999; - background-color: #b41616; + background-color: #8a0e0e; background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606)); background-image: -webkit-linear-gradient(top, #b41616, #600606); background-image: -moz-linear-gradient(top, #b41616, #600606); @@ -1000,7 +1000,7 @@ width: 100%; height: 32px; background-color: #414141; - background-color: #646060; + background-color: #454343; background-image: -webkit-gradient(linear, left top, left bottom, from(#646060), to(#262626)); background-image: -webkit-linear-gradient(top, #646060, #262626); background-image: -moz-linear-gradient(top, #646060, #262626); @@ -1011,7 +1011,7 @@ .openerp .oe_topbar .oe_topbar_anonymous_login { background-color: #dc5f59; color: #eeeeee; - background-color: #fc8787; + background-color: #be4343; background-image: -webkit-gradient(linear, left top, left bottom, from(#fc8787), to(maroon)); background-image: -webkit-linear-gradient(top, #fc8787, maroon); background-image: -moz-linear-gradient(top, #fc8787, maroon); @@ -1101,7 +1101,7 @@ color: #eeeeee; } .openerp .oe_topbar .oe_dropdown_menu li:hover { - background-color: #292929; + background-color: #212121; background-image: -webkit-gradient(linear, left top, left bottom, from(#292929), to(#191919)); background-image: -webkit-linear-gradient(top, #292929, #191919); background-image: -moz-linear-gradient(top, #292929, #191919); @@ -1242,8 +1242,6 @@ .openerp .oe_secondary_submenu { padding: 2px 0 8px 0; margin: 0; - width: 100%; - display: inline-block; } .openerp .oe_secondary_submenu li { position: relative; @@ -1274,6 +1272,13 @@ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.2); } +.openerp .oe_secondary_submenu .oe_menu_text { + white-space: nowrap; + overflow: hidden; + display: inline-block; + text-overflow: ellipsis; + max-width: 85%; +} .openerp .oe_secondary_submenu .oe_menu_counter { float: right; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); @@ -1340,6 +1345,12 @@ border-right: 4px solid transparent; border-top: 4px solid #4c4c4c; } +.openerp .oe_secondary_submenu .oe_secondary_submenu { + margin-left: -20px; +} +.openerp .oe_secondary_submenu .oe_secondary_submenu li { + margin-left: 20px; +} .openerp .oe_about { background-color: white; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=); @@ -1366,7 +1377,7 @@ right: 0; bottom: 0; text-shadow: 0 1px 1px #999999; - background-color: #b41616; + background-color: #8a0e0e; background-image: -webkit-gradient(linear, left top, left bottom, from(#b41616), to(#600606)); background-image: -webkit-linear-gradient(top, #b41616, #600606); background-image: -moz-linear-gradient(top, #b41616, #600606); @@ -1404,7 +1415,13 @@ display: inline-block; overflow: hidden; } +.openerp .oe_view_manager { + display: table; + height: inherit; + width: 100%; +} .openerp .oe_view_manager .oe_view_manager_body { + display: table-row; height: inherit; } .openerp .oe_view_manager .oe_view_manager_view_kanban { @@ -1583,7 +1600,7 @@ } .openerp .oe_view_manager_current > .oe_view_manager_header { border-bottom: 1px solid #cacaca; - background-color: #fcfcfc; + background-color: #ededed; background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede)); background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede); background-image: -moz-linear-gradient(top, #fcfcfc, #dedede); @@ -2044,7 +2061,7 @@ background: none; } .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight { - background-color: #efefef; + background-color: #e3e3e3; background-image: -webkit-gradient(linear, left top, left bottom, from(#efefef), to(#d8d8d8)); background-image: -webkit-linear-gradient(top, #efefef, #d8d8d8); background-image: -moz-linear-gradient(top, #efefef, #d8d8d8); @@ -2056,7 +2073,7 @@ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; } .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:active { - background-color: #e3e3e3; + background-color: #ececec; background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6)); background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6); background-image: -moz-linear-gradient(top, #e3e3e3, #f6f6f6); @@ -2068,7 +2085,7 @@ box-shadow: none; } .openerp .oe_view_manager_current .oe_form_editable button.oe_highlight:hover { - background-color: #f6f6f6; + background-color: #ececec; background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3)); background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3); background-image: -moz-linear-gradient(top, #f6f6f6, #e3e3e3); @@ -2137,7 +2154,7 @@ position: relative; border-bottom: 1px solid #cacaca; padding-left: 2px; - background-color: #fcfcfc; + background-color: #ededed; background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede)); background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede); background-image: -moz-linear-gradient(top, #fcfcfc, #dedede); @@ -2572,7 +2589,7 @@ list-style-type: none; margin: 0 -18px 0 0; padding: 0; - background-color: #fcfcfc; + background-color: #ededed; background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede)); background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede); background-image: -moz-linear-gradient(top, #fcfcfc, #dedede); @@ -2632,7 +2649,7 @@ transform: rotate(45deg); } .openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active { - background-color: #729fcf; + background-color: #5382b9; background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4)); background-image: -webkit-linear-gradient(top, #729fcf, #3465a4); background-image: -moz-linear-gradient(top, #729fcf, #3465a4); @@ -2655,7 +2672,7 @@ cursor: pointer; } .openerp ul.oe_form_status_clickable li:hover { - background-color: #e8e8e8; + background-color: #d9d9d9; background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca)); background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca); background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca); @@ -2667,7 +2684,7 @@ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede; } .openerp ul.oe_form_status_clickable li:hover .arrow span { - background-color: #e8e8e8; + background-color: #d9d9d9; background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca)); background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca); background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca); @@ -2679,7 +2696,7 @@ color: #7c7bad; } .openerp ul.oe_form_status_clickable li.oe_active:hover { - background-color: #4c85c2; + background-color: #3a699f; background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d)); background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d); background-image: -moz-linear-gradient(top, #4c85c2, #284d7d); @@ -2835,7 +2852,7 @@ padding: 1px 6px 3px; } .openerp .oe_list .oe_list_content .oe_group_header { - background-color: #fcfcfc; + background-color: #ededed; background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede)); background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede); background-image: -moz-linear-gradient(top, #fcfcfc, #dedede); @@ -2872,8 +2889,8 @@ position: relative; } .openerp .oe_list_content th.oe_sortable div:after { - position: absolute; - right: 6px; + float: right; + margin-right: 6px; content: ""; margin-top: 7px; border-width: 0 4px 4px; @@ -2932,7 +2949,7 @@ } .openerp .oe_list_content > tbody > tr:nth-child(odd) { background-color: #f0f0fa; - background-color: #f0f0fa; + background-color: #efeff8; background-image: -webkit-gradient(linear, left top, left bottom, from(#f0f0fa), to(#eeeef6)); background-image: -webkit-linear-gradient(top, #f0f0fa, #eeeef6); background-image: -moz-linear-gradient(top, #f0f0fa, #eeeef6); @@ -3078,7 +3095,6 @@ } .kitten-mode-activated { - background-image: url(http://placekitten.com/g/1365/769); background-size: cover; background-attachment: fixed; } @@ -3138,6 +3154,9 @@ div.ui-widget-overlay { .openerp_ie .oe_form_field_boolean input { background: white; } +.openerp_ie .db_option_table .oe_form_field_selection { + width: auto; +} .openerp_ie input[type='checkbox'] { border: none; background: none; @@ -3150,6 +3169,9 @@ div.ui-widget-overlay { padding-top: 0; padding-bottom: 0; } +.openerp_ie .oe_view_manager_view_kanban { + display: table-cell; +} .openerp_ie .oe_view_manager_buttons button.oe_write_full { padding-top: 0; padding-bottom: 0; @@ -3212,6 +3234,9 @@ div.ui-widget-overlay { .openerp_ie .oe_topbar { filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#646060', endColorstr='#262626'); } +.openerp_ie .ui-state-error, .openerp_ie .ui-widget-content .ui-state-error, .openerp_ie .ui-widget-header .ui-state-error { + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} .openerp_ie .oe_popup_form { width: 99% !important; } diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index ffe2d631337..48b1c0efa35 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -42,7 +42,7 @@ $sheet-padding: 16px @include box-shadow(none) @mixin vertical-gradient($startColor: #555, $endColor: #333) - background-color: $startColor + background-color: mix($startColor, $endColor) background-image: -webkit-gradient(linear, left top, left bottom, from($startColor), to($endColor)) /* Saf4+, Chrome */ background-image: -webkit-linear-gradient(top, $startColor, $endColor) /* Chrome 10+, Saf5.1+, iOS 5+ */ background-image: -moz-linear-gradient(top, $startColor, $endColor) /* FF3.6 */ @@ -1009,8 +1009,6 @@ $sheet-padding: 16px .oe_secondary_submenu padding: 2px 0 8px 0 margin: 0 - width: 100% - display: inline-block li position: relative margin: 0 @@ -1033,6 +1031,12 @@ $sheet-padding: 16px text-shadow: 0 1px 1px rgba(0,0,0,0.2) @include radius(4px) @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.2)) + .oe_menu_text + white-space: nowrap + overflow: hidden + display: inline-block + text-overflow: ellipsis + max-width: 85% .oe_menu_counter float: right text-shadow: 0 1px 1px rgba(0,0,0,0.2) @@ -1080,6 +1084,10 @@ $sheet-padding: 16px border-left: 4px solid transparent border-right: 4px solid transparent border-top: 4px solid #4c4c4c + .oe_secondary_submenu + margin-left: -20px + .oe_secondary_submenu li + margin-left: 20px // }}} // About openerp {{{ @@ -1129,7 +1137,11 @@ $sheet-padding: 16px // }}} // ViewManager common {{{ .oe_view_manager + display: table + height: inherit + width: 100% .oe_view_manager_body + display: table-row height: inherit .oe_view_manager_view_kanban height: inherit @@ -2271,8 +2283,8 @@ $sheet-padding: 16px th.oe_sortable div position: relative th.oe_sortable div:after - position: absolute - right: 6px + float: right + margin-right: 6px content: "" margin-top: 7px border-width: 0 4px 4px @@ -2428,7 +2440,6 @@ $sheet-padding: 16px // }}} // Kitten Mode {{{ .kitten-mode-activated - background-image: url(http://placekitten.com/g/1365/769) background-size: cover background-attachment: fixed >* @@ -2477,6 +2488,8 @@ div.ui-widget-overlay font-style: italic !important .oe_form_field_boolean input background: #fff + .db_option_table .oe_form_field_selection + width: auto input[type='checkbox'] border: none background: none @@ -2488,6 +2501,8 @@ div.ui-widget-overlay button.oe_highlight padding-top: 0 padding-bottom: 0 + .oe_view_manager_view_kanban + display: table-cell .oe_view_manager_buttons button.oe_write_full padding-top: 0 @@ -2538,6 +2553,8 @@ div.ui-widget-overlay line-height: 1.7em .oe_topbar filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#646060', endColorstr='#262626') + .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false) .oe_popup_form width: 99% !important .oe_form_label diff --git a/addons/web/static/src/img/back-enable.jpg b/addons/web/static/src/img/back-enable.jpg new file mode 100644 index 00000000000..79a7098f6da Binary files /dev/null and b/addons/web/static/src/img/back-enable.jpg differ diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index db418eb6827..6b16204932b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -42,6 +42,16 @@ instance.web.Notification = instance.web.Widget.extend({ } }); +instance.web.action_notify = function(element, action) { + element.do_notify(action.params.title, action.params.text, action.params.sticky); +}; +instance.web.client_actions.add("action_notify", "instance.web.action_notify"); + +instance.web.action_warn = function(element, action) { + element.do_warn(action.params.title, action.params.text, action.params.sticky); +}; +instance.web.client_actions.add("action_warn", "instance.web.action_warn"); + /** * The very minimal function everything should call to create a dialog * in OpenERP Web Client. @@ -237,6 +247,11 @@ instance.web.CrashManager = instance.web.Class.extend({ if (!this.active) { return; } + // yes, exception handling is shitty + if (error.code === 300 && error.data && error.data.type == "client_exception" && error.data.debug.match("SessionExpiredException")) { + this.show_warning({type: "Session Expired", data: { fault_code: "Your OpenERP session expired. Please refresh the current web page." }}); + return; + } if (error.data.fault_code) { var split = ("" + error.data.fault_code).split('\n')[0].split(' -- '); if (split.length > 1) { @@ -466,6 +481,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ self.do_action("reload"); }, }, + _push_me: false, }; self.do_action(client_action); }); @@ -607,6 +623,9 @@ instance.web.Login = instance.web.Widget.extend({ if ($.deparam.querystring().db) { self.params.db = $.deparam.querystring().db; } + if ($.param.fragment().token) { + self.params.token = $.param.fragment().token; + } // used by dbmanager.do_create via internal client action if (self.params.db && self.params.login && self.params.password) { d = self.do_login(self.params.db, self.params.login, self.params.password); @@ -850,7 +869,7 @@ instance.web.Menu = instance.web.Widget.extend({ this.needaction_data = data; _.each(this.needaction_data, function (item, menu_id) { var $item = self.$secondary_menus.find('a[data-menu="' + menu_id + '"]'); - $item.remove('oe_menu_counter'); + $item.find('.oe_menu_counter').remove(); if (item.needaction_counter && item.needaction_counter > 0) { $item.append(QWeb.render("Menu.needaction_counter", { widget : item })); } @@ -1013,20 +1032,15 @@ instance.web.UserMenu = instance.web.Widget.extend({ if (!self.session.uid) return; var func = new instance.web.Model("res.users").get_func("read"); - return func(self.session.uid, ["name", "company_id"]).then(function(res) { + return self.alive(func(self.session.uid, ["name", "company_id"])).then(function(res) { var topbar_name = res.name; if(instance.session.debug) topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db); if(res.company_id[0] > 1) topbar_name = _.str.sprintf("%s (%s)", topbar_name, res.company_id[1]); self.$el.find('.oe_topbar_name').text(topbar_name); - if(!instance.session.debug) { - self.rpc("/web/database/get_list", {}).done( function(result) { - if (result.length > 1) { - topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db); - } - self.$el.find('.oe_topbar_name').text(topbar_name); - }); + if (!instance.session.debug) { + topbar_name = _.str.sprintf("%s (%s)", topbar_name, instance.session.db); } var avatar_src = self.session.url('/web/binary/image', {model:'res.users', field: 'image_small', id: self.session.uid}); $avatar.attr('src', avatar_src); @@ -1034,6 +1048,9 @@ instance.web.UserMenu = instance.web.Widget.extend({ }; this.update_promise = this.update_promise.then(fct, fct); }, + on_menu_help: function() { + window.open('http://help.openerp.com', '_blank'); + }, on_menu_logout: function() { this.trigger('user_logout'); }, @@ -1144,6 +1161,7 @@ instance.web.WebClient = instance.web.Client.extend({ return $.when(this._super()).then(function() { if (jQuery.param !== undefined && jQuery.deparam(jQuery.param.querystring()).kitten !== undefined) { $("body").addClass("kitten-mode-activated"); + $("body").css("background-image", "url(" + instance.session.origin + "/web/static/src/img/back-enable.jpg" + ")"); if ($.blockUI) { $.blockUI.defaults.message = ''; } @@ -1208,7 +1226,7 @@ instance.web.WebClient = instance.web.Client.extend({ }, logo_edit: function(ev) { var self = this; - new instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"]).then(function(res) { + new self.alive(instance.web.Model("res.users").get_func("read")(this.session.uid, ["company_id"])).then(function(res) { self.rpc("/web/action/load", { action_id: "base.action_res_company_form" }).done(function(result) { result.res_id = res['company_id'][0]; result.target = "new"; @@ -1229,7 +1247,7 @@ instance.web.WebClient = instance.web.Client.extend({ }, check_timezone: function() { var self = this; - return new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']]).then(function(result) { + return self.alive(new instance.web.Model('res.users').call('read', [[this.session.uid], ['tz_offset']])).then(function(result) { var user_offset = result[0]['tz_offset']; var offset = -(new Date().getTimezoneOffset()); // _.str.sprintf()'s zero front padding is buggy with signed decimals, so doing it manually @@ -1305,8 +1323,9 @@ instance.web.WebClient = instance.web.Client.extend({ }, on_hashchange: function(event) { var self = this; - var state = event.getState(true); - if (!_.isEqual(this._current_state, state)) { + var stringstate = event.getState(false); + if (!_.isEqual(this._current_state, stringstate)) { + var state = event.getState(true); if(!state.action && state.menu_id) { self.menu.has_been_loaded.done(function() { self.menu.do_reload().done(function() { @@ -1318,13 +1337,13 @@ instance.web.WebClient = instance.web.Client.extend({ this.action_manager.do_load_state(state, !!this._current_state); } } - this._current_state = state; + this._current_state = stringstate; }, do_push_state: function(state) { this.set_title(state.title); delete state.title; var url = '#' + $.param(state); - this._current_state = _.clone(state); + this._current_state = $.deparam($.param(state), false); // stringify all values $.bbq.pushState(url); this.trigger('state_pushed', state); }, @@ -1334,9 +1353,10 @@ instance.web.WebClient = instance.web.Client.extend({ .then(function (result) { return self.action_mutex.exec(function() { if (options.needaction) { - result.context = new instance.web.CompoundContext( - result.context, - {search_default_message_unread: true}); + result.context = new instance.web.CompoundContext(result.context, { + search_default_message_unread: true, + search_disable_custom_filters: true, + }); } var completed = $.Deferred(); $.when(self.action_manager.do_action(result, { @@ -1357,13 +1377,9 @@ instance.web.WebClient = instance.web.Client.extend({ }); }, set_content_full_screen: function(fullscreen) { - if (fullscreen) { - $(".oe_webclient", this.$el).addClass("oe_content_full_screen"); - $("body").css({'overflow-y':'hidden'}); - } else { - $(".oe_webclient", this.$el).removeClass("oe_content_full_screen"); - $("body").css({'overflow-y':'scroll'}); - } + $(document.body).css('overflow-y', fullscreen ? 'hidden' : 'scroll'); + this.$('.oe_webclient').toggleClass( + 'oe_content_full_screen', fullscreen); }, has_uncommitted_changes: function() { var $e = $.Event('clear_uncommitted_changes'); diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 5bbd5316521..bfde707312c 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -228,6 +228,42 @@ instance.web.ParentedMixin = { isDestroyed : function() { return this.__parentedDestroyed; }, + /** + Utility method to only execute asynchronous actions if the current + object has not been destroyed. + + @param {$.Deferred} promise The promise representing the asynchronous + action. + @param {bool} [reject=false] If true, the returned promise will be + rejected with no arguments if the current + object is destroyed. If false, the + returned promise will never be resolved + or rejected. + @returns {$.Deferred} A promise that will mirror the given promise if + everything goes fine but will either be rejected + with no arguments or never resolved if the + current object is destroyed. + */ + alive: function(promise, reject) { + var def = $.Deferred(); + var self = this; + promise.done(function() { + if (! self.isDestroyed()) { + if (! reject) + def.resolve.apply(def, arguments); + else + def.reject(); + } + }).fail(function() { + if (! self.isDestroyed()) { + if (! reject) + def.reject.apply(def, arguments); + else + def.reject(); + } + }); + return def.promise(); + }, /** * Inform the object it should destroy itself, releasing any * resource it could have reserved. @@ -495,16 +531,7 @@ instance.web.Controller = instance.web.Class.extend(instance.web.PropertiesMixin return false; }, rpc: function(url, data, options) { - var def = $.Deferred(); - var self = this; - instance.session.rpc(url, data, options).done(function() { - if (!self.isDestroyed()) - def.resolve.apply(def, arguments); - }).fail(function() { - if (!self.isDestroyed()) - def.reject.apply(def, arguments); - }); - return def.promise(); + return this.alive(instance.session.rpc(url, data, options)); } }); diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index bbff633c687..c5a2bd10888 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -860,8 +860,16 @@ instance.web.BufferedDataSet = instance.web.DataSetStatic.extend({ } return completion.promise(); }, - call_button: function (method, args) { - var id = args[0][0], index; + /** + * Invalidates caching of a record in the dataset to ensure the next read + * of that record will hit the server. + * + * Of use when an action is going to remote-alter a record which will then + * need to be reloaded, e.g. action button. + * + * @param {Object} id record to remove from the BDS's cache + */ + evict_record: function (id) { for(var i=0, len=this.cache.length; i implement lowest-denominator system where onPaste + // triggers a followup "cleanup" pass after the data has been pasted + setTimeout(function () { + // Read text content (ignore pasted HTML) + var data = this.$el.text(); + // paste raw text back in + this.$el.empty().text(data); + // Set the cursor at the end of the text, so the cursor is not lost + // in some kind of error-spawning limbo. + this.setCursorAtEnd(); + }.bind(this), 0); } }); my.FacetView = instance.web.Widget.extend({ @@ -305,9 +334,22 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea * @param dataset * @param view_id * @param defaults - * @param hidden + * @param {Object} [options] + * @param {Boolean} [options.hidden=false] hide the search view + * @param {Boolean} [options.disable_custom_filters=false] do not load custom filters from ir.filters */ - init: function(parent, dataset, view_id, defaults, hidden) { + init: function(parent, dataset, view_id, defaults, options) { + // Backward compatibility - Can be removed when forward porting + if (Object(options) !== options) { + options = { + hidden: !!options + }; + } + // End of Backward compatibility + this.options = _.defaults(options || {}, { + hidden: false, + disable_custom_filters: false, + }); this._super(parent); this.dataset = dataset; this.model = dataset.model; @@ -319,8 +361,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea this.inputs = []; this.controls = {}; - this.hidden = !!hidden; - this.headless = this.hidden && !this.has_defaults; + this.headless = this.options.hidden && !this.has_defaults; this.input_subviews = []; @@ -335,7 +376,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea .on('add change reset remove', this.proxy('do_search')) .on('add change reset remove', this.proxy('renderFacets')); - if (this.hidden) { + if (this.options.hidden) { this.$el.hide(); } if (this.headless) { @@ -650,13 +691,13 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea // CustomFilters will be ready (and CustomFilters#filters will be // correctly filled) by the time this method executes. var custom_filters = this.custom_filters.filters; - if (!_(custom_filters).isEmpty()) { + if (!this.options.disable_custom_filters && !_(custom_filters).isEmpty()) { // Check for any is_default custom filter var personal_filter = _(custom_filters).find(function (filter) { return filter.user_id && filter.is_default; }); if (personal_filter) { - this.custom_filters.enable_filter(personal_filter, true); + this.custom_filters.toggle_filter(personal_filter, true); return; } @@ -664,7 +705,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea return !filter.user_id && filter.is_default; }); if (global_filter) { - this.custom_filters.enable_filter(global_filter, true); + this.custom_filters.toggle_filter(global_filter, true); return; } } @@ -1432,12 +1473,15 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({ }, complete: function (needle) { var self = this; - // TODO: context // FIXME: "concurrent" searches (multiple requests, mis-ordered responses) + var context = instance.web.pyeval.eval( + 'contexts', [this.view.dataset.get_context()]); return this.model.call('name_search', [], { name: needle, + args: instance.web.pyeval.eval( + 'domains', this.attrs.domain ? [this.attrs.domain] : [], context), limit: 8, - context: {} + context: context }).then(function (results) { if (_.isEmpty(results)) { return null; } return [{label: self.attrs.string}].concat( @@ -1507,6 +1551,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({ }) .on('reset', this.proxy('clear_selection')); this.$el.on('submit', 'form', this.proxy('save_current')); + this.$el.on('click', 'input[type=checkbox]', function() { + $(this).siblings('input[type=checkbox]').prop('checked', false); + }); this.$el.on('click', 'h4', function () { self.$el.toggleClass('oe_opened'); }); @@ -1557,6 +1604,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({ get_groupby: function () { return [filter.context]; }, get_domain: function () { return filter.domain; } }, + _id: filter['id'], is_custom_filter: true, values: [{label: filter.name, value: null}] }; @@ -1567,6 +1615,7 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({ append_filter: function (filter) { var self = this; var key = this.key_for(filter); + var warning = _t("This filter is global and will be removed for everybody if you continue."); var $filter; if (key in this.$filters) { @@ -1584,6 +1633,9 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({ $('x') .click(function (e) { e.stopPropagation(); + if (!(filter.user_id || confirm(warning))) { + return; + } self.model.call('unlink', [id]).done(function () { $filter.remove(); delete self.$filters[key]; @@ -1594,10 +1646,18 @@ instance.web.search.CustomFilters = instance.web.search.Input.extend({ } $filter.unbind('click').click(function () { - self.enable_filter(filter); + self.toggle_filter(filter); }); }, - enable_filter: function (filter, preventSearch) { + toggle_filter: function (filter, preventSearch) { + var current = this.view.query.find(function (facet) { + return facet.get('_id') === filter.id; + }); + if (current) { + this.view.query.remove(current); + this.$filters[this.key_for(filter)].removeClass('oe_selected'); + return; + } this.view.query.reset([this.facet_for(filter)], { preventSearch: preventSearch || false}); this.$filters[this.key_for(filter)].addClass('oe_selected'); @@ -1706,10 +1766,12 @@ instance.web.search.Advanced = instance.web.search.Input.extend({ }); return $.when( this._super(), - new instance.web.Model(this.view.model).call('fields_get').done(function(data) { - self.fields = _.extend({ - id: { string: 'ID', type: 'id' } - }, data); + new instance.web.Model(this.view.model).call('fields_get', { + context: this.view.dataset.context + }).done(function(data) { + self.fields = _.extend({ + id: { string: 'ID', type: 'id' } + }, data); })).done(function () { self.append_proposition(); }); @@ -1760,6 +1822,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @ template: 'SearchView.extended_search.proposition', events: { 'change .searchview_extended_prop_field': 'changed', + 'change .searchview_extended_prop_op': 'operator_changed', 'click .searchview_extended_delete_prop': function (e) { e.stopPropagation(); this.getParent().remove_proposition(this); @@ -1776,6 +1839,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @ this._super(parent); this.fields = _(fields).chain() .map(function(val, key) { return _.extend({}, val, {'name': key}); }) + .filter(function (field) { return !field.deprecated; }) .sortBy(function(field) {return field.string;}) .value(); this.attrs = {_: _, fields: this.fields, selected: null}; @@ -1790,6 +1854,17 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @ this.select_field(_.detect(this.fields, function(x) {return x.name == nval;})); } }, + operator_changed: function (e) { + var $value = this.$('.searchview_extended_prop_value'); + switch ($(e.target).val()) { + case '∃': + case '∄': + $value.hide(); + break; + default: + $value.show(); + } + }, /** * Selects the provided field object * @@ -1818,7 +1893,7 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @ .text(String(operator.text)) .appendTo(self.$('.searchview_extended_prop_op')); }); - var $value_loc = this.$('.searchview_extended_prop_value').empty(); + var $value_loc = this.$('.searchview_extended_prop_value').show().empty(); this.value.appendTo($value_loc); }, @@ -1826,19 +1901,12 @@ instance.web.search.ExtendedSearchProposition = instance.web.Widget.extend(/** @ if ( this.attrs.selected == null) return null; var field = this.attrs.selected; - var op = this.$('.searchview_extended_prop_op')[0]; - var operator = op.options[op.selectedIndex]; + var op_select = this.$('.searchview_extended_prop_op')[0]; + var operator = op_select.options[op_select.selectedIndex]; + return { - label: _.str.sprintf(_t('%(field)s %(operator)s "%(value)s"'), { - field: field.string, - // According to spec, HTMLOptionElement#label should return - // HTMLOptionElement#text when not defined/empty, but it does - // not in older Webkit (between Safari 5.1.5 and Chrome 17) and - // Gecko (pre Firefox 7) browsers, so we need a manual fallback - // for those - operator: operator.label || operator.text, - value: this.value}), - value: [field.name, operator.value, this.value.get_value()] + label: this.value.get_label(field, operator), + value: this.value.get_domain(field, operator), }; } }); @@ -1848,6 +1916,37 @@ instance.web.search.ExtendedSearchProposition.Field = instance.web.Widget.extend this._super(parent); this.field = field; }, + get_label: function (field, operator) { + var format; + switch (operator.value) { + case '∃': case '∄': format = _t('%(field)s %(operator)s'); break; + default: format = _t('%(field)s %(operator)s "%(value)s"'); break; + } + return this.format_label(format, field, operator); + }, + format_label: function (format, field, operator) { + return _.str.sprintf(format, { + field: field.string, + // According to spec, HTMLOptionElement#label should return + // HTMLOptionElement#text when not defined/empty, but it does + // not in older Webkit (between Safari 5.1.5 and Chrome 17) and + // Gecko (pre Firefox 7) browsers, so we need a manual fallback + // for those + operator: operator.label || operator.text, + value: this + }); + }, + get_domain: function (field, operator) { + switch (operator.value) { + case '∃': return this.make_domain(field.name, '!=', false); + case '∄': return this.make_domain(field.name, '=', false); + default: return this.make_domain( + field.name, operator.value, this.get_value()); + } + }, + make_domain: function (field, operator, value) { + return [field, operator, value]; + }, /** * Returns a human-readable version of the value, in case the "logical" * and the "semantic" values of a field differ (as for selection fields, @@ -1867,7 +1966,9 @@ instance.web.search.ExtendedSearchProposition.Char = instance.web.search.Extende {value: "ilike", text: _lt("contains")}, {value: "not ilike", text: _lt("doesn't contain")}, {value: "=", text: _lt("is equal to")}, - {value: "!=", text: _lt("is not equal to")} + {value: "!=", text: _lt("is not equal to")}, + {value: "∃", text: _lt("is set")}, + {value: "∄", text: _lt("is not set")} ], get_value: function() { return this.$el.val(); @@ -1881,7 +1982,9 @@ instance.web.search.ExtendedSearchProposition.DateTime = instance.web.search.Ext {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "∃", text: _lt("is set")}, + {value: "∄", text: _lt("is not set")} ], /** * Date widgets live in view_form which is not yet loaded when this is @@ -1915,7 +2018,9 @@ instance.web.search.ExtendedSearchProposition.Integer = instance.web.search.Exte {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "∃", text: _lt("is set")}, + {value: "∄", text: _lt("is not set")} ], toString: function () { return this.$el.val(); @@ -1940,7 +2045,9 @@ instance.web.search.ExtendedSearchProposition.Float = instance.web.search.Extend {value: ">", text: _lt("greater than")}, {value: "<", text: _lt("less than")}, {value: ">=", text: _lt("greater or equal than")}, - {value: "<=", text: _lt("less or equal than")} + {value: "<=", text: _lt("less or equal than")}, + {value: "∃", text: _lt("is set")}, + {value: "∄", text: _lt("is not set")} ], toString: function () { return this.$el.val(); @@ -1958,7 +2065,9 @@ instance.web.search.ExtendedSearchProposition.Selection = instance.web.search.Ex template: 'SearchView.extended_search.proposition.selection', operators: [ {value: "=", text: _lt("is")}, - {value: "!=", text: _lt("is not")} + {value: "!=", text: _lt("is not")}, + {value: "∃", text: _lt("is set")}, + {value: "∄", text: _lt("is not set")} ], toString: function () { var select = this.$el[0]; @@ -1975,7 +2084,10 @@ instance.web.search.ExtendedSearchProposition.Boolean = instance.web.search.Exte {value: "=", text: _lt("is true")}, {value: "!=", text: _lt("is false")} ], - toString: function () { return ''; }, + get_label: function (field, operator) { + return this.format_label( + _t('%(field)s %(operator)s'), field, operator); + }, get_value: function() { return true; } diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index cb20b98d5e0..479d091d4db 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -247,13 +247,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM do_load_state: function(state, warm) { if (state.id && this.datarecord.id != state.id) { - if (!this.dataset.get_id_index(state.id)) { + if (this.dataset.get_id_index(state.id) === null) { this.dataset.ids.push(state.id); } this.dataset.select_id(state.id); - if (warm) { - this.do_show(); - } + this.do_show({ reload: warm }); } }, /** @@ -511,9 +509,13 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM var on_change = widget.node.attrs.on_change; if (on_change) { var change_spec = self.parse_on_change(on_change, widget); - var id = [self.datarecord.id == null ? [] : [self.datarecord.id]]; - def = new instance.web.Model(self.dataset.model).call( - change_spec.method, id.concat(change_spec.args)); + var ids = []; + if (self.datarecord.id && !instance.web.BufferedDataSet.virtual_id_regex.test(self.datarecord.id)) { + // In case of a o2m virtual id, we should pass an empty ids list + ids.push(self.datarecord.id); + } + def = self.alive(new instance.web.Model(self.dataset.model).call( + change_spec.method, [ids].concat(change_spec.args))); } else { def = $.when({}); } @@ -531,9 +533,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM var condition = fieldname + '=' + value_; if (value_) { - return new instance.web.Model('ir.values').call( + return self.alive(new instance.web.Model('ir.values').call( 'get_defaults', [self.model, condition] - ).then(function (results) { + )).then(function (results) { if (!results.length) { return response; } @@ -573,19 +575,14 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM ] }); } - if (result.domain) { - function edit_domain(node) { - if (typeof node !== "object") { - return; - } - var new_domain = result.domain[node.attrs.name]; - if (new_domain) { - node.attrs.domain = new_domain; - } - _(node.children).each(edit_domain); - } - edit_domain(this.fields_view.arch); - } + + var fields = this.fields; + _(result.domain).each(function (domain, fieldname) { + var field = fields[fieldname]; + if (!field) { return; } + field.node.attrs.domain = domain; + }); + return $.Deferred().resolve(); } catch(e) { console.error(e); @@ -842,11 +839,10 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM save_deferral = self.dataset.create(values).then(function(r) { return self.record_created(r, prepend_on_create); }, null); - } else if (_.isEmpty(values) && ! self.force_dirty) { + } else if (_.isEmpty(values)) { // Not dirty, noop save save_deferral = $.Deferred().resolve({}).promise(); } else { - self.force_dirty = false; // Write save save_deferral = self.dataset.write(self.datarecord.id, values, {}).then(function(r) { return self.record_saved(r); @@ -1197,6 +1193,10 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt $('button', doc).each(function() { $(this).attr('data-button-type', $(this).attr('type')).attr('type', 'button'); }); + // IE's html parser is also a css parser. How convenient... + $('board', doc).each(function() { + $(this).attr('layout', $(this).attr('style')); + }); return $('
').append(instance.web.xml_to_str(doc)); }, render_to: function($target) { @@ -1916,18 +1916,20 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({ modal: true, buttons: [ {text: _t("Cancel"), click: function() { - def.resolve(); $(this).dialog("close"); } }, {text: _t("Ok"), click: function() { - self.on_confirmed().done(function() { - def.resolve(); + var self2 = this; + self.on_confirmed().always(function() { + $(self2).dialog("close"); }); - $(this).dialog("close"); } - } - ] + }, + ], + beforeClose: function() { + def.resolve(); + }, }); return def.promise(); } else { @@ -1935,7 +1937,6 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({ } }; if (!this.node.attrs.special) { - this.view.force_dirty = true; return this.view.recursive_save().then(exec_action); } else { return exec_action(); @@ -2334,7 +2335,7 @@ instance.web.form.FieldUrl = instance.web.form.FieldChar.extend({ this._super(); } else { var tmp = this.get('value'); - var s = /(\w+):(.+)/.exec(tmp); + var s = /(\w+):(.+)|^\.{0,2}\//.exec(tmp); if (!s) { tmp = "http://" + this.get('value'); } @@ -2383,6 +2384,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({ type_of_date: "datetime", events: { 'change .oe_datepicker_master': 'change_datetime', + 'dragstart img.oe_datepicker_trigger': function () { return false; }, }, init: function(parent) { this._super(parent); @@ -2402,6 +2404,11 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({ showButtonPanel: true, firstDay: Date.CultureInfo.firstDayOfWeek }); + // Some clicks in the datepicker dialog are not stopped by the + // datepicker and "bubble through", unexpectedly triggering the bus's + // click event. Prevent that. + this.picker('widget').click(function (e) { e.stopPropagation(); }); + this.$el.find('img.oe_datepicker_trigger').click(function() { if (self.get("effective_readonly") || self.picker('widget').is(':visible')) { self.$input.focus(); @@ -2964,7 +2971,9 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc case $.ui.keyCode.DOWN: e.stopPropagation(); } - } + }, + 'dragstart .oe_m2o_drop_down_button img': function () { return false; }, + 'dragstart .oe_m2o_cm_button': function () { return false; } }, init: function(field_manager, node) { this._super(field_manager, node); @@ -3065,6 +3074,15 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc } } }); + + // Autocomplete close on dialog content scroll + var close_autocomplete = _.debounce(function() { + if (self.$input.autocomplete("widget").is(":visible")) { + self.$input.autocomplete("close"); + } + }, 50); + this.$input.closest(".ui-dialog .ui-dialog-content").on('scroll', this, close_autocomplete); + self.ed_def = $.Deferred(); self.uned_def = $.Deferred(); var ed_delay = 200; @@ -4457,6 +4475,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({ * options: * -readonly: only applicable when not in creation mode, default to false * - alternative_form_view + * - view_id * - write_function * - read_function * - create_function @@ -4523,7 +4542,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({ _.extend(options, { $buttons: this.$buttonpane, }); - this.view_form = new instance.web.FormView(this, this.dataset, false, options); + this.view_form = new instance.web.FormView(this, this.dataset, this.options.view_id || false, options); if (this.options.alternative_form_view) { this.view_form.set_embedded_view(this.options.alternative_form_view); } @@ -4552,6 +4571,7 @@ instance.web.form.AbstractFormPopup = instance.web.Widget.extend({ }); var $cbutton = self.$buttonpane.find(".oe_abstractformpopup-form-close"); $cbutton.click(function() { + self.view_form.trigger('on_button_cancel'); self.check_exit(); }); self.view_form.do_show(); @@ -4946,7 +4966,7 @@ instance.web.form.FieldBinaryFile = instance.web.form.FieldBinary.extend({ } this.$el.find('input').eq(0).val(show_value); } else { - this.$el.find('a').show(!!this.get('value')); + this.$el.find('a').toggle(!!this.get('value')); if (this.get('value')) { var show_value = _t("Download") if (this.view) @@ -5223,8 +5243,20 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ this.options.clickable = this.options.clickable || (this.node.attrs || {}).clickable || false; this.options.visible = this.options.visible || (this.node.attrs || {}).statusbar_visible || false; this.set({value: false}); + this.selection = []; + this.set("selection", []); + this.selection_dm = new instance.web.DropMisordered(); }, start: function() { + this.field_manager.on("view_content_has_changed", this, this.calc_domain); + this.calc_domain(); + this.on("change:value", this, this.get_selection); + this.on("change:evaluated_selection_domain", this, this.get_selection); + this.get_selection(); + this.on("change:selection", this, function() { + this.selection = this.get("selection"); + this.render_value(); + }); if (this.options.clickable) { this.$el.on('click','li',this.on_click_stage); } @@ -5241,15 +5273,20 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ }, render_value: function() { var self = this; - self.get_selection().done(function() { - var content = QWeb.render("FieldStatus.content", {widget: self}); - self.$el.html(content); - var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}"); - var color = colors[self.get('value')]; - if (color) { - self.$("oe_active").css("color", color); - } - }); + var content = QWeb.render("FieldStatus.content", {widget: self}); + self.$el.html(content); + var colors = JSON.parse((self.node.attrs || {}).statusbar_colors || "{}"); + var color = colors[self.get('value')]; + if (color) { + self.$("oe_active").css("color", color); + } + }, + calc_domain: function() { + var d = instance.web.pyeval.eval('domain', this.build_domain()); + domain = ['|', ['id', '=', this.get('value')]].concat(d); + if (! _.isEqual(domain, this.get("evaluated_selection_domain"))) { + this.set("evaluated_selection_domain", domain); + } }, /** Get the selection and render it * selection: [[identifier, value_to_display], ...] @@ -5258,32 +5295,37 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ */ get_selection: function() { var self = this; - self.selection = []; - if (this.field.type == "many2one") { - var domain = []; - if(!_.isEmpty(this.field.domain) || !_.isEmpty(this.node.attrs.domain)) { - var d = instance.web.pyeval.eval('domain', self.build_domain()); - domain = ['|', ['id', '=', self.get('value')]].concat(d); - } - var ds = new instance.web.DataSetSearch(this, this.field.relation, self.build_context(), domain); - return ds.read_slice(['name'], {}).then(function (records) { - for(var i = 0; i < records.length; i++) { - self.selection.push([records[i].id, records[i].name]); - } - }); - } else { - // For field type selection filter values according to - // statusbar_visible attribute of the field. For example: - // statusbar_visible="draft,open". - var selection = this.field.selection; - for(var i=0; i < selection.length; i++) { - var key = selection[i][0]; - if(key == this.get('value') || !this.options.visible || this.options.visible.indexOf(key) != -1) { - this.selection.push(selection[i]); + var selection = []; + + var calculation = _.bind(function() { + if (this.field.type == "many2one") { + var domain = []; + var ds = new instance.web.DataSetSearch(this, this.field.relation, + self.build_context(), this.get("evaluated_selection_domain")); + return ds.read_slice(['name'], {}).then(function (records) { + for(var i = 0; i < records.length; i++) { + selection.push([records[i].id, records[i].name]); + } + }); + } else { + // For field type selection filter values according to + // statusbar_visible attribute of the field. For example: + // statusbar_visible="draft,open". + var select = this.field.selection; + for(var i=0; i < select.length; i++) { + var key = select[i][0]; + if(key == this.get('value') || !this.options.visible || this.options.visible.indexOf(key) != -1) { + selection.push(select[i]); + } } + return $.when(); } - return $.when(); - } + }, this); + this.selection_dm.add(calculation()).then(function () { + if (! _.isEqual(selection, self.get("selection"))) { + self.set("selection", selection); + } + }); }, on_click_stage: function (ev) { var self = this; @@ -5327,16 +5369,16 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({ this.set({"currency_info": null}); return; } - return this.ci_dm.add(new instance.web.Model("res.currency").query(["symbol", "position"]) - .filter([["id", "=", self.get("currency")]]).first()).then(function(res) { + return this.ci_dm.add(self.alive(new instance.web.Model("res.currency").query(["symbol", "position"]) + .filter([["id", "=", self.get("currency")]]).first())).then(function(res) { self.set({"currency_info": res}); }); }, parse_value: function(val, def) { - return instance.web.parse_value(val, {type: "float"}, def); + return instance.web.parse_value(val, {type: "float", digits: (this.node.attrs || {}).digits || this.field.digits}, def); }, format_value: function(val, def) { - return instance.web.format_value(val, {type: "float"}, def); + return instance.web.format_value(val, {type: "float", digits: (this.node.attrs || {}).digits || this.field.digits}, def); }, }); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 645338f62c9..b69ec6dbdca 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -321,9 +321,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi .appendTo($this.empty()) .click(function (e) {e.stopPropagation();}) .append('' + - '' + '' + '' + + '' + '') .change(function () { var val = parseInt($select.val(), 10); @@ -348,12 +348,27 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi this.sidebar.add_toolbar(this.fields_view.toolbar); this.sidebar.$el.hide(); } + //Sort + if(this.dataset._sort.length){ + if(this.dataset._sort[0].indexOf('-') == -1){ + this.$el.find('th[data-id=' + this.dataset._sort[0] + ']').addClass("sortdown"); + }else { + this.$el.find('th[data-id=' + this.dataset._sort[0].split('-')[1] + ']').addClass("sortup"); + } + } this.trigger('list_view_loaded', data, this.grouped); }, sort_by_column: function (e) { e.stopPropagation(); var $column = $(e.currentTarget); - this.dataset.sort($column.data('id')); + var col_name = $column.data('id') + var field = this.fields_view.fields[col_name]; + // test if the field is a function field with store=false, since it's impossible + // for the server to sort those fields we desactivate the feature + if (field && field.store === false) { + return false; + } + this.dataset.sort(col_name); if($column.hasClass("sortdown") || $column.hasClass("sortup")) { $column.toggleClass("sortup sortdown"); } else { @@ -1171,7 +1186,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web. } }); instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.web.ListView.Groups# */{ - passtrough_events: 'action deleted row_link', + passthrough_events: 'action deleted row_link', /** * Grouped display for the ListView. Handles basic DOM events and interacts * with the :js:class:`~DataGroup` bound to it. @@ -1391,7 +1406,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we // can have selections spanning multiple links var selection = self.get_selection(); $this.trigger(e, [selection.ids, selection.records]); - }).bind(this.passtrough_events, function (e) { + }).bind(this.passthrough_events, function (e) { // additional positional parameters are provided to trigger as an // Array, following the event type or event object, but are // provided to the .bind event handler as *args. @@ -2197,7 +2212,7 @@ instance.web.list.Binary = instance.web.list.Column.extend({ if (value && value.substr(0, 10).indexOf(' ') == -1) { download_url = "data:application/octet-stream;base64," + value; } else { - download_url = this.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id}); + download_url = instance.session.url('/web/binary/saveas', {model: options.model, field: this.id, id: options.id}); if (this.filename) { download_url += '&filename_field=' + this.filename; } diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index efc442de2a9..f1bd7c4325e 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -132,6 +132,15 @@ openerp.web.list_editable = function (instance) { var self = this; // tree/@editable takes priority on everything else if present. var result = this._super(data, grouped); + + // In case current editor was started previously, also has to run + // when toggling from editable to non-editable in case form widgets + // have setup global behaviors expecting themselves to exist + // somehow. + this.editor.destroy(); + // Editor is not restartable due to formview not being restartable + this.editor = this.make_editor(); + if (this.editable()) { this.$el.addClass('oe_list_editable'); // FIXME: any hook available to ensure this is only done once? @@ -143,10 +152,6 @@ openerp.web.list_editable = function (instance) { e.preventDefault(); self.cancel_edition(); }); - this.editor.destroy(); - // Editor is not restartable due to formview not being - // restartable - this.editor = this.make_editor(); var editor_ready = this.editor.prependTo(this.$el) .done(this.proxy('setup_events')); @@ -795,7 +800,7 @@ openerp.web.list_editable = function (instance) { }); instance.web.ListView.Groups.include(/** @lends instance.web.ListView.Groups# */{ - passtrough_events: instance.web.ListView.Groups.prototype.passtrough_events + " edit saved", + passthrough_events: instance.web.ListView.Groups.prototype.passthrough_events + " edit saved", get_row_for: function (record) { return _(this.children).chain() .invoke('get_row_for', record) diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js index 4a7c1aff69c..f5638004b47 100644 --- a/addons/web/static/src/js/views.js +++ b/addons/web/static/src/js/views.js @@ -190,6 +190,18 @@ instance.web.ActionManager = instance.web.Widget.extend({ }); state = _.extend(params || {}, state); } + if (this.inner_action.context) { + var active_id = this.inner_action.context.active_id; + if (active_id) { + state["active_id"] = active_id; + } + var active_ids = this.inner_action.context.active_ids; + if (active_ids && !(active_ids.length === 1 && active_ids[0] === active_id)) { + // We don't push active_ids if it's a single element array containing the active_id + // This makes the url shorter in most cases. + state["active_ids"] = this.inner_action.context.active_ids.join(','); + } + } } if(!this.dialog) { this.getParent().do_push_state(state); @@ -212,8 +224,22 @@ instance.web.ActionManager = instance.web.Widget.extend({ } else { var run_action = (!this.inner_widget || !this.inner_widget.action) || this.inner_widget.action.id !== state.action; if (run_action) { + var add_context = {}; + if (state.active_id) { + add_context.active_id = state.active_id; + } + if (state.active_ids) { + // The jQuery BBQ plugin does some parsing on values that are valid integers. + // It means that if there's only one item, it will do parseInt() on it, + // otherwise it will keep the comma seperated list as string. + add_context.active_ids = state.active_ids.toString().split(',').map(function(id) { + return parseInt(id, 10) || id; + }); + } else if (state.active_id) { + add_context.active_ids = [state.active_id]; + } this.null_action(); - action_loaded = this.do_action(state.action); + action_loaded = this.do_action(state.action, { additional_context: add_context }); $.when(action_loaded || null).done(function() { instance.webclient.menu.has_been_loaded.done(function() { if (self.inner_action && self.inner_action.id) { @@ -249,12 +275,25 @@ instance.web.ActionManager = instance.web.Widget.extend({ } }); }, + /** + * Execute an OpenERP action + * + * @param {Number|String|Object} Can be either an action id, a client action or an action descriptor. + * @param {Object} [options] + * @param {Boolean} [options.clear_breadcrumbs=false] Clear the breadcrumbs history list + * @param {Function} [options.on_reverse_breadcrumb] Callback to be executed whenever an anterior breadcrumb item is clicked on. + * @param {Function} [options.on_close] Callback to be executed when the dialog is closed (only relevant for target=new actions) + * @param {Function} [options.action_menu_id] Manually set the menu id on the fly. + * @param {Object} [options.additional_context] Additional context to be merged with the action's context. + * @return {jQuery.Deferred} Action loaded + */ do_action: function(action, options) { options = _.defaults(options || {}, { clear_breadcrumbs: false, on_reverse_breadcrumb: function() {}, on_close: function() {}, action_menu_id: null, + additional_context: {}, }); if (action === false) { action = { type: 'ir.actions.act_window_close' }; @@ -269,9 +308,13 @@ instance.web.ActionManager = instance.web.Widget.extend({ } // Ensure context & domain are evaluated and can be manipulated/used - if (action.context) { - action.context = instance.web.pyeval.eval( - 'context', action.context); + var ncontext = new instance.web.CompoundContext(options.additional_context, action.context || {}); + action.context = instance.web.pyeval.eval('context', ncontext); + if (action.context.active_id || action.context.active_ids) { + // Here we assume that when an `active_id` or `active_ids` is used + // in the context, we are in a `related` action, so we disable the + // searchview's default custom filters. + action.context.search_disable_custom_filters = true; } if (action.domain) { action.domain = instance.web.pyeval.eval( @@ -285,14 +328,15 @@ instance.web.ActionManager = instance.web.Widget.extend({ var type = action.type.replace(/\./g,'_'); var popup = action.target === 'new'; var inline = action.target === 'inline' || action.target === 'inlineview'; - action.flags = _.extend({ + action.flags = _.defaults(action.flags || {}, { views_switcher : !popup && !inline, search_view : !popup && !inline, action_buttons : !popup && !inline, sidebar : !popup && !inline, pager : !popup && !inline, - display_title : !popup - }, action.flags || {}); + display_title : !popup, + search_disable_custom_filters: action.context && action.context.search_disable_custom_filters + }); action.menu_id = options.action_menu_id; if (!(type in this)) { console.error("Action manager can't handle action of type " + action.type, action); @@ -526,7 +570,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ } if (this.searchview) { - this.searchview[(view.controller.searchable === false || this.searchview.hidden) ? 'hide' : 'show'](); + this.searchview[(view.controller.searchable === false || this.searchview.options.hidden) ? 'hide' : 'show'](); } this.$el.find('.oe_view_manager_switch a').parent().removeClass('active'); @@ -538,7 +582,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ _.each(_.keys(self.views), function(view_name) { var controller = self.views[view_name].controller; if (controller) { - var container = self.$el.find(".oe_view_manager_view_" + view_name + ":first"); + var container = self.$el.find("> .oe_view_manager_body > .oe_view_manager_view_" + view_name); if (view_name === view_type) { container.show(); controller.do_show(view_options || {}); @@ -581,7 +625,7 @@ instance.web.ViewManager = instance.web.Widget.extend({ controller.on('switch_mode', self, this.switch_mode); controller.on('previous_view', self, this.prev_view); - var container = this.$el.find(".oe_view_manager_view_" + view_type); + var container = this.$el.find("> .oe_view_manager_body > .oe_view_manager_view_" + view_type); var view_promise = controller.appendTo(container); this.views[view_type].controller = controller; this.views[view_type].deferred.resolve(view_type); @@ -596,6 +640,12 @@ instance.web.ViewManager = instance.web.Widget.extend({ self.trigger("controller_inited",view_type,controller); }); }, + /** + * @returns {Number|Boolean} the view id of the given type, false if not found + */ + get_view_id: function(view_type) { + return this.views[view_type] && this.views[view_type].view_id || false; + }, set_title: function(title) { this.$el.find('.oe_view_title_text:first').text(title); }, @@ -684,7 +734,11 @@ instance.web.ViewManager = instance.web.Widget.extend({ if (this.searchview) { this.searchview.destroy(); } - this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, this.flags.search_view === false); + var options = { + hidden: this.flags.search_view === false, + disable_custom_filters: this.flags.search_disable_custom_filters, + }; + this.searchview = new instance.web.SearchView(this, this.dataset, view_id, search_defaults, options); this.searchview.on('search_data', self, this.do_searchview_search); return this.searchview.appendTo(this.$el.find(".oe_view_manager_view_search")); @@ -948,10 +1002,11 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({ }); }, do_create_view: function(view_type) { - var r = this._super.apply(this, arguments); - var view = this.views[view_type].controller; - view.set({ 'title': this.action.name }); - return r; + var self = this; + return this._super.apply(this, arguments).then(function() { + var view = self.views[view_type].controller; + view.set({ 'title': self.action.name }); + }); }, get_action_manager: function() { var cur = this; @@ -1492,13 +1547,22 @@ instance.web.json_node_to_xml = function(node, human_readable, indent) { } }; instance.web.xml_to_str = function(node) { + var str = ""; if (window.XMLSerializer) { - return (new XMLSerializer()).serializeToString(node); + str = (new XMLSerializer()).serializeToString(node); } else if (window.ActiveXObject) { - return node.xml; + str = node.xml; } else { throw new Error(_t("Could not serialize XML")); } + // Browsers won't deal with self closing tags except br, hr, input, ... + // http://stackoverflow.com/questions/97522/what-are-all-the-valid-self-closing-elements-in-xhtml-as-implemented-by-the-maj + // + // The following regex is a bit naive but it's ok for the xmlserializer output + str = str.replace(/<([a-z]+)([^<>]*)\s*\/\s*>/g, function(match, tag, attrs) { + return "<" + tag + attrs + ">"; + }); + return str; }; /** diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index b3f2364b42b..bf2542b2052 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -119,7 +119,7 @@ - + @@ -385,7 +385,9 @@ t-att-data-menu="menu.id" t-att-data-action-model="menu.action ? menu.action.split(',')[0] : ''" t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''"> - + + + @@ -401,8 +403,9 @@ @@ -1297,7 +1300,7 @@ File - /web/binary/upload_attachment + /web/binary/upload_attachment @@ -1412,8 +1415,6 @@ this.removeAttr('t-if'); - - this.removeAttr('t-if'); diff --git a/addons/web/static/test/evals.js b/addons/web/static/test/evals.js index 055180f004b..0e1c1351b98 100644 --- a/addons/web/static/test/evals.js +++ b/addons/web/static/test/evals.js @@ -282,7 +282,7 @@ openerp.testing.section('eval.edc', { db: '3', login: user.login, uid: user.id, - context: { + user_context: { uid: user.id, lang: user.lang, tz: user.tz diff --git a/addons/web/static/test/formats.js b/addons/web/static/test/formats.js index 4536501d71d..ac602e4b693 100644 --- a/addons/web/static/test/formats.js +++ b/addons/web/static/test/formats.js @@ -68,6 +68,12 @@ openerp.testing.section('web-formats', { strictEqual( instance.web.format_value(-0.0085, {type:'float', widget:'float_time'}), '-00:01'); + strictEqual( + instance.web.format_value(4.9999, {type:'float', widget:'float_time'}), + '05:00'); + strictEqual( + instance.web.format_value(-6.9999, {type:'float', widget:'float_time'}), + '-07:00'); }); test("format_float", function (instance) { var fl = 12.1234; diff --git a/addons/web/static/test/search.js b/addons/web/static/test/search.js index 5f177c0a363..904af63f590 100644 --- a/addons/web/static/test/search.js +++ b/addons/web/static/test/search.js @@ -318,6 +318,28 @@ openerp.testing.section('defaults', { "facet value should match provided default's selection"); }); }); + test("M2O default: value array", {asserts: 2}, function (instance, $s, mock) { + var view = {inputs: []}, id = 5; + var f = new instance.web.search.ManyToOneField( + {attrs: {name: 'dummy', string: 'Dummy'}}, + {relation: 'dummy.model.name'}, + view); + mock('dummy.model.name:name_get', function (args) { + equal(args[0], id); + return [[id, "DumDumDum"]]; + }); + return f.facet_for_defaults({dummy: [id]}) + .done(function (facet) { + var model = facet; + if (!(model instanceof instance.web.search.Facet)) { + model = new instance.web.search.Facet(facet); + } + deepEqual( + model.values.toJSON(), + [{label: "DumDumDum", value: id}], + "should support default as a singleton"); + }); + }); test("M2O default: value", {asserts: 1}, function (instance, $s, mock) { var view = {inputs: []}, id = 4; var f = new instance.web.search.ManyToOneField( @@ -330,6 +352,15 @@ openerp.testing.section('defaults', { ok(!facet, "an invalid m2o default should yield a non-facet"); }); }); + test("M2O default: values", {rpc: false}, function (instance) { + var view = {inputs: []}; + var f = new instance.web.search.ManyToOneField( + {attrs: {name: 'dummy', string: 'Dummy'}}, + {relation: 'dummy.model.name'}, + view); + raises(function () { f.facet_for_defaults({dummy: [6, 7]}) }, + "should not accept multiple default values"); + }) }); openerp.testing.section('completions', { dependencies: ['web.search'], @@ -526,7 +557,7 @@ openerp.testing.section('completions', { return [[42, "choice 1"], [43, "choice @"]]; }); - var view = {inputs: []}; + var view = {inputs: [], dataset: {get_context: function () {}}}; var f = new instance.web.search.ManyToOneField( {attrs: {string: 'Dummy'}}, {relation: 'dummy.model'}, view); return f.complete("bob") @@ -555,7 +586,7 @@ openerp.testing.section('completions', { strictEqual(kwargs.name, 'bob'); return []; }); - var view = {inputs: []}; + var view = {inputs: [], dataset: {get_context: function () {}}}; var f = new instance.web.search.ManyToOneField( {attrs: {string: 'Dummy'}}, {relation: 'dummy.model'}, view); return f.complete("bob") @@ -563,6 +594,26 @@ openerp.testing.section('completions', { ok(!c, "no match should yield no completion"); }); }); + test("M2O filtered", {asserts: 2}, function (instance, $s, mock) { + mock('dummy.model:name_search', function (args, kwargs) { + deepEqual(args, [], "should have no positional arguments"); + deepEqual(kwargs, { + name: 'bob', + limit: 8, + args: [['foo', '=', 'bar']], + context: {flag: 1}, + }, "should use filtering domain"); + return [[42, "Match"]]; + }); + var view = { + inputs: [], + dataset: {get_context: function () { return {flag: 1}; }} + }; + var f = new instance.web.search.ManyToOneField( + {attrs: {string: 'Dummy', domain: '[["foo", "=", "bar"]]'}}, + {relation: 'dummy.model'}, view); + return f.complete("bob"); + }); }); openerp.testing.section('search-serialization', { dependencies: ['web.search'], @@ -1038,6 +1089,44 @@ openerp.testing.section('saved_filters', { "should not be checked anymore"); }); }); + test('toggling', {asserts: 2}, function (instance, $fix, mock) { + var view = makeSearchView(instance); + mock('ir.filters:get_filters', function () { + return [{name: 'filter name', user_id: 42, id: 1}]; + }); + + return view.appendTo($fix) + .done(function () { + var $row = $fix.find('.oe_searchview_custom li:first').click(); + equal(view.query.length, 1, "should have one facet"); + $row.click(); + equal(view.query.length, 0, "should have removed facet"); + }); + }); + test('replacement', {asserts: 4}, function (instance, $fix, mock) { + var view = makeSearchView(instance); + mock('ir.filters:get_filters', function () { + return [ + {name: 'f', user_id: 42, id: 1, context: {'private': 1}}, + {name: 'f', user_id: false, id: 2, context: {'private': 0}} + ]; + }); + return view.appendTo($fix) + .done(function () { + $fix.find('.oe_searchview_custom li:eq(0)').click(); + equal(view.query.length, 1, "should have one facet"); + deepEqual( + view.query.at(0).get('field').get_context(), + {'private': 1}, + "should have selected first filter"); + $fix.find('.oe_searchview_custom li:eq(1)').click(); + equal(view.query.length, 1, "should have one facet"); + deepEqual( + view.query.at(0).get('field').get_context(), + {'private': 0}, + "should have selected second filter"); + }); + }); }); openerp.testing.section('advanced', { dependencies: ['web.search'], diff --git a/addons/web_calendar/i18n/cs.po b/addons/web_calendar/i18n/cs.po index ce66c9f9d44..e3b24b9b387 100644 --- a/addons/web_calendar/i18n/cs.po +++ b/addons/web_calendar/i18n/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Zdeněk Havlík \n" +"PO-Revision-Date: 2012-12-28 11:43+0000\n" +"Last-Translator: Jan Grmela \n" "Language-Team: openerp-i18n-czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" "X-Generator: Launchpad (build 16378)\n" "X-Poedit-Language: Czech\n" @@ -23,49 +23,49 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:153 #, python-format msgid "New event" -msgstr "" +msgstr "Nová událost" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:156 #, python-format msgid "Details" -msgstr "" +msgstr "Podrobnosti" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:154 #, python-format msgid "Save" -msgstr "" +msgstr "Uložit" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:101 #, python-format msgid "Calendar view has a 'date_delay' type != float" -msgstr "" +msgstr "Pohled kalendáře má typ položky 'date_delay' != float" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:149 #, python-format msgid "Today" -msgstr "" +msgstr "Dnes" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:151 #, python-format msgid "Week" -msgstr "" +msgstr "Týden" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:163 #, python-format msgid "Full day" -msgstr "" +msgstr "Celý den" #. module: web_calendar #. openerp-web @@ -73,14 +73,14 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:174 #, python-format msgid "Description" -msgstr "" +msgstr "Popis" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:160 #, python-format msgid "Event will be deleted permanently, are you sure?" -msgstr "" +msgstr "Událost bude trvale smazána, jste si jisti?" #. module: web_calendar #. openerp-web @@ -95,56 +95,56 @@ msgstr " " #: code:addons/web_calendar/static/src/js/calendar.js:173 #, python-format msgid "Date" -msgstr "" +msgstr "Datum" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:470 #, python-format msgid "Edit: " -msgstr "" +msgstr "Upravit: " #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:150 #, python-format msgid "Day" -msgstr "" +msgstr "Den" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:157 #, python-format msgid "Edit" -msgstr "" +msgstr "Upravit" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:169 #, python-format msgid "Enabled" -msgstr "" +msgstr "Povoleno" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:166 #, python-format msgid "Do you want to edit the whole set of repeated events?" -msgstr "" +msgstr "Chcete upravit celou skupinu opakujících se událostí?" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:82 #, python-format msgid "Filter" -msgstr "" +msgstr "Filtr" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:167 #, python-format msgid "Repeat event" -msgstr "" +msgstr "Opakovat událost" #. module: web_calendar #. openerp-web @@ -152,56 +152,56 @@ msgstr "" #: code:addons/web_calendar/static/src/js/calendar.js:180 #, python-format msgid "Agenda" -msgstr "" +msgstr "Agenda" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:162 #, python-format msgid "Time period" -msgstr "" +msgstr "Časový interval" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:158 #, python-format msgid "Delete" -msgstr "" +msgstr "Smazat" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:152 #, python-format msgid "Month" -msgstr "" +msgstr "Měsíc" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:168 #, python-format msgid "Disabled" -msgstr "" +msgstr "Zakázáno" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:435 #, python-format msgid "Create: " -msgstr "" +msgstr "Vytvořit: " #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:177 #, python-format msgid "Year" -msgstr "" +msgstr "Rok" #. module: web_calendar #. openerp-web #: code:addons/web_calendar/static/src/js/calendar.js:155 #, python-format msgid "Cancel" -msgstr "" +msgstr "Zrušit" #. module: web_calendar #. openerp-web @@ -215,4 +215,4 @@ msgstr "Kalendář" #: code:addons/web_calendar/static/src/js/calendar.js:93 #, python-format msgid "Calendar view has not defined 'date_start' attribute." -msgstr "" +msgstr "Pohled kalendáře nemá definovaný atribut 'date_start'." diff --git a/addons/web_calendar/i18n/ko.po b/addons/web_calendar/i18n/ko.po new file mode 100644 index 00000000000..88888ae822c --- /dev/null +++ b/addons/web_calendar/i18n/ko.po @@ -0,0 +1,217 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 07:11+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:153 +#, python-format +msgid "New event" +msgstr "신규 이벤트" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:156 +#, python-format +msgid "Details" +msgstr "상세 내용" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:154 +#, python-format +msgid "Save" +msgstr "저장" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:101 +#, python-format +msgid "Calendar view has a 'date_delay' type != float" +msgstr "달력 화면에 'date_delay'유형의 != 플로트가 있습니다" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:149 +#, python-format +msgid "Today" +msgstr "오늘" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:151 +#, python-format +msgid "Week" +msgstr "주" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:163 +#, python-format +msgid "Full day" +msgstr "하루 종일" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:161 +#: code:addons/web_calendar/static/src/js/calendar.js:174 +#, python-format +msgid "Description" +msgstr "설명" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:160 +#, python-format +msgid "Event will be deleted permanently, are you sure?" +msgstr "이벤트가 영구 삭제될 것입니다. 확실하십니까?" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/xml/web_calendar.xml:8 +#: code:addons/web_calendar/static/src/xml/web_calendar.xml:9 +#, python-format +msgid " " +msgstr " " + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:173 +#, python-format +msgid "Date" +msgstr "날짜" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:470 +#, python-format +msgid "Edit: " +msgstr "편집: " + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:150 +#, python-format +msgid "Day" +msgstr "일" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:157 +#, python-format +msgid "Edit" +msgstr "편집" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:169 +#, python-format +msgid "Enabled" +msgstr "활성화 됨" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:166 +#, python-format +msgid "Do you want to edit the whole set of repeated events?" +msgstr "반복 이벤트의 전체 세트를 편집하시겠습니까?" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:82 +#, python-format +msgid "Filter" +msgstr "필터" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:167 +#, python-format +msgid "Repeat event" +msgstr "이벤트 반복" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:172 +#: code:addons/web_calendar/static/src/js/calendar.js:180 +#, python-format +msgid "Agenda" +msgstr "의제" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:162 +#, python-format +msgid "Time period" +msgstr "시한" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:158 +#, python-format +msgid "Delete" +msgstr "삭제" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:152 +#, python-format +msgid "Month" +msgstr "월" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:168 +#, python-format +msgid "Disabled" +msgstr "비활성화 됨" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:435 +#, python-format +msgid "Create: " +msgstr "생성: " + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:177 +#, python-format +msgid "Year" +msgstr "년도" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:155 +#, python-format +msgid "Cancel" +msgstr "취소" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:28 +#, python-format +msgid "Calendar" +msgstr "달력" + +#. module: web_calendar +#. openerp-web +#: code:addons/web_calendar/static/src/js/calendar.js:93 +#, python-format +msgid "Calendar view has not defined 'date_start' attribute." +msgstr "달력 화면이 'date_start' 속성을 정의하지 않았습니다." diff --git a/addons/web_calendar/i18n/pt.po b/addons/web_calendar/i18n/pt.po index 965a8bf4e83..7ca2df084fc 100644 --- a/addons/web_calendar/i18n/pt.po +++ b/addons/web_calendar/i18n/pt.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" +"PO-Revision-Date: 2013-01-01 09:46+0000\n" "Last-Translator: Rui Franco (multibase.pt) \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2013-01-02 05:26+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web_calendar @@ -44,6 +44,8 @@ msgstr "Guardar" #, python-format msgid "Calendar view has a 'date_delay' type != float" msgstr "" +"O campo 'date_delay' da vista de calendário tem um tipo diferente de um " +"número fracional" #. module: web_calendar #. openerp-web @@ -129,7 +131,7 @@ msgstr "Activado" #: code:addons/web_calendar/static/src/js/calendar.js:166 #, python-format msgid "Do you want to edit the whole set of repeated events?" -msgstr "" +msgstr "Quer editar o conjunto inteiro de eventos?" #. module: web_calendar #. openerp-web @@ -214,4 +216,4 @@ msgstr "Calendário" #: code:addons/web_calendar/static/src/js/calendar.js:93 #, python-format msgid "Calendar view has not defined 'date_start' attribute." -msgstr "" +msgstr "A vista de calendário não tem definido o atributo 'date_start'." diff --git a/addons/web_calendar/i18n/sl.po b/addons/web_calendar/i18n/sl.po index 70b3c977647..4cc97a4bf9a 100644 --- a/addons/web_calendar/i18n/sl.po +++ b/addons/web_calendar/i18n/sl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Dusan Laznik \n" +"PO-Revision-Date: 2012-12-31 13:56+0000\n" +"Last-Translator: Dusan Laznik (Mentis) \n" "Language-Team: Slovenian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web_calendar @@ -43,7 +43,7 @@ msgstr "Shrani" #: code:addons/web_calendar/static/src/js/calendar.js:101 #, python-format msgid "Calendar view has a 'date_delay' type != float" -msgstr "Končni datum ni pravega tipa" +msgstr "Datum ni pravega tipa" #. module: web_calendar #. openerp-web @@ -115,7 +115,7 @@ msgstr "Dan" #: code:addons/web_calendar/static/src/js/calendar.js:157 #, python-format msgid "Edit" -msgstr "Uredi" +msgstr "Urejanje" #. module: web_calendar #. openerp-web diff --git a/addons/web_calendar/static/src/css/web_calendar.css b/addons/web_calendar/static/src/css/web_calendar.css index d40a7a2940a..214c777dbdc 100644 --- a/addons/web_calendar/static/src/css/web_calendar.css +++ b/addons/web_calendar/static/src/css/web_calendar.css @@ -18,7 +18,7 @@ .openerp .oe_calendar .dhx_cal_select_menu .dhx_menu_icon.icon_edit { display: none; } -.openerp .oe_calendar .dhx_cal_navline { +.openerp .oe_calendar .dhx_cal_navline, .openerp .oe_calendar .dhx_cal_header { z-index: auto; } .openerp .oe_calendar.oe_cal_month .dhx_cal_data table tr td:last-child div.dhx_month_body { diff --git a/addons/web_calendar/static/src/css/web_calendar.sass b/addons/web_calendar/static/src/css/web_calendar.sass index f6b6a1a5eeb..e4986981609 100644 --- a/addons/web_calendar/static/src/css/web_calendar.sass +++ b/addons/web_calendar/static/src/css/web_calendar.sass @@ -20,7 +20,7 @@ // Dhtmlx Scheduler css overrides .dhx_cal_select_menu .dhx_menu_icon.icon_edit display: none - .dhx_cal_navline + .dhx_cal_navline, .dhx_cal_header // dhtmlx sets the index to 3 (in glossy theme) // I didn't found the reason yet but it overlaps the // dropdown menus and I want to avoid a z-index war. diff --git a/addons/web_calendar/static/src/js/calendar.js b/addons/web_calendar/static/src/js/calendar.js index 9cac4db09d5..3c9a8a6fa9d 100644 --- a/addons/web_calendar/static/src/js/calendar.js +++ b/addons/web_calendar/static/src/js/calendar.js @@ -414,6 +414,20 @@ instance.web_calendar.CalendarView = instance.web.View.extend({ self.slow_create(event_id, event_obj); }); }, + get_form_popup_infos: function() { + var parent = this.getParent(); + var infos = { + view_id: false, + title: this.name, + }; + if (parent instanceof instance.web.ViewManager) { + infos.view_id = parent.get_view_id('form'); + if (parent instanceof instance.web.ViewManagerAction && parent.action && parent.action.name) { + infos.title = parent.action.name; + } + } + return infos; + }, slow_create: function(event_id, event_obj) { var self = this; if (this.current_mode() === 'month') { @@ -431,9 +445,11 @@ instance.web_calendar.CalendarView = instance.web.View.extend({ }); var something_saved = false; var pop = new instance.web.form.FormOpenPopup(this); + var pop_infos = this.get_form_popup_infos(); pop.show_element(this.dataset.model, null, this.dataset.get_context(defaults), { - title: _t("Create: ") + ' ' + this.name, + title: _.str.sprintf(_t("Create: %s"), pop_infos.title), disable_multiple_selection: true, + view_id: pop_infos.view_id, }); pop.on('closed', self, function() { if (!something_saved) { @@ -465,9 +481,11 @@ instance.web_calendar.CalendarView = instance.web.View.extend({ }); } else { var pop = new instance.web.form.FormOpenPopup(this); + var pop_infos = this.get_form_popup_infos(); var id_from_dataset = this.dataset.ids[index]; // dhtmlx scheduler loses id's type pop.show_element(this.dataset.model, id_from_dataset, this.dataset.get_context(), { - title: _t("Edit: ") + this.name + title: _.str.sprintf(_t("Edit: %s"), pop_infos.title), + view_id: pop_infos.view_id, }); pop.on('write_completed', self, function(){ self.reload_event(id_from_dataset); diff --git a/addons/web_diagram/i18n/cs.po b/addons/web_diagram/i18n/cs.po index 3590492d9ce..886ec4a941a 100644 --- a/addons/web_diagram/i18n/cs.po +++ b/addons/web_diagram/i18n/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Jiří Hajda \n" +"PO-Revision-Date: 2012-12-28 11:03+0000\n" +"Last-Translator: Jan Grmela \n" "Language-Team: openerp-i18n-czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" "X-Generator: Launchpad (build 16378)\n" "X-Poedit-Language: Czech\n" @@ -76,7 +76,7 @@ msgstr "Činnosti" #: code:addons/web_diagram/static/src/js/diagram.js:420 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web_diagram #. openerp-web diff --git a/addons/web_diagram/i18n/ko.po b/addons/web_diagram/i18n/ko.po new file mode 100644 index 00000000000..3e86b0b0a65 --- /dev/null +++ b/addons/web_diagram/i18n/ko.po @@ -0,0 +1,106 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 07:09+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:252 +#: code:addons/web_diagram/static/src/js/diagram.js:317 +#, python-format +msgid "Open: " +msgstr "열기: " + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:215 +#, python-format +msgid "" +"Deleting this node cannot be undone.\n" +"It will also delete all connected transitions.\n" +"\n" +"Are you sure ?" +msgstr "" +"해당 노드를 삭제하는 작업은 복구할 수 없습니다.\n" +"또한 모든 연결된 전환을 삭제할 것입니다.\n" +"\n" +"확실하십니까?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/xml/base_diagram.xml:13 +#, python-format +msgid "New Node" +msgstr "신규 노드" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:310 +#: code:addons/web_diagram/static/src/js/diagram.js:329 +#, python-format +msgid "Transition" +msgstr "전환" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:11 +#, python-format +msgid "Diagram" +msgstr "도표" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:244 +#: code:addons/web_diagram/static/src/js/diagram.js:278 +#, python-format +msgid "Activity" +msgstr "활동" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:420 +#, python-format +msgid "%d / %d" +msgstr "%d / %d" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:283 +#: code:addons/web_diagram/static/src/js/diagram.js:335 +#, python-format +msgid "Create:" +msgstr "생성:" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:185 +#, python-format +msgid "Are you sure?" +msgstr "확실하십니까?" + +#. module: web_diagram +#. openerp-web +#: code:addons/web_diagram/static/src/js/diagram.js:233 +#, python-format +msgid "" +"Deleting this transition cannot be undone.\n" +"\n" +"Are you sure ?" +msgstr "" +"해당 전환을 삭제하는 작업은 복구할 수 없습니다.\n" +"\n" +"확실하십니까 ?" diff --git a/addons/web_diagram/i18n/pl.po b/addons/web_diagram/i18n/pl.po index 6bdc4683105..23f73455cc8 100644 --- a/addons/web_diagram/i18n/pl.po +++ b/addons/web_diagram/i18n/pl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) \n" +"PO-Revision-Date: 2012-12-30 20:03+0000\n" +"Last-Translator: Rafał Perczyński \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2012-12-31 05:16+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web_diagram @@ -60,7 +60,7 @@ msgstr "Przejście" #: code:addons/web_diagram/static/src/js/diagram.js:11 #, python-format msgid "Diagram" -msgstr "" +msgstr "Diagram" #. module: web_diagram #. openerp-web @@ -75,7 +75,7 @@ msgstr "Aktywność" #: code:addons/web_diagram/static/src/js/diagram.js:420 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web_diagram #. openerp-web diff --git a/addons/web_gantt/i18n/ko.po b/addons/web_gantt/i18n/ko.po new file mode 100644 index 00000000000..215f1c20d40 --- /dev/null +++ b/addons/web_gantt/i18n/ko.po @@ -0,0 +1,32 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 06:02+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_gantt +#. openerp-web +#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10 +#, python-format +msgid "Create" +msgstr "생성" + +#. module: web_gantt +#. openerp-web +#: code:addons/web_gantt/static/src/js/gantt.js:11 +#, python-format +msgid "Gantt" +msgstr "간트" diff --git a/addons/web_gantt/static/src/js/gantt.js b/addons/web_gantt/static/src/js/gantt.js index dbe5a33fcca..f30fa6a83e6 100644 --- a/addons/web_gantt/static/src/js/gantt.js +++ b/addons/web_gantt/static/src/js/gantt.js @@ -24,8 +24,8 @@ instance.web_gantt.GanttView = instance.web.View.extend({ var self = this; this.fields_view = fields_view_get; this.$el.addClass(this.fields_view.arch.attrs['class']); - return new instance.web.Model(this.dataset.model) - .call('fields_get').then(function (fields) { + return self.alive(new instance.web.Model(this.dataset.model) + .call('fields_get')).then(function (fields) { self.fields = fields; self.has_been_loaded.resolve(); }); @@ -136,7 +136,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({ }); return group; } else { - var group = new GanttTaskInfo(_.uniqueId("gantt_project_task_"), group_name, task_start, duration, 100); + var group = new GanttTaskInfo(_.uniqueId("gantt_project_task_"), group_name, task_start, duration || 1, 100); _.each(task_infos, function(el) { group.addChildTask(el.task_info); }); @@ -161,7 +161,7 @@ instance.web_gantt.GanttView = instance.web.View.extend({ } var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60); var id = _.uniqueId("gantt_task_"); - var task_info = new GanttTaskInfo(id, task_name, task_start, ((duration / 24) * 8), 100); + var task_info = new GanttTaskInfo(id, task_name, task_start, ((duration / 24) * 8) || 1, 100); task_info.internal_task = task; task_ids[id] = task_info; return {task_info: task_info, task_start: task_start, task_stop: task_stop}; @@ -195,6 +195,8 @@ instance.web_gantt.GanttView = instance.web.View.extend({ $(rendered).prependTo(td); $(".oe_gantt_button_create", this.$el).click(this.on_task_create); } + // Fix for IE to display the content of gantt view. + this.$el.find(".oe_gantt td:first > div, .oe_gantt td:eq(1) > div > div").css("overflow", ""); }, on_task_changed: function(task_obj) { var self = this; diff --git a/addons/web_graph/i18n/cs.po b/addons/web_graph/i18n/cs.po index cbf7a3eb1ab..40e56ff91e9 100644 --- a/addons/web_graph/i18n/cs.po +++ b/addons/web_graph/i18n/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Zdeněk Havlík \n" +"PO-Revision-Date: 2012-12-28 11:45+0000\n" +"Last-Translator: Jan Grmela \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:38+0000\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web_graph @@ -22,14 +22,14 @@ msgstr "" #: code:addons/web_graph/static/src/xml/web_graph.xml:12 #, python-format msgid "Bars" -msgstr "" +msgstr "Sloupce" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:33 #, python-format msgid "Show Data" -msgstr "" +msgstr "Zobrazit data" #. module: web_graph #. openerp-web @@ -43,95 +43,95 @@ msgstr "Graf" #: code:addons/web_graph/static/src/xml/web_graph.xml:25 #, python-format msgid "Inside" -msgstr "" +msgstr "Uvnitř" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:3 #, python-format msgid "í" -msgstr "" +msgstr "í" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:11 #, python-format msgid "Pie" -msgstr "" +msgstr "Koláčový graf" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:28 #, python-format msgid "Actions" -msgstr "" +msgstr "Akce" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:7 #, python-format msgid "Graph Mode" -msgstr "" +msgstr "Režim grafu" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:18 #, python-format msgid "Radar" -msgstr "" +msgstr "Radarový" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:34 #, python-format msgid "Download as PNG" -msgstr "" +msgstr "Stáhnout jako PNG" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:26 #, python-format msgid "Top" -msgstr "" +msgstr "Nahoře" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:24 #, python-format msgid "Hidden" -msgstr "" +msgstr "Skrytý" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:3 #, python-format msgid "Graph Options" -msgstr "" +msgstr "Možnosti grafu" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:14 #, python-format msgid "Lines" -msgstr "" +msgstr "Čáry" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:20 #, python-format msgid "Legend" -msgstr "" +msgstr "Legenda" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:32 #, python-format msgid "Switch Axis" -msgstr "" +msgstr "Prohodit osy" #. module: web_graph #. openerp-web #: code:addons/web_graph/static/src/xml/web_graph.xml:15 #, python-format msgid "Areas" -msgstr "" +msgstr "Oblasti" diff --git a/addons/web_graph/i18n/ko.po b/addons/web_graph/i18n/ko.po new file mode 100644 index 00000000000..194bfdf79d5 --- /dev/null +++ b/addons/web_graph/i18n/ko.po @@ -0,0 +1,137 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 06:05+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:12 +#, python-format +msgid "Bars" +msgstr "막대" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:33 +#, python-format +msgid "Show Data" +msgstr "데이터 보기" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/js/graph.js:22 +#, python-format +msgid "Graph" +msgstr "그래프" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:25 +#, python-format +msgid "Inside" +msgstr "내부" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:3 +#, python-format +msgid "í" +msgstr "í" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:11 +#, python-format +msgid "Pie" +msgstr "파이" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:28 +#, python-format +msgid "Actions" +msgstr "액션" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:7 +#, python-format +msgid "Graph Mode" +msgstr "그래프 모드" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:18 +#, python-format +msgid "Radar" +msgstr "레이더" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:34 +#, python-format +msgid "Download as PNG" +msgstr "PNG 형식으로 다운로드" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:26 +#, python-format +msgid "Top" +msgstr "상단" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:24 +#, python-format +msgid "Hidden" +msgstr "숨겨짐" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:3 +#, python-format +msgid "Graph Options" +msgstr "그래프 옵션" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:14 +#, python-format +msgid "Lines" +msgstr "선" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:20 +#, python-format +msgid "Legend" +msgstr "범례" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:32 +#, python-format +msgid "Switch Axis" +msgstr "축 전환" + +#. module: web_graph +#. openerp-web +#: code:addons/web_graph/static/src/xml/web_graph.xml:15 +#, python-format +msgid "Areas" +msgstr "영역" diff --git a/addons/web_graph/i18n/pt.po b/addons/web_graph/i18n/pt.po index d76cec04a6d..ff6205e8a79 100644 --- a/addons/web_graph/i18n/pt.po +++ b/addons/web_graph/i18n/pt.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Virgílio Oliveira \n" +"PO-Revision-Date: 2012-12-31 09:05+0000\n" +"Last-Translator: Andrei Talpa (multibase.pt) \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:39+0000\n" +"X-Launchpad-Export-Date: 2013-01-01 05:19+0000\n" "X-Generator: Launchpad (build 16378)\n" #. module: web_graph @@ -29,7 +29,7 @@ msgstr "Barras" #: code:addons/web_graph/static/src/xml/web_graph.xml:33 #, python-format msgid "Show Data" -msgstr "" +msgstr "Mostrar dados" #. module: web_graph #. openerp-web @@ -43,7 +43,7 @@ msgstr "Gráfico" #: code:addons/web_graph/static/src/xml/web_graph.xml:25 #, python-format msgid "Inside" -msgstr "" +msgstr "Interior" #. module: web_graph #. openerp-web @@ -99,7 +99,7 @@ msgstr "Topo" #: code:addons/web_graph/static/src/xml/web_graph.xml:24 #, python-format msgid "Hidden" -msgstr "" +msgstr "Escondido" #. module: web_graph #. openerp-web @@ -127,7 +127,7 @@ msgstr "Legenda" #: code:addons/web_graph/static/src/xml/web_graph.xml:32 #, python-format msgid "Switch Axis" -msgstr "" +msgstr "Mudar eixo" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/i18n/pt_BR.po b/addons/web_graph/i18n/pt_BR.po index 5f48f52a118..e184b8b50a7 100644 --- a/addons/web_graph/i18n/pt_BR.po +++ b/addons/web_graph/i18n/pt_BR.po @@ -8,14 +8,15 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Luiz Fernando M.França \n" +"PO-Revision-Date: 2013-01-26 06:21+0000\n" +"Last-Translator: Fábio Martinelli - http://zupy.com.br " +"\n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:39+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-27 05:10+0000\n" +"X-Generator: Launchpad (build 16451)\n" #. module: web_graph #. openerp-web @@ -85,7 +86,7 @@ msgstr "Radar" #: code:addons/web_graph/static/src/xml/web_graph.xml:34 #, python-format msgid "Download as PNG" -msgstr "Download um PNG" +msgstr "Download como PNG" #. module: web_graph #. openerp-web diff --git a/addons/web_graph/static/src/js/graph.js b/addons/web_graph/static/src/js/graph.js index 35ad0aaaea8..8710b840209 100644 --- a/addons/web_graph/static/src/js/graph.js +++ b/addons/web_graph/static/src/js/graph.js @@ -246,7 +246,7 @@ instance.web_graph.GraphView = instance.web.View.extend({ var result = []; var ticks = {}; - return obj.call("fields_view_get", [view_id, 'graph']).then(function(tmp) { + return this.alive(obj.call("fields_view_get", [view_id, 'graph', context]).then(function(tmp) { view_get = tmp; fields = view_get['fields']; var toload = _.select(group_by, function(x) { return fields[x] === undefined }); @@ -368,7 +368,7 @@ instance.web_graph.GraphView = instance.web.View.extend({ 'ticks': _.map(ticks, function(el, key) { return [el, key] }) }; return res; - }); + })); }, // Render the graph and update menu styles diff --git a/addons/web_kanban/i18n/cs.po b/addons/web_kanban/i18n/cs.po index bdea8bdc645..30f03e9e328 100644 --- a/addons/web_kanban/i18n/cs.po +++ b/addons/web_kanban/i18n/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Jiří Hajda \n" +"PO-Revision-Date: 2012-12-28 11:47+0000\n" +"Last-Translator: Jan Grmela \n" "Language-Team: openerp-i18n-czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:39+0000\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" "X-Generator: Launchpad (build 16378)\n" "X-Poedit-Language: Czech\n" @@ -23,14 +23,14 @@ msgstr "" #: code:addons/web_kanban/static/src/js/kanban.js:704 #, python-format msgid "Edit column" -msgstr "" +msgstr "Upravit sloupec" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:418 #, python-format msgid "An error has occured while moving the record to this group." -msgstr "" +msgstr "Chyba při přesunu záznamu do této skupiny." #. module: web_kanban #. openerp-web @@ -51,35 +51,35 @@ msgstr "Neurčeno" #: code:addons/web_kanban/static/src/js/kanban.js:723 #, python-format msgid "Are you sure to remove this column ?" -msgstr "" +msgstr "Opravdu chcete odebrat tento sloupec?" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:42 #, python-format msgid "Edit" -msgstr "" +msgstr "Upravit" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:190 #, python-format msgid "Add column" -msgstr "" +msgstr "Přidat sloupec" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/js/kanban.js:1100 #, python-format msgid "Create: " -msgstr "" +msgstr "Vytvořit: " #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:24 #, python-format msgid "Add a new column" -msgstr "" +msgstr "Přidat nový sloupec" #. module: web_kanban #. openerp-web @@ -87,21 +87,21 @@ msgstr "" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:40 #, python-format msgid "Fold" -msgstr "" +msgstr "Sbalit" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 #, python-format msgid "Add" -msgstr "" +msgstr "Přidat" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:35 #, python-format msgid "Quick create" -msgstr "" +msgstr "Rychle vytvořit" #. module: web_kanban #. openerp-web @@ -115,7 +115,7 @@ msgstr "Opravdu jste si jisti, že chcete smazat tento záznam ?" #: code:addons/web_kanban/static/src/js/kanban.js:694 #, python-format msgid "Unfold" -msgstr "" +msgstr "Rozbalit" #. module: web_kanban #. openerp-web @@ -129,7 +129,7 @@ msgstr "Ukázat více... (" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:92 #, python-format msgid "Cancel" -msgstr "" +msgstr "Zrušit" #. module: web_kanban #. openerp-web @@ -144,18 +144,18 @@ msgstr "zbývajících)" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 #, python-format msgid "or" -msgstr "" +msgstr "nebo" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:51 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web_kanban #. openerp-web #: code:addons/web_kanban/static/src/xml/web_kanban.xml:43 #, python-format msgid "Delete" -msgstr "" +msgstr "Smazat" diff --git a/addons/web_kanban/i18n/it.po b/addons/web_kanban/i18n/it.po index e4838df44d3..5fbda2f742e 100644 --- a/addons/web_kanban/i18n/it.po +++ b/addons/web_kanban/i18n/it.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-22 14:05+0000\n" -"Last-Translator: Davide Corio - agilebg.com \n" +"PO-Revision-Date: 2013-01-12 00:07+0000\n" +"Last-Translator: Sergio Corato \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-23 05:09+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-13 05:27+0000\n" +"X-Generator: Launchpad (build 16420)\n" #. module: web_kanban #. openerp-web @@ -87,7 +87,7 @@ msgstr "Aggiungi una nuova colonna" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:40 #, python-format msgid "Fold" -msgstr "Chiudi" +msgstr "Restringi" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/ko.po b/addons/web_kanban/i18n/ko.po new file mode 100644 index 00000000000..621d9301fb5 --- /dev/null +++ b/addons/web_kanban/i18n/ko.po @@ -0,0 +1,160 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 06:02+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:704 +#, python-format +msgid "Edit column" +msgstr "열 편집" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:418 +#, python-format +msgid "An error has occured while moving the record to this group." +msgstr "기록을 해당 그룹으로 옮기는 동안 오류가 발생했습니다." + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:10 +#, python-format +msgid "Kanban" +msgstr "간판" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:557 +#, python-format +msgid "Undefined" +msgstr "정의되지 않음" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:723 +#, python-format +msgid "Are you sure to remove this column ?" +msgstr "정말로 해당 열을 제거하시겠습니다?" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:42 +#, python-format +msgid "Edit" +msgstr "편집" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:190 +#, python-format +msgid "Add column" +msgstr "열 추가" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:1100 +#, python-format +msgid "Create: " +msgstr "다음 생성: " + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:24 +#, python-format +msgid "Add a new column" +msgstr "열 추가" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:694 +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40 +#, python-format +msgid "Fold" +msgstr "접기" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 +#, python-format +msgid "Add" +msgstr "추가" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:35 +#, python-format +msgid "Quick create" +msgstr "빠른 추가" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:936 +#, python-format +msgid "Are you sure you want to delete this record ?" +msgstr "정말로 다음 기록을 삭제하시겠습니까 ?" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/js/kanban.js:694 +#, python-format +msgid "Unfold" +msgstr "펼치기" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:73 +#, python-format +msgid "Show more... (" +msgstr "더 보기... (" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:92 +#, python-format +msgid "Cancel" +msgstr "취소" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:73 +#, python-format +msgid "remaining)" +msgstr "남음)" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:22 +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 +#, python-format +msgid "or" +msgstr "또는" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:51 +#, python-format +msgid "99+" +msgstr "99+" + +#. module: web_kanban +#. openerp-web +#: code:addons/web_kanban/static/src/xml/web_kanban.xml:43 +#, python-format +msgid "Delete" +msgstr "삭제" diff --git a/addons/web_kanban/i18n/pt_BR.po b/addons/web_kanban/i18n/pt_BR.po index a4bd8e19e59..061241953de 100644 --- a/addons/web_kanban/i18n/pt_BR.po +++ b/addons/web_kanban/i18n/pt_BR.po @@ -8,14 +8,15 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Cristiano Korndörfer \n" +"PO-Revision-Date: 2013-01-26 06:23+0000\n" +"Last-Translator: Fábio Martinelli - http://zupy.com.br " +"\n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-22 07:39+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-01-27 05:10+0000\n" +"X-Generator: Launchpad (build 16451)\n" #. module: web_kanban #. openerp-web @@ -93,7 +94,7 @@ msgstr "Dobrar" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:91 #, python-format msgid "Add" -msgstr "Incluir" +msgstr "Adicionar" #. module: web_kanban #. openerp-web @@ -107,7 +108,7 @@ msgstr "Criar rapidamente" #: code:addons/web_kanban/static/src/js/kanban.js:936 #, python-format msgid "Are you sure you want to delete this record ?" -msgstr "Você tem certeza que quer deletar este registro ?" +msgstr "Você tem certeza que quer excluir este registro ?" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/i18n/tr.po b/addons/web_kanban/i18n/tr.po index e4e4ed20ba2..68d051f9644 100644 --- a/addons/web_kanban/i18n/tr.po +++ b/addons/web_kanban/i18n/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Ahmet Altınışık \n" +"PO-Revision-Date: 2013-02-15 20:44+0000\n" +"Last-Translator: Ayhan KIZILTAN \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: 2012-12-22 07:39+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: web_kanban #. openerp-web @@ -29,7 +29,7 @@ msgstr "Sütunu düzenle" #: code:addons/web_kanban/static/src/js/kanban.js:418 #, python-format msgid "An error has occured while moving the record to this group." -msgstr "" +msgstr "Kayıt bu gruba taşınırken bir hata oluştu." #. module: web_kanban #. openerp-web @@ -150,7 +150,7 @@ msgstr "veya" #: code:addons/web_kanban/static/src/xml/web_kanban.xml:51 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web_kanban #. openerp-web diff --git a/addons/web_kanban/static/src/css/kanban.css b/addons/web_kanban/static/src/css/kanban.css index 9026251acea..eaba760292c 100644 --- a/addons/web_kanban/static/src/css/kanban.css +++ b/addons/web_kanban/static/src/css/kanban.css @@ -5,6 +5,7 @@ } .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_dummy_cell { background: url(/web/static/src/img/form_sheetbg.png); + width: 100%; } .openerp .oe_kanban_view .ui-sortable-placeholder { border: 1px solid rgba(0, 0, 0, 0.1); @@ -32,7 +33,7 @@ clear: both; } .openerp .oe_kanban_view .oe_kanban_content { - word-break: break-all; + word-wrap: break-word; } .openerp .oe_kanban_view .oe_kanban_content .oe_star_on, .openerp .oe_kanban_view .oe_kanban_content .oe_star_off { color: #cccccc; @@ -77,13 +78,46 @@ font-size: 13px; } .openerp .oe_kanban_view .oe_kanban_group_title { + position: relative; font-size: 16px; font-weight: bold; color: #333333; text-shadow: 0 1px 0 white; + margin-right: 30px; + width: 200px; } -.openerp .oe_kanban_view .oe_kanban_group_title > span { +.openerp .oe_kanban_view .oe_kanban_group_title .oe_kanban_group_title_text { margin-right: 4px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.openerp .oe_kanban_view .oe_kanban_group_length { + text-align: center; + display: none; +} +.openerp .oe_kanban_view .oe_kanban_group_length .oe_tag { + position: relative; + top: +8px; + font-weight: bold; +} +.openerp .oe_kanban_view .oe_fold_column .oe_kanban_group_length { + position: absolute; + top: -1px; + right: -14px; + float: right; + display: block; +} +.openerp .oe_kanban_view .oe_kanban_header:hover .oe_kanban_group_length { + display: none; +} +.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column, .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header { + width: 185px; + min-width: 185px; +} +.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column.oe_kanban_group_folded, .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header.oe_kanban_group_folded { + width: auto; + min-width: 30px; } .openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_group_header { vertical-align: top; @@ -102,9 +136,6 @@ border-left: 1px solid #f0f8f8; border-right: 1px solid #b9b9b9; } -.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_group_header { - width: 1%; -} .openerp .oe_kanban_view .oe_form .oe_kanban_column { padding: 0px; background: white; @@ -119,7 +150,8 @@ .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title, .openerp .oe_kanban_view .oe_kanban_group_folded.oe_kanban_column *, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_aggregates, .openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_add { display: none; } -.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical { +.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_title_vertical, +.openerp .oe_kanban_view .oe_kanban_group_folded .oe_kanban_group_length { display: block; } .openerp .oe_kanban_view .oe_kanban_group_folded .oe_dropdown_kanban { @@ -141,7 +173,7 @@ display: none; position: relative; opacity: 0.75; - top: 20px; + top: 26px; } .openerp .oe_kanban_view .oe_kanban_add, .openerp .oe_kanban_view .oe_kanban_header .oe_dropdown_toggle { margin-left: 4px; @@ -153,6 +185,7 @@ } .openerp .oe_kanban_view .oe_kanban_header .oe_dropdown_toggle { top: -2px; + height: 14px; } .openerp .oe_kanban_view .oe_kanban_card, .openerp .oe_kanban_view .oe_dropdown_toggle { cursor: pointer; @@ -165,7 +198,7 @@ margin: 4px 0; } .openerp .oe_kanban_view .oe_kanban_no_group .oe_kanban_quick_create { - width: 200px; + width: 185px; padding: 10px; } .openerp .oe_kanban_view .oe_kanban_quick_create input { @@ -432,6 +465,14 @@ line-height: 12px; font-size: 22px; } +.openerp .oe_kanban_view .oe_kanban_footer_left .oe_tags { + margin-right: 0; +} +.openerp .oe_kanban_view .oe_kanban_footer_left .oe_tags .oe_tag { + display: inline-block; + padding: 0 2px; + line-height: 14px; +} .openerp .oe_kanban_view .oe_kanban_footer_left .oe_kanban_mail_new { line-height: 18px; background-color: #8a89ba; diff --git a/addons/web_kanban/static/src/css/kanban.sass b/addons/web_kanban/static/src/css/kanban.sass index d6734124def..7fef8604c97 100644 --- a/addons/web_kanban/static/src/css/kanban.sass +++ b/addons/web_kanban/static/src/css/kanban.sass @@ -53,6 +53,14 @@ height: inherit &.oe_kanban_grouped .oe_kanban_dummy_cell background: url(/web/static/src/img/form_sheetbg.png) + width: 100% + .oe_kanban_group_length + text-align: center + display: none + .oe_tag + position: relative + top: +8px + font-weight: bold .ui-sortable-placeholder border: 1px solid rgba(0,0,0,0.1) visibility: visible !important @@ -69,7 +77,7 @@ .oe_kanban_clear clear: both .oe_kanban_content - word-break: break-all + word-wrap: break-word .oe_star_on, .oe_star_off color: #ccc text-shadow: 0 0 2px black @@ -105,12 +113,32 @@ font-weight: normal font-size: 13px .oe_kanban_group_title + position: relative font-size: 16px font-weight: bold color: #333333 text-shadow: 0 1px 0 white - > span + margin-right: 30px + width: 200px + .oe_kanban_group_title_text margin-right: 4px + white-space: nowrap + overflow: hidden + text-overflow: ellipsis + .oe_fold_column + .oe_kanban_group_length + position: absolute + top: -1px + right: -14px + float: right + display: block + &.oe_kanban_grouped + .oe_kanban_column, .oe_kanban_group_header + width: 185px + min-width: 185px + &.oe_kanban_group_folded + width: auto + min-width: 30px .oe_kanban_column, .oe_kanban_group_header vertical-align: top @@ -126,10 +154,6 @@ background: #f0eeee border-left: 1px solid #f0f8f8 border-right: 1px solid #b9b9b9 - &.oe_kanban_grouped - .oe_kanban_group_header - width: 1% - .oe_form .oe_kanban_column padding: 0px @@ -143,7 +167,7 @@ .oe_kanban_group_folded .oe_kanban_group_title, &.oe_kanban_column *, .oe_kanban_aggregates, .oe_kanban_add display: none - .oe_kanban_group_title_vertical + .oe_kanban_group_title_vertical, .oe_kanban_group_length display: block .oe_dropdown_kanban left: -5px @@ -162,7 +186,7 @@ display: none position: relative opacity: 0.75 - top: 20px + top: 26px // }}} // KanbanQuickCreate {{{ .oe_kanban_add, .oe_kanban_header .oe_dropdown_toggle @@ -173,6 +197,7 @@ top: -8px .oe_kanban_header .oe_dropdown_toggle top: -2px + height: 14px; .oe_kanban_card, .oe_dropdown_toggle cursor: pointer display: inline-block @@ -182,7 +207,7 @@ .oe_kanban_quick_create_buttons margin: 4px 0 .oe_kanban_no_group .oe_kanban_quick_create - width: 200px + width: 185px padding: 10px .oe_kanban_quick_create input @include box-sizing(border-box) @@ -233,8 +258,9 @@ .oe_kanban_title font-weight: bold margin: 2px 4px - &.oe_kanban_grouped .oe_kanban_record - margin-bottom: 4px + &.oe_kanban_grouped + .oe_kanban_record + margin-bottom: 4px .oe_kanban_avatar_smallbox height: 40px width: 40px @@ -381,6 +407,12 @@ .oe_e line-height: 12px font-size: 22px + .oe_tags + margin-right: 0 + .oe_tag + display: inline-block + padding: 0 2px + line-height: 14px .oe_kanban_mail_new line-height: 18px background-color: #8a89ba diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 26526f85040..187694693b0 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -134,7 +134,9 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ switch (node.tag) { case 'field': if (this.fields_view.fields[node.attrs.name].type === 'many2many') { - this.many2manys.push(node.attrs.name); + if (_.indexOf(this.many2manys, node.attrs.name) < 0) { + this.many2manys.push(node.attrs.name); + } node.tag = 'div'; node.attrs['class'] = (node.attrs['class'] || '') + ' oe_form_field oe_tags'; } else { @@ -227,15 +229,15 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.search_domain = domain; this.search_context = context; this.search_group_by = group_by; - $.when(this.has_been_loaded).done(function() { + return $.when(this.has_been_loaded).then(function() { self.group_by = group_by.length ? group_by[0] : self.fields_view.arch.attrs.default_group_by; self.group_by_field = self.fields_view.fields[self.group_by] || {}; self.grouped_by_m2o = (self.group_by_field.type === 'many2one'); self.$buttons.find('.oe_alternative').toggle(self.grouped_by_m2o); self.$el.toggleClass('oe_kanban_grouped_by_m2o', self.grouped_by_m2o); - var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(self.group_by); - $.when(grouping).done(function(groups) { - self.do_clear_groups(); + var grouping_fields = self.group_by ? [self.group_by].concat(_.keys(self.aggregates)) : undefined; + var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(grouping_fields); + return self.alive($.when(grouping)).done(function(groups) { if (groups) { self.do_process_groups(groups); } else { @@ -248,6 +250,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ var self = this; this.$el.removeClass('oe_kanban_ungrouped').addClass('oe_kanban_grouped'); this.add_group_mutex.exec(function() { + self.do_clear_groups(); self.dataset.ids = []; if (!groups.length) { self.no_result(); @@ -275,6 +278,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ this.$el.removeClass('oe_kanban_grouped').addClass('oe_kanban_ungrouped'); this.add_group_mutex.exec(function() { var def = $.Deferred(); + self.do_clear_groups(); self.dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit }).done(function(records) { var kgroup = new instance.web_kanban.KanbanGroup(self, records, null, self.dataset); self.do_add_groups([kgroup]).done(function() { @@ -322,7 +326,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ }, on_groups_started: function() { var self = this; - this.compute_groups_width(); if (this.group_by) { // Kanban cards drag'n'drop var $columns = this.$el.find('.oe_kanban_column .oe_kanban_column_cards'); @@ -420,27 +423,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({ }); } }, - compute_groups_width: function() { - var unfolded = 0; - var self = this; - _.each(this.groups, function(group) { - unfolded += group.state.folded ? 0 : 1; - group.$el.children(':first').css('width', ''); - }); - _.each(this.groups, function(group) { - if (!group.state.folded) { - if (182*unfolded>=self.$el.width()) { - group.$el.children(':first').css('width', "170px"); - } else if (262*unfolded
]
-
- í - -
-
-
- - +
+
+ 99+
+ í + +
+
+
+
+ 99+ +
+
+
  • :
- + + +
diff --git a/addons/web_view_editor/i18n/cs.po b/addons/web_view_editor/i18n/cs.po new file mode 100644 index 00000000000..1312260f9ae --- /dev/null +++ b/addons/web_view_editor/i18n/cs.po @@ -0,0 +1,184 @@ +# Czech translation for openerp-web +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2012-12-28 11:50+0000\n" +"Last-Translator: Jan Grmela \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-12-29 05:36+0000\n" +"X-Generator: Launchpad (build 16378)\n" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:164 +#, python-format +msgid "The following fields are invalid :" +msgstr "Následující pole jsou neplatná:" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:63 +#, python-format +msgid "Create" +msgstr "Vytvořit" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:986 +#, python-format +msgid "New Field" +msgstr "Nové pole" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:386 +#, python-format +msgid "Do you really wants to create an inherited view here?" +msgstr "Opravdu zde chcete vytvořit zděděný pohled?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:396 +#, python-format +msgid "Preview" +msgstr "Náhled" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:183 +#, python-format +msgid "Do you really want to remove this view?" +msgstr "Opravdu chcete odstranit tento pohled?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:90 +#, python-format +msgid "Save" +msgstr "Uložit" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:393 +#, python-format +msgid "Select an element" +msgstr "Vyberte prvek" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:828 +#: code:addons/web_view_editor/static/src/js/view_editor.js:954 +#, python-format +msgid "Update" +msgstr "Aktualizovat" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:263 +#, python-format +msgid "Please select view in list :" +msgstr "Prosím vyberte pohled ze seznamu:" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:37 +#, python-format +msgid "Manage Views (%s)" +msgstr "Spravovat pohledy (%s)" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:13 +#, python-format +msgid "Manage Views" +msgstr "Spravovat pohledy" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:825 +#: code:addons/web_view_editor/static/src/js/view_editor.js:951 +#, python-format +msgid "Properties" +msgstr "Vlastnosti" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:64 +#, python-format +msgid "Edit" +msgstr "Upravit" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:14 +#, python-format +msgid "Could not find current view declaration" +msgstr "Nelze nalézt definici aktuálního pohledu" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:382 +#, python-format +msgid "Inherited View" +msgstr "Zděděný pohled" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:65 +#, python-format +msgid "Remove" +msgstr "Odebrat" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:516 +#, python-format +msgid "Do you really want to remove this node?" +msgstr "Opravdu chcete odstranit tento uzel?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:390 +#, python-format +msgid "Can't Update View" +msgstr "Nepodařilo se aktualizovat pohled" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:379 +#, python-format +msgid "View Editor %d - %s" +msgstr "Editor pohledů %d - %s" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:112 +#: code:addons/web_view_editor/static/src/js/view_editor.js:846 +#: code:addons/web_view_editor/static/src/js/view_editor.js:974 +#, python-format +msgid "Cancel" +msgstr "Zrušit" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:66 +#: code:addons/web_view_editor/static/src/js/view_editor.js:413 +#, python-format +msgid "Close" +msgstr "Zavřít" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:88 +#, python-format +msgid "Create a view (%s)" +msgstr "Vytvořit pohled (%s)" diff --git a/addons/web_view_editor/i18n/ko.po b/addons/web_view_editor/i18n/ko.po new file mode 100644 index 00000000000..12ba8b1d64f --- /dev/null +++ b/addons/web_view_editor/i18n/ko.po @@ -0,0 +1,184 @@ +# Korean translation for openerp-web +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openerp-web package. +# FIRST AUTHOR , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openerp-web\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-02-26 08:10+0000\n" +"Last-Translator: Josh Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-02-27 05:09+0000\n" +"X-Generator: Launchpad (build 16506)\n" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:164 +#, python-format +msgid "The following fields are invalid :" +msgstr "다음 필드는 유효하지 않습니다 :" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:63 +#, python-format +msgid "Create" +msgstr "생성" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:986 +#, python-format +msgid "New Field" +msgstr "신규 필드" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:386 +#, python-format +msgid "Do you really wants to create an inherited view here?" +msgstr "정말로 여기에 전승된 화면을 생성하길 원하십니까?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:396 +#, python-format +msgid "Preview" +msgstr "미리보기" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:183 +#, python-format +msgid "Do you really want to remove this view?" +msgstr "정말로 해당 화면을 제거하시겠습니까?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:90 +#, python-format +msgid "Save" +msgstr "저장" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:393 +#, python-format +msgid "Select an element" +msgstr "요소 선택" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:828 +#: code:addons/web_view_editor/static/src/js/view_editor.js:954 +#, python-format +msgid "Update" +msgstr "업데이트" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:263 +#, python-format +msgid "Please select view in list :" +msgstr "목록에서 화면을 선택하세요 :" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:37 +#, python-format +msgid "Manage Views (%s)" +msgstr "화면 관리 (%s)" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:13 +#, python-format +msgid "Manage Views" +msgstr "화면 관리" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:825 +#: code:addons/web_view_editor/static/src/js/view_editor.js:951 +#, python-format +msgid "Properties" +msgstr "속성" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:64 +#, python-format +msgid "Edit" +msgstr "편집" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:14 +#, python-format +msgid "Could not find current view declaration" +msgstr "현재 화면 선언을 찾을 수 없음" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:382 +#, python-format +msgid "Inherited View" +msgstr "전승 화면" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:65 +#, python-format +msgid "Remove" +msgstr "제거" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:516 +#, python-format +msgid "Do you really want to remove this node?" +msgstr "정말로 이 노드를 삭제하시겠습니까?" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:390 +#, python-format +msgid "Can't Update View" +msgstr "화면을 업데이트 할 수 없음" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:379 +#, python-format +msgid "View Editor %d - %s" +msgstr "화면 편집기 %d - %s" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:112 +#: code:addons/web_view_editor/static/src/js/view_editor.js:846 +#: code:addons/web_view_editor/static/src/js/view_editor.js:974 +#, python-format +msgid "Cancel" +msgstr "취소" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:66 +#: code:addons/web_view_editor/static/src/js/view_editor.js:413 +#, python-format +msgid "Close" +msgstr "닫기" + +#. module: web_view_editor +#. openerp-web +#: code:addons/web_view_editor/static/src/js/view_editor.js:88 +#, python-format +msgid "Create a view (%s)" +msgstr "화면 생성 (%s)" diff --git a/addons/web_view_editor/i18n/tr.po b/addons/web_view_editor/i18n/tr.po index 29a1d4e68cd..d6c2a7b7a44 100644 --- a/addons/web_view_editor/i18n/tr.po +++ b/addons/web_view_editor/i18n/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openerp-web\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2012-12-21 23:00+0000\n" -"Last-Translator: Mustafa TÜRKER \n" +"PO-Revision-Date: 2013-02-15 20:44+0000\n" +"Last-Translator: Ayhan KIZILTAN \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: 2012-12-22 07:39+0000\n" -"X-Generator: Launchpad (build 16378)\n" +"X-Launchpad-Export-Date: 2013-02-16 05:40+0000\n" +"X-Generator: Launchpad (build 16491)\n" #. module: web_view_editor #. openerp-web @@ -150,7 +150,7 @@ msgstr "Bu düğümü(node) silmek istediğinize emin misiniz?" #: code:addons/web_view_editor/static/src/js/view_editor.js:390 #, python-format msgid "Can't Update View" -msgstr "" +msgstr "Görünüm Güncellenemiyor" #. module: web_view_editor #. openerp-web