Browse Source

Merge branch 'develop'

version-14
mbauskar 8 years ago
parent
commit
65f0cfce23
100 changed files with 12191 additions and 11025 deletions
  1. +11
    -4
      frappe/__init__.py
  2. +7
    -0
      frappe/contacts/doctype/address/address.py
  3. +46
    -2
      frappe/core/doctype/docfield/docfield.json
  4. +1
    -2
      frappe/core/doctype/doctype/doctype.py
  5. +3
    -2
      frappe/custom/doctype/custom_field/custom_field.json
  6. +6
    -0
      frappe/custom/doctype/customize_form/customize_form.py
  7. +5
    -5
      frappe/custom/doctype/customize_form/test_customize_form.py
  8. +2
    -2
      frappe/custom/doctype/customize_form_field/customize_form_field.json
  9. +2
    -2
      frappe/desk/doctype/event/event.json
  10. +7
    -0
      frappe/desk/page/backups/backups.js
  11. +28
    -1
      frappe/desk/page/backups/backups.py
  12. +1
    -1
      frappe/email/doctype/email_group/email_group.py
  13. +44
    -18
      frappe/email/email_body.py
  14. +8
    -6
      frappe/email/queue.py
  15. +103
    -0
      frappe/email/test_email_body.py
  16. +1
    -1
      frappe/frappeclient.py
  17. +2
    -1
      frappe/model/db_schema.py
  18. +6
    -0
      frappe/model/naming.py
  19. +48
    -0
      frappe/public/css/desk.css
  20. +96
    -13
      frappe/public/js/frappe/form/control.js
  21. +14
    -1
      frappe/public/js/frappe/form/save.js
  22. +3
    -0
      frappe/public/js/frappe/ui/toolbar/awesome_bar.js
  23. +53
    -0
      frappe/public/less/desk.less
  24. +10
    -0
      frappe/templates/emails/email_header.html
  25. +6
    -0
      frappe/templates/emails/file_backup_notification.html
  26. +49
    -22
      frappe/templates/emails/standard.html
  27. +1
    -1
      frappe/templates/print_formats/standard_macros.html
  28. +3
    -1
      frappe/tests/test_api.py
  29. +19
    -0
      frappe/tests/test_document.py
  30. +94
    -0
      frappe/tests/ui/test_calendar_view.js
  31. +64
    -0
      frappe/tests/ui/test_desktop.js
  32. +53
    -0
      frappe/tests/ui/test_gantt_view.js
  33. +65
    -1
      frappe/tests/ui/test_lib.js
  34. +13
    -9
      frappe/tests/ui/test_list.js
  35. +183
    -177
      frappe/translations/am.csv
  36. +229
    -223
      frappe/translations/ar.csv
  37. +183
    -177
      frappe/translations/bg.csv
  38. +183
    -177
      frappe/translations/bn.csv
  39. +183
    -177
      frappe/translations/bs.csv
  40. +183
    -177
      frappe/translations/ca.csv
  41. +183
    -177
      frappe/translations/cs.csv
  42. +183
    -177
      frappe/translations/da.csv
  43. +187
    -181
      frappe/translations/de.csv
  44. +183
    -177
      frappe/translations/el.csv
  45. +1
    -1
      frappe/translations/es-AR.csv
  46. +1
    -1
      frappe/translations/es-CL.csv
  47. +1
    -1
      frappe/translations/es-NI.csv
  48. +49
    -49
      frappe/translations/es-PE.csv
  49. +254
    -248
      frappe/translations/es.csv
  50. +183
    -177
      frappe/translations/et.csv
  51. +183
    -177
      frappe/translations/fa.csv
  52. +183
    -177
      frappe/translations/fi.csv
  53. +187
    -181
      frappe/translations/fr.csv
  54. +183
    -177
      frappe/translations/gu.csv
  55. +137
    -139
      frappe/translations/he.csv
  56. +183
    -177
      frappe/translations/hi.csv
  57. +183
    -177
      frappe/translations/hr.csv
  58. +261
    -255
      frappe/translations/hu.csv
  59. +183
    -177
      frappe/translations/id.csv
  60. +182
    -176
      frappe/translations/is.csv
  61. +189
    -183
      frappe/translations/it.csv
  62. +183
    -177
      frappe/translations/ja.csv
  63. +185
    -179
      frappe/translations/km.csv
  64. +187
    -181
      frappe/translations/kn.csv
  65. +187
    -181
      frappe/translations/ko.csv
  66. +187
    -181
      frappe/translations/ku.csv
  67. +187
    -181
      frappe/translations/lo.csv
  68. +187
    -181
      frappe/translations/lt.csv
  69. +187
    -181
      frappe/translations/lv.csv
  70. +187
    -181
      frappe/translations/mk.csv
  71. +187
    -181
      frappe/translations/ml.csv
  72. +187
    -181
      frappe/translations/mr.csv
  73. +187
    -181
      frappe/translations/ms.csv
  74. +187
    -181
      frappe/translations/my.csv
  75. +186
    -180
      frappe/translations/nl.csv
  76. +186
    -180
      frappe/translations/no.csv
  77. +187
    -181
      frappe/translations/pl.csv
  78. +187
    -181
      frappe/translations/ps.csv
  79. +102
    -103
      frappe/translations/pt-BR.csv
  80. +185
    -179
      frappe/translations/pt.csv
  81. +185
    -179
      frappe/translations/ro.csv
  82. +186
    -180
      frappe/translations/ru.csv
  83. +187
    -181
      frappe/translations/si.csv
  84. +186
    -180
      frappe/translations/sk.csv
  85. +187
    -181
      frappe/translations/sl.csv
  86. +187
    -181
      frappe/translations/sq.csv
  87. +42
    -0
      frappe/translations/sr-SP.csv
  88. +186
    -180
      frappe/translations/sr.csv
  89. +185
    -179
      frappe/translations/sv.csv
  90. +187
    -181
      frappe/translations/ta.csv
  91. +187
    -181
      frappe/translations/te.csv
  92. +187
    -181
      frappe/translations/th.csv
  93. +187
    -181
      frappe/translations/tr.csv
  94. +186
    -180
      frappe/translations/uk.csv
  95. +184
    -178
      frappe/translations/ur.csv
  96. +430
    -424
      frappe/translations/vi.csv
  97. +161
    -155
      frappe/translations/zh-TW.csv
  98. +188
    -182
      frappe/translations/zh.csv
  99. +2
    -1
      frappe/utils/backups.py
  100. +6
    -1
      frappe/utils/formatters.py

+ 11
- 4
frappe/__init__.py View File

@@ -12,9 +12,9 @@ import os, sys, importlib, inspect, json


# public # public
from .exceptions import * from .exceptions import *
from .utils.jinja import get_jenv, get_template, render_template
from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template


__version__ = '8.3.10'
__version__ = '8.4.0'
__title__ = "Frappe Framework" __title__ = "Frappe Framework"


local = Local() local = Local()
@@ -380,7 +380,7 @@ def sendmail(recipients=[], sender="", subject="No Subject", message="No Message
attachments=None, content=None, doctype=None, name=None, reply_to=None, attachments=None, content=None, doctype=None, name=None, reply_to=None,
cc=[], message_id=None, in_reply_to=None, send_after=None, expose_recipients=None, cc=[], message_id=None, in_reply_to=None, send_after=None, expose_recipients=None,
send_priority=1, communication=None, retry=1, now=None, read_receipt=None, is_notification=False, send_priority=1, communication=None, retry=1, now=None, read_receipt=None, is_notification=False,
inline_images=None):
inline_images=None, template=None, args=None):
"""Send email using user's default **Email Account** or global default **Email Account**. """Send email using user's default **Email Account** or global default **Email Account**.




@@ -403,7 +403,14 @@ def sendmail(recipients=[], sender="", subject="No Subject", message="No Message
:param expose_recipients: Display all recipients in the footer message - "This email was sent to" :param expose_recipients: Display all recipients in the footer message - "This email was sent to"
:param communication: Communication link to be set in Email Queue record :param communication: Communication link to be set in Email Queue record
:param inline_images: List of inline images as {"filename", "filecontent"}. All src properties will be replaced with random Content-Id :param inline_images: List of inline images as {"filename", "filecontent"}. All src properties will be replaced with random Content-Id
:param template: Name of html template from templates/emails folder
:param args: Arguments for rendering the template
""" """

text_content = None
if template:
message, text_content = get_email_from_template(template, args)

message = content or message message = content or message


if as_markdown: if as_markdown:
@@ -415,7 +422,7 @@ def sendmail(recipients=[], sender="", subject="No Subject", message="No Message


import email.queue import email.queue
email.queue.send(recipients=recipients, sender=sender, email.queue.send(recipients=recipients, sender=sender,
subject=subject, message=message,
subject=subject, message=message, text_content=text_content,
reference_doctype = doctype or reference_doctype, reference_name = name or reference_name, reference_doctype = doctype or reference_doctype, reference_name = name or reference_name,
unsubscribe_method=unsubscribe_method, unsubscribe_params=unsubscribe_params, unsubscribe_message=unsubscribe_message, unsubscribe_method=unsubscribe_method, unsubscribe_params=unsubscribe_params, unsubscribe_message=unsubscribe_message,
attachments=attachments, reply_to=reply_to, cc=cc, message_id=message_id, in_reply_to=in_reply_to, attachments=attachments, reply_to=reply_to, cc=cc, message_id=message_id, in_reply_to=in_reply_to,


+ 7
- 0
frappe/contacts/doctype/address/address.py View File

@@ -185,6 +185,13 @@ def get_shipping_address(company):
address_as_dict = address[0] address_as_dict = address[0]
name, address_template = get_address_templates(address_as_dict) name, address_template = get_address_templates(address_as_dict)
return address_as_dict.get("name"), frappe.render_template(address_template, address_as_dict) return address_as_dict.get("name"), frappe.render_template(address_template, address_as_dict)
def get_company_address(company):
ret = frappe._dict()
ret.company_address = get_default_address('Company', company)
ret.company_address_display = get_address_display(ret.company_address)
return ret


def address_query(doctype, txt, searchfield, start, page_len, filters): def address_query(doctype, txt, searchfield, start, page_len, filters):
from frappe.desk.reportview import get_match_cond from frappe.desk.reportview import get_match_cond


+ 46
- 2
frappe/core/doctype/docfield/docfield.json View File

@@ -11,8 +11,10 @@
"doctype": "DocType", "doctype": "DocType",
"document_type": "Setup", "document_type": "Setup",
"editable_grid": 1, "editable_grid": 1,
"engine": "InnoDB",
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -41,6 +43,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 1, "bold": 1,
"collapsible": 0, "collapsible": 0,
@@ -73,6 +76,7 @@
"width": "163" "width": "163"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 1, "bold": 1,
"collapsible": 0, "collapsible": 0,
@@ -92,7 +96,7 @@
"no_copy": 0, "no_copy": 0,
"oldfieldname": "fieldtype", "oldfieldname": "fieldtype",
"oldfieldtype": "Select", "oldfieldtype": "Select",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime\nSignature",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime\nSignature",
"permlevel": 0, "permlevel": 0,
"print_hide": 0, "print_hide": 0,
"print_hide_if_no_value": 0, "print_hide_if_no_value": 0,
@@ -105,6 +109,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 1, "bold": 1,
"collapsible": 0, "collapsible": 0,
@@ -135,6 +140,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -167,6 +173,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -198,6 +205,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -228,6 +236,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -260,6 +269,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -290,6 +300,7 @@
"width": "70px" "width": "70px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -319,6 +330,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -349,6 +361,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -378,6 +391,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -408,6 +422,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -438,6 +453,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -465,6 +481,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -496,6 +513,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -526,6 +544,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -554,6 +573,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -584,6 +604,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -616,6 +637,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -646,6 +668,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -675,6 +698,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -704,6 +728,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -734,6 +759,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -761,6 +787,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -794,6 +821,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -823,6 +851,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -855,6 +884,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -887,6 +917,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -917,6 +948,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -947,6 +979,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -975,6 +1008,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1007,6 +1041,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1039,6 +1074,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1071,6 +1107,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1101,6 +1138,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1129,6 +1167,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1161,6 +1200,7 @@
"width": "50px" "width": "50px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1192,6 +1232,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1219,6 +1260,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1251,6 +1293,7 @@
"width": "300px" "width": "300px"
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1280,6 +1323,7 @@
"unique": 0 "unique": 0
}, },
{ {
"allow_bulk_edit": 0,
"allow_on_submit": 0, "allow_on_submit": 0,
"bold": 0, "bold": 0,
"collapsible": 0, "collapsible": 0,
@@ -1319,7 +1363,7 @@
"issingle": 0, "issingle": 0,
"istable": 1, "istable": 1,
"max_attachments": 0, "max_attachments": 0,
"modified": "2017-04-21 16:56:04.023296",
"modified": "2017-07-06 12:36:21.248293",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Core", "module": "Core",
"name": "DocField", "name": "DocField",


+ 1
- 2
frappe/core/doctype/doctype/doctype.py View File

@@ -773,8 +773,7 @@ def init_list(doctype):


def check_if_fieldname_conflicts_with_methods(doctype, fieldname): def check_if_fieldname_conflicts_with_methods(doctype, fieldname):
doc = frappe.get_doc({"doctype": doctype}) doc = frappe.get_doc({"doctype": doctype})
method_list = [method for method in dir(doc) if callable(getattr(doc, method))]
method_list = [method for method in dir(doc) if isinstance(method, str) and callable(getattr(doc, method))]


if fieldname in method_list: if fieldname in method_list:
frappe.throw(_("Fieldname {0} conflicting with meta object").format(fieldname)) frappe.throw(_("Fieldname {0} conflicting with meta object").format(fieldname))


+ 3
- 2
frappe/custom/doctype/custom_field/custom_field.json View File

@@ -11,6 +11,7 @@
"doctype": "DocType", "doctype": "DocType",
"document_type": "Setup", "document_type": "Setup",
"editable_grid": 0, "editable_grid": 0,
"engine": "InnoDB",
"fields": [ "fields": [
{ {
"allow_bulk_edit": 0, "allow_bulk_edit": 0,
@@ -219,7 +220,7 @@
"no_copy": 0, "no_copy": 0,
"oldfieldname": "fieldtype", "oldfieldname": "fieldtype",
"oldfieldtype": "Select", "oldfieldtype": "Select",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime\nSignature",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSmall Text\nTable\nText\nText Editor\nTime\nSignature",
"permlevel": 0, "permlevel": 0,
"print_hide": 0, "print_hide": 0,
"print_hide_if_no_value": 0, "print_hide_if_no_value": 0,
@@ -1160,7 +1161,7 @@
"issingle": 0, "issingle": 0,
"istable": 0, "istable": 0,
"max_attachments": 0, "max_attachments": 0,
"modified": "2017-06-13 09:52:49.692096",
"modified": "2017-07-06 17:23:43.835189",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Custom", "module": "Custom",
"name": "Custom Field", "name": "Custom Field",


+ 6
- 0
frappe/custom/doctype/customize_form/customize_form.py View File

@@ -68,6 +68,8 @@ allowed_fieldtype_change = (('Currency', 'Float', 'Percent'), ('Small Text', 'Da
('Text', 'Data'), ('Text', 'Text Editor', 'Code', 'Signature'), ('Data', 'Select'), ('Text', 'Data'), ('Text', 'Text Editor', 'Code', 'Signature'), ('Data', 'Select'),
('Text', 'Small Text')) ('Text', 'Small Text'))


allowed_fieldtype_for_options_change = ('Read Only', 'HTML', 'Select',)

class CustomizeForm(Document): class CustomizeForm(Document):
def on_update(self): def on_update(self):
frappe.db.sql("delete from tabSingles where doctype='Customize Form'") frappe.db.sql("delete from tabSingles where doctype='Customize Form'")
@@ -197,6 +199,10 @@ class CustomizeForm(Document):
frappe.msgprint(_("You cannot unset 'Read Only' for field {0}").format(df.label)) frappe.msgprint(_("You cannot unset 'Read Only' for field {0}").format(df.label))
continue continue


elif property == "options" and df.get("fieldtype") not in allowed_fieldtype_for_options_change:
frappe.msgprint(_("You can't set 'Options' for field {0}").format(df.label))
continue

self.make_property_setter(property=property, value=df.get(property), self.make_property_setter(property=property, value=df.get(property),
property_type=docfield_properties[property], fieldname=df.fieldname) property_type=docfield_properties[property], fieldname=df.fieldname)




+ 5
- 5
frappe/custom/doctype/customize_form/test_customize_form.py View File

@@ -165,22 +165,22 @@ class TestCustomizeForm(unittest.TestCase):
df = d.get("fields", {"fieldname": "title"})[0] df = d.get("fields", {"fieldname": "title"})[0]


# invalid fieldname # invalid fieldname
df.options = """{doc_type} - {introduction_test}"""
df.default = """{doc_type} - {introduction_test}"""
self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization") self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization")


# space in formatter # space in formatter
df.options = """{doc_type} - {introduction text}"""
df.default = """{doc_type} - {introduction text}"""
self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization") self.assertRaises(InvalidFieldNameError, d.run_method, "save_customization")


# valid fieldname # valid fieldname
df.options = """{doc_type} - {introduction_text}"""
df.default = """{doc_type} - {introduction_text}"""
d.run_method("save_customization") d.run_method("save_customization")


# valid fieldname with escaped curlies # valid fieldname with escaped curlies
df.options = """{{ {doc_type} }} - {introduction_text}"""
df.default = """{{ {doc_type} }} - {introduction_text}"""
d.run_method("save_customization") d.run_method("save_customization")


# undo # undo
df.options = None
df.default = None
d.run_method("save_customization") d.run_method("save_customization")



+ 2
- 2
frappe/custom/doctype/customize_form_field/customize_form_field.json View File

@@ -94,7 +94,7 @@
"no_copy": 0, "no_copy": 0,
"oldfieldname": "fieldtype", "oldfieldname": "fieldtype",
"oldfieldtype": "Select", "oldfieldtype": "Select",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSignature\nSmall Text\nTable\nText\nText Editor\nTime",
"options": "Attach\nAttach Image\nButton\nCheck\nCode\nColor\nColumn Break\nCurrency\nData\nDate\nDatetime\nDynamic Link\nFloat\nFold\nHeading\nHTML\nImage\nInt\nLink\nLong Text\nPassword\nPercent\nRead Only\nSection Break\nSelect\nSignature\nSmall Text\nTable\nText\nText Editor\nTime",
"permlevel": 0, "permlevel": 0,
"print_hide": 0, "print_hide": 0,
"print_hide_if_no_value": 0, "print_hide_if_no_value": 0,
@@ -1202,7 +1202,7 @@
"issingle": 0, "issingle": 0,
"istable": 1, "istable": 1,
"max_attachments": 0, "max_attachments": 0,
"modified": "2017-04-21 17:02:14.903382",
"modified": "2017-07-06 17:24:03.665171",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Custom", "module": "Custom",
"name": "Customize Form Field", "name": "Customize Form Field",


+ 2
- 2
frappe/desk/doctype/event/event.json View File

@@ -895,8 +895,8 @@
"issingle": 0, "issingle": 0,
"istable": 0, "istable": 0,
"max_attachments": 0, "max_attachments": 0,
"modified": "2017-05-01 15:27:39.217961",
"modified_by": "vartakashwini@gmail.com",
"modified": "2017-07-06 12:37:44.036819",
"modified_by": "Administrator",
"module": "Desk", "module": "Desk",
"name": "Event", "name": "Event",
"owner": "Administrator", "owner": "Administrator",


+ 7
- 0
frappe/desk/page/backups/backups.js View File

@@ -9,6 +9,13 @@ frappe.pages['backups'].on_page_load = function(wrapper) {
frappe.set_route('Form', 'System Settings'); frappe.set_route('Form', 'System Settings');
}); });


page.add_inner_button(__("Download Files Backup"), function () {
frappe.call({
method:"frappe.desk.page.backups.backups.schedule_files_backup",
args: {"user_email": frappe.session.user_email}
});
});

frappe.breadcrumbs.add("Setup"); frappe.breadcrumbs.add("Setup");


$(frappe.render_template("backups")).appendTo(page.body.addClass("no-border")); $(frappe.render_template("backups")).appendTo(page.body.addClass("no-border"));


+ 28
- 1
frappe/desk/page/backups/backups.py View File

@@ -1,6 +1,7 @@
import os import os
import frappe import frappe
from frappe.utils import get_site_path, cint
from frappe import _
from frappe.utils import get_site_path, cint, get_url
from frappe.utils.data import convert_utc_to_user_timezone from frappe.utils.data import convert_utc_to_user_timezone
import datetime import datetime


@@ -57,3 +58,29 @@ def delete_downloadable_backups():


if len(files) > backup_limit: if len(files) > backup_limit:
cleanup_old_backups(path, files, backup_limit) cleanup_old_backups(path, files, backup_limit)

@frappe.whitelist()
def schedule_files_backup(user_email):
from frappe.utils.background_jobs import enqueue, get_jobs
queued_jobs = get_jobs(site=frappe.local.site, queue="long")
method = 'frappe.desk.page.backups.backups.backup_files_and_notify_user'

if method not in queued_jobs[frappe.local.site]:
enqueue("frappe.desk.page.backups.backups.backup_files_and_notify_user", queue='long', user_email=user_email)
frappe.msgprint(_("Queued for backup. You will receive an email with the download link"))
else:
frappe.msgprint(_("Backup job is already queued. You will receive an email with the download link"))

def backup_files_and_notify_user(user_email=None):
from frappe.utils.backups import backup
backup_files = backup(with_files=True)
get_downloadable_links(backup_files)

subject = "File backup is ready"
message = frappe.render_template('frappe/templates/emails/file_backup_notification.html', backup_files, is_path=True)
frappe.sendmail(recipients=[user_email], subject=subject, message=message)

def get_downloadable_links(backup_files):
for key in ['backup_path_files', 'backup_path_private_files']:
path = backup_files[key]
backup_files[key] = get_url('/'.join(path.split('/')[-2:]))

+ 1
- 1
frappe/email/doctype/email_group/email_group.py View File

@@ -26,7 +26,7 @@ class EmailGroup(Document):


for user in frappe.db.get_all(doctype, [email_field, unsubscribed_field or "name"]): for user in frappe.db.get_all(doctype, [email_field, unsubscribed_field or "name"]):
try: try:
email = parse_addr(user.get(email_field))[1]
email = parse_addr(user.get(email_field))[1] if user.get(email_field) else None
if email: if email:
frappe.get_doc({ frappe.get_doc({
"doctype": "Email Group Member", "doctype": "Email Group Member",


+ 44
- 18
frappe/email/email_body.py View File

@@ -16,7 +16,15 @@ def get_email(recipients, sender='', msg='', subject='[No Subject]',
text_content = None, footer=None, print_html=None, formatted=None, attachments=None, text_content = None, footer=None, print_html=None, formatted=None, attachments=None,
content=None, reply_to=None, cc=[], email_account=None, expose_recipients=None, content=None, reply_to=None, cc=[], email_account=None, expose_recipients=None,
inline_images=[]): inline_images=[]):
"""send an html email as multipart with attachments and all"""
""" Prepare an email with the following format:
- multipart/mixed
- multipart/alternative
- text/plain
- multipart/related
- text/html
- inline image
- attachment
"""
content = content or msg content = content or msg
emailobj = EMail(sender, recipients, subject, reply_to=reply_to, cc=cc, email_account=email_account, expose_recipients=expose_recipients) emailobj = EMail(sender, recipients, subject, reply_to=reply_to, cc=cc, email_account=email_account, expose_recipients=expose_recipients)


@@ -58,8 +66,8 @@ class EMail:
self.expose_recipients = expose_recipients self.expose_recipients = expose_recipients


self.msg_root = MIMEMultipart('mixed') self.msg_root = MIMEMultipart('mixed')
self.msg_multipart = MIMEMultipart('alternative')
self.msg_root.attach(self.msg_multipart)
self.msg_alternative = MIMEMultipart('alternative')
self.msg_root.attach(self.msg_alternative)
self.cc = cc or [] self.cc = cc or []
self.html_set = False self.html_set = False


@@ -88,33 +96,42 @@ class EMail:
""" """
from email.mime.text import MIMEText from email.mime.text import MIMEText
part = MIMEText(message, 'plain', 'utf-8') part = MIMEText(message, 'plain', 'utf-8')
self.msg_multipart.attach(part)
self.msg_alternative.attach(part)


def set_part_html(self, message, inline_images): def set_part_html(self, message, inline_images):
from email.mime.text import MIMEText from email.mime.text import MIMEText
if inline_images: if inline_images:
related = MIMEMultipart('related')
# process inline images
_inline_images = []
for image in inline_images: for image in inline_images:
# images in dict like {filename:'', filecontent:'raw'} # images in dict like {filename:'', filecontent:'raw'}

content_id = random_string(10) content_id = random_string(10)
message = replace_filename_with_cid(message,
image.get('filename'), content_id)


# replace filename in message with CID
message = re.sub('''src=['"]{0}['"]'''.format(image.get('filename')),
'src="cid:{0}"'.format(content_id), message)
_inline_images.append({
'filename': image.get('filename'),
'filecontent': image.get('filecontent'),
'content_id': content_id
})


self.add_attachment(image.get('filename'), image.get('filecontent'),
None, content_id=content_id, parent=related)
# prepare parts
msg_related = MIMEMultipart('related')


html_part = MIMEText(message, 'html', 'utf-8') html_part = MIMEText(message, 'html', 'utf-8')
related.attach(html_part)
msg_related.attach(html_part)


self.msg_multipart.attach(related)
for image in _inline_images:
self.add_attachment(image.get('filename'), image.get('filecontent'),
content_id=image.get('content_id'), parent=msg_related, inline=True)

self.msg_alternative.attach(msg_related)
else: else:
self.msg_multipart.attach(MIMEText(message, 'html', 'utf-8'))
self.msg_alternative.attach(MIMEText(message, 'html', 'utf-8'))


def set_html_as_text(self, html): def set_html_as_text(self, html):
"""return html2text"""
"""Set plain text from HTML"""
self.set_text(to_markdown(html)) self.set_text(to_markdown(html))


def set_message(self, message, mime_type='text/html', as_attachment=0, filename='attachment.html'): def set_message(self, message, mime_type='text/html', as_attachment=0, filename='attachment.html'):
@@ -139,7 +156,7 @@ class EMail:
self.add_attachment(res[0], res[1]) self.add_attachment(res[0], res[1])


def add_attachment(self, fname, fcontent, content_type=None, def add_attachment(self, fname, fcontent, content_type=None,
parent=None, content_id=None):
parent=None, content_id=None, inline=False):
"""add attachment""" """add attachment"""
from email.mime.audio import MIMEAudio from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase from email.mime.base import MIMEBase
@@ -174,8 +191,8 @@ class EMail:


# Set the filename parameter # Set the filename parameter
if fname: if fname:
part.add_header(b'Content-Disposition',
("attachment; filename=\"%s\"" % fname).encode('utf-8'))
attachment_type = 'inline' if inline else 'attachment'
part.add_header(b'Content-Disposition', attachment_type, filename=fname.encode('utf=8'))
if content_id: if content_id:
part.add_header(b'Content-ID', '<{0}>'.format(content_id)) part.add_header(b'Content-ID', '<{0}>'.format(content_id))


@@ -311,3 +328,12 @@ def get_footer(email_account, footer=None):
footer += '<div style="margin: 15px auto;">{0}</div>'.format(default_mail_footer) footer += '<div style="margin: 15px auto;">{0}</div>'.format(default_mail_footer)


return footer return footer

def replace_filename_with_cid(message, filename, content_id):
""" Replaces <img embed="filename.jpg" ...> with
<img src="cid:content_id" ...>
"""
message = re.sub('''embed=['"]{0}['"]'''.format(filename),
'src="cid:{0}"'.format(content_id), message)

return message

+ 8
- 6
frappe/email/queue.py View File

@@ -17,7 +17,7 @@ from frappe.utils.scheduler import log


class EmailLimitCrossedError(frappe.ValidationError): pass class EmailLimitCrossedError(frappe.ValidationError): pass


def send(recipients=None, sender=None, subject=None, message=None, reference_doctype=None,
def send(recipients=None, sender=None, subject=None, message=None, text_content=None, reference_doctype=None,
reference_name=None, unsubscribe_method=None, unsubscribe_params=None, unsubscribe_message=None, reference_name=None, unsubscribe_method=None, unsubscribe_params=None, unsubscribe_message=None,
attachments=None, reply_to=None, cc=[], message_id=None, in_reply_to=None, send_after=None, attachments=None, reply_to=None, cc=[], message_id=None, in_reply_to=None, send_after=None,
expose_recipients=None, send_priority=1, communication=None, now=False, read_receipt=None, expose_recipients=None, send_priority=1, communication=None, now=False, read_receipt=None,
@@ -28,6 +28,7 @@ def send(recipients=None, sender=None, subject=None, message=None, reference_doc
:param sender: Email sender. :param sender: Email sender.
:param subject: Email subject. :param subject: Email subject.
:param message: Email message. :param message: Email message.
:param text_content: Text version of email message.
:param reference_doctype: Reference DocType of caller document. :param reference_doctype: Reference DocType of caller document.
:param reference_name: Reference name of caller document. :param reference_name: Reference name of caller document.
:param send_priority: Priority for Email Queue, default 1. :param send_priority: Priority for Email Queue, default 1.
@@ -65,12 +66,13 @@ def send(recipients=None, sender=None, subject=None, message=None, reference_doc


check_email_limit(recipients) check_email_limit(recipients)


formatted = get_formatted_html(subject, message, email_account=email_account)
if not text_content:
try:
text_content = html2text(message)
except HTMLParser.HTMLParseError:
text_content = "See html attachment"


try:
text_content = html2text(formatted)
except HTMLParser.HTMLParseError:
text_content = "See html attachment"
formatted = get_formatted_html(subject, message, email_account=email_account)


if reference_doctype and reference_name: if reference_doctype and reference_name:
unsubscribed = [d.email for d in frappe.db.get_all("Email Unsubscribe", "email", unsubscribed = [d.email for d in frappe.db.get_all("Email Unsubscribe", "email",


+ 103
- 0
frappe/email/test_email_body.py View File

@@ -0,0 +1,103 @@
# Copyright (c) 2017, Frappe Technologies Pvt. Ltd. and Contributors
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals

import unittest, os, base64
from frappe.email.email_body import replace_filename_with_cid, get_email

class TestEmailBody(unittest.TestCase):
def setUp(self):
email_html = '''
<div>
<h3>Hey John Doe!</h3>
<p>This is embedded image you asked for</p>
<img embed="favicon.png" />
</div>
'''
email_text = '''
Hey John Doe!
This is the text version of this email
'''
frappe_app_path = os.path.join('..', 'apps', 'frappe')
img_path = os.path.join(frappe_app_path, 'frappe', 'public', 'images', 'favicon.png')

with open(img_path) as f:
img_content = f.read()
img_base64 = base64.b64encode(img_content)

# email body keeps 76 characters on one line
self.img_base64 = fixed_column_width(img_base64, 76)

self.email_string = get_email(
recipients=['test@example.com'],
sender='me@example.com',
subject='Test Subject',
content=email_html,
text_content=email_text,
inline_images=[{
'filename': 'favicon.png',
'filecontent': img_content
}]
).as_string()


def test_image(self):
img_signature = '''
Content-Type: image/png
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="favicon.png"
'''

self.assertTrue(img_signature in self.email_string)
self.assertTrue(self.img_base64 in self.email_string)


def test_text_content(self):
text_content = '''
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable


Hey John Doe!
This is the text version of this email
'''
self.assertTrue(text_content in self.email_string)


def test_email_content(self):
html_head = '''
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml">
'''

html = '''<h3>Hey John Doe!</h3>'''

self.assertTrue(html_head in self.email_string)
self.assertTrue(html in self.email_string)


def test_replace_filename_with_cid(self):
original_message = '''
<div>
<img embed="test.jpg" alt="test" />
</div>
'''
processed_message = '''
<div>
<img src="cid:abcdefghij" alt="test" />
</div>
'''
message = replace_filename_with_cid(original_message, 'test.jpg', 'abcdefghij')
self.assertEquals(message, processed_message)


def fixed_column_width(string, chunk_size):
parts = [string[0+i:chunk_size+i] for i in range(0, len(string), chunk_size)]
return '\n'.join(parts)

+ 1
- 1
frappe/frappeclient.py View File

@@ -102,7 +102,7 @@ class FrappeClient(object):
:param doctype: `doctype` to be deleted :param doctype: `doctype` to be deleted
:param name: `name` of document to be deleted''' :param name: `name` of document to be deleted'''
return self.post_request({ return self.post_request({
"cmd": "frappe.model.delete_doc",
"cmd": "frappe.client.delete",
"doctype": doctype, "doctype": doctype,
"name": name "name": name
}) })


+ 2
- 1
frappe/model/db_schema.py View File

@@ -43,6 +43,7 @@ type_map = {
,'Attach': ('text', '') ,'Attach': ('text', '')
,'Attach Image':('text', '') ,'Attach Image':('text', '')
,'Signature': ('longtext', '') ,'Signature': ('longtext', '')
,'Color': ('varchar', varchar_len)
} }


default_columns = ['name', 'creation', 'modified', 'modified_by', 'owner', default_columns = ['name', 'creation', 'modified', 'modified_by', 'owner',
@@ -307,7 +308,7 @@ class DbTable:
if not frappe.db.sql("show index from `%s` where key_name = %s" % if not frappe.db.sql("show index from `%s` where key_name = %s" %
(self.name, '%s'), col.fieldname): (self.name, '%s'), col.fieldname):
query.append("add index `{}`(`{}`)".format(col.fieldname, col.fieldname)) query.append("add index `{}`(`{}`)".format(col.fieldname, col.fieldname))
for col in self.drop_index: for col in self.drop_index:
if col.fieldname != 'name': # primary key if col.fieldname != 'name': # primary key
# if index key exists # if index key exists


+ 6
- 0
frappe/model/naming.py View File

@@ -99,6 +99,9 @@ def make_autoname(key='', doctype='', doc=''):


def parse_naming_series(parts, doctype= '', doc = ''): def parse_naming_series(parts, doctype= '', doc = ''):
n = '' n = ''
if isinstance(parts, basestring):
parts = parts.split('.')

series_set = False series_set = False
today = now_datetime() today = now_datetime()
for e in parts: for e in parts:
@@ -142,6 +145,9 @@ def getseries(key, digits, doctype=''):
def revert_series_if_last(key, name): def revert_series_if_last(key, name):
if ".#" in key: if ".#" in key:
prefix, hashes = key.rsplit(".", 1) prefix, hashes = key.rsplit(".", 1)
if '.' in prefix:
prefix = parse_naming_series(prefix.split('.'))

if "#" not in hashes: if "#" not in hashes:
return return
else: else:


+ 48
- 0
frappe/public/css/desk.css View File

@@ -995,3 +995,51 @@ input[type="checkbox"]:checked:before {
visibility: visible; visibility: visible;
} }
} }
.color-picker {
position: relative;
z-index: 999;
}
.color-picker .color-picker-pallete {
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
background: #fff;
border: 1px solid #d1d8dd;
width: 290px;
height: 106px;
padding-top: 10px;
padding-left: 5px;
position: absolute;
top: 0;
left: 0;
}
.color-picker .color-picker-pallete:after,
.color-picker .color-picker-pallete:before {
border: solid transparent;
content: " ";
height: 0;
width: 0;
pointer-events: none;
position: absolute;
bottom: 100%;
left: 30px;
}
.color-picker .color-picker-pallete:after {
border-color: rgba(255, 255, 255, 0);
border-bottom-color: #fff;
border-width: 8px;
margin-left: -8px;
}
.color-picker .color-picker-pallete:before {
border-color: rgba(221, 221, 221, 0);
border-bottom-color: #d1d8dd;
border-width: 9px;
margin-left: -9px;
}
.color-picker .color-box {
cursor: pointer;
display: inline-block;
width: 20px;
height: 20px;
margin: -2px 0 0 3px;
border: 1px solid rgba(0, 0, 0, 0.25);
}

+ 96
- 13
frappe/public/js/frappe/form/control.js View File

@@ -652,6 +652,85 @@ frappe.ui.form.ControlCurrency = frappe.ui.form.ControlFloat.extend({


frappe.ui.form.ControlPercent = frappe.ui.form.ControlFloat; frappe.ui.form.ControlPercent = frappe.ui.form.ControlFloat;


frappe.ui.form.ControlColor = frappe.ui.form.ControlData.extend({
make_input: function () {
this._super();
this.colors = [
"#ffc4c4", "#ff8989", "#ff4d4d", "#a83333",
"#ffe8cd", "#ffd19c", "#ffb868", "#a87945",
"#ffd2c2", "#ffa685", "#ff7846", "#a85b5b",
"#ffd7d7", "#ffb1b1", "#ff8989", "#a84f2e",
"#fffacd", "#fff168", "#fff69c", "#a89f45",
"#ebf8cc", "#d9f399", "#c5ec63", "#7b933d",
"#cef6d1", "#9deca2", "#6be273", "#428b46",
"#d2f8ed", "#a4f3dd", "#77ecca", "#49937e",
"#d2f1ff", "#a6e4ff", "#78d6ff", "#4f8ea8",
"#d2d2ff", "#a3a3ff", "#7575ff", "#4d4da8",
"#dac7ff", "#b592ff", "#8e58ff", "#5e3aa8",
"#f8d4f8", "#f3aaf0", "#ec7dea", "#934f92"
];
this.make_color_input();
},
make_color_input: function () {
this.$wrapper
.find('.control-input-wrapper')
.append(`<div class="color-picker">
<div class="color-picker-pallete"></div>
</div>`);
this.$color_pallete = this.$wrapper.find('.color-picker-pallete');

var color_html = this.colors.map(this.get_color_box).join("");
this.$color_pallete.append(color_html);
this.$color_pallete.hide();
this.bind_events();
},
get_color_box: function (hex) {
return `<div class="color-box" data-color="${hex}" style="background-color: ${hex}"></div>`;
},
set_formatted_input: function(value) {
this._super(value);
this.$input.css({
"background-color": value
});
},
bind_events: function () {
var mousedown_happened = false;
this.$wrapper.on("click", ".color-box", (e) => {
mousedown_happened = false;

var color_val = $(e.target).data("color");
this.set_value(color_val);
// set focus so that we can blur it later
this.set_focus();
});

this.$wrapper.find(".color-box").mousedown(() => {
mousedown_happened = true;
});

this.$input.on("focus", () => {
this.$color_pallete.show();
});
this.$input.on("blur", () => {
if (mousedown_happened) {
// cancel the blur event
mousedown_happened = false;
} else {
// blur event is okay
$(this.$color_pallete).hide();
}
});
},
validate: function (value) {
var is_valid = /^#[0-9A-F]{6}$/i.test(value);
if(is_valid) {
return value;
}
frappe.msgprint(__("{0} is not a valid hex color", [value]));
return null;
}
});

frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
make_input: function() { make_input: function() {
this._super(); this._super();
@@ -683,7 +762,17 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
}, },
onShow: function() { onShow: function() {
$('.datepicker--button:visible').text(__('Today')); $('.datepicker--button:visible').text(__('Today'));
},

if(!me.frm) return;
var window_height = $(window).height();
var window_scroll_top = $(window).scrollTop();
var el_offset_top = me.$input.offset().top + 280;
var position = 'top left';
if(window_height + window_scroll_top >= el_offset_top) {
position = 'bottom left';
}
me.datepicker.update('position', position);
}
}; };
}, },
set_datepicker: function() { set_datepicker: function() {
@@ -883,6 +972,9 @@ frappe.ui.form.ControlCheck = frappe.ui.form.ControlData.extend({
this._super(); this._super();
this.$input.removeClass("form-control"); this.$input.removeClass("form-control");
}, },
get_input_value: function() {
return this.input && this.input.checked ? 1 : 0;
},
validate: function(value) { validate: function(value) {
return cint(value); return cint(value);
}, },
@@ -893,14 +985,7 @@ frappe.ui.form.ControlCheck = frappe.ui.form.ControlData.extend({
this.last_value = value; this.last_value = value;
this.set_mandatory(value); this.set_mandatory(value);
this.set_disp_area(); this.set_disp_area();
},
get_input_value: function() {
if (!this.$input) {
return;
}

return this.$input.prop("checked") ? 1 : 0;
},
}
}); });


frappe.ui.form.ControlButton = frappe.ui.form.ControlData.extend({ frappe.ui.form.ControlButton = frappe.ui.form.ControlData.extend({
@@ -1853,8 +1938,6 @@ frappe.ui.form.ControlTextEditor = frappe.ui.form.ControlCode.extend({
// also firefox tends to reset the cursor for some reason if the values // also firefox tends to reset the cursor for some reason if the values
// are reset // are reset


let current = this.get_input_value();

if(this.setting_count > 2) { if(this.setting_count > 2) {
// we don't understand how the internal triggers work, // we don't understand how the internal triggers work,
// so if someone is setting the value third time, then quit // so if someone is setting the value third time, then quit
@@ -1867,13 +1950,13 @@ frappe.ui.form.ControlTextEditor = frappe.ui.form.ControlCode.extend({


if(!this._last_change_on || (time_since_last_keystroke > 3000)) { if(!this._last_change_on || (time_since_last_keystroke > 3000)) {
setTimeout(() => this.setting_count = 0, 500); setTimeout(() => this.setting_count = 0, 500);
this.editor.summernote('code', value);
this.editor.summernote('code', value || '');
} else { } else {
this._setting_value = setInterval(() => { this._setting_value = setInterval(() => {
if(time_since_last_keystroke > 3000) { if(time_since_last_keystroke > 3000) {
if(this.last_value !== this.get_input_value()) { if(this.last_value !== this.get_input_value()) {
// if not already in sync, reset // if not already in sync, reset
this.editor.summernote('code', this.last_value);
this.editor.summernote('code', this.last_value || '');
} }
clearInterval(this._setting_value); clearInterval(this._setting_value);
this._setting_value = null; this._setting_value = null;


+ 14
- 1
frappe/public/js/frappe/form/save.js View File

@@ -176,6 +176,8 @@ frappe.ui.form.save = function (frm, action, callback, btn) {
console.log("Already saving. Please wait a few moments.") console.log("Already saving. Please wait a few moments.")
throw "saving"; throw "saving";
} }

frappe.ui.form.remove_old_form_route();
frappe.ui.form.is_saving = true; frappe.ui.form.is_saving = true;


return frappe.call({ return frappe.call({
@@ -206,7 +208,18 @@ frappe.ui.form.save = function (frm, action, callback, btn) {
} }
} }


frappe.ui.form.update_calling_link = function (newdoc) {
frappe.ui.form.remove_old_form_route = () => {
let index = -1;
let current_route = frappe.get_route();
frappe.route_history.map((arr, i) => {
if (arr.join("/") === current_route.join("/")) {
index = i;
}
});
frappe.route_history.splice(index, 1);
}

frappe.ui.form.update_calling_link = (newdoc) => {
if (frappe._from_link && newdoc.doctype === frappe._from_link.df.options) { if (frappe._from_link && newdoc.doctype === frappe._from_link.df.options) {
var doc = frappe.get_doc(frappe._from_link.doctype, frappe._from_link.docname); var doc = frappe.get_doc(frappe._from_link.doctype, frappe._from_link.docname);
// set value // set value


+ 3
- 0
frappe/public/js/frappe/ui/toolbar/awesome_bar.js View File

@@ -43,6 +43,9 @@ frappe.search.AwesomeBar = Class.extend({
} }
}); });


// Added to aid UI testing of global search
input.awesomplete = awesomplete;

$input.on("input", function(e) { $input.on("input", function(e) {
var value = e.target.value; var value = e.target.value;
var txt = value.trim().replace(/\s\s+/g, ' '); var txt = value.trim().replace(/\s\s+/g, ' ');


+ 53
- 0
frappe/public/less/desk.less View File

@@ -918,3 +918,56 @@ input[type="checkbox"] {
visibility: visible; visibility: visible;
} }
} }

// color picker
.color-picker {
position: relative;
z-index: 999;

.color-picker-pallete {
border-radius: 4px;
box-shadow: 0 4px 12px rgba(0,0,0,.15);
background: #fff;
border: 1px solid @border-color;
width: 290px;
height: 106px;
padding-top: 10px;
padding-left: 5px;
position: absolute;
top: 0;
left: 0;

&:after,
&:before {
border: solid transparent;
content: " ";
height: 0;
width: 0;
pointer-events: none;
position: absolute;
bottom: 100%;
left: 30px;
}
&:after {
border-color: rgba(255, 255, 255, 0);
border-bottom-color: #fff;
border-width: 8px;
margin-left: -8px;
}
&:before {
border-color: rgba(221, 221, 221, 0);
border-bottom-color: @border-color;
border-width: 9px;
margin-left: -9px;
}
}
.color-box {
cursor: pointer;
display: inline-block;
width: 20px;
height: 20px;
margin: -2px 0 0 3px;
border: 1px solid rgba(0,0,0, 0.25);

}
}

+ 10
- 0
frappe/templates/emails/email_header.html View File

@@ -0,0 +1,10 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="email_header">
<tr>
<td width="35" height="50" style="border-bottom: 1px solid #d1d8dd;">
<img embed="{{brand_image}}" width="24" height="24" style="display: block;" alt="{{brand_text}}">
</td>
<td style="border-bottom: 1px solid #d1d8dd;">
<p>{{ brand_text }}</p>
</td>
</tr>
</table>

+ 6
- 0
frappe/templates/emails/file_backup_notification.html View File

@@ -0,0 +1,6 @@
Hello,

<br>
<p> Please use following links to download file backup. </p>
<p> Public Files Backup: <a href='{{ backup_path_files }}'>{{ backup_path_files }}</a> </p>
<p> Private Files Backup: <a href='{{ backup_path_private_files }}'>{{ backup_path_private_files }}</a> </p>

+ 49
- 22
frappe/templates/emails/standard.html View File

@@ -1,28 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">

<head> <head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{{ subject or "" }}</title>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{{ subject or "" }}</title>
</head> </head>
<body style="line-height: 1.5; color: #36414C;">
<!-- body -->
<div style="font-family: -apple-system, BlinkMacSystemFont,
"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
"Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-size: 14px; padding: 10px;">
{{ content }}
{{ signature }}
</div>

<!-- footer -->
<div style="margin-top: 30px; font-family: Helvetica, Arial, sans-serif; font-size: 11px;
margin-bottom: 15px; border-top: 1px solid #d1d8dd;"
data-email-footer="true">
{{ footer }}
</div>
<!-- /footer -->


<div class="print-html">{{ print_html or "" }}</div>
<body style="line-height: 1.5; color: #36414C;">
<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="body_table" style="font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 14px;">
<tr>
<td align="center" valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="600" id="email_container">
<tr>
<td valign="top">
{{ header or "" }}
</td>
</tr>
<tr>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="email_body">
<tr>
<td valign="top">
<p>{{ content }}</p>
<p>{{ signature }}</p>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="0" width="100%" id="email_footer">
<tr>
<td valign="top" style="font-family: Helvetica, Arial, sans-serif; font-size: 11px;
margin-bottom: 15px; border-top: 1px solid #d1d8dd;" data-email-footer="true">
{{ footer }}
</td>
</tr>
<tr>
<td valign="top">
<div class="print-html">{{ print_html or "" }}</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body> </body>
</html>

</html>

+ 1
- 1
frappe/templates/print_formats/standard_macros.html View File

@@ -1,7 +1,7 @@
{% macro render_field(df, doc) -%} {% macro render_field(df, doc) -%}
{%- if df.fieldtype=="Table" -%} {%- if df.fieldtype=="Table" -%}
{{ render_table(df, doc) }} {{ render_table(df, doc) }}
{%- elif df.fieldtype=="HTML" -%}
{%- elif df.fieldtype=="HTML" and df.options -%}
<div>{{ frappe.render_template(df.options, {"doc": doc}) or "" }}</div> <div>{{ frappe.render_template(df.options, {"doc": doc}) or "" }}</div>
{%- elif df.fieldtype in ("Text", "Text Editor", "Code") -%} {%- elif df.fieldtype in ("Text", "Text Editor", "Code") -%}
{{ render_text_field(df, doc) }} {{ render_text_field(df, doc) }}


+ 3
- 1
frappe/tests/test_api.py View File

@@ -2,11 +2,13 @@
# MIT License. See license.txt # MIT License. See license.txt
from __future__ import unicode_literals from __future__ import unicode_literals


import unittest, frappe
import unittest, frappe, os
from frappe.utils import get_url from frappe.utils import get_url


class TestAPI(unittest.TestCase): class TestAPI(unittest.TestCase):
def test_insert_many(self): def test_insert_many(self):
if os.environ.get('CI'):
return
from frappe.frappeclient import FrappeClient from frappe.frappeclient import FrappeClient


frappe.db.sql('delete from `tabToDo` where description like "Test API%"') frappe.db.sql('delete from `tabToDo` where description like "Test API%"')


+ 19
- 0
frappe/tests/test_document.py View File

@@ -3,6 +3,8 @@
from __future__ import unicode_literals from __future__ import unicode_literals


import frappe, unittest, os import frappe, unittest, os
from frappe.utils import cint
from frappe.model.naming import revert_series_if_last, make_autoname, parse_naming_series


class TestDocument(unittest.TestCase): class TestDocument(unittest.TestCase):
def test_get_return_empty_list_for_table_field_if_none(self): def test_get_return_empty_list_for_table_field_if_none(self):
@@ -217,3 +219,20 @@ class TestDocument(unittest.TestCase):


self.assertEquals(before_update + new_count, after_update) self.assertEquals(before_update + new_count, after_update)


def test_naming_series(self):
data = ["TEST-", "TEST/17-18/.test_data./.####", "TEST.YYYY.MM.####"]

for series in data:
name = make_autoname(series)
prefix = series

if ".#" in series:
prefix = series.rsplit('.',1)[0]

prefix = parse_naming_series(prefix)
old_current = frappe.db.get_value('Series', prefix, "current", order_by="name")

revert_series_if_last(series, name)
new_current = cint(frappe.db.get_value('Series', prefix, "current", order_by="name"))

self.assertEquals(cint(old_current) - 1, new_current)

+ 94
- 0
frappe/tests/ui/test_calendar_view.js View File

@@ -0,0 +1,94 @@
QUnit.module('views');

QUnit.test("Calendar View Tests", function(assert) {
assert.expect(7);
let done = assert.async();
let random_text = frappe.utils.get_random(10);
let today = frappe.datetime.get_today()+" 16:20:35"; //arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion
let visible_time = () => {
// Method to return the start-time (hours) of the event visible
return $('.fc-time').text().split('p')[0]; // 'p' because the arbitrary time is pm
};
// let visible_hours = () => {
// // Method to return the start-time (hours) of the event visible
// return $('.fc-time').text().split(':')[0].replace(/\D+/g, '');
// };
// let visible_minutes = () => {
// // Method to return the start-time (minutes) of the event visible
// return $('.fc-time').text().split(':')[1].replace(/\D+/g, '');
// };
let event_title_text = () => {
// Method to return the title of the event visible
return $('.fc-title:visible').text();
};

frappe.run_serially([
// Create an event using the frappe API
() => frappe.tests.make("Event", [
{subject: random_text},
{starts_on: today},
{event_type: 'Private'}
]),
// Goto Calendar view
() => frappe.set_route(["List", "Event", "Calendar"]),
// Check if event is created
() => {
// Check if the event exists and if its title matches with the one created
assert.equal(event_title_text(), random_text);
// Check if time of event created is correct
// assert.equal(visible_hours(), 4);
// assert.equal(visible_minutes(), 20);
assert.equal(visible_time(), "4:20");
},

// Delete event
// Goto Calendar view
() => frappe.set_route(["List", "Event", "Calendar"]),
() => frappe.timeout(0.3),
// Open the event to be deleted
() => frappe.tests.click_generic_text(random_text),
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Delete'),
() => frappe.tests.click_page_head_item('Yes'),
() => frappe.timeout(4),
// Goto Calendar View
() => frappe.set_route(["List", "Event", "Calendar"]),
() => frappe.timeout(0.3),

// Check if all menu items redirect to correct locations
// Check if clicking on 'Import' redirects you to ["data-import-tool"]
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Import'),
() => assert.deepEqual(["data-import-tool"], frappe.get_route()),
() => window.history.back(),
() => frappe.timeout(0.5),
// Check if clicking on 'User Permissions Manager' redirects you to ["user-permissions"]
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('User Permissions Manager'),
() => assert.deepEqual(["user-permissions"], frappe.get_route()),
() => window.history.back(),
() => frappe.timeout(0.5),
// Check if clicking on 'Role Permissions Manager' redirects you to ["permission-manager"]
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Role Permissions Manager'),
() => assert.deepEqual(["permission-manager"], frappe.get_route()),
() => window.history.back(),
() => frappe.timeout(0.5),
// Check if clicking on 'Customize' redirects you to ["Form", "Customize Form"]
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Customize'),
() => assert.deepEqual(["Form", "Customize Form"], frappe.get_route()),
() => window.history.back(),
() => frappe.timeout(0.5),

// Check if event is deleted
() => assert.equal(event_title_text(), ""),

() => done()

]);
});

+ 64
- 0
frappe/tests/ui/test_desktop.js View File

@@ -0,0 +1,64 @@
QUnit.module('views');

QUnit.test("Verification of navbar menu links", function(assert) {
assert.expect(14);
let done = assert.async();
let navbar_user_items = ['Set Desktop Icons', 'My Settings', 'Reload', 'View Website', 'Background Jobs', 'Logout'];
let modal_and_heading = ['Documentation', 'About'];
frappe.run_serially([
// Goto Desk using button click to check if its working
() => frappe.tests.click_navbar_item('Home'),
() => assert.deepEqual([""], frappe.get_route()),

// Click username on the navbar (Adminisrator) and verify visibility of all elements
() => frappe.tests.click_navbar_item('navbar_user'),
() => navbar_user_items.forEach(function(navbar_user_item) {
assert.ok(frappe.tests.is_visible(navbar_user_item));
}),

// Click Help and verify visibility of all elements
() => frappe.tests.click_navbar_item('Help'),
() => modal_and_heading.forEach(function(modal) {
assert.ok(frappe.tests.is_visible(modal));
}),

// Goto Desk
() => frappe.tests.click_navbar_item('Home'),
() => frappe.timeout(0.3),

// Click navbar-username and verify links of all menu items
// Check if clicking on 'Set Desktop Icons' redirects you to the correct page
() => frappe.tests.click_navbar_item('navbar_user'),
() => frappe.tests.click_dropdown_item('Set Desktop Icons'),
() => assert.deepEqual(["modules_setup"], frappe.get_route()),
() => frappe.tests.click_navbar_item('Home'),
// Check if clicking on 'My Settings' redirects you to the correct page
() => frappe.tests.click_navbar_item('navbar_user'),
() => frappe.tests.click_dropdown_item('My Settings'),
() => assert.deepEqual(["Form", "User", "Administrator"], frappe.get_route()),
() => frappe.tests.click_navbar_item('Home'),
// Check if clicking on 'Background Jobs' redirects you to the correct page
() => frappe.tests.click_navbar_item('navbar_user'),
() => frappe.tests.click_dropdown_item('Background Jobs'),
() => assert.deepEqual(["background_jobs"], frappe.get_route()),
() => frappe.tests.click_navbar_item('Home'),

// Click Help and check both modals
// Check if clicking 'Documentation' opens the right modal
() => frappe.tests.click_navbar_item('Help'),
() => frappe.tests.click_dropdown_item('Documentation'),
() => assert.ok(frappe.tests.is_visible('Documentation', 'span')),
() => frappe.tests.click_generic_text('Close', 'button'),
// Check if clicking 'About' opens the right modal
() => frappe.tests.click_navbar_item('Help'),
() => frappe.tests.click_dropdown_item('About'),
() => assert.ok(frappe.tests.is_visible('Frappe Framework', 'div')),
() => frappe.tests.click_generic_text('Close', 'button'),

() => done()
]);
});

+ 53
- 0
frappe/tests/ui/test_gantt_view.js View File

@@ -0,0 +1,53 @@
QUnit.module('views');

QUnit.test("Gantt View Tests", function(assert) {
assert.expect(2);
let done = assert.async();
let random_text = frappe.utils.get_random(10);
let start_date = frappe.datetime.get_today()+" 16:20:35"; // arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion
let end_date = frappe.datetime.get_today()+" 18:30:45"; //arbitrary value taken to prevent cases like 12a for 12:00am and 12h to 24h conversion
let event_id = () => {
// Method to acquire the ID of the event created. This is needed to redirect to the event page
let event_label = $('.bar-label').text();
let init = event_label.indexOf('(');
let fin = event_label.indexOf(')');
return (event_label.substr(init+1,fin-init-1));
};
let event_title_text = (text) => {
// Method to check the name of the event created. This is needed to verify the creation and deletion of the event
return $('#bar > g > g.bar-group > text:visible').text().includes(text);
};

frappe.run_serially([
// Create an event using the Frapee API
() => {
return frappe.tests.make("Event", [
{subject: random_text},
{starts_on: start_date},
{ends_on: end_date},
{event_type: 'Private'}
]);
},

// Check if event is created
() => frappe.set_route(["List", "Event", "Gantt"]),
() => assert.ok( event_title_text(random_text) ),

// Delete event
() => frappe.set_route(["List", "Event", "Gantt"]),
() => frappe.timeout(0.3),
// Redirect to the event page to delete the event
() => frappe.set_route(["Form", "Event", event_id()]),
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Delete'),
() => frappe.tests.click_page_head_item('Yes'),
() => frappe.timeout(0.3),
() => frappe.set_route(["List", "Event", "Gantt"]),
() => frappe.timeout(0.3),

// Check if event is deleted
() => assert.ok( event_title_text("") ),

() => done()
]);
});

+ 65
- 1
frappe/tests/ui/test_lib.js View File

@@ -90,6 +90,70 @@ frappe.tests = {
return frappe.run_serially(tasks); return frappe.run_serially(tasks);
}); });
}, },
click_page_head_item: (text) => {
// Method to items present on the page header like New, Save, Delete etc.
let possible_texts = ["New", "Delete", "Save", "Yes"];
return frappe.run_serially([
() => {
if (text == "Menu"){
$("span.menu-btn-group-label:contains('Menu'):visible").click();
} else if (text == "Refresh") {
$(".btn-secondary:contains('Refresh'):visible").click();
} else if (possible_texts.includes(text)) {
$(".btn-primary:contains("+text+"):visible").click();
}
},
() => frappe.timeout(0.3)
]);
},
click_dropdown_item: (text) => {
// Method to click dropdown elements
return frappe.run_serially([
() => {
let li = $(".dropdown-menu li:contains("+text+"):visible").get(0);
$(li).find('a')[0].click();
},
() => frappe.timeout(0.3)
]);
},
click_navbar_item: (text) => {
// Method to click an elements present on the navbar
return frappe.run_serially([
() => {
if (text == "Help"){
$(".dropdown-help .dropdown-toggle:visible").click();
}
else if (text == "navbar_user"){
$(".dropdown-navbar-user .dropdown-toggle:visible").click();
}
else if (text == "Notification"){
$(".navbar-new-comments").click();
}
else if (text == "Home"){
$(".navbar-home:contains('Home'):visible")[0].click();
}
},
() => frappe.timeout(0.3)
]);
},
click_generic_text: (text, tag='a') => {
// Method to click an element by its name
return frappe.run_serially([
() => $(tag+":contains("+text+"):visible")[0].click(),
() => frappe.timeout(0.3)
]);
},
click_desktop_icon: (text) => {
// Method to click the desktop icons on the Desk, by their name
return frappe.run_serially([
() => $("#icon-grid > div > div.app-icon[title="+text+"]").click(),
() => frappe.timeout(0.3)
]);
},
is_visible: (text, tag='a') => {
// Method to check the visibility of an element
return $(tag+":contains("+text+")").is(':visible');
},
click_button: function(text) { click_button: function(text) {
$(`.btn:contains("${text}"):visible`).click(); $(`.btn:contains("${text}"):visible`).click();
return frappe.timeout(0.3); return frappe.timeout(0.3);
@@ -98,4 +162,4 @@ frappe.tests = {
$(`a:contains("${text}"):visible`).click(); $(`a:contains("${text}"):visible`).click();
return frappe.timeout(0.3); return frappe.timeout(0.3);
} }
};
};

+ 13
- 9
frappe/tests/ui/test_list.js View File

@@ -1,27 +1,31 @@
QUnit.module('views'); QUnit.module('views');


QUnit.test("test quick entry", function(assert) {
QUnit.test("Test quick entry", function(assert) {
assert.expect(2); assert.expect(2);
let done = assert.async(); let done = assert.async();
let random = frappe.utils.get_random(10);
let random_text = frappe.utils.get_random(10);


frappe.run_serially([ frappe.run_serially([
() => frappe.set_route('List', 'ToDo'), () => frappe.set_route('List', 'ToDo'),
() => frappe.new_doc('ToDo'), () => frappe.new_doc('ToDo'),
() => frappe.quick_entry.dialog.set_value('description', random),
() => frappe.quick_entry.dialog.set_value('description', random_text),
() => frappe.quick_entry.insert(), () => frappe.quick_entry.insert(),
(doc) => { (doc) => {
assert.ok(doc && !doc.__islocal); assert.ok(doc && !doc.__islocal);
return frappe.set_route('Form', 'ToDo', doc.name); return frappe.set_route('Form', 'ToDo', doc.name);
}, },
() => {
assert.ok(cur_frm.doc.description.includes(random));
return done();
}
() => assert.ok(cur_frm.doc.description.includes(random_text)),

// Delete the created ToDo
() => frappe.tests.click_page_head_item('Menu'),
() => frappe.tests.click_dropdown_item('Delete'),
() => frappe.tests.click_page_head_item('Yes'),

() => done()
]); ]);
}); });


QUnit.test("test list values", function(assert) {
QUnit.test("Test list values", function(assert) {
assert.expect(2); assert.expect(2);
let done = assert.async(); let done = assert.async();
frappe.set_route('List', 'DocType') frappe.set_route('List', 'DocType')
@@ -30,4 +34,4 @@ QUnit.test("test list values", function(assert) {
assert.ok($('.list-item:visible').length > 10); assert.ok($('.list-item:visible').length > 10);
done(); done();
}); });
});
});

+ 183
- 177
frappe/translations/am.csv
File diff suppressed because it is too large
View File


+ 229
- 223
frappe/translations/ar.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/bg.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/bn.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/bs.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/ca.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/cs.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/da.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/de.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/el.csv
File diff suppressed because it is too large
View File


+ 1
- 1
frappe/translations/es-AR.csv View File

@@ -1,3 +1,3 @@
DocType: Communication,Comment Type,Tipo de Comentario DocType: Communication,Comment Type,Tipo de Comentario
apps/frappe/frappe/public/js/frappe/form/control.js +1028,Clear Attachment,Limpiar Adjunto
apps/frappe/frappe/public/js/frappe/form/control.js +1002,Clear Attachment,Limpiar Adjunto
DocType: Communication,Communication,Comunicacion DocType: Communication,Communication,Comunicacion

+ 1
- 1
frappe/translations/es-CL.csv View File

@@ -28,7 +28,7 @@ DocType: Communication,Link DocType,Enlace DocType
apps/frappe/frappe/desk/doctype/kanban_board/kanban_board.py +20,Column Name cannot be empty,El Nombre de la Columna no puede estar vacía apps/frappe/frappe/desk/doctype/kanban_board/kanban_board.py +20,Column Name cannot be empty,El Nombre de la Columna no puede estar vacía
,Feedback Ratings,Ratings de Feedback ,Feedback Ratings,Ratings de Feedback
apps/frappe/frappe/email/queue.py +210,Cannot send this email. You have crossed the sending limit of {0} emails for this month.,No se puede enviar este correo electrónico. Usted ha cruzado el límite de envío de {0} mensajes de correo electrónico para este mes. apps/frappe/frappe/email/queue.py +210,Cannot send this email. You have crossed the sending limit of {0} emails for this month.,No se puede enviar este correo electrónico. Usted ha cruzado el límite de envío de {0} mensajes de correo electrónico para este mes.
apps/frappe/frappe/model/db_query.py +508,Cannot use sub-query in order by,No se puede utilizar una sub-consulta en order by
apps/frappe/frappe/model/db_query.py +513,Cannot use sub-query in order by,No se puede utilizar una sub-consulta en order by
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +227,Permissions can be managed via Setup &gt; Role Permissions Manager,Los permisos se pueden gestionar a través de Configuración &gt; Administrador de permisos apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +227,Permissions can be managed via Setup &gt; Role Permissions Manager,Los permisos se pueden gestionar a través de Configuración &gt; Administrador de permisos
DocType: LDAP Settings,LDAP First Name Field,Campo de Primer Nombre LDAP DocType: LDAP Settings,LDAP First Name Field,Campo de Primer Nombre LDAP
apps/frappe/frappe/core/page/modules_setup/modules_setup.html +32,Global Settings: Users will only be able to choose checked icons,Configuraciones Globales: Los usuarios sólo podrán elegir los iconos marcados apps/frappe/frappe/core/page/modules_setup/modules_setup.html +32,Global Settings: Users will only be able to choose checked icons,Configuraciones Globales: Los usuarios sólo podrán elegir los iconos marcados


+ 1
- 1
frappe/translations/es-NI.csv View File

@@ -1,5 +1,5 @@
DocType: Web Form,Accept Payment,Aceptar Pago DocType: Web Form,Accept Payment,Aceptar Pago
DocType: Auto Email Report,Based on Permissions For User,Base sobre Permiso de Usuario DocType: Auto Email Report,Based on Permissions For User,Base sobre Permiso de Usuario
apps/frappe/frappe/model/base_document.py +580,"{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}","{0}: '{1}' ({3}) resultarán truncadas, como caracteres máximo permitido es {2}"
apps/frappe/frappe/model/base_document.py +579,"{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}","{0}: '{1}' ({3}) resultarán truncadas, como caracteres máximo permitido es {2}"
DocType: System Settings,Backups,Respaldos DocType: System Settings,Backups,Respaldos
apps/frappe/frappe/utils/password_strength.py +58,Better add a few more letters or another word,Mejor añadir algunas letras extras u otra palabra apps/frappe/frappe/utils/password_strength.py +58,Better add a few more letters or another word,Mejor añadir algunas letras extras u otra palabra

+ 49
- 49
frappe/translations/es-PE.csv View File

@@ -1,4 +1,4 @@
apps/frappe/frappe/core/doctype/doctype/doctype.py +725,{0}: Cannot set import as {1} is not importable,{0}: no se puede definir 'De Importación' como {1} porque no es importable
apps/frappe/frappe/core/doctype/doctype/doctype.py +729,{0}: Cannot set import as {1} is not importable,{0}: no se puede definir 'De Importación' como {1} porque no es importable
DocType: DocField,Heading,Título DocType: DocField,Heading,Título
apps/frappe/frappe/public/js/frappe/model/model.js +106,Unable to load: {0},No se puede cargar : {0} apps/frappe/frappe/public/js/frappe/model/model.js +106,Unable to load: {0},No se puede cargar : {0}
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +26,Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles.,Permisos en los niveles más altos son los permisos de nivel de campo. Todos los campos tienen un conjunto Nivel de permiso en su contra y las reglas definidas en el que los permisos se aplican al campo. Esto es útil en caso de que quiera ocultar o hacer cierto campo de sólo lectura para ciertas funciones. apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +26,Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles.,Permisos en los niveles más altos son los permisos de nivel de campo. Todos los campos tienen un conjunto Nivel de permiso en su contra y las reglas definidas en el que los permisos se aplican al campo. Esto es útil en caso de que quiera ocultar o hacer cierto campo de sólo lectura para ciertas funciones.
@@ -14,11 +14,11 @@ apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +852,With Ledge
DocType: Report,Ref DocType,Referencia Tipo de Documento DocType: Report,Ref DocType,Referencia Tipo de Documento
DocType: Print Settings,Print Style Preview,Vista previa de Estilo de impresión DocType: Print Settings,Print Style Preview,Vista previa de Estilo de impresión
DocType: Customize Form,Enter Form Type,Introduzca Tipo de Formulario DocType: Customize Form,Enter Form Type,Introduzca Tipo de Formulario
apps/frappe/frappe/public/js/frappe/form/control.js +1026,Select from existing attachments,Seleccione de archivos adjuntos existentes
apps/frappe/frappe/public/js/frappe/form/control.js +1000,Select from existing attachments,Seleccione de archivos adjuntos existentes
DocType: Email Alert Recipient,Email By Document Field,Email Por Campo Documento DocType: Email Alert Recipient,Email By Document Field,Email Por Campo Documento
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +483,Saved!,Guardado! apps/frappe/frappe/core/page/permission_manager/permission_manager.js +483,Saved!,Guardado!
apps/frappe/frappe/public/js/frappe/ui/messages.js +66,Enter Value,Introducir valor apps/frappe/frappe/public/js/frappe/ui/messages.js +66,Enter Value,Introducir valor
apps/frappe/frappe/core/doctype/doctype/doctype.py +694,"{0}: Cannot set Submit, Cancel, Amend without Write","{0}: no se puede Presentar, Cancelar y Corregir sin Guardar"
apps/frappe/frappe/core/doctype/doctype/doctype.py +698,"{0}: Cannot set Submit, Cancel, Amend without Write","{0}: no se puede Presentar, Cancelar y Corregir sin Guardar"
DocType: Web Page,Insert Style,Inserte Estilo DocType: Web Page,Insert Style,Inserte Estilo
DocType: Workflow State,th-large,-ésimo gran DocType: Workflow State,th-large,-ésimo gran
DocType: User,Email Settings,Configuración del correo electrónico DocType: User,Email Settings,Configuración del correo electrónico
@@ -45,7 +45,7 @@ apps/frappe/frappe/model/document.py +577,Cannot edit cancelled document,No se p
DocType: Social Login Keys,Facebook Client ID,Facebook Client ID DocType: Social Login Keys,Facebook Client ID,Facebook Client ID
apps/frappe/frappe/config/setup.py +107,Set numbering series for transactions.,Establecer series de numeración para las transacciones. apps/frappe/frappe/config/setup.py +107,Set numbering series for transactions.,Establecer series de numeración para las transacciones.
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +39,Submit an Issue,Presentar un problema apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +39,Submit an Issue,Presentar un problema
apps/frappe/frappe/public/js/frappe/views/communication.js +64,Send As Email,Enviar como correo electrónico
apps/frappe/frappe/public/js/frappe/views/communication.js +63,Send As Email,Enviar como correo electrónico
DocType: Currency,Symbol,Símbolo DocType: Currency,Symbol,Símbolo
DocType: Workflow Document State,Update Field,Actualizar Campos DocType: Workflow Document State,Update Field,Actualizar Campos
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +17,"You can change Submitted documents by cancelling them and then, amending them.","Puede cambiar los documentos Enviados cancelándolos y luego, haciendo los cambios pertinentes." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +17,"You can change Submitted documents by cancelling them and then, amending them.","Puede cambiar los documentos Enviados cancelándolos y luego, haciendo los cambios pertinentes."
@@ -55,7 +55,7 @@ DocType: Website Script,Script to attach to all web pages.,Guión para unir a to
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +5,Select Type of Document to Download,Seleccionar tipo de documento para descargar apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +5,Select Type of Document to Download,Seleccionar tipo de documento para descargar
apps/frappe/frappe/core/page/data_import_tool/importer.py +56,Only allowed {0} rows in one import,Soló esta filas {0} permitidas para una importación apps/frappe/frappe/core/page/data_import_tool/importer.py +56,Only allowed {0} rows in one import,Soló esta filas {0} permitidas para una importación
DocType: Property Setter,Set Value,Valor seleccionado DocType: Property Setter,Set Value,Valor seleccionado
apps/frappe/frappe/public/js/frappe/form/layout.js +98,Show more details,Mostrar más detalles
apps/frappe/frappe/public/js/frappe/form/layout.js +125,Show more details,Mostrar más detalles
apps/frappe/frappe/custom/doctype/custom_field/custom_field.js +66,Fieldname which will be the DocType for this link field.,Nombre de campo el cual será el DocType para enlazar el campo. apps/frappe/frappe/custom/doctype/custom_field/custom_field.js +66,Fieldname which will be the DocType for this link field.,Nombre de campo el cual será el DocType para enlazar el campo.
DocType: Workflow,DocType on which this Workflow is applicable.,El DocType en el presente del flujo de trabajo es aplicable. DocType: Workflow,DocType on which this Workflow is applicable.,El DocType en el presente del flujo de trabajo es aplicable.
DocType: Workflow,"If checked, all other workflows become inactive.","Si se selecciona, todos los otros flujos de trabajo se vuelven inactivos ." DocType: Workflow,"If checked, all other workflows become inactive.","Si se selecciona, todos los otros flujos de trabajo se vuelven inactivos ."
@@ -70,7 +70,7 @@ apps/frappe/frappe/public/js/frappe/form/print.js +169,Warning: This Print Forma
apps/frappe/frappe/core/page/data_import_tool/exporter.py +65,"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.","Si va a cargar nuevos registros, ""Secuencias"" se convierte en obligatoria, si está presente." apps/frappe/frappe/core/page/data_import_tool/exporter.py +65,"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.","Si va a cargar nuevos registros, ""Secuencias"" se convierte en obligatoria, si está presente."
DocType: Report,Letter Head,Membretes DocType: Report,Letter Head,Membretes
DocType: Custom DocPerm,Role,Función DocType: Custom DocPerm,Role,Función
apps/frappe/frappe/model/base_document.py +466,Options not set for link field {0},Las opciones no establecen para campo de enlace {0}
apps/frappe/frappe/model/base_document.py +465,Options not set for link field {0},Las opciones no establecen para campo de enlace {0}
DocType: Web Page,Style,Estilo DocType: Web Page,Style,Estilo
apps/frappe/frappe/model/rename_doc.py +130,{0} not allowed to be renamed,{0} no es permitido ser renombrado apps/frappe/frappe/model/rename_doc.py +130,{0} not allowed to be renamed,{0} no es permitido ser renombrado
DocType: Property Setter,Field Name,Nombre del campo DocType: Property Setter,Field Name,Nombre del campo
@@ -78,7 +78,7 @@ DocType: Custom Script,Adds a custom script (client or server) to a DocType,Aña
DocType: Report,Report Type,Tipo de informe DocType: Report,Report Type,Tipo de informe
DocType: User Email,Enable Outgoing,Habilitar saliente DocType: User Email,Enable Outgoing,Habilitar saliente
DocType: Email Account,Ignore attachments over this size,Ignorar los adjuntos mayores a este tamaño DocType: Email Account,Ignore attachments over this size,Ignorar los adjuntos mayores a este tamaño
apps/frappe/frappe/public/js/frappe/form/control.js +739,Date must be in format: {0},La fecha debe estar en formato : {0}
apps/frappe/frappe/public/js/frappe/form/control.js +721,Date must be in format: {0},La fecha debe estar en formato : {0}
DocType: Print Settings,In points. Default is 9.,En puntos. El valor predeterminado es 9. DocType: Print Settings,In points. Default is 9.,En puntos. El valor predeterminado es 9.
apps/frappe/frappe/config/website.py +18,User editable form on Website.,Forma editable Usuario en el Sitio Web. apps/frappe/frappe/config/website.py +18,User editable form on Website.,Forma editable Usuario en el Sitio Web.
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +140,Upload and Sync,Carga y Sincronización apps/frappe/frappe/core/page/user_permissions/user_permissions.js +140,Upload and Sync,Carga y Sincronización
@@ -88,7 +88,7 @@ DocType: Workflow State,thumbs-down,pulgar hacia abajo
DocType: Address Template,This format is used if country specific format is not found,Este formato se utiliza si no se encuentra un formato específico del país DocType: Address Template,This format is used if country specific format is not found,Este formato se utiliza si no se encuentra un formato específico del país
apps/frappe/frappe/public/js/frappe/views/treeview.js +65,{0} Tree,{0} Árbol apps/frappe/frappe/public/js/frappe/views/treeview.js +65,{0} Tree,{0} Árbol
DocType: Communication,Email,Correo electrónico DocType: Communication,Email,Correo electrónico
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +124,Help on Search,Ayuda en la búsqueda
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +127,Help on Search,Ayuda en la búsqueda
DocType: Web Page,Left,Izquierda DocType: Web Page,Left,Izquierda
apps/frappe/frappe/core/doctype/user/user.py +174,Sorry! Sharing with Website User is prohibited.,¡Lo siento! Compartir con los del Sitio Web está prohibido. apps/frappe/frappe/core/doctype/user/user.py +174,Sorry! Sharing with Website User is prohibited.,¡Lo siento! Compartir con los del Sitio Web está prohibido.
DocType: Custom Script,Script,Guión DocType: Custom Script,Script,Guión
@@ -96,7 +96,7 @@ apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +71,Refresh F
apps/frappe/frappe/templates/emails/new_user.html +3,A new account has been created for you at {0},Una nueva cuenta ha sido creada para ti en {0} apps/frappe/frappe/templates/emails/new_user.html +3,A new account has been created for you at {0},Una nueva cuenta ha sido creada para ti en {0}
DocType: Website Script,Website Script,Guión del Sitio Web DocType: Website Script,Website Script,Guión del Sitio Web
apps/frappe/frappe/core/doctype/communication/communication.js +100,Reference DocType,Referencia DocType apps/frappe/frappe/core/doctype/communication/communication.js +100,Reference DocType,Referencia DocType
apps/frappe/frappe/__init__.py +1063,Thank you,Gracias
apps/frappe/frappe/__init__.py +1062,Thank you,Gracias
DocType: Address,Shipping,Envío DocType: Address,Shipping,Envío
DocType: Standard Reply,Standard Reply,Respuestas automáticas DocType: Standard Reply,Standard Reply,Respuestas automáticas
DocType: Currency,"How should this currency be formatted? If not set, will use system defaults","¿Cómo se debe formatear esta moneda ? Si no se establece, utilizará valores predeterminados del sistema" DocType: Currency,"How should this currency be formatted? If not set, will use system defaults","¿Cómo se debe formatear esta moneda ? Si no se establece, utilizará valores predeterminados del sistema"
@@ -119,7 +119,7 @@ apps/frappe/frappe/desk/form/assign_to.py +143,"The task {0}, that you assigned
DocType: Workflow State,star-empty,- estrella vacía DocType: Workflow State,star-empty,- estrella vacía
apps/frappe/frappe/templates/emails/auto_reply.html +1,Thank you for your email,Gracias por tu email apps/frappe/frappe/templates/emails/auto_reply.html +1,Thank you for your email,Gracias por tu email
DocType: Social Login Keys,Social Login Keys,Credenciales sociales DocType: Social Login Keys,Social Login Keys,Credenciales sociales
apps/frappe/frappe/public/js/legacy/form.js +63,"Allowing DocType, DocType. Be careful!","Permitir DocType , tipo de documento . ¡Ten cuidado!"
apps/frappe/frappe/public/js/legacy/form.js +62,"Allowing DocType, DocType. Be careful!","Permitir DocType , tipo de documento . ¡Ten cuidado!"
apps/frappe/frappe/core/doctype/docshare/docshare.py +40,"You need to have ""Share"" permission","Usted necesita tener el permiso ""Compartir""" apps/frappe/frappe/core/doctype/docshare/docshare.py +40,"You need to have ""Share"" permission","Usted necesita tener el permiso ""Compartir"""
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +9,The system provides many pre-defined roles. You can add new roles to set finer permissions.,El sistema ofrece muchas funciones predefinidas . Usted puede agregar nuevos roles para establecer permisos más finos. apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +9,The system provides many pre-defined roles. You can add new roles to set finer permissions.,El sistema ofrece muchas funciones predefinidas . Usted puede agregar nuevos roles para establecer permisos más finos.
apps/frappe/frappe/utils/nestedset.py +235,{0} {1} cannot be a leaf node as it has children,"{0} {1} no puede ser un nodo de hoja , ya que tiene los niños" apps/frappe/frappe/utils/nestedset.py +235,{0} {1} cannot be a leaf node as it has children,"{0} {1} no puede ser un nodo de hoja , ya que tiene los niños"
@@ -127,18 +127,18 @@ DocType: Footer Item,Company,Compañía(s)
DocType: Email Alert,Send alert if date matches this field's value,Envíe la alarma si la fecha coincide con el valor de este campo DocType: Email Alert,Send alert if date matches this field's value,Envíe la alarma si la fecha coincide con el valor de este campo
apps/frappe/frappe/config/setup.py +156,Setup Email Alert based on various criteria.,Configuración de Alerta de E-mail basado en varios criterios. apps/frappe/frappe/config/setup.py +156,Setup Email Alert based on various criteria.,Configuración de Alerta de E-mail basado en varios criterios.
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +697,You can add dynamic properties from the document by using Jinja templating.,Puede añadir propiedades dinámicas del documento mediante el uso de plantillas Jinja. apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +697,You can add dynamic properties from the document by using Jinja templating.,Puede añadir propiedades dinámicas del documento mediante el uso de plantillas Jinja.
apps/frappe/frappe/core/doctype/doctype/doctype.py +455,Default for {0} must be an option,Predeterminado para {0} debe ser una opción
apps/frappe/frappe/core/doctype/doctype/doctype.py +422,Options must be a valid DocType for field {0} in row {1},Las opciones deben ser validas para el DocType en el campo {0} de la linea {1}
apps/frappe/frappe/core/doctype/doctype/doctype.py +459,Default for {0} must be an option,Predeterminado para {0} debe ser una opción
apps/frappe/frappe/core/doctype/doctype/doctype.py +426,Options must be a valid DocType for field {0} in row {1},Las opciones deben ser validas para el DocType en el campo {0} de la linea {1}
apps/frappe/frappe/templates/emails/auto_reply.html +5,This is an automatically generated reply,Esta es una respuesta generada automáticamente apps/frappe/frappe/templates/emails/auto_reply.html +5,This is an automatically generated reply,Esta es una respuesta generada automáticamente
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +434,Set,conjunto apps/frappe/frappe/core/page/permission_manager/permission_manager.js +434,Set,conjunto
DocType: Workflow State,Workflow State,Estados de los flujos de trabajo DocType: Workflow State,Workflow State,Estados de los flujos de trabajo
DocType: Communication,Submitted,Enviado DocType: Communication,Submitted,Enviado
apps/frappe/frappe/core/doctype/doctype/doctype.py +655,{0}: No basic permissions set,{0}: No se han asignado permisos básicos
apps/frappe/frappe/core/doctype/doctype/doctype.py +659,{0}: No basic permissions set,{0}: No se han asignado permisos básicos
apps/frappe/frappe/public/js/frappe/ui/toolbar/toolbar.js +234,"Your download is being built, this may take a few moments...","Se está generando su descarga, esto puede tardar unos minutos..." apps/frappe/frappe/public/js/frappe/ui/toolbar/toolbar.js +234,"Your download is being built, this may take a few moments...","Se está generando su descarga, esto puede tardar unos minutos..."
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +127,Upload User Permissions,Sube Permisos de Usuario apps/frappe/frappe/core/page/user_permissions/user_permissions.js +127,Upload User Permissions,Sube Permisos de Usuario
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +43,Download with data,Descarga de datos apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +43,Download with data,Descarga de datos
DocType: DocType,Hide Heading,Ocultar Rubro DocType: DocType,Hide Heading,Ocultar Rubro
apps/frappe/frappe/core/doctype/doctype/doctype.py +721,{0}: Cannot set Assign Amend if not Submittable,{0}: no se puede 'Asignar Correción' si no se puede presentar
apps/frappe/frappe/core/doctype/doctype/doctype.py +725,{0}: Cannot set Assign Amend if not Submittable,{0}: no se puede 'Asignar Correción' si no se puede presentar
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +411,Remove Section,Retire la Sección apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +411,Remove Section,Retire la Sección
apps/frappe/frappe/core/doctype/file/file.py +221,No permission to write / remove.,No tiene permiso para escribir/eliminar. apps/frappe/frappe/core/doctype/file/file.py +221,No permission to write / remove.,No tiene permiso para escribir/eliminar.
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +158,No Report Loaded. Please use query-report/[Report Name] to run a report.,No se cargo el reporte. Utilice Consultar Informes/[Report Name]] para ejecutar un reporte. apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +158,No Report Loaded. Please use query-report/[Report Name] to run a report.,No se cargo el reporte. Utilice Consultar Informes/[Report Name]] para ejecutar un reporte.
@@ -146,11 +146,11 @@ apps/frappe/frappe/config/setup.py +199,Define workflows for forms.,Definir los
DocType: Workflow State,font,Fuente DocType: Workflow State,font,Fuente
apps/frappe/frappe/public/js/frappe/model/model.js +31,Parent,Padre apps/frappe/frappe/public/js/frappe/model/model.js +31,Parent,Padre
DocType: Communication,Workflow,Flujo de Trabajo DocType: Communication,Workflow,Flujo de Trabajo
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +133,Search in a document type,Buscar en un tipo de documento
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +136,Search in a document type,Buscar en un tipo de documento
DocType: Print Format,Server,Servidor DocType: Print Format,Server,Servidor
DocType: Custom DocPerm,Apply User Permissions,Aplicar permisos de usuario DocType: Custom DocPerm,Apply User Permissions,Aplicar permisos de usuario
DocType: Website Settings,Set Banner from Image,Establecer Banner de imagen DocType: Website Settings,Set Banner from Image,Establecer Banner de imagen
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +489,Sr No,No.
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +488,Sr No,No.
DocType: DocType,Is Single,Es Individual DocType: DocType,Is Single,Es Individual
apps/frappe/frappe/templates/includes/list/filters.html +19,clear,claro apps/frappe/frappe/templates/includes/list/filters.html +19,clear,claro
DocType: Email Alert,Send alert if this field's value changes,Enviar alerta si cambia el valor de este campo DocType: Email Alert,Send alert if this field's value changes,Enviar alerta si cambia el valor de este campo
@@ -161,16 +161,16 @@ apps/frappe/frappe/core/page/data_import_tool/exporter.py +62,Please do not chan
DocType: Email Alert,Days Before or After,Días Anteriores o Posteriores DocType: Email Alert,Days Before or After,Días Anteriores o Posteriores
DocType: File,Content Hash,Hash contenido DocType: File,Content Hash,Hash contenido
DocType: Workflow State,align-left,alinear -izquierda DocType: Workflow State,align-left,alinear -izquierda
apps/frappe/frappe/core/doctype/doctype/doctype.py +698,{0}: Cannot set Import without Create,{0}: no se puede establecer 'De importación' sin crearlo primero
apps/frappe/frappe/core/doctype/doctype/doctype.py +702,{0}: Cannot set Import without Create,{0}: no se puede establecer 'De importación' sin crearlo primero
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +255,Hide field in Report Builder,Ocultar campo en el Generador de Informes apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +255,Hide field in Report Builder,Ocultar campo en el Generador de Informes
apps/frappe/frappe/core/doctype/doctype/doctype.py +433,Max width for type Currency is 100px in row {0},El ancho máximo para la moneda es 100px en la linea {0}
apps/frappe/frappe/core/doctype/doctype/doctype.py +437,Max width for type Currency is 100px in row {0},El ancho máximo para la moneda es 100px en la linea {0}
apps/frappe/frappe/public/js/frappe/form/link_selector.js +143,{0} added,{0} agregado(s) apps/frappe/frappe/public/js/frappe/form/link_selector.js +143,{0} added,{0} agregado(s)
DocType: Integration Request,Reference DocName,Referencia DocNombre DocType: Integration Request,Reference DocName,Referencia DocNombre
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +790,Saved,Guardado apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +790,Saved,Guardado
DocType: System Settings,Security,Seguridad DocType: System Settings,Security,Seguridad
DocType: Custom DocPerm,Read,Lectura DocType: Custom DocPerm,Read,Lectura
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +216,use % as wildcard,Use% como comodín
apps/frappe/frappe/model/delete_doc.py +161,User not allowed to delete {0}: {1},El usuario no puede eliminar {0}: {1}
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +229,use % as wildcard,Use% como comodín
apps/frappe/frappe/model/delete_doc.py +162,User not allowed to delete {0}: {1},El usuario no puede eliminar {0}: {1}
apps/frappe/frappe/desk/query_report.py +87,Query must be a SELECT,Debe seleccionar la Consulta apps/frappe/frappe/desk/query_report.py +87,Query must be a SELECT,Debe seleccionar la Consulta
DocType: DocShare,Document Name,Nombre del documento DocType: DocShare,Document Name,Nombre del documento
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +162,Start new Format,Comenzar una nueva Formato apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +162,Start new Format,Comenzar una nueva Formato
@@ -185,13 +185,13 @@ apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +34
apps/frappe/frappe/website/doctype/website_theme/website_theme.py +30,You are not allowed to delete a standard Website Theme,No se le permite eliminar un tema Sitio web estándar apps/frappe/frappe/website/doctype/website_theme/website_theme.py +30,You are not allowed to delete a standard Website Theme,No se le permite eliminar un tema Sitio web estándar
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +227,Permissions can be managed via Setup &gt; Role Permissions Manager,Los permisos se pueden gestionar a través de Configuración > Administrador de Funciones apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +227,Permissions can be managed via Setup &gt; Role Permissions Manager,Los permisos se pueden gestionar a través de Configuración > Administrador de Funciones
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +34,Download Blank Template,Descargar la plantilla en blanco apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +34,Download Blank Template,Descargar la plantilla en blanco
apps/frappe/frappe/core/doctype/doctype/doctype.py +684,{0}: Permission at level 0 must be set before higher levels are set,{0} : Permiso en el nivel 0 se debe establecer antes de fijar niveles más altos
apps/frappe/frappe/core/doctype/doctype/doctype.py +688,{0}: Permission at level 0 must be set before higher levels are set,{0} : Permiso en el nivel 0 se debe establecer antes de fijar niveles más altos
DocType: System Settings,dd-mm-yyyy,dd- mm- aaaa DocType: System Settings,dd-mm-yyyy,dd- mm- aaaa
apps/frappe/frappe/config/desk.py +54,"Newsletters to contacts, leads.","Boletines para contactos, clientes potenciales ." apps/frappe/frappe/config/desk.py +54,"Newsletters to contacts, leads.","Boletines para contactos, clientes potenciales ."
DocType: Email Alert,Message Examples,Ejemplos de Mensajes DocType: Email Alert,Message Examples,Ejemplos de Mensajes
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +11,"As a best practice, do not assign the same set of permission rule to different Roles. Instead, set multiple Roles to the same User.","Como práctica recomendada , no asigne el mismo conjunto de permisos para diferentes funciones. En su lugar, establecer varias funciones al mismo usuario ." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +11,"As a best practice, do not assign the same set of permission rule to different Roles. Instead, set multiple Roles to the same User.","Como práctica recomendada , no asigne el mismo conjunto de permisos para diferentes funciones. En su lugar, establecer varias funciones al mismo usuario ."
DocType: Website Theme,Top Bar Color,Inicio Barra Color DocType: Website Theme,Top Bar Color,Inicio Barra Color
apps/frappe/frappe/core/doctype/doctype/doctype.py +498,There can be only one Fold in a form,Sólo puede haber un doblez en forma
apps/frappe/frappe/core/doctype/doctype/doctype.py +502,There can be only one Fold in a form,Sólo puede haber un doblez en forma
DocType: Address,Shop,Tienda DocType: Address,Shop,Tienda
apps/frappe/frappe/public/js/frappe/views/treeview.js +161,Add Child,Agregar subcuenta apps/frappe/frappe/public/js/frappe/views/treeview.js +161,Add Child,Agregar subcuenta
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +7,Roles can be set for users from their User page.,Las funciones se pueden configurar para los usuarios de su página de usuario . apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +7,Roles can be set for users from their User page.,Las funciones se pueden configurar para los usuarios de su página de usuario .
@@ -210,8 +210,8 @@ DocType: Contact,Open,Abrir
DocType: DocType,Hide Copy,Copia Oculta DocType: DocType,Hide Copy,Copia Oculta
apps/frappe/frappe/printing/doctype/print_format/print_format.py +19,Standard Print Format cannot be updated,Formato de impresión estándar no se puede actualizar apps/frappe/frappe/printing/doctype/print_format/print_format.py +19,Standard Print Format cannot be updated,Formato de impresión estándar no se puede actualizar
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +7,Select Type,Seleccione el tipo de apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +7,Select Type,Seleccione el tipo de
apps/frappe/frappe/model/rename_doc.py +377,** Failed: {0} to {1}: {2},** Fallo: {0} a {1}: {2}
apps/frappe/frappe/public/js/frappe/form/layout.js +33,This form does not have any input,Esta forma no tiene ninguna entrada
apps/frappe/frappe/model/rename_doc.py +378,** Failed: {0} to {1}: {2},** Fallo: {0} a {1}: {2}
apps/frappe/frappe/public/js/frappe/form/layout.js +35,This form does not have any input,Esta forma no tiene ninguna entrada
apps/frappe/frappe/model/naming.py +44,{0} is required,{0} es necesario apps/frappe/frappe/model/naming.py +44,{0} is required,{0} es necesario
DocType: Website Settings,Select an image of approx width 150px with a transparent background for best results.,Seleccione una imagen de ancho aprox 150px con fondo transparente para obtener mejores resultados . DocType: Website Settings,Select an image of approx width 150px with a transparent background for best results.,Seleccione una imagen de ancho aprox 150px con fondo transparente para obtener mejores resultados .
DocType: Workflow State,Tag,Etiqueta DocType: Workflow State,Tag,Etiqueta
@@ -229,7 +229,7 @@ DocType: DocType,Single Types have only one record no tables associated. Values
apps/frappe/frappe/public/js/frappe/form/multi_select_dialog.js +58,Make a new,Hacer una nueva apps/frappe/frappe/public/js/frappe/form/multi_select_dialog.js +58,Make a new,Hacer una nueva
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +222,Select User or DocType to start.,Seleccionar usuario o tipo de documento para empezar. apps/frappe/frappe/core/page/user_permissions/user_permissions.js +222,Select User or DocType to start.,Seleccionar usuario o tipo de documento para empezar.
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +35,"Once you have set this, the users will only be able access documents (eg. Blog Post) where the link exists (eg. Blogger).","Una vez que haya establecido esto, los usuarios sólo tendrán acceso a los documentos que puedan (por ejemplo, Entrada de blog ) donde se encuentra la relación (por ejemplo, Blogger ) ." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +35,"Once you have set this, the users will only be able access documents (eg. Blog Post) where the link exists (eg. Blogger).","Una vez que haya establecido esto, los usuarios sólo tendrán acceso a los documentos que puedan (por ejemplo, Entrada de blog ) donde se encuentra la relación (por ejemplo, Blogger ) ."
apps/frappe/frappe/core/doctype/doctype/doctype.py +437,'In List View' not allowed for type {0} in row {1},No está permitido para el tipo {0} en la linea {1}
apps/frappe/frappe/core/doctype/doctype/doctype.py +441,'In List View' not allowed for type {0} in row {1},No está permitido para el tipo {0} en la linea {1}
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +216,"Change type of field. (Currently, Type change is \ apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +216,"Change type of field. (Currently, Type change is \
allowed among 'Currency and Float')","Cambiar el tipo de campo. (Actual, Tipo de cambio, Cantidad permitida, Moneda, Flotante, etc)" allowed among 'Currency and Float')","Cambiar el tipo de campo. (Actual, Tipo de cambio, Cantidad permitida, Moneda, Flotante, etc)"
DocType: Footer Item,"Select target = ""_blank"" to open in a new page.","Select target = "" _blank"" para abrir en una nueva página." DocType: Footer Item,"Select target = ""_blank"" to open in a new page.","Select target = "" _blank"" para abrir en una nueva página."
@@ -254,7 +254,7 @@ apps/frappe/frappe/sessions.py +156,Redis cache server not running. Please conta
DocType: Workflow Document State,Only Allow Edit For,Sólo Permitir Editar Para DocType: Workflow Document State,Only Allow Edit For,Sólo Permitir Editar Para
DocType: Website Slideshow,This goes above the slideshow.,Esto va por encima de la presentación de diapositivas. DocType: Website Slideshow,This goes above the slideshow.,Esto va por encima de la presentación de diapositivas.
DocType: Website Settings,Footer Items,Elementos del Pie de Página DocType: Website Settings,Footer Items,Elementos del Pie de Página
apps/frappe/frappe/core/doctype/doctype/doctype.py +696,{0}: Cannot set Amend without Cancel,{0}: no se puede 'Corregir' sin antes cancelar
apps/frappe/frappe/core/doctype/doctype/doctype.py +700,{0}: Cannot set Amend without Cancel,{0}: no se puede 'Corregir' sin antes cancelar
apps/frappe/frappe/templates/emails/new_user.html +4,Your login id is,Su nombre de usuario es apps/frappe/frappe/templates/emails/new_user.html +4,Your login id is,Su nombre de usuario es
DocType: DocField,Currency,Divisa DocType: DocField,Currency,Divisa
apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.py +36,Please specify doctype,"Por favor, especifique el doctype" apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.py +36,Please specify doctype,"Por favor, especifique el doctype"
@@ -262,12 +262,12 @@ DocType: System Settings,Session Expiry Mobile,Vencimiento de sesión en disposi
DocType: Web Form,Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`,El texto que se muestra para enlazar a la página Web si esta forma dispone de una página web. Ruta Enlace automáticamente se genera en base a `page_name` y` parent_website_route` DocType: Web Form,Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`,El texto que se muestra para enlazar a la página Web si esta forma dispone de una página web. Ruta Enlace automáticamente se genera en base a `page_name` y` parent_website_route`
,Setup Wizard,Asistente de configuración ,Setup Wizard,Asistente de configuración
DocType: Print Settings,Send Email Print Attachments as PDF (Recommended),Enviar Emails con adjuntos en formato PDF (recomendado) DocType: Print Settings,Send Email Print Attachments as PDF (Recommended),Enviar Emails con adjuntos en formato PDF (recomendado)
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +269,Field {0} is not selectable.,El campo {0} no se puede seleccionar .
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +286,Field {0} is not selectable.,El campo {0} no se puede seleccionar .
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +850,Select To Download:,Seleccione la descarga : apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +850,Select To Download:,Seleccione la descarga :
apps/frappe/frappe/public/js/frappe/upload.js +223,Please attach a file or set a URL,"Por favor, adjuntar un archivo o defina una URL" apps/frappe/frappe/public/js/frappe/upload.js +223,Please attach a file or set a URL,"Por favor, adjuntar un archivo o defina una URL"
DocType: Contact,Is Primary Contact,Es Contacto principal DocType: Contact,Is Primary Contact,Es Contacto principal
,Permitted Documents For User,Documentos permitidos para los usuarios ,Permitted Documents For User,Documentos permitidos para los usuarios
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +129,Make a new record,Hacer un Nuevo Registro
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +132,Make a new record,Hacer un Nuevo Registro
DocType: Report,Script Report,Informe de secuencias de comandos DocType: Report,Script Report,Informe de secuencias de comandos
apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +19,Label is mandatory,Etiqueta es obligatoria apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +19,Label is mandatory,Etiqueta es obligatoria
DocType: Currency,**Currency** Master,**Moneda** Principal DocType: Currency,**Currency** Master,**Moneda** Principal
@@ -288,7 +288,7 @@ DocType: Workflow State,"Style represents the button color: Success - Green, Dan
DocType: User,Facebook Username,Facebook Nombre de usuario DocType: User,Facebook Username,Facebook Nombre de usuario
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +301,Users with role {0}:,Los usuarios con función {0}: apps/frappe/frappe/core/page/permission_manager/permission_manager.js +301,Users with role {0}:,Los usuarios con función {0}:
apps/frappe/frappe/core/doctype/file/file.py +151,Same file has already been attached to the record,El mismo archivo ya se ha adjuntado al registro apps/frappe/frappe/core/doctype/file/file.py +151,Same file has already been attached to the record,El mismo archivo ya se ha adjuntado al registro
apps/frappe/frappe/core/doctype/doctype/doctype.py +691,{0}: Cannot set Cancel without Submit,{0}: no se puede 'Cancelar' sin presentarlo
apps/frappe/frappe/core/doctype/doctype/doctype.py +695,{0}: Cannot set Cancel without Submit,{0}: no se puede 'Cancelar' sin presentarlo
DocType: Address,Address Title,Dirección Título DocType: Address,Address Title,Dirección Título
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +239,Mark the field as Mandatory,Marque el campo como obligatorio apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +239,Mark the field as Mandatory,Marque el campo como obligatorio
DocType: Workflow State,resize-full,cambiar a tamaño completo DocType: Workflow State,resize-full,cambiar a tamaño completo
@@ -300,7 +300,7 @@ DocType: Contact,Sales Master Manager,Gerente de Ventas
apps/frappe/frappe/public/js/frappe/form/link_selector.js +26,You can use wildcard %,Puede utilizar caracteres comodín% apps/frappe/frappe/public/js/frappe/form/link_selector.js +26,You can use wildcard %,Puede utilizar caracteres comodín%
apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +771,Report was not saved (there were errors),Informe no se guardó ( hubo errores ) apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +771,Report was not saved (there were errors),Informe no se guardó ( hubo errores )
apps/frappe/frappe/public/js/frappe/upload.js +296,Uploading...,Subiendo ... apps/frappe/frappe/public/js/frappe/upload.js +296,Uploading...,Subiendo ...
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +826,You are not allowed to export this report,No se le permite exportar este reporte
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +825,You are not allowed to export this report,No se le permite exportar este reporte
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +24,"Permissions at level 0 are Document Level permissions, i.e. they are primary for access to the document.","Los permisos del nivel 0 son los permisos a nivel de documentos, es decir, que tienen permiso especial para los documentos." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +24,"Permissions at level 0 are Document Level permissions, i.e. they are primary for access to the document.","Los permisos del nivel 0 son los permisos a nivel de documentos, es decir, que tienen permiso especial para los documentos."
apps/frappe/frappe/config/setup.py +220,"Change field properties (hide, readonly, permission etc.)","Cambiar las propiedades de campo (ocultar, sólo lectura, permisos, etc)" apps/frappe/frappe/config/setup.py +220,"Change field properties (hide, readonly, permission etc.)","Cambiar las propiedades de campo (ocultar, sólo lectura, permisos, etc)"
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +108,Select a DocType to make a new format,Seleccione un tipo de documento para hacer un nuevo formato apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +108,Select a DocType to make a new format,Seleccione un tipo de documento para hacer un nuevo formato
@@ -312,7 +312,7 @@ apps/frappe/frappe/email/receive.py +65,Cannot connect: {0},No puede conectarse:
apps/frappe/frappe/core/doctype/report/report.py +33,Only Administrator can save a standard report. Please rename and save.,"Sólo el administrador puede guardar un informe estándar. Por favor, cambie el nombre y guardar." apps/frappe/frappe/core/doctype/report/report.py +33,Only Administrator can save a standard report. Please rename and save.,"Sólo el administrador puede guardar un informe estándar. Por favor, cambie el nombre y guardar."
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +154,Permissions Updated,Actualización de permisos apps/frappe/frappe/core/page/user_permissions/user_permissions.js +154,Permissions Updated,Actualización de permisos
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +126,Both DocType and Name required,Tanto DocType y Nombre son obligatorios apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +126,Both DocType and Name required,Tanto DocType y Nombre son obligatorios
apps/frappe/frappe/core/doctype/doctype/doctype.py +672,"{0}: Only one rule allowed with the same Role, Level and {1}","{0}: Sólo una regla es permitida con el mismo rol, Nivel y {1}"
apps/frappe/frappe/core/doctype/doctype/doctype.py +676,"{0}: Only one rule allowed with the same Role, Level and {1}","{0}: Sólo una regla es permitida con el mismo rol, Nivel y {1}"
DocType: Customize Form,"Customize Label, Print Hide, Default etc.","Personaliza etiquetas, impresión Hide , Default , etc" DocType: Customize Form,"Customize Label, Print Hide, Default etc.","Personaliza etiquetas, impresión Hide , Default , etc"
apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +661,Sort By,Ordenado por apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +661,Sort By,Ordenado por
apps/frappe/frappe/desk/form/utils.py +91,No further records,No hay registros adicionales apps/frappe/frappe/desk/form/utils.py +91,No further records,No hay registros adicionales
@@ -340,7 +340,7 @@ apps/frappe/frappe/printing/page/print_format_builder/print_format_builder_layou
DocType: Currency,"Sub-currency. For e.g. ""Cent""","Sub-moneda, por ejemplo, ""Centavo""" DocType: Currency,"Sub-currency. For e.g. ""Cent""","Sub-moneda, por ejemplo, ""Centavo"""
DocType: Workflow State,exclamation-sign,signo de exclamación DocType: Workflow State,exclamation-sign,signo de exclamación
DocType: Desktop Icon,List,Vista de árbol DocType: Desktop Icon,List,Vista de árbol
apps/frappe/frappe/public/js/frappe/views/communication.js +509,There were errors while sending email. Please try again.,"Hubo errores al enviar el correo electrónico. Por favor, inténtelo de nuevo."
apps/frappe/frappe/public/js/frappe/views/communication.js +520,There were errors while sending email. Please try again.,"Hubo errores al enviar el correo electrónico. Por favor, inténtelo de nuevo."
apps/frappe/frappe/core/doctype/system_settings/system_settings.py +26,Session Expiry must be in format {0},Vencimiento de sesión debe estar en formato {0} apps/frappe/frappe/core/doctype/system_settings/system_settings.py +26,Session Expiry must be in format {0},Vencimiento de sesión debe estar en formato {0}
DocType: User,Stores the JSON of last known versions of various installed apps. It is used to show release notes.,Almacena el JSON de las últimas versiones conocidas de diferentes aplicaciones instaladas. Se utiliza para mostrar notas de la versión. DocType: User,Stores the JSON of last known versions of various installed apps. It is used to show release notes.,Almacena el JSON de las últimas versiones conocidas de diferentes aplicaciones instaladas. Se utiliza para mostrar notas de la versión.
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +14,"Meaning of Submit, Cancel, Amend","Significado de Enviar, Cancelar, Corregir" apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +14,"Meaning of Submit, Cancel, Amend","Significado de Enviar, Cancelar, Corregir"
@@ -370,7 +370,7 @@ apps/frappe/frappe/public/js/frappe/form/link_selector.js +106,Make a new {0},Cr
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +140,Select Document Type or Role to start.,Seleccione el Tipo de Documento o Función para empezar. apps/frappe/frappe/core/page/permission_manager/permission_manager.js +140,Select Document Type or Role to start.,Seleccione el Tipo de Documento o Función para empezar.
DocType: Workflow Transition,Defines actions on states and the next step and allowed roles.,Define las acciones de los estados y el siguiente paso y funciones permitidas. DocType: Workflow Transition,Defines actions on states and the next step and allowed roles.,Define las acciones de los estados y el siguiente paso y funciones permitidas.
DocType: DocType,Show Print First,Mostrar Imprimir Primera DocType: DocType,Show Print First,Mostrar Imprimir Primera
apps/frappe/frappe/core/doctype/doctype/doctype.py +705,Report cannot be set for Single types,Reportar no se puede configurar para los tipos individuales
apps/frappe/frappe/core/doctype/doctype/doctype.py +709,Report cannot be set for Single types,Reportar no se puede configurar para los tipos individuales
apps/frappe/frappe/core/doctype/report/report.js +37,Disable Report,Desactivar Informe apps/frappe/frappe/core/doctype/report/report.js +37,Disable Report,Desactivar Informe
DocType: Workflow State,resize-small,cambiar el tamaño pequeño DocType: Workflow State,resize-small,cambiar el tamaño pequeño
DocType: Workflow State,question-sign,Consultar Firma DocType: Workflow State,question-sign,Consultar Firma
@@ -378,14 +378,14 @@ apps/frappe/frappe/utils/nestedset.py +229,Multiple root nodes not allowed.,Nodo
DocType: Event,Saturday,Sábado DocType: Event,Saturday,Sábado
DocType: Address,Maintenance User,Mantenimiento por el Usuario DocType: Address,Maintenance User,Mantenimiento por el Usuario
apps/frappe/frappe/email/doctype/newsletter/newsletter.py +30,Scheduled to send to {0},Programado para enviar a {0} apps/frappe/frappe/email/doctype/newsletter/newsletter.py +30,Scheduled to send to {0},Programado para enviar a {0}
apps/frappe/frappe/model/base_document.py +470,{0} must be set first,debe establecerse primero: {0}
apps/frappe/frappe/model/base_document.py +469,{0} must be set first,debe establecerse primero: {0}
apps/frappe/frappe/core/page/data_import_tool/exporter.py +67,"For updating, you can update only selective columns.","Para la actualización, usted lo puede hacer solo en algunas columnas." apps/frappe/frappe/core/page/data_import_tool/exporter.py +67,"For updating, you can update only selective columns.","Para la actualización, usted lo puede hacer solo en algunas columnas."
DocType: Custom DocPerm,Export,Exportación DocType: Custom DocPerm,Export,Exportación
DocType: Workflow State,Search,Búsqueda DocType: Workflow State,Search,Búsqueda
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +16,"Certain documents, like an Invoice, should not be changed once final. The final state for such documents is called Submitted. You can restrict which roles can Submit.","Algunos documentos como facturas, no se deben cambiar una vez guardados. El estado final de dichos documentos se llama 'Presentado'. Puede restringir qué roles/usuarios pueden presentar documentos" apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +16,"Certain documents, like an Invoice, should not be changed once final. The final state for such documents is called Submitted. You can restrict which roles can Submit.","Algunos documentos como facturas, no se deben cambiar una vez guardados. El estado final de dichos documentos se llama 'Presentado'. Puede restringir qué roles/usuarios pueden presentar documentos"
apps/frappe/frappe/public/js/frappe/views/pageview.js +104,Sorry! I could not find what you were looking for.,¡Lo siento! No pude encontrar lo que estabas buscando. apps/frappe/frappe/public/js/frappe/views/pageview.js +104,Sorry! I could not find what you were looking for.,¡Lo siento! No pude encontrar lo que estabas buscando.
DocType: Workflow State,remove-sign,Eliminar el efecto de signo DocType: Workflow State,remove-sign,Eliminar el efecto de signo
apps/frappe/frappe/public/js/frappe/form/control.js +1284,Please attach a file first.,Adjunte un archivo primero .
apps/frappe/frappe/public/js/frappe/form/control.js +1250,Please attach a file first.,Adjunte un archivo primero .
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +252,Show User Permissions,Permisos Mostrar usuario apps/frappe/frappe/core/page/permission_manager/permission_manager.js +252,Show User Permissions,Permisos Mostrar usuario
apps/frappe/frappe/public/js/frappe/request.js +347,Report this issue,Reportar Incidencia apps/frappe/frappe/public/js/frappe/request.js +347,Report this issue,Reportar Incidencia
apps/frappe/frappe/public/js/frappe/views/treeview.js +212,New {0},Nuevo {0} apps/frappe/frappe/public/js/frappe/views/treeview.js +212,New {0},Nuevo {0}
@@ -394,23 +394,23 @@ DocType: Custom Script,Script Type,Guión Tipo
DocType: Workflow State,text-width,texto de ancho DocType: Workflow State,text-width,texto de ancho
DocType: Custom DocPerm,This role update User Permissions for a user,Este función actualiza los Permisos de Usuario para un usuario DocType: Custom DocPerm,This role update User Permissions for a user,Este función actualiza los Permisos de Usuario para un usuario
DocType: Workflow State,resize-horizontal,cambiar el tamaño horizontal DocType: Workflow State,resize-horizontal,cambiar el tamaño horizontal
apps/frappe/frappe/model/delete_doc.py +165,{0} {1}: Submitted Record cannot be deleted.,{0} {1}: registro presentado no se puede eliminar.
apps/frappe/frappe/model/delete_doc.py +166,{0} {1}: Submitted Record cannot be deleted.,{0} {1}: registro presentado no se puede eliminar.
apps/frappe/frappe/public/js/frappe/form/save.js +141,Mandatory fields required in {0},Campos obligatorios requeridos en {0} apps/frappe/frappe/public/js/frappe/form/save.js +141,Mandatory fields required in {0},Campos obligatorios requeridos en {0}
apps/frappe/frappe/model/rename_doc.py +364,Maximum {0} rows allowed,Máximo {0} filas permitidos
apps/frappe/frappe/model/rename_doc.py +365,Maximum {0} rows allowed,Máximo {0} filas permitidos
DocType: Custom DocPerm,Import,Importación DocType: Custom DocPerm,Import,Importación
apps/frappe/frappe/model/naming.py +168,"There were some errors setting the name, please contact the administrator","Había algunos errores de configuración el nombre, por favor póngase en contacto con el administrador" apps/frappe/frappe/model/naming.py +168,"There were some errors setting the name, please contact the administrator","Había algunos errores de configuración el nombre, por favor póngase en contacto con el administrador"
apps/frappe/frappe/website/doctype/web_form/web_form.py +37,You need to be in developer mode to edit a Standard Web Form,Se requiere estar en modo desarrollador para editar un formulario web estándar. apps/frappe/frappe/website/doctype/web_form/web_form.py +37,You need to be in developer mode to edit a Standard Web Form,Se requiere estar en modo desarrollador para editar un formulario web estándar.
DocType: Website Theme,Google Font (Heading),Google Font (Título) DocType: Website Theme,Google Font (Heading),Google Font (Título)
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +31,A user can be permitted to multiple records of the same DocType.,Un usuario se puede permitir que varios registros de un mismo tipo de documento . apps/frappe/frappe/core/page/user_permissions/user_permissions.js +31,A user can be permitted to multiple records of the same DocType.,Un usuario se puede permitir que varios registros de un mismo tipo de documento .
apps/frappe/frappe/core/doctype/doctype/doctype.py +449,Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType',"Las opciones de campo de tipo 'Vinculo Dinámico' debe apuntar a otro campo con propiedades ""Tipo de Documento"""
apps/frappe/frappe/core/doctype/doctype/doctype.py +453,Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType',"Las opciones de campo de tipo 'Vinculo Dinámico' debe apuntar a otro campo con propiedades ""Tipo de Documento"""
apps/frappe/frappe/public/js/frappe/ui/tree.js +130,Collapse,Plegar/Desplegar apps/frappe/frappe/public/js/frappe/ui/tree.js +130,Collapse,Plegar/Desplegar
apps/frappe/frappe/core/doctype/doctype/doctype.py +719,{0}: Cannot set Assign Submit if not Submittable,{0}: no se puede 'Asignar Enviar' si no se puede presentar
apps/frappe/frappe/core/doctype/doctype/doctype.py +723,{0}: Cannot set Assign Submit if not Submittable,{0}: no se puede 'Asignar Enviar' si no se puede presentar
DocType: Workflow State,step-forward,paso hacia adelante DocType: Workflow State,step-forward,paso hacia adelante
DocType: Workflow State,align-justify,alinear - justificar DocType: Workflow State,align-justify,alinear - justificar
apps/frappe/frappe/core/page/data_import_tool/importer.py +249,Not allowed to Import,No tiene permisos para importar apps/frappe/frappe/core/page/data_import_tool/importer.py +249,Not allowed to Import,No tiene permisos para importar
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +135,Open a module or tool,Abra un Módulo o Herramienta
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +138,Open a module or tool,Abra un Módulo o Herramienta
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +132,Upload CSV file containing all user permissions in the same format as Download.,Subir archivo CSV que contiene todos los permisos de usuario en el mismo formato que en Descargar. apps/frappe/frappe/core/page/user_permissions/user_permissions.js +132,Upload CSV file containing all user permissions in the same format as Download.,Subir archivo CSV que contiene todos los permisos de usuario en el mismo formato que en Descargar.
apps/frappe/frappe/public/js/legacy/form.js +139,Please save before attaching.,"Por favor, guarde los cambios antes de conectar"
apps/frappe/frappe/public/js/legacy/form.js +137,Please save before attaching.,"Por favor, guarde los cambios antes de conectar"
apps/frappe/frappe/core/page/data_import_tool/data_import_tool.py +15,Parent Table,Tabla de Padres apps/frappe/frappe/core/page/data_import_tool/data_import_tool.py +15,Parent Table,Tabla de Padres
DocType: Dropbox Settings,Dropbox Access Key,Clave de Acceso de Dropbox DocType: Dropbox Settings,Dropbox Access Key,Clave de Acceso de Dropbox
apps/frappe/frappe/public/js/frappe/ui/field_group.js +82,Missing Values Required,Valores perdidos requeridos apps/frappe/frappe/public/js/frappe/ui/field_group.js +82,Missing Values Required,Valores perdidos requeridos
@@ -433,7 +433,7 @@ apps/frappe/frappe/model/naming.py +66,Naming Series mandatory,Las secuencias so
DocType: Event,Ref Type,Tipo Ref DocType: Event,Ref Type,Tipo Ref
DocType: DocType,Sort Order,Orden de Clasificación DocType: DocType,Sort Order,Orden de Clasificación
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +131,Sit tight while your system is being setup. This may take a few moments.,Tome asiento mientras el sistema está siendo configurado. Esto puede tomar un momento. apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +131,Sit tight while your system is being setup. This may take a few moments.,Tome asiento mientras el sistema está siendo configurado. Esto puede tomar un momento.
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +663,"Unable to display this tree report, due to missing data. Most likely, it is being filtered out due to permissions.","No se puede mostrar este informe árbol, debido a los datos faltantes. Lo más probable es que se está filtrando a cabo debido a los permisos."
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +662,"Unable to display this tree report, due to missing data. Most likely, it is being filtered out due to permissions.","No se puede mostrar este informe árbol, debido a los datos faltantes. Lo más probable es que se está filtrando a cabo debido a los permisos."
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +247,Hide field in form,Ocultar campo en forma apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +247,Hide field in form,Ocultar campo en forma
DocType: Newsletter,Email Sent?,Enviar Email ? DocType: Newsletter,Email Sent?,Enviar Email ?
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +272,Show a description below the field,Mostrar una descripción debajo del campo apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +272,Show a description below the field,Mostrar una descripción debajo del campo
@@ -452,7 +452,7 @@ DocType: Custom Field,Field Description,Descripción del Campo
apps/frappe/frappe/utils/nestedset.py +194,Root {0} cannot be deleted,Raíz {0} no se puede eliminar apps/frappe/frappe/utils/nestedset.py +194,Root {0} cannot be deleted,Raíz {0} no se puede eliminar
DocType: Website Settings,Banner is above the Top Menu Bar.,El Banner está por sobre la barra de menú superior. DocType: Website Settings,Banner is above the Top Menu Bar.,El Banner está por sobre la barra de menú superior.
apps/frappe/frappe/templates/includes/comments/comments.py +50,View it in your browser,Véalo en su navegador apps/frappe/frappe/templates/includes/comments/comments.py +50,View it in your browser,Véalo en su navegador
apps/frappe/frappe/core/doctype/doctype/doctype.py +523,Title field must be a valid fieldname,Campo Título debe ser un nombre de campo válido
apps/frappe/frappe/core/doctype/doctype/doctype.py +527,Title field must be a valid fieldname,Campo Título debe ser un nombre de campo válido
apps/frappe/frappe/client.py +86,Cannot edit standard fields,No se puede editar campos estándar apps/frappe/frappe/client.py +86,Cannot edit standard fields,No se puede editar campos estándar
apps/frappe/frappe/config/website.py +78,Settings for Contact Us Page.,Ajustes para la página de contacto. apps/frappe/frappe/config/website.py +78,Settings for Contact Us Page.,Ajustes para la página de contacto.
apps/frappe/frappe/public/js/frappe/misc/pretty_date.js +48,1 hour ago,Hace 1 hora apps/frappe/frappe/public/js/frappe/misc/pretty_date.js +48,1 hour ago,Hace 1 hora
@@ -483,14 +483,14 @@ apps/frappe/frappe/core/doctype/user/user.py +172,Sorry! User should have comple
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +14,Edit Role Permissions,Editar permisos de rol apps/frappe/frappe/core/page/user_permissions/user_permissions.js +14,Edit Role Permissions,Editar permisos de rol
apps/frappe/frappe/core/doctype/doctype/doctype.py +287,DocType can not be merged,El DocType no se puede fusionar apps/frappe/frappe/core/doctype/doctype/doctype.py +287,DocType can not be merged,El DocType no se puede fusionar
DocType: DocField,Allow on Submit,Permitir en Enviar DocType: DocField,Allow on Submit,Permitir en Enviar
apps/frappe/frappe/public/js/frappe/views/communication.js +78,Select Print Format,Seleccionar el formato de impresión
apps/frappe/frappe/public/js/frappe/views/communication.js +77,Select Print Format,Seleccionar el formato de impresión
DocType: DocField,"For Links, enter the DocType as range. DocType: DocField,"For Links, enter the DocType as range.
For Select, enter list of Options, each on a new line.","Para enlaces, introduzca el DocType como rango. para seleccionar, ingrese lista de opciones, cada uno en una nueva línea." For Select, enter list of Options, each on a new line.","Para enlaces, introduzca el DocType como rango. para seleccionar, ingrese lista de opciones, cada uno en una nueva línea."
DocType: Workflow State,eye-open,- ojo abierto DocType: Workflow State,eye-open,- ojo abierto
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +87,Submit after importing.,Revisar después de importar. apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +87,Submit after importing.,Revisar después de importar.
DocType: Email Account,Email Account Name,Correo electrónico Nombre de cuenta DocType: Email Account,Email Account Name,Correo electrónico Nombre de cuenta
apps/frappe/frappe/public/js/frappe/list/list_renderer.js +554,No {0} found,{0} no encontrado apps/frappe/frappe/public/js/frappe/list/list_renderer.js +554,No {0} found,{0} no encontrado
apps/frappe/frappe/website/doctype/blog_post/blog_post.py +102,Posts by {0},Publicaciones por {0}
apps/frappe/frappe/website/doctype/blog_post/blog_post.py +106,Posts by {0},Publicaciones por {0}
apps/frappe/frappe/core/doctype/doctype/doctype.py +198,Series {0} already used in {1},Serie {0} ya se utiliza en {1} apps/frappe/frappe/core/doctype/doctype/doctype.py +198,Series {0} already used in {1},Serie {0} ya se utiliza en {1}
DocType: Report,Report Manager,Administrador de informes DocType: Report,Report Manager,Administrador de informes
DocType: Custom DocPerm,Report,Informe DocType: Custom DocPerm,Report,Informe
@@ -509,16 +509,16 @@ apps/frappe/frappe/www/list.html +3,{0} List,Listado: {0}
DocType: DocType,Is Submittable,Es presentable-- DocType: DocType,Is Submittable,Es presentable--
DocType: System Settings,Disable Standard Email Footer,Desactivar pie de página estandar en Email DocType: System Settings,Disable Standard Email Footer,Desactivar pie de página estandar en Email
DocType: Blog Post,"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Descripción de la página perfil, en texto plano, sólo un par de líneas. (máx. 140 caracteres)" DocType: Blog Post,"Description for listing page, in plain text, only a couple of lines. (max 140 characters)","Descripción de la página perfil, en texto plano, sólo un par de líneas. (máx. 140 caracteres)"
apps/frappe/frappe/core/doctype/doctype/doctype.py +715,{0} cannot be set for Single types,{0} no se puede establecer para los tipos individuales
apps/frappe/frappe/core/doctype/doctype/doctype.py +719,{0} cannot be set for Single types,{0} no se puede establecer para los tipos individuales
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +600,Select Table Columns for {0},Seleccionar columnas de tabla para {0} apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +600,Select Table Columns for {0},Seleccionar columnas de tabla para {0}
DocType: Workflow State,cog,diente DocType: Workflow State,cog,diente
DocType: Custom Field,Select the label after which you want to insert new field.,Seleccione la etiqueta después de la cual desea insertar el nuevo campo . DocType: Custom Field,Select the label after which you want to insert new field.,Seleccione la etiqueta después de la cual desea insertar el nuevo campo .
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +132,"document type..., e.g. customer","Tipo de documento ..., por ejemplo, al cliente"
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +135,"document type..., e.g. customer","Tipo de documento ..., por ejemplo, al cliente"
apps/frappe/frappe/public/js/frappe/form/link_selector.js +22,Select {0},Seleccione {0} apps/frappe/frappe/public/js/frappe/form/link_selector.js +22,Select {0},Seleccione {0}
DocType: Property Setter,Property Setter,Establecer prioridad-- DocType: Property Setter,Property Setter,Establecer prioridad--
DocType: Website Settings,"Show title in browser window as ""Prefix - title""",Mostrar título en la ventana del navegador como &quot;Prefijo - título&quot; DocType: Website Settings,"Show title in browser window as ""Prefix - title""",Mostrar título en la ventana del navegador como &quot;Prefijo - título&quot;
DocType: File,Attached To DocType,Asociado A DocType DocType: File,Attached To DocType,Asociado A DocType
apps/frappe/frappe/model/base_document.py +535,Row #{0}:,Fila # {0}:
apps/frappe/frappe/model/base_document.py +534,Row #{0}:,Fila # {0}:
apps/frappe/frappe/utils/response.py +134,You need to be logged in and have System Manager Role to be able to access backups.,"Necesitas estar conectado y tener la función de Administrador del Sistema, para poder tener acceso a las copias de seguridad ." apps/frappe/frappe/utils/response.py +134,You need to be logged in and have System Manager Role to be able to access backups.,"Necesitas estar conectado y tener la función de Administrador del Sistema, para poder tener acceso a las copias de seguridad ."
DocType: Website Settings,Title Prefix,Prefijo del Título DocType: Website Settings,Title Prefix,Prefijo del Título
DocType: DocField,Section Break,Salto de sección DocType: DocField,Section Break,Salto de sección
@@ -527,7 +527,7 @@ DocType: Print Settings,PDF Settings,Configuración de PDF
apps/frappe/frappe/templates/includes/login/login.js +193,Oops! Something went wrong,Oups! Algo salió mal apps/frappe/frappe/templates/includes/login/login.js +193,Oops! Something went wrong,Oups! Algo salió mal
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +54,For ranges,Por rangos apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +54,For ranges,Por rangos
DocType: Web Form,Select DocType,Seleccione tipo de documento DocType: Web Form,Select DocType,Seleccione tipo de documento
apps/frappe/frappe/public/js/legacy/form.js +776,Permanently Submit {0}?,Presentar permanentemente {0}?
apps/frappe/frappe/public/js/legacy/form.js +751,Permanently Submit {0}?,Presentar permanentemente {0}?
DocType: Email Account,"e.g. ""Support"", ""Sales"", ""Jerry Yang""","por ejemplo ""Soporte "","" Ventas "","" Jerry Yang """ DocType: Email Account,"e.g. ""Support"", ""Sales"", ""Jerry Yang""","por ejemplo ""Soporte "","" Ventas "","" Jerry Yang """
apps/frappe/frappe/config/setup.py +209,"Actions for workflow (e.g. Approve, Cancel).","Acciones para los flujos de trabajo (por ejemplo: Aprobar, Cancelar)." apps/frappe/frappe/config/setup.py +209,"Actions for workflow (e.g. Approve, Cancel).","Acciones para los flujos de trabajo (por ejemplo: Aprobar, Cancelar)."
DocType: Communication,Feedback,Comentarios DocType: Communication,Feedback,Comentarios


+ 254
- 248
frappe/translations/es.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/et.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/fa.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/fi.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/fr.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/gu.csv
File diff suppressed because it is too large
View File


+ 137
- 139
frappe/translations/he.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/hi.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/hr.csv
File diff suppressed because it is too large
View File


+ 261
- 255
frappe/translations/hu.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/id.csv
File diff suppressed because it is too large
View File


+ 182
- 176
frappe/translations/is.csv
File diff suppressed because it is too large
View File


+ 189
- 183
frappe/translations/it.csv
File diff suppressed because it is too large
View File


+ 183
- 177
frappe/translations/ja.csv
File diff suppressed because it is too large
View File


+ 185
- 179
frappe/translations/km.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/kn.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ko.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ku.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/lo.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/lt.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/lv.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/mk.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ml.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/mr.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ms.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/my.csv
File diff suppressed because it is too large
View File


+ 186
- 180
frappe/translations/nl.csv
File diff suppressed because it is too large
View File


+ 186
- 180
frappe/translations/no.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/pl.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ps.csv
File diff suppressed because it is too large
View File


+ 102
- 103
frappe/translations/pt-BR.csv View File

@@ -8,7 +8,7 @@ DocType: Workflow State,pause,pausar
DocType: User,Facebook Username,Usuário do Facebook DocType: User,Facebook Username,Usuário do Facebook
DocType: System Settings,Note: Multiple sessions will be allowed in case of mobile device,Observação: Serão permitidas múltiplas sessões no caso de dispositivo móvel DocType: System Settings,Note: Multiple sessions will be allowed in case of mobile device,Observação: Serão permitidas múltiplas sessões no caso de dispositivo móvel
apps/frappe/frappe/email/queue.py +210,Cannot send this email. You have crossed the sending limit of {0} emails for this month.,Não é possível enviar este email. Você excedeu o limite de envio de {0} emails para este mês. apps/frappe/frappe/email/queue.py +210,Cannot send this email. You have crossed the sending limit of {0} emails for this month.,Não é possível enviar este email. Você excedeu o limite de envio de {0} emails para este mês.
apps/frappe/frappe/public/js/legacy/form.js +776,Permanently Submit {0}?,Confirmar Permanentemente {0} ?
apps/frappe/frappe/public/js/legacy/form.js +751,Permanently Submit {0}?,Confirmar Permanentemente {0} ?
DocType: Workflow,If Checked workflow status will not override status in list view,Uma vez selecionado o status do fluxo de trabalho não sobrescreverá o status do documentos na visualização da lista DocType: Workflow,If Checked workflow status will not override status in list view,Uma vez selecionado o status do fluxo de trabalho não sobrescreverá o status do documentos na visualização da lista
apps/frappe/frappe/client.py +280,Invalid file path: {0},Caminho de arquivo inválido: {0} apps/frappe/frappe/client.py +280,Invalid file path: {0},Caminho de arquivo inválido: {0}
DocType: Workflow State,eye-open,olho aberto DocType: Workflow State,eye-open,olho aberto
@@ -24,7 +24,7 @@ apps/frappe/frappe/config/core.py +42,Logs,Logs
DocType: Custom DocPerm,This role update User Permissions for a user,Este papel arualiza Permissões do Usuário para um usuário DocType: Custom DocPerm,This role update User Permissions for a user,Este papel arualiza Permissões do Usuário para um usuário
apps/frappe/frappe/public/js/frappe/model/model.js +507,Rename {0},Mudar o nome {0} apps/frappe/frappe/public/js/frappe/model/model.js +507,Rename {0},Mudar o nome {0}
DocType: Workflow State,zoom-out,diminuir zoom DocType: Workflow State,zoom-out,diminuir zoom
apps/frappe/frappe/public/js/legacy/form.js +67,Cannot open {0} when its instance is open,Não é possível abrir {0} quando sua instância está aberta
apps/frappe/frappe/public/js/legacy/form.js +66,Cannot open {0} when its instance is open,Não é possível abrir {0} quando sua instância está aberta
apps/frappe/frappe/model/document.py +930,Table {0} cannot be empty,Tabela {0} não pode ser vazio apps/frappe/frappe/model/document.py +930,Table {0} cannot be empty,Tabela {0} não pode ser vazio
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +852,With Ledgers,Com Razões apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +852,With Ledgers,Com Razões
apps/frappe/frappe/public/js/frappe/views/image/image_view.js +15,Images,Imagens apps/frappe/frappe/public/js/frappe/views/image/image_view.js +15,Images,Imagens
@@ -34,19 +34,19 @@ apps/frappe/frappe/model/document.py +904,Beginning with,Começando com
apps/frappe/frappe/core/page/data_import_tool/exporter.py +52,Data Import Template,Modelo de importação de dados apps/frappe/frappe/core/page/data_import_tool/exporter.py +52,Data Import Template,Modelo de importação de dados
apps/frappe/frappe/public/js/frappe/model/model.js +31,Parent,Parente apps/frappe/frappe/public/js/frappe/model/model.js +31,Parent,Parente
DocType: About Us Settings,"""Team Members"" or ""Management""",&quot;Membros da Equipe&quot; ou &quot;Gerenciamento&quot; DocType: About Us Settings,"""Team Members"" or ""Management""",&quot;Membros da Equipe&quot; ou &quot;Gerenciamento&quot;
apps/frappe/frappe/core/doctype/doctype/doctype.py +453,Default for 'Check' type of field must be either '0' or '1',"Padrão para ""Verificar"" o tipo de campo deve ser '0' ou '1'"
apps/frappe/frappe/core/doctype/doctype/doctype.py +457,Default for 'Check' type of field must be either '0' or '1',"Padrão para ""Verificar"" o tipo de campo deve ser '0' ou '1'"
DocType: Email Account,Enable Incoming,Ativar Entrada DocType: Email Account,Enable Incoming,Ativar Entrada
apps/frappe/frappe/www/login.html +22,Email Address,Endereço de Email apps/frappe/frappe/www/login.html +22,Email Address,Endereço de Email
DocType: Communication,Unread Notification Sent,Notificação de mensagem não lida enviada DocType: Communication,Unread Notification Sent,Notificação de mensagem não lida enviada
apps/frappe/frappe/public/js/frappe/misc/tools.js +8,Export not allowed. You need {0} role to export.,Exportação não é permitido . Você precisa da função {0} para exportar . apps/frappe/frappe/public/js/frappe/misc/tools.js +8,Export not allowed. You need {0} role to export.,Exportação não é permitido . Você precisa da função {0} para exportar .
DocType: Email Group,Email Group,Grupo de Emails DocType: Email Group,Email Group,Grupo de Emails
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +460,Not Like,Não Parecido
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +479,Not Like,Não Parecido
apps/frappe/frappe/config/setup.py +220,"Change field properties (hide, readonly, permission etc.)","Alterar as propriedades do campo (esconder , readonly , permissão etc )" apps/frappe/frappe/config/setup.py +220,"Change field properties (hide, readonly, permission etc.)","Alterar as propriedades do campo (esconder , readonly , permissão etc )"
DocType: Workflow State,lock,trancar DocType: Workflow State,lock,trancar
apps/frappe/frappe/config/website.py +78,Settings for Contact Us Page.,Configurações da Página Fale Conosco. apps/frappe/frappe/config/website.py +78,Settings for Contact Us Page.,Configurações da Página Fale Conosco.
apps/frappe/frappe/core/doctype/user/user.py +877,Administrator Logged In,Administrador logou-se apps/frappe/frappe/core/doctype/user/user.py +877,Administrator Logged In,Administrador logou-se
DocType: Contact Us Settings,"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Opções de contato, como ""Perguntas sobre Vendas, Perguntas de suporte"", etc cada uma em uma nova linha ou separadas por vírgulas." DocType: Contact Us Settings,"Contact options, like ""Sales Query, Support Query"" etc each on a new line or separated by commas.","Opções de contato, como ""Perguntas sobre Vendas, Perguntas de suporte"", etc cada uma em uma nova linha ou separadas por vírgulas."
apps/frappe/frappe/public/js/frappe/form/control.js +1895,Insert,Insert
apps/frappe/frappe/public/js/frappe/form/control.js +1896,Insert,Insert
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +54,For ranges,Para faixas apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +54,For ranges,Para faixas
DocType: Workflow State,indent-right,indentar à direita DocType: Workflow State,indent-right,indentar à direita
apps/frappe/frappe/public/js/frappe/misc/pretty_date.js +46,1 minute ago,1 minuto atrás apps/frappe/frappe/public/js/frappe/misc/pretty_date.js +46,1 minute ago,1 minuto atrás
@@ -83,11 +83,11 @@ DocType: OAuth Bearer Token,Refresh Token,Token de Atualização
apps/frappe/frappe/email/doctype/newsletter/newsletter.py +35,Newsletter has already been sent,O Boletim Informativo já foi enviado apps/frappe/frappe/email/doctype/newsletter/newsletter.py +35,Newsletter has already been sent,O Boletim Informativo já foi enviado
apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.py +33,Please specify user,"Por favor, especifique usuário" apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.py +33,Please specify user,"Por favor, especifique usuário"
DocType: Email Unsubscribe,Email Unsubscribe,Cancelar inscrição de email DocType: Email Unsubscribe,Email Unsubscribe,Cancelar inscrição de email
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +504,The first user will become the System Manager (you can change this later).,O primeiro usuário será o System Manager (você pode mudar isso mais tarde).
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +516,The first user will become the System Manager (you can change this later).,O primeiro usuário será o System Manager (você pode mudar isso mais tarde).
,App Installer,Instalador de Aplicativos ,App Installer,Instalador de Aplicativos
apps/frappe/frappe/public/js/frappe/upload.js +296,Uploading...,Carregando... apps/frappe/frappe/public/js/frappe/upload.js +296,Uploading...,Carregando...
DocType: Email Domain,Email Domain,Domínio de Email DocType: Email Domain,Email Domain,Domínio de Email
apps/frappe/frappe/core/doctype/doctype/doctype.py +698,{0}: Cannot set Import without Create,{0}: Não é possível definir Importação sem Criar
apps/frappe/frappe/core/doctype/doctype/doctype.py +702,{0}: Cannot set Import without Create,{0}: Não é possível definir Importação sem Criar
apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +861,Drag to sort columns,Arraste para classificar colunas apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +861,Drag to sort columns,Arraste para classificar colunas
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html +2,Widths can be set in px or %.,Larguras podem ser definidas em px ou %. apps/frappe/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html +2,Widths can be set in px or %.,Larguras podem ser definidas em px ou %.
apps/frappe/frappe/public/js/frappe/form/print.js +101,Start,Iniciar apps/frappe/frappe/public/js/frappe/form/print.js +101,Start,Iniciar
@@ -96,7 +96,7 @@ DocType: Portal Settings,Standard Sidebar Menu,Menu Lateral Padrão
apps/frappe/frappe/core/doctype/file/file.py +167,Cannot delete Home and Attachments folders,Não é possível excluir pastas Inicial e Anexos apps/frappe/frappe/core/doctype/file/file.py +167,Cannot delete Home and Attachments folders,Não é possível excluir pastas Inicial e Anexos
apps/frappe/frappe/config/desk.py +19,Files,Arquivos apps/frappe/frappe/config/desk.py +19,Files,Arquivos
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +6,Permissions get applied on Users based on what Roles they are assigned.,As permissões são aplicadas em usuários com base nas funções que lhe são atribuídas. apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +6,Permissions get applied on Users based on what Roles they are assigned.,As permissões são aplicadas em usuários com base nas funções que lhe são atribuídas.
apps/frappe/frappe/public/js/frappe/views/communication.js +459,You are not allowed to send emails related to this document,Você não tem permissão para enviar emails relacionados a este documento
apps/frappe/frappe/public/js/frappe/views/communication.js +460,You are not allowed to send emails related to this document,Você não tem permissão para enviar emails relacionados a este documento
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +238,Reqd,Solicitado apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +238,Reqd,Solicitado
apps/frappe/frappe/core/doctype/communication/email.py +263,Unable to find attachment {0},Incapaz de encontrar o anexo {0} apps/frappe/frappe/core/doctype/communication/email.py +263,Unable to find attachment {0},Incapaz de encontrar o anexo {0}
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +226,Assign a permission level to the field.,Atribuir um nível de permissão para o campo. apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +226,Assign a permission level to the field.,Atribuir um nível de permissão para o campo.
@@ -121,7 +121,6 @@ DocType: Workflow State,headphones,fones de ouvido
DocType: Email Account,e.g. replies@yourcomany.com. All replies will come to this inbox.,eg replies@yourcomany.com. Todas as respostas virão a esta caixa de entrada. DocType: Email Account,e.g. replies@yourcomany.com. All replies will come to this inbox.,eg replies@yourcomany.com. Todas as respostas virão a esta caixa de entrada.
apps/frappe/frappe/templates/includes/login/login.js +36,Valid email and name required,É necessário email válido e nome apps/frappe/frappe/templates/includes/login/login.js +36,Valid email and name required,É necessário email válido e nome
DocType: DocType,Hide Heading,Ocultar Título DocType: DocType,Hide Heading,Ocultar Título
apps/frappe/frappe/public/js/frappe/form/templates/form_links.html +2,Related Documents,Documentos Relacionados
DocType: Workflow State,remove-circle,remove-círculo DocType: Workflow State,remove-circle,remove-círculo
DocType: Contact,Is Primary Contact,É o contato principal DocType: Contact,Is Primary Contact,É o contato principal
apps/frappe/frappe/config/website.py +68,Javascript to append to the head section of the page.,Javascript para acrescentar ao cabeçalho da página. apps/frappe/frappe/config/website.py +68,Javascript to append to the head section of the page.,Javascript para acrescentar ao cabeçalho da página.
@@ -132,7 +131,7 @@ apps/frappe/frappe/model/db_schema.py +563,Fieldname {0} cannot have special cha
apps/frappe/frappe/config/setup.py +121,Update many values at one time.,Atualizar muitas informações de uma só vez. apps/frappe/frappe/config/setup.py +121,Update many values at one time.,Atualizar muitas informações de uma só vez.
apps/frappe/frappe/model/document.py +538,Error: Document has been modified after you have opened it,Erro: O documento foi modificado depois de aberto apps/frappe/frappe/model/document.py +538,Error: Document has been modified after you have opened it,Erro: O documento foi modificado depois de aberto
apps/frappe/frappe/core/doctype/communication/feed.py +63,{0} logged out: {1},{0} deslogado: {1} apps/frappe/frappe/core/doctype/communication/feed.py +63,{0} logged out: {1},{0} deslogado: {1}
apps/frappe/frappe/core/doctype/doctype/doctype.py +719,{0}: Cannot set Assign Submit if not Submittable,{0}: Não é possível definir atributo Enviar se não pode ser enviado
apps/frappe/frappe/core/doctype/doctype/doctype.py +723,{0}: Cannot set Assign Submit if not Submittable,{0}: Não é possível definir atributo Enviar se não pode ser enviado
apps/frappe/frappe/desk/page/chat/chat.js +54,Message from {0},Mensagem do {0} apps/frappe/frappe/desk/page/chat/chat.js +54,Message from {0},Mensagem do {0}
DocType: Newsletter,Newsletter,Boletim Informativo DocType: Newsletter,Newsletter,Boletim Informativo
DocType: Web Form,Button Help,Botão de Ajuda DocType: Web Form,Button Help,Botão de Ajuda
@@ -142,7 +141,7 @@ DocType: Address Template,System Manager,Administrador do Sistema
DocType: Dropbox Settings,Allow Dropbox Access,Permitir Acesso Dropbox DocType: Dropbox Settings,Allow Dropbox Access,Permitir Acesso Dropbox
DocType: Workflow State,plus-sign,sinal de mais DocType: Workflow State,plus-sign,sinal de mais
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py +24,Setup already complete,Configuração já está concluída apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py +24,Setup already complete,Configuração já está concluída
apps/frappe/frappe/__init__.py +890,App {0} is not installed,App {0} não está instalado
apps/frappe/frappe/__init__.py +889,App {0} is not installed,App {0} não está instalado
DocType: Workflow State,Refresh,Atualizar DocType: Workflow State,Refresh,Atualizar
apps/frappe/frappe/public/js/frappe/ui/base_list.js +76,Nothing to show,Nada para mostrar apps/frappe/frappe/public/js/frappe/ui/base_list.js +76,Nothing to show,Nada para mostrar
apps/frappe/frappe/public/js/frappe/model/model.js +24,Liked By,Gostou por apps/frappe/frappe/public/js/frappe/model/model.js +24,Liked By,Gostou por
@@ -158,14 +157,14 @@ apps/frappe/frappe/printing/page/print_format_builder/print_format_builder_start
DocType: Customize Form,Is Table,É Tabela DocType: Customize Form,Is Table,É Tabela
DocType: Website Settings,Set Banner from Image,Definir imagem como banner DocType: Website Settings,Set Banner from Image,Definir imagem como banner
apps/frappe/frappe/templates/emails/new_user.html +3,A new account has been created for you at {0},Uma nova conta foi criada para você em {0} apps/frappe/frappe/templates/emails/new_user.html +3,A new account has been created for you at {0},Uma nova conta foi criada para você em {0}
apps/frappe/frappe/public/js/frappe/views/communication.js +448,Enter Email Recipient(s),Digite email do Destinatário(s)
apps/frappe/frappe/public/js/frappe/views/communication.js +449,Enter Email Recipient(s),Digite email do Destinatário(s)
apps/frappe/frappe/utils/bot.py +83,Can't identify open {0}. Try something else.,Não é possível identificar aberto {0}. Tente outra coisa. apps/frappe/frappe/utils/bot.py +83,Can't identify open {0}. Try something else.,Não é possível identificar aberto {0}. Tente outra coisa.
apps/frappe/frappe/website/doctype/web_form/templates/web_form.html +355,Your information has been submitted,Suas informações foram enviadas apps/frappe/frappe/website/doctype/web_form/templates/web_form.html +355,Your information has been submitted,Suas informações foram enviadas
apps/frappe/frappe/core/doctype/user/user.py +292,User {0} cannot be deleted,O usuário {0} não pode ser excluído apps/frappe/frappe/core/doctype/user/user.py +292,User {0} cannot be deleted,O usuário {0} não pode ser excluído
apps/frappe/frappe/public/js/frappe/request.js +113,Another transaction is blocking this one. Please try again in a few seconds.,"Outra transação está bloqueando essa. Por favor, tente novamente em alguns segundos." apps/frappe/frappe/public/js/frappe/request.js +113,Another transaction is blocking this one. Please try again in a few seconds.,"Outra transação está bloqueando essa. Por favor, tente novamente em alguns segundos."
DocType: DocType,App,Aplicativo DocType: DocType,App,Aplicativo
DocType: Communication,Attachment,Anexos DocType: Communication,Attachment,Anexos
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +136,module name...,nome do módulo ...
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +139,module name...,nome do módulo ...
DocType: Custom Field,Fieldname,Nome do Campo DocType: Custom Field,Fieldname,Nome do Campo
DocType: User,Tile,Telha DocType: User,Tile,Telha
apps/frappe/frappe/templates/includes/login/login.js +106,Verifying...,Verificando... apps/frappe/frappe/templates/includes/login/login.js +106,Verifying...,Verificando...
@@ -193,12 +192,12 @@ apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +431,{0} from {1} to
DocType: Web Form,Amount Based On Field,Total Baseado no Campo DocType: Web Form,Amount Based On Field,Total Baseado no Campo
apps/frappe/frappe/core/doctype/docshare/docshare.py +34,User is mandatory for Share,Usuário é obrigatória para Partilhar apps/frappe/frappe/core/doctype/docshare/docshare.py +34,User is mandatory for Share,Usuário é obrigatória para Partilhar
DocType: Web Form,Allow Incomplete Forms,Permitir Formulários Incompletos DocType: Web Form,Allow Incomplete Forms,Permitir Formulários Incompletos
apps/frappe/frappe/model/base_document.py +470,{0} must be set first,{0} deve ser definida primeiro
apps/frappe/frappe/model/base_document.py +469,{0} must be set first,{0} deve ser definida primeiro
apps/frappe/frappe/utils/password_strength.py +31,"Use a few words, avoid common phrases.","Use algumas palavras, evite frases comuns." apps/frappe/frappe/utils/password_strength.py +31,"Use a few words, avoid common phrases.","Use algumas palavras, evite frases comuns."
apps/frappe/frappe/core/page/data_import_tool/exporter.py +65,"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.","Se você estiver fazendo upload de novos registros, a coluna ""Naming Series"" torna-se obrigatória, se presente." apps/frappe/frappe/core/page/data_import_tool/exporter.py +65,"If you are uploading new records, ""Naming Series"" becomes mandatory, if present.","Se você estiver fazendo upload de novos registros, a coluna ""Naming Series"" torna-se obrigatória, se presente."
apps/frappe/frappe/core/doctype/doctype/doctype.py +280,DocType can only be renamed by Administrator,DocType só pode ser renomeado pelo Administrador apps/frappe/frappe/core/doctype/doctype/doctype.py +280,DocType can only be renamed by Administrator,DocType só pode ser renomeado pelo Administrador
apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +442,changed value of {0},mudou o valor de {0} apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +442,changed value of {0},mudou o valor de {0}
apps/frappe/frappe/core/doctype/doctype/doctype.py +505,Fold can not be at the end of the form,Fold não pode ser no final da forma
apps/frappe/frappe/core/doctype/doctype/doctype.py +509,Fold can not be at the end of the form,Fold não pode ser no final da forma
DocType: Communication,Bounced,Bounced DocType: Communication,Bounced,Bounced
DocType: Deleted Document,Deleted Name,Nome Excluído DocType: Deleted Document,Deleted Name,Nome Excluído
apps/frappe/frappe/config/setup.py +14,System and Website Users,Usuários do sistema e do site apps/frappe/frappe/config/setup.py +14,System and Website Users,Usuários do sistema e do site
@@ -209,7 +208,7 @@ apps/frappe/frappe/public/js/frappe/ui/toolbar/toolbar.js +234,"Your download is
apps/frappe/frappe/www/feedback.html +23,Your rating: ,Seu rating: apps/frappe/frappe/www/feedback.html +23,Your rating: ,Seu rating:
DocType: Print Settings,"Always add ""Draft"" Heading for printing draft documents","Sempre adicionar ""Rascunho"" no cabeçalho para impressão de documentos não enviados" DocType: Print Settings,"Always add ""Draft"" Heading for printing draft documents","Sempre adicionar ""Rascunho"" no cabeçalho para impressão de documentos não enviados"
DocType: About Us Settings,Website Manager,Administrador do Site DocType: About Us Settings,Website Manager,Administrador do Site
apps/frappe/frappe/core/doctype/doctype/doctype.py +429,Field {0} in row {1} cannot be hidden and mandatory without default,"O campo {0} na linha {1} não pode ser escondido e obrigatória , sem padrão"
apps/frappe/frappe/core/doctype/doctype/doctype.py +433,Field {0} in row {1} cannot be hidden and mandatory without default,"O campo {0} na linha {1} não pode ser escondido e obrigatória , sem padrão"
DocType: Print Settings,Send document web view link in email,Enviar link no email para visualizar o documento online DocType: Print Settings,Send document web view link in email,Enviar link no email para visualizar o documento online
DocType: Currency,"Sub-currency. For e.g. ""Cent""",Sub-moeda. Por exemplo &quot;Centavo&quot; DocType: Currency,"Sub-currency. For e.g. ""Cent""",Sub-moeda. Por exemplo &quot;Centavo&quot;
DocType: Letter Head,Check this to make this the default letter head in all prints,Marque esta opção para tornar este o cabeçalho padrão em todas as impressões DocType: Letter Head,Check this to make this the default letter head in all prints,Marque esta opção para tornar este o cabeçalho padrão em todas as impressões
@@ -219,18 +218,18 @@ DocType: Version,Version,Versão
DocType: User,Fill Screen,Preencher Tela DocType: User,Fill Screen,Preencher Tela
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +67,1. Select File,1. Selecionar arquivo apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +67,1. Select File,1. Selecionar arquivo
apps/frappe/frappe/public/js/frappe/form/grid.js +599,Edit via Upload,Editar via Upload apps/frappe/frappe/public/js/frappe/form/grid.js +599,Edit via Upload,Editar via Upload
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +132,"document type..., e.g. customer","Tipo de documento ..., por exemplo: cliente"
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +135,"document type..., e.g. customer","Tipo de documento ..., por exemplo: cliente"
DocType: Workflow State,barcode,Código de barras DocType: Workflow State,barcode,Código de barras
apps/frappe/frappe/config/setup.py +232,Add your own translations,Adicione suas próprias traduções apps/frappe/frappe/config/setup.py +232,Add your own translations,Adicione suas próprias traduções
DocType: About Us Team Member,About Us Team Member,Sobre Nós - Membros da Equipe DocType: About Us Team Member,About Us Team Member,Sobre Nós - Membros da Equipe
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +5,"Permissions are set on Roles and Document Types (called DocTypes) by setting rights like Read, Write, Create, Delete, Submit, Cancel, Amend, Report, Import, Export, Print, Email and Set User Permissions.","As permissões são definidas em Funções e Tipos de Documentos (chamados Doctypes ) , definindo direitos como Ler, Escrever, Criar, Deletar, Enviar, Cancelar, Corrigir, Reportar, Importar, Exportar, Imprimir, Email e Definir Permissões de Usuário." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +5,"Permissions are set on Roles and Document Types (called DocTypes) by setting rights like Read, Write, Create, Delete, Submit, Cancel, Amend, Report, Import, Export, Print, Email and Set User Permissions.","As permissões são definidas em Funções e Tipos de Documentos (chamados Doctypes ) , definindo direitos como Ler, Escrever, Criar, Deletar, Enviar, Cancelar, Corrigir, Reportar, Importar, Exportar, Imprimir, Email e Definir Permissões de Usuário."
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +19,"Apart from Role based Permission Rules, you can apply User Permissions based on DocTypes.","Além de função com base em regras de permissão, você pode aplicar permissões de usuário baseado em doctypes ." apps/frappe/frappe/core/page/user_permissions/user_permissions.js +19,"Apart from Role based Permission Rules, you can apply User Permissions based on DocTypes.","Além de função com base em regras de permissão, você pode aplicar permissões de usuário baseado em doctypes ."
apps/frappe/frappe/core/doctype/doctype/doctype.py +550,Image field must be a valid fieldname,Campo de imagem deve ser um nome de campo válido
apps/frappe/frappe/core/doctype/doctype/doctype.py +554,Image field must be a valid fieldname,Campo de imagem deve ser um nome de campo válido
DocType: Property Setter,ID (name) of the entity whose property is to be set,ID (nome) da entidade cuja propriedade é para ser definida DocType: Property Setter,ID (name) of the entity whose property is to be set,ID (nome) da entidade cuja propriedade é para ser definida
DocType: Website Settings,Website Theme Image Link,Link da Imagem do Tema do Site DocType: Website Settings,Website Theme Image Link,Link da Imagem do Tema do Site
DocType: Web Form,Sidebar Items,Itens da barra lateral DocType: Web Form,Sidebar Items,Itens da barra lateral
apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.js +30,Show Permissions,Mostrar Permissões apps/frappe/frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.js +30,Show Permissions,Mostrar Permissões
apps/frappe/frappe/core/doctype/doctype/doctype.py +570,Timeline field must be a Link or Dynamic Link,Campo Timeline deve ser um link ou link dinâmico
apps/frappe/frappe/core/doctype/doctype/doctype.py +574,Timeline field must be a Link or Dynamic Link,Campo Timeline deve ser um link ou link dinâmico
apps/frappe/frappe/public/js/frappe/form/multi_select_dialog.js +53,Date Range,Intervalo entre datas apps/frappe/frappe/public/js/frappe/form/multi_select_dialog.js +53,Date Range,Intervalo entre datas
DocType: About Us Settings,Introduce your company to the website visitor.,Apresente sua empresa para o visitante do site. DocType: About Us Settings,Introduce your company to the website visitor.,Apresente sua empresa para o visitante do site.
apps/frappe/frappe/public/js/frappe/form/workflow.js +116,To,Para apps/frappe/frappe/public/js/frappe/form/workflow.js +116,To,Para
@@ -248,11 +247,11 @@ DocType: Print Format,Style Settings,Configurações de Estilo
DocType: Contact,Sales Manager,Gerente de Vendas DocType: Contact,Sales Manager,Gerente de Vendas
apps/frappe/frappe/public/js/frappe/model/model.js +513,Rename,Renomear apps/frappe/frappe/public/js/frappe/model/model.js +513,Rename,Renomear
DocType: Print Format,Format Data,Formato de dados DocType: Print Format,Format Data,Formato de dados
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +460,Like,Parecido
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +479,Like,Parecido
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +251,Allow User,Permitir que o usuário apps/frappe/frappe/core/page/user_permissions/user_permissions.js +251,Allow User,Permitir que o usuário
apps/frappe/frappe/config/setup.py +59,Check which Documents are readable by a User,Confira quais os documentos são lidos por um Usuário apps/frappe/frappe/config/setup.py +59,Check which Documents are readable by a User,Confira quais os documentos são lidos por um Usuário
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +216,use % as wildcard,usar % como coringa
apps/frappe/frappe/email/doctype/email_account/email_account.js +150,"Email Domain not configured for this account, Create one?","Domínio de email não configurado para esta conta, criar um?"
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +229,use % as wildcard,usar % como coringa
apps/frappe/frappe/email/doctype/email_account/email_account.js +151,"Email Domain not configured for this account, Create one?","Domínio de email não configurado para esta conta, criar um?"
DocType: User,Reset Password Key,Redefinição de senha chave DocType: User,Reset Password Key,Redefinição de senha chave
DocType: Email Account,Enable Auto Reply,Ativar resposta automática DocType: Email Account,Enable Auto Reply,Ativar resposta automática
DocType: Workflow State,zoom-in,aumentar zoom DocType: Workflow State,zoom-in,aumentar zoom
@@ -280,7 +279,7 @@ DocType: Property Setter,Property Setter overrides a standard DocType or Field p
apps/frappe/frappe/core/doctype/user/user.py +689,Cannot Update: Incorrect / Expired Link.,Não é possível atualizar : Link incorreto / expirado. apps/frappe/frappe/core/doctype/user/user.py +689,Cannot Update: Incorrect / Expired Link.,Não é possível atualizar : Link incorreto / expirado.
apps/frappe/frappe/utils/password_strength.py +58,Better add a few more letters or another word,Recomenda-se adicionar mais algumas letras ou colocar uma palavra adicional apps/frappe/frappe/utils/password_strength.py +58,Better add a few more letters or another word,Recomenda-se adicionar mais algumas letras ou colocar uma palavra adicional
apps/frappe/frappe/core/doctype/user/user.py +405,Username {0} already exists,O nome de usuário {0} já existe apps/frappe/frappe/core/doctype/user/user.py +405,Username {0} already exists,O nome de usuário {0} já existe
apps/frappe/frappe/core/doctype/doctype/doctype.py +725,{0}: Cannot set import as {1} is not importable,{0}: Não é possível definir importação como {1} se não é importável
apps/frappe/frappe/core/doctype/doctype/doctype.py +729,{0}: Cannot set import as {1} is not importable,{0}: Não é possível definir importação como {1} se não é importável
apps/frappe/frappe/contacts/doctype/address/address.py +110,There is an error in your Address Template {0},Há um erro no seu modelo de endereço {0} apps/frappe/frappe/contacts/doctype/address/address.py +110,There is an error in your Address Template {0},Há um erro no seu modelo de endereço {0}
DocType: Workflow State,hdd,hdd DocType: Workflow State,hdd,hdd
DocType: ToDo,High,Alta DocType: ToDo,High,Alta
@@ -302,11 +301,11 @@ DocType: Website Theme,Google Font (Text),Google Font (Texto)
apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +31,{0} already unsubscribed for {1} {2},{0} já teve sua sua inscrição cancelada para {1} {2} apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +31,{0} already unsubscribed for {1} {2},{0} já teve sua sua inscrição cancelada para {1} {2}
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +327,Did not remove,Não removido apps/frappe/frappe/core/page/permission_manager/permission_manager.js +327,Did not remove,Não removido
apps/frappe/frappe/desk/like.py +89,Liked,Gostou apps/frappe/frappe/desk/like.py +89,Liked,Gostou
apps/frappe/frappe/core/doctype/doctype/doctype.py +437,'In List View' not allowed for type {0} in row {1},'Visualização em Lista' não pode ser utilizado para o tipo {0} na linha {1}
apps/frappe/frappe/core/doctype/doctype/doctype.py +441,'In List View' not allowed for type {0} in row {1},'Visualização em Lista' não pode ser utilizado para o tipo {0} na linha {1}
DocType: Custom Field,Select the label after which you want to insert new field.,Selecione a etiqueta após a qual você deseja inserir um novo campo. DocType: Custom Field,Select the label after which you want to insert new field.,Selecione a etiqueta após a qual você deseja inserir um novo campo.
,Document Share Report,Relatório de Documentos Compartilhados ,Document Share Report,Relatório de Documentos Compartilhados
DocType: User,Last Login,Último Login DocType: User,Last Login,Último Login
apps/frappe/frappe/core/doctype/doctype/doctype.py +597,Fieldname is required in row {0},Nome do campo é necessário na linha {0}
apps/frappe/frappe/core/doctype/doctype/doctype.py +600,Fieldname is required in row {0},Nome do campo é necessário na linha {0}
DocType: Custom Field,Adds a custom field to a DocType,Adiciona um campo personalizado para um Tipo de Documento (DocType) DocType: Custom Field,Adds a custom field to a DocType,Adiciona um campo personalizado para um Tipo de Documento (DocType)
DocType: File,Is Home Folder,É Home Folder DocType: File,Is Home Folder,É Home Folder
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +140,Upload and Sync,Upload e Sincronizar apps/frappe/frappe/core/page/user_permissions/user_permissions.js +140,Upload and Sync,Upload e Sincronizar
@@ -318,13 +317,13 @@ apps/frappe/frappe/config/setup.py +89,Log of error during requests.,Log de erro
apps/frappe/frappe/email/doctype/newsletter/newsletter.py +193,{0} has been successfully added to the Email Group.,"{0} foi adicionado com sucesso ao grupo de emails," apps/frappe/frappe/email/doctype/newsletter/newsletter.py +193,{0} has been successfully added to the Email Group.,"{0} foi adicionado com sucesso ao grupo de emails,"
apps/frappe/frappe/public/js/frappe/upload.js +364,Make file(s) private or public?,Tornar o(s) arquivo(s) privados ou públicos? apps/frappe/frappe/public/js/frappe/upload.js +364,Make file(s) private or public?,Tornar o(s) arquivo(s) privados ou públicos?
DocType: DocShare,Everyone,Todos DocType: DocShare,Everyone,Todos
apps/frappe/frappe/core/doctype/doctype/doctype.py +672,"{0}: Only one rule allowed with the same Role, Level and {1}","{0}: Apenas uma regra de permissão com a mesma função, nível e {1}"
apps/frappe/frappe/core/doctype/doctype/doctype.py +676,"{0}: Only one rule allowed with the same Role, Level and {1}","{0}: Apenas uma regra de permissão com a mesma função, nível e {1}"
DocType: Email Queue,Add Unsubscribe Link,Adicionar link para cancelar inscrição DocType: Email Queue,Add Unsubscribe Link,Adicionar link para cancelar inscrição
DocType: Custom DocPerm,Filter records based on User Permissions defined for a user,Filtrar registros com base em permissões de usuário definidos para um usuário DocType: Custom DocPerm,Filter records based on User Permissions defined for a user,Filtrar registros com base em permissões de usuário definidos para um usuário
DocType: PayPal Settings,API Password,Senha da API DocType: PayPal Settings,API Password,Senha da API
apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +40,Fieldname not set for Custom Field,Fieldname não definida para campo personalizado apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +40,Fieldname not set for Custom Field,Fieldname não definida para campo personalizado
apps/frappe/frappe/public/js/frappe/model/model.js +22,Last Updated By,Última atualização por apps/frappe/frappe/public/js/frappe/model/model.js +22,Last Updated By,Última atualização por
apps/frappe/frappe/public/js/frappe/views/communication.js +509,There were errors while sending email. Please try again.,"Ocorreram erros durante o envio de email. Por favor, tente novamente."
apps/frappe/frappe/public/js/frappe/views/communication.js +520,There were errors while sending email. Please try again.,"Ocorreram erros durante o envio de email. Por favor, tente novamente."
DocType: Portal Settings,Portal Settings,Configurações do Portal DocType: Portal Settings,Portal Settings,Configurações do Portal
apps/frappe/frappe/core/doctype/communication/communication.js +117,Are you sure you want to relink this communication to {0}?,Você tem certeza que deseja relinkar a comunicação para {0}? apps/frappe/frappe/core/doctype/communication/communication.js +117,Are you sure you want to relink this communication to {0}?,Você tem certeza que deseja relinkar a comunicação para {0}?
DocType: Email Group Member,Email Group Member,Membro do Grupo de Emails DocType: Email Group Member,Email Group Member,Membro do Grupo de Emails
@@ -339,32 +338,32 @@ DocType: Workflow State,play,jogar
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +408,Did not add,Não adicionado apps/frappe/frappe/core/page/permission_manager/permission_manager.js +408,Did not add,Não adicionado
DocType: Contact Us Settings,Contact Us Settings,Configurações do Fale Conosco DocType: Contact Us Settings,Contact Us Settings,Configurações do Fale Conosco
DocType: Workflow State,text-width,largura de texto DocType: Workflow State,text-width,largura de texto
apps/frappe/frappe/public/js/legacy/form.js +144,Maximum Attachment Limit for this record reached.,Limite máximo de anexo para este recorde atingido.
apps/frappe/frappe/public/js/legacy/form.js +142,Maximum Attachment Limit for this record reached.,Limite máximo de anexo para este recorde atingido.
DocType: Email Alert,View Properties (via Customize Form),Exibir Propriedades (via Personalizar Formulário) DocType: Email Alert,View Properties (via Customize Form),Exibir Propriedades (via Personalizar Formulário)
DocType: Note Seen By,Note Seen By,Nota Vista por DocType: Note Seen By,Note Seen By,Nota Vista por
DocType: Feedback Trigger,Check Communication,Checar Comunicação DocType: Feedback Trigger,Check Communication,Checar Comunicação
apps/frappe/frappe/core/doctype/report/report.js +5,Report Builder reports are managed directly by the report builder. Nothing to do.,Os relatórios são gerenciados diretamente pelo sistema. Nada a fazer. apps/frappe/frappe/core/doctype/report/report.js +5,Report Builder reports are managed directly by the report builder. Nothing to do.,Os relatórios são gerenciados diretamente pelo sistema. Nada a fazer.
apps/frappe/frappe/email/doctype/newsletter/newsletter.py +163,Please verify your Email Address,"Por favor, verifique seu endereço de email" apps/frappe/frappe/email/doctype/newsletter/newsletter.py +163,Please verify your Email Address,"Por favor, verifique seu endereço de email"
apps/frappe/frappe/model/document.py +903,none of,nenhum apps/frappe/frappe/model/document.py +903,none of,nenhum
apps/frappe/frappe/public/js/frappe/views/communication.js +66,Send Me A Copy,Envie-me uma Cópia
apps/frappe/frappe/public/js/frappe/views/communication.js +65,Send Me A Copy,Envie-me uma Cópia
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +127,Upload User Permissions,Publique as permissões de usuário apps/frappe/frappe/core/page/user_permissions/user_permissions.js +127,Upload User Permissions,Publique as permissões de usuário
apps/frappe/frappe/config/website.py +7,Web Site,Web Site apps/frappe/frappe/config/website.py +7,Web Site,Web Site
apps/frappe/frappe/core/page/desktop/all_applications_dialog.html +8,Checked items will be shown on desktop,Itens marcados serão mostrado na área de trabalho apps/frappe/frappe/core/page/desktop/all_applications_dialog.html +8,Checked items will be shown on desktop,Itens marcados serão mostrado na área de trabalho
apps/frappe/frappe/core/doctype/doctype/doctype.py +715,{0} cannot be set for Single types,{0} não pode ser ajustada para os modelos únicos
apps/frappe/frappe/core/doctype/doctype/doctype.py +719,{0} cannot be set for Single types,{0} não pode ser ajustada para os modelos únicos
apps/frappe/frappe/public/js/frappe/views/kanban/kanban_board.js +858,Kanban Board {0} does not exist.,Painel Kanban {0} não existe. apps/frappe/frappe/public/js/frappe/views/kanban/kanban_board.js +858,Kanban Board {0} does not exist.,Painel Kanban {0} não existe.
apps/frappe/frappe/public/js/frappe/form/form_viewers.js +48,{0} are currently viewing this document,{0} está vendo atualmente este documento apps/frappe/frappe/public/js/frappe/form/form_viewers.js +48,{0} are currently viewing this document,{0} está vendo atualmente este documento
apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +151,{0} updated,{0} atualizado(a) apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +151,{0} updated,{0} atualizado(a)
apps/frappe/frappe/core/doctype/doctype/doctype.py +705,Report cannot be set for Single types,Relatório não pode ser ajustada para os modelos únicos
apps/frappe/frappe/core/doctype/doctype/doctype.py +709,Report cannot be set for Single types,Relatório não pode ser ajustada para os modelos únicos
DocType: Email Account,Awaiting Password,Aguardando Senha DocType: Email Account,Awaiting Password,Aguardando Senha
DocType: Address,Address Line 1,Endereço DocType: Address,Address Line 1,Endereço
apps/frappe/frappe/utils/data.py +441,Cent,Centavo apps/frappe/frappe/utils/data.py +441,Cent,Centavo
apps/frappe/frappe/config/setup.py +204,"States for workflow (e.g. Draft, Approved, Cancelled).","Status para o fluxo de trabalho (por exemplo, rascunho, aprovado, cancelado)." apps/frappe/frappe/config/setup.py +204,"States for workflow (e.g. Draft, Approved, Cancelled).","Status para o fluxo de trabalho (por exemplo, rascunho, aprovado, cancelado)."
DocType: Print Settings,Allow Print for Draft,Permitir impressão para rascunho DocType: Print Settings,Allow Print for Draft,Permitir impressão para rascunho
apps/frappe/frappe/public/js/legacy/form.js +357,Submit this document to confirm,Enviar este documento para confirmar
apps/frappe/frappe/public/js/legacy/form.js +338,Submit this document to confirm,Enviar este documento para confirmar
DocType: Contact,Unsubscribed,Inscrição Cancelada DocType: Contact,Unsubscribed,Inscrição Cancelada
apps/frappe/frappe/public/js/frappe/misc/rating_icons.html +2,Rating: ,Rating: apps/frappe/frappe/public/js/frappe/misc/rating_icons.html +2,Rating: ,Rating:
apps/frappe/frappe/website/js/web_form.js +259,Uploading files please wait for a few seconds.,"Fazendo upload de arquivos, por favor aguarde alguns segundos." apps/frappe/frappe/website/js/web_form.js +259,Uploading files please wait for a few seconds.,"Fazendo upload de arquivos, por favor aguarde alguns segundos."
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +497,Attach Your Picture,Anexe sua Imagem
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +509,Attach Your Picture,Anexe sua Imagem
apps/frappe/frappe/core/doctype/version/version_view.html +69,Row Values Changed,Valores das Linhas Mudaram apps/frappe/frappe/core/doctype/version/version_view.html +69,Row Values Changed,Valores das Linhas Mudaram
DocType: Workflow State,Stop,Parar DocType: Workflow State,Stop,Parar
DocType: Footer Item,Link to the page you want to open. Leave blank if you want to make it a group parent.,Link para a página que você deseja abrir. Deixe em branco se você quiser torná-lo um pai grupo. DocType: Footer Item,Link to the page you want to open. Leave blank if you want to make it a group parent.,Link para a página que você deseja abrir. Deixe em branco se você quiser torná-lo um pai grupo.
@@ -373,7 +372,7 @@ DocType: Blogger,User ID of a Blogger,ID do usuário de um Blogger
apps/frappe/frappe/core/doctype/user/user.py +287,There should remain at least one System Manager,Não deve permanecer pelo menos um gestor de sistema apps/frappe/frappe/core/doctype/user/user.py +287,There should remain at least one System Manager,Não deve permanecer pelo menos um gestor de sistema
DocType: Print Format,Align Labels to the Left,Alinhar etiquetas à esquerda DocType: Print Format,Align Labels to the Left,Alinhar etiquetas à esquerda
DocType: Workflow State,circle-arrow-right,círculo de seta à direita DocType: Workflow State,circle-arrow-right,círculo de seta à direita
apps/frappe/frappe/public/js/legacy/form.js +73,Cannot open instance when its {0} is open,"Não é possível abrir instância , quando o seu {0} é aberto"
apps/frappe/frappe/public/js/legacy/form.js +72,Cannot open instance when its {0} is open,"Não é possível abrir instância , quando o seu {0} é aberto"
apps/frappe/frappe/desk/page/applications/applications.py +79,Queued for install,Na fila para instalação apps/frappe/frappe/desk/page/applications/applications.py +79,Queued for install,Na fila para instalação
DocType: Newsletter,Send Unsubscribe Link,Enviar link para cancelar inscrição DocType: Newsletter,Send Unsubscribe Link,Enviar link para cancelar inscrição
DocType: Report,Script Report,Relatório Script DocType: Report,Script Report,Relatório Script
@@ -433,7 +432,7 @@ apps/frappe/frappe/core/page/data_import_tool/data_import_tool.js +213,Import Fa
DocType: Email Account,Auto Reply Message,Resposta Automática DocType: Email Account,Auto Reply Message,Resposta Automática
DocType: Contact,User ID,ID de Usuário DocType: Contact,User ID,ID de Usuário
DocType: File,Lft,LFT DocType: File,Lft,LFT
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +135,Open a module or tool,Abra um módulo ou ferramenta
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +138,Open a module or tool,Abra um módulo ou ferramenta
DocType: Communication,Delivery Status,Status da Entrega DocType: Communication,Delivery Status,Status da Entrega
DocType: Module Def,App Name,Nome do App DocType: Module Def,App Name,Nome do App
DocType: Workflow,"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Campo que representa o status da transação no fluxo de trabalho (se o campo não estiver presente, um novo campo oculto personalizado será criado)" DocType: Workflow,"Field that represents the Workflow State of the transaction (if field is not present, a new hidden Custom Field will be created)","Campo que representa o status da transação no fluxo de trabalho (se o campo não estiver presente, um novo campo oculto personalizado será criado)"
@@ -441,7 +440,7 @@ apps/frappe/frappe/utils/oauth.py +194,Email not verified with {1},Email não ve
DocType: Help Article,Knowledge Base Contributor,Colaborador da Base de Conhecimento DocType: Help Article,Knowledge Base Contributor,Colaborador da Base de Conhecimento
DocType: Communication,Sent Read Receipt,Enviar Confirmação de Leitura DocType: Communication,Sent Read Receipt,Enviar Confirmação de Leitura
DocType: Email Queue,Unsubscribe Method,Método de Cancelamento de Inscrição DocType: Email Queue,Unsubscribe Method,Método de Cancelamento de Inscrição
apps/frappe/frappe/public/js/frappe/views/communication.js +80,Select Languages,Selecionar Idiomas
apps/frappe/frappe/public/js/frappe/views/communication.js +79,Select Languages,Selecionar Idiomas
apps/frappe/frappe/integrations/doctype/razorpay_settings/razorpay_settings.py +78,Seems API Key or API Secret is wrong !!!,Parece que a chave API ou o segredo da API estão errados !!! apps/frappe/frappe/integrations/doctype/razorpay_settings/razorpay_settings.py +78,Seems API Key or API Secret is wrong !!!,Parece que a chave API ou o segredo da API estão errados !!!
DocType: File,Attached To Name,Anexado Para Nome DocType: File,Attached To Name,Anexado Para Nome
apps/frappe/frappe/email/receive.py +95,Invalid User Name or Support Password. Please rectify and try again.,"Nome de usuário ou senha inválidos. Por favor, corrigir e tentar novamente." apps/frappe/frappe/email/receive.py +95,Invalid User Name or Support Password. Please rectify and try again.,"Nome de usuário ou senha inválidos. Por favor, corrigir e tentar novamente."
@@ -454,7 +453,7 @@ DocType: Customize Form,Enter Form Type,Digite o Tipo de Formulário
apps/frappe/frappe/public/js/frappe/list/list_sidebar_stat.html +5,No records tagged.,Não há registros marcados. apps/frappe/frappe/public/js/frappe/list/list_sidebar_stat.html +5,No records tagged.,Não há registros marcados.
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +466,Remove Field,Remover Campo apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +466,Remove Field,Remover Campo
DocType: User,Send Password Update Notification,Enviar notificação de alteração de senha DocType: User,Send Password Update Notification,Enviar notificação de alteração de senha
apps/frappe/frappe/public/js/legacy/form.js +63,"Allowing DocType, DocType. Be careful!","Permitindo DocType , DocType . Tenha cuidado !"
apps/frappe/frappe/public/js/legacy/form.js +62,"Allowing DocType, DocType. Be careful!","Permitindo DocType , DocType . Tenha cuidado !"
apps/frappe/frappe/config/core.py +32,"Customized Formats for Printing, Email","Formatos personalizados para impressão, Email" apps/frappe/frappe/config/core.py +32,"Customized Formats for Printing, Email","Formatos personalizados para impressão, Email"
apps/frappe/frappe/public/js/frappe/desk.js +460,Updated To New Version,Atualizado para uma Nova Versão apps/frappe/frappe/public/js/frappe/desk.js +460,Updated To New Version,Atualizado para uma Nova Versão
DocType: Custom Field,Depends On,Depende de DocType: Custom Field,Depends On,Depende de
@@ -532,7 +531,7 @@ apps/frappe/frappe/desk/page/applications/applications.py +112,Downloading App {
DocType: Communication,Feedback Request,Solicitação de Feedback DocType: Communication,Feedback Request,Solicitação de Feedback
apps/frappe/frappe/www/login.html +30,Sign in,Entrar apps/frappe/frappe/www/login.html +30,Sign in,Entrar
DocType: System Settings,Backups,Backups DocType: System Settings,Backups,Backups
apps/frappe/frappe/public/js/frappe/form/layout.js +106,Hide Details,Ocultar Detalhes
apps/frappe/frappe/public/js/frappe/form/layout.js +133,Hide Details,Ocultar Detalhes
DocType: Workflow State,Tasks,Tarefas DocType: Workflow State,Tasks,Tarefas
DocType: Blog Settings,Blog Settings,Configurações do Blog DocType: Blog Settings,Blog Settings,Configurações do Blog
DocType: Workflow State,bullhorn,megafone DocType: Workflow State,bullhorn,megafone
@@ -545,9 +544,8 @@ DocType: Website Settings,Hide Footer Signup,Esconder Link de Inscrição do Rod
apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +421,cancelled this document,cancelou este documento apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +421,cancelled this document,cancelou este documento
apps/frappe/frappe/core/doctype/report/report.js +16,Write a Python file in the same folder where this is saved and return column and result.,Gravar um arquivo Python na mesma pasta onde este é guardado e coluna de retorno e resultado. apps/frappe/frappe/core/doctype/report/report.js +16,Write a Python file in the same folder where this is saved and return column and result.,Gravar um arquivo Python na mesma pasta onde este é guardado e coluna de retorno e resultado.
DocType: DocType,Sort Field,Ordenar por campo DocType: DocType,Sort Field,Ordenar por campo
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +424,Edit Filter,Edit Filter
apps/frappe/frappe/core/doctype/doctype/doctype.py +411,Field {0} of type {1} cannot be mandatory,O campo {0} do tipo {1} não pode ser obrigatória
DocType: System Settings,"eg. If Apply User Permissions is checked for Report DocType but no User Permissions are defined for Report for a User, then all Reports are shown to that User","por exemplo. Se aplicar permissões do usuário está marcada para o relatório DocType mas não permissões de usuário são definidos para o relatório para um usuário, em seguida, todos os relatórios são mostrados para que o Usuário"
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +445,Edit Filter,Edit Filter
apps/frappe/frappe/core/doctype/doctype/doctype.py +415,Field {0} of type {1} cannot be mandatory,O campo {0} do tipo {1} não pode ser obrigatória
DocType: System Settings,Session Expiry Mobile,Duração da Sessão Móvel DocType: System Settings,Session Expiry Mobile,Duração da Sessão Móvel
apps/frappe/frappe/templates/includes/search_box.html +19,Search results for,Pesquisar resultados para apps/frappe/frappe/templates/includes/search_box.html +19,Search results for,Pesquisar resultados para
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +850,Select To Download:,Selecione para Download: apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +850,Select To Download:,Selecione para Download:
@@ -591,7 +589,7 @@ apps/frappe/frappe/website/doctype/contact_us_settings/contact_us_settings.js +3
DocType: User,Block Modules,Módulos de blocos DocType: User,Block Modules,Módulos de blocos
apps/frappe/frappe/model/db_schema.py +141,Reverting length to {0} for '{1}' in '{2}'; Setting the length as {3} will cause truncation of data.,Revertendo comprimento para {0} para &#39;{1}&#39; em &#39;{2}&#39;; Definir o comprimento como {3} irá causar truncamento de dados. apps/frappe/frappe/model/db_schema.py +141,Reverting length to {0} for '{1}' in '{2}'; Setting the length as {3} will cause truncation of data.,Revertendo comprimento para {0} para &#39;{1}&#39; em &#39;{2}&#39;; Definir o comprimento como {3} irá causar truncamento de dados.
DocType: Print Format,Custom CSS,CSS Personalizado DocType: Print Format,Custom CSS,CSS Personalizado
apps/frappe/frappe/model/rename_doc.py +375,Ignored: {0} to {1},Ignorados: {0} para {1}
apps/frappe/frappe/model/rename_doc.py +376,Ignored: {0} to {1},Ignorados: {0} para {1}
apps/frappe/frappe/config/setup.py +84,Log of error on automated events (scheduler).,Log de erro sobre eventos automatizados ( programador ) . apps/frappe/frappe/config/setup.py +84,Log of error on automated events (scheduler).,Log de erro sobre eventos automatizados ( programador ) .
apps/frappe/frappe/utils/csvutils.py +75,Not a valid Comma Separated Value (CSV File),Não é um valor CSV válido (arquivo CSV) apps/frappe/frappe/utils/csvutils.py +75,Not a valid Comma Separated Value (CSV File),Não é um valor CSV válido (arquivo CSV)
DocType: Email Account,Default Incoming,Padrão de Entrada DocType: Email Account,Default Incoming,Padrão de Entrada
@@ -628,26 +626,27 @@ apps/frappe/frappe/core/page/user_permissions/user_permissions.js +251,If Docume
apps/frappe/frappe/email/doctype/auto_email_report/auto_email_report.py +48,"%s is not a valid report format. Report format should \ apps/frappe/frappe/email/doctype/auto_email_report/auto_email_report.py +48,"%s is not a valid report format. Report format should \
one of the following %s",%s não é um formato válido de relatório. O formato do relatório deve ser um dos seguintes %s one of the following %s",%s não é um formato válido de relatório. O formato do relatório deve ser um dos seguintes %s
DocType: Communication,Chat,Conversa ou Chat DocType: Communication,Chat,Conversa ou Chat
apps/frappe/frappe/core/doctype/doctype/doctype.py +407,Fieldname {0} appears multiple times in rows {1},Fieldname {0} aparece várias vezes em linhas {1}
apps/frappe/frappe/core/doctype/doctype/doctype.py +408,Fieldname {0} appears multiple times in rows {1},Fieldname {0} aparece várias vezes em linhas {1}
apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +460,{0} from {1} to {2} in row #{3},{0} de {1} para {2} na linha #{3} apps/frappe/frappe/public/js/frappe/form/footer/timeline.js +460,{0} from {1} to {2} in row #{3},{0} de {1} para {2} na linha #{3}
DocType: Customize Form Field,Number of columns for a field in a Grid (Total Columns in a grid should be less than 11),O número de colunas para um campo numa Grelha (O Total de Colunas em um grid deve ser inferior a 11)
apps/frappe/frappe/www/login.html +93,Have an account? Login,Possui cadastro? Entre apps/frappe/frappe/www/login.html +93,Have an account? Login,Possui cadastro? Entre
apps/frappe/frappe/public/js/legacy/print_format.js +148,Unknown Print Format: {0},Formato de Impressão desconhecido: {0} apps/frappe/frappe/public/js/legacy/print_format.js +148,Unknown Print Format: {0},Formato de Impressão desconhecido: {0}
DocType: Workflow State,arrow-down,seta para baixo DocType: Workflow State,arrow-down,seta para baixo
apps/frappe/frappe/public/js/frappe/ui/tree.js +130,Collapse,Recolher apps/frappe/frappe/public/js/frappe/ui/tree.js +130,Collapse,Recolher
apps/frappe/frappe/model/delete_doc.py +161,User not allowed to delete {0}: {1},Usuário não tem permissão para excluir {0}: {1}
apps/frappe/frappe/model/delete_doc.py +162,User not allowed to delete {0}: {1},Usuário não tem permissão para excluir {0}: {1}
apps/frappe/frappe/public/js/frappe/model/model.js +21,Last Updated On,Última atualização em apps/frappe/frappe/public/js/frappe/model/model.js +21,Last Updated On,Última atualização em
DocType: Help Article,Likes,Likes DocType: Help Article,Likes,Likes
DocType: Website Settings,Top Bar,Barra superior DocType: Website Settings,Top Bar,Barra superior
apps/frappe/frappe/core/page/modules_setup/modules_setup.html +32,Global Settings: Users will only be able to choose checked icons,Configurações Globais: Os Usuários serão capazes de escolher apenas ícones selecionados apps/frappe/frappe/core/page/modules_setup/modules_setup.html +32,Global Settings: Users will only be able to choose checked icons,Configurações Globais: Os Usuários serão capazes de escolher apenas ícones selecionados
apps/frappe/frappe/core/doctype/file/test_file.py +57,Home/Test Folder 2,Início / Teste pasta 2 apps/frappe/frappe/core/doctype/file/test_file.py +57,Home/Test Folder 2,Início / Teste pasta 2
DocType: System Settings,Ignore User Permissions If Missing,Ignorar permissões de usuário se ausente DocType: System Settings,Ignore User Permissions If Missing,Ignorar permissões de usuário se ausente
apps/frappe/frappe/public/js/frappe/form/control.js +1016,Please save the document before uploading.,"Por favor, salve o documento antes de fazer upload."
apps/frappe/frappe/public/js/frappe/form/control.js +990,Please save the document before uploading.,"Por favor, salve o documento antes de fazer upload."
apps/frappe/frappe/public/js/frappe/ui/messages.js +214,Enter your password,Digite sua senha apps/frappe/frappe/public/js/frappe/ui/messages.js +214,Enter your password,Digite sua senha
DocType: Dropbox Settings,Dropbox Access Secret,Segredo de Acesso Dropbox DocType: Dropbox Settings,Dropbox Access Secret,Segredo de Acesso Dropbox
apps/frappe/frappe/core/doctype/doctype/doctype.py +503,Fold must come before a Section Break,Dobre deve vir antes de uma quebra de secção
apps/frappe/frappe/core/doctype/doctype/doctype.py +507,Fold must come before a Section Break,Dobre deve vir antes de uma quebra de secção
apps/frappe/frappe/public/js/frappe/model/meta.js +190,Last Modified By,Última Alteração por apps/frappe/frappe/public/js/frappe/model/meta.js +190,Last Modified By,Última Alteração por
DocType: Workflow State,hand-down,mão abaixo DocType: Workflow State,hand-down,mão abaixo
apps/frappe/frappe/core/doctype/doctype/doctype.py +691,{0}: Cannot set Cancel without Submit,{0}: Não é possível definir Cancelar sem Submeter
apps/frappe/frappe/core/doctype/doctype/doctype.py +695,{0}: Cannot set Cancel without Submit,{0}: Não é possível definir Cancelar sem Submeter
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +162,There were errors.,Ocorreram erros. apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +162,There were errors.,Ocorreram erros.
DocType: DocType,Is Submittable,Pode ser Enviado DocType: DocType,Is Submittable,Pode ser Enviado
apps/frappe/frappe/core/page/data_import_tool/exporter.py +265,Column Labels:,Rótulos de coluna: apps/frappe/frappe/core/page/data_import_tool/exporter.py +265,Column Labels:,Rótulos de coluna:
@@ -658,7 +657,7 @@ DocType: Custom Script,Script,Script
apps/frappe/frappe/public/js/frappe/ui/toolbar/navbar.html +28,My Settings,Minhas Configurações apps/frappe/frappe/public/js/frappe/ui/toolbar/navbar.html +28,My Settings,Minhas Configurações
DocType: Desktop Icon,Force Show,Forçar Exibição DocType: Desktop Icon,Force Show,Forçar Exibição
apps/frappe/frappe/auth.py +78,Invalid Request,Requisição Inválida apps/frappe/frappe/auth.py +78,Invalid Request,Requisição Inválida
apps/frappe/frappe/public/js/frappe/form/layout.js +33,This form does not have any input,Este formulário não tem nenhum campo a ser preenchido
apps/frappe/frappe/public/js/frappe/form/layout.js +35,This form does not have any input,Este formulário não tem nenhum campo a ser preenchido
DocType: Footer Item,"Select target = ""_blank"" to open in a new page.","Select target = "" _blank"" para abrir em uma nova página." DocType: Footer Item,"Select target = ""_blank"" to open in a new page.","Select target = "" _blank"" para abrir em uma nova página."
apps/frappe/frappe/public/js/frappe/model/model.js +487,Permanently delete {0}?,Excluir Permanentemente {0} ? apps/frappe/frappe/public/js/frappe/model/model.js +487,Permanently delete {0}?,Excluir Permanentemente {0} ?
apps/frappe/frappe/desk/page/applications/applications.js +45,Not Set,Não Definido apps/frappe/frappe/desk/page/applications/applications.js +45,Not Set,Não Definido
@@ -667,7 +666,7 @@ apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +131,Sit tight while y
DocType: Email Queue,Email Queue,Fila de Emails DocType: Email Queue,Email Queue,Fila de Emails
apps/frappe/frappe/core/page/desktop/desktop.py +12,Add Employees to Manage Them,Adicione colaboradores para gerí-los apps/frappe/frappe/core/page/desktop/desktop.py +12,Add Employees to Manage Them,Adicione colaboradores para gerí-los
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +7,Roles can be set for users from their User page.,As funções podem ser definidas para os usuários através de sua página de Usuário. apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +7,Roles can be set for users from their User page.,As funções podem ser definidas para os usuários através de sua página de Usuário.
apps/frappe/frappe/core/doctype/doctype/doctype.py +655,{0}: No basic permissions set,{0}: Nenhum conjunto de permissões básico
apps/frappe/frappe/core/doctype/doctype/doctype.py +659,{0}: No basic permissions set,{0}: Nenhum conjunto de permissões básico
apps/frappe/frappe/utils/backups.py +159,Download link for your backup will be emailed on the following email address: {0},Link de download para o seu backup será enviado por email no seguinte endereço de email: {0} apps/frappe/frappe/utils/backups.py +159,Download link for your backup will be emailed on the following email address: {0},Link de download para o seu backup será enviado por email no seguinte endereço de email: {0}
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +14,"Meaning of Submit, Cancel, Amend","Significado de Enviar, Cancelar, Corrigir" apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +14,"Meaning of Submit, Cancel, Amend","Significado de Enviar, Cancelar, Corrigir"
apps/frappe/frappe/desk/doctype/todo/todo_list.js +7,To Do,Atribuições apps/frappe/frappe/desk/doctype/todo/todo_list.js +7,To Do,Atribuições
@@ -676,7 +675,7 @@ DocType: File,Preview HTML,Pré-visualização de HTML
apps/frappe/frappe/desk/doctype/todo/todo.py +20,Assigned to {0}: {1},Atribuído para {0}: {1} apps/frappe/frappe/desk/doctype/todo/todo.py +20,Assigned to {0}: {1},Atribuído para {0}: {1}
apps/frappe/frappe/public/js/frappe/views/kanban/kanban_board.js +129,Filters saved,Filtros salvos apps/frappe/frappe/public/js/frappe/views/kanban/kanban_board.js +129,Filters saved,Filtros salvos
DocType: DocField,Percent,Por cento DocType: DocField,Percent,Por cento
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +436,Please set filters,"Por favor, defina filtros"
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +435,Please set filters,"Por favor, defina filtros"
apps/frappe/frappe/public/js/frappe/form/linked_with.js +29,Linked With,Relacionado com apps/frappe/frappe/public/js/frappe/form/linked_with.js +29,Linked With,Relacionado com
DocType: Website Settings,Landing Page,Página de chegada DocType: Website Settings,Landing Page,Página de chegada
apps/frappe/frappe/public/js/frappe/form/quick_entry.js +77,{0} Name,{0} Nome apps/frappe/frappe/public/js/frappe/form/quick_entry.js +77,{0} Name,{0} Nome
@@ -691,10 +690,10 @@ apps/frappe/frappe/desk/page/applications/applications.js +175,Remove {0} and de
apps/frappe/frappe/desk/page/activity/activity_row.html +34,{0} {1} to {2},{0} {1} para {2} apps/frappe/frappe/desk/page/activity/activity_row.html +34,{0} {1} to {2},{0} {1} para {2}
DocType: User,Login After,Login após DocType: User,Login After,Login após
DocType: Print Format,Monospace,Monospace DocType: Print Format,Monospace,Monospace
apps/frappe/frappe/core/doctype/doctype/doctype.py +459,Precision should be between 1 and 6,Precisão deve estar entre 1 e 6
apps/frappe/frappe/core/doctype/doctype/doctype.py +463,Precision should be between 1 and 6,Precisão deve estar entre 1 e 6
apps/frappe/frappe/patches/v6_19/comment_feed_communication.py +131,Assignment,Tarefa apps/frappe/frappe/patches/v6_19/comment_feed_communication.py +131,Assignment,Tarefa
DocType: Workflow State,step-backward,voltar DocType: Workflow State,step-backward,voltar
apps/frappe/frappe/utils/boilerplate.py +262,{app_title},{app_title}
apps/frappe/frappe/utils/boilerplate.py +263,{app_title},{app_title}
apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +200,Please set Dropbox access keys in your site config,Defina teclas de acesso Dropbox em sua configuração local apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +200,Please set Dropbox access keys in your site config,Defina teclas de acesso Dropbox em sua configuração local
apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +16,Delete this record to allow sending to this email address,Excluir este registro para permitir o envio para esse endereço de email apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +16,Delete this record to allow sending to this email address,Excluir este registro para permitir o envio para esse endereço de email
apps/frappe/frappe/core/page/data_import_tool/exporter.py +66,Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,"Somente os campos obrigatórios são necessários para novos registros. Você pode excluir colunas não-obrigatórias, se desejar." apps/frappe/frappe/core/page/data_import_tool/exporter.py +66,Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish.,"Somente os campos obrigatórios são necessários para novos registros. Você pode excluir colunas não-obrigatórias, se desejar."
@@ -710,7 +709,7 @@ DocType: Custom DocPerm,Amend,Corrigir
DocType: File,Is Attachments Folder,É Pasta de Anexos DocType: File,Is Attachments Folder,É Pasta de Anexos
apps/frappe/frappe/templates/includes/login/login.js +49,Valid Login id required.,É necessário um usuário válido. apps/frappe/frappe/templates/includes/login/login.js +49,Valid Login id required.,É necessário um usuário válido.
apps/frappe/frappe/desk/doctype/todo/todo.js +30,Re-open,Abrir Novamente apps/frappe/frappe/desk/doctype/todo/todo.js +30,Re-open,Abrir Novamente
apps/frappe/frappe/model/rename_doc.py +359,Please select a valid csv file with data,"Por favor, selecione um arquivo csv com dados válidos"
apps/frappe/frappe/model/rename_doc.py +360,Please select a valid csv file with data,"Por favor, selecione um arquivo csv com dados válidos"
apps/frappe/frappe/core/doctype/docshare/docshare.py +56,{0} un-shared this document with {1},{0} descompartilhou este documento com {1} apps/frappe/frappe/core/doctype/docshare/docshare.py +56,{0} un-shared this document with {1},{0} descompartilhou este documento com {1}
apps/frappe/frappe/public/js/frappe/form/workflow.js +118,Document Status transition from {0} to {1} is not allowed,Transição Status do Documento de {0} para {1} não é permitido apps/frappe/frappe/public/js/frappe/form/workflow.js +118,Document Status transition from {0} to {1} is not allowed,Transição Status do Documento de {0} para {1} não é permitido
DocType: DocType,"Make ""name"" searchable in Global Search","Tornar ""nome"" pesquisável na Busca Global" DocType: DocType,"Make ""name"" searchable in Global Search","Tornar ""nome"" pesquisável na Busca Global"
@@ -720,7 +719,6 @@ apps/frappe/frappe/model/document.py +526,Record does not exist,Registro não ex
apps/frappe/frappe/core/doctype/version/version_view.html +13,Original Value,Valor Original apps/frappe/frappe/core/doctype/version/version_view.html +13,Original Value,Valor Original
apps/frappe/frappe/utils/oauth.py +288,User {0} is disabled,Usuário {0} está desativado apps/frappe/frappe/utils/oauth.py +288,User {0} is disabled,Usuário {0} está desativado
apps/frappe/frappe/www/404.html +8,Page missing or moved,Página ausente ou mudou apps/frappe/frappe/www/404.html +8,Page missing or moved,Página ausente ou mudou
apps/frappe/frappe/public/js/legacy/form.js +192,Edit {0} properties,Editar propriedades de {0}
apps/frappe/frappe/desk/form/load.py +46,Did not load,Não carregue apps/frappe/frappe/desk/form/load.py +46,Did not load,Não carregue
DocType: Tag Category,Doctypes,Doctypes DocType: Tag Category,Doctypes,Doctypes
apps/frappe/frappe/desk/query_report.py +87,Query must be a SELECT,Consulta deve ser um SELECT apps/frappe/frappe/desk/query_report.py +87,Query must be a SELECT,Consulta deve ser um SELECT
@@ -746,7 +744,7 @@ apps/frappe/frappe/integrations/doctype/ldap_settings/ldap_settings.py +32,Incor
apps/frappe/frappe/email/doctype/email_account/email_account_list.js +6,Default Sending and Inbox,Padrão para Envio e Recebimento apps/frappe/frappe/email/doctype/email_account/email_account_list.js +6,Default Sending and Inbox,Padrão para Envio e Recebimento
apps/frappe/frappe/core/doctype/file/file_list.js +84,Import .zip,Importar .zip apps/frappe/frappe/core/doctype/file/file_list.js +84,Import .zip,Importar .zip
apps/frappe/frappe/core/report/feedback_ratings/feedback_ratings.js +21,Document ID,ID do Documento apps/frappe/frappe/core/report/feedback_ratings/feedback_ratings.js +21,Document ID,ID do Documento
apps/frappe/frappe/core/doctype/doctype/doctype.py +552,Image field must be of type Attach Image,Campo de imagem deve ser do tipo Anexar Imagem
apps/frappe/frappe/core/doctype/doctype/doctype.py +556,Image field must be of type Attach Image,Campo de imagem deve ser do tipo Anexar Imagem
apps/frappe/frappe/public/js/frappe/form/save.js +141,Mandatory fields required in {0},Os campos obrigatórios exigidos no {0} apps/frappe/frappe/public/js/frappe/form/save.js +141,Mandatory fields required in {0},Os campos obrigatórios exigidos no {0}
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +95,Reset Permissions for {0}?,Repor permissões para {0} ? apps/frappe/frappe/core/page/permission_manager/permission_manager.js +95,Reset Permissions for {0}?,Repor permissões para {0} ?
apps/frappe/frappe/core/doctype/version/version_view.html +32,Rows Removed,Linhas Excluídas apps/frappe/frappe/core/doctype/version/version_view.html +32,Rows Removed,Linhas Excluídas
@@ -773,7 +771,7 @@ DocType: Customize Form,"Fields separated by comma (,) will be included in the "
apps/frappe/frappe/website/doctype/website_theme/website_theme.py +35,Please Duplicate this Website Theme to customize.,Por favor Duplicar este site Tema para personalizar. apps/frappe/frappe/website/doctype/website_theme/website_theme.py +35,Please Duplicate this Website Theme to customize.,Por favor Duplicar este site Tema para personalizar.
apps/frappe/frappe/config/website.py +73,Settings for About Us Page.,Configurações para a Página Sobre Nós. apps/frappe/frappe/config/website.py +73,Settings for About Us Page.,Configurações para a Página Sobre Nós.
DocType: Error Snapshot,Error Snapshot,Snapshot de Erro DocType: Error Snapshot,Error Snapshot,Snapshot de Erro
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +460,In,em
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +479,In,em
DocType: Email Alert,Value Change,Mudança de Valor DocType: Email Alert,Value Change,Mudança de Valor
DocType: Standard Reply,Standard Reply,Resposta Padrão DocType: Standard Reply,Standard Reply,Resposta Padrão
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +233,Width of the input box,Largura de entrada da caixa apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +233,Width of the input box,Largura de entrada da caixa
@@ -784,9 +782,9 @@ apps/frappe/frappe/desk/doctype/bulk_update/bulk_update.js +8,"Field ""value"" i
DocType: Customize Form,Use this fieldname to generate title,Utilize este campo para gerar o título DocType: Customize Form,Use this fieldname to generate title,Utilize este campo para gerar o título
apps/frappe/frappe/email/doctype/email_group/email_group.js +13,Import Email From,Importar Email do apps/frappe/frappe/email/doctype/email_group/email_group.js +13,Import Email From,Importar Email do
apps/frappe/frappe/contacts/doctype/contact/contact.js +20,Invite as User,Convidar como Usuário apps/frappe/frappe/contacts/doctype/contact/contact.js +20,Invite as User,Convidar como Usuário
apps/frappe/frappe/public/js/frappe/views/communication.js +83,Select Attachments,Selecione os Anexos
apps/frappe/frappe/public/js/frappe/views/communication.js +82,Select Attachments,Selecione os Anexos
apps/frappe/frappe/website/js/web_form.js +293,There were errors. Please report this.,"Houveram erros. Por favor, reporte isso." apps/frappe/frappe/website/js/web_form.js +293,There were errors. Please report this.,"Houveram erros. Por favor, reporte isso."
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +380,Loading Report,Carregando Relatório
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +379,Loading Report,Carregando Relatório
apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +46,Attach File,Anexar Arquivo apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +46,Attach File,Anexar Arquivo
apps/frappe/frappe/templates/emails/password_update.html +1,Password Update Notification,Notificação de Atualização de Senha apps/frappe/frappe/templates/emails/password_update.html +1,Password Update Notification,Notificação de Atualização de Senha
apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +59,Assignment Complete,Atribuição Concluída apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +59,Assignment Complete,Atribuição Concluída
@@ -800,7 +798,7 @@ DocType: Custom Field,Default Value,Valor padrão
DocType: Workflow Document State,Update Field,Atualizar Campo DocType: Workflow Document State,Update Field,Atualizar Campo
apps/frappe/frappe/desk/page/applications/applications.js +50,Regional Extensions,Extensões regionais apps/frappe/frappe/desk/page/applications/applications.js +50,Regional Extensions,Extensões regionais
apps/frappe/frappe/core/doctype/communication/email.py +143,Leave this conversation,Deixar essa conversa apps/frappe/frappe/core/doctype/communication/email.py +143,Leave this conversation,Deixar essa conversa
apps/frappe/frappe/model/base_document.py +466,Options not set for link field {0},Opções não definida para o campo link {0}
apps/frappe/frappe/model/base_document.py +465,Options not set for link field {0},Opções não definida para o campo link {0}
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +25,Unselect All,Desmarcar Todos apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +25,Unselect All,Desmarcar Todos
apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +197,You cannot unset 'Read Only' for field {0},"Você não pode desabilitar ""Somente leitura"" para o campo {0}" apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +197,You cannot unset 'Read Only' for field {0},"Você não pode desabilitar ""Somente leitura"" para o campo {0}"
apps/frappe/frappe/core/page/data_import_tool/exporter.py +62,Please do not change the template headings.,"Por favor, não alterar as posições do modelo." apps/frappe/frappe/core/page/data_import_tool/exporter.py +62,Please do not change the template headings.,"Por favor, não alterar as posições do modelo."
@@ -824,7 +822,7 @@ DocType: Authentication Log,Logout,Sair
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +26,Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles.,As permissões em níveis mais elevados são permissões igualdade. Todos os campos têm um conjunto Nível de Permissão contra eles e as regras definidas em que as permissões se aplicam ao campo. Isso é útil no caso de você querer esconder ou fazer determinado campo somente leitura para certas funções. apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +26,Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles.,As permissões em níveis mais elevados são permissões igualdade. Todos os campos têm um conjunto Nível de Permissão contra eles e as regras definidas em que as permissões se aplicam ao campo. Isso é útil no caso de você querer esconder ou fazer determinado campo somente leitura para certas funções.
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +38,"If these instructions where not helpful, please add in your suggestions on GitHub Issues.","Se estas instruções não forem úteis, dê sua sugestão no GitHub." apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +38,"If these instructions where not helpful, please add in your suggestions on GitHub Issues.","Se estas instruções não forem úteis, dê sua sugestão no GitHub."
apps/frappe/frappe/core/doctype/error_snapshot/error_snapshot.html +32,Error Report,Reportar erro apps/frappe/frappe/core/doctype/error_snapshot/error_snapshot.html +32,Error Report,Reportar erro
apps/frappe/frappe/model/base_document.py +535,Row #{0}:,Linha # {0}:
apps/frappe/frappe/model/base_document.py +534,Row #{0}:,Linha # {0}:
apps/frappe/frappe/auth.py +245,Login not allowed at this time,Entrada não permitida neste momento apps/frappe/frappe/auth.py +245,Login not allowed at this time,Entrada não permitida neste momento
DocType: Async Task,Runtime,Runtime DocType: Async Task,Runtime,Runtime
DocType: DocType,Permissions Settings,Configurações de Permissões DocType: DocType,Permissions Settings,Configurações de Permissões
@@ -840,7 +838,7 @@ DocType: DocField,Text,Texto
apps/frappe/frappe/config/setup.py +161,Standard replies to common queries.,Repostas padrões para perguntas comuns. apps/frappe/frappe/config/setup.py +161,Standard replies to common queries.,Repostas padrões para perguntas comuns.
apps/frappe/frappe/email/doctype/email_account/email_account_list.js +14,Default Sending,Padrão Envio apps/frappe/frappe/email/doctype/email_account/email_account_list.js +14,Default Sending,Padrão Envio
DocType: Workflow State,volume-off,mudo DocType: Workflow State,volume-off,mudo
apps/frappe/frappe/public/js/frappe/form/footer/timeline_item.html +160,Liked by {0},Aprovado por {0}
apps/frappe/frappe/public/js/frappe/form/footer/timeline_item.html +161,Liked by {0},Aprovado por {0}
,Download Backups,Download de Backups ,Download Backups,Download de Backups
apps/frappe/frappe/core/doctype/file/test_file.py +43,Home/Test Folder 1,Início / Teste pasta 1 apps/frappe/frappe/core/doctype/file/test_file.py +43,Home/Test Folder 1,Início / Teste pasta 1
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +75,"Do not update, but insert new records.","Não atualizar, mas inserir novos registros." apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +75,"Do not update, but insert new records.","Não atualizar, mas inserir novos registros."
@@ -895,11 +893,11 @@ apps/frappe/frappe/core/doctype/doctype/doctype.py +377,"DocType's name should s
DocType: Address,Accounts User,Usuário de Contas DocType: Address,Accounts User,Usuário de Contas
DocType: Web Page,HTML for header section. Optional,HTML para a seção de cabeçalho. opcional DocType: Web Page,HTML for header section. Optional,HTML para a seção de cabeçalho. opcional
apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +13,This feature is brand new and still experimental,Esta funcionalidade é nova e ainda está em fase experimental apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +13,This feature is brand new and still experimental,Esta funcionalidade é nova e ainda está em fase experimental
apps/frappe/frappe/model/rename_doc.py +364,Maximum {0} rows allowed,Máximo de {0} linhas permitido
apps/frappe/frappe/model/rename_doc.py +365,Maximum {0} rows allowed,Máximo de {0} linhas permitido
DocType: Email Unsubscribe,Global Unsubscribe,Mundial Unsubscribe DocType: Email Unsubscribe,Global Unsubscribe,Mundial Unsubscribe
apps/frappe/frappe/utils/password_strength.py +157,This is a very common password.,Essa é uma senha muito comum. apps/frappe/frappe/utils/password_strength.py +157,This is a very common password.,Essa é uma senha muito comum.
apps/frappe/frappe/email/doctype/email_group/email_group.js +9,View,Ver apps/frappe/frappe/email/doctype/email_group/email_group.js +9,View,Ver
apps/frappe/frappe/public/js/frappe/views/communication.js +78,Select Print Format,Selecione o Formato de Impressão
apps/frappe/frappe/public/js/frappe/views/communication.js +77,Select Print Format,Selecione o Formato de Impressão
DocType: Portal Settings,Portal Menu,Portal menu DocType: Portal Settings,Portal Menu,Portal menu
apps/frappe/frappe/public/js/frappe/ui/toolbar/search.js +356,Search for anything,Procurar por qualquer coisa apps/frappe/frappe/public/js/frappe/ui/toolbar/search.js +356,Search for anything,Procurar por qualquer coisa
DocType: DocField,Print Hide,Ocultar Impressão DocType: DocField,Print Hide,Ocultar Impressão
@@ -928,11 +926,11 @@ DocType: Error Snapshot,Snapshot View,Ver Snapshot
apps/frappe/frappe/email/doctype/newsletter/newsletter.py +100,Please save the Newsletter before sending,"Por favor, salve o Boletim Informativo antes de enviar" apps/frappe/frappe/email/doctype/newsletter/newsletter.py +100,Please save the Newsletter before sending,"Por favor, salve o Boletim Informativo antes de enviar"
DocType: Patch Log,List of patches executed,Lista de correções executado DocType: Patch Log,List of patches executed,Lista de correções executado
apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +21,{0} already unsubscribed,{0} já teve sua inscrição removida apps/frappe/frappe/email/doctype/email_unsubscribe/email_unsubscribe.py +21,{0} already unsubscribed,{0} já teve sua inscrição removida
apps/frappe/frappe/public/js/frappe/views/communication.js +70,Communication Medium,Meio de comunicação
apps/frappe/frappe/public/js/frappe/views/communication.js +69,Communication Medium,Meio de comunicação
DocType: Website Settings,Banner HTML,Faixa HTML DocType: Website Settings,Banner HTML,Faixa HTML
apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +29,Queued for backup. It may take a few minutes to an hour.,Na fila para backup em até uma hora. apps/frappe/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +29,Queued for backup. It may take a few minutes to an hour.,Na fila para backup em até uma hora.
apps/frappe/frappe/config/integrations.py +53,Register OAuth Client App,Registrar App OAuth Cliente apps/frappe/frappe/config/integrations.py +53,Register OAuth Client App,Registrar App OAuth Cliente
apps/frappe/frappe/model/base_document.py +539,"{0} {1} cannot be ""{2}"". It should be one of ""{3}""","{0} {1} não pode ser ""{2}"". Deve pertencer a ""{3}"""
apps/frappe/frappe/model/base_document.py +538,"{0} {1} cannot be ""{2}"". It should be one of ""{3}""","{0} {1} não pode ser ""{2}"". Deve pertencer a ""{3}"""
apps/frappe/frappe/core/page/modules_setup/modules_setup.js +4,Show or Hide Desktop Icons,Mostrar ou ocultar ícones no desktop apps/frappe/frappe/core/page/modules_setup/modules_setup.js +4,Show or Hide Desktop Icons,Mostrar ou ocultar ícones no desktop
apps/frappe/frappe/core/doctype/user/user.py +231,Password Update,Atualização de Senha apps/frappe/frappe/core/doctype/user/user.py +231,Password Update,Atualização de Senha
DocType: Workflow State,trash,lixo DocType: Workflow State,trash,lixo
@@ -966,11 +964,11 @@ apps/frappe/frappe/core/page/user_permissions/user_permissions.py +106,Please up
apps/frappe/frappe/modules/utils.py +202,App not found,App não encontrado apps/frappe/frappe/modules/utils.py +202,App not found,App não encontrado
apps/frappe/frappe/core/doctype/communication/communication.py +52,Cannot create a {0} against a child document: {1},Não é possível criar um {0} contra um documento filho: {1} apps/frappe/frappe/core/doctype/communication/communication.py +52,Cannot create a {0} against a child document: {1},Não é possível criar um {0} contra um documento filho: {1}
apps/frappe/frappe/config/desk.py +32,Chat messages and other notifications.,Mensagens do chat e outras notificações. apps/frappe/frappe/config/desk.py +32,Chat messages and other notifications.,Mensagens do chat e outras notificações.
apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +72,Insert After cannot be set as {0},Depois de inserir não pode ser definido como {0}
apps/frappe/frappe/custom/doctype/custom_field/custom_field.py +76,Insert After cannot be set as {0},Depois de inserir não pode ser definido como {0}
apps/frappe/frappe/public/js/frappe/desk.js +134,Email Account setup please enter your password for: ,"Configuração de email, por favor informe sua senha para:" apps/frappe/frappe/public/js/frappe/desk.js +134,Email Account setup please enter your password for: ,"Configuração de email, por favor informe sua senha para:"
DocType: Workflow State,hand-up,mão acima DocType: Workflow State,hand-up,mão acima
DocType: Blog Settings,Writers Introduction,Introdução dos Escritores DocType: Blog Settings,Writers Introduction,Introdução dos Escritores
apps/frappe/frappe/email/doctype/email_alert/email_alert.py +239,Error while evaluating Email Alert {0}. Please fix your template.,Erro ao avaliar Email de Alerta {0}. Corrija seu modelo.
apps/frappe/frappe/email/doctype/email_alert/email_alert.py +244,Error while evaluating Email Alert {0}. Please fix your template.,Erro ao avaliar Email de Alerta {0}. Corrija seu modelo.
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +140,Select Document Type or Role to start.,Selecione o Tipo de Documento ou Função para começar. apps/frappe/frappe/core/page/permission_manager/permission_manager.js +140,Select Document Type or Role to start.,Selecione o Tipo de Documento ou Função para começar.
DocType: Contact,Passive,Sem movimento DocType: Contact,Passive,Sem movimento
DocType: Contact,Accounts Manager,Gerente de Contas DocType: Contact,Accounts Manager,Gerente de Contas
@@ -1002,7 +1000,7 @@ DocType: Currency,"How should this currency be formatted? If not set, will use s
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +252,Show User Permissions,Mostrar Permissões de Usuário apps/frappe/frappe/core/page/permission_manager/permission_manager.js +252,Show User Permissions,Mostrar Permissões de Usuário
apps/frappe/frappe/utils/response.py +134,You need to be logged in and have System Manager Role to be able to access backups.,Você precisa estar conectado e ter permissão para ser capaz de acessar backups. apps/frappe/frappe/utils/response.py +134,You need to be logged in and have System Manager Role to be able to access backups.,Você precisa estar conectado e ter permissão para ser capaz de acessar backups.
apps/frappe/frappe/core/page/usage_info/usage_info.html +22,Remaining,Remanescente apps/frappe/frappe/core/page/usage_info/usage_info.html +22,Remaining,Remanescente
apps/frappe/frappe/public/js/legacy/form.js +139,Please save before attaching.,"Por favor, salve antes de anexar."
apps/frappe/frappe/public/js/legacy/form.js +137,Please save before attaching.,"Por favor, salve antes de anexar."
apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +319,Fieldtype cannot be changed from {0} to {1} in row {2},FieldType não pode ser alterado a partir de {0} a {1} em linha {2} apps/frappe/frappe/custom/doctype/customize_form/customize_form.py +319,Fieldtype cannot be changed from {0} to {1} in row {2},FieldType não pode ser alterado a partir de {0} a {1} em linha {2}
apps/frappe/frappe/public/js/frappe/form/workflow.js +41,Workflow will start after saving.,Fluxo de trabalho será iníciado após salvar. apps/frappe/frappe/public/js/frappe/form/workflow.js +41,Workflow will start after saving.,Fluxo de trabalho será iníciado após salvar.
apps/frappe/frappe/public/js/frappe/form/templates/set_sharing.html +7,Can Share,Pode Compartilhar apps/frappe/frappe/public/js/frappe/form/templates/set_sharing.html +7,Can Share,Pode Compartilhar
@@ -1011,7 +1009,7 @@ DocType: Workflow State,step-forward,prosseguir
apps/frappe/frappe/core/doctype/user/user.js +42,Refreshing...,Atualizando... apps/frappe/frappe/core/doctype/user/user.js +42,Refreshing...,Atualizando...
DocType: System Settings,System Settings,Configurações do Sistema DocType: System Settings,System Settings,Configurações do Sistema
apps/frappe/frappe/email/queue.py +454,This email was sent to {0} and copied to {1},Este email foi enviado para {0} e copiados para {1} apps/frappe/frappe/email/queue.py +454,This email was sent to {0} and copied to {1},Este email foi enviado para {0} e copiados para {1}
apps/frappe/frappe/public/js/frappe/form/control.js +1470,Create a new {0},Criar um(a) novo(a) {0}
apps/frappe/frappe/public/js/frappe/form/control.js +1432,Create a new {0},Criar um(a) novo(a) {0}
DocType: Workflow State,ok-sign,ok-sinal DocType: Workflow State,ok-sign,ok-sinal
DocType: Newsletter,Create and Send Newsletters,Criar e enviar email marketing DocType: Newsletter,Create and Send Newsletters,Criar e enviar email marketing
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +309,From Date must be before To Date,A data inicial deve ser anterior a data final apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +309,From Date must be before To Date,A data inicial deve ser anterior a data final
@@ -1043,13 +1041,13 @@ DocType: Feedback Trigger,Email Field,Campo do Email
apps/frappe/frappe/core/doctype/docshare/docshare.py +49,{0} shared this document with {1},{0} compartilhou este documento com {1} apps/frappe/frappe/core/doctype/docshare/docshare.py +49,{0} shared this document with {1},{0} compartilhou este documento com {1}
DocType: Website Settings,Brand Image,Imagem da Marca DocType: Website Settings,Brand Image,Imagem da Marca
apps/frappe/frappe/config/website.py +58,"Setup of top navigation bar, footer and logo.","Configuração de barra de navegação do topo, rodapé, e logotipo." apps/frappe/frappe/config/website.py +58,"Setup of top navigation bar, footer and logo.","Configuração de barra de navegação do topo, rodapé, e logotipo."
apps/frappe/frappe/core/doctype/doctype/doctype.py +651,For {0} at level {1} in {2} in row {3},Por {0} a nível {1} em {2} na linha {3}
apps/frappe/frappe/core/doctype/doctype/doctype.py +655,For {0} at level {1} in {2} in row {3},Por {0} a nível {1} em {2} na linha {3}
DocType: Address,Sales User,Usuário de Vendas DocType: Address,Sales User,Usuário de Vendas
apps/frappe/frappe/config/setup.py +178,Drag and Drop tool to build and customize Print Formats.,Ferramenta de segure e arraste para construir e personalizar formatos de impressão. apps/frappe/frappe/config/setup.py +178,Drag and Drop tool to build and customize Print Formats.,Ferramenta de segure e arraste para construir e personalizar formatos de impressão.
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +434,Set,Conjunto apps/frappe/frappe/core/page/permission_manager/permission_manager.js +434,Set,Conjunto
DocType: Workflow State,align-right,Alinhar à direita DocType: Workflow State,align-right,Alinhar à direita
apps/frappe/frappe/core/doctype/file/file.py +211,Folder {0} is not empty,Pasta {0} não está vazio apps/frappe/frappe/core/doctype/file/file.py +211,Folder {0} is not empty,Pasta {0} não está vazio
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +269,Field {0} is not selectable.,O campo {0} não é selecionável.
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +286,Field {0} is not selectable.,O campo {0} não é selecionável.
DocType: System Settings,Session Expiry,Duração da Sessão DocType: System Settings,Session Expiry,Duração da Sessão
DocType: Bulk Update,Desk,Mesa DocType: Bulk Update,Desk,Mesa
apps/frappe/frappe/core/doctype/report/report.js +8,Write a SELECT query. Note result is not paged (all data is sent in one go).,Escreva uma consulta SELECT. Resultado nota não é paginada (todos os dados são enviados de uma só vez). apps/frappe/frappe/core/doctype/report/report.js +8,Write a SELECT query. Note result is not paged (all data is sent in one go).,Escreva uma consulta SELECT. Resultado nota não é paginada (todos os dados são enviados de uma só vez).
@@ -1057,7 +1055,7 @@ apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +131,Setup Auto
apps/frappe/frappe/public/js/frappe/form/templates/grid_form.html +25,Ctrl + Down,Ctrl + Seta para baixo apps/frappe/frappe/public/js/frappe/form/templates/grid_form.html +25,Ctrl + Down,Ctrl + Seta para baixo
apps/frappe/frappe/utils/password_strength.py +153,This is a top-10 common password.,Essa é uma das 10 senhas mais comuns.. apps/frappe/frappe/utils/password_strength.py +153,This is a top-10 common password.,Essa é uma das 10 senhas mais comuns..
DocType: Workflow State,chevron-down,divisa-abaixo DocType: Workflow State,chevron-down,divisa-abaixo
apps/frappe/frappe/public/js/frappe/views/communication.js +494,Email not sent to {0} (unsubscribed / disabled),Email não enviado para {0} (inscrição cancelada / desativado)
apps/frappe/frappe/public/js/frappe/views/communication.js +495,Email not sent to {0} (unsubscribed / disabled),Email não enviado para {0} (inscrição cancelada / desativado)
DocType: Currency,Smallest Currency Fraction Value,Menor valor fracionado de moeda DocType: Currency,Smallest Currency Fraction Value,Menor valor fracionado de moeda
apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +137,Assign To,Atribuir a apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +137,Assign To,Atribuir a
DocType: Web Page,Enable Comments,Ativação de comentários DocType: Web Page,Enable Comments,Ativação de comentários
@@ -1065,18 +1063,18 @@ DocType: User,Restrict user from this IP address only. Multiple IP addresses can
DocType: Website Theme,Google Font (Heading),Fonte do Google (cabeçalho) DocType: Website Theme,Google Font (Heading),Fonte do Google (cabeçalho)
apps/frappe/frappe/public/js/frappe/views/treeview.js +204,Select a group node first.,Selecione um nó de grupo primeiro. apps/frappe/frappe/public/js/frappe/views/treeview.js +204,Select a group node first.,Selecione um nó de grupo primeiro.
DocType: Email Account,"Append as communication against this DocType (must have fields, ""Status"", ""Subject"")","Anexar como a comunicação contra este DocType (deve ter campos, ""status"", ""Assunto"")" DocType: Email Account,"Append as communication against this DocType (must have fields, ""Status"", ""Subject"")","Anexar como a comunicação contra este DocType (deve ter campos, ""status"", ""Assunto"")"
apps/frappe/frappe/model/base_document.py +602,Not allowed to change {0} after submission,Não é permitido alterar {0} após a apresentação
apps/frappe/frappe/model/base_document.py +601,Not allowed to change {0} after submission,Não é permitido alterar {0} após a apresentação
apps/frappe/frappe/core/page/usage_info/usage_info.html +10,Users,Usuários apps/frappe/frappe/core/page/usage_info/usage_info.html +10,Users,Usuários
DocType: Communication,Timeline field Name,Nome do campo da timeline DocType: Communication,Timeline field Name,Nome do campo da timeline
apps/frappe/frappe/core/page/permission_manager/permission_manager.js +136,Loading,Carregando apps/frappe/frappe/core/page/permission_manager/permission_manager.js +136,Loading,Carregando
apps/frappe/frappe/config/integrations.py +43,"Enter keys to enable login via Facebook, Google, GitHub.","Enter para ativar o login via Facebook , Google, GitHub ." apps/frappe/frappe/config/integrations.py +43,"Enter keys to enable login via Facebook, Google, GitHub.","Enter para ativar o login via Facebook , Google, GitHub ."
apps/frappe/frappe/public/js/frappe/ui/tags.js +20,Add a tag,Inclua uma etiqueta apps/frappe/frappe/public/js/frappe/ui/tags.js +20,Add a tag,Inclua uma etiqueta
apps/frappe/frappe/public/js/frappe/form/control.js +1284,Please attach a file first.,"Por favor, anexar um arquivo primeiro"
apps/frappe/frappe/public/js/frappe/form/control.js +1250,Please attach a file first.,"Por favor, anexar um arquivo primeiro"
DocType: Website Slideshow Item,Website Slideshow Item,Item do Slideshow do Site DocType: Website Slideshow Item,Website Slideshow Item,Item do Slideshow do Site
DocType: Portal Settings,Default Role at Time of Signup,Função padrão no momento da inscrição DocType: Portal Settings,Default Role at Time of Signup,Função padrão no momento da inscrição
DocType: DocType,Title Case,Caixa do Título DocType: DocType,Title Case,Caixa do Título
DocType: Blog Post,Email Sent,Email enviado DocType: Blog Post,Email Sent,Email enviado
apps/frappe/frappe/public/js/frappe/views/communication.js +64,Send As Email,Enviar como email
apps/frappe/frappe/public/js/frappe/views/communication.js +63,Send As Email,Enviar como email
DocType: Website Theme,Link Color,Cor do link DocType: Website Theme,Link Color,Cor do link
apps/frappe/frappe/core/doctype/user/user.py +99,User {0} cannot be disabled,O usuário {0} não pode ser desativado apps/frappe/frappe/core/doctype/user/user.py +99,User {0} cannot be disabled,O usuário {0} não pode ser desativado
apps/frappe/frappe/core/doctype/user/user.py +866,"Dear System Manager,","Caro Administrador de Sistemas," apps/frappe/frappe/core/doctype/user/user.py +866,"Dear System Manager,","Caro Administrador de Sistemas,"
@@ -1090,7 +1088,7 @@ DocType: Workflow State,file,arquivo
apps/frappe/frappe/www/login.html +108,Back to Login,Voltar para Login apps/frappe/frappe/www/login.html +108,Back to Login,Voltar para Login
DocType: File,File Size,Tamanho do arquivo DocType: File,File Size,Tamanho do arquivo
apps/frappe/frappe/website/doctype/web_form/web_form.py +399,You must login to submit this form,Você precisa estar logado para enviar este formulário apps/frappe/frappe/website/doctype/web_form/web_form.py +399,You must login to submit this form,Você precisa estar logado para enviar este formulário
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +463,"Select your Country, Time Zone and Currency","Escolha o seu País, Fuso Horário e Moeda"
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +475,"Select your Country, Time Zone and Currency","Escolha o seu País, Fuso Horário e Moeda"
DocType: Async Task,Queued,Enfileiradas DocType: Async Task,Queued,Enfileiradas
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +204,Invalid Filter: {0},Filtro inválido: {0} apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +204,Invalid Filter: {0},Filtro inválido: {0}
DocType: OAuth Bearer Token,Access Token,Token de Acesso DocType: OAuth Bearer Token,Access Token,Token de Acesso
@@ -1115,7 +1113,7 @@ DocType: Contact,Maintenance Manager,Gerente de Manutenção
DocType: Website Theme,Top Bar Text Color,Cor do texto da barra superior DocType: Website Theme,Top Bar Text Color,Cor do texto da barra superior
apps/frappe/frappe/core/doctype/file/file.py +370,File '{0}' not found,Arquivo &#39;{0}&#39; não encontrado apps/frappe/frappe/core/doctype/file/file.py +370,File '{0}' not found,Arquivo &#39;{0}&#39; não encontrado
DocType: User,Change Password,Alterar a senha DocType: User,Change Password,Alterar a senha
apps/frappe/frappe/public/js/frappe/form/control.js +509,Invalid Email: {0},Email inválido: {0}
apps/frappe/frappe/public/js/frappe/form/control.js +498,Invalid Email: {0},Email inválido: {0}
apps/frappe/frappe/desk/doctype/event/event.py +23,Event end must be after start,Evento final deve ser após o início apps/frappe/frappe/desk/doctype/event/event.py +23,Event end must be after start,Evento final deve ser após o início
apps/frappe/frappe/desk/query_report.py +23,You don't have permission to get a report on: {0},Você não tem permissão para acessar um relatório sobre: {0} apps/frappe/frappe/desk/query_report.py +23,You don't have permission to get a report on: {0},Você não tem permissão para acessar um relatório sobre: {0}
DocType: Blog Post,Blog Post,Mensagem do Blog DocType: Blog Post,Blog Post,Mensagem do Blog
@@ -1131,7 +1129,7 @@ apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +18
DocType: Workflow State,circle-arrow-left,círculo de seta para a esquerda DocType: Workflow State,circle-arrow-left,círculo de seta para a esquerda
apps/frappe/frappe/sessions.py +156,Redis cache server not running. Please contact Administrator / Tech support,Servidor de cache Redis não está funcionando. Entre em contato com o Administrador de apoio / Tecnologia apps/frappe/frappe/sessions.py +156,Redis cache server not running. Please contact Administrator / Tech support,Servidor de cache Redis não está funcionando. Entre em contato com o Administrador de apoio / Tecnologia
apps/frappe/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.js +23,Party Name,Nome do Sujeito apps/frappe/frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.js +23,Party Name,Nome do Sujeito
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +129,Make a new record,Criar um novo registro
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +132,Make a new record,Criar um novo registro
DocType: LDAP Settings,LDAP First Name Field,Campo Primeiro Nome do LDAP DocType: LDAP Settings,LDAP First Name Field,Campo Primeiro Nome do LDAP
DocType: Custom Field,Field Description,Descrição do Campo DocType: Custom Field,Field Description,Descrição do Campo
apps/frappe/frappe/model/naming.py +53,Name not set via Prompt,Nome não definido através Prompt apps/frappe/frappe/model/naming.py +53,Name not set via Prompt,Nome não definido através Prompt
@@ -1162,7 +1160,7 @@ apps/frappe/frappe/www/update-password.html +111,Please enter the password,Por f
apps/frappe/frappe/www/printview.py +83,Not allowed to print cancelled documents,Não permitido para imprimir documentos cancelados apps/frappe/frappe/www/printview.py +83,Not allowed to print cancelled documents,Não permitido para imprimir documentos cancelados
apps/frappe/frappe/core/page/data_import_tool/exporter.py +269,Info:,Info: apps/frappe/frappe/core/page/data_import_tool/exporter.py +269,Info:,Info:
DocType: User,Send Notifications for Transactions I Follow,Enviar notificações para transações seguidas por mim DocType: User,Send Notifications for Transactions I Follow,Enviar notificações para transações seguidas por mim
apps/frappe/frappe/core/doctype/doctype/doctype.py +694,"{0}: Cannot set Submit, Cancel, Amend without Write","{0}: Não é possível definir Enviar, Cancelar, Alterar sem Salvar"
apps/frappe/frappe/core/doctype/doctype/doctype.py +698,"{0}: Cannot set Submit, Cancel, Amend without Write","{0}: Não é possível definir Enviar, Cancelar, Alterar sem Salvar"
apps/frappe/frappe/public/js/frappe/form/footer/attachments.js +83,Are you sure you want to delete the attachment?,Tem certeza de que deseja excluir o anexo? apps/frappe/frappe/public/js/frappe/form/footer/attachments.js +83,Are you sure you want to delete the attachment?,Tem certeza de que deseja excluir o anexo?
apps/frappe/frappe/public/js/frappe/form/save.js +11,Saving,Salvando apps/frappe/frappe/public/js/frappe/form/save.js +11,Saving,Salvando
DocType: Print Settings,Print Style Preview,Estilo de visualização de impressão DocType: Print Settings,Print Style Preview,Estilo de visualização de impressão
@@ -1171,7 +1169,7 @@ DocType: Website Settings,Website Theme,Tema do Site
DocType: DocField,In List View,Mostrar na Visualização da Lista DocType: DocField,In List View,Mostrar na Visualização da Lista
apps/frappe/frappe/email/smtp.py +24,Invalid login or password,Login ou senha inválidos apps/frappe/frappe/email/smtp.py +24,Invalid login or password,Login ou senha inválidos
apps/frappe/frappe/config/setup.py +237,Add custom javascript to forms.,Adicionar javascript personalizado aos formulários. apps/frappe/frappe/config/setup.py +237,Add custom javascript to forms.,Adicionar javascript personalizado aos formulários.
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +489,Sr No,Nº de série
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +488,Sr No,Nº de série
,Role Permissions Manager,Gestor de Permissões por Função ,Role Permissions Manager,Gestor de Permissões por Função
,User Permissions Manager,Gestor de Permissões de Usuário ,User Permissions Manager,Gestor de Permissões de Usuário
DocType: Email Alert,Days Before or After,Dias Antes ou Após DocType: Email Alert,Days Before or After,Dias Antes ou Após
@@ -1187,14 +1185,14 @@ apps/frappe/frappe/core/doctype/error_log/error_log_list.js +12,Clear Error Logs
DocType: Email Account,Notify if unreplied for (in mins),Informar se não for respondido em (minutos) DocType: Email Account,Notify if unreplied for (in mins),Informar se não for respondido em (minutos)
apps/frappe/frappe/public/js/frappe/list/list_renderer.js +497,2 days ago,Há 2 dias apps/frappe/frappe/public/js/frappe/list/list_renderer.js +497,2 days ago,Há 2 dias
apps/frappe/frappe/config/website.py +47,Categorize blog posts.,Categorizar posts. apps/frappe/frappe/config/website.py +47,Categorize blog posts.,Categorizar posts.
apps/frappe/frappe/core/doctype/doctype/doctype.py +535,{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}.,{{{0}}} não é padrão para nome de campo válido. Deve ser {{field_name}}.
apps/frappe/frappe/core/doctype/doctype/doctype.py +539,{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}.,{{{0}}} não é padrão para nome de campo válido. Deve ser {{field_name}}.
apps/frappe/frappe/public/js/frappe/views/treeview.js +161,Add Child,Adicionar sub-item apps/frappe/frappe/public/js/frappe/views/treeview.js +161,Add Child,Adicionar sub-item
apps/frappe/frappe/model/delete_doc.py +165,{0} {1}: Submitted Record cannot be deleted.,{0} {1}: Registro enviado não pode ser excluído.
apps/frappe/frappe/model/delete_doc.py +166,{0} {1}: Submitted Record cannot be deleted.,{0} {1}: Registro enviado não pode ser excluído.
apps/frappe/frappe/core/page/usage_info/usage_info.html +99,Backup Size,Tamanho do backup apps/frappe/frappe/core/page/usage_info/usage_info.html +99,Backup Size,Tamanho do backup
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +460,Align Value,Alinhar Valor apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +460,Align Value,Alinhar Valor
apps/frappe/frappe/website/doctype/blog_post/blog_post.py +102,Posts by {0},Posts de {0}
apps/frappe/frappe/website/doctype/blog_post/blog_post.py +106,Posts by {0},Posts de {0}
apps/frappe/frappe/www/login.html +72,Don't have an account? Sign up,Não tem uma conta? Se inscreva apps/frappe/frappe/www/login.html +72,Don't have an account? Sign up,Não tem uma conta? Se inscreva
apps/frappe/frappe/core/doctype/doctype/doctype.py +721,{0}: Cannot set Assign Amend if not Submittable,{0}: Não é possível definir atributo Corrigir se não pode ser enviado
apps/frappe/frappe/core/doctype/doctype/doctype.py +725,{0}: Cannot set Assign Amend if not Submittable,{0}: Não é possível definir atributo Corrigir se não pode ser enviado
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +14,Edit Role Permissions,Editar permissões de Função apps/frappe/frappe/core/page/user_permissions/user_permissions.js +14,Edit Role Permissions,Editar permissões de Função
DocType: Communication,Link DocType,Relacionar ao DocType DocType: Communication,Link DocType,Relacionar ao DocType
DocType: Social Login Keys,Social Login Keys,Login nas Redes Sociais DocType: Social Login Keys,Social Login Keys,Login nas Redes Sociais
@@ -1255,7 +1253,7 @@ apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +227,Permissi
DocType: Contact Us Settings,Pincode,CEP DocType: Contact Us Settings,Pincode,CEP
apps/frappe/frappe/core/page/data_import_tool/importer.py +81,Please make sure that there are no empty columns in the file.,"Por favor, certifique-se de que não existem colunas vazias no arquivo." apps/frappe/frappe/core/page/data_import_tool/importer.py +81,Please make sure that there are no empty columns in the file.,"Por favor, certifique-se de que não existem colunas vazias no arquivo."
apps/frappe/frappe/utils/oauth.py +232,Please ensure that your profile has an email address,Verifique se o seu perfil tem um endereço de email apps/frappe/frappe/utils/oauth.py +232,Please ensure that your profile has an email address,Verifique se o seu perfil tem um endereço de email
apps/frappe/frappe/core/doctype/doctype/doctype.py +455,Default for {0} must be an option,Padrão para {0} deve ser uma opção
apps/frappe/frappe/core/doctype/doctype/doctype.py +459,Default for {0} must be an option,Padrão para {0} deve ser uma opção
DocType: User,User Image,Imagem do Usuário DocType: User,User Image,Imagem do Usuário
apps/frappe/frappe/email/queue.py +289,Emails are muted,Emails são silenciados apps/frappe/frappe/email/queue.py +289,Emails are muted,Emails são silenciados
apps/frappe/frappe/public/js/frappe/form/templates/grid_form.html +25,Ctrl + Up,Ctrl + Seta para cima apps/frappe/frappe/public/js/frappe/form/templates/grid_form.html +25,Ctrl + Up,Ctrl + Seta para cima
@@ -1272,13 +1270,13 @@ apps/frappe/frappe/public/js/frappe/views/treeview.js +17,Tree view not availabl
DocType: Custom Field,Label Help,Ajuda sobre Etiquetas DocType: Custom Field,Label Help,Ajuda sobre Etiquetas
apps/frappe/frappe/utils/password_strength.py +122,Dates are often easy to guess.,Datas são frequentemente fáceis de adivinhar. apps/frappe/frappe/utils/password_strength.py +122,Dates are often easy to guess.,Datas são frequentemente fáceis de adivinhar.
DocType: User,These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,Esses valores serão atualizados automaticamente em transações e também serão úteis para restringir as permissões para este usuário em operações que contenham esses valores. DocType: User,These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values.,Esses valores serão atualizados automaticamente em transações e também serão úteis para restringir as permissões para este usuário em operações que contenham esses valores.
apps/frappe/frappe/model/rename_doc.py +377,** Failed: {0} to {1}: {2},** Falha: {0} para {1}: {2}
apps/frappe/frappe/model/rename_doc.py +378,** Failed: {0} to {1}: {2},** Falha: {0} para {1}: {2}
apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +23,Select Mandatory,Selecionar Campos Obrigatórios apps/frappe/frappe/core/page/data_import_tool/data_import_main.html +23,Select Mandatory,Selecionar Campos Obrigatórios
apps/frappe/frappe/public/js/frappe/ui/upload.html +4,Browse,Procurar apps/frappe/frappe/public/js/frappe/ui/upload.html +4,Browse,Procurar
DocType: Async Task,Running,Correndo DocType: Async Task,Running,Correndo
apps/frappe/frappe/email/doctype/email_group/email_group.py +102,Please Upgrade to add more than {0} subscribers,"Por favor, atualize para adicionar mais de {0} assinantes" apps/frappe/frappe/email/doctype/email_group/email_group.py +102,Please Upgrade to add more than {0} subscribers,"Por favor, atualize para adicionar mais de {0} assinantes"
DocType: Workflow State,hand-left,mão à esquerda DocType: Workflow State,hand-left,mão à esquerda
apps/frappe/frappe/core/doctype/doctype/doctype.py +468,Fieldtype {0} for {1} cannot be unique,FieldType {0} para {1} não pode ser exclusivo
apps/frappe/frappe/core/doctype/doctype/doctype.py +472,Fieldtype {0} for {1} cannot be unique,FieldType {0} para {1} não pode ser exclusivo
DocType: Workflow State,play-circle,jogo-círculo DocType: Workflow State,play-circle,jogo-círculo
apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +82,Select Print Format to Edit,Selecione um formato de impressão para editar apps/frappe/frappe/printing/page/print_format_builder/print_format_builder.js +82,Select Print Format to Edit,Selecione um formato de impressão para editar
DocType: Address,Shipping,Expedição DocType: Address,Shipping,Expedição
@@ -1306,7 +1304,7 @@ DocType: ToDo,ToDo,Lista de Atribuições
DocType: Workflow State,qrcode,QRCode DocType: Workflow State,qrcode,QRCode
apps/frappe/frappe/www/login.html +34,Login with LDAP,Logar com LDAP apps/frappe/frappe/www/login.html +34,Login with LDAP,Logar com LDAP
DocType: Web Form,Breadcrumbs,Breadcrumbs DocType: Web Form,Breadcrumbs,Breadcrumbs
apps/frappe/frappe/core/doctype/doctype/doctype.py +667,If Owner,Se proprietário
apps/frappe/frappe/core/doctype/doctype/doctype.py +671,If Owner,Se proprietário
DocType: Web Page,Website Sidebar,Menu Lateral do Site DocType: Web Page,Website Sidebar,Menu Lateral do Site
DocType: Web Form,Show Sidebar,Mostrar menu lateral DocType: Web Form,Show Sidebar,Mostrar menu lateral
apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +142,Complete By,Finalizar até apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +142,Complete By,Finalizar até
@@ -1316,7 +1314,7 @@ DocType: Website Settings,Top Bar Items,Itens da barra superior
DocType: Print Settings,Print Settings,Configurações de Impressão DocType: Print Settings,Print Settings,Configurações de Impressão
DocType: DocType,Max Attachments,Máx. de Anexos DocType: DocType,Max Attachments,Máx. de Anexos
apps/frappe/frappe/config/website.py +93,Knowledge Base,Base de Conhecimento apps/frappe/frappe/config/website.py +93,Knowledge Base,Base de Conhecimento
apps/frappe/frappe/model/base_document.py +561,Value cannot be changed for {0},Valor não pode ser alterado para {0}
apps/frappe/frappe/model/base_document.py +560,Value cannot be changed for {0},Valor não pode ser alterado para {0}
DocType: Workflow State,"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Estilo representa a cor do botão: Sucesso - Verde, Perigo - Vermelho, Inverso - Preto, Primário - Azul Escuro, Informações - Azul Claro, Aviso - Laranja" DocType: Workflow State,"Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange","Estilo representa a cor do botão: Sucesso - Verde, Perigo - Vermelho, Inverso - Preto, Primário - Azul Escuro, Informações - Azul Claro, Aviso - Laranja"
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +158,No Report Loaded. Please use query-report/[Report Name] to run a report.,"Não Relatório Loaded. Por favor, use-consulta do relatório / [Nome do relatório] para executar um relatório." apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +158,No Report Loaded. Please use query-report/[Report Name] to run a report.,"Não Relatório Loaded. Por favor, use-consulta do relatório / [Nome do relatório] para executar um relatório."
DocType: Workflow Transition,Workflow Transition,Transição do Fluxo de Trabalho DocType: Workflow Transition,Workflow Transition,Transição do Fluxo de Trabalho
@@ -1335,6 +1333,7 @@ apps/frappe/frappe/permissions.py +397,Permission already set,Permissão já def
apps/frappe/frappe/core/doctype/docshare/docshare.py +47,{0} shared this document with everyone,{0} compartilhou este documento com todos apps/frappe/frappe/core/doctype/docshare/docshare.py +47,{0} shared this document with everyone,{0} compartilhou este documento com todos
apps/frappe/frappe/desk/page/activity/activity_row.html +17,Commented on {0}: {1},Comentou sobre {0}: {1} apps/frappe/frappe/desk/page/activity/activity_row.html +17,Commented on {0}: {1},Comentou sobre {0}: {1}
apps/frappe/frappe/core/page/user_permissions/user_permissions.js +248,These restrictions will apply for Document Types where 'Apply User Permissions' is checked for the permission rule and a field with this value is present.,Essas restrições serão aplicadas para tipos de documento onde &quot;Aplicar permissões de usuário &#39;está marcada para a regra de permissão e um campo com esse valor está presente. apps/frappe/frappe/core/page/user_permissions/user_permissions.js +248,These restrictions will apply for Document Types where 'Apply User Permissions' is checked for the permission rule and a field with this value is present.,Essas restrições serão aplicadas para tipos de documento onde &quot;Aplicar permissões de usuário &#39;está marcada para a regra de permissão e um campo com esse valor está presente.
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +24,Apply,Aplicar
apps/frappe/frappe/integrations/utils.py +76,{0} Settings not found,{0} Configurações não encontradas apps/frappe/frappe/integrations/utils.py +76,{0} Settings not found,{0} Configurações não encontradas
DocType: Module Def,Module Def,Módulo Def DocType: Module Def,Module Def,Módulo Def
apps/frappe/frappe/config/core.py +22,Pages in Desk (place holders),Páginas na Desk (suportes do lugar) apps/frappe/frappe/config/core.py +22,Pages in Desk (place holders),Páginas na Desk (suportes do lugar)
@@ -1363,8 +1362,8 @@ apps/frappe/frappe/core/page/data_import_tool/importer.py +49,Please do not chan
DocType: Contact,More Information,Mais Informações DocType: Contact,More Information,Mais Informações
DocType: Desktop Icon,Desktop Icon,Ícone da área de trabalho DocType: Desktop Icon,Desktop Icon,Ícone da área de trabalho
apps/frappe/frappe/utils/nestedset.py +235,{0} {1} cannot be a leaf node as it has children,"{0} {1} não pode ser um nó de extremidade , uma vez que tem filhos" apps/frappe/frappe/utils/nestedset.py +235,{0} {1} cannot be a leaf node as it has children,"{0} {1} não pode ser um nó de extremidade , uma vez que tem filhos"
apps/frappe/frappe/public/js/frappe/views/communication.js +336,Add Attachment,Anexar
apps/frappe/frappe/public/js/frappe/views/communication.js +68,Send Read Receipt,Enviar Confirmação de Leitura
apps/frappe/frappe/public/js/frappe/views/communication.js +337,Add Attachment,Anexar
apps/frappe/frappe/public/js/frappe/views/communication.js +67,Send Read Receipt,Enviar Confirmação de Leitura
DocType: Stripe Settings,Stripe Settings,Configurações do Stripe DocType: Stripe Settings,Stripe Settings,Configurações do Stripe
DocType: Dropbox Settings,Dropbox Setup via Site Config,Configuração do Dropbox via Site Config DocType: Dropbox Settings,Dropbox Setup via Site Config,Configuração do Dropbox via Site Config
apps/frappe/frappe/www/login.py +64,Invalid Login Token,Inválido símbolo de logon apps/frappe/frappe/www/login.py +64,Invalid Login Token,Inválido símbolo de logon
@@ -1428,7 +1427,7 @@ apps/frappe/frappe/config/setup.py +146,Add / Manage Email Accounts.,Adicionar /
apps/frappe/frappe/templates/emails/auto_reply.html +1,Thank you for your email,Obrigado pelo seu email apps/frappe/frappe/templates/emails/auto_reply.html +1,Thank you for your email,Obrigado pelo seu email
apps/frappe/frappe/core/doctype/user/user.py +868,Administrator accessed {0} on {1} via IP Address {2}.,Administrador acessada {0} em {1} através do endereço IP {2}. apps/frappe/frappe/core/doctype/user/user.py +868,Administrator accessed {0} on {1} via IP Address {2}.,Administrador acessada {0} em {1} através do endereço IP {2}.
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +6,Equals,Igual apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +6,Equals,Igual
apps/frappe/frappe/core/doctype/doctype/doctype.py +449,Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType',"Opções 'Dynamic Link' tipo de campo deve apontar para um outro campo Ligação com opções como ""TipoDoc '"
apps/frappe/frappe/core/doctype/doctype/doctype.py +453,Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType',"Opções 'Dynamic Link' tipo de campo deve apontar para um outro campo Ligação com opções como ""TipoDoc '"
DocType: About Us Settings,Team Members Heading,Título da página Membros da Equipe DocType: About Us Settings,Team Members Heading,Título da página Membros da Equipe
apps/frappe/frappe/utils/csvutils.py +35,Invalid CSV Format,Formato inválido de CSV apps/frappe/frappe/utils/csvutils.py +35,Invalid CSV Format,Formato inválido de CSV
DocType: DocField,Do not allow user to change after set the first time,Não permitir que o usuário altere após definir o primeiro tempo DocType: DocField,Do not allow user to change after set the first time,Não permitir que o usuário altere após definir o primeiro tempo
@@ -1436,7 +1435,7 @@ apps/frappe/frappe/public/js/frappe/upload.js +252,Private or Public?,Privada ou
DocType: Contact,Contact,Contato DocType: Contact,Contact,Contato
DocType: Website Settings,Banner is above the Top Menu Bar.,A faixa está acima da barra de menu superior. DocType: Website Settings,Banner is above the Top Menu Bar.,A faixa está acima da barra de menu superior.
DocType: Razorpay Settings,API Secret,Segredo da API DocType: Razorpay Settings,API Secret,Segredo da API
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +859,Export Report: ,Exportar Relatório:
apps/frappe/frappe/public/js/frappe/views/reports/query_report.js +858,Export Report: ,Exportar Relatório:
apps/frappe/frappe/config/core.py +12,Models (building blocks) of the Application,Modelos (blocos de construção) do aplicativo apps/frappe/frappe/config/core.py +12,Models (building blocks) of the Application,Modelos (blocos de construção) do aplicativo
apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +105,Select Module,Selecione o Módulo apps/frappe/frappe/custom/doctype/customize_form/customize_form.js +105,Select Module,Selecione o Módulo
apps/frappe/frappe/sessions.py +29,Cache Cleared,Cache Limpo apps/frappe/frappe/sessions.py +29,Cache Cleared,Cache Limpo
@@ -1447,7 +1446,7 @@ DocType: Print Settings,PDF Settings,Configurações do PDF
DocType: Kanban Board Column,Column Name,Nome da coluna DocType: Kanban Board Column,Column Name,Nome da coluna
DocType: Language,Based On,Baseado em DocType: Language,Based On,Baseado em
apps/frappe/frappe/printing/doctype/print_format/print_format.js +34,Make Default,Tornar padrão apps/frappe/frappe/printing/doctype/print_format/print_format.js +34,Make Default,Tornar padrão
apps/frappe/frappe/core/doctype/doctype/doctype.py +491,Fieldtype {0} for {1} cannot be indexed,FieldType {0} para {1} não pode ser indexado
apps/frappe/frappe/core/doctype/doctype/doctype.py +495,Fieldtype {0} for {1} cannot be indexed,FieldType {0} para {1} não pode ser indexado
DocType: Workflow State,Download,Baixar DocType: Workflow State,Download,Baixar
DocType: Blog Post,Blog Intro,Introdução do Blog DocType: Blog Post,Blog Intro,Introdução do Blog
DocType: DocField,Display Depends On,Visualização depende DocType: DocField,Display Depends On,Visualização depende
@@ -1468,7 +1467,7 @@ DocType: Web Form,Amount,Total
apps/frappe/frappe/website/doctype/portal_settings/portal_settings.js +10,Restore to default settings?,Restaurar as configurações padrão? apps/frappe/frappe/website/doctype/portal_settings/portal_settings.js +10,Restore to default settings?,Restaurar as configurações padrão?
apps/frappe/frappe/website/doctype/website_settings/website_settings.py +23,Invalid Home Page,Inválido Página Inicial apps/frappe/frappe/website/doctype/website_settings/website_settings.py +23,Invalid Home Page,Inválido Página Inicial
apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +170,Reset Filters,Restaurar Filtros apps/frappe/frappe/public/js/frappe/views/reports/grid_report.js +170,Reset Filters,Restaurar Filtros
apps/frappe/frappe/core/doctype/doctype/doctype.py +684,{0}: Permission at level 0 must be set before higher levels are set,{0} : permissão no nível 0 deve ser definida antes de definir os níveis mais altos
apps/frappe/frappe/core/doctype/doctype/doctype.py +688,{0}: Permission at level 0 must be set before higher levels are set,{0} : permissão no nível 0 deve ser definida antes de definir os níveis mais altos
apps/frappe/frappe/desk/doctype/todo/todo.py +28,Assignment closed by {0},Atribuição fechado por {0} apps/frappe/frappe/desk/doctype/todo/todo.py +28,Assignment closed by {0},Atribuição fechado por {0}
DocType: Integration Request,Remote,Remoto DocType: Integration Request,Remote,Remoto
DocType: Integration Request,Remote,Remoto DocType: Integration Request,Remote,Remoto
@@ -1477,15 +1476,15 @@ apps/frappe/frappe/email/doctype/newsletter/newsletter.py +173,Confirm Your Emai
apps/frappe/frappe/www/login.html +42,Or login with,Ou faça login com apps/frappe/frappe/www/login.html +42,Or login with,Ou faça login com
apps/frappe/frappe/desk/page/activity/activity_row.html +19,Communicated via {0} on {1}: {2},Comunicada via {0} em {1}: {2} apps/frappe/frappe/desk/page/activity/activity_row.html +19,Communicated via {0} on {1}: {2},Comunicada via {0} em {1}: {2}
apps/frappe/frappe/core/doctype/communication/comment.py +85,{0} mentioned you in a comment in {1},{0} mencionou você em um comentário em {1} apps/frappe/frappe/core/doctype/communication/comment.py +85,{0} mentioned you in a comment in {1},{0} mencionou você em um comentário em {1}
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +138,e.g. (55 + 434) / 4 or =Math.sin(Math.PI/2)...,por exemplo (55 + 434) / 4 ou = Math.sin (Math.PI / 2) ...
apps/frappe/frappe/public/js/frappe/ui/toolbar/awesome_bar.js +141,e.g. (55 + 434) / 4 or =Math.sin(Math.PI/2)...,por exemplo (55 + 434) / 4 ou = Math.sin (Math.PI / 2) ...
DocType: Social Login Keys,GitHub Client ID,ID do Cliente do Github DocType: Social Login Keys,GitHub Client ID,ID do Cliente do Github
DocType: DocField,Perm Level,Nível Permanente DocType: DocField,Perm Level,Nível Permanente
apps/frappe/frappe/desk/doctype/event/event.py +54,Events In Today's Calendar,Eventos no calendário de hoje apps/frappe/frappe/desk/doctype/event/event.py +54,Events In Today's Calendar,Eventos no calendário de hoje
apps/frappe/frappe/public/js/frappe/views/treeview.js +297,View List,Ver Lista apps/frappe/frappe/public/js/frappe/views/treeview.js +297,View List,Ver Lista
apps/frappe/frappe/public/js/frappe/form/control.js +739,Date must be in format: {0},A data deve estar no formato : {0}
apps/frappe/frappe/public/js/frappe/form/control.js +721,Date must be in format: {0},A data deve estar no formato : {0}
apps/frappe/frappe/www/feedback.html +90,Please give a rating.,"Por favor, atribua um rating." apps/frappe/frappe/www/feedback.html +90,Please give a rating.,"Por favor, atribua um rating."
apps/frappe/frappe/public/js/frappe/feedback.js +47,{0} Feedback Request,{0} Solicitação de Feedback apps/frappe/frappe/public/js/frappe/feedback.js +47,{0} Feedback Request,{0} Solicitação de Feedback
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +493,The First User: You,O primeiro usuário: Você
apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.js +505,The First User: You,O primeiro usuário: Você
DocType: Translation,Source Text,Texto Original DocType: Translation,Source Text,Texto Original
apps/frappe/frappe/www/login.py +55,Missing parameters for login,Parâmetros que faltam para o login apps/frappe/frappe/www/login.py +55,Missing parameters for login,Parâmetros que faltam para o login
DocType: Workflow State,folder-open,abrir pasta DocType: Workflow State,folder-open,abrir pasta
@@ -1506,7 +1505,7 @@ DocType: Email Domain,domain name,nome de domínio
DocType: Kanban Board Column,Order,Pedido DocType: Kanban Board Column,Order,Pedido
DocType: Custom DocPerm,"JSON list of DocTypes used to apply User Permissions. If empty, all linked DocTypes will be used to apply User Permissions.","Lista JSON de doctypes usados para aplicar permissões de usuário. Se vazio, todas as doctypes vinculados serão usados para aplicar permissões de usuário." DocType: Custom DocPerm,"JSON list of DocTypes used to apply User Permissions. If empty, all linked DocTypes will be used to apply User Permissions.","Lista JSON de doctypes usados para aplicar permissões de usuário. Se vazio, todas as doctypes vinculados serão usados para aplicar permissões de usuário."
DocType: Report,Ref DocType,DocType de Ref. DocType: Report,Ref DocType,DocType de Ref.
apps/frappe/frappe/core/doctype/doctype/doctype.py +696,{0}: Cannot set Amend without Cancel,{0}: Não é possível definir Amend sem Cancelar
apps/frappe/frappe/core/doctype/doctype/doctype.py +700,{0}: Cannot set Amend without Cancel,{0}: Não é possível definir Amend sem Cancelar
apps/frappe/frappe/public/js/frappe/form/templates/print_layout.html +22,Full Page,Página completa apps/frappe/frappe/public/js/frappe/form/templates/print_layout.html +22,Full Page,Página completa
DocType: DocType,Is Child Table,É Tabela Filho DocType: DocType,Is Child Table,É Tabela Filho
apps/frappe/frappe/utils/csvutils.py +124,{0} must be one of {1},{0} deve fazer parte de {1} apps/frappe/frappe/utils/csvutils.py +124,{0} must be one of {1},{0} deve fazer parte de {1}
@@ -1524,7 +1523,7 @@ DocType: Workflow Action,Workflow Action,Ação do Fluxo de Trabalho
DocType: Event,Send an email reminder in the morning,Enviar um email lembrete na parte da manhã DocType: Event,Send an email reminder in the morning,Enviar um email lembrete na parte da manhã
DocType: Blog Post,Published On,Publicado no DocType: Blog Post,Published On,Publicado no
apps/frappe/frappe/website/doctype/web_form/web_form.py +342,Mandatory Information missing:,Informações obrigatórias ausente: apps/frappe/frappe/website/doctype/web_form/web_form.py +342,Mandatory Information missing:,Informações obrigatórias ausente:
apps/frappe/frappe/core/doctype/doctype/doctype.py +488,Field '{0}' cannot be set as Unique as it has non-unique values,"O campo &#39;{0}&#39; não pode ser definido como único, pois tem valores não-exclusivos"
apps/frappe/frappe/core/doctype/doctype/doctype.py +492,Field '{0}' cannot be set as Unique as it has non-unique values,"O campo &#39;{0}&#39; não pode ser definido como único, pois tem valores não-exclusivos"
apps/frappe/frappe/client.py +140,Only 200 inserts allowed in one request,São permitidas somente 200 inserções por solicitação apps/frappe/frappe/client.py +140,Only 200 inserts allowed in one request,São permitidas somente 200 inserções por solicitação
DocType: Event,Repeat On,Repetir em DocType: Event,Repeat On,Repetir em
DocType: Communication,Marked As Spam,Marcado como spam DocType: Communication,Marked As Spam,Marcado como spam
@@ -1544,7 +1543,7 @@ DocType: Email Account,Notifications and bulk mails will be sent from this outgo
apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +64,Currently Viewing,Atualmente Exibindo apps/frappe/frappe/public/js/frappe/form/templates/form_sidebar.html +64,Currently Viewing,Atualmente Exibindo
apps/frappe/frappe/email/doctype/email_group/email_group.py +42,{0} subscribers added,{0} assinantes acrescentados apps/frappe/frappe/email/doctype/email_group/email_group.py +42,{0} subscribers added,{0} assinantes acrescentados
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +9,Not In,Não Presente apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +9,Not In,Não Presente
apps/frappe/frappe/core/doctype/doctype/doctype.py +433,Max width for type Currency is 100px in row {0},Largura máxima para o tipo de moeda é 100px na linha {0}
apps/frappe/frappe/core/doctype/doctype/doctype.py +437,Max width for type Currency is 100px in row {0},Largura máxima para o tipo de moeda é 100px na linha {0}
apps/frappe/frappe/config/website.py +13,Content web page.,Conteúdo da Página Web apps/frappe/frappe/config/website.py +13,Content web page.,Conteúdo da Página Web
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +9,Add a New Role,Adicionar um Novo Papel apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +9,Add a New Role,Adicionar um Novo Papel
DocType: Deleted Document,Deleted Document,Documento Excluído DocType: Deleted Document,Deleted Document,Documento Excluído
@@ -1552,7 +1551,7 @@ apps/frappe/frappe/templates/includes/login/login.js +193,Oops! Something went w
apps/frappe/frappe/config/core.py +37,Client side script extensions in Javascript,Extensões de script do lado do cliente em Javascript apps/frappe/frappe/config/core.py +37,Client side script extensions in Javascript,Extensões de script do lado do cliente em Javascript
DocType: User,Email Settings,Configurações de Email DocType: User,Email Settings,Configurações de Email
apps/frappe/frappe/workflow/doctype/workflow/workflow.py +57,{0} not a valid State,{0} não é um status válido apps/frappe/frappe/workflow/doctype/workflow/workflow.py +57,{0} not a valid State,{0} não é um status válido
apps/frappe/frappe/core/doctype/doctype/doctype.py +515,Search field {0} is not valid,Campo de pesquisa {0} não é válido
apps/frappe/frappe/core/doctype/doctype/doctype.py +519,Search field {0} is not valid,Campo de pesquisa {0} não é válido
DocType: Workflow State,ok-circle,ok-círculo DocType: Workflow State,ok-circle,ok-círculo
apps/frappe/frappe/utils/bot.py +150,You can find things by asking 'find orange in customers',"Você pode encontrar as coisas pedindo ""encontrar fulano em clientes""" apps/frappe/frappe/utils/bot.py +150,You can find things by asking 'find orange in customers',"Você pode encontrar as coisas pedindo ""encontrar fulano em clientes"""
apps/frappe/frappe/core/doctype/user/user.py +172,Sorry! User should have complete access to their own record.,Desculpe! O usuário deve ter acesso completo ao seu próprio registro. apps/frappe/frappe/core/doctype/user/user.py +172,Sorry! User should have complete access to their own record.,Desculpe! O usuário deve ter acesso completo ao seu próprio registro.
@@ -1590,7 +1589,7 @@ apps/frappe/frappe/model/document.py +540,Please refresh to get the latest docum
,Desktop,Área de trabalho ,Desktop,Área de trabalho
DocType: Web Form,Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`,"O texto a ser exibido para o link da página da web, se este formulário tem uma página web. Um link será gerado automaticamente com base em ` page_name` e `parent_website_route`" DocType: Web Form,Text to be displayed for Link to Web Page if this form has a web page. Link route will be automatically generated based on `page_name` and `parent_website_route`,"O texto a ser exibido para o link da página da web, se este formulário tem uma página web. Um link será gerado automaticamente com base em ` page_name` e `parent_website_route`"
DocType: Feedback Request,Feedback Trigger,Gatilho para Feedback DocType: Feedback Request,Feedback Trigger,Gatilho para Feedback
apps/frappe/frappe/public/js/frappe/form/control.js +1697,Please set {0} first,Defina {0} primeiro
apps/frappe/frappe/public/js/frappe/form/control.js +1656,Please set {0} first,Defina {0} primeiro
DocType: Patch Log,Patch,Remendo DocType: Patch Log,Patch,Remendo
apps/frappe/frappe/core/page/data_import_tool/importer.py +54,No data found,Não foram encontrados dados apps/frappe/frappe/core/page/data_import_tool/importer.py +54,No data found,Não foram encontrados dados
DocType: User,Background Style,Estilo do Fundo DocType: User,Background Style,Estilo do Fundo


+ 185
- 179
frappe/translations/pt.csv
File diff suppressed because it is too large
View File


+ 185
- 179
frappe/translations/ro.csv
File diff suppressed because it is too large
View File


+ 186
- 180
frappe/translations/ru.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/si.csv
File diff suppressed because it is too large
View File


+ 186
- 180
frappe/translations/sk.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/sl.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/sq.csv
File diff suppressed because it is too large
View File


+ 42
- 0
frappe/translations/sr-SP.csv View File

@@ -0,0 +1,42 @@
apps/frappe/frappe/desk/doctype/todo/todo_list.js +22,Assigned By Me,Dodijelio
apps/frappe/frappe/public/js/frappe/form/toolbar.js +189,New {0} (Ctrl+B),Novi {0} (Ctrl-B)
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +23,Add Filter,Dodaj filter
apps/frappe/frappe/public/js/frappe/model/model.js +26,Assigned To,Dodijeljeno
apps/frappe/frappe/public/js/frappe/form/footer/assign_to.js +138,Assign to me,Dodijeljeno meni
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +16,Between,Između
apps/frappe/frappe/public/js/frappe/list/list_sidebar.js +389,UnCategorised Tags,Nekategorisani tag-ovi
apps/frappe/frappe/public/js/frappe/form/toolbar.js +163,Customize,Prilagodite
apps/frappe/frappe/desk/reportview.py +253,No Tags,Nema tag-ova
apps/frappe/frappe/public/js/frappe/views/treeview.js +212,New {0},Novi {0}
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +10,Not equals,Nije jednak
apps/frappe/frappe/public/js/frappe/ui/page.html +24,Menu,Meni
apps/frappe/frappe/public/js/frappe/model/model.js +27,Document Status,Status dokumenta
apps/frappe/frappe/config/core.py +27,Script or Query reports,Skripte ili query izvještaji
apps/frappe/frappe/public/js/frappe/views/reports/reportview.js +111,Add to Desktop,Dodaj na radnu površinu
apps/frappe/frappe/core/page/permission_manager/permission_manager_help.html +30,User Permissions,Prava pristupa korisnika
apps/frappe/frappe/public/js/frappe/model/meta.js +186,Created On,Kreirano
apps/frappe/frappe/public/js/frappe/ui/toolbar/search_utils.js +107,New,Novi
,User Permissions Manager,Menadžer prava pristupa korisnika
DocType: Workflow State,Refresh,Osvježi
DocType: Contact,Status,Status
apps/frappe/frappe/desk/doctype/todo/todo.py +20,Assigned to {0}: {1},Dodijeljen {0}: {1}
apps/frappe/frappe/public/js/frappe/model/meta.js +187,Last Modified On,Poslednji put izmijenjeno
DocType: Authentication Log,Full Name,Puno ime
DocType: Custom DocPerm,Import,Uvoz
DocType: Communication,Assigned,Dodijeljeno
apps/frappe/frappe/desk/moduleview.py +94,Standard Reports,Standardni izvještaji
apps/frappe/frappe/public/js/frappe/list/list_sidebar.html +49,Assigned To Me,Dodijeljeno meni
,Role Permissions Manager,Menadžer prava pristupa rolama
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +24,Apply,Primijeni
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +479,Like,Kao
DocType: Workflow State,remove,Ukloni
apps/frappe/frappe/public/js/frappe/list/list_sidebar.html +32,Kanban,Kanban
apps/frappe/frappe/public/js/frappe/roles_editor.js +195,Role Permissions,Prava pristupa rolama
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +9,Not In,Nije u
apps/frappe/frappe/public/js/frappe/ui/filters/edit_filter.html +6,Equals,Jednak
apps/frappe/frappe/public/js/frappe/ui/filters/filters.js +479,Not Like,Nije kao
apps/frappe/frappe/public/js/frappe/list/list_sidebar.html +10,Reports,Izvještaji
apps/frappe/frappe/public/js/frappe/ui/sort_selector.js +182,Most Used,Najviše korišćeno
DocType: ToDo,Assigned By,Dodijelio
apps/frappe/frappe/desk/report/todo/todo.py +19,ID,ID
DocType: Workflow State,Print,Štampaj

+ 186
- 180
frappe/translations/sr.csv
File diff suppressed because it is too large
View File


+ 185
- 179
frappe/translations/sv.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/ta.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/te.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/th.csv
File diff suppressed because it is too large
View File


+ 187
- 181
frappe/translations/tr.csv
File diff suppressed because it is too large
View File


+ 186
- 180
frappe/translations/uk.csv
File diff suppressed because it is too large
View File


+ 184
- 178
frappe/translations/ur.csv
File diff suppressed because it is too large
View File


+ 430
- 424
frappe/translations/vi.csv
File diff suppressed because it is too large
View File


+ 161
- 155
frappe/translations/zh-TW.csv
File diff suppressed because it is too large
View File


+ 188
- 182
frappe/translations/zh.csv
File diff suppressed because it is too large
View File


+ 2
- 1
frappe/utils/backups.py View File

@@ -217,7 +217,8 @@ def backup(with_files=False, backup_path_db=None, backup_path_files=None, quiet=
odb = scheduled_backup(ignore_files=not with_files, backup_path_db=backup_path_db, backup_path_files=backup_path_files, force=True) odb = scheduled_backup(ignore_files=not with_files, backup_path_db=backup_path_db, backup_path_files=backup_path_files, force=True)
return { return {
"backup_path_db": odb.backup_path_db, "backup_path_db": odb.backup_path_db,
"backup_path_files": odb.backup_path_files
"backup_path_files": odb.backup_path_files,
"backup_path_private_files": odb.backup_path_private_files
} }


if __name__ == "__main__": if __name__ == "__main__":


+ 6
- 1
frappe/utils/formatters.py View File

@@ -4,7 +4,7 @@
from __future__ import unicode_literals from __future__ import unicode_literals
import frappe import frappe
import datetime import datetime
from frappe.utils import formatdate, fmt_money, flt, cstr, cint, format_datetime
from frappe.utils import formatdate, fmt_money, flt, cstr, cint, format_datetime, format_time
from frappe.model.meta import get_field_currency, get_field_precision from frappe.model.meta import get_field_currency, get_field_precision
import re import re


@@ -20,6 +20,8 @@ def format_value(value, df=None, doc=None, currency=None, translated=False):
df.fieldtype = 'Datetime' df.fieldtype = 'Datetime'
elif isinstance(value, datetime.date): elif isinstance(value, datetime.date):
df.fieldtype = 'Date' df.fieldtype = 'Date'
elif isinstance(value, datetime.timedelta):
df.fieldtype = 'Time'
elif isinstance(value, int): elif isinstance(value, int):
df.fieldtype = 'Int' df.fieldtype = 'Int'
elif isinstance(value, float): elif isinstance(value, float):
@@ -45,6 +47,9 @@ def format_value(value, df=None, doc=None, currency=None, translated=False):
elif df.get("fieldtype")=="Datetime": elif df.get("fieldtype")=="Datetime":
return format_datetime(value) return format_datetime(value)


elif df.get("fieldtype")=="Time":
return format_time(value)

elif value==0 and df.get("fieldtype") in ("Int", "Float", "Currency", "Percent") and df.get("print_hide_if_no_value"): elif value==0 and df.get("fieldtype") in ("Int", "Float", "Currency", "Percent") and df.get("print_hide_if_no_value"):
# this is required to show 0 as blank in table columns # this is required to show 0 as blank in table columns
return "" return ""


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save