[MERGE] from trunk
bzr revid: chm@openerp.com-20121210095444-zyxz07o93t14ziun
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import http
|
||||
import controllers
|
||||
import cli
|
||||
|
||||
wsgi_postload = http.wsgi_postload
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
import test_js
|
||||
@@ -0,0 +1,35 @@
|
||||
import logging
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
import unittest2
|
||||
|
||||
import openerp
|
||||
import openerp.addons.web.tests
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
class TestJs(openerp.cli.Command):
|
||||
def run(self, args):
|
||||
self.parser = parser = optparse.OptionParser()
|
||||
parser.add_option("-d", "--database", dest="db_name", default=False, help="specify the database name")
|
||||
parser.add_option("--xmlrpc-port", dest="xmlrpc_port", default=8069, help="specify the TCP port for the XML-RPC protocol", type="int")
|
||||
# proably need to add both --superadmin-password and --database-admin-password
|
||||
self.parser.parse_args(args)
|
||||
|
||||
# test ony uses db_name xmlrpc_port admin_passwd, so use the server one for the actual parsing
|
||||
|
||||
config = openerp.tools.config
|
||||
config.parse_config(args)
|
||||
# needed until runbot is fixed
|
||||
config['db_password'] = config['admin_passwd']
|
||||
|
||||
# run js tests
|
||||
openerp.netsvc.init_alternative_logger()
|
||||
suite = unittest2.TestSuite()
|
||||
suite.addTests(unittest2.TestLoader().loadTestsFromModule(openerp.addons.web.tests.test_js))
|
||||
r = unittest2.TextTestRunner(verbosity=2).run(suite)
|
||||
if r.errors or r.failures:
|
||||
sys.exit(1)
|
||||
|
||||
# vim:et:ts=4:sw=4:
|
||||
@@ -12,17 +12,18 @@ Contents:
|
||||
:maxdepth: 1
|
||||
|
||||
module
|
||||
testing
|
||||
|
||||
widget
|
||||
|
||||
async
|
||||
rpc
|
||||
qweb
|
||||
client_action
|
||||
form_view
|
||||
|
||||
testing
|
||||
|
||||
search_view
|
||||
list_view
|
||||
form_view
|
||||
|
||||
changelog-7.0
|
||||
|
||||
|
||||
@@ -16,6 +16,11 @@ XML-based templating language, similar to `Genshi
|
||||
OpenERP Web (and it's possible to use :class:`~instance.web.Widget`
|
||||
without relying on the QWeb integration).
|
||||
|
||||
The rationale behind using QWeb instead of a more popular template syntax is
|
||||
that its extension mechanism is very similar to the openerp view inheritance
|
||||
mechanism. Like openerp views a QWeb template is an xml tree and therefore
|
||||
xpath or dom manipulations are easy to performs on it.
|
||||
|
||||
Here's an example demonstrating most of the basic QWeb features:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-06 19:10+0000\n"
|
||||
"PO-Revision-Date: 2012-12-07 19:11+0000\n"
|
||||
"Last-Translator: Eduardo Alberto Calvo <Unknown>\n"
|
||||
"Language-Team: Spanish <es@li.org>\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-07 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
@@ -2373,7 +2373,7 @@ msgstr "Disparador activado desde la vista de búsqueda"
|
||||
#: code:addons/web/static/src/js/search.js:980
|
||||
#, python-format
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtro"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-06 15:39+0000\n"
|
||||
"PO-Revision-Date: 2012-12-07 13:23+0000\n"
|
||||
"Last-Translator: fshahy <fshahy@gmail.com>\n"
|
||||
"Language-Team: Persian <fa@li.org>\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-07 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
@@ -36,7 +36,7 @@ msgstr "%d دقیقه پیش"
|
||||
#: code:addons/web/static/src/js/coresetup.js:621
|
||||
#, python-format
|
||||
msgid "Still loading...<br />Please be patient."
|
||||
msgstr ""
|
||||
msgstr "در حال بارگذاری...</ br> لطفا صبر کنید."
|
||||
|
||||
#. 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
|
||||
@@ -82,7 +82,7 @@ msgstr "تغییر کلمه عبور اصلی"
|
||||
#: 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
|
||||
@@ -120,7 +120,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
|
||||
@@ -134,7 +134,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/coresetup.js:592
|
||||
#, python-format
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
msgstr "حدود یک دقیقه قبل"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -154,7 +154,7 @@ msgstr "هیچ یک از فیلد های کلمه عبور نباید خالی
|
||||
#: code:addons/web/static/src/js/chrome.js:681
|
||||
#, python-format
|
||||
msgid "Invalid username or password"
|
||||
msgstr "نام کاربر یا گذرواژهٔ نامعتبر"
|
||||
msgstr "نام کاربری یا کلمه عبور معتبر نیست"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+77
-69
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-06 17:55+0000\n"
|
||||
"PO-Revision-Date: 2012-12-09 18:47+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\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-07 04:47+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
@@ -59,7 +59,7 @@ msgstr "manje ili jednako od"
|
||||
#: code:addons/web/static/src/js/chrome.js:393
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Upišite trenutno važeću lozinku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -82,7 +82,7 @@ msgstr "Promijeni glavnu lozinku"
|
||||
#: code:addons/web/static/src/js/chrome.js:491
|
||||
#, python-format
|
||||
msgid "Do you really want to delete the database: %s ?"
|
||||
msgstr ""
|
||||
msgstr "Zaista želite obrisati bazu podataka: %s ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -96,7 +96,7 @@ msgstr "Traži %(field)s at: %(value)s"
|
||||
#: code:addons/web/static/src/js/chrome.js:537
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Pristup odbijen / zabranjen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -120,7 +120,7 @@ msgstr "Backup baze podataka"
|
||||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravan datum"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -147,7 +147,7 @@ msgstr "Datoteka"
|
||||
#: code:addons/web/controllers/main.py:842
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "Popunite sva polja."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -207,7 +207,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:1242
|
||||
#, python-format
|
||||
msgid "Widget type '%s' is not implemented"
|
||||
msgstr ""
|
||||
msgstr "Widget tipa '%s' nije implementiran"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -236,7 +236,7 @@ msgstr "(prazno)"
|
||||
#: code:addons/web/static/src/js/formats.js:282
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravno vrijeme"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -271,7 +271,7 @@ msgstr "Nedefiniran"
|
||||
#: code:addons/web/static/src/js/view_form.js:4831
|
||||
#, python-format
|
||||
msgid "File Upload"
|
||||
msgstr ""
|
||||
msgstr "Slanje datoteke"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -335,7 +335,7 @@ msgstr "Promijeni lozinku"
|
||||
#: code:addons/web/static/src/js/view_form.js:3382
|
||||
#, python-format
|
||||
msgid "View type '%s' is not supported in One2Many."
|
||||
msgstr ""
|
||||
msgstr "Pogled tipa '%s' nije podržan za JedanNaViše (One2Many) polja."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -350,7 +350,7 @@ msgstr "Preuzimanje"
|
||||
#: code:addons/web/static/src/js/formats.js:266
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravno vrijeme"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -378,13 +378,13 @@ msgstr "Odabir:"
|
||||
#: code:addons/web/static/src/js/view_form.js:869
|
||||
#, python-format
|
||||
msgid "The following fields are invalid:"
|
||||
msgstr ""
|
||||
msgstr "Popis neispravnih polja:"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:863
|
||||
#, python-format
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
msgstr "Jezici"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -405,7 +405,7 @@ msgstr "Uvoz"
|
||||
#: code:addons/web/static/src/js/chrome.js:543
|
||||
#, python-format
|
||||
msgid "Could not restore the database"
|
||||
msgstr ""
|
||||
msgstr "Oporavak baze podataka nije uspješno dovršen"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -518,7 +518,7 @@ msgstr "Operator %s nije podržan unutar domene %s"
|
||||
#: code:addons/web/static/src/js/formats.js:242
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct float"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravna decimalna vrijednost"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -532,7 +532,7 @@ msgstr "Oporavljeno"
|
||||
#: code:addons/web/static/src/js/view_list.js:392
|
||||
#, python-format
|
||||
msgid "%d-%d of %d"
|
||||
msgstr ""
|
||||
msgstr "%d-%d od %d"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -546,14 +546,14 @@ msgstr "Kreiraj i uredi"
|
||||
#: code:addons/web/static/src/js/pyeval.js:731
|
||||
#, python-format
|
||||
msgid "Unknown nonliteral type "
|
||||
msgstr ""
|
||||
msgstr "Nepoznat tip podatka "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2345
|
||||
#, python-format
|
||||
msgid "Resource error"
|
||||
msgstr ""
|
||||
msgstr "Greška resursa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -574,7 +574,7 @@ msgstr "Ispiši tijek rada"
|
||||
#: code:addons/web/static/src/js/chrome.js:396
|
||||
#, python-format
|
||||
msgid "Please confirm your new password"
|
||||
msgstr ""
|
||||
msgstr "Potvrdite Vašu novu zaporku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -623,7 +623,7 @@ msgstr "Polja %s modela"
|
||||
#: code:addons/web/static/src/js/view_list.js:890
|
||||
#, python-format
|
||||
msgid "Setting 'id' attribute on existing record %s"
|
||||
msgstr ""
|
||||
msgstr "Postavljanje 'id' atributa na postojećem zapisu %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -668,13 +668,15 @@ msgstr "Action ID:"
|
||||
#, python-format
|
||||
msgid "Your user's preference timezone does not match your browser timezone:"
|
||||
msgstr ""
|
||||
"Pojasno vrijeme u Vašim korisničkim podacima ne odgovara pojasnom vremenu "
|
||||
"zadanom u Vašem Internet pretraživaču"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:1238
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Ne postoji polje '%s', a navedeno je u definiciji pogleda."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -702,7 +704,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 "Baza podataka je duplicirana."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -731,7 +733,7 @@ msgstr "Spremi kao"
|
||||
#: code:addons/web/static/src/js/view_form.js:2316
|
||||
#, python-format
|
||||
msgid "E-mail error"
|
||||
msgstr ""
|
||||
msgstr "E-mail greška"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -793,7 +795,7 @@ msgstr "Graničnik:"
|
||||
#: code:addons/web/static/src/xml/base.xml:458
|
||||
#, python-format
|
||||
msgid "Browser's timezone"
|
||||
msgstr ""
|
||||
msgstr "Pojasno vrijeme internet preglednika"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -838,7 +840,7 @@ msgstr "OpenERP.com"
|
||||
#: code:addons/web/static/src/js/view_form.js:2316
|
||||
#, python-format
|
||||
msgid "Can't send email to invalid e-mail address"
|
||||
msgstr ""
|
||||
msgstr "Nije moguće poslati email na neispravne e-mail adrese"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -859,7 +861,7 @@ msgstr "Postavke"
|
||||
#: code:addons/web/static/src/js/view_form.js:434
|
||||
#, python-format
|
||||
msgid "Wrong on change format: %s"
|
||||
msgstr ""
|
||||
msgstr "Greška u promjeni formata: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -874,7 +876,7 @@ msgstr "Obriši bazu podataka"
|
||||
#: code:addons/web/static/src/xml/base.xml:462
|
||||
#, python-format
|
||||
msgid "Click here to change your user's timezone."
|
||||
msgstr ""
|
||||
msgstr "Kliknite ovdje za promjenu korisničkog pojasnog vremena"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -920,21 +922,21 @@ msgstr "Korisničko ime"
|
||||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "Duplicating database"
|
||||
msgstr ""
|
||||
msgstr "Dupliciram bazu podataka"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Password has been changed successfully"
|
||||
msgstr ""
|
||||
msgstr "Lozinka uspješno promjenjena"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list_editable.js:781
|
||||
#, python-format
|
||||
msgid "The form's data can not be discarded"
|
||||
msgstr ""
|
||||
msgstr "Podaci (form's data) se ne mogu odbaciti"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -969,6 +971,10 @@ msgid ""
|
||||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
"Greška lokalne evaluacije\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1003,7 +1009,7 @@ msgstr "Kreirano:"
|
||||
#: code:addons/web/controllers/main.py:851
|
||||
#, python-format
|
||||
msgid "Error, password not changed !"
|
||||
msgstr ""
|
||||
msgstr "Greška, lozika nije promjenjena!"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1025,7 +1031,7 @@ msgstr "/web/binary/upload_attachment"
|
||||
#: code:addons/web/static/src/js/chrome.js:563
|
||||
#, python-format
|
||||
msgid "Changed Password"
|
||||
msgstr ""
|
||||
msgstr "Promjenjena lozinka"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1059,14 +1065,14 @@ msgstr "Arhiviranje/Backup"
|
||||
#: code:addons/web/static/src/js/dates.js:80
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid time"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravno vrijeme"
|
||||
|
||||
#. 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' nije ispravan datum"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1120,7 +1126,7 @@ msgstr "Zadnju promjenu napravio:"
|
||||
#: code:addons/web/static/src/xml/base.xml:466
|
||||
#, python-format
|
||||
msgid "Timezone mismatch"
|
||||
msgstr ""
|
||||
msgstr "Neslaganje vremenskih pojasa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1189,7 +1195,7 @@ msgstr "Dodaj napredni filter"
|
||||
#: code:addons/web/controllers/main.py:844
|
||||
#, python-format
|
||||
msgid "The new password and its confirmation must be identical."
|
||||
msgstr ""
|
||||
msgstr "Nova lozinka i potvrda lozinke moraju biti identične."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1204,7 +1210,7 @@ msgstr "Povrati bazu podataka"
|
||||
#: code:addons/web/static/src/js/chrome.js:645
|
||||
#, python-format
|
||||
msgid "Login"
|
||||
msgstr ""
|
||||
msgstr "Prijava"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1247,7 +1253,7 @@ msgstr "Grupiraj po: %s"
|
||||
#: code:addons/web/static/src/js/view_form.js:151
|
||||
#, python-format
|
||||
msgid "No data provided."
|
||||
msgstr ""
|
||||
msgstr "Nema podataka."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1290,7 +1296,7 @@ msgstr "Neispravna pretraga"
|
||||
#: code:addons/web/static/src/js/view_list.js:959
|
||||
#, python-format
|
||||
msgid "Could not find id in dataset"
|
||||
msgstr ""
|
||||
msgstr "Id nije pronađen u podacima"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1318,7 +1324,7 @@ 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 "Nova lozinka i potvrda su različite"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1357,7 +1363,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:393
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1371,7 +1377,7 @@ msgstr "1. Uvezi .CSV datoteku"
|
||||
#: code:addons/web/static/src/js/chrome.js:645
|
||||
#, python-format
|
||||
msgid "No database selected !"
|
||||
msgstr ""
|
||||
msgstr "Nije odabrana baza podataka"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1409,7 +1415,7 @@ msgstr "je jednako"
|
||||
#: code:addons/web/static/src/js/views.js:1455
|
||||
#, python-format
|
||||
msgid "Could not serialize XML"
|
||||
msgstr ""
|
||||
msgstr "Could not serialize XML"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1513,14 +1519,14 @@ msgstr "Stablo"
|
||||
#: code:addons/web/controllers/main.py:766
|
||||
#, python-format
|
||||
msgid "Could not drop database !"
|
||||
msgstr ""
|
||||
msgstr "Brisanje baze podataka nije uspjelo!"
|
||||
|
||||
#. 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' nije ispravna cjelobrojna vrijednost"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1541,7 +1547,7 @@ msgstr "Nepoznato polje %s unutar domene %s"
|
||||
#: code:addons/web/static/src/js/views.js:1421
|
||||
#, python-format
|
||||
msgid "Node [%s] is not a JSONified XML node"
|
||||
msgstr ""
|
||||
msgstr "Node [%s] nije JSONified XML node"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1555,7 +1561,7 @@ msgstr "Napredno pretraživanje"
|
||||
#: code:addons/web/static/src/js/chrome.js:499
|
||||
#, python-format
|
||||
msgid "Dropping database"
|
||||
msgstr ""
|
||||
msgstr "Brisanje baze podataka"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1578,7 +1584,7 @@ msgstr "Da"
|
||||
#: code:addons/web/static/src/js/view_form.js:4831
|
||||
#, python-format
|
||||
msgid "There was a problem while uploading your file"
|
||||
msgstr ""
|
||||
msgstr "Pojavio se problem kod učitavanja vaše datoteke"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1620,7 +1626,7 @@ msgstr "%d godina prije"
|
||||
#: code:addons/web/static/src/js/view_list.js:1019
|
||||
#, python-format
|
||||
msgid "Unknown m2m command %s"
|
||||
msgstr ""
|
||||
msgstr "Napoznata m2m naredba %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1643,14 +1649,14 @@ msgstr "Naziv nove baze podataka:"
|
||||
#: code:addons/web/static/src/js/chrome.js:394
|
||||
#, python-format
|
||||
msgid "Please enter your new password"
|
||||
msgstr ""
|
||||
msgstr "Molim, unesite novu lozinku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/views.js:1463
|
||||
#, python-format
|
||||
msgid "Could not parse string to xml"
|
||||
msgstr ""
|
||||
msgstr "Could not parse string to xml"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1699,7 +1705,7 @@ msgstr "Copyright © 2004-TODAY OpenERP SA. Sva prava pridržana."
|
||||
#: code:addons/web/static/src/js/view_form.js:2345
|
||||
#, python-format
|
||||
msgid "This resource is empty"
|
||||
msgstr ""
|
||||
msgstr "Ovaj resurs je prazan"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1757,7 +1763,7 @@ msgstr "Polja pogleda"
|
||||
#: code:addons/web/static/src/xml/base.xml:330
|
||||
#, python-format
|
||||
msgid "Confirm New Password:"
|
||||
msgstr ""
|
||||
msgstr "Potvrda nove zaporke:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1908,7 +1914,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:319
|
||||
#, python-format
|
||||
msgid "The record could not be found in the database."
|
||||
msgstr ""
|
||||
msgstr "Zapis nije pronađen u bazi podataka."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1929,7 +1935,7 @@ msgstr "Tip:"
|
||||
#: code:addons/web/static/src/js/chrome.js:538
|
||||
#, python-format
|
||||
msgid "Incorrect super-administrator password"
|
||||
msgstr ""
|
||||
msgstr "Neispravna lozinka super-administratora"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1971,6 +1977,8 @@ msgid ""
|
||||
"The type of the field '%s' must be a many2many field with a relation to "
|
||||
"'ir.attachment' model."
|
||||
msgstr ""
|
||||
"Tip polja '%s' mora biti VišeNaViše (many2many) polje u relaciji sa "
|
||||
"'ir.attachment' (privici) modelom."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2035,14 +2043,14 @@ msgstr "Učitaj demonstracijske podatke:"
|
||||
#: code:addons/web/static/src/js/dates.js:26
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravno vrijeme"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/views.js:1471
|
||||
#, python-format
|
||||
msgid "Could not find a DOM Parser: %s"
|
||||
msgstr ""
|
||||
msgstr "Could not find a DOM Parser: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2122,14 +2130,14 @@ msgstr "Preuzimanje \"%s\""
|
||||
#: code:addons/web/static/src/js/view_form.js:324
|
||||
#, python-format
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
msgstr "Nova(i)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:1746
|
||||
#, python-format
|
||||
msgid "Can't convert value %s to context"
|
||||
msgstr ""
|
||||
msgstr "Vrijednost %s ne odgovara za context"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2202,13 +2210,13 @@ msgstr "O OpenERP-u"
|
||||
#: code:addons/web/static/src/js/formats.js:297
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct date, datetime nor time"
|
||||
msgstr ""
|
||||
msgstr "'%s' nije ispravno vrijeme ili datum"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:1306
|
||||
#, python-format
|
||||
msgid "No content found for field '%s' on '%s:%s'"
|
||||
msgstr ""
|
||||
msgstr "Nedostaje kontekst za polje '%s' na '%s:%s'"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2236,7 +2244,7 @@ msgstr "Upravljanje bazama podataka"
|
||||
#: code:addons/web/static/src/js/pyeval.js:765
|
||||
#, python-format
|
||||
msgid "Evaluation Error"
|
||||
msgstr ""
|
||||
msgstr "Greška evaluacije"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2269,7 +2277,7 @@ msgstr "Ne"
|
||||
#: code:addons/web/static/src/js/formats.js:309
|
||||
#, python-format
|
||||
msgid "'%s' is not convertible to date, datetime nor time"
|
||||
msgstr ""
|
||||
msgstr "Interpretacija '%s' ne reultira datumom ili vremenom"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2344,7 +2352,7 @@ msgstr "Polje je prazno. Ništa za snimanje !"
|
||||
#: code:addons/web/static/src/js/view_list.js:1327
|
||||
#, python-format
|
||||
msgid "%s (%d)"
|
||||
msgstr ""
|
||||
msgstr "%s (%d)"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2407,7 +2415,7 @@ msgstr "Obrisati privitak?"
|
||||
#: code:addons/web/static/src/js/views.js:838
|
||||
#, python-format
|
||||
msgid "Technical Translation"
|
||||
msgstr ""
|
||||
msgstr "tehnički prijevod"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2421,14 +2429,14 @@ msgstr "Polje:"
|
||||
#: code:addons/web/static/src/js/chrome.js:499
|
||||
#, python-format
|
||||
msgid "The database %s has been dropped"
|
||||
msgstr ""
|
||||
msgstr "Baza podataka %s je obrisana"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:456
|
||||
#, python-format
|
||||
msgid "User's timezone"
|
||||
msgstr ""
|
||||
msgstr "Korisnikov vremenski pojas"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2457,7 +2465,7 @@ msgstr "Posebno:"
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The old password you provided is incorrect, your password was not changed."
|
||||
msgstr ""
|
||||
msgstr "Trenutna lozinka nije točno upisana. Lozinka nije promijenjena."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+27
-27
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-02-07 20:51+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"PO-Revision-Date: 2012-12-09 20:29+0000\n"
|
||||
"Last-Translator: Rafał Perczyński <rafal@pery.com.pl>\n"
|
||||
"Language-Team: Polish <pl@li.org>\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-01 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -29,14 +29,14 @@ msgstr "Domyślny język:"
|
||||
#: code:addons/web/static/src/js/coresetup.js:593
|
||||
#, python-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr ""
|
||||
msgstr "%d minut temu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:621
|
||||
#, python-format
|
||||
msgid "Still loading...<br />Please be patient."
|
||||
msgstr ""
|
||||
msgstr "Trwa ładowanie...<br />Bądź cierpliwy."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -59,7 +59,7 @@ msgstr "równe lub mniejsze niż"
|
||||
#: code:addons/web/static/src/js/chrome.js:393
|
||||
#, python-format
|
||||
msgid "Please enter your previous password"
|
||||
msgstr ""
|
||||
msgstr "Wpisz twoje poprzednie hasło"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -68,21 +68,21 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:282
|
||||
#, python-format
|
||||
msgid "Master password:"
|
||||
msgstr "Hasło madrzędne:"
|
||||
msgstr "Hasło nadrzędne"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:274
|
||||
#, python-format
|
||||
msgid "Change Master Password"
|
||||
msgstr ""
|
||||
msgstr "Zmień Hasło Główne"
|
||||
|
||||
#. 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 "Jesteś pewny że chcesz usunąć bazę danych: %s ?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -96,14 +96,14 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/chrome.js:537
|
||||
#, python-format
|
||||
msgid "Access Denied"
|
||||
msgstr ""
|
||||
msgstr "Odmowa dostępu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:594
|
||||
#, python-format
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
msgstr "około godziny temu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -112,7 +112,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:216
|
||||
#, python-format
|
||||
msgid "Backup Database"
|
||||
msgstr ""
|
||||
msgstr "Kopia zapasowa bazy danych"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -120,7 +120,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/dates.js:53
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid date"
|
||||
msgstr ""
|
||||
msgstr "'%s' nie jest poprawną datą"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -134,20 +134,20 @@ msgstr "Oto podgląd pliku, którego nie można zaimportować:"
|
||||
#: code:addons/web/static/src/js/coresetup.js:592
|
||||
#, python-format
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
msgstr "około minuty temu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1272
|
||||
#, python-format
|
||||
msgid "File"
|
||||
msgstr ""
|
||||
msgstr "Plik"
|
||||
|
||||
#. module: web
|
||||
#: code:addons/web/controllers/main.py:842
|
||||
#, python-format
|
||||
msgid "You cannot leave any password empty."
|
||||
msgstr ""
|
||||
msgstr "hasło nie może być puste"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -235,7 +235,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/formats.js:282
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct time"
|
||||
msgstr ""
|
||||
msgstr "'%s' nie jest poprawnym czasem"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -270,21 +270,21 @@ msgstr "Niezdefiniowany"
|
||||
#: code:addons/web/static/src/js/view_form.js:4831
|
||||
#, python-format
|
||||
msgid "File Upload"
|
||||
msgstr ""
|
||||
msgstr "Wyślij plik"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:598
|
||||
#, python-format
|
||||
msgid "about a month ago"
|
||||
msgstr ""
|
||||
msgstr "około miesiąca temu"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:1575
|
||||
#, python-format
|
||||
msgid "Custom Filters"
|
||||
msgstr ""
|
||||
msgstr "Własne filtry"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -305,14 +305,14 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/search.js:1555
|
||||
#, python-format
|
||||
msgid "Custom Filter"
|
||||
msgstr ""
|
||||
msgstr "Własny filtr"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:159
|
||||
#, python-format
|
||||
msgid "Duplicate Database"
|
||||
msgstr ""
|
||||
msgstr "Duplikuj bazę danych"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -349,14 +349,14 @@ msgstr "Pobierz"
|
||||
#: code:addons/web/static/src/js/formats.js:266
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct datetime"
|
||||
msgstr ""
|
||||
msgstr "'%s' nie jest poprawną datą"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_list.js:415
|
||||
#, python-format
|
||||
msgid "Group"
|
||||
msgstr ""
|
||||
msgstr "Grupa"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -383,7 +383,7 @@ msgstr ""
|
||||
#: code:addons/web/controllers/main.py:863
|
||||
#, python-format
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
msgstr "Języki"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -411,7 +411,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:4811
|
||||
#, python-format
|
||||
msgid "File upload"
|
||||
msgstr ""
|
||||
msgstr "Wysyłanie pliku"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
+38
-34
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-05 10:11+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-07 11:24+0000\n"
|
||||
"Last-Translator: Virgílio Oliveira <virgilio.oliveira@multibase.pt>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\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-06 04:54+0000\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
@@ -519,7 +519,7 @@ msgstr "Operador não suportado %s no domínio %s"
|
||||
#: code:addons/web/static/src/js/formats.js:242
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct float"
|
||||
msgstr ""
|
||||
msgstr "'%s' não é um número fracional correto"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -547,14 +547,14 @@ msgstr "Criar e editar"
|
||||
#: code:addons/web/static/src/js/pyeval.js:731
|
||||
#, python-format
|
||||
msgid "Unknown nonliteral type "
|
||||
msgstr ""
|
||||
msgstr "Tipo não literal desconhecido "
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/view_form.js:2345
|
||||
#, python-format
|
||||
msgid "Resource error"
|
||||
msgstr ""
|
||||
msgstr "Erro de recurso"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -596,7 +596,7 @@ msgstr "Para mais informações visite"
|
||||
#: code:addons/web/static/src/xml/base.xml:1834
|
||||
#, python-format
|
||||
msgid "Add All Info..."
|
||||
msgstr ""
|
||||
msgstr "Adicionar toda a informação..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -624,7 +624,7 @@ msgstr "Campos %s modelo"
|
||||
#: code:addons/web/static/src/js/view_list.js:890
|
||||
#, python-format
|
||||
msgid "Setting 'id' attribute on existing record %s"
|
||||
msgstr ""
|
||||
msgstr "Atribuição do atributo 'id' no registo %s já existente"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -676,7 +676,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/js/view_form.js:1238
|
||||
#, python-format
|
||||
msgid "Field '%s' specified in view could not be found."
|
||||
msgstr ""
|
||||
msgstr "Campo '%s' especificado na vista não foi encontrado."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -718,7 +718,7 @@ msgstr "Aplicar"
|
||||
#: code:addons/web/static/src/xml/base.xml:1361
|
||||
#, python-format
|
||||
msgid "Save & New"
|
||||
msgstr ""
|
||||
msgstr "Gravar & criar"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -733,7 +733,7 @@ msgstr "Guardar como"
|
||||
#: code:addons/web/static/src/js/view_form.js:2316
|
||||
#, python-format
|
||||
msgid "E-mail error"
|
||||
msgstr ""
|
||||
msgstr "Erro de e-mail"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -861,7 +861,7 @@ msgstr "Preferências"
|
||||
#: code:addons/web/static/src/js/view_form.js:434
|
||||
#, python-format
|
||||
msgid "Wrong on change format: %s"
|
||||
msgstr ""
|
||||
msgstr "Erro na alteração de formato: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -890,7 +890,7 @@ msgstr "Modificadores:"
|
||||
#: code:addons/web/static/src/xml/base.xml:605
|
||||
#, python-format
|
||||
msgid "Delete this attachment"
|
||||
msgstr ""
|
||||
msgstr "Apagar este anexo"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -922,7 +922,7 @@ msgstr "Nome de utilizador"
|
||||
#: code:addons/web/static/src/js/chrome.js:481
|
||||
#, python-format
|
||||
msgid "Duplicating database"
|
||||
msgstr ""
|
||||
msgstr "Duplicando a base de dados"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -936,7 +936,7 @@ msgstr "A senha foi alterada com êxito"
|
||||
#: code:addons/web/static/src/js/view_list_editable.js:781
|
||||
#, python-format
|
||||
msgid "The form's data can not be discarded"
|
||||
msgstr ""
|
||||
msgstr "A informação no formulário não pode ser descartada"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -971,6 +971,10 @@ msgid ""
|
||||
"\n"
|
||||
"%s"
|
||||
msgstr ""
|
||||
"Falha na avaliação local\n"
|
||||
"%s\n"
|
||||
"\n"
|
||||
"%s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1012,7 +1016,7 @@ msgstr "Erro, a senha não foi alterada!"
|
||||
#: code:addons/web/static/src/js/view_form.js:4810
|
||||
#, python-format
|
||||
msgid "The selected file exceed the maximum file size of %s."
|
||||
msgstr ""
|
||||
msgstr "O ficheiro selecionado excede o tamanho máximo de %s."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1061,7 +1065,7 @@ msgstr "Cópia de segurança"
|
||||
#: code:addons/web/static/src/js/dates.js:80
|
||||
#, python-format
|
||||
msgid "'%s' is not a valid time"
|
||||
msgstr ""
|
||||
msgstr "'%s' não é uma hora válida"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1249,7 +1253,7 @@ msgstr "Agrupar por: %s"
|
||||
#: code:addons/web/static/src/js/view_form.js:151
|
||||
#, python-format
|
||||
msgid "No data provided."
|
||||
msgstr ""
|
||||
msgstr "Ausência de dados"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1278,7 +1282,7 @@ msgstr "Deve escolher pelo menos um registo."
|
||||
#: code:addons/web/static/src/js/coresetup.js:622
|
||||
#, python-format
|
||||
msgid "Don't leave yet,<br />it's still loading..."
|
||||
msgstr ""
|
||||
msgstr "Não se vá embora já<br />porque ainda está carregando..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1292,7 +1296,7 @@ msgstr "Pesquisa inválida"
|
||||
#: code:addons/web/static/src/js/view_list.js:959
|
||||
#, python-format
|
||||
msgid "Could not find id in dataset"
|
||||
msgstr ""
|
||||
msgstr "O ID não foi encontrado"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1320,7 +1324,7 @@ 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 "A confirmação não coincide com a senha"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1411,7 +1415,7 @@ msgstr "é igual a"
|
||||
#: code:addons/web/static/src/js/views.js:1455
|
||||
#, python-format
|
||||
msgid "Could not serialize XML"
|
||||
msgstr ""
|
||||
msgstr "Não foi possível serializar o XML"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1432,7 +1436,7 @@ msgstr "Confirme a nova senha de administração:"
|
||||
#: code:addons/web/static/src/js/coresetup.js:625
|
||||
#, python-format
|
||||
msgid "Maybe you should consider reloading the application by pressing F5..."
|
||||
msgstr ""
|
||||
msgstr "Talvez deva pensar em recarregar a aplicação carregando em F5..."
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1522,7 +1526,7 @@ msgstr "Não foi possível eliminar a base de dados!"
|
||||
#: code:addons/web/static/src/js/formats.js:227
|
||||
#, python-format
|
||||
msgid "'%s' is not a correct integer"
|
||||
msgstr ""
|
||||
msgstr "'%s' não é um número inteiro correto"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1543,7 +1547,7 @@ msgstr "Campo desconhecido %s no domínio %s"
|
||||
#: code:addons/web/static/src/js/views.js:1421
|
||||
#, python-format
|
||||
msgid "Node [%s] is not a JSONified XML node"
|
||||
msgstr ""
|
||||
msgstr "O nó [%s] não é do tipo JSONified XML"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1608,7 +1612,7 @@ msgstr "--- Não importar ---"
|
||||
#: code:addons/web/static/src/xml/base.xml:1654
|
||||
#, python-format
|
||||
msgid "Import-Compatible Export"
|
||||
msgstr ""
|
||||
msgstr "Exportação compatível com importação"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1622,7 +1626,7 @@ msgstr "%d anos atrás"
|
||||
#: code:addons/web/static/src/js/view_list.js:1019
|
||||
#, python-format
|
||||
msgid "Unknown m2m command %s"
|
||||
msgstr ""
|
||||
msgstr "Comando m2m %s desconhecio"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1652,7 +1656,7 @@ msgstr "Por favor introduza a sua nova senha"
|
||||
#: code:addons/web/static/src/js/views.js:1463
|
||||
#, python-format
|
||||
msgid "Could not parse string to xml"
|
||||
msgstr ""
|
||||
msgstr "Não foi possível passar o texto para XML"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1724,7 +1728,7 @@ msgstr "A importação falhou devido a:"
|
||||
#: code:addons/web/static/src/xml/base.xml:533
|
||||
#, python-format
|
||||
msgid "JS Tests"
|
||||
msgstr ""
|
||||
msgstr "Testes JS"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -1930,7 +1934,7 @@ msgstr "Tipo:"
|
||||
#: code:addons/web/static/src/js/chrome.js:538
|
||||
#, python-format
|
||||
msgid "Incorrect super-administrator password"
|
||||
msgstr ""
|
||||
msgstr "Senha de super-administrador incorreta"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2043,7 +2047,7 @@ msgstr "'%s' não é uma data/hora correta"
|
||||
#: code:addons/web/static/src/js/views.js:1471
|
||||
#, python-format
|
||||
msgid "Could not find a DOM Parser: %s"
|
||||
msgstr ""
|
||||
msgstr "Não foi encontrado o interpretador de DOM: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2403,7 +2407,7 @@ msgstr "Editar fluxo de trabalho"
|
||||
#: code:addons/web/static/src/js/views.js:1172
|
||||
#, python-format
|
||||
msgid "Do you really want to delete this attachment ?"
|
||||
msgstr ""
|
||||
msgstr "Quer mesmo apagar este anexo?"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2469,7 +2473,7 @@ msgstr ""
|
||||
#: code:addons/web/static/src/xml/base.xml:555
|
||||
#, python-format
|
||||
msgid "Creation User:"
|
||||
msgstr ""
|
||||
msgstr "Utilizador de criação:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -2535,7 +2539,7 @@ msgstr "Pesquisar %(field)s por: %(value)s"
|
||||
#: code:addons/web/static/src/xml/base.xml:1252
|
||||
#, python-format
|
||||
msgid "Delete this file"
|
||||
msgstr ""
|
||||
msgstr "Apagar este ficheiro"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-03 19:25+0000\n"
|
||||
"Last-Translator: Cristiano Korndörfer <codigo.aberto@dorfer.com.br>\n"
|
||||
"PO-Revision-Date: 2012-12-07 21:03+0000\n"
|
||||
"Last-Translator: Luiz Fernando M.França (Sig Informática) <Unknown>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\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-04 05:59+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
@@ -860,7 +860,7 @@ msgstr "Preferências"
|
||||
#: code:addons/web/static/src/js/view_form.js:434
|
||||
#, python-format
|
||||
msgid "Wrong on change format: %s"
|
||||
msgstr ""
|
||||
msgstr "Formato invalido para on change: %s"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,28 +8,28 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-03-15 08:11+0000\n"
|
||||
"Last-Translator: angelescu <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-09 17:26+0000\n"
|
||||
"Last-Translator: Fekete Mihai <mihai@erpsystems.ro>\n"
|
||||
"Language-Team: Romanian <ro@li.org>\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-01 05:20+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/xml/base.xml:133
|
||||
#, python-format
|
||||
msgid "Default language:"
|
||||
msgstr "Limba implicita:"
|
||||
msgstr "Limba implicită:"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
#: code:addons/web/static/src/js/coresetup.js:593
|
||||
#, python-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr ""
|
||||
msgstr "acum %d minute"
|
||||
|
||||
#. module: web
|
||||
#. openerp-web
|
||||
|
||||
@@ -952,12 +952,18 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web.
|
||||
field = $target.closest('td').data('field'),
|
||||
$row = $target.closest('tr'),
|
||||
record_id = self.row_id($row);
|
||||
|
||||
if ($target.attr('disabled')) {
|
||||
return;
|
||||
}
|
||||
$target.attr('disabled', 'disabled');
|
||||
|
||||
// note: $.data converts data to number if it's composed only
|
||||
// of digits, nice when storing actual numbers, not nice when
|
||||
// storing strings composed only of digits. Force the action
|
||||
// name to be a string
|
||||
$(self).trigger('action', [field.toString(), record_id, function (id) {
|
||||
$target.removeAttr('disabled');
|
||||
return self.reload_record(self.records.get(id));
|
||||
}]);
|
||||
})
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
QUnitSuite is a ``unittest.TestSuite`` able to run QUnit_ test suites
|
||||
within the normal unittest process, through PhantomJS_.
|
||||
|
||||
QUnitSuite is built upon `Ben Alman`_'s work of for the interfacing
|
||||
between PhantomJS_ and the host/reporting code: the shims and the
|
||||
PhantomJS_ configuration files are those of grunt_'s ``qunit`` task.
|
||||
|
||||
Why
|
||||
---
|
||||
|
||||
You're a Python shop or developer, you have tools and tests built
|
||||
around unittest (or compatible with unittests) and your testing
|
||||
pipeline is predicated upon that, you're doing web development of some
|
||||
sort these days (as so many are) and you'd like to do some testing of
|
||||
your web stuff.
|
||||
|
||||
But you don't really want to redo your whole testing stack just for
|
||||
that.
|
||||
|
||||
QUnitSuite simply grafts QUnit_-based tests, run in PhantomJS_, in
|
||||
your existing ``unittest``-based architecture.
|
||||
|
||||
What
|
||||
----
|
||||
|
||||
QUnitSuite currently provides a single object as part of its API:
|
||||
``qunitsuite.QUnitSuite(testfile[, timeout])``.
|
||||
|
||||
This produces a ``unittest.TestSuite`` suitable for all the usual
|
||||
stuff (running it, and giving it to an other test suite which will run
|
||||
it, that is).
|
||||
|
||||
``testfile`` is the HTML file bootstrapping your qunit tests, as would
|
||||
usually be accessed via a browser. It can be either a local
|
||||
(``file:``) url, or an HTTP one. As long as a regular browser can open
|
||||
and execute it, PhantomJS_ will manage.
|
||||
|
||||
``timeout`` is a check passed to the PhantomJS_ runner: if the runner
|
||||
produces no information for longer than ``timeout`` milliseconds, the
|
||||
run will be cancelled and a test error will be generated. This
|
||||
situation usually means either your ``testfile`` is not a qunit test
|
||||
file, qunit is not running or qunit's runner was stopped (for an async
|
||||
test) and never restarted.
|
||||
|
||||
The default value is very conservative, most tests should run
|
||||
correctly with lower timeouts (especially if all tests are
|
||||
synchronous).
|
||||
|
||||
How
|
||||
---
|
||||
|
||||
``unittest``'s autodiscovery protocol does not directly work with test
|
||||
suites (it looks for test cases). If you want autodiscovery to work
|
||||
correctly, you will have to use the ``load_tests`` protocol::
|
||||
|
||||
# in a testing module
|
||||
def load_tests(loader, tests, pattern):
|
||||
tests.addTest(QUnitSuite(qunit_test_path.html))
|
||||
return tests
|
||||
|
||||
outside of that specific case, you can use a ``QUnitSuite`` as a
|
||||
standard ``TestSuite`` instance, running it, adding it to an other
|
||||
suite or passing it to a ``TestRunner``
|
||||
|
||||
Complaints and Grievances
|
||||
-------------------------
|
||||
|
||||
Speed
|
||||
~~~~~
|
||||
|
||||
Starting up a phantomjs instance and running a suite turns out to have
|
||||
a rather high overhead, on the order of a second on this machine
|
||||
(2.4GHz, 8GB RAM and an SSD).
|
||||
|
||||
As each ``QUnitSuite`` currently creates its own phantomjs instance,
|
||||
it's probably a good idea to create bigger suites (put many modules &
|
||||
tests in the same QUnit html file, which doesn't preclude splitting
|
||||
them across multiple js files).
|
||||
|
||||
Hacks
|
||||
~~~~~
|
||||
|
||||
QUnitSuite contains a pretty big hack which may or may not cause
|
||||
problem depending on your exact setup: in case of case failure or
|
||||
error, ``unittest.TestResult`` formats the error traceback provided
|
||||
alongside the test object. This goes through Python's
|
||||
traceback-formatting code and there are no hooks there.
|
||||
|
||||
One could expect to use a custom ``TestResult``, but for test suites
|
||||
the ``TestResult`` instance must be provided by the caller, so there
|
||||
is no direct hook onto it.
|
||||
|
||||
This leaves three options:
|
||||
|
||||
* Create a custom ``TestResult`` class and require that it be the one
|
||||
provided to the test suite. This requires altered work flows,
|
||||
customization of the test runner and (as far as I know) isn't
|
||||
available through Python 2.7's autodiscovery. It's the cleanest
|
||||
option but completely fails on practicality.
|
||||
|
||||
* Create a custom ``TestResult`` which directly alters the original
|
||||
result's ``errors`` and ``failures`` attributes as they're part of
|
||||
the testrunner API. This would work but may put custom results in a
|
||||
strange state and break e.g. unittest2's ``@failfast``.
|
||||
|
||||
* Lastly, monkeypatch the undocumented and implementation detail
|
||||
``_exc_info_to_string`` on the provided ``result``. This is the
|
||||
route taken, at least for now.
|
||||
|
||||
.. _QUnit: http://qunitjs.com/
|
||||
|
||||
.. _PhantomJS: http://phantomjs.org/
|
||||
|
||||
.. _Ben Alman: http://benalman.com/
|
||||
|
||||
.. _grunt: http://gruntjs.com/
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* grunt
|
||||
* http://gruntjs.com/
|
||||
*
|
||||
* Copyright (c) 2012 "Cowboy" Ben Alman
|
||||
* Licensed under the MIT license.
|
||||
* http://benalman.com/about/license/
|
||||
*/
|
||||
|
||||
/*global phantom:true*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs');
|
||||
|
||||
// The page .html file to load.
|
||||
var url = phantom.args[0];
|
||||
// Extra, optionally overridable stuff.
|
||||
var options = JSON.parse(phantom.args[1] || {});
|
||||
|
||||
// Default options.
|
||||
if (!options.timeout) { options.timeout = 5000; }
|
||||
|
||||
// Keep track of the last time a client message was sent.
|
||||
var last = new Date();
|
||||
|
||||
// Messages are sent to the parent by appending them to the tempfile.
|
||||
var sendMessage = function(arg) {
|
||||
var args = Array.isArray(arg) ? arg : [].slice.call(arguments);
|
||||
last = new Date();
|
||||
console.log(JSON.stringify(args));
|
||||
};
|
||||
|
||||
// This allows grunt to abort if the PhantomJS version isn't adequate.
|
||||
sendMessage('private', 'version', phantom.version);
|
||||
|
||||
// Abort if the page doesn't send any messages for a while.
|
||||
setInterval(function() {
|
||||
if (new Date() - last > options.timeout) {
|
||||
sendMessage('fail.timeout');
|
||||
phantom.exit();
|
||||
}
|
||||
}, 100);
|
||||
|
||||
// Create a new page.
|
||||
var page = require('webpage').create();
|
||||
|
||||
// The client page must send its messages via alert(jsonstring).
|
||||
page.onAlert = function(args) {
|
||||
sendMessage(JSON.parse(args));
|
||||
};
|
||||
|
||||
// Keep track if the client-side helper script already has been injected.
|
||||
var injected;
|
||||
page.onUrlChanged = function(newUrl) {
|
||||
injected = false;
|
||||
sendMessage('onUrlChanged', newUrl);
|
||||
};
|
||||
|
||||
// Relay console logging messages.
|
||||
page.onConsoleMessage = function(message) {
|
||||
sendMessage('console', message);
|
||||
};
|
||||
|
||||
// For debugging.
|
||||
page.onResourceRequested = function(request) {
|
||||
sendMessage('onResourceRequested', request.url);
|
||||
};
|
||||
|
||||
page.onResourceReceived = function(request) {
|
||||
if (request.stage === 'end') {
|
||||
sendMessage('onResourceReceived', request.url);
|
||||
}
|
||||
};
|
||||
|
||||
// Run when the page has finished loading.
|
||||
page.onLoadFinished = function(status) {
|
||||
// The window has loaded.
|
||||
sendMessage('onLoadFinished', status);
|
||||
if (status === 'success') {
|
||||
if (options.inject && !injected) {
|
||||
// Inject client-side helper script, but only if it has not yet been
|
||||
// injected.
|
||||
sendMessage('inject', options.inject);
|
||||
page.injectJs(options.inject);
|
||||
}
|
||||
} else {
|
||||
// File loading failure.
|
||||
sendMessage('fail.load', url);
|
||||
phantom.exit();
|
||||
}
|
||||
};
|
||||
|
||||
// Actually load url.
|
||||
page.open(url);
|
||||
@@ -0,0 +1,22 @@
|
||||
Copyright (c) 2012 "Cowboy" Ben Alman
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* grunt
|
||||
* http://gruntjs.com/
|
||||
*
|
||||
* Copyright (c) 2012 "Cowboy" Ben Alman
|
||||
* Licensed under the MIT license.
|
||||
* http://benalman.com/about/license/
|
||||
*/
|
||||
|
||||
/*global QUnit:true, alert:true*/
|
||||
|
||||
'use strict';
|
||||
|
||||
// Don't re-order tests.
|
||||
QUnit.config.reorder = false;
|
||||
// Run tests serially, not in parallel.
|
||||
QUnit.config.autorun = false;
|
||||
|
||||
// Send messages to the parent PhantomJS process via alert! Good times!!
|
||||
function sendMessage() {
|
||||
var args = [].slice.call(arguments);
|
||||
alert(JSON.stringify(args));
|
||||
}
|
||||
|
||||
// These methods connect QUnit to PhantomJS.
|
||||
QUnit.log(function(obj) {
|
||||
// What is this I don’t even
|
||||
if (obj.message === '[object Object], undefined:undefined') { return; }
|
||||
// Parse some stuff before sending it.
|
||||
var actual = QUnit.jsDump.parse(obj.actual);
|
||||
var expected = QUnit.jsDump.parse(obj.expected);
|
||||
// Send it.
|
||||
sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source);
|
||||
});
|
||||
|
||||
QUnit.testStart(function(obj) {
|
||||
sendMessage('qunit.testStart', obj.name);
|
||||
});
|
||||
|
||||
QUnit.testDone(function(obj) {
|
||||
sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total);
|
||||
});
|
||||
|
||||
QUnit.moduleStart(function(obj) {
|
||||
sendMessage('qunit.moduleStart', obj.name);
|
||||
});
|
||||
|
||||
QUnit.moduleDone(function(obj) {
|
||||
sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total);
|
||||
});
|
||||
|
||||
QUnit.begin(function() {
|
||||
sendMessage('qunit.begin');
|
||||
});
|
||||
|
||||
QUnit.done(function(obj) {
|
||||
sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime);
|
||||
});
|
||||
|
||||
// PhantomJS (up to and including 1.7) uses a version of webkit so old
|
||||
// it does not have Function.prototype.bind:
|
||||
// http://code.google.com/p/phantomjs/issues/detail?id=522
|
||||
|
||||
// Use moz polyfill:
|
||||
// https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/bind#Compatibility
|
||||
if (!Function.prototype.bind) {
|
||||
Function.prototype.bind = function (oThis) {
|
||||
if (typeof this !== "function") {
|
||||
// closest thing possible to the ECMAScript 5 internal IsCallable function
|
||||
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
|
||||
}
|
||||
|
||||
var aArgs = Array.prototype.slice.call(arguments, 1),
|
||||
fToBind = this,
|
||||
fNOP = function () {},
|
||||
fBound = function () {
|
||||
return fToBind.apply(this instanceof fNOP && oThis
|
||||
? this
|
||||
: oThis,
|
||||
aArgs.concat(Array.prototype.slice.call(arguments)));
|
||||
};
|
||||
|
||||
fNOP.prototype = this.prototype;
|
||||
fBound.prototype = new fNOP();
|
||||
|
||||
return fBound;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
import json
|
||||
import subprocess
|
||||
import unittest
|
||||
import os
|
||||
import time
|
||||
|
||||
ROOT = os.path.join(os.path.dirname(__file__), 'grunt')
|
||||
|
||||
__all__ = ['QUnitSuite']
|
||||
|
||||
def _exc_info_to_string(err, test):
|
||||
return err
|
||||
|
||||
class QUnitTest(unittest.TestCase):
|
||||
def __init__(self, module, name):
|
||||
self.module = module
|
||||
self.name = name
|
||||
self.failed = False
|
||||
def shortDescription(self):
|
||||
return None
|
||||
def __repr__(self):
|
||||
return '<QUnitTest %s:%s>' % (self.module, self.name)
|
||||
def __str__(self):
|
||||
return '%s: %s' % (self.module, self.name)
|
||||
|
||||
class QUnitSuite(unittest.TestSuite):
|
||||
def __init__(self, qunitfile, timeout=5000):
|
||||
self.testfile = qunitfile
|
||||
self.timeout = timeout
|
||||
self._module = None
|
||||
self._test = None
|
||||
|
||||
def __iter__(self):
|
||||
return iter([self])
|
||||
|
||||
def run(self, result):
|
||||
try:
|
||||
subprocess.call(['phantomjs', '-v'],
|
||||
stdout=open(os.devnull, 'w'),
|
||||
stderr=subprocess.STDOUT)
|
||||
except OSError:
|
||||
test = QUnitTest('phantomjs', 'javascript tests')
|
||||
result.startTest(test)
|
||||
result.startTest(test)
|
||||
result.addSkip(test , "phantomjs command not found")
|
||||
result.stopTest(test)
|
||||
return
|
||||
|
||||
result._exc_info_to_string = _exc_info_to_string
|
||||
try:
|
||||
self._run(result)
|
||||
finally:
|
||||
del result._exc_info_to_string
|
||||
|
||||
def _run(self, result):
|
||||
phantom = subprocess.Popen([
|
||||
'phantomjs',
|
||||
'--config=%s' % os.path.join(ROOT, 'phantomjs.json'),
|
||||
os.path.join(ROOT, 'bootstrap.js'), self.testfile,
|
||||
json.dumps({
|
||||
'timeout': self.timeout,
|
||||
'inject': os.path.join(ROOT, 'qunit-phantomjs-bridge.js')
|
||||
})
|
||||
], stdout=subprocess.PIPE)
|
||||
|
||||
try:
|
||||
while True:
|
||||
line = phantom.stdout.readline()
|
||||
if line:
|
||||
if self.process(line, result):
|
||||
break
|
||||
else:
|
||||
time.sleep(0.1)
|
||||
finally:
|
||||
# If the phantomjs process hasn't quit, kill it
|
||||
if phantom.poll() is None:
|
||||
phantom.terminate()
|
||||
|
||||
def process(self, line, result):
|
||||
args = json.loads(line)
|
||||
event_name = args[0]
|
||||
|
||||
if event_name == 'qunit.done':
|
||||
return True
|
||||
elif event_name == 'fail.load':
|
||||
self.add_error(result, "PhantomJS unable to load %s" % args[1])
|
||||
return True
|
||||
elif event_name == 'fail.timeout':
|
||||
self.add_error(result, "PhantomJS timed out, possibly due to a"
|
||||
" missing QUnit start() call")
|
||||
return True
|
||||
|
||||
elif event_name == 'qunit.moduleStart':
|
||||
self._module = args[1].encode('utf-8')
|
||||
elif event_name == 'qunit.moduleStop':
|
||||
self._test = None
|
||||
self._module = None
|
||||
elif event_name == 'qunit.testStart':
|
||||
self._test = QUnitTest(self._module, args[1].encode('utf-8'))
|
||||
result.startTest(self._test)
|
||||
elif event_name == 'qunit.testDone':
|
||||
if not self._test.failed:
|
||||
result.addSuccess(self._test)
|
||||
result.stopTest(self._test)
|
||||
self._test = None
|
||||
elif event_name == 'qunit.log':
|
||||
if args[1]:
|
||||
return False
|
||||
|
||||
self._test.failed = True
|
||||
result.addFailure(
|
||||
self._test, self.failure_to_str(*args[2:]))
|
||||
|
||||
return False
|
||||
|
||||
def add_error(self, result, s):
|
||||
test = QUnitTest('phantomjs', 'startup')
|
||||
result.startTest(test)
|
||||
result.addError(test, s)
|
||||
result.stopTest(test)
|
||||
|
||||
def failure_to_str(self, actual, expected, message, source):
|
||||
if message or actual == expected:
|
||||
formatted = str(message or '')
|
||||
else:
|
||||
formatted = "%s != %s" % (actual, expected)
|
||||
|
||||
if source:
|
||||
formatted += '\n\n' + source
|
||||
|
||||
return formatted
|
||||
@@ -10,6 +10,12 @@ class WebSuite(QUnitSuite):
|
||||
'/web/tests',
|
||||
'mod=*&source={db}&supadmin={supadmin}&password={password}'.format(
|
||||
db=tools.config['db_name'],
|
||||
# al: i dont understand why both are needed, db_password is the
|
||||
# password for postgres and should not appear here of that i'm
|
||||
# sure
|
||||
#
|
||||
# But runbot provides it with this wrong key so i let it here
|
||||
# until it's fixed
|
||||
supadmin=tools.config['db_password'] or 'admin',
|
||||
password=tools.config['admin_passwd'] or 'admin'),
|
||||
''
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-11-24 18:16+0000\n"
|
||||
"PO-Revision-Date: 2012-12-09 18:06+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -43,7 +43,7 @@ msgstr "Snimi"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:99
|
||||
#, python-format
|
||||
msgid "Calendar view has a 'date_delay' type != float"
|
||||
msgstr ""
|
||||
msgstr "U pogledu tipa kalendar polje 'date_delay' tip != float"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -215,6 +215,7 @@ msgstr "Kalendar"
|
||||
#, python-format
|
||||
msgid "Calendar view has not defined 'date_start' attribute."
|
||||
msgstr ""
|
||||
"U pogledu tipa kalendar obavezno je polje 'date_start' - početno vrijeme."
|
||||
|
||||
#~ msgid "Navigator"
|
||||
#~ msgstr "Navigator"
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-04 12:40+0000\n"
|
||||
"Last-Translator: Andrei Talpa (multibase.pt) <andrei.talpa@multibase.pt>\n"
|
||||
"PO-Revision-Date: 2012-12-07 10:00+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\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-05 05:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -64,7 +64,7 @@ msgstr "Semana"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:161
|
||||
#, python-format
|
||||
msgid "Full day"
|
||||
msgstr ""
|
||||
msgstr "Dia inteiro"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -79,7 +79,7 @@ msgstr "Descrição"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:158
|
||||
#, python-format
|
||||
msgid "Event will be deleted permanently, are you sure?"
|
||||
msgstr ""
|
||||
msgstr "O evento será eliminado. Confirma?"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -136,7 +136,7 @@ msgstr ""
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:80
|
||||
#, python-format
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtro"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
@@ -179,7 +179,7 @@ msgstr "Mês"
|
||||
#: code:addons/web_calendar/static/src/js/calendar.js:166
|
||||
#, python-format
|
||||
msgid "Disabled"
|
||||
msgstr ""
|
||||
msgstr "Inativo"
|
||||
|
||||
#. module: web_calendar
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 01:23+0000\n"
|
||||
"PO-Revision-Date: 2012-02-16 21:55+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"PO-Revision-Date: 2012-12-09 22:40+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-25 06:41+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
@@ -35,6 +35,10 @@ msgid ""
|
||||
"\n"
|
||||
"Are you sure ?"
|
||||
msgstr ""
|
||||
"La cancellazione di questo nodo è irreversibile. \n"
|
||||
"Saranno cancellate anche tutte le transizioni ad esso correlate.\n"
|
||||
"\n"
|
||||
"Sei sicuro ?"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
@@ -71,7 +75,7 @@ msgstr "Attività"
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:422
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
@@ -86,7 +90,7 @@ msgstr "Crea:"
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:187
|
||||
#, python-format
|
||||
msgid "Are you sure?"
|
||||
msgstr ""
|
||||
msgstr "Sei sicuro?"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
@@ -97,3 +101,6 @@ msgid ""
|
||||
"\n"
|
||||
"Are you sure ?"
|
||||
msgstr ""
|
||||
"La cancellazione di questa transizione è irreversibile.\n"
|
||||
"\n"
|
||||
"Sei sicuro?"
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-24 01:23+0000\n"
|
||||
"PO-Revision-Date: 2012-06-05 19:47+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"PO-Revision-Date: 2012-12-07 09:55+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-25 06:41+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
@@ -75,7 +75,7 @@ msgstr "Atividade"
|
||||
#: code:addons/web_diagram/static/src/js/diagram.js:422
|
||||
#, python-format
|
||||
msgid "%d / %d"
|
||||
msgstr ""
|
||||
msgstr "%d / %d"
|
||||
|
||||
#. module: web_diagram
|
||||
#. openerp-web
|
||||
|
||||
+20
-20
@@ -8,28 +8,28 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-02-16 21:56+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"PO-Revision-Date: 2012-12-09 23:09+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:12
|
||||
#, python-format
|
||||
msgid "Bars"
|
||||
msgstr ""
|
||||
msgstr "Barre"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:33
|
||||
#, python-format
|
||||
msgid "Show Data"
|
||||
msgstr ""
|
||||
msgstr "Visualizza Dati"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
@@ -43,95 +43,95 @@ msgstr "Grafico"
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:25
|
||||
#, python-format
|
||||
msgid "Inside"
|
||||
msgstr ""
|
||||
msgstr "Interno"
|
||||
|
||||
#. 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 "Torta"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:28
|
||||
#, python-format
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
msgstr "Azioni"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:7
|
||||
#, python-format
|
||||
msgid "Graph Mode"
|
||||
msgstr ""
|
||||
msgstr "Modalità Grafico"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:18
|
||||
#, python-format
|
||||
msgid "Radar"
|
||||
msgstr ""
|
||||
msgstr "Rete"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:34
|
||||
#, python-format
|
||||
msgid "Download as PNG"
|
||||
msgstr ""
|
||||
msgstr "Download come PNG"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:26
|
||||
#, python-format
|
||||
msgid "Top"
|
||||
msgstr ""
|
||||
msgstr "In alto"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:24
|
||||
#, python-format
|
||||
msgid "Hidden"
|
||||
msgstr ""
|
||||
msgstr "Nascosto"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "Graph Options"
|
||||
msgstr ""
|
||||
msgstr "Opzioni Grafico"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:14
|
||||
#, python-format
|
||||
msgid "Lines"
|
||||
msgstr ""
|
||||
msgstr "Righe"
|
||||
|
||||
#. 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 "Inverti Asse"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:15
|
||||
#, python-format
|
||||
msgid "Areas"
|
||||
msgstr ""
|
||||
msgstr "Aree"
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-11-29 19:33+0000\n"
|
||||
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
|
||||
"PO-Revision-Date: 2012-12-07 15:34+0000\n"
|
||||
"Last-Translator: ccdos <ccdos@163.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
@@ -50,7 +50,7 @@ msgstr "内部"
|
||||
#: code:addons/web_graph/static/src/xml/web_graph.xml:3
|
||||
#, python-format
|
||||
msgid "í"
|
||||
msgstr ""
|
||||
msgstr "í"
|
||||
|
||||
#. module: web_graph
|
||||
#. openerp-web
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
position: relative;
|
||||
display: block;
|
||||
padding: 2px 4px 2px 20px;
|
||||
line-height: 14px;
|
||||
line-height: 12px;
|
||||
color: #4c4c4c;
|
||||
text-decoration: none;
|
||||
}
|
||||
@@ -59,10 +59,12 @@
|
||||
.openerp .open .graph-dropdown {
|
||||
display: block;
|
||||
}
|
||||
.graph-menu {
|
||||
padding: 3px;
|
||||
|
||||
.openerp .graph-menu {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.graph-menu .active:before {
|
||||
.openerp .graph-menu .active:before {
|
||||
content: "W";
|
||||
font-family: "entypoRegular" !important;
|
||||
font-size: 24px;
|
||||
@@ -72,7 +74,7 @@
|
||||
left: 4px;
|
||||
top: -2px;
|
||||
}
|
||||
.graph-menu li {
|
||||
padding: 2px;
|
||||
margin-left: 10px;
|
||||
.openerp .graph-menu li {
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-11-24 18:09+0000\n"
|
||||
"PO-Revision-Date: 2012-12-09 17:58+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -29,7 +29,7 @@ msgstr "Uredi stupac"
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:413
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr ""
|
||||
msgstr "Greška kod promjene grupe"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -150,7 +150,7 @@ msgstr "ili"
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:51
|
||||
#, python-format
|
||||
msgid "99+"
|
||||
msgstr ""
|
||||
msgstr "99+"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,21 +8,21 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-02-16 21:57+0000\n"
|
||||
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
|
||||
"PO-Revision-Date: 2012-12-09 22:52+0000\n"
|
||||
"Last-Translator: Sergio Corato <Unknown>\n"
|
||||
"Language-Team: Italian <it@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:698
|
||||
#, python-format
|
||||
msgid "Edit column"
|
||||
msgstr ""
|
||||
msgstr "Modifica colonna"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -30,6 +30,7 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr ""
|
||||
"E' avvenuto un errore durante lo spostamento del record a questo gruppo."
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -50,35 +51,35 @@ msgstr "Non definito"
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:717
|
||||
#, python-format
|
||||
msgid "Are you sure to remove this column ?"
|
||||
msgstr ""
|
||||
msgstr "Sei sicuro di rimuovere questa colonna ?"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:42
|
||||
#, python-format
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "Modifica"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:188
|
||||
#, python-format
|
||||
msgid "Add column"
|
||||
msgstr ""
|
||||
msgstr "Aggiungi colonna"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:1093
|
||||
#, python-format
|
||||
msgid "Create: "
|
||||
msgstr ""
|
||||
msgstr "Crea: "
|
||||
|
||||
#. 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 "Aggiungi una nuova colonna"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -86,21 +87,21 @@ msgstr ""
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40
|
||||
#, python-format
|
||||
msgid "Fold"
|
||||
msgstr ""
|
||||
msgstr "Arrotola"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:90
|
||||
#, python-format
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Aggiungi"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:35
|
||||
#, python-format
|
||||
msgid "Quick create"
|
||||
msgstr ""
|
||||
msgstr "Creazione rapida"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -114,7 +115,7 @@ msgstr "Sicuro di voler eliminare questo record?"
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:688
|
||||
#, python-format
|
||||
msgid "Unfold"
|
||||
msgstr ""
|
||||
msgstr "Allarga"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -128,7 +129,7 @@ msgstr "Mostra altro... ("
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:91
|
||||
#, python-format
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Annulla"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -143,21 +144,21 @@ msgstr "rimanenti)"
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:90
|
||||
#, python-format
|
||||
msgid "or"
|
||||
msgstr ""
|
||||
msgstr "o"
|
||||
|
||||
#. 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 "Elimina"
|
||||
|
||||
#~ msgid "Create"
|
||||
#~ msgstr "Crea"
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-04 12:44+0000\n"
|
||||
"PO-Revision-Date: 2012-12-07 09:57+0000\n"
|
||||
"Last-Translator: Andrei Talpa (multibase.pt) <andrei.talpa@multibase.pt>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\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-05 05:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -29,7 +29,7 @@ msgstr "Editar coluna"
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:413
|
||||
#, python-format
|
||||
msgid "An error has occured while moving the record to this group."
|
||||
msgstr ""
|
||||
msgstr "Ocorreu um erro ao mover o registo para este grupo."
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -86,7 +86,7 @@ msgstr "Adicionar uma nova coluna"
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:40
|
||||
#, python-format
|
||||
msgid "Fold"
|
||||
msgstr ""
|
||||
msgstr "Dobrar"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -100,7 +100,7 @@ msgstr "Adicionar"
|
||||
#: code:addons/web_kanban/static/src/xml/web_kanban.xml:35
|
||||
#, python-format
|
||||
msgid "Quick create"
|
||||
msgstr ""
|
||||
msgstr "Criação rápida"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
@@ -114,7 +114,7 @@ msgstr "Tem certeza que quer remover este registo?"
|
||||
#: code:addons/web_kanban/static/src/js/kanban.js:688
|
||||
#, python-format
|
||||
msgid "Unfold"
|
||||
msgstr ""
|
||||
msgstr "Desdobrar"
|
||||
|
||||
#. module: web_kanban
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,21 +8,21 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-11-24 18:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-09 17:57+0000\n"
|
||||
"Last-Translator: Goran Kliska <gkliska@gmail.com>\n"
|
||||
"Language-Team: Croatian <hr@li.org>\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-01 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16319)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-10 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\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 ""
|
||||
msgstr "Popis neispravnih polja:"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -36,7 +36,7 @@ msgstr "Kreiraj"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:986
|
||||
#, python-format
|
||||
msgid "New Field"
|
||||
msgstr ""
|
||||
msgstr "Novo polje"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -71,7 +71,7 @@ msgstr "Snimi"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:393
|
||||
#, python-format
|
||||
msgid "Select an element"
|
||||
msgstr ""
|
||||
msgstr "Odaberite element"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -86,7 +86,7 @@ msgstr "Ažuriraj"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:263
|
||||
#, python-format
|
||||
msgid "Please select view in list :"
|
||||
msgstr ""
|
||||
msgstr "Odaberite pogled iz popisa:"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -150,7 +150,7 @@ msgstr "Da li zaista želite obrisati ovaj čvor?"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:390
|
||||
#, python-format
|
||||
msgid "Can't Update View"
|
||||
msgstr ""
|
||||
msgstr "Ažuriranje pogleda nije moguće"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
|
||||
@@ -8,14 +8,14 @@ msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-11-30 18:13+0000\n"
|
||||
"PO-Revision-Date: 2012-12-04 12:42+0000\n"
|
||||
"Last-Translator: Andrei Talpa (multibase.pt) <andrei.talpa@multibase.pt>\n"
|
||||
"PO-Revision-Date: 2012-12-07 09:56+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"Language-Team: Portuguese <pt@li.org>\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-05 05:43+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-08 05:21+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -71,7 +71,7 @@ msgstr "Guardar"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:393
|
||||
#, python-format
|
||||
msgid "Select an element"
|
||||
msgstr ""
|
||||
msgstr "Selecione um elemento"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -86,7 +86,7 @@ msgstr "Atualizar"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:263
|
||||
#, python-format
|
||||
msgid "Please select view in list :"
|
||||
msgstr ""
|
||||
msgstr "Por favor, selecione uma vista da lista"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
@@ -150,7 +150,7 @@ msgstr "Quer mesmo remover este nó?"
|
||||
#: code:addons/web_view_editor/static/src/js/view_editor.js:390
|
||||
#, python-format
|
||||
msgid "Can't Update View"
|
||||
msgstr ""
|
||||
msgstr "Não é possível atualizar a vista"
|
||||
|
||||
#. module: web_view_editor
|
||||
#. openerp-web
|
||||
|
||||
Reference in New Issue
Block a user