diff --git a/.github/helper/update_pot_file.sh b/.github/helper/update_pot_file.sh new file mode 100644 index 0000000000..6a472f9f93 --- /dev/null +++ b/.github/helper/update_pot_file.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -e +cd ~ || exit + +echo "Setting Up Bench..." + +pip install frappe-bench +bench -v init frappe-bench --skip-assets --skip-redis-config-generation --python "$(which python)" --frappe-path "${GITHUB_WORKSPACE}" +cd ./frappe-bench || exit + +echo "Generating POT file..." +bench generate-pot-file --app frappe + +cd ./apps/frappe || exit + +echo "Configuring git user..." +git config user.email "developers@erpnext.com" +git config user.name "frappe-pr-bot" + +echo "Setting the correct git remote..." +# Here, the git remote is a local file path by default. Let's change it to the upstream repo. +git remote set-url upstream https://github.com/frappe/frappe.git + +echo "Creating a new branch..." +isodate=$(date -u +"%Y-%m-%d") +branch_name="pot_${BASE_BRANCH}_${isodate}" +git checkout -b "${branch_name}" + +echo "Commiting changes..." +git add . +git commit -m "chore: update POT file" + +gh auth setup-git +git push -u upstream "${branch_name}" + +echo "Creating a PR..." +gh pr create --fill --base "${BASE_BRANCH}" --head "${branch_name}" -R frappe/frappe diff --git a/.github/workflows/generate-pot-file.yml b/.github/workflows/generate-pot-file.yml new file mode 100644 index 0000000000..a4e7e3f282 --- /dev/null +++ b/.github/workflows/generate-pot-file.yml @@ -0,0 +1,38 @@ +# This workflow is agnostic to branches. Only maintain on develop branch. +# To add/remove branches just modify the matrix. + +name: Regenerate POT file (translatable strings) +on: + schedule: + # 9:30 UTC => 3 PM IST Sunday + - cron: "30 9 * * 0" + workflow_dispatch: + +jobs: + regeneratee-pot-file: + name: Release + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + branch: ["develop"] + permissions: + contents: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ matrix.branch }} + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Run script to update POT file + run: | + bash ${GITHUB_WORKSPACE}/.github/helper/update_pot_file.sh + env: + GH_TOKEN: ${{ secrets.RELEASE_TOKEN }} + BASE_BRANCH: ${{ matrix.branch }} diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index f1225de962..6edad6e63e 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -42,7 +42,7 @@ jobs: runs-on: ubuntu-latest needs: checkrun if: ${{ needs.checkrun.outputs.build == 'strawberry' }} - timeout-minutes: 60 + timeout-minutes: 30 env: NODE_ENV: "production" @@ -160,6 +160,10 @@ jobs: cat $f done + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + if: ${{ contains( github.event.pull_request.labels.*.name, 'debug-gha') }} + - name: Upload coverage data uses: actions/upload-artifact@v3 if: github.event_name != 'pull_request' diff --git a/.gitignore b/.gitignore index dc9742e02d..ce4139c263 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ *.py~ *.comp.js *.DS_Store -locale .wnf-lang-status *.swp *.egg-info diff --git a/crowdin.yml b/crowdin.yml index 8e7193d151..ca4980116d 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,4 +1,8 @@ files: - source: /frappe/locale/main.pot translation: /frappe/locale/%two_letters_code%.po -pull_request_title: "chore: sync translations from crowdin" +pull_request_title: "fix: sync translations from crowdin" +pull_request_labels: + - translation +commit_message: "fix: %language% translations" +append_commit_message: false diff --git a/cypress.config.js b/cypress.config.js index 96f89b8152..475b099e9e 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -1,4 +1,5 @@ const { defineConfig } = require("cypress"); +const fs = require("fs"); module.exports = defineConfig({ projectId: "92odwv", @@ -7,7 +8,6 @@ module.exports = defineConfig({ defaultCommandTimeout: 20000, pageLoadTimeout: 15000, video: true, - videoUploadOnPasses: false, viewportHeight: 960, viewportWidth: 1400, retries: { @@ -18,6 +18,19 @@ module.exports = defineConfig({ // We've imported your old cypress plugins here. // You may want to clean this up later by importing these. setupNodeEvents(on, config) { + // Delete videos for specs without failing or retried tests + // https://docs.cypress.io/guides/guides/screenshots-and-videos#Delete-videos-for-specs-without-failing-or-retried-tests + on("after:spec", (spec, results) => { + if (results && results.video) { + const failures = results.tests.some((test) => + test.attempts.some((attempt) => attempt.state === "failed") + ); + if (!failures) { + fs.unlinkSync(results.video); + } + } + }); + return require("./cypress/plugins/index.js")(on, config); }, testIsolation: false, diff --git a/cypress/integration/list_paging.js b/cypress/integration/list_paging.js index cd4e2bc68d..494ca6ae74 100644 --- a/cypress/integration/list_paging.js +++ b/cypress/integration/list_paging.js @@ -37,6 +37,6 @@ context("List Paging", () => { cy.get(".list-paging-area .list-count").should("contain.text", "500 of"); cy.get(".list-paging-area .btn-more").click(); - cy.get(".list-paging-area .list-count").should("contain.text", "1000 of"); + cy.get(".list-paging-area .list-count").should("contain.text", "1,000 of"); }); }); diff --git a/esbuild/esbuild.js b/esbuild/esbuild.js index 3fd1a91fc9..21d6e9ba40 100644 --- a/esbuild/esbuild.js +++ b/esbuild/esbuild.js @@ -156,7 +156,7 @@ async function update_assets_json_from_built_assets(apps) { async function update_assets_obj(app, assets, assets_rtl) { const app_path = path.join(apps_path, app, app); - const dist_path = path.join(app_path, "public, dist"); + const dist_path = path.join(app_path, "public", "dist"); const files = await glob("**/*.bundle.*.{js,css}", { cwd: dist_path }); const prefix = path.join("/", "assets", app, "dist"); diff --git a/frappe/__init__.py b/frappe/__init__.py index 8708849a58..97832b2041 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -504,9 +504,9 @@ def setup_redis_cache_connection(): global cache if not cache: - from frappe.utils.redis_wrapper import RedisWrapper + from frappe.utils.redis_wrapper import setup_cache - cache = RedisWrapper.from_url(conf.get("redis_cache")) + cache = setup_cache() def get_traceback(with_context: bool = False) -> str: @@ -536,8 +536,7 @@ def log(msg: str) -> None: :param msg: Message.""" if not request: - if conf.get("logging"): - print(repr(msg)) + print(repr(msg)) debug_log.append(as_unicode(msg)) @@ -1699,11 +1698,19 @@ def append_hook(target, key, value): target[key].extend(value) -def setup_module_map(include_all_apps=True): - """Rebuild map of all modules (internal).""" - if conf.db_name: +def setup_module_map(include_all_apps: bool = True) -> None: + """ + Function to rebuild map of all modules + + :param: include_all_apps: Include all apps on bench, or just apps installed on the site. + :return: Nothing + """ + if include_all_apps: local.app_modules = cache.get_value("app_modules") local.module_app = cache.get_value("module_app") + else: + local.app_modules = cache.get_value("installed_app_modules") + local.module_app = cache.get_value("module_installed_app") if not (local.app_modules and local.module_app): local.module_app, local.app_modules = {}, {} @@ -1722,9 +1729,12 @@ def setup_module_map(include_all_apps=True): local.module_app[module] = app local.app_modules[app].append(module) - if conf.db_name: + if include_all_apps: cache.set_value("app_modules", local.app_modules) cache.set_value("module_app", local.module_app) + else: + cache.set_value("installed_app_modules", local.app_modules) + cache.set_value("module_installed_app", local.module_app) def get_file_items(path, raise_not_found=False, ignore_empty_lines=True): @@ -2178,24 +2188,27 @@ def get_print( :param as_pdf: Return as PDF. Default False. :param password: Password to encrypt the pdf with. Default None""" from frappe.utils.pdf import get_pdf - from frappe.website.serve import get_response_content + from frappe.website.serve import get_response_without_exception_handling original_form_dict = copy.deepcopy(local.form_dict) + try: + local.form_dict.doctype = doctype + local.form_dict.name = name + local.form_dict.format = print_format + local.form_dict.style = style + local.form_dict.doc = doc + local.form_dict.no_letterhead = no_letterhead + local.form_dict.letterhead = letterhead - local.form_dict.doctype = doctype - local.form_dict.name = name - local.form_dict.format = print_format - local.form_dict.style = style - local.form_dict.doc = doc - local.form_dict.no_letterhead = no_letterhead - local.form_dict.letterhead = letterhead + pdf_options = pdf_options or {} + if password: + pdf_options["password"] = password - pdf_options = pdf_options or {} - if password: - pdf_options["password"] = password + response = get_response_without_exception_handling("printview", 200) + html = str(response.data, "utf-8") + finally: + local.form_dict = original_form_dict - html = get_response_content("printview") - local.form_dict = original_form_dict return get_pdf(html, options=pdf_options, output=output) if as_pdf else html diff --git a/frappe/app.py b/frappe/app.py index 5406aa9016..555752a13b 100644 --- a/frappe/app.py +++ b/frappe/app.py @@ -295,14 +295,15 @@ def make_form_dict(request: Request): args.update(request.args or {}) args.update(request.form or {}) - if not isinstance(args, dict): + if isinstance(args, dict): + frappe.local.form_dict = frappe._dict(args) + # _ is passed by $.ajax so that the request is not cached by the browser. So, remove _ from form_dict + frappe.local.form_dict.pop("_", None) + elif isinstance(args, list): + frappe.local.form_dict["data"] = args + else: frappe.throw(_("Invalid request arguments")) - frappe.local.form_dict = frappe._dict(args) - - # _ is passed by $.ajax so that the request is not cached by the browser. So, remove _ from form_dict - frappe.local.form_dict.pop("_", None) - def handle_exception(e): response = None @@ -398,11 +399,7 @@ def handle_exception(e): def sync_database(rollback: bool) -> bool: # if HTTP method would change server state, commit if necessary - if ( - frappe.db - and (frappe.local.flags.commit or frappe.local.request.method in UNSAFE_HTTP_METHODS) - and frappe.db.transaction_writes - ): + if frappe.db and (frappe.local.flags.commit or frappe.local.request.method in UNSAFE_HTTP_METHODS): frappe.db.commit() rollback = False elif frappe.db: diff --git a/frappe/automation/doctype/assignment_rule/assignment_rule.py b/frappe/automation/doctype/assignment_rule/assignment_rule.py index 4a70c3a21a..5b8ec54df2 100644 --- a/frappe/automation/doctype/assignment_rule/assignment_rule.py +++ b/frappe/automation/doctype/assignment_rule/assignment_rule.py @@ -31,8 +31,8 @@ class AssignmentRule(Document): description: DF.SmallText disabled: DF.Check document_type: DF.Link - due_date_based_on: DF.Literal - field: DF.Literal + due_date_based_on: DF.Literal[None] + field: DF.Literal[None] last_user: DF.Link | None priority: DF.Int rule: DF.Literal["Round Robin", "Load Balancing", "Based on Field"] diff --git a/frappe/automation/doctype/milestone_tracker/milestone_tracker.py b/frappe/automation/doctype/milestone_tracker/milestone_tracker.py index fcda060c58..efc9b91acb 100644 --- a/frappe/automation/doctype/milestone_tracker/milestone_tracker.py +++ b/frappe/automation/doctype/milestone_tracker/milestone_tracker.py @@ -18,7 +18,7 @@ class MilestoneTracker(Document): disabled: DF.Check document_type: DF.Link - track_field: DF.Literal + track_field: DF.Literal[None] # end: auto-generated types def on_update(self): diff --git a/frappe/cache_manager.py b/frappe/cache_manager.py index 8502fff147..b5de94ab9f 100644 --- a/frappe/cache_manager.py +++ b/frappe/cache_manager.py @@ -26,7 +26,9 @@ global_cache_keys = ( "installed_apps", "all_apps", "app_modules", + "installed_app_modules", "module_app", + "module_installed_app", "system_settings", "scheduler_events", "time_zone", diff --git a/frappe/commands/site.py b/frappe/commands/site.py index 382c8849d4..080ce9d048 100644 --- a/frappe/commands/site.py +++ b/frappe/commands/site.py @@ -349,7 +349,7 @@ def partial_restore(context, sql_file_path, verbose, encryption_key=None): with decrypt_backup(sql_file_path, key): if not is_partial(sql_file_path): click.secho( - "Full backup file detected.Use `bench restore` to restore a Frappe Site.", + "Full backup file detected. Use `bench restore` to restore a Frappe Site.", fg="red", ) sys.exit(1) @@ -364,7 +364,7 @@ def partial_restore(context, sql_file_path, verbose, encryption_key=None): else: if not is_partial(sql_file_path): click.secho( - "Full backup file detected.Use `bench restore` to restore a Frappe Site.", + "Full backup file detected. Use `bench restore` to restore a Frappe Site.", fg="red", ) sys.exit(1) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index 9099012a5f..5a61f00140 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -2,6 +2,7 @@ import json import os import subprocess import sys +import typing import click @@ -14,6 +15,9 @@ from frappe.utils import cint, update_progress_bar EXTRA_ARGS_CTX = {"ignore_unknown_options": True, "allow_extra_args": True} +if typing.TYPE_CHECKING: + from IPython.terminal.embed import InteractiveShellEmbed + @click.command("build") @click.option("--app", help="Build assets for app") @@ -514,11 +518,17 @@ def postgres(context, extra_args): def _enter_console(extra_args=None): from frappe.database import get_command + from frappe.utils import get_site_path + + if frappe.conf.db_type == "mariadb": + os.environ["MYSQL_HISTFILE"] = os.path.abspath(get_site_path("logs", "mariadb_console.log")) + else: + os.environ["PSQL_HISTORY"] = os.path.abspath(get_site_path("logs", "postgresql_console.log")) bin, args, bin_name = get_command( host=frappe.conf.db_host, port=frappe.conf.db_port, - user=frappe.conf.db_name, + user=frappe.conf.db_user, password=frappe.conf.db_password, db_name=frappe.conf.db_name, extra=list(extra_args) if extra_args else [], @@ -584,6 +594,18 @@ def _console_cleanup(): frappe.destroy() +def store_logs(terminal: "InteractiveShellEmbed") -> None: + from contextlib import suppress + + frappe.log_level = 20 # info + with suppress(Exception): + logger = frappe.logger("ipython") + logger.info("=== bench console session ===") + for line in terminal.history_manager.get_range(): + logger.info(line[2]) + logger.info("=== session end ===") + + @click.command("console") @click.option("--autoreload", is_flag=True, help="Reload changes to code automatically") @pass_context @@ -607,6 +629,7 @@ def console(context, autoreload=False): all_apps = frappe.get_installed_apps() failed_to_import = [] + register(store_logs, terminal) # Note: atexit runs in reverse order of registration for app in list(all_apps): try: @@ -619,6 +642,14 @@ def console(context, autoreload=False): if failed_to_import: print("\nFailed to import:\n{}".format(", ".join(failed_to_import))) + # ref: https://stackoverflow.com/a/74681224 + try: + from IPython.core import ultratb + + ultratb.VerboseTB._tb_highlight = "bg:ansibrightblack" + except Exception: + pass + terminal.colors = "neutral" terminal.display_banner = False terminal() diff --git a/frappe/core/doctype/communication/email.py b/frappe/core/doctype/communication/email.py index 4acdddf498..c1f8a7946e 100755 --- a/frappe/core/doctype/communication/email.py +++ b/frappe/core/doctype/communication/email.py @@ -47,6 +47,8 @@ def make( email_template=None, communication_type=None, send_after=None, + print_language=None, + now=False, **kwargs, ) -> dict[str, str]: """Make a new communication. Checks for email permissions for specified Document. @@ -102,6 +104,8 @@ def make( communication_type=communication_type, add_signature=False, send_after=send_after, + print_language=print_language, + now=now, ) @@ -128,6 +132,8 @@ def _make( communication_type=None, add_signature=True, send_after=None, + print_language=None, + now=False, ) -> dict[str, str]: """Internal method to make a new communication that ignores Permission checks.""" @@ -181,6 +187,8 @@ def _make( print_format=print_format, send_me_a_copy=send_me_a_copy, print_letterhead=print_letterhead, + print_language=print_language, + now=now, ) emails_not_sent_to = comm.exclude_emails_list(include_sender=send_me_a_copy) diff --git a/frappe/core/doctype/communication/mixins.py b/frappe/core/doctype/communication/mixins.py index 5735895652..655dbfe23f 100644 --- a/frappe/core/doctype/communication/mixins.py +++ b/frappe/core/doctype/communication/mixins.py @@ -184,7 +184,7 @@ class CommunicationEmailMixin: ) return self._incoming_email_account - def mail_attachments(self, print_format=None, print_html=None): + def mail_attachments(self, print_format=None, print_html=None, print_language=None): final_attachments = [] if print_format or print_html: @@ -194,6 +194,7 @@ class CommunicationEmailMixin: "print_format_attachment": 1, "doctype": self.reference_doctype, "name": self.reference_name, + "lang": print_language or frappe.local.lang, } final_attachments.append(d) @@ -256,6 +257,7 @@ class CommunicationEmailMixin: send_me_a_copy=None, print_letterhead=None, is_inbound_mail_communcation=None, + print_language=None, ) -> dict: outgoing_email_account = self.get_outgoing_email_account() if not outgoing_email_account: @@ -272,7 +274,9 @@ class CommunicationEmailMixin: if not (recipients or cc): return {} - final_attachments = self.mail_attachments(print_format=print_format, print_html=print_html) + final_attachments = self.mail_attachments( + print_format=print_format, print_html=print_html, print_language=print_language + ) incoming_email_account = self.get_incoming_email_account() return { "recipients": recipients, @@ -303,6 +307,8 @@ class CommunicationEmailMixin: send_me_a_copy=None, print_letterhead=None, is_inbound_mail_communcation=None, + print_language=None, + now=False, ): if input_dict := self.sendmail_input_dict( print_html=print_html, @@ -310,5 +316,6 @@ class CommunicationEmailMixin: send_me_a_copy=send_me_a_copy, print_letterhead=print_letterhead, is_inbound_mail_communcation=is_inbound_mail_communcation, + print_language=print_language, ): - frappe.sendmail(**input_dict) + frappe.sendmail(now=now, **input_dict) diff --git a/frappe/core/doctype/communication/test_communication.py b/frappe/core/doctype/communication/test_communication.py index bab2d2e019..3d42c823c5 100644 --- a/frappe/core/doctype/communication/test_communication.py +++ b/frappe/core/doctype/communication/test_communication.py @@ -4,7 +4,7 @@ from typing import TYPE_CHECKING import frappe from frappe.core.doctype.communication.communication import Communication, get_emails, parse_email -from frappe.core.doctype.communication.email import add_attachments +from frappe.core.doctype.communication.email import add_attachments, make from frappe.email.doctype.email_queue.email_queue import EmailQueue from frappe.tests.utils import FrappeTestCase diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py index bec8e62316..e83f861457 100644 --- a/frappe/core/doctype/doctype/doctype.py +++ b/frappe/core/doctype/doctype/doctype.py @@ -111,7 +111,7 @@ class DocType(Document): custom: DF.Check default_email_template: DF.Link | None default_print_format: DF.Data | None - default_view: DF.Literal + default_view: DF.Literal[None] description: DF.SmallText | None document_type: DF.Literal["", "Document", "Setup", "System", "Other"] documentation: DF.Data | None @@ -355,6 +355,8 @@ class DocType(Document): for df in new_fields_to_fetch: if df.fieldname not in old_fields_to_fetch: link_fieldname, source_fieldname = df.fetch_from.split(".", 1) + if not source_fieldname: + continue # Invalid expression link_df = new_meta.get_field(link_fieldname) if frappe.db.db_type == "postgres": @@ -1187,7 +1189,7 @@ def validate_fields_for_doctype(doctype): # this is separate because it is also called via custom field -def validate_fields(meta): +def validate_fields(meta: Meta): """Validate doctype fields. Checks 1. There are no illegal characters in fieldnames 2. If fieldnames are unique. @@ -1597,6 +1599,8 @@ def validate_fields(meta): fields = meta.get("fields") fieldname_list = [d.fieldname for d in fields] + in_ci = os.environ.get("CI") + not_allowed_in_list_view = get_fields_not_allowed_in_list_view(meta) for d in fields: @@ -1617,7 +1621,7 @@ def validate_fields(meta): scrub_fetch_from(d) validate_data_field_type(d) - if not frappe.flags.in_migrate: + if not frappe.flags.in_migrate or in_ci: check_unique_fieldname(meta.get("name"), d.fieldname) check_link_table_options(meta.get("name"), d) check_illegal_mandatory(meta.get("name"), d) @@ -1630,7 +1634,7 @@ def validate_fields(meta): check_max_height(d) check_no_of_ratings(d) - if not frappe.flags.in_migrate: + if not frappe.flags.in_migrate or in_ci: check_fold(fields) check_search_fields(meta, fields) check_title_field(meta) diff --git a/frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.py b/frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.py index bb836401c1..c9df8c71ea 100644 --- a/frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.py +++ b/frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.py @@ -15,7 +15,7 @@ class DocumentNamingRuleCondition(Document): from frappe.types import DF condition: DF.Literal["=", "!=", ">", "<", ">=", "<="] - field: DF.Literal + field: DF.Literal[None] parent: DF.Data parentfield: DF.Data parenttype: DF.Data diff --git a/frappe/core/doctype/file/file.py b/frappe/core/doctype/file/file.py index 958c534d06..6e03909c1c 100755 --- a/frappe/core/doctype/file/file.py +++ b/frappe/core/doctype/file/file.py @@ -15,7 +15,7 @@ import frappe from frappe import _ from frappe.database.schema import SPECIAL_CHAR_PATTERN from frappe.model.document import Document -from frappe.permissions import get_doctypes_with_read +from frappe.permissions import SYSTEM_USER_ROLE, get_doctypes_with_read from frappe.utils import call_hook_method, cint, get_files_path, get_hook_method, get_url from frappe.utils.file_manager import is_safe_path from frappe.utils.image import optimize_image, strip_exif_data @@ -789,10 +789,13 @@ def on_doctype_update(): def has_permission(doc, ptype=None, user=None, debug=False): user = user or frappe.session.user - if ptype == "create": - return frappe.has_permission("File", "create", user=user, debug=debug) + if user == "Administrator": + return True - if not doc.is_private or (user != "Guest" and doc.owner == user) or user == "Administrator": + if not doc.is_private and ptype in ("read", "select"): + return True + + if user != "Guest" and doc.owner == user: return True if doc.attached_to_doctype and doc.attached_to_name: @@ -818,10 +821,13 @@ def get_permission_query_conditions(user: str | None = None) -> str: if user == "Administrator": return "" + if SYSTEM_USER_ROLE not in frappe.get_roles(user): + return f""" `tabFile`.`owner` = {frappe.db.escape(user)} """ + readable_doctypes = ", ".join(repr(dt) for dt in get_doctypes_with_read()) return f""" (`tabFile`.`is_private` = 0) - OR (`tabFile`.`attached_to_doctype` IS NULL AND `tabFile`.`owner` = {user !r}) + OR (`tabFile`.`attached_to_doctype` IS NULL AND `tabFile`.`owner` = {frappe.db.escape(user)}) OR (`tabFile`.`attached_to_doctype` IN ({readable_doctypes})) """ diff --git a/frappe/core/doctype/file/test_file.py b/frappe/core/doctype/file/test_file.py index eec1bb60c3..ecd431436f 100644 --- a/frappe/core/doctype/file/test_file.py +++ b/frappe/core/doctype/file/test_file.py @@ -681,41 +681,9 @@ class TestAttachmentsAccess(FrappeTestCase): self.assertNotIn("test_user_standalone.txt", system_manager_files) self.assertIn("test_sm_attachment.txt", system_manager_attachments_files) - self.assertIn("test_sm_attachment.txt", user_attachments_files) self.assertIn("test_user_attachment.txt", system_manager_attachments_files) self.assertIn("test_user_attachment.txt", user_attachments_files) - def test_list_public_single_file(self): - """Ensure that users are able to list public standalone files.""" - frappe.set_user("test@example.com") - frappe.new_doc( - "File", - file_name="test_public_single.txt", - content="Public single File", - is_private=0, - ).insert() - - frappe.set_user("test4@example.com") - files = [file.file_name for file in get_files_in_folder("Home")["files"]] - self.assertIn("test_public_single.txt", files) - - def test_list_public_attachment(self): - """Ensure that users are able to list public attachments.""" - frappe.set_user("test@example.com") - self.attached_to_doctype, self.attached_to_docname = make_test_doc() - frappe.new_doc( - "File", - file_name="test_public_attachment.txt", - attached_to_doctype=self.attached_to_doctype, - attached_to_name=self.attached_to_docname, - content="Public Attachment", - is_private=0, - ).insert() - - frappe.set_user("test4@example.com") - files = [file.file_name for file in get_files_in_folder("Home/Attachments")["files"]] - self.assertIn("test_public_attachment.txt", files) - def tearDown(self) -> None: frappe.set_user("Administrator") frappe.db.rollback() diff --git a/frappe/core/doctype/module_def/module_def.py b/frappe/core/doctype/module_def/module_def.py index 3f88897f05..e44fa559df 100644 --- a/frappe/core/doctype/module_def/module_def.py +++ b/frappe/core/doctype/module_def/module_def.py @@ -19,7 +19,7 @@ class ModuleDef(Document): if TYPE_CHECKING: from frappe.types import DF - app_name: DF.Literal + app_name: DF.Literal[None] custom: DF.Check module_name: DF.Data package: DF.Link | None diff --git a/frappe/core/doctype/module_def/module_def_list.js b/frappe/core/doctype/module_def/module_def_list.js new file mode 100644 index 0000000000..4ff0c203e0 --- /dev/null +++ b/frappe/core/doctype/module_def/module_def_list.js @@ -0,0 +1,16 @@ +frappe.listview_settings["Module Def"] = { + onload: function (list_view) { + frappe.call({ + method: "frappe.core.doctype.module_def.module_def.get_installed_apps", + callback: (r) => { + const field = list_view.page.fields_dict.app_name; + if (!field) return; + + const options = JSON.parse(r.message); + options.unshift(""); // Add empty option + field.df.options = options; + field.set_options(); + }, + }); + }, +}; diff --git a/frappe/core/doctype/permission_inspector/permission_inspector.py b/frappe/core/doctype/permission_inspector/permission_inspector.py index 4197f3f4c9..c85df1648b 100644 --- a/frappe/core/doctype/permission_inspector/permission_inspector.py +++ b/frappe/core/doctype/permission_inspector/permission_inspector.py @@ -60,15 +60,15 @@ class PermissionInspector(Document): ... @staticmethod - def get_list(args): + def get_list(): ... @staticmethod - def get_count(args): + def get_count(): ... @staticmethod - def get_stats(args): + def get_stats(): ... def delete(self): diff --git a/frappe/core/doctype/prepared_report/prepared_report.json b/frappe/core/doctype/prepared_report/prepared_report.json index b64b91c4ef..ec86237d7f 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.json +++ b/frappe/core/doctype/prepared_report/prepared_report.json @@ -83,10 +83,9 @@ }, { "fieldname": "job_id", - "fieldtype": "Link", + "fieldtype": "Data", "label": "Job ID", "no_copy": 1, - "options": "RQ Job", "read_only": 1 }, { @@ -106,7 +105,7 @@ ], "in_create": 1, "links": [], - "modified": "2023-07-01 18:29:12.700239", + "modified": "2024-03-07 12:01:58.209879", "modified_by": "Administrator", "module": "Core", "name": "Prepared Report", diff --git a/frappe/core/doctype/prepared_report/prepared_report.py b/frappe/core/doctype/prepared_report/prepared_report.py index d9f8360c75..6bbda94761 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.py +++ b/frappe/core/doctype/prepared_report/prepared_report.py @@ -31,7 +31,7 @@ class PreparedReport(Document): error_message: DF.Text | None filters: DF.SmallText | None - job_id: DF.Link | None + job_id: DF.Data | None queued_at: DF.Datetime | None queued_by: DF.Data | None report_end_time: DF.Datetime | None @@ -91,7 +91,7 @@ class PreparedReport(Document): def generate_report(prepared_report): update_job_id(prepared_report) - instance = frappe.get_doc("Prepared Report", prepared_report) + instance: PreparedReport = frappe.get_doc("Prepared Report", prepared_report) report = frappe.get_doc("Report", instance.report_name) add_data_to_monitor(report=instance.report_name) @@ -109,7 +109,7 @@ def generate_report(prepared_report): report.custom_columns = data["columns"] result = generate_report_result(report=report, filters=instance.filters, user=instance.owner) - create_json_gz_file(result, instance.doctype, instance.name) + create_json_gz_file(result, instance.doctype, instance.name, instance.report_name) instance.status = "Completed" except Exception: @@ -215,11 +215,13 @@ def delete_prepared_reports(reports): prepared_report.delete(ignore_permissions=True, delete_permanently=True) -def create_json_gz_file(data, dt, dn): +def create_json_gz_file(data, dt, dn, report_name): # Storing data in CSV file causes information loss # Reports like P&L Statement were completely unsuable because of this - json_filename = "{}.json.gz".format(frappe.utils.data.format_datetime(frappe.utils.now(), "Y-m-d-H:M")) - encoded_content = frappe.safe_encode(frappe.as_json(data)) + json_filename = "{}_{}.json.gz".format( + frappe.scrub(report_name), frappe.utils.data.format_datetime(frappe.utils.now(), "Y-m-d-H-M") + ) + encoded_content = frappe.safe_encode(frappe.as_json(data, indent=None, separators=(",", ":"))) compressed_content = gzip.compress(encoded_content) # Call save() file function to upload and attach the file diff --git a/frappe/core/doctype/recorder/recorder.py b/frappe/core/doctype/recorder/recorder.py index 26ccfcf378..ddbf208ad2 100644 --- a/frappe/core/doctype/recorder/recorder.py +++ b/frappe/core/doctype/recorder/recorder.py @@ -39,12 +39,10 @@ class Recorder(Document): super(Document, self).__init__(request) @staticmethod - def get_list(args): - start = cint(args.get("start")) - page_length = cint(args.get("page_length")) or 20 - requests = Recorder.get_filtered_requests(args)[start : start + page_length] + def get_list(filters=None, start=0, page_length=20, order_by="duration desc"): + requests = Recorder.get_filtered_requests(filters)[start : start + page_length] - if order_by_statment := args.get("order_by"): + if order_by_statment := order_by: if "." in order_by_statment: order_by_statment = order_by_statment.split(".")[1] @@ -60,12 +58,11 @@ class Recorder(Document): return sorted(requests, key=lambda r: r.duration, reverse=1) @staticmethod - def get_count(args): - return len(Recorder.get_filtered_requests(args)) + def get_count(filters=None): + return len(Recorder.get_filtered_requests(filters)) @staticmethod - def get_filtered_requests(args): - filters = args.get("filters") + def get_filtered_requests(filters): requests = [serialize_request(request) for request in get_recorder_data()] return [req for req in requests if evaluate_filters(req, filters)] diff --git a/frappe/core/doctype/recorder_query/recorder_query.py b/frappe/core/doctype/recorder_query/recorder_query.py index c797769dda..b3ebc66b98 100644 --- a/frappe/core/doctype/recorder_query/recorder_query.py +++ b/frappe/core/doctype/recorder_query/recorder_query.py @@ -39,15 +39,15 @@ class RecorderQuery(Document): pass @staticmethod - def get_list(args): + def get_list(): pass @staticmethod - def get_count(args): + def get_count(): pass @staticmethod - def get_stats(args): + def get_stats(): pass def delete(self): diff --git a/frappe/core/doctype/role/role.json b/frappe/core/doctype/role/role.json index 1b147e3ddb..c963badf6b 100644 --- a/frappe/core/doctype/role/role.json +++ b/frappe/core/doctype/role/role.json @@ -64,7 +64,7 @@ "options": "Domain" }, { - "description": "Route: Example \"/desk\"", + "description": "Route: Example \"/app\"", "fieldname": "home_page", "fieldtype": "Data", "label": "Home Page" @@ -148,7 +148,7 @@ "idx": 1, "index_web_pages_for_search": 1, "links": [], - "modified": "2023-12-08 15:52:37.525003", + "modified": "2024-03-13 20:59:37.875253", "modified_by": "Administrator", "module": "Core", "name": "Role", diff --git a/frappe/core/doctype/role/role.py b/frappe/core/doctype/role/role.py index e868b5b978..4539093fc9 100644 --- a/frappe/core/doctype/role/role.py +++ b/frappe/core/doctype/role/role.py @@ -3,6 +3,7 @@ import frappe from frappe.model.document import Document +from frappe.website.path_resolver import validate_path desk_properties = ( "search_bar", @@ -14,6 +15,7 @@ desk_properties = ( "timeline", "dashboard", ) +from frappe.website.router import clear_routing_cache STANDARD_ROLES = ("Administrator", "System Manager", "Script Manager", "All", "Guest") @@ -56,6 +58,7 @@ class Role(Document): self.disable_role() else: self.set_desk_properties() + self.validate_homepage() def disable_role(self): if self.name in STANDARD_ROLES: @@ -63,6 +66,13 @@ class Role(Document): else: self.remove_roles() + def validate_homepage(self): + if frappe.request and self.home_page: + validate_path(self.home_page) + + if self.has_value_changed("home_page"): + clear_routing_cache() + def set_desk_properties(self): # set if desk_access is not allowed, unset all desk properties if self.name == "Guest": diff --git a/frappe/core/doctype/rq_job/rq_job.py b/frappe/core/doctype/rq_job/rq_job.py index 995ceda4c7..93ca331443 100644 --- a/frappe/core/doctype/rq_job/rq_job.py +++ b/frappe/core/doctype/rq_job/rq_job.py @@ -76,22 +76,18 @@ class RQJob(Document): return self._job_obj @staticmethod - def get_list(args): - start = cint(args.get("start")) - page_length = cint(args.get("page_length")) or 20 - - order_desc = "desc" in args.get("order_by", "") - - matched_job_ids = RQJob.get_matching_job_ids(args)[start : start + page_length] + def get_list(filters=None, start=0, page_length=20, order_by="modified desc"): + matched_job_ids = RQJob.get_matching_job_ids(filters=filters)[start : start + page_length] conn = get_redis_conn() jobs = [serialize_job(job) for job in Job.fetch_many(job_ids=matched_job_ids, connection=conn) if job] + order_desc = "desc" in order_by return sorted(jobs, key=lambda j: j.modified, reverse=order_desc) @staticmethod - def get_matching_job_ids(args) -> list[str]: - filters = make_filter_dict(args.get("filters")) + def get_matching_job_ids(filters) -> list[str]: + filters = make_filter_dict(filters or []) queues = _eval_filters(filters.get("queue"), QUEUES) statuses = _eval_filters(filters.get("status"), JOB_STATUSES) @@ -117,12 +113,12 @@ class RQJob(Document): frappe.msgprint(_("Job is not running."), title=_("Invalid Operation")) @staticmethod - def get_count(args) -> int: - return len(RQJob.get_matching_job_ids(args)) + def get_count(filters=None) -> int: + return len(RQJob.get_matching_job_ids(filters)) # None of these methods apply to virtual job doctype, overriden for sanity. @staticmethod - def get_stats(args): + def get_stats(): return {} def db_insert(self, *args, **kwargs): diff --git a/frappe/core/doctype/rq_job/test_rq_job.py b/frappe/core/doctype/rq_job/test_rq_job.py index 57c857f7ab..6772fe186a 100644 --- a/frappe/core/doctype/rq_job/test_rq_job.py +++ b/frappe/core/doctype/rq_job/test_rq_job.py @@ -61,18 +61,22 @@ class TestRQJob(FrappeTestCase): def test_get_list_filtering(self): # Check failed job clearning and filtering remove_failed_jobs() - jobs = RQJob.get_list({"filters": [["RQ Job", "status", "=", "failed"]]}) + jobs = frappe.get_all("RQ Job", {"status": "failed"}) self.assertEqual(jobs, []) + # Pass a job + job = frappe.enqueue(method=self.BG_JOB, queue="short") + self.check_status(job, "finished") + # Fail a job job = frappe.enqueue(method=self.BG_JOB, queue="short", fail=True) self.check_status(job, "failed") - jobs = RQJob.get_list({"filters": [["RQ Job", "status", "=", "failed"]]}) + jobs = frappe.get_all("RQ Job", {"status": "failed"}) self.assertEqual(len(jobs), 1) self.assertTrue(jobs[0].exc_info) # Assert that non-failed job still exists - non_failed_jobs = RQJob.get_list({"filters": [["RQ Job", "status", "!=", "failed"]]}) + non_failed_jobs = frappe.get_all("RQ Job", {"status": ("!=", "failed")}) self.assertGreaterEqual(len(non_failed_jobs), 1) # Create a slow job and check if it's stuck in "Started" @@ -174,7 +178,7 @@ class TestRQJob(FrappeTestCase): jobs = [frappe.enqueue(method=self.BG_JOB, queue="short", fail=True) for _ in range(limit * 2)] self.check_status(jobs[-1], "failed") - self.assertLessEqual(RQJob.get_count({"filters": [["RQ Job", "status", "=", "failed"]]}), limit * 1.1) + self.assertLessEqual(RQJob.get_count(filters=[["RQ Job", "status", "=", "failed"]]), limit * 1.1) def test_func(fail=False, sleep=0): diff --git a/frappe/core/doctype/rq_worker/rq_worker.json b/frappe/core/doctype/rq_worker/rq_worker.json index 841c01ddec..cc301be5b3 100644 --- a/frappe/core/doctype/rq_worker/rq_worker.json +++ b/frappe/core/doctype/rq_worker/rq_worker.json @@ -114,7 +114,7 @@ "in_create": 1, "is_virtual": 1, "links": [], - "modified": "2024-01-13 10:36:13.034784", + "modified": "2024-02-29 19:31:08.502527", "modified_by": "Administrator", "module": "Core", "name": "RQ Worker", @@ -141,5 +141,6 @@ "color": "Yellow", "title": "busy" } - ] + ], + "title_field": "pid" } \ No newline at end of file diff --git a/frappe/core/doctype/rq_worker/rq_worker.py b/frappe/core/doctype/rq_worker/rq_worker.py index 34df52c0af..2d5bc996e1 100644 --- a/frappe/core/doctype/rq_worker/rq_worker.py +++ b/frappe/core/doctype/rq_worker/rq_worker.py @@ -38,7 +38,7 @@ class RQWorker(Document): def load_from_db(self): all_workers = get_workers() - workers = [w for w in all_workers if w.pid == cint(self.name)] + workers = [w for w in all_workers if w.name == self.name] if not workers: raise frappe.DoesNotExistError d = serialize_worker(workers[0]) @@ -46,22 +46,19 @@ class RQWorker(Document): super(Document, self).__init__(d) @staticmethod - def get_list(args): - start = cint(args.get("start")) - page_length = cint(args.get("page_length")) or 20 - + def get_list(start=0, page_length=20): workers = get_workers() valid_workers = [w for w in workers if w.pid][start : start + page_length] return [serialize_worker(worker) for worker in valid_workers] @staticmethod - def get_count(args) -> int: + def get_count() -> int: return len(get_workers()) # None of these methods apply to virtual workers, overriden for sanity. @staticmethod - def get_stats(args): + def get_stats(): return {} def db_insert(self, *args, **kwargs): @@ -85,7 +82,7 @@ def serialize_worker(worker: Worker) -> frappe._dict: current_job = None return frappe._dict( - name=worker.pid, + name=worker.name, queue=queue, queue_type=queue_types, worker_name=worker.name, diff --git a/frappe/core/doctype/rq_worker/test_rq_worker.py b/frappe/core/doctype/rq_worker/test_rq_worker.py index f07338d630..14c2b29de7 100644 --- a/frappe/core/doctype/rq_worker/test_rq_worker.py +++ b/frappe/core/doctype/rq_worker/test_rq_worker.py @@ -8,10 +8,10 @@ from frappe.tests.utils import FrappeTestCase class TestRQWorker(FrappeTestCase): def test_get_worker_list(self): - workers = RQWorker.get_list({}) + workers = RQWorker.get_list() self.assertGreaterEqual(len(workers), 1) self.assertTrue(any("short" in w.queue_type for w in workers)) def test_worker_serialization(self): - workers = RQWorker.get_list({}) - frappe.get_doc("RQ Worker", workers[0].pid) + workers = RQWorker.get_list() + frappe.get_doc("RQ Worker", workers[0].name) diff --git a/frappe/core/doctype/server_script/server_script.json b/frappe/core/doctype/server_script/server_script.json index 295289184a..f081b846f3 100644 --- a/frappe/core/doctype/server_script/server_script.json +++ b/frappe/core/doctype/server_script/server_script.json @@ -49,14 +49,15 @@ "in_list_view": 1, "in_standard_filter": 1, "label": "Reference Document Type", - "options": "DocType" + "options": "DocType", + "search_index": 1 }, { "depends_on": "eval:doc.script_type==='DocType Event'", "fieldname": "doctype_event", "fieldtype": "Select", "label": "DocType Event", - "options": "Before Insert\nBefore Validate\nBefore Save\nAfter Insert\nAfter Save\nBefore Submit\nAfter Submit\nBefore Cancel\nAfter Cancel\nBefore Delete\nAfter Delete\nBefore Save (Submitted Document)\nAfter Save (Submitted Document)\nOn Payment Authorization\nOn Payment Paid\nOn Payment Failed" + "options": "Before Insert\nBefore Validate\nBefore Save\nAfter Insert\nAfter Save\nBefore Rename\nAfter Rename\nBefore Submit\nAfter Submit\nBefore Cancel\nAfter Cancel\nBefore Delete\nAfter Delete\nBefore Save (Submitted Document)\nAfter Save (Submitted Document)\nOn Payment Authorization\nOn Payment Paid\nOn Payment Failed" }, { "depends_on": "eval:doc.script_type==='API'", @@ -106,7 +107,8 @@ "fieldname": "module", "fieldtype": "Link", "label": "Module (for export)", - "options": "Module Def" + "options": "Module Def", + "search_index": 1 }, { "depends_on": "eval:doc.script_type==='API'", @@ -149,7 +151,7 @@ "link_fieldname": "server_script" } ], - "modified": "2024-02-06 07:09:45.478533", + "modified": "2024-02-27 11:44:46.397495", "modified_by": "Administrator", "module": "Core", "name": "Server Script", @@ -173,4 +175,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} +} \ No newline at end of file diff --git a/frappe/core/doctype/server_script/server_script.py b/frappe/core/doctype/server_script/server_script.py index 65cd20af1d..fbfa368641 100644 --- a/frappe/core/doctype/server_script/server_script.py +++ b/frappe/core/doctype/server_script/server_script.py @@ -36,6 +36,8 @@ class ServerScript(Document): "Before Save", "After Insert", "After Save", + "Before Rename", + "After Rename", "Before Submit", "After Submit", "Before Cancel", diff --git a/frappe/core/doctype/server_script/server_script_utils.py b/frappe/core/doctype/server_script/server_script_utils.py index 869084f841..c5e1b2c9b3 100644 --- a/frappe/core/doctype/server_script/server_script_utils.py +++ b/frappe/core/doctype/server_script/server_script_utils.py @@ -9,6 +9,8 @@ EVENT_MAP = { "before_validate": "Before Validate", "validate": "Before Save", "on_update": "After Save", + "before_rename": "Before Rename", + "after_rename": "After Rename", "before_submit": "Before Submit", "on_submit": "After Submit", "before_cancel": "Before Cancel", diff --git a/frappe/core/doctype/server_script/test_server_script.py b/frappe/core/doctype/server_script/test_server_script.py index caca5fd858..3dd8d092cf 100644 --- a/frappe/core/doctype/server_script/test_server_script.py +++ b/frappe/core/doctype/server_script/test_server_script.py @@ -82,6 +82,26 @@ frappe.db.commit() disabled=1, script=""" frappe.db.add_index("Todo", ["color", "date"]) +""", + ), + dict( + name="test_before_rename", + script_type="DocType Event", + doctype_event="After Rename", + reference_doctype="Role", + script=""" +doc.desk_access =0 +doc.save() +""", + ), + dict( + name="test_after_rename", + script_type="DocType Event", + doctype_event="After Rename", + reference_doctype="Role", + script=""" +doc.disabled =1 +doc.save() """, ), ] @@ -121,6 +141,12 @@ class TestServerScript(FrappeTestCase): frappe.ValidationError, frappe.get_doc(doctype="ToDo", description="validate me").insert ) + role = frappe.get_doc(doctype="Role", role_name="_Test Role 9").insert(ignore_if_duplicate=True) + role.rename("_Test Role 10") + role.reload() + self.assertEqual(role.disabled, 1) + self.assertEqual(role.desk_access, 0) + def test_api(self): response = requests.post(get_site_url(frappe.local.site) + "/api/method/test_server_script") self.assertEqual(response.status_code, 200) diff --git a/frappe/core/doctype/system_settings/system_settings.json b/frappe/core/doctype/system_settings/system_settings.json index 4d2b2ea46a..c00ecb27df 100644 --- a/frappe/core/doctype/system_settings/system_settings.json +++ b/frappe/core/doctype/system_settings/system_settings.json @@ -68,6 +68,7 @@ "disable_standard_email_footer", "hide_footer_in_auto_email_reports", "attach_view_link", + "store_attached_pdf_document", "welcome_email_template", "reset_password_template", "files_tab", @@ -648,12 +649,19 @@ "fieldtype": "Int", "label": "Link Field Results Limit", "non_negative": 1 + }, + { + "default": "1", + "description": "When sending document using email, store the PDF on Communication. Warning: This can increase your storage usage.", + "fieldname": "store_attached_pdf_document", + "fieldtype": "Check", + "label": "Store Attached PDF Document" } ], "icon": "fa fa-cog", "issingle": 1, "links": [], - "modified": "2024-01-26 11:29:20.924425", + "modified": "2024-03-14 15:18:01.465057", "modified_by": "Administrator", "module": "Core", "name": "System Settings", diff --git a/frappe/core/doctype/system_settings/system_settings.py b/frappe/core/doctype/system_settings/system_settings.py index 5fe1193877..6a444fd5d6 100644 --- a/frappe/core/doctype/system_settings/system_settings.py +++ b/frappe/core/doctype/system_settings/system_settings.py @@ -87,9 +87,10 @@ class SystemSettings(Document): rounding_method: DF.Literal["Banker's Rounding (legacy)", "Banker's Rounding", "Commercial Rounding"] session_expiry: DF.Data | None setup_complete: DF.Check + store_attached_pdf_document: DF.Check strip_exif_metadata_from_uploaded_images: DF.Check time_format: DF.Literal["HH:mm:ss", "HH:mm"] - time_zone: DF.Literal + time_zone: DF.Literal[None] two_factor_method: DF.Literal["OTP App", "SMS", "Email"] welcome_email_template: DF.Link | None # end: auto-generated types diff --git a/frappe/core/doctype/user/test_user.py b/frappe/core/doctype/user/test_user.py index efa7cf60e4..3ede4b4e1b 100644 --- a/frappe/core/doctype/user/test_user.py +++ b/frappe/core/doctype/user/test_user.py @@ -459,7 +459,7 @@ class TestUser(FrappeTestCase): class TestImpersonation(FrappeAPITestCase): def test_impersonation(self): - with test_user(roles=["System Manager"]) as user: + with test_user(roles=["System Manager"], commit=True) as user: self.post( self.method_path("frappe.core.doctype.user.user.impersonate"), {"user": user.name, "reason": "test", "sid": self.sid}, @@ -469,7 +469,9 @@ class TestImpersonation(FrappeAPITestCase): @contextmanager -def test_user(*, first_name: str | None = None, email: str | None = None, roles: list[str], **kwargs): +def test_user( + *, first_name: str | None = None, email: str | None = None, roles: list[str], commit=False, **kwargs +): try: first_name = first_name or frappe.generate_hash() email = email or (first_name + "@example.com") @@ -485,7 +487,7 @@ def test_user(*, first_name: str | None = None, email: str | None = None, roles: yield user finally: user.delete(force=True, ignore_permissions=True) - frappe.db.commit() + commit and frappe.db.commit() def delete_contact(user): diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index f44224e9b5..32e398a32a 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -17,6 +17,7 @@ from frappe.desk.doctype.notification_settings.notification_settings import ( toggle_notifications, ) from frappe.desk.notifications import clear_notifications +from frappe.model.delete_doc import check_if_doc_is_linked from frappe.model.document import Document from frappe.query_builder import DocType from frappe.rate_limiter import rate_limit @@ -587,6 +588,15 @@ class User(Document): frappe.db.delete("OAuth Authorization Code", {"user": self.name}) frappe.db.delete("Token Cache", {"user": self.name}) + # Delete EPS data + frappe.db.delete("Energy Point Log", {"user": self.name}) + + # Ask user to disable instead if document is still linked + try: + check_if_doc_is_linked(self) + except frappe.LinkExistsError: + frappe.throw(_("You can disable the user instead of deleting it."), frappe.LinkExistsError) + def before_rename(self, old_name, new_name, merge=False): frappe.clear_cache(user=old_name) self.validate_rename(old_name, new_name) @@ -841,7 +851,7 @@ def get_perm_info(role): return get_all_perms(role) -@frappe.whitelist(allow_guest=True) +@frappe.whitelist(allow_guest=True, methods=["POST"]) def update_password( new_password: str, logout_all_sessions: int = 0, key: str | None = None, old_password: str | None = None ): @@ -989,7 +999,7 @@ def reset_user_data(user): return user_doc, redirect_url -@frappe.whitelist() +@frappe.whitelist(methods=["POST"]) def verify_password(password): frappe.local.login_manager.check_password(frappe.session.user, password) @@ -1045,7 +1055,7 @@ def sign_up(email: str, full_name: str, redirect_to: str) -> tuple[int, str]: return 2, _("Please ask your administrator to verify your sign-up") -@frappe.whitelist(allow_guest=True) +@frappe.whitelist(allow_guest=True, methods=["POST"]) @rate_limit(limit=get_password_reset_limit, seconds=60 * 60) def reset_password(user: str) -> str: try: @@ -1311,7 +1321,7 @@ def get_restricted_ip_list(user): return [i.strip() for i in user.restrict_ip.split(",")] -@frappe.whitelist() +@frappe.whitelist(methods=["POST"]) def generate_keys(user: str): """ generate api key and api secret diff --git a/frappe/core/doctype/user_type/user_type.py b/frappe/core/doctype/user_type/user_type.py index 1b976e556c..7478b71782 100644 --- a/frappe/core/doctype/user_type/user_type.py +++ b/frappe/core/doctype/user_type/user_type.py @@ -29,7 +29,7 @@ class UserType(Document): role: DF.Link | None select_doctypes: DF.Table[UserSelectDocumentType] user_doctypes: DF.Table[UserDocumentType] - user_id_field: DF.Literal + user_id_field: DF.Literal[None] user_type_modules: DF.Table[UserTypeModule] # end: auto-generated types diff --git a/frappe/custom/doctype/custom_field/custom_field.js b/frappe/custom/doctype/custom_field/custom_field.js index d0c61b6d8c..c7c86c0077 100644 --- a/frappe/custom/doctype/custom_field/custom_field.js +++ b/frappe/custom/doctype/custom_field/custom_field.js @@ -123,13 +123,15 @@ frappe.ui.form.on("Custom Field", { default: frm.doc.fieldname, }, function (data) { - frappe.call({ - method: "frappe.custom.doctype.custom_field.custom_field.rename_fieldname", - args: { - custom_field: frm.doc.name, - fieldname: data.fieldname, - }, - }); + frappe + .xcall( + "frappe.custom.doctype.custom_field.custom_field.rename_fieldname", + { + custom_field: frm.doc.name, + fieldname: data.fieldname, + } + ) + .then(() => frm.reload()); }, __("Rename Fieldname"), __("Rename") diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json index 31b06b02e0..b0971a1381 100644 --- a/frappe/custom/doctype/custom_field/custom_field.json +++ b/frappe/custom/doctype/custom_field/custom_field.json @@ -362,7 +362,7 @@ "label": "Ignore XSS Filter" }, { - "default": "1", + "default": "0", "depends_on": "eval:['Data', 'Select', 'Text', 'Small Text', 'Text Editor'].includes(doc.fieldtype)", "fieldname": "translatable", "fieldtype": "Check", @@ -464,7 +464,7 @@ "idx": 1, "index_web_pages_for_search": 1, "links": [], - "modified": "2024-02-21 18:15:19.384933", + "modified": "2024-03-07 17:34:47.167183", "modified_by": "Administrator", "module": "Custom", "name": "Custom Field", diff --git a/frappe/custom/doctype/custom_field/custom_field.py b/frappe/custom/doctype/custom_field/custom_field.py index 9802839556..4a873523e7 100644 --- a/frappe/custom/doctype/custom_field/custom_field.py +++ b/frappe/custom/doctype/custom_field/custom_field.py @@ -89,7 +89,7 @@ class CustomField(Document): in_list_view: DF.Check in_preview: DF.Check in_standard_filter: DF.Check - insert_after: DF.Literal + insert_after: DF.Literal[None] is_system_generated: DF.Check is_virtual: DF.Check label: DF.Data | None @@ -370,6 +370,7 @@ def rename_fieldname(custom_field: str, fieldname: str): field.db_set("fieldname", field.fieldname, notify=True) _update_fieldname_references(field, old_fieldname, new_fieldname) + frappe.msgprint(_("Custom field renamed to {0} successfully.").format(fieldname), alert=True) frappe.db.commit() frappe.clear_cache() diff --git a/frappe/custom/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py index 7d374785dc..bc0156438f 100644 --- a/frappe/custom/doctype/customize_form/customize_form.py +++ b/frappe/custom/doctype/customize_form/customize_form.py @@ -44,7 +44,7 @@ class CustomizeForm(Document): autoname: DF.Data | None default_email_template: DF.Link | None default_print_format: DF.Link | None - default_view: DF.Literal + default_view: DF.Literal[None] doc_type: DF.Link | None editable_grid: DF.Check email_append_to: DF.Check @@ -75,7 +75,7 @@ class CustomizeForm(Document): sender_name_field: DF.Data | None show_preview_popup: DF.Check show_title_field_in_link: DF.Check - sort_field: DF.Literal + sort_field: DF.Literal[None] sort_order: DF.Literal["ASC", "DESC"] states: DF.Table[DocTypeState] subject_field: DF.Data | None diff --git a/frappe/custom/doctype/doctype_layout_field/doctype_layout_field.py b/frappe/custom/doctype/doctype_layout_field/doctype_layout_field.py index ffd3b61ccf..df25c1eff8 100644 --- a/frappe/custom/doctype/doctype_layout_field/doctype_layout_field.py +++ b/frappe/custom/doctype/doctype_layout_field/doctype_layout_field.py @@ -14,7 +14,7 @@ class DocTypeLayoutField(Document): if TYPE_CHECKING: from frappe.types import DF - fieldname: DF.Literal + fieldname: DF.Literal[None] label: DF.Data | None parent: DF.Data parentfield: DF.Data diff --git a/frappe/custom/doctype/property_setter/patches/__init__.py b/frappe/custom/doctype/property_setter/patches/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/custom/doctype/property_setter/patches/remove_invalid_fetch_from_expressions.py b/frappe/custom/doctype/property_setter/patches/remove_invalid_fetch_from_expressions.py new file mode 100644 index 0000000000..a660facc56 --- /dev/null +++ b/frappe/custom/doctype/property_setter/patches/remove_invalid_fetch_from_expressions.py @@ -0,0 +1,28 @@ +from contextlib import suppress + +import frappe + + +def execute(): + """Remove invalid fetch from expressions""" + with suppress(Exception): + property_setters = frappe.get_all( + "Property Setter", {"doctype_or_field": "DocField", "property": "fetch_from"}, ["name", "value"] + ) + for ps in property_setters: + if not is_valid_expression(ps.value): + frappe.db.delete("Property Setter", {"name": ps.name}) + + custom_fields = frappe.get_all("Custom Field", {"fetch_from": ("is", "set")}, ["name", "fetch_from"]) + for cf in custom_fields: + if not is_valid_expression(cf.fetch_from): + frappe.db.set_value("Custom Field", cf.name, "fetch_from", "") + + +def is_valid_expression(expr) -> bool: + if not expr or "." not in expr: + return False + source_field, target_field = expr.split(".", maxsplit=1) + if not source_field or not target_field: + return False + return True diff --git a/frappe/database/database.py b/frappe/database/database.py index 93b157cafe..d56d35e5be 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -184,7 +184,7 @@ class Database: """ if isinstance(query, MySQLQueryBuilder | PostgreSQLQueryBuilder): - frappe.errprint("Use run method to execute SQL queries generated by Query Engine") + frappe.log("Use run method to execute SQL queries generated by Query Engine") debug = debug or getattr(self, "debug", False) query = str(query) @@ -224,7 +224,7 @@ class Database: self._cursor.execute(query, values) except Exception as e: if self.is_syntax_error(e): - frappe.errprint(f"Syntax error in query:\n{query} {values or ''}") + frappe.log(f"Syntax error in query:\n{query} {values or ''}") elif self.is_deadlocked(e): raise frappe.QueryDeadlockError(e) from e @@ -244,13 +244,13 @@ class Database: # TODO: added temporarily elif self.db_type == "postgres": traceback.print_stack() - frappe.errprint(f"Error in query:\n{e}") + frappe.log(f"Error in query:\n{e}") raise elif isinstance(e, self.ProgrammingError): if frappe.conf.developer_mode: traceback.print_stack() - frappe.errprint(f"Error in query:\n{query, values}") + frappe.log(f"Error in query:\n{query, values}") raise if not ( @@ -261,7 +261,7 @@ class Database: if debug: time_end = time() - frappe.errprint(f"Execution time: {time_end - time_start:.2f} sec") + frappe.log(f"Execution time: {time_end - time_start:.2f} sec") self.log_query(query, values, debug, explain) @@ -333,7 +333,7 @@ class Database: _query = _query or str(mogrified_query) if explain and is_query_type(_query, "select"): self.explain_query(_query) - frappe.errprint(_query) + frappe.log(_query) if frappe.conf.logging == 2: _query = _query or str(mogrified_query) @@ -381,14 +381,14 @@ class Database: def explain_query(self, query, values=None): """Print `EXPLAIN` in error log.""" - frappe.errprint("--- query explain ---") + frappe.log("--- query explain ---") try: self._cursor.execute(f"EXPLAIN {query}", values) except Exception as e: - frappe.errprint(f"error in query explain: {e}") + frappe.log(f"error in query explain: {e}") else: - frappe.errprint(json.dumps(self.fetch_as_dict(), indent=1)) - frappe.errprint("--- query explain end ---") + frappe.log(json.dumps(self.fetch_as_dict(), indent=1)) + frappe.log("--- query explain end ---") def sql_list(self, query, values=(), debug=False, **kwargs): """Return data as list of single elements (first column). @@ -474,6 +474,7 @@ class Database: pluck=False, distinct=False, skip_locked=False, + wait=True, ): """Return a document property or list of properties. @@ -488,6 +489,7 @@ class Database: :param pluck: pluck first column instead of returning as nested list or dict. :param for_update: All the affected/read rows will be locked. :param skip_locked: Skip selecting currently locked rows. + :param wait: Wait for aquiring lock Example: @@ -519,6 +521,7 @@ class Database: distinct=distinct, limit=1, skip_locked=skip_locked, + wait=wait, ) if not run: @@ -552,6 +555,7 @@ class Database: distinct=False, limit=None, skip_locked=False, + wait=True, ): """Return multiple document properties. @@ -592,6 +596,7 @@ class Database: limit=limit, as_dict=as_dict, skip_locked=skip_locked, + wait=True, for_update=for_update, ) @@ -619,6 +624,7 @@ class Database: limit=limit, for_update=for_update, skip_locked=skip_locked, + wait=wait, ) except Exception as e: if ignore and ( @@ -856,6 +862,7 @@ class Database: update=None, for_update=False, skip_locked=False, + wait=True, run=True, pluck=False, distinct=False, @@ -867,6 +874,7 @@ class Database: order_by=order_by, for_update=for_update, skip_locked=skip_locked, + wait=wait, fields=fields, distinct=distinct, limit=limit, @@ -892,6 +900,7 @@ class Database: as_dict=False, for_update=False, skip_locked=False, + wait=True, ): if names := list(filter(None, names)): return frappe.qb.get_query( @@ -904,6 +913,7 @@ class Database: validate_filters=True, for_update=for_update, skip_locked=skip_locked, + wait=wait, ).run(debug=debug, run=run, as_dict=as_dict, pluck=pluck) return {} diff --git a/frappe/database/mariadb/database.py b/frappe/database/mariadb/database.py index 650f5c5cc1..4ac1c092c9 100644 --- a/frappe/database/mariadb/database.py +++ b/frappe/database/mariadb/database.py @@ -437,7 +437,6 @@ class MariaDBDatabase(MariaDBConnectionUtil, MariaDBExceptionUtil, Database): db_table = MariaDBTable(doctype, meta) db_table.validate() - self.commit() db_table.sync() self.commit() diff --git a/frappe/database/mariadb/framework_mariadb.sql b/frappe/database/mariadb/framework_mariadb.sql index 4c69eafded..91ef69645c 100644 --- a/frappe/database/mariadb/framework_mariadb.sql +++ b/frappe/database/mariadb/framework_mariadb.sql @@ -176,6 +176,7 @@ CREATE TABLE `tabDocType` ( `idx` int(8) NOT NULL DEFAULT 0, `search_fields` varchar(255) DEFAULT NULL, `issingle` int(1) NOT NULL DEFAULT 0, + `is_virtual` int(1) NOT NULL DEFAULT 0, `is_tree` int(1) NOT NULL DEFAULT 0, `istable` int(1) NOT NULL DEFAULT 0, `editable_grid` int(1) NOT NULL DEFAULT 1, diff --git a/frappe/database/mariadb/schema.py b/frappe/database/mariadb/schema.py index ccd8c2c1d9..22b88b2639 100644 --- a/frappe/database/mariadb/schema.py +++ b/frappe/database/mariadb/schema.py @@ -61,7 +61,7 @@ class MariaDBTable(DBTable): CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci""" - frappe.db.sql(query) + frappe.db.sql_ddl(query) def alter(self): for col in self.columns.values(): diff --git a/frappe/database/postgres/database.py b/frappe/database/postgres/database.py index 24ef6c0197..78763fe2f7 100644 --- a/frappe/database/postgres/database.py +++ b/frappe/database/postgres/database.py @@ -12,7 +12,12 @@ from psycopg2.errorcodes import ( UNDEFINED_TABLE, UNIQUE_VIOLATION, ) -from psycopg2.errors import ReadOnlySqlTransaction, SequenceGeneratorLimitExceeded, SyntaxError +from psycopg2.errors import ( + LockNotAvailable, + ReadOnlySqlTransaction, + SequenceGeneratorLimitExceeded, + SyntaxError, +) from psycopg2.extensions import ISOLATION_LEVEL_REPEATABLE_READ import frappe @@ -53,7 +58,7 @@ class PostgresExceptionUtil: @staticmethod def is_timedout(e): # http://initd.org/psycopg/docs/extensions.html?highlight=datatype#psycopg2.extensions.QueryCanceledError - return isinstance(e, psycopg2.extensions.QueryCanceledError) + return isinstance(e, (psycopg2.extensions.QueryCanceledError | LockNotAvailable)) @staticmethod def is_read_only_mode_error(e) -> bool: @@ -323,7 +328,6 @@ class PostgresDatabase(PostgresExceptionUtil, Database): db_table = PostgresTable(doctype, meta) db_table.validate() - self.commit() db_table.sync() self.commit() diff --git a/frappe/database/postgres/framework_postgres.sql b/frappe/database/postgres/framework_postgres.sql index 37605be0f6..e27cbffe0f 100644 --- a/frappe/database/postgres/framework_postgres.sql +++ b/frappe/database/postgres/framework_postgres.sql @@ -179,6 +179,7 @@ CREATE TABLE "tabDocType" ( "idx" bigint NOT NULL DEFAULT 0, "search_fields" varchar(255) DEFAULT NULL, "issingle" smallint NOT NULL DEFAULT 0, + "is_virtual" smallint NOT NULL DEFAULT 0, "is_tree" smallint NOT NULL DEFAULT 0, "istable" smallint NOT NULL DEFAULT 0, "editable_grid" smallint NOT NULL DEFAULT 1, diff --git a/frappe/database/postgres/setup_db.py b/frappe/database/postgres/setup_db.py index 89e9f513aa..fe46cd3998 100644 --- a/frappe/database/postgres/setup_db.py +++ b/frappe/database/postgres/setup_db.py @@ -19,10 +19,9 @@ def setup_database(): root_conn.sql(f"CREATE USER \"{frappe.conf.db_user}\" WITH PASSWORD '{frappe.conf.db_password}'") root_conn.sql(f'CREATE DATABASE "{frappe.conf.db_name}"') root_conn.sql(f'GRANT ALL PRIVILEGES ON DATABASE "{frappe.conf.db_name}" TO "{frappe.conf.db_user}"') - if psql_version := root_conn.sql("SELECT VERSION()", as_dict=True): - version_string = psql_version[0].get("version") or "PostgreSQL 14" - major_version = cint(re.split(r"[\w\.]", version_string)[1]) - if major_version > 15: + if psql_version := root_conn.sql("SHOW server_version_num", as_dict=True): + semver_version_num = psql_version[0].get("server_version_num") or "140000" + if cint(semver_version_num) > 150000: root_conn.sql(f'ALTER DATABASE "{frappe.conf.db_name}" OWNER TO "{frappe.conf.db_user}"') root_conn.close() diff --git a/frappe/database/query.py b/frappe/database/query.py index c7a7eee240..2a28375428 100644 --- a/frappe/database/query.py +++ b/frappe/database/query.py @@ -48,6 +48,7 @@ class Engine: *, validate_filters: bool = False, skip_locked: bool = False, + wait: bool = True, ) -> QueryBuilder: self.is_mariadb = frappe.db.db_type == "mariadb" self.is_postgres = frappe.db.db_type == "postgres" @@ -84,7 +85,7 @@ class Engine: self.query = self.query.distinct() if for_update: - self.query = self.query.for_update(skip_locked=skip_locked) + self.query = self.query.for_update(skip_locked=skip_locked, nowait=not wait) if group_by: self.query = self.query.groupby(group_by) diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index e595e19831..beefbc3ce6 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -338,6 +338,7 @@ class Workspace: for doc in onboarding_doc.get_steps(): step = doc.as_dict().copy() step.label = _(doc.title) + step.description = _(doc.description) if step.action == "Create Entry": step.is_submittable = frappe.db.get_value( "DocType", step.reference_document, "is_submittable", cache=True diff --git a/frappe/desk/doctype/bulk_update/bulk_update.py b/frappe/desk/doctype/bulk_update/bulk_update.py index e7b2a0e62d..a010e50e02 100644 --- a/frappe/desk/doctype/bulk_update/bulk_update.py +++ b/frappe/desk/doctype/bulk_update/bulk_update.py @@ -21,7 +21,7 @@ class BulkUpdate(Document): condition: DF.SmallText | None document_type: DF.Link - field: DF.Literal + field: DF.Literal[None] limit: DF.Int update_value: DF.SmallText # end: auto-generated types diff --git a/frappe/desk/doctype/calendar_view/calendar_view.py b/frappe/desk/doctype/calendar_view/calendar_view.py index cd74381079..eccdea83c8 100644 --- a/frappe/desk/doctype/calendar_view/calendar_view.py +++ b/frappe/desk/doctype/calendar_view/calendar_view.py @@ -14,10 +14,10 @@ class CalendarView(Document): from frappe.types import DF all_day: DF.Check - end_date_field: DF.Literal + end_date_field: DF.Literal[None] reference_doctype: DF.Link - start_date_field: DF.Literal - subject_field: DF.Literal + start_date_field: DF.Literal[None] + subject_field: DF.Literal[None] # end: auto-generated types pass diff --git a/frappe/desk/doctype/console_log/console_log.json b/frappe/desk/doctype/console_log/console_log.json index 3653a26eab..a2955bf814 100644 --- a/frappe/desk/doctype/console_log/console_log.json +++ b/frappe/desk/doctype/console_log/console_log.json @@ -35,7 +35,7 @@ ], "index_web_pages_for_search": 1, "links": [], - "modified": "2023-09-19 13:02:56.332137", + "modified": "2024-03-12 20:35:43.921009", "modified_by": "Administrator", "module": "Desk", "name": "Console Log", @@ -44,7 +44,6 @@ "permissions": [ { "create": 1, - "delete": 1, "email": 1, "export": 1, "print": 1, diff --git a/frappe/desk/doctype/console_log/console_log.py b/frappe/desk/doctype/console_log/console_log.py index d618bb240b..e45ccb7c9f 100644 --- a/frappe/desk/doctype/console_log/console_log.py +++ b/frappe/desk/doctype/console_log/console_log.py @@ -1,7 +1,7 @@ # Copyright (c) 2020, Frappe Technologies and contributors # License: MIT. See LICENSE -# import frappe +import frappe from frappe.model.document import Document @@ -19,4 +19,6 @@ class ConsoleLog(Document): type: DF.Data | None # end: auto-generated types - pass + def after_delete(self): + # because on_trash can be bypassed + frappe.throw(frappe._("Console Logs can not be deleted")) diff --git a/frappe/desk/doctype/dashboard_chart/dashboard_chart.py b/frappe/desk/doctype/dashboard_chart/dashboard_chart.py index 318f139a33..f6badeac44 100644 --- a/frappe/desk/doctype/dashboard_chart/dashboard_chart.py +++ b/frappe/desk/doctype/dashboard_chart/dashboard_chart.py @@ -335,8 +335,8 @@ class DashboardChart(Document): from frappe.desk.doctype.dashboard_chart_field.dashboard_chart_field import DashboardChartField from frappe.types import DF - aggregate_function_based_on: DF.Literal - based_on: DF.Literal + aggregate_function_based_on: DF.Literal[None] + based_on: DF.Literal[None] chart_name: DF.Data chart_type: DF.Literal["Count", "Sum", "Average", "Group By", "Custom", "Report"] color: DF.Color | None @@ -345,9 +345,9 @@ class DashboardChart(Document): dynamic_filters_json: DF.Code | None filters_json: DF.Code from_date: DF.Date | None - group_by_based_on: DF.Literal + group_by_based_on: DF.Literal[None] group_by_type: DF.Literal["Count", "Sum", "Average"] - heatmap_year: DF.Literal + heatmap_year: DF.Literal[None] is_public: DF.Check is_standard: DF.Check last_synced_on: DF.Datetime | None @@ -363,8 +363,8 @@ class DashboardChart(Document): to_date: DF.Date | None type: DF.Literal["Line", "Bar", "Percentage", "Pie", "Donut", "Heatmap"] use_report_chart: DF.Check - value_based_on: DF.Literal - x_field: DF.Literal + value_based_on: DF.Literal[None] + x_field: DF.Literal[None] y_axis: DF.Table[DashboardChartField] # end: auto-generated types diff --git a/frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.py b/frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.py index 1578e9504d..8c9ab1a655 100644 --- a/frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.py +++ b/frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.py @@ -18,7 +18,7 @@ class DashboardChartField(Document): parent: DF.Data parentfield: DF.Data parenttype: DF.Data - y_field: DF.Literal + y_field: DF.Literal[None] # end: auto-generated types pass diff --git a/frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py b/frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py index faf38263cd..902bafacf0 100644 --- a/frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py +++ b/frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py @@ -1,23 +1,22 @@ # Copyright (c) 2019, Frappe Technologies and contributors # License: MIT. See LICENSE -import os +import shutil +from pathlib import Path import frappe +from frappe import _ from frappe.model.document import Document from frappe.modules import get_module_path, scrub from frappe.modules.export_file import export_to_files +FOLDER_NAME = "dashboard_chart_source" + @frappe.whitelist() -def get_config(name): - doc = frappe.get_doc("Dashboard Chart Source", name) - with open( - os.path.join( - get_module_path(doc.module), "dashboard_chart_source", scrub(doc.name), scrub(doc.name) + ".js" - ), - ) as f: - return f.read() +def get_config(name: str) -> str: + doc: "DashboardChartSource" = frappe.get_doc("Dashboard Chart Source", name) + return doc.read_config() class DashboardChartSource(Document): @@ -35,4 +34,31 @@ class DashboardChartSource(Document): # end: auto-generated types def on_update(self): + if not frappe.request: + return + + if not frappe.conf.developer_mode: + frappe.throw(_("Creation of this document is only permitted in developer mode.")) + export_to_files(record_list=[[self.doctype, self.name]], record_module=self.module, create_init=True) + + def on_trash(self): + if not frappe.conf.developer_mode and not frappe.flags.in_migrate: + frappe.throw(_("Deletion of this document is only permitted in developer mode.")) + + frappe.db.after_commit.add(self.delete_folder) + + def read_config(self) -> str: + """Return the config JS file for this dashboard chart source.""" + config_path = self.get_folder_path() / f"{scrub(self.name)}.js" + return config_path.read_text() if config_path.exists() else "" + + def delete_folder(self): + """Delete the folder for this dashboard chart source.""" + path = self.get_folder_path() + if path.exists(): + shutil.rmtree(path, ignore_errors=True) + + def get_folder_path(self) -> Path: + """Return the path of the folder for this dashboard chart source.""" + return Path(get_module_path(self.module)) / FOLDER_NAME / frappe.scrub(self.name) diff --git a/frappe/desk/doctype/form_tour_step/form_tour_step.py b/frappe/desk/doctype/form_tour_step/form_tour_step.py index f0cbbf633f..1dc14f6ecb 100644 --- a/frappe/desk/doctype/form_tour_step/form_tour_step.py +++ b/frappe/desk/doctype/form_tour_step/form_tour_step.py @@ -17,7 +17,7 @@ class FormTourStep(Document): child_doctype: DF.Data | None description: DF.HTMLEditor element_selector: DF.Data | None - fieldname: DF.Literal + fieldname: DF.Literal[None] fieldtype: DF.Data | None has_next_condition: DF.Check hide_buttons: DF.Check @@ -32,7 +32,7 @@ class FormTourStep(Document): ondemand_description: DF.HTMLEditor | None parent: DF.Data parent_element_selector: DF.Data | None - parent_fieldname: DF.Literal + parent_fieldname: DF.Literal[None] parentfield: DF.Data parenttype: DF.Data popover_element: DF.Check diff --git a/frappe/desk/doctype/kanban_board/kanban_board.py b/frappe/desk/doctype/kanban_board/kanban_board.py index c8d26acb03..c50ecf3fc6 100644 --- a/frappe/desk/doctype/kanban_board/kanban_board.py +++ b/frappe/desk/doctype/kanban_board/kanban_board.py @@ -19,7 +19,7 @@ class KanbanBoard(Document): from frappe.types import DF columns: DF.Table[KanbanBoardColumn] - field_name: DF.Literal + field_name: DF.Literal[None] fields: DF.Code | None filters: DF.Code | None kanban_board_name: DF.Data diff --git a/frappe/desk/doctype/number_card/number_card.py b/frappe/desk/doctype/number_card/number_card.py index aea6743ce1..612a864d98 100644 --- a/frappe/desk/doctype/number_card/number_card.py +++ b/frappe/desk/doctype/number_card/number_card.py @@ -22,7 +22,7 @@ class NumberCard(Document): if TYPE_CHECKING: from frappe.types import DF - aggregate_function_based_on: DF.Literal + aggregate_function_based_on: DF.Literal[None] color: DF.Color | None document_type: DF.Link | None dynamic_filters_json: DF.Code | None @@ -35,7 +35,7 @@ class NumberCard(Document): method: DF.Data | None module: DF.Link | None parent_document_type: DF.Link | None - report_field: DF.Literal + report_field: DF.Literal[None] report_function: DF.Literal["Sum", "Average", "Minimum", "Maximum"] report_name: DF.Link | None show_percentage_stats: DF.Check diff --git a/frappe/desk/doctype/onboarding_step/onboarding_step.py b/frappe/desk/doctype/onboarding_step/onboarding_step.py index f3f9ce4472..bd8690bca0 100644 --- a/frappe/desk/doctype/onboarding_step/onboarding_step.py +++ b/frappe/desk/doctype/onboarding_step/onboarding_step.py @@ -24,7 +24,7 @@ class OnboardingStep(Document): callback_message: DF.SmallText | None callback_title: DF.Data | None description: DF.MarkdownEditor | None - field: DF.Literal + field: DF.Literal[None] form_tour: DF.Link | None intro_video_url: DF.Data | None is_complete: DF.Check diff --git a/frappe/desk/doctype/system_console/system_console.py b/frappe/desk/doctype/system_console/system_console.py index b91ad749bc..8ddd1f6539 100644 --- a/frappe/desk/doctype/system_console/system_console.py +++ b/frappe/desk/doctype/system_console/system_console.py @@ -57,7 +57,10 @@ def execute_code(doc): @frappe.whitelist() def show_processlist(): frappe.only_for("System Manager") + return _show_processlist() + +def _show_processlist(): return frappe.db.multisql( { "postgres": """ diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index bcec8e2b52..71ee7bee24 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -299,6 +299,7 @@ def update_page(name, title, icon, indicator_color, parent, public): ) if doc: + child_docs = frappe.get_all("Workspace", filters={"parent_page": doc.title, "public": doc.public}) doc.title = title doc.icon = icon doc.indicator_color = indicator_color @@ -314,7 +315,6 @@ def update_page(name, title, icon, indicator_color, parent, public): rename_doc("Workspace", name, new_name, force=True, ignore_permissions=True) # update new name and public in child pages - child_docs = frappe.get_all("Workspace", filters={"parent_page": doc.title, "public": doc.public}) if child_docs: for child in child_docs: child_doc = frappe.get_doc("Workspace", child.name) diff --git a/frappe/desk/form/load.py b/frappe/desk/form/load.py index d983cf96bc..9b01c8ecee 100644 --- a/frappe/desk/form/load.py +++ b/frappe/desk/form/load.py @@ -257,7 +257,7 @@ def get_point_logs(doctype, docname): def _get_communications(doctype, name, start=0, limit=20): communications = get_communication_data(doctype, name, start, limit) for c in communications: - if c.communication_type == "Communication": + if c.communication_type in ("Communication", "Automated Message"): c.attachments = json.dumps( frappe.get_all( "File", diff --git a/frappe/desk/query_report.py b/frappe/desk/query_report.py index 79947b1161..5197df9178 100644 --- a/frappe/desk/query_report.py +++ b/frappe/desk/query_report.py @@ -374,7 +374,7 @@ def build_xlsx_data(data, visible_idx, include_indentation, include_filters=Fals datetime.timedelta, ) - if len(visible_idx) == len(data.result): + if len(visible_idx) == len(data.result) or not visible_idx: # It's not possible to have same length and different content. ignore_visible_idx = True else: diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index 0e394f534e..499f106b5a 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -13,7 +13,8 @@ from frappe.model import child_table_fields, default_fields, get_permitted_field from frappe.model.base_document import get_controller from frappe.model.db_query import DatabaseQuery from frappe.model.utils import is_virtual_doctype -from frappe.utils import add_user_info, format_duration +from frappe.utils import add_user_info, cint, format_duration +from frappe.utils.data import sbool @frappe.whitelist() @@ -23,7 +24,7 @@ def get(): # If virtual doctype, get data from controller get_list method if is_virtual_doctype(args.doctype): controller = get_controller(args.doctype) - data = compress(controller.get_list(args)) + data = compress(frappe.call(controller.get_list, args=args, **args)) else: data = compress(execute(**args), args=args) return data @@ -36,7 +37,7 @@ def get_list(): if is_virtual_doctype(args.doctype): controller = get_controller(args.doctype) - data = controller.get_list(args) + data = frappe.call(controller.get_list, args=args, **args) else: # uncompressed (refactored from frappe.model.db_query.get_list) data = execute(**args) @@ -51,13 +52,23 @@ def get_count() -> int: if is_virtual_doctype(args.doctype): controller = get_controller(args.doctype) - data = controller.get_count(args) + count = frappe.call(controller.get_count, args=args, **args) else: - distinct = "distinct " if args.distinct == "true" else "" - args.fields = [f"count({distinct}`tab{args.doctype}`.name) as total_count"] - data = execute(**args)[0].get("total_count") + args.distinct = sbool(args.distinct) + distinct = "distinct " if args.distinct else "" + args.limit = cint(args.limit) + fieldname = f"{distinct}`tab{args.doctype}`.name" + args.order_by = None - return data + if args.limit: + args.fields = [fieldname] + partial_query = execute(**args, run=0) + count = frappe.db.sql(f"""select count(*) from ( {partial_query} ) p""")[0][0] + else: + args.fields = [f"count({fieldname}) as total_count"] + count = execute(**args)[0].get("total_count") + + return count def execute(doctype, *args, **kwargs): @@ -227,6 +238,10 @@ def parse_json(data): data["save_user_settings"] = json.loads(data["save_user_settings"]) else: data["save_user_settings"] = True + if isinstance(data.get("start"), str): + data["start"] = cint(data.get("start")) + if isinstance(data.get("page_length"), str): + data["page_length"] = cint(data.get("page_length")) def get_parenttype_and_fieldname(field, data): @@ -509,7 +524,7 @@ def get_sidebar_stats(stats, doctype, filters=None): if is_virtual_doctype(doctype): controller = get_controller(doctype) args = {"stats": stats, "filters": filters} - data = controller.get_stats(args) + data = frappe.call(controller.get_stats, args=args, **args) else: data = get_stats(stats, doctype, filters) diff --git a/frappe/desk/search.py b/frappe/desk/search.py index 1523e9326b..85b4a9fdfb 100644 --- a/frappe/desk/search.py +++ b/frappe/desk/search.py @@ -260,6 +260,8 @@ def build_for_autosuggest(res: list[tuple], doctype: str) -> list[LinkSearchResu if meta.show_title_field_in_link: for item in res: item = list(item) + if len(item) == 1: + item = [item[0], item[0]] label = item[1] # use title as label item[1] = item[0] # show name in description instead of title if len(item) >= 3 and item[2] == label: diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.py b/frappe/email/doctype/auto_email_report/auto_email_report.py index 9ec44ab383..558a1eeb3d 100644 --- a/frappe/email/doctype/auto_email_report/auto_email_report.py +++ b/frappe/email/doctype/auto_email_report/auto_email_report.py @@ -53,14 +53,14 @@ class AutoEmailReport(Document): filters: DF.Text | None format: DF.Literal["HTML", "XLSX", "CSV"] frequency: DF.Literal["Daily", "Weekdays", "Weekly", "Monthly"] - from_date_field: DF.Literal + from_date_field: DF.Literal[None] no_of_rows: DF.Int reference_report: DF.Data | None report: DF.Link report_type: DF.ReadOnly | None send_if_data: DF.Check sender: DF.Link | None - to_date_field: DF.Literal + to_date_field: DF.Literal[None] use_first_day_of_period: DF.Check user: DF.Link # end: auto-generated types @@ -345,7 +345,9 @@ def make_links(columns, data): if col.options and row.get(col.options): row[col.fieldname] = get_link_to_form(row[col.options], row[col.fieldname]) elif col.fieldtype == "Currency": - doc = frappe.get_doc(col.parent, doc_name) if doc_name and col.get("parent") else None + doc = None + if doc_name and col.get("parent") and not frappe.get_meta(col.parent).istable: + doc = frappe.get_doc(col.parent, doc_name) # Pass the Document to get the currency based on docfield option row[col.fieldname] = frappe.format_value(row[col.fieldname], col, doc=doc) return columns, data diff --git a/frappe/email/doctype/email_queue/email_queue.py b/frappe/email/doctype/email_queue/email_queue.py index 53ad93bbe1..a297669ff6 100644 --- a/frappe/email/doctype/email_queue/email_queue.py +++ b/frappe/email/doctype/email_queue/email_queue.py @@ -386,11 +386,33 @@ class SendMailContext: elif attachment.get("print_format_attachment") == 1: attachment.pop("print_format_attachment", None) print_format_file = frappe.attach_print(**attachment) + self._store_file(print_format_file["fname"], print_format_file["fcontent"]) print_format_file.update({"parent": message_obj}) add_attachment(**print_format_file) return safe_encode(message_obj.as_string()) + def _store_file(self, file_name, content): + if not frappe.get_system_settings("store_attached_pdf_document"): + return + + file_data = frappe._dict(file_name=file_name, is_private=1) + + # Store on communication if available, else email queue doc + if self.queue_doc.communication: + file_data.attached_to_doctype = "Communication" + file_data.attached_to_name = self.queue_doc.communication + else: + file_data.attached_to_doctype = self.queue_doc.doctype + file_data.attached_to_name = self.queue_doc.name + + if frappe.db.exists("File", file_data): + return + + file = frappe.new_doc("File", **file_data) + file.content = content + file.insert() + @frappe.whitelist() def bulk_retry(queues): diff --git a/frappe/email/doctype/notification/notification.py b/frappe/email/doctype/notification/notification.py index 79a90b811d..9baf6e519e 100644 --- a/frappe/email/doctype/notification/notification.py +++ b/frappe/email/doctype/notification/notification.py @@ -34,7 +34,7 @@ class Notification(Document): attach_print: DF.Check channel: DF.Literal["Email", "Slack", "System Notification", "SMS"] condition: DF.Code | None - date_changed: DF.Literal + date_changed: DF.Literal[None] days_in_advance: DF.Int document_type: DF.Link enabled: DF.Check @@ -62,10 +62,10 @@ class Notification(Document): send_to_all_assignees: DF.Check sender: DF.Link | None sender_email: DF.Data | None - set_property_after_alert: DF.Literal + set_property_after_alert: DF.Literal[None] slack_webhook_url: DF.Link | None subject: DF.Data | None - value_changed: DF.Literal + value_changed: DF.Literal[None] # end: auto-generated types def onload(self): @@ -282,6 +282,9 @@ def get_context(context): bcc=bcc, communication_type="Automated Message", ).get("name") + # set the outgoing email account because we did in fact send it via sendmail above + comm = frappe.get_doc("Communication", communication) + comm.get_outgoing_email_account() frappe.sendmail( recipients=recipients, diff --git a/frappe/email/doctype/notification_recipient/notification_recipient.py b/frappe/email/doctype/notification_recipient/notification_recipient.py index 004a7f8353..c415b84fc3 100644 --- a/frappe/email/doctype/notification_recipient/notification_recipient.py +++ b/frappe/email/doctype/notification_recipient/notification_recipient.py @@ -19,7 +19,7 @@ class NotificationRecipient(Document): parent: DF.Data parentfield: DF.Data parenttype: DF.Data - receiver_by_document_field: DF.Literal + receiver_by_document_field: DF.Literal[None] receiver_by_role: DF.Link | None # end: auto-generated types diff --git a/frappe/handler.py b/frappe/handler.py index 01f2bbeea6..87e856f95a 100644 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -187,7 +187,8 @@ def upload_file(): optimize = frappe.form_dict.optimize content = None - if frappe.form_dict.get("library_file_name", False): + if library_file := frappe.form_dict.get("library_file_name"): + frappe.has_permission("File", doc=library_file, throw=True) doc = frappe.get_value( "File", frappe.form_dict.library_file_name, diff --git a/frappe/hooks.py b/frappe/hooks.py index 907f337c7b..3487a73fa5 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -174,6 +174,7 @@ doc_events = { "frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions", "frappe.automation.doctype.assignment_rule.assignment_rule.apply", "frappe.automation.doctype.assignment_rule.assignment_rule.update_due_date", + "frappe.core.doctype.file.utils.attach_files_to_document", ], "on_change": [ "frappe.social.doctype.energy_point_rule.energy_point_rule.process_energy_points", @@ -413,6 +414,8 @@ ignore_links_on_delete = [ "Unhandled Email", "Webhook Request Log", "Workspace", + "Route History", + "Access Log", ] # Request Hooks @@ -438,7 +441,7 @@ after_job = [ "frappe.recorder.dump", "frappe.monitor.stop", "frappe.utils.file_lock.release_document_locks", - "frappe.utils.telemetry.flush", + "frappe.utils.background_jobs.flush_telemetry", ] extend_bootinfo = [ diff --git a/frappe/installer.py b/frappe/installer.py index f6081b1310..2c34fb378a 100644 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -374,6 +374,14 @@ def remove_app(app_name, dry_run=False, yes=False, no_backup=False, force=False) click.secho(f"App {app_name} not installed on Site {site}", fg="yellow") return + # Don't allow uninstalling if we have dependent apps installed + for app in frappe.get_installed_apps(): + if app != app_name: + hooks = frappe.get_hooks(app_name=app) + if hooks.required_apps and any(app_name in required_app for required_app in hooks.required_apps): + click.secho(f"App {app_name} is a dependency of {app}. Uninstall {app} first.", fg="yellow") + return + print(f"Uninstalling App {app_name} from Site {site}...") if not dry_run and not yes: @@ -783,7 +791,7 @@ def is_downgrade(sql_file_path, verbose=False): is_downgrade = backup_version > current_version if verbose and is_downgrade: - print(f"Your site will be downgraded from Frappe {current_version} to {backup_version}") + print(f"Your site is currently on Frappe {current_version} and your backup is {backup_version}.") return is_downgrade diff --git a/frappe/integrations/doctype/push_notification_settings/__init__.py b/frappe/integrations/doctype/push_notification_settings/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/integrations/doctype/push_notification_settings/push_notification_settings.js b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.js new file mode 100644 index 0000000000..5321fea2a2 --- /dev/null +++ b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.js @@ -0,0 +1,8 @@ +// Copyright (c) 2024, Frappe Technologies and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Push Notification Settings", { +// refresh(frm) { + +// }, +// }); diff --git a/frappe/integrations/doctype/push_notification_settings/push_notification_settings.json b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.json new file mode 100644 index 0000000000..da1d6373a8 --- /dev/null +++ b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.json @@ -0,0 +1,69 @@ +{ + "actions": [], + "allow_rename": 1, + "beta": 1, + "creation": "2024-01-04 11:36:08.013039", + "description": "Enabling this will register your site on a central relay server to send push notifications for all installed apps through Firebase Cloud Messaging. This server only stores user tokens and error logs, and no messages are saved.", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "section_break_qgjr", + "enable_push_notification_relay", + "authentication_credential_section", + "api_key", + "api_secret" + ], + "fields": [ + { + "default": "0", + "fieldname": "enable_push_notification_relay", + "fieldtype": "Check", + "label": "Enable Push Notification Relay" + }, + { + "description": "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site.", + "fieldname": "authentication_credential_section", + "fieldtype": "Section Break", + "label": "Authentication" + }, + { + "fieldname": "api_key", + "fieldtype": "Data", + "label": "API Key" + }, + { + "fieldname": "api_secret", + "fieldtype": "Password", + "label": "API Secret" + }, + { + "description": "Enabling this will register your site on a central relay server to send push notifications for all installed apps through Firebase Cloud Messaging. This server only stores user tokens and error logs, and no messages are saved. ", + "fieldname": "section_break_qgjr", + "fieldtype": "Section Break", + "label": "Relay Settings" + } + ], + "index_web_pages_for_search": 1, + "issingle": 1, + "links": [], + "modified": "2024-02-28 11:03:30.518196", + "modified_by": "Administrator", + "module": "Integrations", + "name": "Push Notification Settings", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "print": 1, + "read": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/frappe/integrations/doctype/push_notification_settings/push_notification_settings.py b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.py new file mode 100644 index 0000000000..83a8cb0a83 --- /dev/null +++ b/frappe/integrations/doctype/push_notification_settings/push_notification_settings.py @@ -0,0 +1,31 @@ +# Copyright (c) 2024, Frappe Technologies and contributors +# For license information, please see license.txt + +import frappe +from frappe import _ +from frappe.model.document import Document + + +class PushNotificationSettings(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + api_key: DF.Data | None + api_secret: DF.Password | None + enable_push_notification_relay: DF.Check + # end: auto-generated types + + def validate(self): + self.validate_relay_server_setup() + + def validate_relay_server_setup(self): + if self.enable_push_notification_relay and not frappe.conf.get("push_relay_server_url"): + frappe.throw( + _("The Push Relay Server URL key (`push_relay_server_url`) is missing in your site config"), + title=_("Relay Server URL missing"), + ) diff --git a/frappe/integrations/doctype/push_notification_settings/test_push_notification_settings.py b/frappe/integrations/doctype/push_notification_settings/test_push_notification_settings.py new file mode 100644 index 0000000000..bca569f948 --- /dev/null +++ b/frappe/integrations/doctype/push_notification_settings/test_push_notification_settings.py @@ -0,0 +1,9 @@ +# Copyright (c) 2024, Frappe Technologies and Contributors +# See license.txt + +# import frappe +from frappe.tests.utils import FrappeTestCase + + +class TestPushNotificationSettings(FrappeTestCase): + pass diff --git a/frappe/integrations/doctype/webhook_data/webhook_data.py b/frappe/integrations/doctype/webhook_data/webhook_data.py index 72392aefb6..9916767c65 100644 --- a/frappe/integrations/doctype/webhook_data/webhook_data.py +++ b/frappe/integrations/doctype/webhook_data/webhook_data.py @@ -14,7 +14,7 @@ class WebhookData(Document): if TYPE_CHECKING: from frappe.types import DF - fieldname: DF.Literal + fieldname: DF.Literal[None] key: DF.Data parent: DF.Data parentfield: DF.Data diff --git a/frappe/integrations/workspace/integrations/integrations.json b/frappe/integrations/workspace/integrations/integrations.json index 73a1a393a5..3fe9965bcc 100644 --- a/frappe/integrations/workspace/integrations/integrations.json +++ b/frappe/integrations/workspace/integrations/integrations.json @@ -1,6 +1,6 @@ { "charts": [], - "content": "[{\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Backup\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Google Services\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Authentication\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]", + "content": "[{\"id\":\"NPK_AfSLQ2\",\"type\":\"header\",\"data\":{\"text\":\"Reports & Masters\",\"col\":12}},{\"id\":\"lDOo58F7ZI\",\"type\":\"card\",\"data\":{\"card_name\":\"Backup\",\"col\":4}},{\"id\":\"ij1pcK8jst\",\"type\":\"card\",\"data\":{\"card_name\":\"Google Services\",\"col\":4}},{\"id\":\"aTlMujEHpN\",\"type\":\"card\",\"data\":{\"card_name\":\"Authentication\",\"col\":4}},{\"id\":\"gY5NXKtXss\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"n_CI3GGqW-\",\"type\":\"card\",\"data\":{\"card_name\":\"Push Notifications\",\"col\":4}}]", "creation": "2020-03-02 15:16:18.714190", "custom_blocks": [], "docstatus": 0, @@ -197,9 +197,28 @@ "link_type": "DocType", "onboard": 0, "type": "Link" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Push Notifications", + "link_count": 1, + "link_type": "DocType", + "onboard": 0, + "type": "Card Break" + }, + { + "hidden": 0, + "is_query_report": 0, + "label": "Push Notification Settings", + "link_count": 0, + "link_to": "Push Notification Settings", + "link_type": "DocType", + "onboard": 0, + "type": "Link" } ], - "modified": "2023-05-24 14:58:55.910408", + "modified": "2024-02-28 10:47:38.188832", "modified_by": "Administrator", "module": "Integrations", "name": "Integrations", diff --git a/frappe/locale/ar.po b/frappe/locale/ar.po index 48be18581c..d30f4dcbd4 100644 --- a/frappe/locale/ar.po +++ b/frappe/locale/ar.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" -"POT-Creation-Date: 2024-02-16 17:24+0053\n" -"PO-Revision-Date: 2024-02-19 05:40\n" +"POT-Creation-Date: 2024-02-29 04:42+0000\n" +"PO-Revision-Date: 2024-02-29 05:12\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" @@ -194,7 +194,7 @@ msgstr "HTML" msgid "'In Global Search' is not allowed for field {0} of type {1}" msgstr "" -#: core/doctype/doctype/doctype.py:1301 +#: core/doctype/doctype/doctype.py:1303 msgid "'In Global Search' not allowed for type {0} in row {1}" msgstr "\"في البحث العام\" غير مسموح للنوع {0} في الصف {1}" @@ -214,7 +214,7 @@ msgstr "لم يتم تحديد "المستلمين"" msgid "'{0}' is not a valid URL" msgstr "" -#: core/doctype/doctype/doctype.py:1295 +#: core/doctype/doctype/doctype.py:1297 msgid "'{0}' not allowed for type {1} in row {2}" msgstr ""{0}" غير مسموح به للنوع {1} في الصف {2}" @@ -243,7 +243,7 @@ msgctxt "Web Page" msgid "0 is highest" msgstr "0 أعلى قيمة" -#: public/js/frappe/form/grid_row.js:806 +#: public/js/frappe/form/grid_row.js:807 msgid "1 = True & 0 = False" msgstr "" @@ -270,7 +270,7 @@ msgstr "" msgid "1 comment" msgstr "تعليق واحد" -#: tests/test_utils.py:668 +#: tests/test_utils.py:669 msgid "1 day ago" msgstr "" @@ -278,15 +278,15 @@ msgstr "" msgid "1 hour" msgstr "" -#: public/js/frappe/utils/pretty_date.js:52 tests/test_utils.py:666 +#: public/js/frappe/utils/pretty_date.js:52 tests/test_utils.py:667 msgid "1 hour ago" msgstr "منذ 1 ساعة" -#: public/js/frappe/utils/pretty_date.js:48 tests/test_utils.py:664 +#: public/js/frappe/utils/pretty_date.js:48 tests/test_utils.py:665 msgid "1 minute ago" msgstr "منذ 1 دقيقة" -#: public/js/frappe/utils/pretty_date.js:66 tests/test_utils.py:672 +#: public/js/frappe/utils/pretty_date.js:66 tests/test_utils.py:673 msgid "1 month ago" msgstr "قبل شهر" @@ -294,35 +294,35 @@ msgstr "قبل شهر" msgid "1 record will be exported" msgstr "سيتم تصدير سجل واحد" -#: tests/test_utils.py:663 +#: tests/test_utils.py:664 msgid "1 second ago" msgstr "" -#: public/js/frappe/utils/pretty_date.js:62 tests/test_utils.py:670 +#: public/js/frappe/utils/pretty_date.js:62 tests/test_utils.py:671 msgid "1 week ago" msgstr "1 قبل أسبوع" -#: public/js/frappe/utils/pretty_date.js:70 tests/test_utils.py:674 +#: public/js/frappe/utils/pretty_date.js:70 tests/test_utils.py:675 msgid "1 year ago" msgstr "منذ سنة" -#: tests/test_utils.py:667 +#: tests/test_utils.py:668 msgid "2 hours ago" msgstr "" -#: tests/test_utils.py:673 +#: tests/test_utils.py:674 msgid "2 months ago" msgstr "" -#: tests/test_utils.py:671 +#: tests/test_utils.py:672 msgid "2 weeks ago" msgstr "" -#: tests/test_utils.py:675 +#: tests/test_utils.py:676 msgid "2 years ago" msgstr "" -#: tests/test_utils.py:665 +#: tests/test_utils.py:666 msgid "3 minutes ago" msgstr "" @@ -338,11 +338,11 @@ msgstr "" msgid "5 Records" msgstr "5 السجلات" -#: tests/test_utils.py:669 +#: tests/test_utils.py:670 msgid "5 days ago" msgstr "" -#: public/js/frappe/list/list_view.js:990 +#: public/js/frappe/list/list_view.js:988 msgid "99" msgstr "" @@ -610,7 +610,7 @@ msgid "
To interact with above HTML you will have to use `root_element` as a p "" msgstr "" -#: twofactor.py:461 +#: twofactor.py:462 msgid "
Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" msgstr "" @@ -697,7 +697,7 @@ msgstr "" msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs." msgstr "" -#: core/doctype/doctype/doctype.py:1013 +#: core/doctype/doctype/doctype.py:1015 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "" @@ -705,11 +705,11 @@ msgstr "" msgid "A featured post must have a cover image" msgstr "يجب أن تحتوي الوظيفة المميزة على صورة غلاف" -#: custom/doctype/custom_field/custom_field.py:172 +#: custom/doctype/custom_field/custom_field.py:173 msgid "A field with the name {0} already exists in {1}" msgstr "" -#: core/doctype/file/file.py:255 +#: core/doctype/file/file.py:254 msgid "A file with same name {} already exists" msgstr "" @@ -844,12 +844,25 @@ msgctxt "Google Settings" msgid "API Key" msgstr "مفتاح API" +#. Label of a Data field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key" +msgstr "مفتاح API" + #. Label of a Data field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" msgid "API Key" msgstr "مفتاح API" +#. Description of the 'Authentication' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site." +msgstr "" + #. Description of the 'API Key' (Data) field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -862,6 +875,12 @@ msgctxt "Server Script" msgid "API Method" msgstr "طريقة API" +#. Label of a Password field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Secret" +msgstr "كلمة مرور API" + #. Label of a Password field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -965,7 +984,7 @@ msgctxt "Social Login Key" msgid "Access Token URL" msgstr "رابط رمز الدخول" -#: auth.py:445 +#: auth.py:451 msgid "Access not allowed from this IP Address" msgstr "الوصول غير مسموح به من عنوان IP هذا" @@ -1045,7 +1064,7 @@ msgstr "العمل / الطريق" msgid "Action Complete" msgstr "" -#: model/document.py:1652 +#: model/document.py:1668 msgid "Action Failed" msgstr "فشل العمل" @@ -1186,7 +1205,7 @@ msgstr "سجل النشاط" #: core/page/permission_manager/permission_manager.js:476 #: email/doctype/email_group/email_group.js:60 -#: public/js/frappe/form/grid_row.js:469 +#: public/js/frappe/form/grid_row.js:470 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 #: public/js/frappe/list/bulk_operations.js:393 @@ -1202,7 +1221,7 @@ msgctxt "Primary action in list view" msgid "Add" msgstr "إضافة" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Add / Remove Columns" msgstr "" @@ -1214,7 +1233,7 @@ msgstr "إضافة / تحديث" msgid "Add A New Rule" msgstr "إضافة قاعدة جديدة" -#: public/js/frappe/views/communication.js:529 +#: public/js/frappe/views/communication.js:555 #: public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "إضافة مرفق" @@ -1316,7 +1335,7 @@ msgstr "" msgid "Add Review" msgstr "إضافة مراجعة" -#: core/doctype/user/user.py:794 +#: core/doctype/user/user.py:798 msgid "Add Roles" msgstr "" @@ -1324,7 +1343,7 @@ msgstr "" msgid "Add Row" msgstr "" -#: public/js/frappe/views/communication.js:117 +#: public/js/frappe/views/communication.js:118 msgid "Add Signature" msgstr "إضافة التوقيع" @@ -1355,12 +1374,12 @@ msgstr "إضافة المشتركين" msgid "Add Tags" msgstr "" -#: public/js/frappe/list/list_view.js:1858 +#: public/js/frappe/list/list_view.js:1865 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "" -#: public/js/frappe/views/communication.js:362 +#: public/js/frappe/views/communication.js:387 msgid "Add Template" msgstr "" @@ -1463,7 +1482,7 @@ msgstr "وأضاف HTML في القسم <head> من صفحة الويب، msgid "Added default log doctypes: {}" msgstr "" -#: core/doctype/file/file.py:717 +#: core/doctype/file/file.py:718 msgid "Added {0}" msgstr "تمت الإضافة {0}" @@ -1472,7 +1491,7 @@ msgstr "تمت الإضافة {0}" msgid "Added {0} ({1})" msgstr "وأضاف {0} ({1})" -#: core/doctype/user/user.py:300 +#: core/doctype/user/user.py:304 msgid "Adding System Manager to this User as there must be atleast one System Manager" msgstr "لابد من إضافة صلاحية مدير النظام لهذا المستخدم حيث لابد أن يكون هناك على الأقل مستخدم له هذه الصلاحية" @@ -1599,11 +1618,11 @@ msgstr "الادارة" msgid "Administrator" msgstr "مدير" -#: core/doctype/user/user.py:1198 +#: core/doctype/user/user.py:1202 msgid "Administrator Logged In" msgstr "تسجيل دخول مسؤول النظام" -#: core/doctype/user/user.py:1192 +#: core/doctype/user/user.py:1196 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr ".{2} المسؤول ولج {0} بتاريخ {1} عبر العنوان" @@ -1654,6 +1673,12 @@ msgctxt "Server Script" msgid "After Insert" msgstr "" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "After Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -2179,7 +2204,7 @@ msgstr "" msgid "Allowing DocType, DocType. Be careful!" msgstr "السماح DOCTYPE ، DOCTYPE . كن حذرا!" -#: core/doctype/user/user.py:1001 +#: core/doctype/user/user.py:1005 msgid "Already Registered" msgstr "مسجل بالفعل" @@ -2431,7 +2456,7 @@ msgstr "المفتاح السري للتطبيق" msgid "App not found for module: {0}" msgstr "" -#: __init__.py:1765 +#: __init__.py:1782 msgid "App {0} is not installed" msgstr "لم يتم تثبيت التطبيق {0}" @@ -2510,7 +2535,7 @@ msgctxt "Property Setter" msgid "Applied On" msgstr "تم التطبيق" -#: public/js/frappe/list/list_view.js:1843 +#: public/js/frappe/list/list_view.js:1850 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "تطبيق قاعدة الواجب" @@ -2616,7 +2641,7 @@ msgstr "أرشفة" msgid "Archived Columns" msgstr "أعمدة من الأرشيف" -#: public/js/frappe/list/list_view.js:1822 +#: public/js/frappe/list/list_view.js:1829 msgid "Are you sure you want to clear the assignments?" msgstr "" @@ -2715,7 +2740,7 @@ msgstr "تعيين الشرط" msgid "Assign To" msgstr "تكليف إلى" -#: public/js/frappe/list/list_view.js:1804 +#: public/js/frappe/list/list_view.js:1811 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "تكليف إلى" @@ -2884,11 +2909,11 @@ msgctxt "Notification Settings" msgid "Assignments" msgstr "تعيينات" -#: public/js/frappe/form/grid_row.js:649 +#: public/js/frappe/form/grid_row.js:650 msgid "At least one column is required to show in the grid." msgstr "" -#: website/doctype/web_form/web_form.js:64 +#: website/doctype/web_form/web_form.js:63 msgid "At least one field is required in Web Form Fields Table" msgstr "" @@ -2924,7 +2949,7 @@ msgctxt "Web Form Field" msgid "Attach" msgstr "إرفاق" -#: public/js/frappe/views/communication.js:139 +#: public/js/frappe/views/communication.js:140 msgid "Attach Document Print" msgstr "إرفاق طباعة المستند" @@ -2998,7 +3023,7 @@ msgctxt "File" msgid "Attached To Name" msgstr "أرفقت للأسم" -#: core/doctype/file/file.py:141 +#: core/doctype/file/file.py:140 msgid "Attached To Name must be a string or an integer" msgstr "" @@ -3032,7 +3057,7 @@ msgctxt "Email Domain" msgid "Attachment Limit (MB)" msgstr "الحد مرفق (MB)" -#: core/doctype/file/file.py:322 +#: core/doctype/file/file.py:321 #: public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" msgstr "" @@ -3055,7 +3080,7 @@ msgctxt "Communication" msgid "Attachment Removed" msgstr "تم حذف المرفق" -#: core/doctype/file/utils.py:40 +#: core/doctype/file/utils.py:37 #: email/doctype/newsletter/templates/newsletter.html:47 #: public/js/frappe/form/templates/form_sidebar.html:65 #: website/doctype/web_form/templates/web_form.html:103 @@ -3115,6 +3140,12 @@ msgctxt "Email Account" msgid "Authentication" msgstr "المصادقة" +#. Label of a Section Break field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Authentication" +msgstr "المصادقة" + #: www/qrcode.html:19 msgid "Authentication Apps you can use are: " msgstr "تطبيقات المصادقة التي يمكنك استخدامها هي:" @@ -3531,7 +3562,7 @@ msgctxt "Print Settings" msgid "B9" msgstr "" -#: public/js/frappe/views/communication.js:76 +#: public/js/frappe/views/communication.js:77 msgid "BCC" msgstr "" @@ -3591,6 +3622,12 @@ msgctxt "RQ Job" msgid "Background Jobs" msgstr "خلفية عن الخبرات السابقة" +#. Label of a Autocomplete field in DocType 'Webhook' +#: integrations/doctype/webhook/webhook.json +msgctxt "Webhook" +msgid "Background Jobs Queue" +msgstr "" + #. Label of a Section Break field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3667,6 +3704,10 @@ msgctxt "System Settings" msgid "Backups" msgstr "النسخ الاحتياطية" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:63 +msgid "Bad Cron Expression" +msgstr "" + #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3745,7 +3786,7 @@ msgctxt "Social Login Key" msgid "Base URL" msgstr "الرابط الأساسي" -#: printing/page/print/print.js:266 printing/page/print/print.js:320 +#: printing/page/print/print.js:273 printing/page/print/print.js:327 msgid "Based On" msgstr "وبناء على" @@ -3797,6 +3838,12 @@ msgctxt "Server Script" msgid "Before Insert" msgstr "قبل إدراج" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "Before Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -4354,7 +4401,7 @@ msgstr "" msgid "CANCELLED" msgstr "ملغي" -#: public/js/frappe/views/communication.js:71 +#: public/js/frappe/views/communication.js:72 msgid "CC" msgstr "نسخة" @@ -4478,7 +4525,7 @@ msgctxt "DocType" msgid "Calendar View" msgstr "عرض التقويم" -#: contacts/doctype/contact/contact.js:50 +#: contacts/doctype/contact/contact.js:55 msgid "Call" msgstr "أتصال" @@ -4518,7 +4565,7 @@ msgctxt "Onboarding Step" msgid "Callback Title" msgstr "عنوان رد الاتصال" -#: public/js/frappe/ui/capture.js:326 +#: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "الة تصوير" @@ -4565,11 +4612,11 @@ msgstr "" msgid "Can Write" msgstr "" -#: custom/doctype/custom_field/custom_field.py:359 +#: custom/doctype/custom_field/custom_field.py:360 msgid "Can not rename as column {0} is already present on DocType." msgstr "" -#: core/doctype/doctype/doctype.py:1110 +#: core/doctype/doctype/doctype.py:1112 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "" @@ -4589,7 +4636,7 @@ msgstr "" msgid "Cancel" msgstr "إلغاء" -#: public/js/frappe/list/list_view.js:1913 +#: public/js/frappe/list/list_view.js:1920 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "إلغاء" @@ -4642,7 +4689,7 @@ msgstr "الغاء جميع الوثائق" msgid "Cancel Scheduling" msgstr "" -#: public/js/frappe/list/list_view.js:1918 +#: public/js/frappe/list/list_view.js:1925 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "إلغاء {0} وثائق؟" @@ -4715,7 +4762,7 @@ msgstr "لا يمكن إزالة" msgid "Cannot Update After Submit" msgstr "" -#: core/doctype/file/file.py:573 +#: core/doctype/file/file.py:574 msgid "Cannot access file path {0}" msgstr "" @@ -4731,11 +4778,11 @@ msgstr "لا يمكن الإلغاء قبل الإرسال. انظر الانت msgid "Cannot cancel {0}." msgstr "" -#: model/document.py:827 +#: model/document.py:843 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "" -#: model/document.py:841 +#: model/document.py:857 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "" @@ -4747,7 +4794,7 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "لا يمكن تغيير حالة الوثيقة ملغاة ." -#: core/doctype/doctype/doctype.py:1100 +#: core/doctype/doctype/doctype.py:1102 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "" @@ -4759,7 +4806,7 @@ msgstr "لا يمكن إنشاء {0} ضد مستند طفل: {1}" msgid "Cannot create private workspace of other users" msgstr "" -#: core/doctype/file/file.py:152 +#: core/doctype/file/file.py:151 msgid "Cannot delete Home and Attachments folders" msgstr "لا يمكن حذف المجلدات الرئيسية والمرفقات" @@ -4819,7 +4866,7 @@ msgstr "" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "لا يمكنك التعديل على التقارير القياسية. يرجى نسخ التقريرالقياسي و التعديل على النسخة الجديدة" -#: model/document.py:847 +#: model/document.py:863 msgid "Cannot edit cancelled document" msgstr "لا يمكنك التعديل على وثيقة ملغية" @@ -4835,19 +4882,19 @@ msgstr "لا تستطيع تعديل الحقول القياسية" msgid "Cannot enable {0} for a non-submittable doctype" msgstr "" -#: core/doctype/file/file.py:250 +#: core/doctype/file/file.py:249 msgid "Cannot find file {} on disk" msgstr "" -#: core/doctype/file/file.py:519 +#: core/doctype/file/file.py:520 msgid "Cannot get file contents of a Folder" msgstr "" -#: printing/page/print/print.js:817 +#: printing/page/print/print.js:824 msgid "Cannot have multiple printers mapped to a single print format." msgstr "لا يمكن تعيين طابعات متعددة على تنسيق طباعة واحد." -#: model/document.py:915 +#: model/document.py:931 msgid "Cannot link cancelled document: {0}" msgstr "لا يمكن ربط وثيقة إلغاء: {0}" @@ -4908,7 +4955,7 @@ msgstr "" msgid "Capitalization doesn't help very much." msgstr "القيمة لا يساعد كثيرا جدا." -#: public/js/frappe/ui/capture.js:286 +#: public/js/frappe/ui/capture.js:294 msgid "Capture" msgstr "" @@ -4966,7 +5013,7 @@ msgctxt "Help Category" msgid "Category Name" msgstr "اسم التصنيف" -#: utils/data.py:1466 +#: utils/data.py:1469 msgid "Cent" msgstr "سنت" @@ -4997,11 +5044,11 @@ msgid "Chaining Hash" msgstr "تسلسل هاش" #: public/js/frappe/form/templates/form_sidebar.html:11 -#: tests/test_translate.py:98 +#: tests/test_translate.py:97 msgid "Change" msgstr "تغيير" -#: tests/test_translate.py:99 +#: tests/test_translate.py:98 msgctxt "Coins" msgid "Change" msgstr "تغيير" @@ -5163,7 +5210,7 @@ msgctxt "Web Template Field" msgid "Check" msgstr "التحقق من" -#: integrations/doctype/webhook/webhook.py:96 +#: integrations/doctype/webhook/webhook.py:98 msgid "Check Request URL" msgstr "تحقق من عنوان الرابط المطلوب" @@ -5233,7 +5280,7 @@ msgctxt "Form Tour Step" msgid "Child Doctype" msgstr "" -#: core/doctype/doctype/doctype.py:1582 +#: core/doctype/doctype/doctype.py:1584 msgid "Child Table {0} for field {1}" msgstr "" @@ -5287,15 +5334,15 @@ msgstr "المدينة / البلدة" msgid "Clear" msgstr "واضح" -#: public/js/frappe/views/communication.js:367 +#: public/js/frappe/views/communication.js:392 msgid "Clear & Add Template" msgstr "" -#: public/js/frappe/views/communication.js:98 +#: public/js/frappe/views/communication.js:99 msgid "Clear & Add template" msgstr "" -#: public/js/frappe/list/list_view.js:1819 +#: public/js/frappe/list/list_view.js:1826 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "" @@ -5322,7 +5369,7 @@ msgstr "" msgid "Clear User Permissions" msgstr "مسح أذونات المستخدم" -#: public/js/frappe/views/communication.js:368 +#: public/js/frappe/views/communication.js:393 msgid "Clear the email message and add the template" msgstr "" @@ -5380,7 +5427,7 @@ msgstr "انقر فوق {0} لإنشاء تحديث الرمز المميز." #: desk/doctype/dashboard_chart/dashboard_chart.js:315 #: desk/doctype/number_card/number_card.js:215 #: email/doctype/auto_email_report/auto_email_report.js:96 -#: website/doctype/web_form/web_form.js:227 +#: website/doctype/web_form/web_form.js:226 msgid "Click table to edit" msgstr "انقر الجدول لتعديل" @@ -5391,11 +5438,11 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:372 #: desk/doctype/number_card/number_card.js:270 -#: website/doctype/web_form/web_form.js:253 +#: website/doctype/web_form/web_form.js:252 msgid "Click to Set Filters" msgstr "" -#: public/js/frappe/list/list_view.js:657 +#: public/js/frappe/list/list_view.js:655 msgid "Click to sort by {0}" msgstr "" @@ -5808,11 +5855,11 @@ msgstr "اسم العمود" msgid "Column Name cannot be empty" msgstr "اسم العمود لا يمكن أن يكون فارغا\\nfilters. result = [result], or for old style data = [columns], [result]"
msgstr "يمكن الوصول إلى filters عبر filters .result = [result] ، أو data = [columns], [result] النمط القديم data = [columns], [result]"
-#: public/js/frappe/views/reports/report_view.js:1353
+#: public/js/frappe/views/reports/report_view.js:1355
msgid "Filters:"
msgstr ""
@@ -12787,11 +12872,11 @@ msgctxt "Report Filter"
msgid "Fold"
msgstr "طية"
-#: core/doctype/doctype/doctype.py:1397
+#: core/doctype/doctype/doctype.py:1399
msgid "Fold can not be at the end of the form"
msgstr "لا يمكن أن تكون الطية في نهاية النموذج"
-#: core/doctype/doctype/doctype.py:1395
+#: core/doctype/doctype/doctype.py:1397
msgid "Fold must come before a Section Break"
msgstr "يجب أن تأتي أضعاف قبل فاصل القسم"
@@ -12811,7 +12896,7 @@ msgstr ""
msgid "Folder name should not include '/' (slash)"
msgstr "يجب ألا يتضمن اسم المجلد '/' (شرطة مائلة)"
-#: core/doctype/file/file.py:465
+#: core/doctype/file/file.py:466
msgid "Folder {0} is not empty"
msgstr "المجلد {0} غير فارغ"
@@ -13113,7 +13198,7 @@ msgstr ""
msgid "For updating, you can update only selective columns."
msgstr "لتحديث، يمكنك تحديث الأعمدة انتقائية فقط."
-#: core/doctype/doctype/doctype.py:1686
+#: core/doctype/doctype/doctype.py:1730
msgid "For {0} at level {1} in {2} in row {3}"
msgstr "ل {0} في {1} مستوى في {2} في {3} الصف"
@@ -13399,7 +13484,7 @@ msgctxt "System Settings"
msgid "Friday"
msgstr "الجمعة"
-#: public/js/frappe/views/communication.js:170
+#: public/js/frappe/views/communication.js:182
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "From"
msgstr "من"
@@ -13518,7 +13603,7 @@ msgstr "وظيفة"
msgid "Function Based On"
msgstr "وظيفة على أساس"
-#: __init__.py:928
+#: __init__.py:931
msgid "Function {0} is not whitelisted."
msgstr ""
@@ -13643,7 +13728,7 @@ msgctxt "Auto Repeat"
msgid "Get Contacts"
msgstr "الحصول على اتصالات"
-#: website/doctype/web_form/web_form.js:84
+#: website/doctype/web_form/web_form.js:83
msgid "Get Fields"
msgstr "احصل على الحقول"
@@ -14410,7 +14495,7 @@ msgstr ""
#: public/js/frappe/form/templates/form_sidebar.html:40
#: public/js/frappe/form/workflow.js:23
-#: public/js/frappe/ui/toolbar/navbar.html:81 public/js/frappe/utils/help.js:27
+#: public/js/frappe/ui/toolbar/navbar.html:86 public/js/frappe/utils/help.js:27
msgid "Help"
msgstr "مساعدة"
@@ -14454,7 +14539,7 @@ msgctxt "Help Category"
msgid "Help Category"
msgstr "فئة المساعدة"
-#: public/js/frappe/ui/toolbar/navbar.html:78
+#: public/js/frappe/ui/toolbar/navbar.html:83
msgid "Help Dropdown"
msgstr "قائمة المساعدة المنسدلة"
@@ -14720,11 +14805,11 @@ msgctxt "Portal Settings"
msgid "Hide Standard Menu"
msgstr "إخفاء القائمة الرئيسية"
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Hide Tags"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Hide Weekends"
msgstr "إخفاء عطلة نهاية الأسبوع"
@@ -14781,9 +14866,9 @@ msgstr ""
msgid "Hint: Include symbols, numbers and capital letters in the password"
msgstr "تلميح: تضمين الرموز والأرقام والأحرف الكبيرة في كلمة المرور"
-#: core/doctype/file/utils.py:31 public/js/frappe/views/file/file_view.js:67
+#: core/doctype/file/utils.py:28 public/js/frappe/views/file/file_view.js:67
#: public/js/frappe/views/file/file_view.js:88
-#: public/js/frappe/views/pageview.js:149 templates/doc.html:19
+#: public/js/frappe/views/pageview.js:153 templates/doc.html:19
#: templates/includes/navbar/navbar.html:9
#: website/doctype/blog_post/blog_post.py:153
#: website/doctype/blog_post/blog_post.py:265
@@ -14817,16 +14902,16 @@ msgctxt "User"
msgid "Home Settings"
msgstr "الإعدادات الرئيسية"
-#: core/doctype/file/test_file.py:297 core/doctype/file/test_file.py:299
-#: core/doctype/file/test_file.py:363
+#: core/doctype/file/test_file.py:302 core/doctype/file/test_file.py:304
+#: core/doctype/file/test_file.py:368
msgid "Home/Test Folder 1"
msgstr "الصفحة الرئيسية / اختبار المجلد 1"
-#: core/doctype/file/test_file.py:352
+#: core/doctype/file/test_file.py:357
msgid "Home/Test Folder 1/Test Folder 3"
msgstr "مجلد الوطن / اختبار 1 / مجلد اختبار 3"
-#: core/doctype/file/test_file.py:308
+#: core/doctype/file/test_file.py:313
msgid "Home/Test Folder 2"
msgstr "الصفحة الرئيسية / مجلد اختبار 2"
@@ -14885,7 +14970,7 @@ msgstr "كيف ينبغي أن يتم تنسيق هذه العملة؟ إذا ل
msgid "ID"
msgstr "هوية شخصية"
-#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:920
+#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:922
msgctxt "Label of name column in report"
msgid "ID"
msgstr "هوية شخصية"
@@ -15042,7 +15127,7 @@ msgctxt "Workflow Document State"
msgid "If Checked workflow status will not override status in list view"
msgstr "إذا ووضع العمل تم الفحص لا تجاوز الوضع في عرض القائمة"
-#: core/doctype/doctype/doctype.py:1698
+#: core/doctype/doctype/doctype.py:1742
msgid "If Owner"
msgstr "إذا المالك"
@@ -15234,7 +15319,7 @@ msgstr "إذا كنت تحميل سجلات جديدة، \"تسمية السلس
msgid "If you are uploading new records, leave the \"name\" (ID) column blank."
msgstr "إذا كنت تحميل سجلات جديدة، وترك \"اسم\" (ID) العمود فارغا."
-#: utils/password.py:200
+#: utils/password.py:197
msgid "If you have recently restored the site you may need to copy the site config contaning original Encryption Key."
msgstr ""
@@ -15417,15 +15502,15 @@ msgctxt "Letter Head"
msgid "Image Width"
msgstr ""
-#: core/doctype/doctype/doctype.py:1453
+#: core/doctype/doctype/doctype.py:1455
msgid "Image field must be a valid fieldname"
msgstr "يجب أن يكون حقل الصورة اسم حقل صالحا"
-#: core/doctype/doctype/doctype.py:1455
+#: core/doctype/doctype/doctype.py:1457
msgid "Image field must be of type Attach Image"
msgstr "يجب أن يكون حقل الصورة من النوع إرفاق صورة"
-#: core/doctype/file/utils.py:134
+#: core/doctype/file/utils.py:136
msgid "Image link '{0}' is not valid"
msgstr ""
@@ -15437,6 +15522,28 @@ msgstr ""
msgid "Images"
msgstr "صور"
+#: core/doctype/user/user.js:346
+msgid "Impersonate"
+msgstr ""
+
+#. Option for the 'Operation' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Impersonate"
+msgstr ""
+
+#: core/doctype/user/user.js:373
+msgid "Impersonate as {0}"
+msgstr ""
+
+#: public/js/frappe/form/footer/version_timeline_content_builder.js:233
+msgid "Impersonated by {0}"
+msgstr ""
+
+#: public/js/frappe/ui/toolbar/navbar.html:21
+msgid "Impersonating {0}"
+msgstr ""
+
#: core/doctype/log_settings/log_settings.py:57
msgid "Implement `clear_old_logs` method to enable auto error clearing."
msgstr ""
@@ -15452,7 +15559,7 @@ msgstr "ضمني"
msgid "Import"
msgstr "استيراد"
-#: public/js/frappe/list/list_view.js:1628
+#: public/js/frappe/list/list_view.js:1635
msgctxt "Button in list view menu"
msgid "Import"
msgstr "استيراد"
@@ -15807,25 +15914,25 @@ msgstr "التكوين غير الصحيح"
msgid "Incorrect URL"
msgstr "URL غير صحيح"
-#: utils/password.py:90
+#: utils/password.py:89
msgid "Incorrect User or Password"
msgstr "مستخدم غير صحيح أو كلمة مرور"
-#: twofactor.py:175 twofactor.py:187
+#: twofactor.py:176 twofactor.py:188
msgid "Incorrect Verification code"
msgstr "رمز التحقق غير صحيح"
-#: model/document.py:1335
+#: model/document.py:1351
msgid "Incorrect value in row {0}: {1} must be {2} {3}"
msgstr "قيمة غير صحيحة في الصف {0} : {1} يجب أن يكون {2} {3}"
-#: model/document.py:1339
+#: model/document.py:1355
msgid "Incorrect value: {0} must be {1} {2}"
msgstr "قيمة غير صحيحة: {0} يجب أن يكون {1} {2}"
#: model/meta.py:48 public/js/frappe/model/meta.js:200
#: public/js/frappe/model/model.js:114
-#: public/js/frappe/views/reports/report_view.js:941
+#: public/js/frappe/views/reports/report_view.js:943
msgid "Index"
msgstr "مؤشر"
@@ -15935,11 +16042,11 @@ msgctxt "Custom Field"
msgid "Insert After"
msgstr "إدراج بعد"
-#: custom/doctype/custom_field/custom_field.py:248
+#: custom/doctype/custom_field/custom_field.py:249
msgid "Insert After cannot be set as {0}"
msgstr "الإدراج بعد لا يمكن تعيينه ك {0}"
-#: custom/doctype/custom_field/custom_field.py:241
+#: custom/doctype/custom_field/custom_field.py:242
msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist"
msgstr "إدراج بعد الحقل '{0}' المذكورة في الحقل المخصص '{1}'، مع التصنيف '{2}'، غير موجود"
@@ -16019,7 +16126,7 @@ msgstr ""
msgid "Insufficient Permissions for editing Report"
msgstr ""
-#: core/doctype/doctype/doctype.py:442
+#: core/doctype/doctype/doctype.py:444
msgid "Insufficient attachment limit"
msgstr ""
@@ -16175,7 +16282,7 @@ msgctxt "OAuth Authorization Code"
msgid "Invalid"
msgstr "غير صالحة"
-#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:768
+#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:769
#: public/js/frappe/form/layout.js:774
msgid "Invalid \"depends_on\" expression"
msgstr "تعبير "under_on" غير صالح"
@@ -16196,7 +16303,7 @@ msgstr ""
msgid "Invalid CSV Format"
msgstr "تنسيق CSV غير صالح"
-#: integrations/doctype/webhook/webhook.py:88
+#: integrations/doctype/webhook/webhook.py:90
msgid "Invalid Condition: {}"
msgstr ""
@@ -16204,7 +16311,7 @@ msgstr ""
msgid "Invalid Credentials"
msgstr "بيانات الاعتماد غير صالحة"
-#: utils/data.py:125 utils/data.py:286
+#: utils/data.py:125 utils/data.py:289
msgid "Invalid Date"
msgstr "تاريخ غير صالح"
@@ -16216,11 +16323,11 @@ msgstr ""
msgid "Invalid DocType: {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1219
+#: core/doctype/doctype/doctype.py:1221
msgid "Invalid Fieldname"
msgstr ""
-#: core/doctype/file/file.py:207
+#: core/doctype/file/file.py:206
msgid "Invalid File URL"
msgstr ""
@@ -16260,7 +16367,7 @@ msgstr ""
msgid "Invalid Operation"
msgstr ""
-#: core/doctype/doctype/doctype.py:1576 core/doctype/doctype/doctype.py:1585
+#: core/doctype/doctype/doctype.py:1578 core/doctype/doctype/doctype.py:1587
msgid "Invalid Option"
msgstr "خيار غير صالح"
@@ -16276,7 +16383,7 @@ msgstr "تنسيق الإخراج غير صالح"
msgid "Invalid Parameters."
msgstr ""
-#: core/doctype/user/user.py:1213 www/update-password.html:121
+#: core/doctype/user/user.py:1217 www/update-password.html:121
#: www/update-password.html:142 www/update-password.html:144
#: www/update-password.html:245
msgid "Invalid Password"
@@ -16294,7 +16401,7 @@ msgstr "طلب غير صالح"
msgid "Invalid Search Field {0}"
msgstr "حقل البحث غير صالح {0}"
-#: core/doctype/doctype/doctype.py:1161
+#: core/doctype/doctype/doctype.py:1163
msgid "Invalid Table Fieldname"
msgstr ""
@@ -16302,7 +16409,7 @@ msgstr ""
msgid "Invalid Transition"
msgstr ""
-#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604
+#: core/doctype/file/file.py:217 public/js/frappe/widgets/widget_dialog.js:604
#: utils/csvutils.py:201 utils/csvutils.py:222
msgid "Invalid URL"
msgstr "URL غير صالح"
@@ -16311,7 +16418,7 @@ msgstr "URL غير صالح"
msgid "Invalid User Name or Support Password. Please rectify and try again."
msgstr "اسم المستخدم غير صحيح أو كلمة المرور الدعم . يرجى تصحيح و حاول مرة أخرى."
-#: integrations/doctype/webhook/webhook.py:117
+#: integrations/doctype/webhook/webhook.py:119
msgid "Invalid Webhook Secret"
msgstr ""
@@ -16323,7 +16430,7 @@ msgstr ""
msgid "Invalid column"
msgstr "عمود غير صالح"
-#: model/document.py:830 model/document.py:844
+#: model/document.py:846 model/document.py:860
msgid "Invalid docstatus"
msgstr ""
@@ -16335,11 +16442,11 @@ msgstr "تم تعيين تعبير غير صالح في عامل التصفية
msgid "Invalid expression set in filter {0} ({1})"
msgstr "تم تعيين تعبير غير صالح في عامل التصفية {0} ({1})"
-#: utils/data.py:2102
+#: utils/data.py:2106
msgid "Invalid field name {0}"
msgstr "اسم الحقل غير صالح {0}"
-#: core/doctype/doctype/doctype.py:1046
+#: core/doctype/doctype/doctype.py:1048
msgid "Invalid fieldname '{0}' in autoname"
msgstr "اسم الحقل غير صالح '{0}' في الااسم تلقائي"
@@ -16372,7 +16479,7 @@ msgstr "محتوى غير صالح أو تالف للاستيراد"
msgid "Invalid redirect regex in row #{}: {}"
msgstr ""
-#: app.py:299
+#: app.py:305
msgid "Invalid request arguments"
msgstr ""
@@ -16394,7 +16501,7 @@ msgctxt "Error message in web form"
msgid "Invalid values for fields:"
msgstr ""
-#: core/doctype/doctype/doctype.py:1511
+#: core/doctype/doctype/doctype.py:1513
msgid "Invalid {0} condition"
msgstr "حالة {0} غير صالحة"
@@ -16404,7 +16511,7 @@ msgctxt "Workflow State"
msgid "Inverse"
msgstr "معكوس"
-#: contacts/doctype/contact/contact.js:25
+#: contacts/doctype/contact/contact.js:30
msgid "Invite as User"
msgstr "دعوة كمستخدم"
@@ -16598,7 +16705,7 @@ msgctxt "DocType"
msgid "Is Published Field"
msgstr "ونشرت الميدان"
-#: core/doctype/doctype/doctype.py:1462
+#: core/doctype/doctype/doctype.py:1464
msgid "Is Published Field must be a valid fieldname"
msgstr "\"تم نشر\" الحقل يجب أن يكون اسم حقل صالح"
@@ -16766,7 +16873,7 @@ msgctxt "DocType"
msgid "Is Virtual"
msgstr ""
-#: core/doctype/file/utils.py:155 utils/file_manager.py:311
+#: core/doctype/file/utils.py:157 utils/file_manager.py:311
msgid "It is risky to delete this file: {0}. Please contact your System Manager."
msgstr "أنه أمر محفوف بالمخاطر لحذف هذا الملف: {0}. يرجى الاتصال بمدير النظام الخاص بك."
@@ -17355,7 +17462,7 @@ msgctxt "Customize Form Field"
msgid "Label and Type"
msgstr "التسمية و النوع"
-#: custom/doctype/custom_field/custom_field.py:142
+#: custom/doctype/custom_field/custom_field.py:143
msgid "Label is mandatory"
msgstr "التسمية إلزامية"
@@ -17594,7 +17701,7 @@ msgctxt "Event"
msgid "Leave blank to repeat always"
msgstr "اتركه فارغ لتكرار دائما"
-#: core/doctype/communication/mixins.py:206
+#: core/doctype/communication/mixins.py:207
#: email/doctype/email_account/email_account.py:654
msgid "Leave this conversation"
msgstr "ترك هذه المحادثة"
@@ -18138,7 +18245,7 @@ msgid "Linked With"
msgstr "ترتبط"
#: contacts/doctype/address/address.js:39
-#: contacts/doctype/contact/contact.js:82 public/js/frappe/form/toolbar.js:366
+#: contacts/doctype/contact/contact.js:87 public/js/frappe/form/toolbar.js:366
msgid "Links"
msgstr "الروابط"
@@ -18214,7 +18321,7 @@ msgctxt "Web Form"
msgid "List Setting Message"
msgstr ""
-#: public/js/frappe/list/list_view.js:1708
+#: public/js/frappe/list/list_view.js:1715
msgctxt "Button in list view menu"
msgid "List Settings"
msgstr "إعدادات القائمة"
@@ -18281,7 +18388,7 @@ msgstr ""
#: core/page/permission_manager/permission_manager.js:165
#: public/js/frappe/form/controls/multicheck.js:13
#: public/js/frappe/form/linked_with.js:13
-#: public/js/frappe/list/base_list.js:467
+#: public/js/frappe/list/base_list.js:469
#: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16
#: public/js/frappe/views/reports/query_report.js:1001
msgid "Loading"
@@ -18434,7 +18541,7 @@ msgstr "تسجيل الدخول مطلوب"
msgid "Login To {0}"
msgstr ""
-#: twofactor.py:259
+#: twofactor.py:260
msgid "Login Verification Code from {}"
msgstr "تسجيل الدخول رمز التحقق من {}"
@@ -18446,7 +18553,7 @@ msgstr ""
msgid "Login and view in Browser"
msgstr "تسجيل الدخول وعرض في المتصفح"
-#: website/doctype/web_form/web_form.js:358
+#: website/doctype/web_form/web_form.js:357
msgid "Login is required to see web form list view. Enable {0} to see list settings"
msgstr ""
@@ -18458,7 +18565,7 @@ msgstr ""
msgid "Login not allowed at this time"
msgstr "تسجيل الدخول غير مسموح في هذا الوقت"
-#: twofactor.py:163
+#: twofactor.py:164
msgid "Login session expired, refresh page to retry"
msgstr "انتهت صلاحية جلسة تسجيل الدخول، ثم حدث الصفحة لإعادة المحاولة"
@@ -18510,7 +18617,7 @@ msgctxt "Activity Log"
msgid "Logout"
msgstr "خروج"
-#: core/doctype/user/user.js:172
+#: core/doctype/user/user.js:173
msgid "Logout All Sessions"
msgstr "تسجيل الخروج من جميع الجلسات"
@@ -18945,7 +19052,7 @@ msgctxt "System Settings"
msgid "Max auto email report per user"
msgstr ""
-#: core/doctype/doctype/doctype.py:1289
+#: core/doctype/doctype/doctype.py:1291
msgid "Max width for type Currency is 100px in row {0}"
msgstr "عرض ماكس لنوع العملة هو 100px في الصف {0}"
@@ -18955,7 +19062,7 @@ msgctxt "Number Card"
msgid "Maximum"
msgstr "أقصى"
-#: core/doctype/file/file.py:318
+#: core/doctype/file/file.py:317
msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
msgstr ""
@@ -19063,7 +19170,7 @@ msgstr "الدمج مسموح فقط بين مجموعة ومجموعة أو ف
#: core/doctype/data_import/data_import.js:489
#: public/js/frappe/ui/messages.js:175
-#: public/js/frappe/views/communication.js:110 www/message.html:3
+#: public/js/frappe/views/communication.js:111 www/message.html:3
#: www/message.html:25
msgid "Message"
msgstr "رسالة"
@@ -19093,7 +19200,7 @@ msgctxt "Communication"
msgid "Message"
msgstr "رسالة"
-#: __init__.py:612 public/js/frappe/ui/messages.js:265
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
msgctxt "Default title of the message dialog"
msgid "Message"
msgstr "رسالة"
@@ -19183,7 +19290,7 @@ msgctxt "Notification"
msgid "Message Type"
msgstr ""
-#: public/js/frappe/views/communication.js:883
+#: public/js/frappe/views/communication.js:910
msgid "Message clipped"
msgstr "رسالة قص"
@@ -19399,7 +19506,7 @@ msgstr ""
msgid "Missing DocType"
msgstr ""
-#: core/doctype/doctype/doctype.py:1473
+#: core/doctype/doctype/doctype.py:1475
msgid "Missing Field"
msgstr ""
@@ -19430,8 +19537,8 @@ msgstr "قيم مفقودة مطلوبة"
msgid "Mobile"
msgstr ""
-#: tests/test_translate.py:86 tests/test_translate.py:89
-#: tests/test_translate.py:91 tests/test_translate.py:94
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
msgid "Mobile No"
msgstr "رقم الجوال"
@@ -19740,7 +19847,7 @@ msgctxt "Print Settings"
msgid "Monospace"
msgstr "معدل النصوص والشروط"
-#: public/js/frappe/views/calendar/calendar.js:268
+#: public/js/frappe/views/calendar/calendar.js:269
msgid "Month"
msgstr "شهر"
@@ -19873,7 +19980,7 @@ msgstr "المزيد من المحتوى لأسفل الصفحة."
msgid "Most Used"
msgstr "الأكثر استخداما"
-#: utils/password.py:65
+#: utils/password.py:64
msgid "Most probably your password is too long."
msgstr ""
@@ -20173,12 +20280,12 @@ msgstr "قيم قالب نافبار"
msgid "Navigate Home"
msgstr "انتقل المنزل"
-#: public/js/frappe/list/list_view.js:1134
+#: public/js/frappe/list/list_view.js:1132
msgctxt "Description of a list view shortcut"
msgid "Navigate list down"
msgstr "انتقل القائمة لأسفل"
-#: public/js/frappe/list/list_view.js:1141
+#: public/js/frappe/list/list_view.js:1139
msgctxt "Description of a list view shortcut"
msgid "Navigate list up"
msgstr "انتقل القائمة لأعلى"
@@ -20201,7 +20308,7 @@ msgstr ""
msgid "Need Workspace Manager role to hide/unhide public workspaces"
msgstr ""
-#: model/document.py:606
+#: model/document.py:622
msgid "Negative Value"
msgstr "قيمة سالبة"
@@ -20265,7 +20372,7 @@ msgstr ""
msgid "New Custom Block"
msgstr ""
-#: printing/page/print/print.js:288 printing/page/print/print.js:335
+#: printing/page/print/print.js:295 printing/page/print/print.js:342
msgid "New Custom Print Format"
msgstr "تنسيق طباعة مخصص جديد"
@@ -20339,11 +20446,11 @@ msgstr ""
msgid "New Onboarding"
msgstr ""
-#: core/doctype/user/user.js:160 www/update-password.html:19
+#: core/doctype/user/user.js:161 www/update-password.html:19
msgid "New Password"
msgstr "كلمة مرور جديدة"
-#: printing/page/print/print.js:260 printing/page/print/print.js:314
+#: printing/page/print/print.js:267 printing/page/print/print.js:321
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:61
msgid "New Print Format Name"
msgstr "اسم تنسيق طباعة جديد"
@@ -20352,7 +20459,7 @@ msgstr "اسم تنسيق طباعة جديد"
msgid "New Quick List"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1310
+#: public/js/frappe/views/reports/report_view.js:1312
msgid "New Report name"
msgstr "اسم التقرير الجديد"
@@ -20429,7 +20536,7 @@ msgstr "جديد {0}: {1}"
msgid "New {} releases for the following apps are available"
msgstr "تتوفر {} إصدارات جديدة للتطبيقات التالية"
-#: core/doctype/user/user.py:790
+#: core/doctype/user/user.py:794
msgid "Newly created user {0} has no roles enabled."
msgstr ""
@@ -20484,7 +20591,7 @@ msgstr "النشرات الإخبارية"
#: public/js/frappe/web_form/web_form.js:91
#: public/js/onboarding_tours/onboarding_tours.js:15
#: public/js/onboarding_tours/onboarding_tours.js:240
-#: templates/includes/slideshow.html:38 website/utils.py:247
+#: templates/includes/slideshow.html:38 website/utils.py:245
#: website/web_template/slideshow/slideshow.html:44
msgid "Next"
msgstr "التالي"
@@ -20566,7 +20673,7 @@ msgctxt "Form Tour Step"
msgid "Next on Click"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:341
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -20676,7 +20783,7 @@ msgstr "لا توجد فلاتر"
msgid "No Google Calendar Event to sync."
msgstr "لا يوجد حدث تقويم Google للمزامنة."
-#: public/js/frappe/ui/capture.js:254
+#: public/js/frappe/ui/capture.js:262
msgid "No Images"
msgstr ""
@@ -20692,7 +20799,7 @@ msgstr "لم يتم العثور على مستخدم LDAP للبريد الإل
msgid "No Label"
msgstr ""
-#: printing/page/print/print.js:675 printing/page/print/print.js:757
+#: printing/page/print/print.js:682 printing/page/print/print.js:764
#: public/js/frappe/list/bulk_operations.js:82
#: public/js/frappe/list/bulk_operations.js:126 utils/weasyprint.py:52
msgid "No Letterhead"
@@ -20706,7 +20813,7 @@ msgstr "لا يوجد اسم محدد لـ {0}"
msgid "No New notifications"
msgstr ""
-#: core/doctype/doctype/doctype.py:1678
+#: core/doctype/doctype/doctype.py:1722
msgid "No Permissions Specified"
msgstr "لا الأذونات المحددة"
@@ -20726,11 +20833,11 @@ msgstr "لا توجد مخططات مسموح بها في لوحة المعلو
msgid "No Preview"
msgstr ""
-#: printing/page/print/print.js:679
+#: printing/page/print/print.js:686
msgid "No Preview Available"
msgstr ""
-#: printing/page/print/print.js:835
+#: printing/page/print/print.js:842
msgid "No Printer is Available."
msgstr "لا يوجد طابعة متاحة."
@@ -20746,7 +20853,7 @@ msgstr "لا يوجد نتائج"
msgid "No Results found"
msgstr ""
-#: core/doctype/user/user.py:791
+#: core/doctype/user/user.py:795
msgid "No Roles Specified"
msgstr ""
@@ -20870,7 +20977,7 @@ msgstr "لا حاجة لرموز أو أرقام أو أحرف كبيرة."
msgid "No new Google Contacts synced."
msgstr "لم تتم مزامنة جهات اتصال Google الجديدة."
-#: public/js/frappe/ui/toolbar/navbar.html:41
+#: public/js/frappe/ui/toolbar/navbar.html:46
msgid "No new notifications"
msgstr ""
@@ -20896,7 +21003,7 @@ msgctxt "SMS Log"
msgid "No of Sent SMS"
msgstr ""
-#: __init__.py:1115 client.py:109 client.py:151
+#: __init__.py:1119 client.py:109 client.py:151
msgid "No permission for {0}"
msgstr "لا يوجد صلاحية لـ {0}Um mit obigem HTML zu interagieren, müssen Sie `root_element` als ü "some_class_element.textContent = \"Neuer Inhalt\";\n" "" -#: twofactor.py:461 +#: twofactor.py:462 msgid "
Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" msgstr "Ihr OTP-Geheimnis auf {0} wurde zurückgesetzt. Wenn Sie diese Rücksetzung nicht durchgeführt und nicht angefordert haben, wenden Sie sich bitte umgehend an Ihren Systemadministrator.
" @@ -892,7 +892,7 @@ msgstr ">=" msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs." msgstr "Ein DocType (Dokumententyp) wird verwendet, um Formulare in ERPNext einzufügen. Formulare wie Kunden, Bestellungen und Rechnungen sind DocTypes im Backend. Sie können auch neue DocTypes erstellen, um neue Formulare in ERPNext gemäß Ihren geschäftlichen Anforderungen zu erstellen." -#: core/doctype/doctype/doctype.py:1013 +#: core/doctype/doctype/doctype.py:1015 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "Der Name eines DocTypes sollte mit einem Buchstaben beginnen und darf nur aus Buchstaben, Zahlen, Leerzeichen, Unterstrichen und Bindestrichen bestehen" @@ -900,11 +900,11 @@ msgstr "Der Name eines DocTypes sollte mit einem Buchstaben beginnen und darf nu msgid "A featured post must have a cover image" msgstr "Ein vorgestellter Beitrag muss ein Titelbild haben" -#: custom/doctype/custom_field/custom_field.py:172 +#: custom/doctype/custom_field/custom_field.py:173 msgid "A field with the name {0} already exists in {1}" msgstr "Ein Feld mit dem Namen {0} existiert bereits in {1}" -#: core/doctype/file/file.py:255 +#: core/doctype/file/file.py:254 msgid "A file with same name {} already exists" msgstr "Eine Datei mit dem gleichen Namen {} existiert bereits" @@ -1039,12 +1039,25 @@ msgctxt "Google Settings" msgid "API Key" msgstr "API-Schlüssel" +#. Label of a Data field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key" +msgstr "API-Schlüssel" + #. Label of a Data field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" msgid "API Key" msgstr "API-Schlüssel" +#. Description of the 'Authentication' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site." +msgstr "" + #. Description of the 'API Key' (Data) field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -1057,6 +1070,12 @@ msgctxt "Server Script" msgid "API Method" msgstr "API-Methode" +#. Label of a Password field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Secret" +msgstr "API Geheimnis" + #. Label of a Password field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -1160,7 +1179,7 @@ msgctxt "Social Login Key" msgid "Access Token URL" msgstr "Zugriffstoken-URL" -#: auth.py:445 +#: auth.py:451 msgid "Access not allowed from this IP Address" msgstr "Der Zugriff von dieser IP-Adresse aus ist nicht zulässig" @@ -1240,7 +1259,7 @@ msgstr "Aktion / Route" msgid "Action Complete" msgstr "Aktion abgeschlossen" -#: model/document.py:1652 +#: model/document.py:1668 msgid "Action Failed" msgstr "Aktion fehlgeschlagen" @@ -1381,7 +1400,7 @@ msgstr "Aktivitätsprotokoll" #: core/page/permission_manager/permission_manager.js:476 #: email/doctype/email_group/email_group.js:60 -#: public/js/frappe/form/grid_row.js:469 +#: public/js/frappe/form/grid_row.js:470 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 #: public/js/frappe/list/bulk_operations.js:393 @@ -1397,7 +1416,7 @@ msgctxt "Primary action in list view" msgid "Add" msgstr "Hinzufügen" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Add / Remove Columns" msgstr "Spalten hinzufügen / entfernen" @@ -1409,7 +1428,7 @@ msgstr "Hinzufügen / Aktualisieren" msgid "Add A New Rule" msgstr "Neue Regel hinzufügen" -#: public/js/frappe/views/communication.js:529 +#: public/js/frappe/views/communication.js:555 #: public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "Anhang hinzufügen" @@ -1511,7 +1530,7 @@ msgstr "Abfrageparameter hinzufügen" msgid "Add Review" msgstr "Bewertung hinzufügen" -#: core/doctype/user/user.py:794 +#: core/doctype/user/user.py:798 msgid "Add Roles" msgstr "Rollen hinzufügen" @@ -1519,7 +1538,7 @@ msgstr "Rollen hinzufügen" msgid "Add Row" msgstr "Zeile hinzufügen" -#: public/js/frappe/views/communication.js:117 +#: public/js/frappe/views/communication.js:118 msgid "Add Signature" msgstr "Signatur hinzufügen" @@ -1550,12 +1569,12 @@ msgstr "Abonnenten hinzufügen" msgid "Add Tags" msgstr "Tags hinzufügen" -#: public/js/frappe/list/list_view.js:1858 +#: public/js/frappe/list/list_view.js:1865 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "Tags hinzufügen" -#: public/js/frappe/views/communication.js:362 +#: public/js/frappe/views/communication.js:387 msgid "Add Template" msgstr "Vorlage hinzufügen" @@ -1658,7 +1677,7 @@ msgstr "HTML im \"head\"-Abschnitt der Web-Seite hinzugefügt. Wird vor allem f msgid "Added default log doctypes: {}" msgstr "Standard Log-DocTypes hinzugefügt: {}" -#: core/doctype/file/file.py:717 +#: core/doctype/file/file.py:718 msgid "Added {0}" msgstr "{0} hinzugefügt" @@ -1667,7 +1686,7 @@ msgstr "{0} hinzugefügt" msgid "Added {0} ({1})" msgstr "{0} ({1}) hinzugefügt" -#: core/doctype/user/user.py:300 +#: core/doctype/user/user.py:304 msgid "Adding System Manager to this User as there must be atleast one System Manager" msgstr "System-Manager Rolle zu diesem Benutzer hinzugefügt, da mindestens ein System-Manager vorhanden sein muss" @@ -1794,11 +1813,11 @@ msgstr "Verwaltung" msgid "Administrator" msgstr "Administrator" -#: core/doctype/user/user.py:1198 +#: core/doctype/user/user.py:1202 msgid "Administrator Logged In" msgstr "Administrator hat sich angemeldet" -#: core/doctype/user/user.py:1192 +#: core/doctype/user/user.py:1196 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "Administrator hat auf {0} über {1} zugegriffen mit IP-Adresse {2}." @@ -1849,6 +1868,12 @@ msgctxt "Server Script" msgid "After Insert" msgstr "Nach Einfügen" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "After Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -2374,7 +2399,7 @@ msgstr "Erlaubte Module" msgid "Allowing DocType, DocType. Be careful!" msgstr "DocType, DocType zulassen. Achtung!" -#: core/doctype/user/user.py:1001 +#: core/doctype/user/user.py:1005 msgid "Already Registered" msgstr "Bereits registriert" @@ -2626,7 +2651,7 @@ msgstr "App geheimer Schlüssel" msgid "App not found for module: {0}" msgstr "App nicht gefunden für Modul: {0}" -#: __init__.py:1765 +#: __init__.py:1782 msgid "App {0} is not installed" msgstr "App {0} ist nicht installiert" @@ -2705,7 +2730,7 @@ msgctxt "Property Setter" msgid "Applied On" msgstr "Aufgetragen auf" -#: public/js/frappe/list/list_view.js:1843 +#: public/js/frappe/list/list_view.js:1850 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "Zuweisungsregel anwenden" @@ -2811,7 +2836,7 @@ msgstr "Archiviert" msgid "Archived Columns" msgstr "Archivierte Spalten" -#: public/js/frappe/list/list_view.js:1822 +#: public/js/frappe/list/list_view.js:1829 msgid "Are you sure you want to clear the assignments?" msgstr "Sind Sie sicher, dass Sie die Zuweisungen löschen möchten?" @@ -2910,7 +2935,7 @@ msgstr "Bedingung zuweisen" msgid "Assign To" msgstr "Zuweisen zu" -#: public/js/frappe/list/list_view.js:1804 +#: public/js/frappe/list/list_view.js:1811 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "Zuweisen zu" @@ -3079,11 +3104,11 @@ msgctxt "Notification Settings" msgid "Assignments" msgstr "Zuordnungen" -#: public/js/frappe/form/grid_row.js:649 +#: public/js/frappe/form/grid_row.js:650 msgid "At least one column is required to show in the grid." msgstr "Mindestens eine Spalte muss im Raster angezeigt werden." -#: website/doctype/web_form/web_form.js:64 +#: website/doctype/web_form/web_form.js:63 msgid "At least one field is required in Web Form Fields Table" msgstr "Mindestens ein Feld ist in der Tabelle der Webformularfelder erforderlich" @@ -3119,7 +3144,7 @@ msgctxt "Web Form Field" msgid "Attach" msgstr "Anhängen" -#: public/js/frappe/views/communication.js:139 +#: public/js/frappe/views/communication.js:140 msgid "Attach Document Print" msgstr "Dokumentendruck anhängen" @@ -3193,7 +3218,7 @@ msgctxt "File" msgid "Attached To Name" msgstr "Angehängt an Namen" -#: core/doctype/file/file.py:141 +#: core/doctype/file/file.py:140 msgid "Attached To Name must be a string or an integer" msgstr "Angehängt an Name muss eine Zeichenfolge oder eine Ganzzahl sein" @@ -3227,7 +3252,7 @@ msgctxt "Email Domain" msgid "Attachment Limit (MB)" msgstr "Beschränkung der Größe des Anhangs (MB)" -#: core/doctype/file/file.py:322 +#: core/doctype/file/file.py:321 #: public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" msgstr "Limit für Anhänge erreicht" @@ -3250,7 +3275,7 @@ msgctxt "Communication" msgid "Attachment Removed" msgstr "Anlage entfernt" -#: core/doctype/file/utils.py:40 +#: core/doctype/file/utils.py:37 #: email/doctype/newsletter/templates/newsletter.html:47 #: public/js/frappe/form/templates/form_sidebar.html:65 #: website/doctype/web_form/templates/web_form.html:103 @@ -3310,6 +3335,12 @@ msgctxt "Email Account" msgid "Authentication" msgstr "Authentifizierung" +#. Label of a Section Break field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Authentication" +msgstr "Authentifizierung" + #: www/qrcode.html:19 msgid "Authentication Apps you can use are: " msgstr "Verfügbare Authentifizierungs-Apps:" @@ -3726,7 +3757,7 @@ msgctxt "Print Settings" msgid "B9" msgstr "B9" -#: public/js/frappe/views/communication.js:76 +#: public/js/frappe/views/communication.js:77 msgid "BCC" msgstr "BCC" @@ -3786,6 +3817,12 @@ msgctxt "RQ Job" msgid "Background Jobs" msgstr "Hintergrundprozesse" +#. Label of a Autocomplete field in DocType 'Webhook' +#: integrations/doctype/webhook/webhook.json +msgctxt "Webhook" +msgid "Background Jobs Queue" +msgstr "" + #. Label of a Section Break field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3862,6 +3899,10 @@ msgctxt "System Settings" msgid "Backups" msgstr "Backups" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:63 +msgid "Bad Cron Expression" +msgstr "" + #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3940,7 +3981,7 @@ msgctxt "Social Login Key" msgid "Base URL" msgstr "Basis-URL" -#: printing/page/print/print.js:266 printing/page/print/print.js:320 +#: printing/page/print/print.js:273 printing/page/print/print.js:327 msgid "Based On" msgstr "Basiert auf" @@ -3992,6 +4033,12 @@ msgctxt "Server Script" msgid "Before Insert" msgstr "Vor dem Einfügen" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "Before Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -4550,7 +4597,7 @@ msgstr "C5E" msgid "CANCELLED" msgstr "Abgebrochen" -#: public/js/frappe/views/communication.js:71 +#: public/js/frappe/views/communication.js:72 msgid "CC" msgstr "CC" @@ -4674,7 +4721,7 @@ msgctxt "DocType" msgid "Calendar View" msgstr "Kalenderansicht" -#: contacts/doctype/contact/contact.js:50 +#: contacts/doctype/contact/contact.js:55 msgid "Call" msgstr "Anruf" @@ -4714,7 +4761,7 @@ msgctxt "Onboarding Step" msgid "Callback Title" msgstr "Rückruftitel" -#: public/js/frappe/ui/capture.js:326 +#: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "Kamera" @@ -4761,11 +4808,11 @@ msgstr "Kann buchen" msgid "Can Write" msgstr "Kann schreiben" -#: custom/doctype/custom_field/custom_field.py:359 +#: custom/doctype/custom_field/custom_field.py:360 msgid "Can not rename as column {0} is already present on DocType." msgstr "Kann nicht umbenannt werden, da Spalte {0} bereits im DocType vorhanden ist." -#: core/doctype/doctype/doctype.py:1110 +#: core/doctype/doctype/doctype.py:1112 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "Kann nur zu/von der Benennungsregel Autoincrement wechseln, wenn keine Daten im Doctype vorhanden sind" @@ -4785,7 +4832,7 @@ msgstr "Kann {0} nicht in {1} umbenennen, da {0} nicht existiert." msgid "Cancel" msgstr "Abbrechen" -#: public/js/frappe/list/list_view.js:1913 +#: public/js/frappe/list/list_view.js:1920 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "Abbrechen" @@ -4838,7 +4885,7 @@ msgstr "Alle Dokumente abbrechen" msgid "Cancel Scheduling" msgstr "Planung abbrechen" -#: public/js/frappe/list/list_view.js:1918 +#: public/js/frappe/list/list_view.js:1925 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "Abbrechen von {0} Dokumenten?" @@ -4911,7 +4958,7 @@ msgstr "Kann nicht entfernt werden." msgid "Cannot Update After Submit" msgstr "Kann nach dem Buchen nicht mehr geändert werden" -#: core/doctype/file/file.py:573 +#: core/doctype/file/file.py:574 msgid "Cannot access file path {0}" msgstr "Zugriff auf Dateipfad {0} nicht möglich" @@ -4927,11 +4974,11 @@ msgstr "Stornierung vor Übertragen nicht möglich. Vorgang {0} beachten" msgid "Cannot cancel {0}." msgstr "{0} kann nicht abgebrochen werden." -#: model/document.py:827 +#: model/document.py:843 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "Status kann nicht von 0 (Entwurf) zu 2 (Abgebrochen) geändert werden" -#: model/document.py:841 +#: model/document.py:857 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "Der Dokumentstatus kann nicht von 1 (Gebucht) auf 0 (Entwurf) geändert werden" @@ -4943,7 +4990,7 @@ msgstr "Der Status des abgebrochenen Dokuments kann nicht geändert werden (S msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "Zustand des aufgehobenen Dokumentes kann nicht geändert werden. Übergangszeile {0}" -#: core/doctype/doctype/doctype.py:1100 +#: core/doctype/doctype/doctype.py:1102 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "In „Formular anpassen“ kann nicht von/zu Benennungsschema „Autoinkrementierung“ gewechselt werden" @@ -4955,7 +5002,7 @@ msgstr "Kann {0} nicht gegen ein Kind Dokument erstellen: {1}" msgid "Cannot create private workspace of other users" msgstr "Privater Arbeitsbereich für andere Benutzer kann nicht erstellt werden" -#: core/doctype/file/file.py:152 +#: core/doctype/file/file.py:151 msgid "Cannot delete Home and Attachments folders" msgstr "Die Ordner \"Startseite\" und \"Anlagen\" können nicht gelöscht werden" @@ -5015,7 +5062,7 @@ msgstr "Standarddiagramme können nicht bearbeitet werden" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "Der Standard-Report kann nicht bearbeitet werden. Bitte kopieren und einen neuen Bericht erstellen" -#: model/document.py:847 +#: model/document.py:863 msgid "Cannot edit cancelled document" msgstr "Aufgehobenes Dokument kann nicht bearbeitet werden" @@ -5031,19 +5078,19 @@ msgstr "Standardfelder können nicht bearbeitet werden" msgid "Cannot enable {0} for a non-submittable doctype" msgstr "{0} kann nicht für einen nicht buchbaren Doctype aktiviert werden" -#: core/doctype/file/file.py:250 +#: core/doctype/file/file.py:249 msgid "Cannot find file {} on disk" msgstr "Kann Datei {} auf der Festplatte nicht finden" -#: core/doctype/file/file.py:519 +#: core/doctype/file/file.py:520 msgid "Cannot get file contents of a Folder" msgstr "Dateiinhalt eines Ordners kann nicht abgerufen werden" -#: printing/page/print/print.js:817 +#: printing/page/print/print.js:824 msgid "Cannot have multiple printers mapped to a single print format." msgstr "Es können nicht mehrere Drucker einem Druckformat zugeordnet werden." -#: model/document.py:915 +#: model/document.py:931 msgid "Cannot link cancelled document: {0}" msgstr "Aufgehobenes Dokument kann nicht verknüpft werden: {0}" @@ -5104,7 +5151,7 @@ msgstr "Kann {1} nicht {0}." msgid "Capitalization doesn't help very much." msgstr "Großschreibung hilft nicht besonders viel." -#: public/js/frappe/ui/capture.js:286 +#: public/js/frappe/ui/capture.js:294 msgid "Capture" msgstr "Erfassen" @@ -5162,7 +5209,7 @@ msgctxt "Help Category" msgid "Category Name" msgstr "Kategoriename" -#: utils/data.py:1466 +#: utils/data.py:1469 msgid "Cent" msgstr "Cent" @@ -5193,11 +5240,11 @@ msgid "Chaining Hash" msgstr "Kettenhash" #: public/js/frappe/form/templates/form_sidebar.html:11 -#: tests/test_translate.py:98 +#: tests/test_translate.py:97 msgid "Change" msgstr "Ändern" -#: tests/test_translate.py:99 +#: tests/test_translate.py:98 msgctxt "Coins" msgid "Change" msgstr "Ändern" @@ -5360,7 +5407,7 @@ msgctxt "Web Template Field" msgid "Check" msgstr "Prüfen" -#: integrations/doctype/webhook/webhook.py:96 +#: integrations/doctype/webhook/webhook.py:98 msgid "Check Request URL" msgstr "Anfrage-URL prüfen" @@ -5430,7 +5477,7 @@ msgctxt "Form Tour Step" msgid "Child Doctype" msgstr "Untergeordneter DocType" -#: core/doctype/doctype/doctype.py:1582 +#: core/doctype/doctype/doctype.py:1584 msgid "Child Table {0} for field {1}" msgstr "Untertabelle {0} für Feld {1}" @@ -5484,15 +5531,15 @@ msgstr "Ort/ Wohnort" msgid "Clear" msgstr "Löschen" -#: public/js/frappe/views/communication.js:367 +#: public/js/frappe/views/communication.js:392 msgid "Clear & Add Template" msgstr "Leeren und Vorlage einfügen" -#: public/js/frappe/views/communication.js:98 +#: public/js/frappe/views/communication.js:99 msgid "Clear & Add template" msgstr "Leeren und Vorlage einfügen" -#: public/js/frappe/list/list_view.js:1819 +#: public/js/frappe/list/list_view.js:1826 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "Zuweisung löschen" @@ -5519,7 +5566,7 @@ msgstr "Lösche Logs nach (in Tagen)" msgid "Clear User Permissions" msgstr "Benutzerrechte löschen" -#: public/js/frappe/views/communication.js:368 +#: public/js/frappe/views/communication.js:393 msgid "Clear the email message and add the template" msgstr "Email-Feld leeren und Vorlage einfügen" @@ -5577,7 +5624,7 @@ msgstr "Klicken Sie auf {0}, um das Refresh Token zu generieren." #: desk/doctype/dashboard_chart/dashboard_chart.js:315 #: desk/doctype/number_card/number_card.js:215 #: email/doctype/auto_email_report/auto_email_report.js:96 -#: website/doctype/web_form/web_form.js:227 +#: website/doctype/web_form/web_form.js:226 msgid "Click table to edit" msgstr "Klicken Sie auf Tabelle bearbeiten" @@ -5588,11 +5635,11 @@ msgstr "Klicken Sie hier, um dynamische Filter einzustellen" #: desk/doctype/dashboard_chart/dashboard_chart.js:372 #: desk/doctype/number_card/number_card.js:270 -#: website/doctype/web_form/web_form.js:253 +#: website/doctype/web_form/web_form.js:252 msgid "Click to Set Filters" msgstr "Klicken Sie, um Filter einzustellen" -#: public/js/frappe/list/list_view.js:657 +#: public/js/frappe/list/list_view.js:655 msgid "Click to sort by {0}" msgstr "Klicken, um nach {0} zu sortieren" @@ -6005,11 +6052,11 @@ msgstr "Spaltenname" msgid "Column Name cannot be empty" msgstr "Spaltenname darf nicht leer sein" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Column Width" msgstr "Spaltenbreite" -#: public/js/frappe/form/grid_row.js:613 +#: public/js/frappe/form/grid_row.js:614 msgid "Column width cannot be zero." msgstr "Spaltenbreite darf nicht null sein." @@ -6169,8 +6216,8 @@ msgid "Common names and surnames are easy to guess." msgstr "Namen und Nachnamen sind leicht zu erraten." #. Name of a DocType -#: core/doctype/communication/communication.json tests/test_translate.py:35 -#: tests/test_translate.py:103 +#: core/doctype/communication/communication.json tests/test_translate.py:34 +#: tests/test_translate.py:102 msgid "Communication" msgstr "Kommunikation" @@ -6243,11 +6290,11 @@ msgstr "Firma" msgid "Compare Versions" msgstr "Versionen vergleichen" -#: core/doctype/server_script/server_script.py:137 +#: core/doctype/server_script/server_script.py:140 msgid "Compilation warning" msgstr "Kompilierungswarnung" -#: website/doctype/website_theme/website_theme.py:122 +#: website/doctype/website_theme/website_theme.py:123 msgid "Compiled Successfully" msgstr "Erfolgreich kompiliert" @@ -6265,7 +6312,7 @@ msgstr "Komplett" msgid "Complete By" msgstr "Fertigstellen bis" -#: core/doctype/user/user.py:467 templates/emails/new_user.html:10 +#: core/doctype/user/user.py:471 templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "Anmeldung abschliessen" @@ -6334,7 +6381,7 @@ msgstr "E-Mail verfassen" #: desk/doctype/dashboard_chart/dashboard_chart.js:439 #: desk/doctype/number_card/number_card.js:205 #: desk/doctype/number_card/number_card.js:333 -#: website/doctype/web_form/web_form.js:188 +#: website/doctype/web_form/web_form.js:187 msgid "Condition" msgstr "Zustand" @@ -6414,7 +6461,7 @@ msgstr "Konfiguration" msgid "Configure Chart" msgstr "Diagramm konfigurieren" -#: public/js/frappe/form/grid_row.js:381 +#: public/js/frappe/form/grid_row.js:382 msgid "Configure Columns" msgstr "Spalten konfigurieren" @@ -6433,7 +6480,8 @@ msgstr "Legen Sie fest, wie berichtigte Dokumente benannt werden sollen.filters. result = [result], or for old style data = [columns], [result]"
msgstr "Filter sind über filters zugänglich.result = [result] oder für data = [columns], [result] alten Stil data = [columns], [result] senden"
-#: public/js/frappe/views/reports/report_view.js:1353
+#: public/js/frappe/views/reports/report_view.js:1355
msgid "Filters:"
msgstr "Filter:"
@@ -12988,11 +13073,11 @@ msgctxt "Report Filter"
msgid "Fold"
msgstr "Falz"
-#: core/doctype/doctype/doctype.py:1397
+#: core/doctype/doctype/doctype.py:1399
msgid "Fold can not be at the end of the form"
msgstr "Falz kann nicht am Ende eines Formulars sein"
-#: core/doctype/doctype/doctype.py:1395
+#: core/doctype/doctype/doctype.py:1397
msgid "Fold must come before a Section Break"
msgstr "Falz muss vor einem Bereichsumbruch kommen"
@@ -13012,7 +13097,7 @@ msgstr "Ordnername"
msgid "Folder name should not include '/' (slash)"
msgstr "Ordnername sollte nicht '/' (Schrägstrich) enthalten"
-#: core/doctype/file/file.py:465
+#: core/doctype/file/file.py:466
msgid "Folder {0} is not empty"
msgstr "Ordner {0} ist nicht leer"
@@ -13316,7 +13401,7 @@ msgstr "Bei mehreren Adressen geben Sie bitte jede Adresse in einer neuen Zeile
msgid "For updating, you can update only selective columns."
msgstr "Nur ausgewählte Spalten können aktualisiert werden"
-#: core/doctype/doctype/doctype.py:1686
+#: core/doctype/doctype/doctype.py:1730
msgid "For {0} at level {1} in {2} in row {3}"
msgstr "Für {0} auf der Ebene {1} in {2} in Zeile {3}"
@@ -13602,7 +13687,7 @@ msgctxt "System Settings"
msgid "Friday"
msgstr "Freitag"
-#: public/js/frappe/views/communication.js:170
+#: public/js/frappe/views/communication.js:182
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "From"
msgstr "Von"
@@ -13721,7 +13806,7 @@ msgstr "Funktion"
msgid "Function Based On"
msgstr "Funktion basiert auf"
-#: __init__.py:928
+#: __init__.py:931
msgid "Function {0} is not whitelisted."
msgstr "Funktion {0} ist nicht freigegeben."
@@ -13846,7 +13931,7 @@ msgctxt "Auto Repeat"
msgid "Get Contacts"
msgstr "Kontakte erhalten"
-#: website/doctype/web_form/web_form.js:84
+#: website/doctype/web_form/web_form.js:83
msgid "Get Fields"
msgstr "Felder erhalten"
@@ -14613,7 +14698,7 @@ msgstr "Hallo"
#: public/js/frappe/form/templates/form_sidebar.html:40
#: public/js/frappe/form/workflow.js:23
-#: public/js/frappe/ui/toolbar/navbar.html:81 public/js/frappe/utils/help.js:27
+#: public/js/frappe/ui/toolbar/navbar.html:86 public/js/frappe/utils/help.js:27
msgid "Help"
msgstr "Hilfe"
@@ -14657,7 +14742,7 @@ msgctxt "Help Category"
msgid "Help Category"
msgstr "Hilfekategorie"
-#: public/js/frappe/ui/toolbar/navbar.html:78
+#: public/js/frappe/ui/toolbar/navbar.html:83
msgid "Help Dropdown"
msgstr "Hilfe Dropdown"
@@ -14923,11 +15008,11 @@ msgctxt "Portal Settings"
msgid "Hide Standard Menu"
msgstr "Standardmenü ausblenden"
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Hide Tags"
msgstr "Schlagworte ausblenden"
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Hide Weekends"
msgstr "Wochenenden ausblenden"
@@ -14984,9 +15069,9 @@ msgstr "Hervorheben"
msgid "Hint: Include symbols, numbers and capital letters in the password"
msgstr "Hinweis: Geben Sie Symbole, Zahlen und Großbuchstaben in das Passwort ein"
-#: core/doctype/file/utils.py:31 public/js/frappe/views/file/file_view.js:67
+#: core/doctype/file/utils.py:28 public/js/frappe/views/file/file_view.js:67
#: public/js/frappe/views/file/file_view.js:88
-#: public/js/frappe/views/pageview.js:149 templates/doc.html:19
+#: public/js/frappe/views/pageview.js:153 templates/doc.html:19
#: templates/includes/navbar/navbar.html:9
#: website/doctype/blog_post/blog_post.py:153
#: website/doctype/blog_post/blog_post.py:265
@@ -15020,16 +15105,16 @@ msgctxt "User"
msgid "Home Settings"
msgstr "Starteinstellungen"
-#: core/doctype/file/test_file.py:297 core/doctype/file/test_file.py:299
-#: core/doctype/file/test_file.py:363
+#: core/doctype/file/test_file.py:302 core/doctype/file/test_file.py:304
+#: core/doctype/file/test_file.py:368
msgid "Home/Test Folder 1"
msgstr "Startseite/Test-Ordner 1"
-#: core/doctype/file/test_file.py:352
+#: core/doctype/file/test_file.py:357
msgid "Home/Test Folder 1/Test Folder 3"
msgstr "Startseite/Test-Ordner 1/Test-Ordner 3"
-#: core/doctype/file/test_file.py:308
+#: core/doctype/file/test_file.py:313
msgid "Home/Test Folder 2"
msgstr "Startseite/Test-Ordner 2"
@@ -15088,7 +15173,7 @@ msgstr "Wie soll diese Währung formatiert werden? Wenn nichts festgelegt ist, w
msgid "ID"
msgstr "ID"
-#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:920
+#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:922
msgctxt "Label of name column in report"
msgid "ID"
msgstr "ID"
@@ -15245,7 +15330,7 @@ msgctxt "Workflow Document State"
msgid "If Checked workflow status will not override status in list view"
msgstr "Falls diese Option aktiviert ist, wird der Workflow-Status nicht den Status in der Listenansicht überschreiben"
-#: core/doctype/doctype/doctype.py:1698
+#: core/doctype/doctype/doctype.py:1742
msgid "If Owner"
msgstr "Wenn Inhaber"
@@ -15437,7 +15522,7 @@ msgstr "Wenn neue Datensätze hochgeladen werden, ist - falls vorhanden - \"Beze
msgid "If you are uploading new records, leave the \"name\" (ID) column blank."
msgstr "Wenn neue Datensätze hochgeladen werden, bitte die Spalte \"Bezeichnung\" (ID) leer lassen."
-#: utils/password.py:200
+#: utils/password.py:197
msgid "If you have recently restored the site you may need to copy the site config contaning original Encryption Key."
msgstr "Falls Sie diese Instanz kürzlich wiederhergestellt haben, müssen Sie möglicherweise noch den Verschlüsselungsschlüssel des vorherigen Systems in die Site Config übernehmen."
@@ -15620,15 +15705,15 @@ msgctxt "Letter Head"
msgid "Image Width"
msgstr "Bildbreite"
-#: core/doctype/doctype/doctype.py:1453
+#: core/doctype/doctype/doctype.py:1455
msgid "Image field must be a valid fieldname"
msgstr "Bildfeld muss ein gültiger Feldname sein"
-#: core/doctype/doctype/doctype.py:1455
+#: core/doctype/doctype/doctype.py:1457
msgid "Image field must be of type Attach Image"
msgstr "Bildfeld muss Typ anhängen Bild"
-#: core/doctype/file/utils.py:134
+#: core/doctype/file/utils.py:136
msgid "Image link '{0}' is not valid"
msgstr "Bild-Link '{0}' ist ungültig"
@@ -15640,6 +15725,28 @@ msgstr "Bild optimiert"
msgid "Images"
msgstr "Bilder"
+#: core/doctype/user/user.js:346
+msgid "Impersonate"
+msgstr ""
+
+#. Option for the 'Operation' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Impersonate"
+msgstr ""
+
+#: core/doctype/user/user.js:373
+msgid "Impersonate as {0}"
+msgstr ""
+
+#: public/js/frappe/form/footer/version_timeline_content_builder.js:233
+msgid "Impersonated by {0}"
+msgstr ""
+
+#: public/js/frappe/ui/toolbar/navbar.html:21
+msgid "Impersonating {0}"
+msgstr ""
+
#: core/doctype/log_settings/log_settings.py:57
msgid "Implement `clear_old_logs` method to enable auto error clearing."
msgstr "Implementieren Sie die Methode `clear_old_logs`, um die automatische Fehlerbereinigung zu aktivieren."
@@ -15655,7 +15762,7 @@ msgstr "Implizit"
msgid "Import"
msgstr "Importieren"
-#: public/js/frappe/list/list_view.js:1628
+#: public/js/frappe/list/list_view.js:1635
msgctxt "Button in list view menu"
msgid "Import"
msgstr "Importieren"
@@ -16010,25 +16117,25 @@ msgstr "Falsche Konfiguration"
msgid "Incorrect URL"
msgstr "Falsche URL"
-#: utils/password.py:90
+#: utils/password.py:89
msgid "Incorrect User or Password"
msgstr "Falscher Benutzer oder Passwort"
-#: twofactor.py:175 twofactor.py:187
+#: twofactor.py:176 twofactor.py:188
msgid "Incorrect Verification code"
msgstr "Falscher Bestätigungscode"
-#: model/document.py:1335
+#: model/document.py:1351
msgid "Incorrect value in row {0}: {1} must be {2} {3}"
msgstr "Falscher Wert in Zeile {0}: {1} muss {2} {3} sein"
-#: model/document.py:1339
+#: model/document.py:1355
msgid "Incorrect value: {0} must be {1} {2}"
msgstr "Falscher Wert: {0} muss {1} {2} sein"
#: model/meta.py:48 public/js/frappe/model/meta.js:200
#: public/js/frappe/model/model.js:114
-#: public/js/frappe/views/reports/report_view.js:941
+#: public/js/frappe/views/reports/report_view.js:943
msgid "Index"
msgstr "Pos"
@@ -16138,11 +16245,11 @@ msgctxt "Custom Field"
msgid "Insert After"
msgstr "Einfügen nach"
-#: custom/doctype/custom_field/custom_field.py:248
+#: custom/doctype/custom_field/custom_field.py:249
msgid "Insert After cannot be set as {0}"
msgstr "Dahinter einfügen kann nicht als eingestellt werden {0}"
-#: custom/doctype/custom_field/custom_field.py:241
+#: custom/doctype/custom_field/custom_field.py:242
msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist"
msgstr "Dahinter einfügen Feld '{0}' in benutzerdefinierten Feld erwähnt '{1}', mit dem Label '{2}' existiert nicht"
@@ -16222,7 +16329,7 @@ msgstr "Unzureichende Berechtigungen um Bericht zu löschen"
msgid "Insufficient Permissions for editing Report"
msgstr "Unzureichende Berechtigungen um Bericht zu bearbeiten"
-#: core/doctype/doctype/doctype.py:442
+#: core/doctype/doctype/doctype.py:444
msgid "Insufficient attachment limit"
msgstr "Unzureichende Begrenzung für Anhänge"
@@ -16378,7 +16485,7 @@ msgctxt "OAuth Authorization Code"
msgid "Invalid"
msgstr "Ungültig"
-#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:768
+#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:769
#: public/js/frappe/form/layout.js:774
msgid "Invalid \"depends_on\" expression"
msgstr "Ungültiger \"depends_on\" Ausdruck"
@@ -16399,7 +16506,7 @@ msgstr "Ungültige Aktion"
msgid "Invalid CSV Format"
msgstr "Ungültige CSV-Format"
-#: integrations/doctype/webhook/webhook.py:88
+#: integrations/doctype/webhook/webhook.py:90
msgid "Invalid Condition: {}"
msgstr "Ungültige Bedingung: {}"
@@ -16407,7 +16514,7 @@ msgstr "Ungültige Bedingung: {}"
msgid "Invalid Credentials"
msgstr "Ungültige Anmeldeinformationen"
-#: utils/data.py:125 utils/data.py:286
+#: utils/data.py:125 utils/data.py:289
msgid "Invalid Date"
msgstr "Ungültiges Datum"
@@ -16419,11 +16526,11 @@ msgstr "Ungültiger DocType"
msgid "Invalid DocType: {0}"
msgstr "Ungültiger DocType: {0}"
-#: core/doctype/doctype/doctype.py:1219
+#: core/doctype/doctype/doctype.py:1221
msgid "Invalid Fieldname"
msgstr "Ungültiger Feldname"
-#: core/doctype/file/file.py:207
+#: core/doctype/file/file.py:206
msgid "Invalid File URL"
msgstr "Ungültige Datei-URL"
@@ -16463,7 +16570,7 @@ msgstr "Ungültiger Nummernkreis: {}"
msgid "Invalid Operation"
msgstr "Ungültige Operation"
-#: core/doctype/doctype/doctype.py:1576 core/doctype/doctype/doctype.py:1585
+#: core/doctype/doctype/doctype.py:1578 core/doctype/doctype/doctype.py:1587
msgid "Invalid Option"
msgstr "Ungültige Option"
@@ -16479,7 +16586,7 @@ msgstr "Ungültige Ausgabeformat"
msgid "Invalid Parameters."
msgstr "Ungültige Parameter."
-#: core/doctype/user/user.py:1213 www/update-password.html:121
+#: core/doctype/user/user.py:1217 www/update-password.html:121
#: www/update-password.html:142 www/update-password.html:144
#: www/update-password.html:245
msgid "Invalid Password"
@@ -16497,7 +16604,7 @@ msgstr "ungültige Anfrage"
msgid "Invalid Search Field {0}"
msgstr "Ungültiges Suchfeld {0}"
-#: core/doctype/doctype/doctype.py:1161
+#: core/doctype/doctype/doctype.py:1163
msgid "Invalid Table Fieldname"
msgstr "Ungültiger Tabellenfeldname"
@@ -16505,7 +16612,7 @@ msgstr "Ungültiger Tabellenfeldname"
msgid "Invalid Transition"
msgstr "Ungültiger Übergang"
-#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604
+#: core/doctype/file/file.py:217 public/js/frappe/widgets/widget_dialog.js:604
#: utils/csvutils.py:201 utils/csvutils.py:222
msgid "Invalid URL"
msgstr "ungültige URL"
@@ -16514,7 +16621,7 @@ msgstr "ungültige URL"
msgid "Invalid User Name or Support Password. Please rectify and try again."
msgstr "Ungültiger Benutzername oder fehlendes Passwort. Bitte Angaben korrigieren und erneut versuchen."
-#: integrations/doctype/webhook/webhook.py:117
+#: integrations/doctype/webhook/webhook.py:119
msgid "Invalid Webhook Secret"
msgstr "Ungültiges Webhook Geheimnis"
@@ -16526,7 +16633,7 @@ msgstr "Ungültige Aggregatfunktion"
msgid "Invalid column"
msgstr "Ungültige Spalte"
-#: model/document.py:830 model/document.py:844
+#: model/document.py:846 model/document.py:860
msgid "Invalid docstatus"
msgstr "Ungültiger Status"
@@ -16538,11 +16645,11 @@ msgstr "Ungültiger Ausdruck in Filter {0} festgelegt"
msgid "Invalid expression set in filter {0} ({1})"
msgstr "Ungültiger Ausdruck im Filter {0} ({1}) gesetzt"
-#: utils/data.py:2102
+#: utils/data.py:2106
msgid "Invalid field name {0}"
msgstr "Ungültiger Feldname {0}"
-#: core/doctype/doctype/doctype.py:1046
+#: core/doctype/doctype/doctype.py:1048
msgid "Invalid fieldname '{0}' in autoname"
msgstr "Ungültige Feldname '{0}' in auton"
@@ -16575,7 +16682,7 @@ msgstr "Ungültiger oder beschädigter Inhalt für den Import"
msgid "Invalid redirect regex in row #{}: {}"
msgstr "Ungültige Weiterleitungs-Regex in Zeile #{}: {}"
-#: app.py:299
+#: app.py:305
msgid "Invalid request arguments"
msgstr "Ungültige Anfrageargumente"
@@ -16597,7 +16704,7 @@ msgctxt "Error message in web form"
msgid "Invalid values for fields:"
msgstr "Ungültige Werte für Felder:"
-#: core/doctype/doctype/doctype.py:1511
+#: core/doctype/doctype/doctype.py:1513
msgid "Invalid {0} condition"
msgstr "Ungültige {0} Bedingung"
@@ -16607,7 +16714,7 @@ msgctxt "Workflow State"
msgid "Inverse"
msgstr "Invertieren"
-#: contacts/doctype/contact/contact.js:25
+#: contacts/doctype/contact/contact.js:30
msgid "Invite as User"
msgstr "Als Benutzer einladen"
@@ -16801,7 +16908,7 @@ msgctxt "DocType"
msgid "Is Published Field"
msgstr "Ist Veröffentlicht Feld"
-#: core/doctype/doctype/doctype.py:1462
+#: core/doctype/doctype/doctype.py:1464
msgid "Is Published Field must be a valid fieldname"
msgstr "Ist Veröffentlicht Feld muss eine gültige Feldname sein"
@@ -16969,7 +17076,7 @@ msgctxt "DocType"
msgid "Is Virtual"
msgstr "Ist virtuell"
-#: core/doctype/file/utils.py:155 utils/file_manager.py:311
+#: core/doctype/file/utils.py:157 utils/file_manager.py:311
msgid "It is risky to delete this file: {0}. Please contact your System Manager."
msgstr "Es ist riskant, diese Datei zu löschen: {0}. Bitte kontaktieren Sie Ihren System-Manager."
@@ -17558,7 +17665,7 @@ msgctxt "Customize Form Field"
msgid "Label and Type"
msgstr "Bezeichnung und Typ"
-#: custom/doctype/custom_field/custom_field.py:142
+#: custom/doctype/custom_field/custom_field.py:143
msgid "Label is mandatory"
msgstr "Bezeichnung ist zwingend erforderlich"
@@ -17797,7 +17904,7 @@ msgctxt "Event"
msgid "Leave blank to repeat always"
msgstr "Freilassen, um immer zu wiederholen"
-#: core/doctype/communication/mixins.py:206
+#: core/doctype/communication/mixins.py:207
#: email/doctype/email_account/email_account.py:654
msgid "Leave this conversation"
msgstr "Benachrichtigungen abbestellen"
@@ -18341,7 +18448,7 @@ msgid "Linked With"
msgstr "Verknüpft mit"
#: contacts/doctype/address/address.js:39
-#: contacts/doctype/contact/contact.js:82 public/js/frappe/form/toolbar.js:366
+#: contacts/doctype/contact/contact.js:87 public/js/frappe/form/toolbar.js:366
msgid "Links"
msgstr "Verknüpfungen"
@@ -18417,7 +18524,7 @@ msgctxt "Web Form"
msgid "List Setting Message"
msgstr ""
-#: public/js/frappe/list/list_view.js:1708
+#: public/js/frappe/list/list_view.js:1715
msgctxt "Button in list view menu"
msgid "List Settings"
msgstr "Listeneinstellungen"
@@ -18484,7 +18591,7 @@ msgstr "Weitere Kommunikation laden"
#: core/page/permission_manager/permission_manager.js:165
#: public/js/frappe/form/controls/multicheck.js:13
#: public/js/frappe/form/linked_with.js:13
-#: public/js/frappe/list/base_list.js:467
+#: public/js/frappe/list/base_list.js:469
#: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16
#: public/js/frappe/views/reports/query_report.js:1001
msgid "Loading"
@@ -18637,7 +18744,7 @@ msgstr "Anmeldung erforderlich"
msgid "Login To {0}"
msgstr "Anmelden bei {0}"
-#: twofactor.py:259
+#: twofactor.py:260
msgid "Login Verification Code from {}"
msgstr "Login-Bestätigungscode von {}"
@@ -18649,7 +18756,7 @@ msgstr "Mit {0} anmelden"
msgid "Login and view in Browser"
msgstr "Anmelden und im Browser anzeigen"
-#: website/doctype/web_form/web_form.js:358
+#: website/doctype/web_form/web_form.js:357
msgid "Login is required to see web form list view. Enable {0} to see list settings"
msgstr "Um die Listenansicht des Webformulars zu sehen, ist eine Anmeldung erforderlich. Aktivieren Sie {0}, um die Listeneinstellungen zu sehen"
@@ -18661,7 +18768,7 @@ msgstr "Ein Anmeldelink wurde an Ihre E-Mail-Adresse gesendet"
msgid "Login not allowed at this time"
msgstr "Anmelden zurzeit nicht erlaubt"
-#: twofactor.py:163
+#: twofactor.py:164
msgid "Login session expired, refresh page to retry"
msgstr "Sitzung abgelaufen. Aktualisieren Sie die Seite, um es erneut zu versuchen"
@@ -18713,7 +18820,7 @@ msgctxt "Activity Log"
msgid "Logout"
msgstr "Abmelden"
-#: core/doctype/user/user.js:172
+#: core/doctype/user/user.js:173
msgid "Logout All Sessions"
msgstr "Alle Sitzungen abmelden"
@@ -19148,7 +19255,7 @@ msgctxt "System Settings"
msgid "Max auto email report per user"
msgstr "Höchstzahl automatischer E-Mail-Berichte pro Benutzer"
-#: core/doctype/doctype/doctype.py:1289
+#: core/doctype/doctype/doctype.py:1291
msgid "Max width for type Currency is 100px in row {0}"
msgstr "Max Breite für Typ Währung ist 100px in Zeile {0}"
@@ -19158,7 +19265,7 @@ msgctxt "Number Card"
msgid "Maximum"
msgstr "Maximal"
-#: core/doctype/file/file.py:318
+#: core/doctype/file/file.py:317
msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
msgstr "Die Höchstgrenze für Anhänge von {0} wurde für {1} {2} erreicht."
@@ -19267,7 +19374,7 @@ msgstr "Zusammenführung ist nur möglich zwischen Gruppen oder Knoten"
#: core/doctype/data_import/data_import.js:489
#: public/js/frappe/ui/messages.js:175
-#: public/js/frappe/views/communication.js:110 www/message.html:3
+#: public/js/frappe/views/communication.js:111 www/message.html:3
#: www/message.html:25
msgid "Message"
msgstr "Botschaft"
@@ -19297,7 +19404,7 @@ msgctxt "Communication"
msgid "Message"
msgstr "Botschaft"
-#: __init__.py:612 public/js/frappe/ui/messages.js:265
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
msgctxt "Default title of the message dialog"
msgid "Message"
msgstr "Botschaft"
@@ -19387,7 +19494,7 @@ msgctxt "Notification"
msgid "Message Type"
msgstr "Nachrichtentyp"
-#: public/js/frappe/views/communication.js:883
+#: public/js/frappe/views/communication.js:910
msgid "Message clipped"
msgstr "Nachricht abgeschnitten"
@@ -19603,7 +19710,7 @@ msgstr "Falsch konfiguriert"
msgid "Missing DocType"
msgstr "Fehlender DocType"
-#: core/doctype/doctype/doctype.py:1473
+#: core/doctype/doctype/doctype.py:1475
msgid "Missing Field"
msgstr "Fehlendes Feld"
@@ -19634,8 +19741,8 @@ msgstr "Angaben zu fehlenden Werten erforderlich"
msgid "Mobile"
msgstr "Mobil"
-#: tests/test_translate.py:86 tests/test_translate.py:89
-#: tests/test_translate.py:91 tests/test_translate.py:94
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
msgid "Mobile No"
msgstr "Mobilfunknummer"
@@ -19944,7 +20051,7 @@ msgctxt "Print Settings"
msgid "Monospace"
msgstr "Monospace"
-#: public/js/frappe/views/calendar/calendar.js:268
+#: public/js/frappe/views/calendar/calendar.js:269
msgid "Month"
msgstr "Monat"
@@ -20077,7 +20184,7 @@ msgstr "Zusätzlicher Inhalt für den unteren Teil der Seite."
msgid "Most Used"
msgstr "Am Meisten verwendet"
-#: utils/password.py:65
+#: utils/password.py:64
msgid "Most probably your password is too long."
msgstr "Wahrscheinlich ist Ihr Passwort zu lang."
@@ -20381,12 +20488,12 @@ msgstr "Navbar-Vorlagenwerte"
msgid "Navigate Home"
msgstr "Nach Hause navigieren"
-#: public/js/frappe/list/list_view.js:1134
+#: public/js/frappe/list/list_view.js:1132
msgctxt "Description of a list view shortcut"
msgid "Navigate list down"
msgstr "Liste nach unten navigieren"
-#: public/js/frappe/list/list_view.js:1141
+#: public/js/frappe/list/list_view.js:1139
msgctxt "Description of a list view shortcut"
msgid "Navigate list up"
msgstr "Liste nach oben navigieren"
@@ -20409,7 +20516,7 @@ msgstr "Sie benötigen die Rolle des Workspace Managers, um den privaten Arbeits
msgid "Need Workspace Manager role to hide/unhide public workspaces"
msgstr "Benötigen Sie die Rolle des Workspace Managers, um öffentliche Arbeitsbereiche ein- und auszublenden"
-#: model/document.py:606
+#: model/document.py:622
msgid "Negative Value"
msgstr "Negativer Wert"
@@ -20473,7 +20580,7 @@ msgstr "Neuer Kontakt"
msgid "New Custom Block"
msgstr "Neuer benutzerdefinierter Block"
-#: printing/page/print/print.js:288 printing/page/print/print.js:335
+#: printing/page/print/print.js:295 printing/page/print/print.js:342
msgid "New Custom Print Format"
msgstr "Neues benutzerdefiniertes Druckformat"
@@ -20547,11 +20654,11 @@ msgstr "Neue Zahlenkarte"
msgid "New Onboarding"
msgstr "Neues Onboarding"
-#: core/doctype/user/user.js:160 www/update-password.html:19
+#: core/doctype/user/user.js:161 www/update-password.html:19
msgid "New Password"
msgstr "Neues Passwort"
-#: printing/page/print/print.js:260 printing/page/print/print.js:314
+#: printing/page/print/print.js:267 printing/page/print/print.js:321
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:61
msgid "New Print Format Name"
msgstr "Name des neuen Druckformats"
@@ -20560,7 +20667,7 @@ msgstr "Name des neuen Druckformats"
msgid "New Quick List"
msgstr "Neue Schnellliste"
-#: public/js/frappe/views/reports/report_view.js:1310
+#: public/js/frappe/views/reports/report_view.js:1312
msgid "New Report name"
msgstr "Neuer Berichtsname"
@@ -20637,7 +20744,7 @@ msgstr "Neu {0}: {1}"
msgid "New {} releases for the following apps are available"
msgstr "Neue {} Versionen für die folgenden Apps sind verfügbar"
-#: core/doctype/user/user.py:790
+#: core/doctype/user/user.py:794
msgid "Newly created user {0} has no roles enabled."
msgstr "Der neu erstellte Benutzer {0} hat keine aktivierten Rollen."
@@ -20692,7 +20799,7 @@ msgstr "Newsletter"
#: public/js/frappe/web_form/web_form.js:91
#: public/js/onboarding_tours/onboarding_tours.js:15
#: public/js/onboarding_tours/onboarding_tours.js:240
-#: templates/includes/slideshow.html:38 website/utils.py:247
+#: templates/includes/slideshow.html:38 website/utils.py:245
#: website/web_template/slideshow/slideshow.html:44
msgid "Next"
msgstr "Weiter"
@@ -20774,7 +20881,7 @@ msgctxt "Form Tour Step"
msgid "Next on Click"
msgstr "Weiter bei Klick"
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:341
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -20884,7 +20991,7 @@ msgstr "Keine Filter eingestellt"
msgid "No Google Calendar Event to sync."
msgstr "Kein zu synchronisierendes Google Kalender-Ereignis."
-#: public/js/frappe/ui/capture.js:254
+#: public/js/frappe/ui/capture.js:262
msgid "No Images"
msgstr "Keine Bilder"
@@ -20900,7 +21007,7 @@ msgstr "Kein LDAP-Benutzer für E-Mail gefunden: {0}"
msgid "No Label"
msgstr "Keine Bezeichnung"
-#: printing/page/print/print.js:675 printing/page/print/print.js:757
+#: printing/page/print/print.js:682 printing/page/print/print.js:764
#: public/js/frappe/list/bulk_operations.js:82
#: public/js/frappe/list/bulk_operations.js:126 utils/weasyprint.py:52
msgid "No Letterhead"
@@ -20914,7 +21021,7 @@ msgstr "Kein Name für {0} angegeben"
msgid "No New notifications"
msgstr "Keine neuen Benachrichtigungen"
-#: core/doctype/doctype/doctype.py:1678
+#: core/doctype/doctype/doctype.py:1722
msgid "No Permissions Specified"
msgstr "Keine Berechtigungen angegeben"
@@ -20934,11 +21041,11 @@ msgstr "Keine zulässigen Diagramme in diesem Dashboard"
msgid "No Preview"
msgstr "Keine Vorschau"
-#: printing/page/print/print.js:679
+#: printing/page/print/print.js:686
msgid "No Preview Available"
msgstr "Keine Vorschau verfügbar"
-#: printing/page/print/print.js:835
+#: printing/page/print/print.js:842
msgid "No Printer is Available."
msgstr "Es ist kein Drucker verfügbar."
@@ -20954,7 +21061,7 @@ msgstr "Keine Ergebnisse"
msgid "No Results found"
msgstr "Keine Ergebnisse gefunden"
-#: core/doctype/user/user.py:791
+#: core/doctype/user/user.py:795
msgid "No Roles Specified"
msgstr "Keine Rollen festgelegt"
@@ -21078,7 +21185,7 @@ msgstr "Keine Notwendigkeit für Symbole, Ziffern oder Großbuchstaben."
msgid "No new Google Contacts synced."
msgstr "Keine neuen Google-Kontakte synchronisiert"
-#: public/js/frappe/ui/toolbar/navbar.html:41
+#: public/js/frappe/ui/toolbar/navbar.html:46
msgid "No new notifications"
msgstr "Keine neuen Benachrichtigungen"
@@ -21104,7 +21211,7 @@ msgctxt "SMS Log"
msgid "No of Sent SMS"
msgstr "Anzahl der gesendeten SMS"
-#: __init__.py:1115 client.py:109 client.py:151
+#: __init__.py:1119 client.py:109 client.py:151
msgid "No permission for {0}"
msgstr "Keine Berechtigung für {0}"
@@ -21137,7 +21244,7 @@ msgstr "Keine Datensätze getaggt."
msgid "No records will be exported"
msgstr "Es werden keine Datensätze exportiert"
-#: www/printview.py:436
+#: www/printview.py:442
msgid "No template found at path: {0}"
msgstr "Keine Vorlage im Pfad: {0} gefunden"
@@ -21165,7 +21272,12 @@ msgstr "Keine {0} mit passenden Filtern gefunden. Löschen Sie Filter, um alle {
msgid "No {0} mail"
msgstr "Nein {0} mail"
-#: public/js/form_builder/utils.js:117 public/js/frappe/form/grid_row.js:251
+#: public/js/form_builder/utils.js:117
+msgid "No."
+msgstr "Nein."
+
+#: public/js/frappe/form/grid_row.js:252
+msgctxt "Title of the 'row number' column"
msgid "No."
msgstr "Nein."
@@ -21210,7 +21322,7 @@ msgctxt "Recorder Query"
msgid "Normalized Query"
msgstr "Normalisierte Abfrage"
-#: core/doctype/user/user.py:996 templates/includes/login/login.js:258
+#: core/doctype/user/user.py:1000 templates/includes/login/login.js:258
#: utils/oauth.py:265
msgid "Not Allowed"
msgstr "Nicht Erlaubt"
@@ -21231,7 +21343,7 @@ msgstr "Nicht Nachkommen von"
msgid "Not Equals"
msgstr "Ungleich"
-#: app.py:361 www/404.html:3
+#: app.py:362 www/404.html:3
msgid "Not Found"
msgstr "Nicht gefunden"
@@ -21259,7 +21371,7 @@ msgctxt "DocField"
msgid "Not Nullable"
msgstr "Nicht nullbar"
-#: __init__.py:1011 app.py:352 desk/calendar.py:26 geo/utils.py:97
+#: __init__.py:1015 app.py:353 desk/calendar.py:26 geo/utils.py:97
#: public/js/frappe/web_form/webform_script.js:15
#: website/doctype/web_form/web_form.py:602
#: website/page_renderers/not_permitted_page.py:20 www/login.py:174
@@ -21319,7 +21431,7 @@ msgstr "Nicht eingetragen"
msgid "Not a valid Comma Separated Value (CSV File)"
msgstr "Keine gültige .csv-Datei"
-#: core/doctype/user/user.py:227
+#: core/doctype/user/user.py:231
msgid "Not a valid User Image."
msgstr "Kein gültiges Benutzerbild."
@@ -21339,7 +21451,7 @@ msgstr "Nicht aktiv"
msgid "Not allowed for {0}: {1}"
msgstr "Nicht zulässig für {0}: {1}"
-#: email/doctype/notification/notification.py:388
+#: email/doctype/notification/notification.py:391
msgid "Not allowed to attach {0} document, please enable Allow Print For {0} in Print Settings"
msgstr "Das {0} -Dokument darf nicht angehängt werden. Aktivieren Sie in den Druckeinstellungen die Option "Druck für {0} zulassen""
@@ -21441,6 +21553,10 @@ msgctxt "System Settings"
msgid "Note: Multiple sessions will be allowed in case of mobile device"
msgstr "Hinweis: Mehrere Sitzungen wird im Falle einer mobilen Gerät erlaubt sein"
+#: core/doctype/user/user.js:361
+msgid "Note: This will be shared with user."
+msgstr ""
+
#: website/web_form/request_to_delete_data/request_to_delete_data.js:8
msgid "Note: Your request for account deletion will be fulfilled within {0} hours."
msgstr "Hinweis: Ihr Antrag auf Kontolöschung wird innerhalb von {0} Stunden bearbeitet."
@@ -21679,7 +21795,7 @@ msgctxt "Recorder"
msgid "Number of Queries"
msgstr "Anzahl der Abfragen"
-#: core/doctype/doctype/doctype.py:439 public/js/frappe/doctype/index.js:59
+#: core/doctype/doctype/doctype.py:441 public/js/frappe/doctype/index.js:59
msgid "Number of attachment fields are more than {}, limit updated to {}."
msgstr "Anzahl der Anhangsfelder ist größer als {}, Limit auf {} aktualisiert."
@@ -21792,11 +21908,11 @@ msgctxt "System Settings"
msgid "OTP Issuer Name"
msgstr "Name des OTP-Emittenten"
-#: twofactor.py:460
+#: twofactor.py:461
msgid "OTP Secret Reset - {0}"
msgstr "OTP Geheimnis zurücksetzen - {0}"
-#: twofactor.py:479
+#: twofactor.py:480
msgid "OTP Secret has been reset. Re-registration will be required on next login."
msgstr "OTP Secret wurde zurückgesetzt. Bei der Anmeldung ist eine erneute Anmeldung erforderlich."
@@ -21843,7 +21959,7 @@ msgstr "Versatz Y"
msgid "Old Password"
msgstr "Altes Passwort"
-#: custom/doctype/custom_field/custom_field.py:361
+#: custom/doctype/custom_field/custom_field.py:362
msgid "Old and new fieldnames are same."
msgstr "Alte und neue Feldnamen sind gleich."
@@ -21885,7 +22001,7 @@ msgctxt "Webhook"
msgid "On checking this option, URL will be treated like a jinja template string"
msgstr "Beim Aktivieren dieser Option wird die URL wie eine Jinja-Vorlage behandelt"
-#: public/js/frappe/views/communication.js:893
+#: public/js/frappe/views/communication.js:920
msgid "On {0}, {1} wrote:"
msgstr "Am {0}, schrieb {1}:"
@@ -21944,7 +22060,7 @@ msgstr "Sobald Sie dies festgelegt haben, können die Benutzer nur noch auf solc
msgid "One Last Step"
msgstr "Ein letzter Schritt"
-#: twofactor.py:277
+#: twofactor.py:278
msgid "One Time Password (OTP) Registration Code from {}"
msgstr "Einmal-Passwort (OTP) Registrierungscode von {}"
@@ -21982,7 +22098,7 @@ msgctxt "Workflow Document State"
msgid "Only Allow Edit For"
msgstr "Änderungen nur zulassen für"
-#: core/doctype/doctype/doctype.py:1555
+#: core/doctype/doctype/doctype.py:1557
msgid "Only Options allowed for Data field are:"
msgstr "Für das Datenfeld sind nur folgende Optionen zulässig:"
@@ -22146,7 +22262,7 @@ msgstr "Öffnen Sie ein Dialogfeld mit Pflichtfeldern, um schnell einen neuen Da
msgid "Open a module or tool"
msgstr "Modul oder Werkzeug öffnen"
-#: public/js/frappe/list/list_view.js:1187
+#: public/js/frappe/list/list_view.js:1185
msgctxt "Description of a list view shortcut"
msgid "Open list item"
msgstr "Listenelement öffnen"
@@ -22192,7 +22308,7 @@ msgctxt "Activity Log"
msgid "Operation"
msgstr "Arbeitsgang"
-#: utils/data.py:2038
+#: utils/data.py:2042
msgid "Operator must be one of {0}"
msgstr "Betreiber muss einer von {0}"
@@ -22216,7 +22332,7 @@ msgstr "Option 2"
msgid "Option 3"
msgstr "Option 3"
-#: core/doctype/doctype/doctype.py:1573
+#: core/doctype/doctype/doctype.py:1575
msgid "Option {0} for field {1} is not a child table"
msgstr "Option {0} für Feld {1} ist keine untergeordnete Tabelle"
@@ -22278,7 +22394,7 @@ msgctxt "Web Template Field"
msgid "Options"
msgstr "Optionen"
-#: core/doctype/doctype/doctype.py:1313
+#: core/doctype/doctype/doctype.py:1315
msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'"
msgstr "\"Dynamic Link\"-Feldtyp aus \"Optionen\" muss auf ein anderes Verknüpfungsfeld mit Optionen wie \"DocType\" zeigen"
@@ -22288,7 +22404,7 @@ msgctxt "Custom Field"
msgid "Options Help"
msgstr "Hilfe zu Optionen"
-#: core/doctype/doctype/doctype.py:1595
+#: core/doctype/doctype/doctype.py:1597
msgid "Options for Rating field can range from 3 to 10"
msgstr "Optionen für Bewertungsfeld können zwischen 3 und 10 liegen"
@@ -22296,7 +22412,7 @@ msgstr "Optionen für Bewertungsfeld können zwischen 3 und 10 liegen"
msgid "Options for select. Each option on a new line."
msgstr "Optionen zum Auswählen. Jede Option in einer neuen Zeile."
-#: core/doctype/doctype/doctype.py:1330
+#: core/doctype/doctype/doctype.py:1332
msgid "Options for {0} must be set before setting the default value."
msgstr "Optionen für {0} müssen festgelegt werden, bevor der Standardwert festgelegt wird."
@@ -22474,11 +22590,11 @@ msgstr "PDF-Einstellungen"
msgid "PDF generation failed"
msgstr "Die PDF-Erstellung ist fehlgeschlagen"
-#: utils/pdf.py:93
+#: utils/pdf.py:97
msgid "PDF generation failed because of broken image links"
msgstr "PDF-Generierung ist aufgrund fehlerhafter Verknüpfungen für Bilddateien fehlgeschlagen"
-#: printing/page/print/print.js:524
+#: printing/page/print/print.js:531
msgid "PDF printing via \"Raw Print\" is not supported."
msgstr "Der PDF-Druck über „Raw Print“ wird nicht unterstützt."
@@ -22754,7 +22870,7 @@ msgctxt "Form Tour Step"
msgid "Parent Field"
msgstr "Übergeordnetes Feld"
-#: core/doctype/doctype/doctype.py:912
+#: core/doctype/doctype/doctype.py:914
msgid "Parent Field (Tree)"
msgstr "Übergeordnetes Feld (Baum)"
@@ -22764,7 +22880,7 @@ msgctxt "DocType"
msgid "Parent Field (Tree)"
msgstr "Übergeordnetes Feld (Baum)"
-#: core/doctype/doctype/doctype.py:918
+#: core/doctype/doctype/doctype.py:920
msgid "Parent Field must be a valid fieldname"
msgstr "Das übergeordnete Feld muss ein gültiger Feldname sein"
@@ -22774,7 +22890,7 @@ msgctxt "Top Bar Item"
msgid "Parent Label"
msgstr "Übergeordnete Bezeichnung"
-#: core/doctype/doctype/doctype.py:1144
+#: core/doctype/doctype/doctype.py:1146
msgid "Parent Missing"
msgstr "Stammeintrag fehlt"
@@ -22838,8 +22954,8 @@ msgctxt "Contact"
msgid "Passive"
msgstr "Passiv"
-#: core/doctype/user/user.js:147 core/doctype/user/user.js:194
-#: core/doctype/user/user.js:214 desk/page/setup_wizard/setup_wizard.js:474
+#: core/doctype/user/user.js:148 core/doctype/user/user.js:195
+#: core/doctype/user/user.js:215 desk/page/setup_wizard/setup_wizard.js:474
#: www/login.html:21
msgid "Password"
msgstr "Passwort"
@@ -22881,11 +22997,11 @@ msgctxt "Web Form Field"
msgid "Password"
msgstr "Passwort"
-#: core/doctype/user/user.py:1059
+#: core/doctype/user/user.py:1063
msgid "Password Email Sent"
msgstr "Passwort E-Mail gesendet"
-#: core/doctype/user/user.py:447
+#: core/doctype/user/user.py:451
msgid "Password Reset"
msgstr "Passwort zurücksetzen"
@@ -22895,7 +23011,7 @@ msgctxt "System Settings"
msgid "Password Reset Link Generation Limit"
msgstr "Limit zum Generieren von Kennwort-Reset-Links"
-#: public/js/frappe/form/grid_row.js:810
+#: public/js/frappe/form/grid_row.js:811
msgid "Password cannot be filtered"
msgstr "Passwort kann nicht gefiltert werden"
@@ -22917,11 +23033,11 @@ msgstr "Das Passwort ist erforderlich, oder wählen Sie Warten Passwort"
msgid "Password missing in Email Account"
msgstr "Passwort fehlt im E-Mail-Konto"
-#: utils/password.py:42
+#: utils/password.py:41
msgid "Password not found for {0} {1} {2}"
msgstr "Passwort für {0} {1} {2} nicht gefunden"
-#: core/doctype/user/user.py:1058
+#: core/doctype/user/user.py:1062
msgid "Password reset instructions have been sent to your email"
msgstr "Eine Anleitung zum Zurücksetzen des Passworts wurde an ihre E-Mail-Adresse verschickt"
@@ -22933,7 +23049,7 @@ msgstr "Passwort gesetzt"
msgid "Password size exceeded the maximum allowed size"
msgstr "Passwort überschreitet die maximal zulässige Länge"
-#: core/doctype/user/user.py:854
+#: core/doctype/user/user.py:858
msgid "Password size exceeded the maximum allowed size."
msgstr "Passwort überschreitet die maximal zulässige Länge."
@@ -22941,7 +23057,7 @@ msgstr "Passwort überschreitet die maximal zulässige Länge."
msgid "Passwords do not match"
msgstr ""
-#: core/doctype/user/user.js:180
+#: core/doctype/user/user.js:181
msgid "Passwords do not match!"
msgstr "Passwörter stimmen nicht überein!"
@@ -23172,7 +23288,7 @@ msgid "Permission Type"
msgstr "Berechtigungsart"
#. Label of a Card Break in the Users Workspace
-#: core/doctype/user/user.js:122 core/doctype/user/user.js:131
+#: core/doctype/user/user.js:123 core/doctype/user/user.js:132
#: core/page/permission_manager/permission_manager.js:214
#: core/workspace/users/users.json
msgid "Permissions"
@@ -23214,7 +23330,7 @@ msgctxt "System Settings"
msgid "Permissions"
msgstr "Berechtigungen"
-#: core/doctype/doctype/doctype.py:1769 core/doctype/doctype/doctype.py:1779
+#: core/doctype/doctype/doctype.py:1813 core/doctype/doctype/doctype.py:1823
msgid "Permissions Error"
msgstr "Berechtigungsfehler"
@@ -23337,8 +23453,8 @@ msgid "Phone Number {0} set in field {1} is not valid."
msgstr "Telefonnummer {0} im Feld {1} ist ungültig."
#: public/js/frappe/form/print_utils.js:38
-#: public/js/frappe/views/reports/report_view.js:1504
-#: public/js/frappe/views/reports/report_view.js:1507
+#: public/js/frappe/views/reports/report_view.js:1506
+#: public/js/frappe/views/reports/report_view.js:1509
msgid "Pick Columns"
msgstr "Spalten auswählen"
@@ -23382,7 +23498,7 @@ msgstr "Fabrik"
msgid "Please Authorize OAuth for Email Account {}"
msgstr "Bitte autorisieren Sie OAuth für das E-Mail-Konto {}"
-#: website/doctype/website_theme/website_theme.py:76
+#: website/doctype/website_theme/website_theme.py:77
msgid "Please Duplicate this Website Theme to customize."
msgstr "Bitte dieses Webseiten-Thema duplizieren um es anzupassen."
@@ -23406,7 +23522,7 @@ msgstr "Bitte füge einen Betreff zu deiner E-Mail hinzu"
msgid "Please add a valid comment."
msgstr "Bitte fügen Sie einen gültigen Kommentar hinzu."
-#: core/doctype/user/user.py:1041
+#: core/doctype/user/user.py:1045
msgid "Please ask your administrator to verify your sign-up"
msgstr "Bitte fragen Sie Ihren Administrator Ihre Anmeldung bis zum überprüfen"
@@ -23438,7 +23554,7 @@ msgstr "Bitte überprüfen Sie die für das Dashboard-Diagramm festgelegten Filt
msgid "Please check the value of \"Fetch From\" set for field {0}"
msgstr "Bitte überprüfen Sie den Wert von "Abrufen von" für Feld {0}"
-#: core/doctype/user/user.py:1039
+#: core/doctype/user/user.py:1043
msgid "Please check your email for verification"
msgstr "Bitte überprüfen Sie Ihren Posteingang. Wir haben Ihnen eine E-Mail mit einer Bitte um Bestätigung geschickt."
@@ -23446,7 +23562,7 @@ msgstr "Bitte überprüfen Sie Ihren Posteingang. Wir haben Ihnen eine E-Mail mi
msgid "Please check your email login credentials."
msgstr "Bitte überprüfen Sie Ihre E-Mail-Anmeldedaten."
-#: twofactor.py:242
+#: twofactor.py:243
msgid "Please check your registered email address for instructions on how to proceed. Do not close this window as you will have to return to it."
msgstr "Bitte überprüfen Sie Ihren Posteingang auf weitere Instruktionen.\\nLassen Sie dieses Fenster geöffnet, Hier geht es weiter."
@@ -23454,7 +23570,7 @@ msgstr "Bitte überprüfen Sie Ihren Posteingang auf weitere Instruktionen.\\nLa
msgid "Please click on 'Export Errored Rows', fix the errors and import again."
msgstr "Bitte klicken Sie auf 'Fehlerhafte Zeilen exportieren', beheben Sie die Fehler und importieren Sie erneut."
-#: twofactor.py:285
+#: twofactor.py:286
msgid "Please click on the following link and follow the instructions on the page. {0}"
msgstr "Bitte klicken Sie auf den folgenden Link und folgen Sie den Anweisungen auf der Seite. {0}"
@@ -23496,7 +23612,7 @@ msgstr "Bitte aktivieren Sie mindestens eines der Anmeldeverfahren Social Login
#: desk/doctype/notification_log/notification_log.js:45
#: email/doctype/auto_email_report/auto_email_report.js:17
-#: printing/page/print/print.js:611 printing/page/print/print.js:640
+#: printing/page/print/print.js:618 printing/page/print/print.js:647
#: public/js/frappe/list/bulk_operations.js:117
#: public/js/frappe/utils/utils.js:1417
msgid "Please enable pop-ups"
@@ -23583,11 +23699,11 @@ msgstr "Bitte melden Sie sich an, um einen Kommentar zu schreiben."
msgid "Please make sure the Reference Communication Docs are not circularly linked."
msgstr "Bitte stellen Sie sicher, dass die Referenzkommunikationsdokumente nicht zirkulär verknüpft sind."
-#: model/document.py:799
+#: model/document.py:815
msgid "Please refresh to get the latest document."
msgstr "Bitte aktualisieren, um das neueste Dokument zu erhalten."
-#: printing/page/print/print.js:525
+#: printing/page/print/print.js:532
msgid "Please remove the printer mapping in Printer Settings and try again."
msgstr "Bitte entfernen Sie die Druckerzuordnung in den Druckereinstellungen und versuchen Sie es erneut."
@@ -23607,7 +23723,7 @@ msgstr "Bitte das Dokument vor der Zuweisung abspeichern"
msgid "Please save the document before removing assignment"
msgstr "Bitte das Dokument vor dem Entfernen einer Zuordnung abspeichern"
-#: public/js/frappe/views/reports/report_view.js:1614
+#: public/js/frappe/views/reports/report_view.js:1616
msgid "Please save the report first"
msgstr "Bitte speichern Sie den Bericht zuerst"
@@ -23647,7 +23763,7 @@ msgstr "Bitte eine Datei oder URL auswählen"
msgid "Please select a valid csv file with data"
msgstr "Bitte eine gültige CSV-Datei mit Daten auswählen"
-#: utils/data.py:286
+#: utils/data.py:289
msgid "Please select a valid date filter"
msgstr "Bitte wählen Sie einen gültigen Datumsfilter"
@@ -23682,11 +23798,11 @@ msgstr "Bitte {0} auswählen"
msgid "Please set Dropbox access keys in site config or doctype"
msgstr "Bitte setzen Sie die Dropbox-Zugriffsschlüssel in der Site Config oder im DocType"
-#: contacts/doctype/contact/contact.py:201
+#: contacts/doctype/contact/contact.py:202
msgid "Please set Email Address"
msgstr "Bitte setzen Sie E-Mail-Adresse"
-#: printing/page/print/print.js:539
+#: printing/page/print/print.js:546
msgid "Please set a printer mapping for this print format in the Printer Settings"
msgstr "Bitte legen Sie in den Druckereinstellungen eine Druckerzuordnung für dieses Druckformat fest"
@@ -23722,7 +23838,7 @@ msgstr "Bitte richten Sie zuerst eine Nachricht ein"
msgid "Please setup default Email Account from Settings > Email Account"
msgstr "Bitte richten Sie ein Standard-E-Mail-Konto unter Einstellungen > E-Mail-Konto ein"
-#: core/doctype/user/user.py:398
+#: core/doctype/user/user.py:402
msgid "Please setup default outgoing Email Account from Settings > Email Account"
msgstr "Bitte legen Sie das Standard-E-Mail-Konto unter Einstellungen > E-Mail-Konto fest"
@@ -23914,7 +24030,7 @@ msgctxt "Web Form Field"
msgid "Precision"
msgstr "Genauigkeit"
-#: core/doctype/doctype/doctype.py:1347
+#: core/doctype/doctype/doctype.py:1349
msgid "Precision should be between 1 and 6"
msgstr "Genauigkeit sollte zwischen 1 und 6 liegen"
@@ -23970,7 +24086,7 @@ msgstr "Das Rendern des vorbereiteten Berichts ist fehlgeschlagen"
msgid "Preparing Report"
msgstr "Bericht vorbereiten"
-#: public/js/frappe/views/communication.js:363
+#: public/js/frappe/views/communication.js:388
msgid "Prepend the template to the email message"
msgstr "Vorlage oberhalb der Email-Nachricht einfügen"
@@ -23986,7 +24102,7 @@ msgstr "Drücken Sie zum Speichern die Eingabetaste"
#: email/doctype/newsletter/newsletter.js:42
#: public/js/frappe/form/controls/markdown_editor.js:17
#: public/js/frappe/form/controls/markdown_editor.js:31
-#: public/js/frappe/ui/capture.js:228
+#: public/js/frappe/ui/capture.js:236
msgid "Preview"
msgstr "Vorschau"
@@ -24122,12 +24238,12 @@ msgstr "Primäre Telefonnummer"
#: public/js/frappe/form/toolbar.js:321 public/js/frappe/form/toolbar.js:333
#: public/js/frappe/list/bulk_operations.js:79
#: public/js/frappe/views/reports/query_report.js:1626
-#: public/js/frappe/views/reports/report_view.js:1463
+#: public/js/frappe/views/reports/report_view.js:1465
#: public/js/frappe/views/treeview.js:473 www/printview.html:18
msgid "Print"
msgstr "Drucken"
-#: public/js/frappe/list/list_view.js:1873
+#: public/js/frappe/list/list_view.js:1880
msgctxt "Button in list view actions menu"
msgid "Print"
msgstr "Drucken"
@@ -24150,7 +24266,7 @@ msgstr "Dokumente drucken"
#. Name of a DocType
#: printing/doctype/print_format/print_format.json
-#: printing/page/print/print.js:94 printing/page/print/print.js:794
+#: printing/page/print/print.js:94 printing/page/print/print.js:801
#: public/js/frappe/list/bulk_operations.js:50
msgid "Print Format"
msgstr "Druckformat"
@@ -24217,7 +24333,7 @@ msgctxt "Print Format"
msgid "Print Format Builder Beta"
msgstr "Format-Builder Beta drucken"
-#: utils/pdf.py:52
+#: utils/pdf.py:56
msgid "Print Format Error"
msgstr "Druckformatfehler"
@@ -24238,7 +24354,7 @@ msgctxt "Print Format"
msgid "Print Format Type"
msgstr "Druckformattyp"
-#: www/printview.py:418
+#: www/printview.py:424
msgid "Print Format {0} is disabled"
msgstr "Druckformat {0} ist deaktiviert"
@@ -24296,6 +24412,10 @@ msgctxt "DocField"
msgid "Print Hide If No Value"
msgstr "Druck verbergen wenn ohne Wert"
+#: public/js/frappe/views/communication.js:153
+msgid "Print Language"
+msgstr "Drucksprache"
+
#: public/js/frappe/form/print_utils.js:195
msgid "Print Sent to the printer!"
msgstr "Drucken An den Drucker gesendet!"
@@ -24385,11 +24505,11 @@ msgctxt "Print Settings"
msgid "Print with letterhead"
msgstr "Drucken mit Briefkopf"
-#: printing/page/print/print.js:803
+#: printing/page/print/print.js:810
msgid "Printer"
msgstr "Drucker"
-#: printing/page/print/print.js:780
+#: printing/page/print/print.js:787
msgid "Printer Mapping"
msgstr "Druckerzuordnung"
@@ -24399,11 +24519,11 @@ msgctxt "Network Printer Settings"
msgid "Printer Name"
msgstr "Druckername"
-#: printing/page/print/print.js:772
+#: printing/page/print/print.js:779
msgid "Printer Settings"
msgstr "Druckereinstellungen"
-#: printing/page/print/print.js:538
+#: printing/page/print/print.js:545
msgid "Printer mapping not set."
msgstr "Druckerzuordnung nicht gesetzt."
@@ -24607,7 +24727,7 @@ msgid "Public"
msgstr "Öffentlich"
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Publish"
msgstr "Veröffentlichen"
@@ -24749,6 +24869,22 @@ msgctxt "Kanban Board Column"
msgid "Purple"
msgstr "Lila"
+#. Name of a DocType
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Push Notification Settings"
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Card Break in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgid "Push Notifications"
+msgstr ""
+
#. Label of a Check field in DocType 'Google Calendar'
#: integrations/doctype/google_calendar/google_calendar.json
msgctxt "Google Calendar"
@@ -24884,7 +25020,7 @@ msgctxt "DocType"
msgid "Queue in Background (BETA)"
msgstr "Warteschlange im Hintergrund (BETA)"
-#: utils/background_jobs.py:428
+#: utils/background_jobs.py:452
msgid "Queue should be one of {0}"
msgstr "Warteschlange sollte eine von {0}"
@@ -25111,7 +25247,7 @@ msgstr ""
#: core/doctype/communication/communication.js:268
#: public/js/frappe/form/footer/form_timeline.js:587
-#: public/js/frappe/views/communication.js:299
+#: public/js/frappe/views/communication.js:324
msgid "Re: {0}"
msgstr ""
@@ -25863,7 +25999,7 @@ msgstr "Referrer"
#: public/js/frappe/views/reports/query_report.js:1615
#: public/js/frappe/views/treeview.js:479
#: public/js/frappe/widgets/chart_widget.js:290
-#: public/js/frappe/widgets/number_card_widget.js:307
+#: public/js/frappe/widgets/number_card_widget.js:324
msgid "Refresh"
msgstr "Aktualisieren"
@@ -25913,11 +26049,11 @@ msgid "Refreshing"
msgstr "Aktualisiere"
#: core/doctype/system_settings/system_settings.js:52
-#: core/doctype/user/user.js:339 desk/page/setup_wizard/setup_wizard.js:204
+#: core/doctype/user/user.js:340 desk/page/setup_wizard/setup_wizard.js:204
msgid "Refreshing..."
msgstr "Aktualisiere..."
-#: core/doctype/user/user.py:1003
+#: core/doctype/user/user.py:1007
msgid "Registered but disabled"
msgstr "Registrierte aber deaktiviert"
@@ -25933,6 +26069,16 @@ msgctxt "Translation"
msgid "Rejected"
msgstr "Abgelehnt"
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:30
+msgid "Relay Server URL missing"
+msgstr ""
+
+#. Label of a Section Break field in DocType 'Push Notification Settings'
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgctxt "Push Notification Settings"
+msgid "Relay Settings"
+msgstr ""
+
#. Group in Package's connections
#: core/doctype/package/package.json
msgctxt "Package"
@@ -26054,11 +26200,11 @@ msgstr "Alle Anpassungen entfernen?"
msgid "Remove column"
msgstr "Spalte entfernen"
-#: core/doctype/file/file.py:156
+#: core/doctype/file/file.py:155
msgid "Removed {0}"
msgstr "{0} entfernt"
-#: custom/doctype/custom_field/custom_field.js:135
+#: custom/doctype/custom_field/custom_field.js:137
#: public/js/frappe/form/toolbar.js:234 public/js/frappe/form/toolbar.js:238
#: public/js/frappe/form/toolbar.js:398 public/js/frappe/model/model.js:742
#: public/js/frappe/views/treeview.js:295
@@ -26066,7 +26212,7 @@ msgid "Rename"
msgstr "Umbenennen"
#: custom/doctype/custom_field/custom_field.js:116
-#: custom/doctype/custom_field/custom_field.js:134
+#: custom/doctype/custom_field/custom_field.js:136
msgid "Rename Fieldname"
msgstr "Feldname umbenennen"
@@ -26074,7 +26220,7 @@ msgstr "Feldname umbenennen"
msgid "Rename {0}"
msgstr "{0} umbenennen"
-#: core/doctype/doctype/doctype.py:687
+#: core/doctype/doctype/doctype.py:689
msgid "Renamed files and replaced code in controllers, please check!"
msgstr "Umbenannte Dateien und ersetzter Code in Controllern, bitte überprüfen!"
@@ -26381,7 +26527,7 @@ msgctxt "Report"
msgid "Report Type"
msgstr "Berichtstyp"
-#: core/doctype/doctype/doctype.py:1744
+#: core/doctype/doctype/doctype.py:1788
msgid "Report cannot be set for Single types"
msgstr "Bericht kann nicht für Einzel-Typen festgelegt werden"
@@ -26411,7 +26557,7 @@ msgstr "Zeitüberschreitung des Berichts."
msgid "Report updated successfully"
msgstr "Bericht erfolgreich aktualisiert"
-#: public/js/frappe/views/reports/report_view.js:1283
+#: public/js/frappe/views/reports/report_view.js:1285
msgid "Report was not saved (there were errors)"
msgstr "Bericht wurde nicht gespeichert (es gab Fehler)"
@@ -26594,7 +26740,7 @@ msgstr "Dashboard-Anpassungen zurücksetzen"
msgid "Reset Fields"
msgstr "Felder zurücksetzen"
-#: core/doctype/user/user.js:154 core/doctype/user/user.js:157
+#: core/doctype/user/user.js:155 core/doctype/user/user.js:158
msgid "Reset LDAP Password"
msgstr "LDAP-Passwort zurücksetzen"
@@ -26602,11 +26748,11 @@ msgstr "LDAP-Passwort zurücksetzen"
msgid "Reset Layout"
msgstr "Layout zurücksetzen"
-#: core/doctype/user/user.js:205
+#: core/doctype/user/user.js:206
msgid "Reset OTP Secret"
msgstr "OTP-Geheimnis zurücksetzen"
-#: core/doctype/user/user.js:138 www/login.html:179 www/me.html:35
+#: core/doctype/user/user.js:139 www/login.html:179 www/me.html:35
#: www/me.html:44 www/update-password.html:3 www/update-password.html:9
msgid "Reset Password"
msgstr "Passwort zurücksetzen"
@@ -26641,7 +26787,7 @@ msgstr "Sortierung zurücksetzen"
msgid "Reset the password for your account"
msgstr "Passwort für Ihr Konto zurücksetzen"
-#: public/js/frappe/form/grid_row.js:409
+#: public/js/frappe/form/grid_row.js:410
msgid "Reset to default"
msgstr "Auf Standard zurücksetzen"
@@ -27055,7 +27201,7 @@ msgstr "Rollenberechtigungen"
msgid "Role Permissions Manager"
msgstr "Rollenberechtigungen-Manager"
-#: public/js/frappe/list/list_view.js:1650
+#: public/js/frappe/list/list_view.js:1657
msgctxt "Button in list view menu"
msgid "Role Permissions Manager"
msgstr "Rollenberechtigungen-Manager"
@@ -27101,7 +27247,7 @@ msgctxt "DocPerm"
msgid "Role and Level"
msgstr "Rolle und Ebene"
-#: core/doctype/user/user.py:343
+#: core/doctype/user/user.py:347
msgid "Role has been set as per the user type {0}"
msgstr "Die Rolle wurde gemäß Benutzertyp {0} festgelegt"
@@ -27317,15 +27463,15 @@ msgctxt "Role"
msgid "Route: Example \"/desk\""
msgstr "Route: Beispiel "/ Schreibtisch""
-#: model/base_document.py:731 model/base_document.py:772 model/document.py:591
+#: model/base_document.py:731 model/base_document.py:772 model/document.py:607
msgid "Row"
msgstr "Zeile"
#: core/doctype/version/version_view.html:73
msgid "Row #"
-msgstr ""
+msgstr "Zeile #"
-#: core/doctype/doctype/doctype.py:1766 core/doctype/doctype/doctype.py:1776
+#: core/doctype/doctype/doctype.py:1810 core/doctype/doctype/doctype.py:1820
msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype"
msgstr "Zeile # {0}: Nicht-Administrator-Benutzer können die Rolle {1} nicht auf den benutzerdefinierten Doctype einstellen"
@@ -27333,7 +27479,7 @@ msgstr "Zeile # {0}: Nicht-Administrator-Benutzer können die Rolle {1} nicht au
msgid "Row #{0}:"
msgstr "Zeile #{0}:"
-#: core/doctype/doctype/doctype.py:488
+#: core/doctype/doctype/doctype.py:490
msgid "Row #{}: Fieldname is required"
msgstr "Zeile #{}: Feldname ist erforderlich"
@@ -27631,7 +27777,7 @@ msgctxt "Salutation"
msgid "Salutation"
msgstr "Anrede"
-#: integrations/doctype/webhook/webhook.py:110
+#: integrations/doctype/webhook/webhook.py:112
msgid "Same Field is entered more than once"
msgstr "Gleiches Feld wird mehrmals eingegeben"
@@ -27674,7 +27820,7 @@ msgstr "Samstag"
#: core/doctype/data_import/data_import.js:113
#: desk/page/user_profile/user_profile_controller.js:319
-#: printing/page/print/print.js:831
+#: printing/page/print/print.js:838
#: printing/page/print_format_builder/print_format_builder.js:160
#: public/js/frappe/form/footer/form_timeline.js:661
#: public/js/frappe/form/quick_entry.js:156
@@ -27687,7 +27833,7 @@ msgstr "Samstag"
#: public/js/frappe/views/kanban/kanban_settings.js:189
#: public/js/frappe/views/kanban/kanban_view.js:340
#: public/js/frappe/views/reports/query_report.js:1788
-#: public/js/frappe/views/reports/report_view.js:1631
+#: public/js/frappe/views/reports/report_view.js:1633
#: public/js/frappe/views/workspace/workspace.js:493
#: public/js/frappe/widgets/base_widget.js:140
#: public/js/frappe/widgets/quick_list_widget.js:117
@@ -27702,7 +27848,7 @@ msgctxt "Notification"
msgid "Save"
msgstr "Speichern"
-#: core/doctype/user/user.js:310
+#: core/doctype/user/user.js:311
msgid "Save API Secret: {0}"
msgstr "API-Geheimnis speichern: {0}"
@@ -27710,8 +27856,8 @@ msgstr "API-Geheimnis speichern: {0}"
msgid "Save Anyway"
msgstr "Auf jeden Fall speichern"
-#: public/js/frappe/views/reports/report_view.js:1314
-#: public/js/frappe/views/reports/report_view.js:1638
+#: public/js/frappe/views/reports/report_view.js:1316
+#: public/js/frappe/views/reports/report_view.js:1640
msgid "Save As"
msgstr "Speichern als"
@@ -27789,7 +27935,7 @@ msgstr "Planen"
msgid "Schedule Newsletter"
msgstr "Newsletter planen"
-#: public/js/frappe/views/communication.js:81
+#: public/js/frappe/views/communication.js:82
msgid "Schedule Send At"
msgstr "Senden planen am"
@@ -27871,7 +28017,7 @@ msgctxt "Newsletter"
msgid "Scheduled To Send"
msgstr "in Sendewarteschlange"
-#: core/doctype/server_script/server_script.py:277
+#: core/doctype/server_script/server_script.py:280
msgid "Scheduled execution for script {0} has updated"
msgstr "Die geplante Ausführung für Skript {0} wurde aktualisiert"
@@ -28065,7 +28211,7 @@ msgstr "Suchprioritäten"
msgid "Search Results for"
msgstr "Suchergebnisse für"
-#: core/doctype/doctype/doctype.py:1414
+#: core/doctype/doctype/doctype.py:1416
msgid "Search field {0} is not valid"
msgstr "Suchfeld {0} ist nicht gültig"
@@ -28083,7 +28229,7 @@ msgstr "Suche nach {0}"
msgid "Search in a document type"
msgstr "Suche in einem Dokumenttyp"
-#: public/js/frappe/ui/toolbar/navbar.html:24
+#: public/js/frappe/ui/toolbar/navbar.html:29
msgid "Search or type a command (Ctrl + G)"
msgstr "Suchen oder einen Befehl eingeben (Strg + G)"
@@ -28221,7 +28367,7 @@ msgctxt "Note"
msgid "Seen By Table"
msgstr "Gesehen durch Tabelle"
-#: printing/page/print/print.js:592
+#: printing/page/print/print.js:599
msgid "Select"
msgstr "Auswählen"
@@ -28284,8 +28430,8 @@ msgstr "Auswählen"
msgid "Select All"
msgstr "Alle auswählen"
-#: public/js/frappe/views/communication.js:150
-#: public/js/frappe/views/communication.js:529
+#: public/js/frappe/views/communication.js:162
+#: public/js/frappe/views/communication.js:555
#: public/js/frappe/views/interaction.js:93
#: public/js/frappe/views/interaction.js:155
msgid "Select Attachments"
@@ -28373,7 +28519,7 @@ msgstr "Feld auswählen"
msgid "Select Field..."
msgstr "Feld auswählen..."
-#: public/js/frappe/form/grid_row.js:459
+#: public/js/frappe/form/grid_row.js:460
#: public/js/frappe/list/list_settings.js:233
#: public/js/frappe/views/kanban/kanban_settings.js:181
msgid "Select Fields"
@@ -28425,7 +28571,7 @@ msgstr "Verpflichtende auswählen"
msgid "Select Module"
msgstr "Modul auswählen"
-#: printing/page/print/print.js:175 printing/page/print/print.js:575
+#: printing/page/print/print.js:175 printing/page/print/print.js:582
msgid "Select Network Printer"
msgstr "Netzwerkdrucker auswählen"
@@ -28436,7 +28582,7 @@ msgid "Select Page"
msgstr "Seite auswählen"
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:68
-#: public/js/frappe/views/communication.js:144
+#: public/js/frappe/views/communication.js:145
msgid "Select Print Format"
msgstr "Druckformat auswählen"
@@ -28482,11 +28628,11 @@ msgstr "Wählen Sie eine Marke Bild zuerst."
msgid "Select a DocType to make a new format"
msgstr "DocType auswählen, um ein neues Format zu erstellen"
-#: integrations/doctype/webhook/webhook.py:131
+#: integrations/doctype/webhook/webhook.py:133
msgid "Select a document to check if it meets conditions."
msgstr "Wählen Sie ein Dokument aus, um zu prüfen, ob es die Bedingungen erfüllt."
-#: integrations/doctype/webhook/webhook.py:143
+#: integrations/doctype/webhook/webhook.py:145
msgid "Select a document to preview request data"
msgstr "Wählen Sie ein Dokument zur Vorschau der Anfragedaten"
@@ -28494,11 +28640,11 @@ msgstr "Wählen Sie ein Dokument zur Vorschau der Anfragedaten"
msgid "Select a group node first."
msgstr "Zuerst einen Gruppenknoten wählen."
-#: core/doctype/doctype/doctype.py:1877
+#: core/doctype/doctype/doctype.py:1921
msgid "Select a valid Sender Field for creating documents from Email"
msgstr "Wählen Sie ein gültiges Absenderfeld zum Erstellen von Dokumenten aus E-Mail"
-#: core/doctype/doctype/doctype.py:1861
+#: core/doctype/doctype/doctype.py:1905
msgid "Select a valid Subject field for creating documents from Email"
msgstr "Wählen Sie ein gültiges Betrefffeld zum Erstellen von Dokumenten aus E-Mail"
@@ -28525,18 +28671,18 @@ msgstr "Wählen Sie mindestens einen Datensatz für den Druck"
msgid "Select atleast 2 actions"
msgstr "Wählen Sie mindestens 2 Aktionen aus"
-#: public/js/frappe/list/list_view.js:1201
+#: public/js/frappe/list/list_view.js:1199
msgctxt "Description of a list view shortcut"
msgid "Select list item"
msgstr "Listenelement auswählen"
-#: public/js/frappe/list/list_view.js:1153
-#: public/js/frappe/list/list_view.js:1169
+#: public/js/frappe/list/list_view.js:1151
+#: public/js/frappe/list/list_view.js:1167
msgctxt "Description of a list view shortcut"
msgid "Select multiple list items"
msgstr "Wählen Sie mehrere Listenelemente aus"
-#: public/js/frappe/views/calendar/calendar.js:174
+#: public/js/frappe/views/calendar/calendar.js:175
msgid "Select or drag across time slots to create a new event."
msgstr "Um ein neues Ereignis zu erstellen, Zeitfenster markieren oder über ein Zeitfenster ziehen"
@@ -28683,7 +28829,7 @@ msgctxt "Print Settings"
msgid "Send Print as PDF"
msgstr "Ausdruck als PDF senden"
-#: public/js/frappe/views/communication.js:134
+#: public/js/frappe/views/communication.js:135
msgid "Send Read Receipt"
msgstr "Lesebestätigung senden"
@@ -28769,7 +28915,7 @@ msgstr "Anfragen an diese E-Mail-Adresse senden"
msgid "Send login link"
msgstr "Anmelde-Link senden"
-#: public/js/frappe/views/communication.js:128
+#: public/js/frappe/views/communication.js:129
msgid "Send me a copy"
msgstr "Kopie an mich senden"
@@ -28849,7 +28995,7 @@ msgctxt "DocType"
msgid "Sender Email Field"
msgstr "Absender-E-Mail-Feld"
-#: core/doctype/doctype/doctype.py:1880
+#: core/doctype/doctype/doctype.py:1924
msgid "Sender Field should have Email in options"
msgstr "Das Absenderfeld sollte E-Mail-Optionen enthalten"
@@ -28987,7 +29133,7 @@ msgstr "Nummernkreis aktualisiert für {}"
msgid "Series counter for {} updated to {} successfully"
msgstr "Nummernkreis-Zähler für {} erfolgreich auf {} aktualisiert"
-#: core/doctype/doctype/doctype.py:1070
+#: core/doctype/doctype/doctype.py:1072
#: core/doctype/document_naming_settings/document_naming_settings.py:170
msgid "Series {0} already used in {1}"
msgstr "Serie {0} bereits verwendet in {1}"
@@ -29088,7 +29234,7 @@ msgstr "Sitzungsstandards"
msgid "Session Defaults Saved"
msgstr "Sitzungsstandards gespeichert"
-#: app.py:343
+#: app.py:344
msgid "Session Expired"
msgstr "Sitzung abgelaufen"
@@ -29130,7 +29276,7 @@ msgstr "Dynamische Filter einstellen"
#: desk/doctype/dashboard_chart/dashboard_chart.js:381
#: desk/doctype/number_card/number_card.js:277
-#: website/doctype/web_form/web_form.js:260
+#: website/doctype/web_form/web_form.js:259
msgid "Set Filters"
msgstr "Filter setzen"
@@ -29190,7 +29336,7 @@ msgctxt "Role Permission for Page and Report"
msgid "Set Role For"
msgstr "Rolle anwenden auf"
-#: core/doctype/user/user.js:115
+#: core/doctype/user/user.js:116
#: core/page/permission_manager/permission_manager.js:65
msgid "Set User Permissions"
msgstr "Nutzer-Berechtigungen setzen"
@@ -29403,7 +29549,7 @@ msgid "Setup Approval Workflows"
msgstr "Genehmigungsworkflows einrichten"
#: public/js/frappe/views/reports/query_report.js:1661
-#: public/js/frappe/views/reports/report_view.js:1609
+#: public/js/frappe/views/reports/report_view.js:1611
msgid "Setup Auto Email"
msgstr "Einstellungen Auto E-Mail"
@@ -29568,6 +29714,12 @@ msgstr "Währungssymbol auf der rechten Seite anzeigen"
msgid "Show Dashboard"
msgstr "Dashboard anzeigen"
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Show Dashboard"
+msgstr "Dashboard anzeigen"
+
#. Label of a Check field in DocType 'Customize Form Field'
#: custom/doctype/customize_form_field/customize_form_field.json
msgctxt "Customize Form Field"
@@ -29735,7 +29887,7 @@ msgid "Show Sidebar"
msgstr "anzeigen Sidebar"
#: public/js/frappe/list/list_sidebar.html:66
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Show Tags"
msgstr "Schlagworte anzeigen"
@@ -29757,7 +29909,7 @@ msgctxt "DocType"
msgid "Show Title in Link Fields"
msgstr "Bezeichnung in Verknüpfungsfeld anzeigen"
-#: public/js/frappe/views/reports/report_view.js:1453
+#: public/js/frappe/views/reports/report_view.js:1455
msgid "Show Totals"
msgstr "Summen anzeigen"
@@ -29767,13 +29919,13 @@ msgstr "Tour anzeigen"
#: core/doctype/data_import/data_import.js:454
msgid "Show Traceback"
-msgstr ""
+msgstr "Traceback anzeigen"
#: public/js/frappe/data_import/import_preview.js:200
msgid "Show Warnings"
msgstr "Warnungen anzeigen"
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Show Weekends"
msgstr "Wochenenden anzeigen"
@@ -29891,7 +30043,7 @@ msgctxt "Email Group"
msgid "Sign Up and Confirmation"
msgstr "Anmeldung und Bestätigung"
-#: core/doctype/user/user.py:996
+#: core/doctype/user/user.py:1000
msgid "Sign Up is disabled"
msgstr "Die Registrierung ist deaktiviert"
@@ -30182,7 +30334,7 @@ msgstr "Temporär unzustellbar"
#: printing/page/print_format_builder/print_format_builder_column_selector.html:4
msgid "Some columns might get cut off when printing to PDF. Try to keep number of columns under 10."
-msgstr ""
+msgstr "Beim Drucken als PDF werden möglicherweise einige Spalten abgeschnitten. Versuchen Sie, die Anzahl der Spalten unter 10 zu halten."
#: public/js/frappe/desk.js:20
msgid "Some of the features might not work in your browser. Please update your browser to the latest version."
@@ -30198,13 +30350,13 @@ msgstr "Während der Token-Generierung ist ein Fehler aufgetreten. Klicken Sie a
#: templates/includes/login/login.js:294
msgid "Something went wrong."
-msgstr ""
+msgstr "Etwas ist schief gelaufen."
-#: public/js/frappe/views/pageview.js:110
+#: public/js/frappe/views/pageview.js:114
msgid "Sorry! I could not find what you were looking for."
msgstr "Verzeihung! Suche konnte nicht gefunden werden."
-#: public/js/frappe/views/pageview.js:118
+#: public/js/frappe/views/pageview.js:122
msgid "Sorry! You are not permitted to view this page."
msgstr "Verzeihung! Sie sind nicht berechtigt, diese Seite zu sehen."
@@ -30246,7 +30398,7 @@ msgctxt "Customize Form"
msgid "Sort Order"
msgstr "Sortierung"
-#: core/doctype/doctype/doctype.py:1497
+#: core/doctype/doctype/doctype.py:1499
msgid "Sort field {0} must be a valid fieldname"
msgstr "Sortierfeld {0} muss ein gültiger Feldname sein"
@@ -30285,7 +30437,7 @@ msgstr "Quellentext"
#: public/js/frappe/views/workspace/blocks/spacer.js:23
msgid "Spacer"
-msgstr ""
+msgstr "Abstandshalter"
#. Option for the 'Email Status' (Select) field in DocType 'Communication'
#: core/doctype/communication/communication.json
@@ -30402,9 +30554,13 @@ msgctxt "Portal Settings"
msgid "Standard Sidebar Menu"
msgstr "Standard-Sidebar-Menü"
+#: website/doctype/web_form/web_form.js:30
+msgid "Standard Web Forms can not be modified, duplicate the Web Form instead."
+msgstr ""
+
#: website/doctype/web_page/web_page.js:92
msgid "Standard rich text editor with controls"
-msgstr ""
+msgstr "Standard-Rich-Text-Editor mit Steuerelementen"
#: core/doctype/role/role.py:62
msgid "Standard roles cannot be disabled"
@@ -30422,8 +30578,8 @@ msgstr "Standard-Benutzertyp {0} kann nicht gelöscht werden."
msgid "Standings"
msgstr "Rangliste"
-#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:289
-#: printing/page/print/print.js:336
+#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:296
+#: printing/page/print/print.js:343
msgid "Start"
msgstr "Starten"
@@ -30461,7 +30617,7 @@ msgstr "Starten Sie den Import"
#: core/doctype/recorder/recorder_list.js:201
msgid "Start Recording"
-msgstr ""
+msgstr "Aufzeichnung starten"
#. Label of a Datetime field in DocType 'RQ Worker'
#: core/doctype/rq_worker/rq_worker.json
@@ -30605,7 +30761,7 @@ msgid "Stats based on last week's performance (from {0} to {1})"
msgstr "Statistiken basieren auf der Leistung der letzten Woche (von {0} bis {1})"
#: core/doctype/data_import/data_import.js:489
-#: public/js/frappe/views/reports/report_view.js:911
+#: public/js/frappe/views/reports/report_view.js:913
msgid "Status"
msgstr "Status"
@@ -30858,7 +31014,7 @@ msgctxt "Website Settings"
msgid "Subdomain"
msgstr "Unterdomäne"
-#: public/js/frappe/views/communication.js:103
+#: public/js/frappe/views/communication.js:104
#: public/js/frappe/views/inbox/inbox_view.js:63
msgid "Subject"
msgstr "Betreff"
@@ -30936,7 +31092,7 @@ msgctxt "DocType"
msgid "Subject Field"
msgstr "Themenfeld"
-#: core/doctype/doctype/doctype.py:1870
+#: core/doctype/doctype/doctype.py:1914
msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor"
msgstr "Betreff Der Feldtyp sollte Daten, Text, Langtext, Kleiner Text, Texteditor sein"
@@ -30948,13 +31104,13 @@ msgstr ""
#: core/doctype/user_permission/user_permission_list.js:138
#: public/js/frappe/form/quick_entry.js:193
#: public/js/frappe/form/sidebar/review.js:116
-#: public/js/frappe/ui/capture.js:299
+#: public/js/frappe/ui/capture.js:307
#: social/doctype/energy_point_log/energy_point_log.js:39
#: social/doctype/energy_point_settings/energy_point_settings.js:47
msgid "Submit"
msgstr "Buchen"
-#: public/js/frappe/list/list_view.js:1940
+#: public/js/frappe/list/list_view.js:1947
msgctxt "Button in list view actions menu"
msgid "Submit"
msgstr "Buchen"
@@ -31030,7 +31186,7 @@ msgstr "Übertrage Button Label"
#: core/page/permission_manager/permission_manager_help.html:39
msgid "Submit an Issue"
-msgstr ""
+msgstr "Ein Problem melden"
#: website/doctype/web_form/templates/web_form.html:153
msgctxt "Button in web form"
@@ -31051,7 +31207,7 @@ msgstr "Senden Sie dieses Dokument, um diesen Schritt abzuschließen."
msgid "Submit this document to confirm"
msgstr "Buchen Sie dieses Dokument, um zu bestätigen"
-#: public/js/frappe/list/list_view.js:1945
+#: public/js/frappe/list/list_view.js:1952
msgctxt "Title of confirmation dialog"
msgid "Submit {0} documents?"
msgstr "{0} Dokumente einreichen?"
@@ -31213,7 +31369,7 @@ msgstr "Erfolgreich importiert {0}"
#: core/doctype/data_import/data_import.js:144
msgid "Successfully imported {0} out of {1} records."
-msgstr ""
+msgstr "{0} von {1} Datensätzen erfolgreich importiert."
#: desk/doctype/form_tour/form_tour.py:87
msgid "Successfully reset onboarding status for all users."
@@ -31229,9 +31385,9 @@ msgstr "Erfolgreich aktualisiert {0}"
#: core/doctype/data_import/data_import.js:149
msgid "Successfully updated {0} out of {1} records."
-msgstr ""
+msgstr "{0} von {1} Datensätzen erfolgreich aktualisiert."
-#: core/doctype/user/user.py:711
+#: core/doctype/user/user.py:715
msgid "Suggested Username: {0}"
msgstr "Empfohlener Benutzername: {0}"
@@ -31295,7 +31451,7 @@ msgstr "Sonntag"
msgid "Suspend Sending"
msgstr "Senden unterbrechen"
-#: public/js/frappe/ui/capture.js:268
+#: public/js/frappe/ui/capture.js:276
msgid "Switch Camera"
msgstr "Kamera wechseln"
@@ -31307,7 +31463,7 @@ msgstr "Design wechseln"
msgid "Switch To Desk"
msgstr "Zum Desk wechseln"
-#: public/js/frappe/ui/capture.js:273
+#: public/js/frappe/ui/capture.js:281
msgid "Switching Camera"
msgstr "Kamera wird gewechselt"
@@ -31374,7 +31530,7 @@ msgstr "Synchronisiert"
msgid "Syncing {0} of {1}"
msgstr "{0} von {1} synchronisieren"
-#: utils/data.py:2403
+#: utils/data.py:2407
msgid "Syntax Error"
msgstr "Syntaxfehler"
@@ -31389,7 +31545,7 @@ msgstr "System"
msgid "System Console"
msgstr "Systemkonsole"
-#: custom/doctype/custom_field/custom_field.py:357
+#: custom/doctype/custom_field/custom_field.py:358
msgid "System Generated Fields can not be renamed"
msgstr "Systemgenerierte Felder können nicht umbenannt werden"
@@ -31499,6 +31655,7 @@ msgstr "Systemprotokolle"
#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
#: integrations/doctype/oauth_client/oauth_client.json
#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
#: integrations/doctype/social_login_key/social_login_key.json
@@ -31629,7 +31786,7 @@ msgstr "Tischpause"
#: core/doctype/version/version_view.html:72
msgid "Table Field"
-msgstr ""
+msgstr "Tabellenfeld"
#. Label of a Data field in DocType 'DocType Link'
#: core/doctype/doctype_link/doctype_link.json
@@ -31637,7 +31794,7 @@ msgctxt "DocType Link"
msgid "Table Fieldname"
msgstr "Tabellenfeldname"
-#: core/doctype/doctype/doctype.py:1150
+#: core/doctype/doctype/doctype.py:1152
msgid "Table Fieldname Missing"
msgstr "Tabellenfeldname fehlt"
@@ -31669,7 +31826,7 @@ msgstr "Tabelle MultiSelect"
msgid "Table updated"
msgstr "Tabelle aktualisiert"
-#: model/document.py:1349
+#: model/document.py:1365
msgid "Table {0} cannot be empty"
msgstr "Tabelle {0} darf nicht leer sein"
@@ -31707,7 +31864,7 @@ msgstr "Backup erstellen"
msgid "Take Backup Now"
msgstr "Jetzt Backup durchführen"
-#: public/js/frappe/ui/capture.js:212
+#: public/js/frappe/ui/capture.js:220
msgid "Take Photo"
msgstr "Foto machen"
@@ -31807,7 +31964,7 @@ msgstr "Vorlagenwarnungen"
msgid "Templates"
msgstr "Vorlagen"
-#: core/doctype/user/user.py:1007
+#: core/doctype/user/user.py:1011
msgid "Temporarily Disabled"
msgstr "Zeitweise nicht verfügbar"
@@ -31815,7 +31972,7 @@ msgstr "Zeitweise nicht verfügbar"
msgid "Test email sent to {0}"
msgstr "Test-E-Mail an {0} gesendet"
-#: core/doctype/file/test_file.py:355
+#: core/doctype/file/test_file.py:360
msgid "Test_Folder"
msgstr "Test_Ordner"
@@ -31937,10 +32094,14 @@ msgstr "Die Client-ID, die Sie in der Google Cloud Console unter "
-#: core/doctype/user/user.py:967
+#: core/doctype/user/user.py:971
msgid "The reset password link has been expired"
msgstr "Der Link zum Zurücksetzen des Passworts ist abgelaufen"
-#: core/doctype/user/user.py:969
+#: core/doctype/user/user.py:973
msgid "The reset password link has either been used before or is invalid"
msgstr "Der Link zum Zurücksetzen des Passworts wurde bereits verwendet oder ist ungültig"
-#: app.py:362 public/js/frappe/request.js:147
+#: app.py:363 public/js/frappe/request.js:147
msgid "The resource you are looking for is not available"
msgstr "Die von Ihnen gesuchte Ressource ist nicht verfügbar"
@@ -32108,15 +32269,15 @@ msgstr "Die Rolle {0} sollte eine benutzerdefinierte Rolle sein."
msgid "The selected document {0} is not a {1}."
msgstr "Das ausgewählte Dokument {0} ist nicht vom Typ {1}."
-#: utils/response.py:325
+#: utils/response.py:313
msgid "The system is being updated. Please refresh again after a few moments."
msgstr "Das System wird gerade aktualisiert. Bitte probieren Sie es nach einigen Augenblicken erneut."
#: core/page/permission_manager/permission_manager_help.html:9
msgid "The system provides many pre-defined roles. You can add new roles to set finer permissions."
-msgstr ""
+msgstr "Das System bietet viele vordefinierte Rollen. Sie können neue Rollen hinzufügen, um feinere Berechtigungen festzulegen."
-#: public/js/frappe/form/grid_row.js:635
+#: public/js/frappe/form/grid_row.js:636
msgid "The total column width cannot be more than 10."
msgstr "Die Gesamtbreite aller Spalten darf nicht mehr als 10 sein."
@@ -32176,11 +32337,11 @@ msgstr "Design-URL"
#: workflow/doctype/workflow/workflow.js:125
msgid "There are documents which have workflow states that do not exist in this Workflow. It is recommended that you add these states to the Workflow and change their states before removing these states."
-msgstr ""
+msgstr "Es gibt Dokumente mit Workflow-Status, die in diesem Workflow nicht vorhanden sind. Es wird empfohlen, diese Status zum Workflow hinzuzufügen oder ihre Status zu ändern, bevor Sie diese aus dem Workflow entfernen."
#: public/js/frappe/ui/notifications/notifications.js:428
msgid "There are no upcoming events for you."
-msgstr ""
+msgstr "Für Sie stehen keine Veranstaltungen an."
#: website/web_template/discussions/discussions.html:3
msgid "There are no {0} for this {1}, why don't you start one!"
@@ -32188,14 +32349,14 @@ msgstr ""
#: public/js/frappe/views/reports/query_report.js:887
msgid "There are {0} with the same filters already in the queue:"
-msgstr ""
+msgstr "Es gibt bereits {0} mit denselben Filtern in der Warteschlange:"
-#: website/doctype/web_form/web_form.js:72
-#: website/doctype/web_form/web_form.js:308
+#: website/doctype/web_form/web_form.js:71
+#: website/doctype/web_form/web_form.js:307
msgid "There can be only 9 Page Break fields in a Web Form"
msgstr "Es dürfen höchstens 9 Seitenumbrüche in einem Webformular vorkommen"
-#: core/doctype/doctype/doctype.py:1390
+#: core/doctype/doctype/doctype.py:1392
msgid "There can be only one Fold in a form"
msgstr "Es darf nur einen Falz in einem Formular geben"
@@ -32207,19 +32368,19 @@ msgstr "Es befindet sich ein Fehler in der Adressvorlage {0}"
msgid "There is no data to be exported"
msgstr "Es gibt keine zu exportierenden Daten"
-#: core/doctype/file/file.py:570 utils/file_manager.py:372
+#: core/doctype/file/file.py:571 utils/file_manager.py:372
msgid "There is some problem with the file url: {0}"
msgstr "Es gibt irgend ein Problem mit der Datei-URL: {0}"
#: public/js/frappe/views/reports/query_report.js:884
msgid "There is {0} with the same filters already in the queue:"
-msgstr ""
+msgstr "In der Warteschlange befindet sich bereits {0} mit denselben Filtern:"
#: core/page/permission_manager/permission_manager.py:155
msgid "There must be atleast one permission rule."
msgstr "Es muss atleast eine Erlaubnis Regel sein."
-#: core/doctype/user/user.py:528
+#: core/doctype/user/user.py:532
msgid "There should remain at least one System Manager"
msgstr "Es sollte mindestens ein System-Manager übrig bleiben"
@@ -32239,7 +32400,7 @@ msgstr "Es gab Fehler"
msgid "There were errors while creating the document. Please try again."
msgstr "Beim Erstellen des Dokuments sind Fehler aufgetreten. Bitte versuche es erneut."
-#: public/js/frappe/views/communication.js:770
+#: public/js/frappe/views/communication.js:797
msgid "There were errors while sending email. Please try again."
msgstr "Beim Versand der E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut."
@@ -32290,7 +32451,7 @@ msgstr "Dieser DocType enthält keine Standortfelder"
msgid "This Kanban Board will be private"
msgstr "Dieser Kanbantafel wird privat"
-#: __init__.py:1007
+#: __init__.py:1011
msgid "This action is only allowed for {}"
msgstr "Diese Aktion ist nur für {} zulässig"
@@ -32330,9 +32491,9 @@ msgstr "Dieses Dokument wurde zurückgesetzt"
msgid "This document is already amended, you cannot ammend it again"
msgstr "Dieses Dokument wurde bereits geändert. Sie können es nicht erneut ändern"
-#: model/document.py:1516
+#: model/document.py:1532
msgid "This document is currently locked and queued for execution. Please try again after some time."
-msgstr ""
+msgstr "Dieses Dokument ist derzeit gesperrt und befindet sich in der Warteschlange für die Ausführung. Bitte versuchen Sie es nach einiger Zeit erneut."
#: templates/emails/auto_repeat_fail.html:7
msgid "This email is autogenerated"
@@ -32346,7 +32507,7 @@ msgstr "Diese Funktion kann nicht verwendet werden, da die Abhängigkeiten fehle
#: public/js/frappe/form/templates/form_sidebar.html:23
msgid "This feature is brand new and still experimental"
-msgstr ""
+msgstr "Diese Funktion ist brandneu und noch experimentell"
#. Description of the 'Depends On' (Code) field in DocType 'Customize Form
#. Field'
@@ -32436,7 +32597,7 @@ msgstr "Dieser Link wurde bereits zur Überprüfung aktiviert."
msgid "This link is invalid or expired. Please make sure you have pasted correctly."
msgstr "Diese Verknüpfung ist ungültig oder abgelaufen. Bitte sicher stellen, dass die Verknüpfung korrekt eingefügt wurde."
-#: printing/page/print/print.js:403
+#: printing/page/print/print.js:410
msgid "This may get printed on multiple pages"
msgstr "Dies kann auf mehreren Seiten ausgedruckt werden"
@@ -32514,7 +32675,7 @@ msgstr "Dadurch wird diese Tour zurückgesetzt und für alle Benutzer sichtbar.
msgid "This will terminate the job immediately and might be dangerous, are you sure? "
msgstr "Das wird den Auftrag sofort beenden und könnte gefährlich sein, sind Sie sicher? "
-#: core/doctype/user/user.py:1227
+#: core/doctype/user/user.py:1231
msgid "Throttled"
msgstr "Gedrosselt"
@@ -32688,7 +32849,7 @@ msgstr "Zeit in Sekunden, um QR-Code-Bild auf dem Server zu behalten. Min: To interact with above HTML you will have to use `root_element` as a p "" msgstr "" -#: twofactor.py:461 +#: twofactor.py:462 msgid "
Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" msgstr "" @@ -719,7 +720,7 @@ msgstr "" msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs." msgstr "" -#: core/doctype/doctype/doctype.py:1013 +#: core/doctype/doctype/doctype.py:1015 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "" @@ -727,11 +728,11 @@ msgstr "" msgid "A featured post must have a cover image" msgstr "Una publicación destacada debe tener una imagen de portada" -#: custom/doctype/custom_field/custom_field.py:172 +#: custom/doctype/custom_field/custom_field.py:173 msgid "A field with the name {0} already exists in {1}" msgstr "" -#: core/doctype/file/file.py:255 +#: core/doctype/file/file.py:254 msgid "A file with same name {} already exists" msgstr "" @@ -767,61 +768,61 @@ msgstr "Una palabra de por sí es fácil de adivinar." #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A0" -msgstr "" +msgstr "A0" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A1" -msgstr "" +msgstr "A1" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A2" -msgstr "" +msgstr "A2" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A3" -msgstr "" +msgstr "A3" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A4" -msgstr "" +msgstr "A4" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A5" -msgstr "" +msgstr "A5" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A6" -msgstr "" +msgstr "A6" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A7" -msgstr "" +msgstr "A7" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A8" -msgstr "" +msgstr "A8" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "A9" -msgstr "" +msgstr "A9" #. Option for the 'Email Sync Option' (Select) field in DocType 'Email Account' #: email/doctype/email_account/email_account.json @@ -866,12 +867,25 @@ msgctxt "Google Settings" msgid "API Key" msgstr "Clave de API" +#. Label of a Data field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key" +msgstr "Clave de API" + #. Label of a Data field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" msgid "API Key" msgstr "Clave de API" +#. Description of the 'Authentication' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site." +msgstr "" + #. Description of the 'API Key' (Data) field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -884,6 +898,12 @@ msgctxt "Server Script" msgid "API Method" msgstr "Método API" +#. Label of a Password field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Secret" +msgstr "Clave Secreta de API" + #. Label of a Password field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -987,7 +1007,7 @@ msgctxt "Social Login Key" msgid "Access Token URL" msgstr "URL de Token de Acceso" -#: auth.py:445 +#: auth.py:451 msgid "Access not allowed from this IP Address" msgstr "Acceso no permitido desde esta dirección IP" @@ -1067,7 +1087,7 @@ msgstr "Acción / Ruta" msgid "Action Complete" msgstr "" -#: model/document.py:1652 +#: model/document.py:1668 msgid "Action Failed" msgstr "Acción Fallida" @@ -1208,7 +1228,7 @@ msgstr "Registro de Actividad" #: core/page/permission_manager/permission_manager.js:476 #: email/doctype/email_group/email_group.js:60 -#: public/js/frappe/form/grid_row.js:469 +#: public/js/frappe/form/grid_row.js:470 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 #: public/js/frappe/list/bulk_operations.js:393 @@ -1224,7 +1244,7 @@ msgctxt "Primary action in list view" msgid "Add" msgstr "Agregar" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Add / Remove Columns" msgstr "" @@ -1236,7 +1256,7 @@ msgstr "Agregar / Actualizar" msgid "Add A New Rule" msgstr "Añadir una nueva regla" -#: public/js/frappe/views/communication.js:529 +#: public/js/frappe/views/communication.js:555 #: public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "Añadir un adjunto" @@ -1338,7 +1358,7 @@ msgstr "" msgid "Add Review" msgstr "Agregar una opinión" -#: core/doctype/user/user.py:794 +#: core/doctype/user/user.py:798 msgid "Add Roles" msgstr "" @@ -1346,7 +1366,7 @@ msgstr "" msgid "Add Row" msgstr "" -#: public/js/frappe/views/communication.js:117 +#: public/js/frappe/views/communication.js:118 msgid "Add Signature" msgstr "Agregar Firma" @@ -1377,12 +1397,12 @@ msgstr "Añadir Suscriptores" msgid "Add Tags" msgstr "" -#: public/js/frappe/list/list_view.js:1858 +#: public/js/frappe/list/list_view.js:1865 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "" -#: public/js/frappe/views/communication.js:362 +#: public/js/frappe/views/communication.js:387 msgid "Add Template" msgstr "" @@ -1485,7 +1505,7 @@ msgstr "HTML añadido en la sección <head> de la página web, utiliza sob msgid "Added default log doctypes: {}" msgstr "" -#: core/doctype/file/file.py:717 +#: core/doctype/file/file.py:718 msgid "Added {0}" msgstr "Añadido {0}" @@ -1494,7 +1514,7 @@ msgstr "Añadido {0}" msgid "Added {0} ({1})" msgstr "Añadido: {0} ({1})" -#: core/doctype/user/user.py:300 +#: core/doctype/user/user.py:304 msgid "Adding System Manager to this User as there must be atleast one System Manager" msgstr "Agregando como administrador del sistema a este usuario, ya que debe haber al menos uno" @@ -1621,11 +1641,11 @@ msgstr "Administración" msgid "Administrator" msgstr "Administrador" -#: core/doctype/user/user.py:1198 +#: core/doctype/user/user.py:1202 msgid "Administrator Logged In" msgstr "Administrador logeado" -#: core/doctype/user/user.py:1192 +#: core/doctype/user/user.py:1196 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "Acceso de Administrador {0} en {1} a través de la dirección IP {2}." @@ -1676,6 +1696,12 @@ msgctxt "Server Script" msgid "After Insert" msgstr "" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "After Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -2064,7 +2090,7 @@ msgstr "Permitir la Auto Aprobación" #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" msgid "Allow Sending Usage Data for Improving Applications" -msgstr "" +msgstr "Permitir el envío de datos de uso para mejorar las aplicaciones" #. Description of the 'Allow Self Approval' (Check) field in DocType 'Workflow #. Transition' @@ -2152,7 +2178,7 @@ msgstr "Permitir guardar si los campos obligatorios no están ingresados" #: desk/page/setup_wizard/setup_wizard.js:413 msgid "Allow sending usage data for improving applications" -msgstr "" +msgstr "Permitir enviar datos de uso para mejorar aplicaciones" #. Description of the 'Login After' (Int) field in DocType 'User' #: core/doctype/user/user.json @@ -2201,7 +2227,7 @@ msgstr "" msgid "Allowing DocType, DocType. Be careful!" msgstr "Precaución, autorizando 'DocType'" -#: core/doctype/user/user.py:1001 +#: core/doctype/user/user.py:1005 msgid "Already Registered" msgstr "Ya está Registrado" @@ -2453,7 +2479,7 @@ msgstr "Clave Secreta de Aplicación" msgid "App not found for module: {0}" msgstr "" -#: __init__.py:1765 +#: __init__.py:1782 msgid "App {0} is not installed" msgstr "Aplicación {0} no está instalada" @@ -2532,7 +2558,7 @@ msgctxt "Property Setter" msgid "Applied On" msgstr "Aplicado en" -#: public/js/frappe/list/list_view.js:1843 +#: public/js/frappe/list/list_view.js:1850 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "Aplicar regla de asignación" @@ -2638,7 +2664,7 @@ msgstr "Archivado" msgid "Archived Columns" msgstr "Columnas archivados" -#: public/js/frappe/list/list_view.js:1822 +#: public/js/frappe/list/list_view.js:1829 msgid "Are you sure you want to clear the assignments?" msgstr "" @@ -2737,7 +2763,7 @@ msgstr "Asignar condición" msgid "Assign To" msgstr "Asignar a" -#: public/js/frappe/list/list_view.js:1804 +#: public/js/frappe/list/list_view.js:1811 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "Asignar a" @@ -2906,11 +2932,11 @@ msgctxt "Notification Settings" msgid "Assignments" msgstr "Asignaciones" -#: public/js/frappe/form/grid_row.js:649 +#: public/js/frappe/form/grid_row.js:650 msgid "At least one column is required to show in the grid." msgstr "" -#: website/doctype/web_form/web_form.js:64 +#: website/doctype/web_form/web_form.js:63 msgid "At least one field is required in Web Form Fields Table" msgstr "" @@ -2946,7 +2972,7 @@ msgctxt "Web Form Field" msgid "Attach" msgstr "Adjuntar" -#: public/js/frappe/views/communication.js:139 +#: public/js/frappe/views/communication.js:140 msgid "Attach Document Print" msgstr "Adjuntar Documento para Imprimir" @@ -3020,7 +3046,7 @@ msgctxt "File" msgid "Attached To Name" msgstr "Asociado A Nombre" -#: core/doctype/file/file.py:141 +#: core/doctype/file/file.py:140 msgid "Attached To Name must be a string or an integer" msgstr "" @@ -3054,7 +3080,7 @@ msgctxt "Email Domain" msgid "Attachment Limit (MB)" msgstr "Límite Adjunto (MB)" -#: core/doctype/file/file.py:322 +#: core/doctype/file/file.py:321 #: public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" msgstr "" @@ -3077,7 +3103,7 @@ msgctxt "Communication" msgid "Attachment Removed" msgstr "Adjunto Eliminado" -#: core/doctype/file/utils.py:40 +#: core/doctype/file/utils.py:37 #: email/doctype/newsletter/templates/newsletter.html:47 #: public/js/frappe/form/templates/form_sidebar.html:65 #: website/doctype/web_form/templates/web_form.html:103 @@ -3137,6 +3163,12 @@ msgctxt "Email Account" msgid "Authentication" msgstr "Autenticación" +#. Label of a Section Break field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Authentication" +msgstr "Autenticación" + #: www/qrcode.html:19 msgid "Authentication Apps you can use are: " msgstr "Las aplicaciones de autenticación que puede utilizar son: " @@ -3491,83 +3523,83 @@ msgstr "" #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B0" -msgstr "" +msgstr "B0" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B1" -msgstr "" +msgstr "B1" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B10" -msgstr "" +msgstr "B10" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B2" -msgstr "" +msgstr "B2" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B3" -msgstr "" +msgstr "B3" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B4" -msgstr "" +msgstr "B4" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B5" -msgstr "" +msgstr "B5" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B6" -msgstr "" +msgstr "B6" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B7" -msgstr "" +msgstr "B7" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B8" -msgstr "" +msgstr "B8" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "B9" -msgstr "" +msgstr "B9" -#: public/js/frappe/views/communication.js:76 +#: public/js/frappe/views/communication.js:77 msgid "BCC" -msgstr "" +msgstr "CCO" #. Label of a Code field in DocType 'Communication' #: core/doctype/communication/communication.json msgctxt "Communication" msgid "BCC" -msgstr "" +msgstr "CCO" #. Label of a Code field in DocType 'Notification Recipient' #: email/doctype/notification_recipient/notification_recipient.json msgctxt "Notification Recipient" msgid "BCC" -msgstr "" +msgstr "CCO" #: public/js/frappe/widgets/onboarding_widget.js:186 msgid "Back" @@ -3601,7 +3633,7 @@ msgstr "Color de Fondo" #: website/doctype/web_page_block/web_page_block.json msgctxt "Web Page Block" msgid "Background Image" -msgstr "" +msgstr "Imagen de Fondo" #: public/js/frappe/ui/toolbar/toolbar.js:143 msgid "Background Jobs" @@ -3613,6 +3645,12 @@ msgctxt "RQ Job" msgid "Background Jobs" msgstr "Trabajos en Segundo Plano" +#. Label of a Autocomplete field in DocType 'Webhook' +#: integrations/doctype/webhook/webhook.json +msgctxt "Webhook" +msgid "Background Jobs Queue" +msgstr "" + #. Label of a Section Break field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3689,6 +3727,10 @@ msgctxt "System Settings" msgid "Backups" msgstr "Copias de seguridad" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:63 +msgid "Bad Cron Expression" +msgstr "" + #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3767,7 +3809,7 @@ msgctxt "Social Login Key" msgid "Base URL" msgstr "URL Base" -#: printing/page/print/print.js:266 printing/page/print/print.js:320 +#: printing/page/print/print.js:273 printing/page/print/print.js:327 msgid "Based On" msgstr "Basado en" @@ -3819,6 +3861,12 @@ msgctxt "Server Script" msgid "Before Insert" msgstr "Antes de insertar" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "Before Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -4371,27 +4419,27 @@ msgstr "Evite la verificación de la dirección IP restringida si la autenticaci #: printing/doctype/print_settings/print_settings.json msgctxt "Print Settings" msgid "C5E" -msgstr "" +msgstr "C5E" #: templates/print_formats/standard_macros.html:212 msgid "CANCELLED" msgstr "CANCELADO" -#: public/js/frappe/views/communication.js:71 +#: public/js/frappe/views/communication.js:72 msgid "CC" -msgstr "" +msgstr "CC" #. Label of a Code field in DocType 'Communication' #: core/doctype/communication/communication.json msgctxt "Communication" msgid "CC" -msgstr "" +msgstr "CC" #. Label of a Code field in DocType 'Notification Recipient' #: email/doctype/notification_recipient/notification_recipient.json msgctxt "Notification Recipient" msgid "CC" -msgstr "" +msgstr "CC" #. Label of a Data field in DocType 'Recorder' #: core/doctype/recorder/recorder.json @@ -4407,19 +4455,19 @@ msgstr "" #: desk/doctype/custom_html_block/custom_html_block.json msgctxt "Custom HTML Block" msgid "CSS" -msgstr "" +msgstr "CSS" #. Label of a Code field in DocType 'Print Style' #: printing/doctype/print_style/print_style.json msgctxt "Print Style" msgid "CSS" -msgstr "" +msgstr "CSS" #. Label of a Code field in DocType 'Web Page' #: website/doctype/web_page/web_page.json msgctxt "Web Page" msgid "CSS" -msgstr "" +msgstr "CSS" #. Label of a Small Text field in DocType 'Web Page Block' #: website/doctype/web_page_block/web_page_block.json @@ -4438,13 +4486,13 @@ msgstr "" #: email/doctype/auto_email_report/auto_email_report.json msgctxt "Auto Email Report" msgid "CSV" -msgstr "" +msgstr "CSV" #. Option for the 'File Type' (Select) field in DocType 'Data Export' #: core/doctype/data_export/data_export.json msgctxt "Data Export" msgid "CSV" -msgstr "" +msgstr "CSV" #. Label of a Data field in DocType 'Blog Settings' #: website/doctype/blog_settings/blog_settings.json @@ -4501,7 +4549,7 @@ msgctxt "DocType" msgid "Calendar View" msgstr "Vista de Calendario" -#: contacts/doctype/contact/contact.js:50 +#: contacts/doctype/contact/contact.js:55 msgid "Call" msgstr "Llamada" @@ -4541,7 +4589,7 @@ msgctxt "Onboarding Step" msgid "Callback Title" msgstr "Título de devolución de llamada" -#: public/js/frappe/ui/capture.js:326 +#: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "Cámara" @@ -4588,11 +4636,11 @@ msgstr "" msgid "Can Write" msgstr "" -#: custom/doctype/custom_field/custom_field.py:359 +#: custom/doctype/custom_field/custom_field.py:360 msgid "Can not rename as column {0} is already present on DocType." msgstr "" -#: core/doctype/doctype/doctype.py:1110 +#: core/doctype/doctype/doctype.py:1112 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "" @@ -4612,7 +4660,7 @@ msgstr "" msgid "Cancel" msgstr "Cancelar" -#: public/js/frappe/list/list_view.js:1913 +#: public/js/frappe/list/list_view.js:1920 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "Cancelar" @@ -4665,7 +4713,7 @@ msgstr "Cancelar todos los documentos" msgid "Cancel Scheduling" msgstr "" -#: public/js/frappe/list/list_view.js:1918 +#: public/js/frappe/list/list_view.js:1925 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "¿Cancelar {0} documentos?" @@ -4738,7 +4786,7 @@ msgstr "No se puede quitar" msgid "Cannot Update After Submit" msgstr "" -#: core/doctype/file/file.py:573 +#: core/doctype/file/file.py:574 msgid "Cannot access file path {0}" msgstr "" @@ -4754,11 +4802,11 @@ msgstr "No se puede cancelar antes de enviar. Ver transmisión {0}" msgid "Cannot cancel {0}." msgstr "" -#: model/document.py:827 +#: model/document.py:843 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "" -#: model/document.py:841 +#: model/document.py:857 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "" @@ -4770,7 +4818,7 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "No se puede cambiar el estado de un documento cancelado, Transition row {0}" -#: core/doctype/doctype/doctype.py:1100 +#: core/doctype/doctype/doctype.py:1102 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "" @@ -4782,7 +4830,7 @@ msgstr "No se puede crear un {0} en contra de un documento secundario: {1}" msgid "Cannot create private workspace of other users" msgstr "" -#: core/doctype/file/file.py:152 +#: core/doctype/file/file.py:151 msgid "Cannot delete Home and Attachments folders" msgstr "No se puede eliminar la carpeta principal y sus carpetas adjuntas" @@ -4842,7 +4890,7 @@ msgstr "" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "No se puede editar un informe estándar. Por favor, duplicar y crear un nuevo informe" -#: model/document.py:847 +#: model/document.py:863 msgid "Cannot edit cancelled document" msgstr "No se puede editar un documento cancelado" @@ -4858,19 +4906,19 @@ msgstr "No se pueden editar los campos estándar" msgid "Cannot enable {0} for a non-submittable doctype" msgstr "" -#: core/doctype/file/file.py:250 +#: core/doctype/file/file.py:249 msgid "Cannot find file {} on disk" msgstr "" -#: core/doctype/file/file.py:519 +#: core/doctype/file/file.py:520 msgid "Cannot get file contents of a Folder" msgstr "" -#: printing/page/print/print.js:817 +#: printing/page/print/print.js:824 msgid "Cannot have multiple printers mapped to a single print format." msgstr "No se pueden asignar varias impresoras a un único formato de impresión." -#: model/document.py:915 +#: model/document.py:931 msgid "Cannot link cancelled document: {0}" msgstr "No se puede vincular al documento anulado: {0}" @@ -4925,13 +4973,13 @@ msgstr "" #: public/js/frappe/list/bulk_operations.js:253 msgid "Cannot {0} {1}." -msgstr "" +msgstr "No se puede {0} {1}." #: utils/password_strength.py:181 msgid "Capitalization doesn't help very much." msgstr "La capitalización no ayuda mucho." -#: public/js/frappe/ui/capture.js:286 +#: public/js/frappe/ui/capture.js:294 msgid "Capture" msgstr "" @@ -4989,7 +5037,7 @@ msgctxt "Help Category" msgid "Category Name" msgstr "Nombre Categoría" -#: utils/data.py:1466 +#: utils/data.py:1469 msgid "Cent" msgstr "Centavo" @@ -5020,11 +5068,11 @@ msgid "Chaining Hash" msgstr "" #: public/js/frappe/form/templates/form_sidebar.html:11 -#: tests/test_translate.py:98 +#: tests/test_translate.py:97 msgid "Change" msgstr "Cambio" -#: tests/test_translate.py:99 +#: tests/test_translate.py:98 msgctxt "Coins" msgid "Change" msgstr "Cambio" @@ -5186,7 +5234,7 @@ msgctxt "Web Template Field" msgid "Check" msgstr "Marcar" -#: integrations/doctype/webhook/webhook.py:96 +#: integrations/doctype/webhook/webhook.py:98 msgid "Check Request URL" msgstr "Verificar URL de Solicitud" @@ -5256,7 +5304,7 @@ msgctxt "Form Tour Step" msgid "Child Doctype" msgstr "" -#: core/doctype/doctype/doctype.py:1582 +#: core/doctype/doctype/doctype.py:1584 msgid "Child Table {0} for field {1}" msgstr "" @@ -5310,15 +5358,15 @@ msgstr "Ciudad / Provincia" msgid "Clear" msgstr "Quitar" -#: public/js/frappe/views/communication.js:367 +#: public/js/frappe/views/communication.js:392 msgid "Clear & Add Template" msgstr "" -#: public/js/frappe/views/communication.js:98 +#: public/js/frappe/views/communication.js:99 msgid "Clear & Add template" msgstr "" -#: public/js/frappe/list/list_view.js:1819 +#: public/js/frappe/list/list_view.js:1826 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "" @@ -5345,7 +5393,7 @@ msgstr "" msgid "Clear User Permissions" msgstr "Borrar permisos de usuario" -#: public/js/frappe/views/communication.js:368 +#: public/js/frappe/views/communication.js:393 msgid "Clear the email message and add the template" msgstr "" @@ -5403,7 +5451,7 @@ msgstr "Haga clic en {0} para generar el token de actualización." #: desk/doctype/dashboard_chart/dashboard_chart.js:315 #: desk/doctype/number_card/number_card.js:215 #: email/doctype/auto_email_report/auto_email_report.js:96 -#: website/doctype/web_form/web_form.js:227 +#: website/doctype/web_form/web_form.js:226 msgid "Click table to edit" msgstr "Haga clic en la tabla para editar" @@ -5414,11 +5462,11 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:372 #: desk/doctype/number_card/number_card.js:270 -#: website/doctype/web_form/web_form.js:253 +#: website/doctype/web_form/web_form.js:252 msgid "Click to Set Filters" msgstr "" -#: public/js/frappe/list/list_view.js:657 +#: public/js/frappe/list/list_view.js:655 msgid "Click to sort by {0}" msgstr "" @@ -5582,7 +5630,7 @@ msgstr "Cerrado" #: templates/discussions/reply_section.html:53 #: templates/discussions/topic_modal.html:11 msgid "Cmd+Enter to add comment" -msgstr "" +msgstr "Cmd+Entrar para agregar comentario" #. Label of a Data field in DocType 'Country' #: geo/doctype/country/country.json @@ -5683,97 +5731,97 @@ msgstr "" #: public/js/frappe/widgets/widget_dialog.js:696 #: website/doctype/color/color.json msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Color' #: website/doctype/color/color.json msgctxt "Color" msgid "Color" -msgstr "" +msgstr "Color" #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #: custom/doctype/custom_field/custom_field.json msgctxt "Custom Field" msgid "Color" -msgstr "" +msgstr "Color" #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' #: custom/doctype/customize_form_field/customize_form_field.json msgctxt "Customize Form Field" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Dashboard Chart' #: desk/doctype/dashboard_chart/dashboard_chart.json msgctxt "Dashboard Chart" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Dashboard Chart Field' #: desk/doctype/dashboard_chart_field/dashboard_chart_field.json msgctxt "Dashboard Chart Field" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Data field in DocType 'Desktop Icon' #: desk/doctype/desktop_icon/desktop_icon.json msgctxt "Desktop Icon" msgid "Color" -msgstr "" +msgstr "Color" #. Option for the 'Type' (Select) field in DocType 'DocField' #: core/doctype/docfield/docfield.json msgctxt "DocField" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Data field in DocType 'DocType' #: core/doctype/doctype/doctype.json msgctxt "DocType" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Select field in DocType 'DocType State' #: core/doctype/doctype_state/doctype_state.json msgctxt "DocType State" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Event' #: desk/doctype/event/event.json msgctxt "Event" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Number Card' #: desk/doctype/number_card/number_card.json msgctxt "Number Card" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Social Link Settings' #: website/doctype/social_link_settings/social_link_settings.json msgctxt "Social Link Settings" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'ToDo' #: desk/doctype/todo/todo.json msgctxt "ToDo" msgid "Color" -msgstr "" +msgstr "Color" #. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field' #: website/doctype/web_form_field/web_form_field.json msgctxt "Web Form Field" msgid "Color" -msgstr "" +msgstr "Color" #. Label of a Color field in DocType 'Workspace Shortcut' #: desk/doctype/workspace_shortcut/workspace_shortcut.json msgctxt "Workspace Shortcut" msgid "Color" -msgstr "" +msgstr "Color" #: printing/page/print_format_builder/print_format_builder_column_selector.html:7 msgid "Column" @@ -5831,11 +5879,11 @@ msgstr "Nombre de columna" msgid "Column Name cannot be empty" msgstr "Nombre de la columna no puede estar vacío" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Column Width" msgstr "" -#: public/js/frappe/form/grid_row.js:613 +#: public/js/frappe/form/grid_row.js:614 msgid "Column width cannot be zero." msgstr "" @@ -5892,7 +5940,7 @@ msgstr "No se permite la combinación del tipo de concesión ({0}
#: printing/doctype/print_settings/print_settings.json
msgctxt "Print Settings"
msgid "Comm10E"
-msgstr ""
+msgstr "Comm10E"
#. Name of a DocType
#: core/doctype/comment/comment.json core/doctype/version/version_view.html:3
@@ -5995,8 +6043,8 @@ msgid "Common names and surnames are easy to guess."
msgstr "nombres y apellidos comunes son fáciles de adivinar."
#. Name of a DocType
-#: core/doctype/communication/communication.json tests/test_translate.py:35
-#: tests/test_translate.py:103
+#: core/doctype/communication/communication.json tests/test_translate.py:34
+#: tests/test_translate.py:102
msgid "Communication"
msgstr "Comunicaciones"
@@ -6069,11 +6117,11 @@ msgstr "Nombre de compañía"
msgid "Compare Versions"
msgstr ""
-#: core/doctype/server_script/server_script.py:137
+#: core/doctype/server_script/server_script.py:140
msgid "Compilation warning"
msgstr ""
-#: website/doctype/website_theme/website_theme.py:122
+#: website/doctype/website_theme/website_theme.py:123
msgid "Compiled Successfully"
msgstr "Compilado con éxito"
@@ -6091,7 +6139,7 @@ msgstr "Completar"
msgid "Complete By"
msgstr "Completado por"
-#: core/doctype/user/user.py:467 templates/emails/new_user.html:10
+#: core/doctype/user/user.py:471 templates/emails/new_user.html:10
msgid "Complete Registration"
msgstr "Registro completo"
@@ -6160,7 +6208,7 @@ msgstr "Escribir correo"
#: desk/doctype/dashboard_chart/dashboard_chart.js:439
#: desk/doctype/number_card/number_card.js:205
#: desk/doctype/number_card/number_card.js:333
-#: website/doctype/web_form/web_form.js:188
+#: website/doctype/web_form/web_form.js:187
msgid "Condition"
msgstr "Condición"
@@ -6216,7 +6264,7 @@ msgstr ""
#: website/doctype/web_form/web_form.json
msgctxt "Web Form"
msgid "Condition JSON"
-msgstr ""
+msgstr "Condición JSON"
#. Label of a Table field in DocType 'Document Naming Rule'
#: core/doctype/document_naming_rule/document_naming_rule.json
@@ -6234,13 +6282,13 @@ msgstr "Condiciones"
#: integrations/doctype/social_login_key/social_login_key.json
msgctxt "Social Login Key"
msgid "Configuration"
-msgstr ""
+msgstr "Configuración"
#: public/js/frappe/views/reports/report_view.js:461
msgid "Configure Chart"
msgstr "Configurar el Gráfico"
-#: public/js/frappe/form/grid_row.js:381
+#: public/js/frappe/form/grid_row.js:382
msgid "Configure Columns"
msgstr "Configurar columnas"
@@ -6257,7 +6305,8 @@ msgid "Configure how amended documents will be named.filters. result = [result], or for old style data = [columns], [result]"
msgstr "Los filtros serán accesibles a través de filters. resultado = [resultado], o para el estilo antiguo datos = [columnas], [resultado]"
-#: public/js/frappe/views/reports/report_view.js:1353
+#: public/js/frappe/views/reports/report_view.js:1355
msgid "Filters:"
msgstr ""
@@ -12810,11 +12896,11 @@ msgctxt "Report Filter"
msgid "Fold"
msgstr "Plegar"
-#: core/doctype/doctype/doctype.py:1397
+#: core/doctype/doctype/doctype.py:1399
msgid "Fold can not be at the end of the form"
msgstr "El plegado no se puede utilizar al final del formulario"
-#: core/doctype/doctype/doctype.py:1395
+#: core/doctype/doctype/doctype.py:1397
msgid "Fold must come before a Section Break"
msgstr "El plegado debe ir antes del salto de pagina"
@@ -12834,7 +12920,7 @@ msgstr ""
msgid "Folder name should not include '/' (slash)"
msgstr "Nombre de carpeta no debe incluir '/' (slash)"
-#: core/doctype/file/file.py:465
+#: core/doctype/file/file.py:466
msgid "Folder {0} is not empty"
msgstr "Carpeta {0} no está vacía"
@@ -13136,7 +13222,7 @@ msgstr ""
msgid "For updating, you can update only selective columns."
msgstr "Para actualizar datos, puedes editar sólo las columnas que necesites"
-#: core/doctype/doctype/doctype.py:1686
+#: core/doctype/doctype/doctype.py:1730
msgid "For {0} at level {1} in {2} in row {3}"
msgstr "Para {0} en el nivel {1} en {2} de la línea {3}"
@@ -13422,7 +13508,7 @@ msgctxt "System Settings"
msgid "Friday"
msgstr "Viernes"
-#: public/js/frappe/views/communication.js:170
+#: public/js/frappe/views/communication.js:182
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "From"
msgstr "Desde"
@@ -13541,7 +13627,7 @@ msgstr "Función"
msgid "Function Based On"
msgstr "Función basada en"
-#: __init__.py:928
+#: __init__.py:931
msgid "Function {0} is not whitelisted."
msgstr ""
@@ -13666,7 +13752,7 @@ msgctxt "Auto Repeat"
msgid "Get Contacts"
msgstr "Obtener Contactos"
-#: website/doctype/web_form/web_form.js:84
+#: website/doctype/web_form/web_form.js:83
msgid "Get Fields"
msgstr "Obtener Campos"
@@ -14433,7 +14519,7 @@ msgstr ""
#: public/js/frappe/form/templates/form_sidebar.html:40
#: public/js/frappe/form/workflow.js:23
-#: public/js/frappe/ui/toolbar/navbar.html:81 public/js/frappe/utils/help.js:27
+#: public/js/frappe/ui/toolbar/navbar.html:86 public/js/frappe/utils/help.js:27
msgid "Help"
msgstr "Ayuda"
@@ -14477,7 +14563,7 @@ msgctxt "Help Category"
msgid "Help Category"
msgstr "Categoría de Ayuda"
-#: public/js/frappe/ui/toolbar/navbar.html:78
+#: public/js/frappe/ui/toolbar/navbar.html:83
msgid "Help Dropdown"
msgstr "Menú desplegable de ayuda"
@@ -14743,11 +14829,11 @@ msgctxt "Portal Settings"
msgid "Hide Standard Menu"
msgstr "Ocultar Menú Estándar"
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Hide Tags"
msgstr "Ocultar etiquetas"
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Hide Weekends"
msgstr "Ocultar Fines de Semana"
@@ -14804,9 +14890,9 @@ msgstr "Resaltar"
msgid "Hint: Include symbols, numbers and capital letters in the password"
msgstr "Sugerencia: Incluya símbolos, números y letras mayúsculas en la contraseña"
-#: core/doctype/file/utils.py:31 public/js/frappe/views/file/file_view.js:67
+#: core/doctype/file/utils.py:28 public/js/frappe/views/file/file_view.js:67
#: public/js/frappe/views/file/file_view.js:88
-#: public/js/frappe/views/pageview.js:149 templates/doc.html:19
+#: public/js/frappe/views/pageview.js:153 templates/doc.html:19
#: templates/includes/navbar/navbar.html:9
#: website/doctype/blog_post/blog_post.py:153
#: website/doctype/blog_post/blog_post.py:265
@@ -14840,16 +14926,16 @@ msgctxt "User"
msgid "Home Settings"
msgstr "Configuraciones de inicio"
-#: core/doctype/file/test_file.py:297 core/doctype/file/test_file.py:299
-#: core/doctype/file/test_file.py:363
+#: core/doctype/file/test_file.py:302 core/doctype/file/test_file.py:304
+#: core/doctype/file/test_file.py:368
msgid "Home/Test Folder 1"
msgstr "Inicio / Carpeta Prueba 1"
-#: core/doctype/file/test_file.py:352
+#: core/doctype/file/test_file.py:357
msgid "Home/Test Folder 1/Test Folder 3"
msgstr "Carpeta Inicio / Test 1 / Carpeta Prueba 3"
-#: core/doctype/file/test_file.py:308
+#: core/doctype/file/test_file.py:313
msgid "Home/Test Folder 2"
msgstr "Inicio / Carpeta de Prueba 2"
@@ -14908,7 +14994,7 @@ msgstr "¿Cómo se debe formatear esta moneda? Si no se establece, el sistema ut
msgid "ID"
msgstr "Identificador"
-#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:920
+#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:922
msgctxt "Label of name column in report"
msgid "ID"
msgstr "Identificador"
@@ -15065,7 +15151,7 @@ msgctxt "Workflow Document State"
msgid "If Checked workflow status will not override status in list view"
msgstr "Si el estado de flujo de trabajo facturado no anulará el estado en la vista de lista"
-#: core/doctype/doctype/doctype.py:1698
+#: core/doctype/doctype/doctype.py:1742
msgid "If Owner"
msgstr "Si es dueño"
@@ -15257,7 +15343,7 @@ msgstr "Si va a cargar nuevos registros, y existen \"Secuencias e identificadore
msgid "If you are uploading new records, leave the \"name\" (ID) column blank."
msgstr "Si desea cargar nuevos registros, deje en blanco la columna \"name\" (ID)"
-#: utils/password.py:200
+#: utils/password.py:197
msgid "If you have recently restored the site you may need to copy the site config contaning original Encryption Key."
msgstr ""
@@ -15440,15 +15526,15 @@ msgctxt "Letter Head"
msgid "Image Width"
msgstr ""
-#: core/doctype/doctype/doctype.py:1453
+#: core/doctype/doctype/doctype.py:1455
msgid "Image field must be a valid fieldname"
msgstr "Campo de imagen debe ser un nombre de campo válido"
-#: core/doctype/doctype/doctype.py:1455
+#: core/doctype/doctype/doctype.py:1457
msgid "Image field must be of type Attach Image"
msgstr "Campo de imagen debe ser de tipo Adjuntar imagen"
-#: core/doctype/file/utils.py:134
+#: core/doctype/file/utils.py:136
msgid "Image link '{0}' is not valid"
msgstr ""
@@ -15460,6 +15546,28 @@ msgstr ""
msgid "Images"
msgstr "Imágenes"
+#: core/doctype/user/user.js:346
+msgid "Impersonate"
+msgstr ""
+
+#. Option for the 'Operation' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Impersonate"
+msgstr ""
+
+#: core/doctype/user/user.js:373
+msgid "Impersonate as {0}"
+msgstr ""
+
+#: public/js/frappe/form/footer/version_timeline_content_builder.js:233
+msgid "Impersonated by {0}"
+msgstr ""
+
+#: public/js/frappe/ui/toolbar/navbar.html:21
+msgid "Impersonating {0}"
+msgstr ""
+
#: core/doctype/log_settings/log_settings.py:57
msgid "Implement `clear_old_logs` method to enable auto error clearing."
msgstr ""
@@ -15475,7 +15583,7 @@ msgstr "Implícito"
msgid "Import"
msgstr "Importar / Exportar"
-#: public/js/frappe/list/list_view.js:1628
+#: public/js/frappe/list/list_view.js:1635
msgctxt "Button in list view menu"
msgid "Import"
msgstr "Importar / Exportar"
@@ -15830,25 +15938,25 @@ msgstr "Configuración incorrecta"
msgid "Incorrect URL"
msgstr "URL incorrecta"
-#: utils/password.py:90
+#: utils/password.py:89
msgid "Incorrect User or Password"
msgstr "Usuario o Contraseña Incorrecta"
-#: twofactor.py:175 twofactor.py:187
+#: twofactor.py:176 twofactor.py:188
msgid "Incorrect Verification code"
msgstr "Código de Verificación incorrecto"
-#: model/document.py:1335
+#: model/document.py:1351
msgid "Incorrect value in row {0}: {1} must be {2} {3}"
msgstr "Valor incorrecto en la fila {0}: {1} debe ser {2} {3}"
-#: model/document.py:1339
+#: model/document.py:1355
msgid "Incorrect value: {0} must be {1} {2}"
msgstr "Valor incorrecto: {0} debe ser {1} {2}"
#: model/meta.py:48 public/js/frappe/model/meta.js:200
#: public/js/frappe/model/model.js:114
-#: public/js/frappe/views/reports/report_view.js:941
+#: public/js/frappe/views/reports/report_view.js:943
msgid "Index"
msgstr "Índice"
@@ -15958,11 +16066,11 @@ msgctxt "Custom Field"
msgid "Insert After"
msgstr "Insertar Después"
-#: custom/doctype/custom_field/custom_field.py:248
+#: custom/doctype/custom_field/custom_field.py:249
msgid "Insert After cannot be set as {0}"
msgstr "Insertar después no se puede establecer como {0}"
-#: custom/doctype/custom_field/custom_field.py:241
+#: custom/doctype/custom_field/custom_field.py:242
msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist"
msgstr "Inserción luego del campo '{0}' mencionado en el campo personalizado '{1}', con la etiqueta '{2}', no existe"
@@ -16042,7 +16150,7 @@ msgstr ""
msgid "Insufficient Permissions for editing Report"
msgstr ""
-#: core/doctype/doctype/doctype.py:442
+#: core/doctype/doctype/doctype.py:444
msgid "Insufficient attachment limit"
msgstr ""
@@ -16198,7 +16306,7 @@ msgctxt "OAuth Authorization Code"
msgid "Invalid"
msgstr "Inválido"
-#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:768
+#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:769
#: public/js/frappe/form/layout.js:774
msgid "Invalid \"depends_on\" expression"
msgstr "Expresión \"depende_on\" no válida"
@@ -16219,7 +16327,7 @@ msgstr ""
msgid "Invalid CSV Format"
msgstr "Formato CSV no válido"
-#: integrations/doctype/webhook/webhook.py:88
+#: integrations/doctype/webhook/webhook.py:90
msgid "Invalid Condition: {}"
msgstr ""
@@ -16227,7 +16335,7 @@ msgstr ""
msgid "Invalid Credentials"
msgstr "Credenciales no válidas"
-#: utils/data.py:125 utils/data.py:286
+#: utils/data.py:125 utils/data.py:289
msgid "Invalid Date"
msgstr "Fecha invalida"
@@ -16239,11 +16347,11 @@ msgstr ""
msgid "Invalid DocType: {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1219
+#: core/doctype/doctype/doctype.py:1221
msgid "Invalid Fieldname"
msgstr ""
-#: core/doctype/file/file.py:207
+#: core/doctype/file/file.py:206
msgid "Invalid File URL"
msgstr ""
@@ -16283,7 +16391,7 @@ msgstr ""
msgid "Invalid Operation"
msgstr ""
-#: core/doctype/doctype/doctype.py:1576 core/doctype/doctype/doctype.py:1585
+#: core/doctype/doctype/doctype.py:1578 core/doctype/doctype/doctype.py:1587
msgid "Invalid Option"
msgstr "Opción inválida"
@@ -16299,7 +16407,7 @@ msgstr "Formato de salida no válido"
msgid "Invalid Parameters."
msgstr ""
-#: core/doctype/user/user.py:1213 www/update-password.html:121
+#: core/doctype/user/user.py:1217 www/update-password.html:121
#: www/update-password.html:142 www/update-password.html:144
#: www/update-password.html:245
msgid "Invalid Password"
@@ -16317,7 +16425,7 @@ msgstr "Solicitud inválida"
msgid "Invalid Search Field {0}"
msgstr "Campo de búsqueda no válido {0}"
-#: core/doctype/doctype/doctype.py:1161
+#: core/doctype/doctype/doctype.py:1163
msgid "Invalid Table Fieldname"
msgstr ""
@@ -16325,7 +16433,7 @@ msgstr ""
msgid "Invalid Transition"
msgstr ""
-#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604
+#: core/doctype/file/file.py:217 public/js/frappe/widgets/widget_dialog.js:604
#: utils/csvutils.py:201 utils/csvutils.py:222
msgid "Invalid URL"
msgstr "URL invalida"
@@ -16334,7 +16442,7 @@ msgstr "URL invalida"
msgid "Invalid User Name or Support Password. Please rectify and try again."
msgstr "Nombre de usuario o contraseña de soporte inválido, por favor verifique e inténtelo de nuevo."
-#: integrations/doctype/webhook/webhook.py:117
+#: integrations/doctype/webhook/webhook.py:119
msgid "Invalid Webhook Secret"
msgstr ""
@@ -16346,7 +16454,7 @@ msgstr ""
msgid "Invalid column"
msgstr "Columna inválida"
-#: model/document.py:830 model/document.py:844
+#: model/document.py:846 model/document.py:860
msgid "Invalid docstatus"
msgstr ""
@@ -16358,11 +16466,11 @@ msgstr "Conjunto de expresión no válida en el filtro {0}"
msgid "Invalid expression set in filter {0} ({1})"
msgstr "Conjunto de expresión no válida en el filtro {0} ({1})"
-#: utils/data.py:2102
+#: utils/data.py:2106
msgid "Invalid field name {0}"
msgstr "Nombre de campo inválido {0}"
-#: core/doctype/doctype/doctype.py:1046
+#: core/doctype/doctype/doctype.py:1048
msgid "Invalid fieldname '{0}' in autoname"
msgstr "Nombre de campo no válido '{0}' en nombre automático"
@@ -16395,7 +16503,7 @@ msgstr "Contenido no válido o dañado para importar"
msgid "Invalid redirect regex in row #{}: {}"
msgstr ""
-#: app.py:299
+#: app.py:305
msgid "Invalid request arguments"
msgstr ""
@@ -16417,7 +16525,7 @@ msgctxt "Error message in web form"
msgid "Invalid values for fields:"
msgstr ""
-#: core/doctype/doctype/doctype.py:1511
+#: core/doctype/doctype/doctype.py:1513
msgid "Invalid {0} condition"
msgstr "Condición {0} no válida"
@@ -16427,7 +16535,7 @@ msgctxt "Workflow State"
msgid "Inverse"
msgstr "inverso"
-#: contacts/doctype/contact/contact.js:25
+#: contacts/doctype/contact/contact.js:30
msgid "Invite as User"
msgstr "Invitar como usuario"
@@ -16621,7 +16729,7 @@ msgctxt "DocType"
msgid "Is Published Field"
msgstr "Es campo publicable"
-#: core/doctype/doctype/doctype.py:1462
+#: core/doctype/doctype/doctype.py:1464
msgid "Is Published Field must be a valid fieldname"
msgstr "Es Campo Publicable debe ser un nombre de campo válido"
@@ -16789,7 +16897,7 @@ msgctxt "DocType"
msgid "Is Virtual"
msgstr ""
-#: core/doctype/file/utils.py:155 utils/file_manager.py:311
+#: core/doctype/file/utils.py:157 utils/file_manager.py:311
msgid "It is risky to delete this file: {0}. Please contact your System Manager."
msgstr "Es arriesgado eliminar este archivo: {0}. Por favor, póngase en contacto con el administrador del sistema."
@@ -17378,7 +17486,7 @@ msgctxt "Customize Form Field"
msgid "Label and Type"
msgstr "Etiqueta y Tipo"
-#: custom/doctype/custom_field/custom_field.py:142
+#: custom/doctype/custom_field/custom_field.py:143
msgid "Label is mandatory"
msgstr "La etiqueta es obligatoria"
@@ -17617,7 +17725,7 @@ msgctxt "Event"
msgid "Leave blank to repeat always"
msgstr "Dejar en blanco para repetir siempre"
-#: core/doctype/communication/mixins.py:206
+#: core/doctype/communication/mixins.py:207
#: email/doctype/email_account/email_account.py:654
msgid "Leave this conversation"
msgstr "Abandonar esta conversación"
@@ -17671,7 +17779,7 @@ msgstr "Dejar esta conversación"
#: printing/doctype/print_settings/print_settings.json
msgctxt "Print Settings"
msgid "Legal"
-msgstr ""
+msgstr "Legal"
#. Label of a Int field in DocType 'Custom Field'
#: custom/doctype/custom_field/custom_field.json
@@ -18161,7 +18269,7 @@ msgid "Linked With"
msgstr "Vinculado Con"
#: contacts/doctype/address/address.js:39
-#: contacts/doctype/contact/contact.js:82 public/js/frappe/form/toolbar.js:366
+#: contacts/doctype/contact/contact.js:87 public/js/frappe/form/toolbar.js:366
msgid "Links"
msgstr "Enlaces"
@@ -18237,7 +18345,7 @@ msgctxt "Web Form"
msgid "List Setting Message"
msgstr ""
-#: public/js/frappe/list/list_view.js:1708
+#: public/js/frappe/list/list_view.js:1715
msgctxt "Button in list view menu"
msgid "List Settings"
msgstr "Configuración de lista"
@@ -18304,7 +18412,7 @@ msgstr ""
#: core/page/permission_manager/permission_manager.js:165
#: public/js/frappe/form/controls/multicheck.js:13
#: public/js/frappe/form/linked_with.js:13
-#: public/js/frappe/list/base_list.js:467
+#: public/js/frappe/list/base_list.js:469
#: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16
#: public/js/frappe/views/reports/query_report.js:1001
msgid "Loading"
@@ -18457,7 +18565,7 @@ msgstr "Inicio de sesión obligatorio"
msgid "Login To {0}"
msgstr ""
-#: twofactor.py:259
+#: twofactor.py:260
msgid "Login Verification Code from {}"
msgstr "Código de verificación de inicio de sesión de {}"
@@ -18469,7 +18577,7 @@ msgstr ""
msgid "Login and view in Browser"
msgstr "Iniciar Sesión y ver en el Navegador"
-#: website/doctype/web_form/web_form.js:358
+#: website/doctype/web_form/web_form.js:357
msgid "Login is required to see web form list view. Enable {0} to see list settings"
msgstr ""
@@ -18481,7 +18589,7 @@ msgstr ""
msgid "Login not allowed at this time"
msgstr "No se permite iniciar sesión en este momento"
-#: twofactor.py:163
+#: twofactor.py:164
msgid "Login session expired, refresh page to retry"
msgstr "Sesión de inicio de sesión caducada, refresque la página para volver a intentarlo"
@@ -18533,7 +18641,7 @@ msgctxt "Activity Log"
msgid "Logout"
msgstr "Salir"
-#: core/doctype/user/user.js:172
+#: core/doctype/user/user.js:173
msgid "Logout All Sessions"
msgstr "Cerrar sesión en todas las sesiones"
@@ -18968,7 +19076,7 @@ msgctxt "System Settings"
msgid "Max auto email report per user"
msgstr ""
-#: core/doctype/doctype/doctype.py:1289
+#: core/doctype/doctype/doctype.py:1291
msgid "Max width for type Currency is 100px in row {0}"
msgstr "El ancho máximo para el tipo de divisa es 100px en la línea {0}"
@@ -18978,7 +19086,7 @@ msgctxt "Number Card"
msgid "Maximum"
msgstr "Máximo"
-#: core/doctype/file/file.py:318
+#: core/doctype/file/file.py:317
msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
msgstr ""
@@ -19086,7 +19194,7 @@ msgstr "La fusión sólo es posible de Grupo -a- Grupo o de Nodo -a- Nodo en la
#: core/doctype/data_import/data_import.js:489
#: public/js/frappe/ui/messages.js:175
-#: public/js/frappe/views/communication.js:110 www/message.html:3
+#: public/js/frappe/views/communication.js:111 www/message.html:3
#: www/message.html:25
msgid "Message"
msgstr "Mensaje"
@@ -19116,7 +19224,7 @@ msgctxt "Communication"
msgid "Message"
msgstr "Mensaje"
-#: __init__.py:612 public/js/frappe/ui/messages.js:265
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
msgctxt "Default title of the message dialog"
msgid "Message"
msgstr "Mensaje"
@@ -19206,7 +19314,7 @@ msgctxt "Notification"
msgid "Message Type"
msgstr ""
-#: public/js/frappe/views/communication.js:883
+#: public/js/frappe/views/communication.js:910
msgid "Message clipped"
msgstr "Mensaje marcado"
@@ -19422,7 +19530,7 @@ msgstr ""
msgid "Missing DocType"
msgstr ""
-#: core/doctype/doctype/doctype.py:1473
+#: core/doctype/doctype/doctype.py:1475
msgid "Missing Field"
msgstr ""
@@ -19453,8 +19561,8 @@ msgstr "Valores faltantes requeridos"
msgid "Mobile"
msgstr ""
-#: tests/test_translate.py:86 tests/test_translate.py:89
-#: tests/test_translate.py:91 tests/test_translate.py:94
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
msgid "Mobile No"
msgstr "Nº Móvil"
@@ -19677,19 +19785,19 @@ msgstr "Incorporación del módulo"
#. Name of a DocType
#: core/doctype/module_profile/module_profile.json
msgid "Module Profile"
-msgstr ""
+msgstr "Perfil del Módulo"
#. Label of a Link in the Users Workspace
#: core/workspace/users/users.json
msgctxt "Module Profile"
msgid "Module Profile"
-msgstr ""
+msgstr "Perfil del Módulo"
#. Label of a Link field in DocType 'User'
#: core/doctype/user/user.json
msgctxt "User"
msgid "Module Profile"
-msgstr ""
+msgstr "Perfil del Módulo"
#. Label of a Data field in DocType 'Module Profile'
#: core/doctype/module_profile/module_profile.json
@@ -19763,7 +19871,7 @@ msgctxt "Print Settings"
msgid "Monospace"
msgstr "Monoespaciado"
-#: public/js/frappe/views/calendar/calendar.js:268
+#: public/js/frappe/views/calendar/calendar.js:269
msgid "Month"
msgstr "Mes"
@@ -19896,7 +20004,7 @@ msgstr "Más contenido de la parte inferior de la página."
msgid "Most Used"
msgstr "Más usado"
-#: utils/password.py:65
+#: utils/password.py:64
msgid "Most probably your password is too long."
msgstr ""
@@ -20196,12 +20304,12 @@ msgstr "Valores de la plantilla de la barra de navegación"
msgid "Navigate Home"
msgstr "Navegar a Inicio"
-#: public/js/frappe/list/list_view.js:1134
+#: public/js/frappe/list/list_view.js:1132
msgctxt "Description of a list view shortcut"
msgid "Navigate list down"
msgstr "Navegar por la lista hacia abajo"
-#: public/js/frappe/list/list_view.js:1141
+#: public/js/frappe/list/list_view.js:1139
msgctxt "Description of a list view shortcut"
msgid "Navigate list up"
msgstr "Navegar lista arriba"
@@ -20224,7 +20332,7 @@ msgstr ""
msgid "Need Workspace Manager role to hide/unhide public workspaces"
msgstr ""
-#: model/document.py:606
+#: model/document.py:622
msgid "Negative Value"
msgstr "Valor negativo"
@@ -20288,7 +20396,7 @@ msgstr ""
msgid "New Custom Block"
msgstr ""
-#: printing/page/print/print.js:288 printing/page/print/print.js:335
+#: printing/page/print/print.js:295 printing/page/print/print.js:342
msgid "New Custom Print Format"
msgstr "Nuevo formato de impresión personalizado"
@@ -20362,11 +20470,11 @@ msgstr ""
msgid "New Onboarding"
msgstr ""
-#: core/doctype/user/user.js:160 www/update-password.html:19
+#: core/doctype/user/user.js:161 www/update-password.html:19
msgid "New Password"
msgstr "Nueva Contraseña"
-#: printing/page/print/print.js:260 printing/page/print/print.js:314
+#: printing/page/print/print.js:267 printing/page/print/print.js:321
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:61
msgid "New Print Format Name"
msgstr "Nuevo nombre de formato de impresión"
@@ -20375,7 +20483,7 @@ msgstr "Nuevo nombre de formato de impresión"
msgid "New Quick List"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1310
+#: public/js/frappe/views/reports/report_view.js:1312
msgid "New Report name"
msgstr "Nuevo nombre de Informe"
@@ -20452,7 +20560,7 @@ msgstr "Nuevo {0}: {1}"
msgid "New {} releases for the following apps are available"
msgstr "Las nuevas {} versiones para las siguientes aplicaciones están disponibles"
-#: core/doctype/user/user.py:790
+#: core/doctype/user/user.py:794
msgid "Newly created user {0} has no roles enabled."
msgstr ""
@@ -20507,7 +20615,7 @@ msgstr "Boletines"
#: public/js/frappe/web_form/web_form.js:91
#: public/js/onboarding_tours/onboarding_tours.js:15
#: public/js/onboarding_tours/onboarding_tours.js:240
-#: templates/includes/slideshow.html:38 website/utils.py:247
+#: templates/includes/slideshow.html:38 website/utils.py:245
#: website/web_template/slideshow/slideshow.html:44
msgid "Next"
msgstr "Siguiente"
@@ -20589,7 +20697,7 @@ msgctxt "Form Tour Step"
msgid "Next on Click"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:341
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -20699,7 +20807,7 @@ msgstr "No hay filtros establecidos"
msgid "No Google Calendar Event to sync."
msgstr "No hay eventos de Google Calendar para sincronizar."
-#: public/js/frappe/ui/capture.js:254
+#: public/js/frappe/ui/capture.js:262
msgid "No Images"
msgstr ""
@@ -20715,7 +20823,7 @@ msgstr "No se encontró ningún usuario LDAP para el correo electrónico: {0}"
msgid "No Label"
msgstr ""
-#: printing/page/print/print.js:675 printing/page/print/print.js:757
+#: printing/page/print/print.js:682 printing/page/print/print.js:764
#: public/js/frappe/list/bulk_operations.js:82
#: public/js/frappe/list/bulk_operations.js:126 utils/weasyprint.py:52
msgid "No Letterhead"
@@ -20729,7 +20837,7 @@ msgstr "Sin nombre especificado para {0}"
msgid "No New notifications"
msgstr ""
-#: core/doctype/doctype/doctype.py:1678
+#: core/doctype/doctype/doctype.py:1722
msgid "No Permissions Specified"
msgstr "No hay Permisos Especificados"
@@ -20749,11 +20857,11 @@ msgstr "No hay gráficos permitidos en este panel"
msgid "No Preview"
msgstr ""
-#: printing/page/print/print.js:679
+#: printing/page/print/print.js:686
msgid "No Preview Available"
msgstr ""
-#: printing/page/print/print.js:835
+#: printing/page/print/print.js:842
msgid "No Printer is Available."
msgstr "No hay impresora disponible."
@@ -20769,7 +20877,7 @@ msgstr "No hay resultados"
msgid "No Results found"
msgstr ""
-#: core/doctype/user/user.py:791
+#: core/doctype/user/user.py:795
msgid "No Roles Specified"
msgstr ""
@@ -20893,7 +21001,7 @@ msgstr "No hay necesidad de símbolos, dígitos o letras mayúsculas."
msgid "No new Google Contacts synced."
msgstr "No hay nuevos contactos de Google sincronizados."
-#: public/js/frappe/ui/toolbar/navbar.html:41
+#: public/js/frappe/ui/toolbar/navbar.html:46
msgid "No new notifications"
msgstr ""
@@ -20919,7 +21027,7 @@ msgctxt "SMS Log"
msgid "No of Sent SMS"
msgstr ""
-#: __init__.py:1115 client.py:109 client.py:151
+#: __init__.py:1119 client.py:109 client.py:151
msgid "No permission for {0}"
msgstr "Sin permiso para {0}"
@@ -20952,7 +21060,7 @@ msgstr ""
msgid "No records will be exported"
msgstr "No se exportarán registros"
-#: www/printview.py:436
+#: www/printview.py:442
msgid "No template found at path: {0}"
msgstr "No se encontraron plantillas en la ruta: {0}"
@@ -20980,7 +21088,12 @@ msgstr ""
msgid "No {0} mail"
msgstr "No {0} electrónico"
-#: public/js/form_builder/utils.js:117 public/js/frappe/form/grid_row.js:251
+#: public/js/form_builder/utils.js:117
+msgid "No."
+msgstr ""
+
+#: public/js/frappe/form/grid_row.js:252
+msgctxt "Title of the 'row number' column"
msgid "No."
msgstr ""
@@ -21025,7 +21138,7 @@ msgctxt "Recorder Query"
msgid "Normalized Query"
msgstr ""
-#: core/doctype/user/user.py:996 templates/includes/login/login.js:258
+#: core/doctype/user/user.py:1000 templates/includes/login/login.js:258
#: utils/oauth.py:265
msgid "Not Allowed"
msgstr "No permitido"
@@ -21046,7 +21159,7 @@ msgstr "No son Descendientes de"
msgid "Not Equals"
msgstr "No es igual"
-#: app.py:361 www/404.html:3
+#: app.py:362 www/404.html:3
msgid "Not Found"
msgstr "No encontrado"
@@ -21074,7 +21187,7 @@ msgctxt "DocField"
msgid "Not Nullable"
msgstr ""
-#: __init__.py:1011 app.py:352 desk/calendar.py:26 geo/utils.py:97
+#: __init__.py:1015 app.py:353 desk/calendar.py:26 geo/utils.py:97
#: public/js/frappe/web_form/webform_script.js:15
#: website/doctype/web_form/web_form.py:602
#: website/page_renderers/not_permitted_page.py:20 www/login.py:174
@@ -21134,7 +21247,7 @@ msgstr "No especificado"
msgid "Not a valid Comma Separated Value (CSV File)"
msgstr "No es un archivo separado por comas válido (archivo CSV)"
-#: core/doctype/user/user.py:227
+#: core/doctype/user/user.py:231
msgid "Not a valid User Image."
msgstr "No es una Imagen de Usuario Válida."
@@ -21154,7 +21267,7 @@ msgstr "No activo"
msgid "Not allowed for {0}: {1}"
msgstr "No permitido para {0}: {1}"
-#: email/doctype/notification/notification.py:388
+#: email/doctype/notification/notification.py:391
msgid "Not allowed to attach {0} document, please enable Allow Print For {0} in Print Settings"
msgstr "No se permite adjuntar {0} documento, habilite Permitir impresión para {0} en Configuración de impresión."
@@ -21256,6 +21369,10 @@ msgctxt "System Settings"
msgid "Note: Multiple sessions will be allowed in case of mobile device"
msgstr "Nota: Varias sesiones serán permitidas en el caso de los dispositivos móviles"
+#: core/doctype/user/user.js:361
+msgid "Note: This will be shared with user."
+msgstr ""
+
#: website/web_form/request_to_delete_data/request_to_delete_data.js:8
msgid "Note: Your request for account deletion will be fulfilled within {0} hours."
msgstr ""
@@ -21266,7 +21383,7 @@ msgstr "Notas:"
#: public/js/frappe/form/undo_manager.js:43
msgid "Nothing left to redo"
-msgstr ""
+msgstr "No queda nada que rehacer"
#: public/js/frappe/form/undo_manager.js:33
msgid "Nothing left to undo"
@@ -21494,7 +21611,7 @@ msgctxt "Recorder"
msgid "Number of Queries"
msgstr ""
-#: core/doctype/doctype/doctype.py:439 public/js/frappe/doctype/index.js:59
+#: core/doctype/doctype/doctype.py:441 public/js/frappe/doctype/index.js:59
msgid "Number of attachment fields are more than {}, limit updated to {}."
msgstr ""
@@ -21607,11 +21724,11 @@ msgctxt "System Settings"
msgid "OTP Issuer Name"
msgstr "Nombre del Emisor de OTP"
-#: twofactor.py:460
+#: twofactor.py:461
msgid "OTP Secret Reset - {0}"
msgstr ""
-#: twofactor.py:479
+#: twofactor.py:480
msgid "OTP Secret has been reset. Re-registration will be required on next login."
msgstr "OTP Secret ha sido restablecido. Re-registro será necesario en el próximo inicio de sesión."
@@ -21658,7 +21775,7 @@ msgstr ""
msgid "Old Password"
msgstr "Contraseña anterior"
-#: custom/doctype/custom_field/custom_field.py:361
+#: custom/doctype/custom_field/custom_field.py:362
msgid "Old and new fieldnames are same."
msgstr ""
@@ -21700,7 +21817,7 @@ msgctxt "Webhook"
msgid "On checking this option, URL will be treated like a jinja template string"
msgstr ""
-#: public/js/frappe/views/communication.js:893
+#: public/js/frappe/views/communication.js:920
msgid "On {0}, {1} wrote:"
msgstr ""
@@ -21759,7 +21876,7 @@ msgstr ""
msgid "One Last Step"
msgstr "Un último paso"
-#: twofactor.py:277
+#: twofactor.py:278
msgid "One Time Password (OTP) Registration Code from {}"
msgstr "Código de registro de contraseña de un solo uso (OTP) de {}"
@@ -21797,7 +21914,7 @@ msgctxt "Workflow Document State"
msgid "Only Allow Edit For"
msgstr "Permitir editar para"
-#: core/doctype/doctype/doctype.py:1555
+#: core/doctype/doctype/doctype.py:1557
msgid "Only Options allowed for Data field are:"
msgstr "Solo las opciones permitidas para el campo de datos son:"
@@ -21961,7 +22078,7 @@ msgstr "Abra un cuadro de diálogo con campos obligatorios para crear un nuevo r
msgid "Open a module or tool"
msgstr "Abrir un módulo o herramienta"
-#: public/js/frappe/list/list_view.js:1187
+#: public/js/frappe/list/list_view.js:1185
msgctxt "Description of a list view shortcut"
msgid "Open list item"
msgstr "Abrir elemento de lista"
@@ -22007,7 +22124,7 @@ msgctxt "Activity Log"
msgid "Operation"
msgstr "Operación"
-#: utils/data.py:2038
+#: utils/data.py:2042
msgid "Operator must be one of {0}"
msgstr "El Operador debe ser uno de {0}"
@@ -22031,7 +22148,7 @@ msgstr "Opción 2"
msgid "Option 3"
msgstr "Opción 3"
-#: core/doctype/doctype/doctype.py:1573
+#: core/doctype/doctype/doctype.py:1575
msgid "Option {0} for field {1} is not a child table"
msgstr "La opción {0} para el campo {1} no es una tabla secundaria"
@@ -22093,7 +22210,7 @@ msgctxt "Web Template Field"
msgid "Options"
msgstr "Opciones"
-#: core/doctype/doctype/doctype.py:1313
+#: core/doctype/doctype/doctype.py:1315
msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'"
msgstr "Las opciones de campo de tipo 'Vinculo Dinámico' debe apuntar a otro campo con propiedades 'DocType'"
@@ -22103,7 +22220,7 @@ msgctxt "Custom Field"
msgid "Options Help"
msgstr "Opciones de ayuda"
-#: core/doctype/doctype/doctype.py:1595
+#: core/doctype/doctype/doctype.py:1597
msgid "Options for Rating field can range from 3 to 10"
msgstr ""
@@ -22111,7 +22228,7 @@ msgstr ""
msgid "Options for select. Each option on a new line."
msgstr "Opciones para seleccionar. Cada opción en una nueva línea."
-#: core/doctype/doctype/doctype.py:1330
+#: core/doctype/doctype/doctype.py:1332
msgid "Options for {0} must be set before setting the default value."
msgstr "Las opciones para {0} deben configurarse antes de configurar el valor predeterminado."
@@ -22289,11 +22406,11 @@ msgstr "Configuración de paginas PDF"
msgid "PDF generation failed"
msgstr "La generación de PDF falló"
-#: utils/pdf.py:93
+#: utils/pdf.py:97
msgid "PDF generation failed because of broken image links"
msgstr "Error en la generación del archivo PDF debido a problema con los enlaces de las imágenes"
-#: printing/page/print/print.js:524
+#: printing/page/print/print.js:531
msgid "PDF printing via \"Raw Print\" is not supported."
msgstr ""
@@ -22569,7 +22686,7 @@ msgctxt "Form Tour Step"
msgid "Parent Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:912
+#: core/doctype/doctype/doctype.py:914
msgid "Parent Field (Tree)"
msgstr "Campo principal (árbol)"
@@ -22579,7 +22696,7 @@ msgctxt "DocType"
msgid "Parent Field (Tree)"
msgstr "Campo principal (árbol)"
-#: core/doctype/doctype/doctype.py:918
+#: core/doctype/doctype/doctype.py:920
msgid "Parent Field must be a valid fieldname"
msgstr "El campo principal debe ser un nombre de campo válido"
@@ -22589,7 +22706,7 @@ msgctxt "Top Bar Item"
msgid "Parent Label"
msgstr "Etiqueta Principal"
-#: core/doctype/doctype/doctype.py:1144
+#: core/doctype/doctype/doctype.py:1146
msgid "Parent Missing"
msgstr ""
@@ -22653,8 +22770,8 @@ msgctxt "Contact"
msgid "Passive"
msgstr "Pasivo"
-#: core/doctype/user/user.js:147 core/doctype/user/user.js:194
-#: core/doctype/user/user.js:214 desk/page/setup_wizard/setup_wizard.js:474
+#: core/doctype/user/user.js:148 core/doctype/user/user.js:195
+#: core/doctype/user/user.js:215 desk/page/setup_wizard/setup_wizard.js:474
#: www/login.html:21
msgid "Password"
msgstr "Contraseña"
@@ -22696,11 +22813,11 @@ msgctxt "Web Form Field"
msgid "Password"
msgstr "Contraseña"
-#: core/doctype/user/user.py:1059
+#: core/doctype/user/user.py:1063
msgid "Password Email Sent"
msgstr ""
-#: core/doctype/user/user.py:447
+#: core/doctype/user/user.py:451
msgid "Password Reset"
msgstr "Restablecer contraseña"
@@ -22710,7 +22827,7 @@ msgctxt "System Settings"
msgid "Password Reset Link Generation Limit"
msgstr "Límite de generación de enlaces de restablecimiento de contraseña"
-#: public/js/frappe/form/grid_row.js:810
+#: public/js/frappe/form/grid_row.js:811
msgid "Password cannot be filtered"
msgstr ""
@@ -22732,11 +22849,11 @@ msgstr "Se requiere contraseña o seleccione En espera de la contraseña"
msgid "Password missing in Email Account"
msgstr ""
-#: utils/password.py:42
+#: utils/password.py:41
msgid "Password not found for {0} {1} {2}"
msgstr ""
-#: core/doctype/user/user.py:1058
+#: core/doctype/user/user.py:1062
msgid "Password reset instructions have been sent to your email"
msgstr "Las instrucciones para el restablecimiento de la contraseña han sido enviadas a su correo electrónico"
@@ -22748,7 +22865,7 @@ msgstr ""
msgid "Password size exceeded the maximum allowed size"
msgstr ""
-#: core/doctype/user/user.py:854
+#: core/doctype/user/user.py:858
msgid "Password size exceeded the maximum allowed size."
msgstr ""
@@ -22756,7 +22873,7 @@ msgstr ""
msgid "Passwords do not match"
msgstr ""
-#: core/doctype/user/user.js:180
+#: core/doctype/user/user.js:181
msgid "Passwords do not match!"
msgstr "¡Las contraseñas no coinciden!"
@@ -22960,7 +23077,7 @@ msgstr ""
#. Label of a shortcut in the Users Workspace
#: core/workspace/users/users.json
msgid "Permission Manager"
-msgstr ""
+msgstr "Administrador de Permisos"
#. Option for the 'Script Type' (Select) field in DocType 'Server Script'
#: core/doctype/server_script/server_script.json
@@ -22987,7 +23104,7 @@ msgid "Permission Type"
msgstr ""
#. Label of a Card Break in the Users Workspace
-#: core/doctype/user/user.js:122 core/doctype/user/user.js:131
+#: core/doctype/user/user.js:123 core/doctype/user/user.js:132
#: core/page/permission_manager/permission_manager.js:214
#: core/workspace/users/users.json
msgid "Permissions"
@@ -23029,7 +23146,7 @@ msgctxt "System Settings"
msgid "Permissions"
msgstr "Permisos"
-#: core/doctype/doctype/doctype.py:1769 core/doctype/doctype/doctype.py:1779
+#: core/doctype/doctype/doctype.py:1813 core/doctype/doctype/doctype.py:1823
msgid "Permissions Error"
msgstr ""
@@ -23152,8 +23269,8 @@ msgid "Phone Number {0} set in field {1} is not valid."
msgstr ""
#: public/js/frappe/form/print_utils.js:38
-#: public/js/frappe/views/reports/report_view.js:1504
-#: public/js/frappe/views/reports/report_view.js:1507
+#: public/js/frappe/views/reports/report_view.js:1506
+#: public/js/frappe/views/reports/report_view.js:1509
msgid "Pick Columns"
msgstr "Seleccionar columnas"
@@ -23197,7 +23314,7 @@ msgstr "Planta"
msgid "Please Authorize OAuth for Email Account {}"
msgstr ""
-#: website/doctype/website_theme/website_theme.py:76
+#: website/doctype/website_theme/website_theme.py:77
msgid "Please Duplicate this Website Theme to customize."
msgstr "Por favor, duplicar este tema de la página Web para personalizarlo."
@@ -23221,7 +23338,7 @@ msgstr "Por favor agregue un asunto a su correo electrónico"
msgid "Please add a valid comment."
msgstr "Agregue un comentario válido."
-#: core/doctype/user/user.py:1041
+#: core/doctype/user/user.py:1045
msgid "Please ask your administrator to verify your sign-up"
msgstr "Por favor, consulte a su administrador para verificar su registro"
@@ -23253,7 +23370,7 @@ msgstr "Compruebe los valores de filtro establecidos para el cuadro de mandos: {
msgid "Please check the value of \"Fetch From\" set for field {0}"
msgstr "Por favor, compruebe el valor de \"Obtener desde\" establecido para el campo {0}"
-#: core/doctype/user/user.py:1039
+#: core/doctype/user/user.py:1043
msgid "Please check your email for verification"
msgstr "Por favor, consultar su correo electrónico para la verificación"
@@ -23261,7 +23378,7 @@ msgstr "Por favor, consultar su correo electrónico para la verificación"
msgid "Please check your email login credentials."
msgstr ""
-#: twofactor.py:242
+#: twofactor.py:243
msgid "Please check your registered email address for instructions on how to proceed. Do not close this window as you will have to return to it."
msgstr "Compruebe su dirección de correo electrónico registrada para obtener instrucciones sobre cómo proceder. No cierre esta ventana ya que tendrá que volver a ella."
@@ -23269,7 +23386,7 @@ msgstr "Compruebe su dirección de correo electrónico registrada para obtener i
msgid "Please click on 'Export Errored Rows', fix the errors and import again."
msgstr ""
-#: twofactor.py:285
+#: twofactor.py:286
msgid "Please click on the following link and follow the instructions on the page. {0}"
msgstr ""
@@ -23311,7 +23428,7 @@ msgstr ""
#: desk/doctype/notification_log/notification_log.js:45
#: email/doctype/auto_email_report/auto_email_report.js:17
-#: printing/page/print/print.js:611 printing/page/print/print.js:640
+#: printing/page/print/print.js:618 printing/page/print/print.js:647
#: public/js/frappe/list/bulk_operations.js:117
#: public/js/frappe/utils/utils.js:1417
msgid "Please enable pop-ups"
@@ -23398,11 +23515,11 @@ msgstr ""
msgid "Please make sure the Reference Communication Docs are not circularly linked."
msgstr "Asegúrese de que los documentos de comunicación de referencia no estén vinculados circularmente."
-#: model/document.py:799
+#: model/document.py:815
msgid "Please refresh to get the latest document."
msgstr "Por favor, actualice para obtener el último documento."
-#: printing/page/print/print.js:525
+#: printing/page/print/print.js:532
msgid "Please remove the printer mapping in Printer Settings and try again."
msgstr ""
@@ -23422,7 +23539,7 @@ msgstr "Por favor, guarde el documento antes de la asignación"
msgid "Please save the document before removing assignment"
msgstr "Por favor, guarde el documento antes de remover la asignación"
-#: public/js/frappe/views/reports/report_view.js:1614
+#: public/js/frappe/views/reports/report_view.js:1616
msgid "Please save the report first"
msgstr "Por favor, guarde el informe primero"
@@ -23462,7 +23579,7 @@ msgstr "Por favor, seleccione un archivo o url"
msgid "Please select a valid csv file with data"
msgstr "Por favor, seleccione un archivo csv con datos válidos"
-#: utils/data.py:286
+#: utils/data.py:289
msgid "Please select a valid date filter"
msgstr "Seleccione un filtro de fecha válido"
@@ -23497,11 +23614,11 @@ msgstr "Por favor, seleccione {0}"
msgid "Please set Dropbox access keys in site config or doctype"
msgstr ""
-#: contacts/doctype/contact/contact.py:201
+#: contacts/doctype/contact/contact.py:202
msgid "Please set Email Address"
msgstr "Por favor, establece Dirección de correo electrónico"
-#: printing/page/print/print.js:539
+#: printing/page/print/print.js:546
msgid "Please set a printer mapping for this print format in the Printer Settings"
msgstr "Configure una asignación de impresora para este formato de impresión en la Configuración de la impresora"
@@ -23537,7 +23654,7 @@ msgstr "Configura un mensaje primero"
msgid "Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: core/doctype/user/user.py:398
+#: core/doctype/user/user.py:402
msgid "Please setup default outgoing Email Account from Settings > Email Account"
msgstr ""
@@ -23729,7 +23846,7 @@ msgctxt "Web Form Field"
msgid "Precision"
msgstr "Precisión"
-#: core/doctype/doctype/doctype.py:1347
+#: core/doctype/doctype/doctype.py:1349
msgid "Precision should be between 1 and 6"
msgstr "Precisión debe estar entre 1 y 6"
@@ -23785,7 +23902,7 @@ msgstr ""
msgid "Preparing Report"
msgstr "Preparando Informe"
-#: public/js/frappe/views/communication.js:363
+#: public/js/frappe/views/communication.js:388
msgid "Prepend the template to the email message"
msgstr ""
@@ -23801,7 +23918,7 @@ msgstr "Presione Enter para guardar"
#: email/doctype/newsletter/newsletter.js:42
#: public/js/frappe/form/controls/markdown_editor.js:17
#: public/js/frappe/form/controls/markdown_editor.js:31
-#: public/js/frappe/ui/capture.js:228
+#: public/js/frappe/ui/capture.js:236
msgid "Preview"
msgstr "Vista Previa"
@@ -23937,12 +24054,12 @@ msgstr ""
#: public/js/frappe/form/toolbar.js:321 public/js/frappe/form/toolbar.js:333
#: public/js/frappe/list/bulk_operations.js:79
#: public/js/frappe/views/reports/query_report.js:1626
-#: public/js/frappe/views/reports/report_view.js:1463
+#: public/js/frappe/views/reports/report_view.js:1465
#: public/js/frappe/views/treeview.js:473 www/printview.html:18
msgid "Print"
msgstr "Impresión"
-#: public/js/frappe/list/list_view.js:1873
+#: public/js/frappe/list/list_view.js:1880
msgctxt "Button in list view actions menu"
msgid "Print"
msgstr "Impresión"
@@ -23965,7 +24082,7 @@ msgstr "Imprimir Documentos"
#. Name of a DocType
#: printing/doctype/print_format/print_format.json
-#: printing/page/print/print.js:94 printing/page/print/print.js:794
+#: printing/page/print/print.js:94 printing/page/print/print.js:801
#: public/js/frappe/list/bulk_operations.js:50
msgid "Print Format"
msgstr "Formatos de Impresión"
@@ -24032,7 +24149,7 @@ msgctxt "Print Format"
msgid "Print Format Builder Beta"
msgstr ""
-#: utils/pdf.py:52
+#: utils/pdf.py:56
msgid "Print Format Error"
msgstr ""
@@ -24053,7 +24170,7 @@ msgctxt "Print Format"
msgid "Print Format Type"
msgstr "Tipo de formato de impresión"
-#: www/printview.py:418
+#: www/printview.py:424
msgid "Print Format {0} is disabled"
msgstr "El formato de impresión {0} está deshabilitado"
@@ -24111,6 +24228,10 @@ msgctxt "DocField"
msgid "Print Hide If No Value"
msgstr "Impresión Oculta si no hay Valor"
+#: public/js/frappe/views/communication.js:153
+msgid "Print Language"
+msgstr "Lenguaje de impresión"
+
#: public/js/frappe/form/print_utils.js:195
msgid "Print Sent to the printer!"
msgstr "¡La impresión ha sido enviada a la impresora!"
@@ -24200,11 +24321,11 @@ msgctxt "Print Settings"
msgid "Print with letterhead"
msgstr "Imprimir con membrete"
-#: printing/page/print/print.js:803
+#: printing/page/print/print.js:810
msgid "Printer"
msgstr "Impresora"
-#: printing/page/print/print.js:780
+#: printing/page/print/print.js:787
msgid "Printer Mapping"
msgstr "Mapeo de impresora"
@@ -24214,11 +24335,11 @@ msgctxt "Network Printer Settings"
msgid "Printer Name"
msgstr "Nombre de la Impresora"
-#: printing/page/print/print.js:772
+#: printing/page/print/print.js:779
msgid "Printer Settings"
msgstr "Configuración de la impresora"
-#: printing/page/print/print.js:538
+#: printing/page/print/print.js:545
msgid "Printer mapping not set."
msgstr ""
@@ -24422,7 +24543,7 @@ msgid "Public"
msgstr "Público"
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Publish"
msgstr "Publicar"
@@ -24564,6 +24685,22 @@ msgctxt "Kanban Board Column"
msgid "Purple"
msgstr ""
+#. Name of a DocType
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Push Notification Settings"
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Card Break in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgid "Push Notifications"
+msgstr ""
+
#. Label of a Check field in DocType 'Google Calendar'
#: integrations/doctype/google_calendar/google_calendar.json
msgctxt "Google Calendar"
@@ -24699,7 +24836,7 @@ msgctxt "DocType"
msgid "Queue in Background (BETA)"
msgstr ""
-#: utils/background_jobs.py:428
+#: utils/background_jobs.py:452
msgid "Queue should be one of {0}"
msgstr "Cola debe ser una de {0}"
@@ -24926,7 +25063,7 @@ msgstr ""
#: core/doctype/communication/communication.js:268
#: public/js/frappe/form/footer/form_timeline.js:587
-#: public/js/frappe/views/communication.js:299
+#: public/js/frappe/views/communication.js:324
msgid "Re: {0}"
msgstr ""
@@ -25254,11 +25391,11 @@ msgstr "El servidor de caché Redis no esta funcionando. Por favor, póngase en
#: public/js/frappe/form/toolbar.js:462
msgid "Redo"
-msgstr ""
+msgstr "Rehacer"
#: public/js/frappe/form/form.js:164 public/js/frappe/form/toolbar.js:470
msgid "Redo last action"
-msgstr ""
+msgstr "Rehacer última acción"
#. Label of a Link field in DocType 'Report'
#: core/doctype/report/report.json
@@ -25678,7 +25815,7 @@ msgstr "Referente"
#: public/js/frappe/views/reports/query_report.js:1615
#: public/js/frappe/views/treeview.js:479
#: public/js/frappe/widgets/chart_widget.js:290
-#: public/js/frappe/widgets/number_card_widget.js:307
+#: public/js/frappe/widgets/number_card_widget.js:324
msgid "Refresh"
msgstr "Actualizar"
@@ -25728,11 +25865,11 @@ msgid "Refreshing"
msgstr ""
#: core/doctype/system_settings/system_settings.js:52
-#: core/doctype/user/user.js:339 desk/page/setup_wizard/setup_wizard.js:204
+#: core/doctype/user/user.js:340 desk/page/setup_wizard/setup_wizard.js:204
msgid "Refreshing..."
msgstr "Refrescando..."
-#: core/doctype/user/user.py:1003
+#: core/doctype/user/user.py:1007
msgid "Registered but disabled"
msgstr "Registrado pero discapacitados"
@@ -25748,6 +25885,16 @@ msgctxt "Translation"
msgid "Rejected"
msgstr "Rechazado"
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:30
+msgid "Relay Server URL missing"
+msgstr ""
+
+#. Label of a Section Break field in DocType 'Push Notification Settings'
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgctxt "Push Notification Settings"
+msgid "Relay Settings"
+msgstr ""
+
#. Group in Package's connections
#: core/doctype/package/package.json
msgctxt "Package"
@@ -25824,7 +25971,7 @@ msgstr ""
#: public/js/frappe/form/toolbar.js:436
msgid "Remind Me"
-msgstr ""
+msgstr "Recuérdemelo"
#: public/js/frappe/form/reminders.js:13
msgid "Remind Me In"
@@ -25833,7 +25980,7 @@ msgstr ""
#. Name of a DocType
#: automation/doctype/reminder/reminder.json
msgid "Reminder"
-msgstr ""
+msgstr "Recordatorio"
#: automation/doctype/reminder/reminder.py:39
msgid "Reminder cannot be created in past."
@@ -25869,11 +26016,11 @@ msgstr "¿Remover todas las personalizaciones?"
msgid "Remove column"
msgstr "Eliminar columna"
-#: core/doctype/file/file.py:156
+#: core/doctype/file/file.py:155
msgid "Removed {0}"
msgstr "Eliminado {0}"
-#: custom/doctype/custom_field/custom_field.js:135
+#: custom/doctype/custom_field/custom_field.js:137
#: public/js/frappe/form/toolbar.js:234 public/js/frappe/form/toolbar.js:238
#: public/js/frappe/form/toolbar.js:398 public/js/frappe/model/model.js:742
#: public/js/frappe/views/treeview.js:295
@@ -25881,7 +26028,7 @@ msgid "Rename"
msgstr "Renombrar"
#: custom/doctype/custom_field/custom_field.js:116
-#: custom/doctype/custom_field/custom_field.js:134
+#: custom/doctype/custom_field/custom_field.js:136
msgid "Rename Fieldname"
msgstr ""
@@ -25889,7 +26036,7 @@ msgstr ""
msgid "Rename {0}"
msgstr "Cambiar el nombre {0}"
-#: core/doctype/doctype/doctype.py:687
+#: core/doctype/doctype/doctype.py:689
msgid "Renamed files and replaced code in controllers, please check!"
msgstr "Archivos renombrados y código reemplazado en los controladores, por favor verifique!"
@@ -26196,7 +26343,7 @@ msgctxt "Report"
msgid "Report Type"
msgstr "Tipo de reporte"
-#: core/doctype/doctype/doctype.py:1744
+#: core/doctype/doctype/doctype.py:1788
msgid "Report cannot be set for Single types"
msgstr "El reporte no se puede definir para un solo tipo"
@@ -26226,7 +26373,7 @@ msgstr ""
msgid "Report updated successfully"
msgstr "Informe actualizado con éxito"
-#: public/js/frappe/views/reports/report_view.js:1283
+#: public/js/frappe/views/reports/report_view.js:1285
msgid "Report was not saved (there were errors)"
msgstr "El reporte no se pudo guardar (contiene errores)"
@@ -26409,7 +26556,7 @@ msgstr ""
msgid "Reset Fields"
msgstr "Reestablecer campos"
-#: core/doctype/user/user.js:154 core/doctype/user/user.js:157
+#: core/doctype/user/user.js:155 core/doctype/user/user.js:158
msgid "Reset LDAP Password"
msgstr "Restablecer la contraseña LDAP"
@@ -26417,11 +26564,11 @@ msgstr "Restablecer la contraseña LDAP"
msgid "Reset Layout"
msgstr ""
-#: core/doctype/user/user.js:205
+#: core/doctype/user/user.js:206
msgid "Reset OTP Secret"
msgstr "Restablecer OTP Secret"
-#: core/doctype/user/user.js:138 www/login.html:179 www/me.html:35
+#: core/doctype/user/user.js:139 www/login.html:179 www/me.html:35
#: www/me.html:44 www/update-password.html:3 www/update-password.html:9
msgid "Reset Password"
msgstr "Restablecer contraseña"
@@ -26456,7 +26603,7 @@ msgstr "Restaurar orden"
msgid "Reset the password for your account"
msgstr ""
-#: public/js/frappe/form/grid_row.js:409
+#: public/js/frappe/form/grid_row.js:410
msgid "Reset to default"
msgstr "Restaurar valores"
@@ -26870,7 +27017,7 @@ msgstr "Permisos de Rol"
msgid "Role Permissions Manager"
msgstr "Administrar permisos"
-#: public/js/frappe/list/list_view.js:1650
+#: public/js/frappe/list/list_view.js:1657
msgctxt "Button in list view menu"
msgid "Role Permissions Manager"
msgstr "Administrar permisos"
@@ -26916,57 +27063,57 @@ msgctxt "DocPerm"
msgid "Role and Level"
msgstr "Rol y nivel"
-#: core/doctype/user/user.py:343
+#: core/doctype/user/user.py:347
msgid "Role has been set as per the user type {0}"
msgstr ""
#: core/page/permission_manager/permission_manager.js:59
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Section Break field in DocType 'Custom HTML Block'
#. Label of a Table field in DocType 'Custom HTML Block'
#: desk/doctype/custom_html_block/custom_html_block.json
msgctxt "Custom HTML Block"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Table field in DocType 'Dashboard Chart'
#: desk/doctype/dashboard_chart/dashboard_chart.json
msgctxt "Dashboard Chart"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Table field in DocType 'Page'
#: core/doctype/page/page.json
msgctxt "Page"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Table field in DocType 'Report'
#: core/doctype/report/report.json
msgctxt "Report"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Table field in DocType 'Role Permission for Page and Report'
#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json
msgctxt "Role Permission for Page and Report"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Section Break field in DocType 'User'
#: core/doctype/user/user.json
msgctxt "User"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Table field in DocType 'Workspace'
#. Label of a Tab Break field in DocType 'Workspace'
#: desk/doctype/workspace/workspace.json
msgctxt "Workspace"
msgid "Roles"
-msgstr ""
+msgstr "Roles"
#. Label of a Tab Break field in DocType 'User'
#: core/doctype/user/user.json
@@ -27022,7 +27169,7 @@ msgstr ""
#: core/doctype/system_settings/system_settings.json
msgctxt "System Settings"
msgid "Rounding Method"
-msgstr ""
+msgstr "Método de Redondeo"
#. Label of a Data field in DocType 'Blog Category'
#: website/doctype/blog_category/blog_category.json
@@ -27132,7 +27279,7 @@ msgctxt "Role"
msgid "Route: Example \"/desk\""
msgstr "Ruta: Ejemplo \"/desk\""
-#: model/base_document.py:731 model/base_document.py:772 model/document.py:591
+#: model/base_document.py:731 model/base_document.py:772 model/document.py:607
msgid "Row"
msgstr "Línea"
@@ -27140,7 +27287,7 @@ msgstr "Línea"
msgid "Row #"
msgstr ""
-#: core/doctype/doctype/doctype.py:1766 core/doctype/doctype/doctype.py:1776
+#: core/doctype/doctype/doctype.py:1810 core/doctype/doctype/doctype.py:1820
msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype"
msgstr ""
@@ -27148,7 +27295,7 @@ msgstr ""
msgid "Row #{0}:"
msgstr "Fila #{0}:"
-#: core/doctype/doctype/doctype.py:488
+#: core/doctype/doctype/doctype.py:490
msgid "Row #{}: Fieldname is required"
msgstr ""
@@ -27446,7 +27593,7 @@ msgctxt "Salutation"
msgid "Salutation"
msgstr "Saludo."
-#: integrations/doctype/webhook/webhook.py:110
+#: integrations/doctype/webhook/webhook.py:112
msgid "Same Field is entered more than once"
msgstr "El mismo Campo se ingresa más de una vez"
@@ -27489,7 +27636,7 @@ msgstr "Sábado"
#: core/doctype/data_import/data_import.js:113
#: desk/page/user_profile/user_profile_controller.js:319
-#: printing/page/print/print.js:831
+#: printing/page/print/print.js:838
#: printing/page/print_format_builder/print_format_builder.js:160
#: public/js/frappe/form/footer/form_timeline.js:661
#: public/js/frappe/form/quick_entry.js:156
@@ -27502,7 +27649,7 @@ msgstr "Sábado"
#: public/js/frappe/views/kanban/kanban_settings.js:189
#: public/js/frappe/views/kanban/kanban_view.js:340
#: public/js/frappe/views/reports/query_report.js:1788
-#: public/js/frappe/views/reports/report_view.js:1631
+#: public/js/frappe/views/reports/report_view.js:1633
#: public/js/frappe/views/workspace/workspace.js:493
#: public/js/frappe/widgets/base_widget.js:140
#: public/js/frappe/widgets/quick_list_widget.js:117
@@ -27517,7 +27664,7 @@ msgctxt "Notification"
msgid "Save"
msgstr "Guardar"
-#: core/doctype/user/user.js:310
+#: core/doctype/user/user.js:311
msgid "Save API Secret: {0}"
msgstr ""
@@ -27525,8 +27672,8 @@ msgstr ""
msgid "Save Anyway"
msgstr "Guardar de todos modos"
-#: public/js/frappe/views/reports/report_view.js:1314
-#: public/js/frappe/views/reports/report_view.js:1638
+#: public/js/frappe/views/reports/report_view.js:1316
+#: public/js/frappe/views/reports/report_view.js:1640
msgid "Save As"
msgstr "Guardar como"
@@ -27604,7 +27751,7 @@ msgstr ""
msgid "Schedule Newsletter"
msgstr ""
-#: public/js/frappe/views/communication.js:81
+#: public/js/frappe/views/communication.js:82
msgid "Schedule Send At"
msgstr ""
@@ -27686,7 +27833,7 @@ msgctxt "Newsletter"
msgid "Scheduled To Send"
msgstr "Programado para enviar"
-#: core/doctype/server_script/server_script.py:277
+#: core/doctype/server_script/server_script.py:280
msgid "Scheduled execution for script {0} has updated"
msgstr "Se actualizó la ejecución programada de la secuencia de comandos {0}"
@@ -27880,7 +28027,7 @@ msgstr "Prioridades de búsqueda"
msgid "Search Results for"
msgstr ""
-#: core/doctype/doctype/doctype.py:1414
+#: core/doctype/doctype/doctype.py:1416
msgid "Search field {0} is not valid"
msgstr "campo de búsqueda {0} no es válido"
@@ -27898,7 +28045,7 @@ msgstr ""
msgid "Search in a document type"
msgstr "Buscar en un tipo de documento."
-#: public/js/frappe/ui/toolbar/navbar.html:24
+#: public/js/frappe/ui/toolbar/navbar.html:29
msgid "Search or type a command (Ctrl + G)"
msgstr ""
@@ -28036,7 +28183,7 @@ msgctxt "Note"
msgid "Seen By Table"
msgstr "Visto por la tabla"
-#: printing/page/print/print.js:592
+#: printing/page/print/print.js:599
msgid "Select"
msgstr "Seleccionar"
@@ -28099,8 +28246,8 @@ msgstr "Seleccionar"
msgid "Select All"
msgstr ""
-#: public/js/frappe/views/communication.js:150
-#: public/js/frappe/views/communication.js:529
+#: public/js/frappe/views/communication.js:162
+#: public/js/frappe/views/communication.js:555
#: public/js/frappe/views/interaction.js:93
#: public/js/frappe/views/interaction.js:155
msgid "Select Attachments"
@@ -28188,7 +28335,7 @@ msgstr "Seleccionar campo"
msgid "Select Field..."
msgstr ""
-#: public/js/frappe/form/grid_row.js:459
+#: public/js/frappe/form/grid_row.js:460
#: public/js/frappe/list/list_settings.js:233
#: public/js/frappe/views/kanban/kanban_settings.js:181
msgid "Select Fields"
@@ -28240,7 +28387,7 @@ msgstr "Selección Obligatoria"
msgid "Select Module"
msgstr "Seleccione Módulo"
-#: printing/page/print/print.js:175 printing/page/print/print.js:575
+#: printing/page/print/print.js:175 printing/page/print/print.js:582
msgid "Select Network Printer"
msgstr ""
@@ -28251,7 +28398,7 @@ msgid "Select Page"
msgstr ""
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:68
-#: public/js/frappe/views/communication.js:144
+#: public/js/frappe/views/communication.js:145
msgid "Select Print Format"
msgstr "Seleccionar formato de impresión"
@@ -28297,11 +28444,11 @@ msgstr "Seleccione una imagen de marca en primer lugar."
msgid "Select a DocType to make a new format"
msgstr "Seleccione un 'DocType' para crear un nuevo formato"
-#: integrations/doctype/webhook/webhook.py:131
+#: integrations/doctype/webhook/webhook.py:133
msgid "Select a document to check if it meets conditions."
msgstr ""
-#: integrations/doctype/webhook/webhook.py:143
+#: integrations/doctype/webhook/webhook.py:145
msgid "Select a document to preview request data"
msgstr ""
@@ -28309,11 +28456,11 @@ msgstr ""
msgid "Select a group node first."
msgstr "Seleccione primero un nodo de grupo"
-#: core/doctype/doctype/doctype.py:1877
+#: core/doctype/doctype/doctype.py:1921
msgid "Select a valid Sender Field for creating documents from Email"
msgstr "Seleccione un campo de remitente válido para crear documentos desde el correo electrónico"
-#: core/doctype/doctype/doctype.py:1861
+#: core/doctype/doctype/doctype.py:1905
msgid "Select a valid Subject field for creating documents from Email"
msgstr "Seleccione un campo de asunto válido para crear documentos desde el correo electrónico"
@@ -28340,18 +28487,18 @@ msgstr "Seleccionar al menos 1 registro para la impresión"
msgid "Select atleast 2 actions"
msgstr "Seleccione al menos 2 acciones"
-#: public/js/frappe/list/list_view.js:1201
+#: public/js/frappe/list/list_view.js:1199
msgctxt "Description of a list view shortcut"
msgid "Select list item"
msgstr "Seleccionar elemento de la lista"
-#: public/js/frappe/list/list_view.js:1153
-#: public/js/frappe/list/list_view.js:1169
+#: public/js/frappe/list/list_view.js:1151
+#: public/js/frappe/list/list_view.js:1167
msgctxt "Description of a list view shortcut"
msgid "Select multiple list items"
msgstr "Seleccionar múltiples elementos de la lista"
-#: public/js/frappe/views/calendar/calendar.js:174
+#: public/js/frappe/views/calendar/calendar.js:175
msgid "Select or drag across time slots to create a new event."
msgstr "Seleccione o arrastre a través de los intervalos de tiempo para crear un nuevo evento."
@@ -28498,7 +28645,7 @@ msgctxt "Print Settings"
msgid "Send Print as PDF"
msgstr "Enviar Impresión como 'PDF'"
-#: public/js/frappe/views/communication.js:134
+#: public/js/frappe/views/communication.js:135
msgid "Send Read Receipt"
msgstr "Enviar confirmación de lectura"
@@ -28584,7 +28731,7 @@ msgstr "Enviar solicitudes a esta dirección de correo electrónico"
msgid "Send login link"
msgstr ""
-#: public/js/frappe/views/communication.js:128
+#: public/js/frappe/views/communication.js:129
msgid "Send me a copy"
msgstr "Enviarme una copia"
@@ -28664,7 +28811,7 @@ msgctxt "DocType"
msgid "Sender Email Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1880
+#: core/doctype/doctype/doctype.py:1924
msgid "Sender Field should have Email in options"
msgstr "El campo del remitente debe tener opciones de correo electrónico"
@@ -28802,7 +28949,7 @@ msgstr ""
msgid "Series counter for {} updated to {} successfully"
msgstr ""
-#: core/doctype/doctype/doctype.py:1070
+#: core/doctype/doctype/doctype.py:1072
#: core/doctype/document_naming_settings/document_naming_settings.py:170
msgid "Series {0} already used in {1}"
msgstr "Secuencia {0} ya utilizada en {1}"
@@ -28903,7 +29050,7 @@ msgstr "Valores predeterminados de sesión"
msgid "Session Defaults Saved"
msgstr "Valores predeterminados de sesión guardados"
-#: app.py:343
+#: app.py:344
msgid "Session Expired"
msgstr "Sesión expirada"
@@ -28945,7 +29092,7 @@ msgstr "Establecer filtros dinámicos"
#: desk/doctype/dashboard_chart/dashboard_chart.js:381
#: desk/doctype/number_card/number_card.js:277
-#: website/doctype/web_form/web_form.js:260
+#: website/doctype/web_form/web_form.js:259
msgid "Set Filters"
msgstr "Establecer filtros"
@@ -29005,7 +29152,7 @@ msgctxt "Role Permission for Page and Report"
msgid "Set Role For"
msgstr "Establecer Rol Para"
-#: core/doctype/user/user.js:115
+#: core/doctype/user/user.js:116
#: core/page/permission_manager/permission_manager.js:65
msgid "Set User Permissions"
msgstr "Establecer permisos de usuario"
@@ -29194,7 +29341,7 @@ msgid "Setup Approval Workflows"
msgstr ""
#: public/js/frappe/views/reports/query_report.js:1661
-#: public/js/frappe/views/reports/report_view.js:1609
+#: public/js/frappe/views/reports/report_view.js:1611
msgid "Setup Auto Email"
msgstr "Configuración automática de correo electrónico"
@@ -29359,6 +29506,12 @@ msgstr ""
msgid "Show Dashboard"
msgstr "Mostrar panel de control"
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Show Dashboard"
+msgstr "Mostrar panel de control"
+
#. Label of a Check field in DocType 'Customize Form Field'
#: custom/doctype/customize_form_field/customize_form_field.json
msgctxt "Customize Form Field"
@@ -29526,7 +29679,7 @@ msgid "Show Sidebar"
msgstr "Mostrar barra lateral"
#: public/js/frappe/list/list_sidebar.html:66
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Show Tags"
msgstr "Mostrar etiquetas"
@@ -29548,7 +29701,7 @@ msgctxt "DocType"
msgid "Show Title in Link Fields"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1453
+#: public/js/frappe/views/reports/report_view.js:1455
msgid "Show Totals"
msgstr "Mostrar totales"
@@ -29564,7 +29717,7 @@ msgstr ""
msgid "Show Warnings"
msgstr "Mostrar advertencias"
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Show Weekends"
msgstr "Mostrar Fines de Semana"
@@ -29682,7 +29835,7 @@ msgctxt "Email Group"
msgid "Sign Up and Confirmation"
msgstr ""
-#: core/doctype/user/user.py:996
+#: core/doctype/user/user.py:1000
msgid "Sign Up is disabled"
msgstr "El registro está desactivado"
@@ -29991,11 +30144,11 @@ msgstr "Algo salió mal durante la generación de tokens. Haga clic en {0} para
msgid "Something went wrong."
msgstr ""
-#: public/js/frappe/views/pageview.js:110
+#: public/js/frappe/views/pageview.js:114
msgid "Sorry! I could not find what you were looking for."
msgstr "Lamentablemente, no se puede encontrar lo que estaba buscando."
-#: public/js/frappe/views/pageview.js:118
+#: public/js/frappe/views/pageview.js:122
msgid "Sorry! You are not permitted to view this page."
msgstr "Lamentablemente, usted no está autorizado para ver esta página."
@@ -30037,7 +30190,7 @@ msgctxt "Customize Form"
msgid "Sort Order"
msgstr "Ordenar por"
-#: core/doctype/doctype/doctype.py:1497
+#: core/doctype/doctype/doctype.py:1499
msgid "Sort field {0} must be a valid fieldname"
msgstr "Campo de orden {0} debe ser un nombre de campo válido"
@@ -30193,6 +30346,10 @@ msgctxt "Portal Settings"
msgid "Standard Sidebar Menu"
msgstr "Menú Lateral Estándar"
+#: website/doctype/web_form/web_form.js:30
+msgid "Standard Web Forms can not be modified, duplicate the Web Form instead."
+msgstr ""
+
#: website/doctype/web_page/web_page.js:92
msgid "Standard rich text editor with controls"
msgstr ""
@@ -30213,8 +30370,8 @@ msgstr ""
msgid "Standings"
msgstr "Posiciones"
-#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:289
-#: printing/page/print/print.js:336
+#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:296
+#: printing/page/print/print.js:343
msgid "Start"
msgstr "Iniciar"
@@ -30396,7 +30553,7 @@ msgid "Stats based on last week's performance (from {0} to {1})"
msgstr "Estadísticas basadas en el rendimiento de la semana pasada (de {0} a {1})"
#: core/doctype/data_import/data_import.js:489
-#: public/js/frappe/views/reports/report_view.js:911
+#: public/js/frappe/views/reports/report_view.js:913
msgid "Status"
msgstr "Estado"
@@ -30649,7 +30806,7 @@ msgctxt "Website Settings"
msgid "Subdomain"
msgstr "Sub-dominio"
-#: public/js/frappe/views/communication.js:103
+#: public/js/frappe/views/communication.js:104
#: public/js/frappe/views/inbox/inbox_view.js:63
msgid "Subject"
msgstr "Asunto"
@@ -30727,7 +30884,7 @@ msgctxt "DocType"
msgid "Subject Field"
msgstr "Campo de Asunto"
-#: core/doctype/doctype/doctype.py:1870
+#: core/doctype/doctype/doctype.py:1914
msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor"
msgstr "El tipo de campo de asunto debe ser Datos, Texto, Texto largo, Texto pequeño, Editor de texto"
@@ -30739,13 +30896,13 @@ msgstr ""
#: core/doctype/user_permission/user_permission_list.js:138
#: public/js/frappe/form/quick_entry.js:193
#: public/js/frappe/form/sidebar/review.js:116
-#: public/js/frappe/ui/capture.js:299
+#: public/js/frappe/ui/capture.js:307
#: social/doctype/energy_point_log/energy_point_log.js:39
#: social/doctype/energy_point_settings/energy_point_settings.js:47
msgid "Submit"
msgstr "Validar"
-#: public/js/frappe/list/list_view.js:1940
+#: public/js/frappe/list/list_view.js:1947
msgctxt "Button in list view actions menu"
msgid "Submit"
msgstr "Validar"
@@ -30842,7 +30999,7 @@ msgstr "Envíe este documento para completar este paso."
msgid "Submit this document to confirm"
msgstr "Presentar este documento para confirmar"
-#: public/js/frappe/list/list_view.js:1945
+#: public/js/frappe/list/list_view.js:1952
msgctxt "Title of confirmation dialog"
msgid "Submit {0} documents?"
msgstr "¿Presentar {0} documentos?"
@@ -31022,7 +31179,7 @@ msgstr "Actualizado exitosamente {0}"
msgid "Successfully updated {0} out of {1} records."
msgstr ""
-#: core/doctype/user/user.py:711
+#: core/doctype/user/user.py:715
msgid "Suggested Username: {0}"
msgstr "Nombre de usuario sugerido: {0}"
@@ -31086,7 +31243,7 @@ msgstr "Domingo"
msgid "Suspend Sending"
msgstr "Suspender Envío"
-#: public/js/frappe/ui/capture.js:268
+#: public/js/frappe/ui/capture.js:276
msgid "Switch Camera"
msgstr ""
@@ -31098,7 +31255,7 @@ msgstr "Cambiar Tema"
msgid "Switch To Desk"
msgstr "Pasar a Escritorio"
-#: public/js/frappe/ui/capture.js:273
+#: public/js/frappe/ui/capture.js:281
msgid "Switching Camera"
msgstr ""
@@ -31165,7 +31322,7 @@ msgstr "Sincronización"
msgid "Syncing {0} of {1}"
msgstr "Sincronizando {0} de {1}"
-#: utils/data.py:2403
+#: utils/data.py:2407
msgid "Syntax Error"
msgstr "Error de sintaxis"
@@ -31180,7 +31337,7 @@ msgstr "Sistema"
msgid "System Console"
msgstr "Consola del sistema"
-#: custom/doctype/custom_field/custom_field.py:357
+#: custom/doctype/custom_field/custom_field.py:358
msgid "System Generated Fields can not be renamed"
msgstr ""
@@ -31290,6 +31447,7 @@ msgstr ""
#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
#: integrations/doctype/oauth_client/oauth_client.json
#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
#: integrations/doctype/social_login_key/social_login_key.json
@@ -31334,7 +31492,7 @@ msgstr "Notificación del sistema"
#: desk/doctype/notification_settings/notification_settings.json
msgctxt "Notification Settings"
msgid "System Notifications"
-msgstr ""
+msgstr "Notificaciones del Sistema"
#. Label of a Check field in DocType 'Page'
#: core/doctype/page/page.json
@@ -31428,7 +31586,7 @@ msgctxt "DocType Link"
msgid "Table Fieldname"
msgstr ""
-#: core/doctype/doctype/doctype.py:1150
+#: core/doctype/doctype/doctype.py:1152
msgid "Table Fieldname Missing"
msgstr ""
@@ -31460,7 +31618,7 @@ msgstr "Tabla Multi-selección"
msgid "Table updated"
msgstr "Tabla actualiza"
-#: model/document.py:1349
+#: model/document.py:1365
msgid "Table {0} cannot be empty"
msgstr "La tabla {0} no puede estar vacía"
@@ -31498,7 +31656,7 @@ msgstr "Tomar copia de seguridad"
msgid "Take Backup Now"
msgstr "Tome copia de seguridad ahora"
-#: public/js/frappe/ui/capture.js:212
+#: public/js/frappe/ui/capture.js:220
msgid "Take Photo"
msgstr "Tomar Foto"
@@ -31598,7 +31756,7 @@ msgstr "Advertencias de plantilla"
msgid "Templates"
msgstr ""
-#: core/doctype/user/user.py:1007
+#: core/doctype/user/user.py:1011
msgid "Temporarily Disabled"
msgstr "Desactivado temporalmente"
@@ -31606,7 +31764,7 @@ msgstr "Desactivado temporalmente"
msgid "Test email sent to {0}"
msgstr "Correo electrónico de prueba enviado a {0}"
-#: core/doctype/file/test_file.py:355
+#: core/doctype/file/test_file.py:360
msgid "Test_Folder"
msgstr ""
@@ -31726,10 +31884,14 @@ msgstr ""
msgid "The Condition '{0}' is invalid"
msgstr "La Condición '{0}' no es válida"
-#: core/doctype/file/file.py:206
+#: core/doctype/file/file.py:205
msgid "The File URL you've entered is incorrect"
msgstr ""
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:29
+msgid "The Push Relay Server URL key (`push_relay_server_url`) is missing in your site config"
+msgstr ""
+
#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:363
msgid "The User record for this request has been auto-deleted due to inactivity by system admins."
msgstr ""
@@ -31795,7 +31957,7 @@ msgstr ""
msgid "The field {0} is mandatory"
msgstr ""
-#: core/doctype/file/file.py:144
+#: core/doctype/file/file.py:143
msgid "The fieldname you've specified in Attached To Field is invalid"
msgstr ""
@@ -31873,15 +32035,15 @@ msgid "The project number obtained from Google Cloud Console under "
msgstr ""
-#: core/doctype/user/user.py:967
+#: core/doctype/user/user.py:971
msgid "The reset password link has been expired"
msgstr ""
-#: core/doctype/user/user.py:969
+#: core/doctype/user/user.py:973
msgid "The reset password link has either been used before or is invalid"
msgstr ""
-#: app.py:362 public/js/frappe/request.js:147
+#: app.py:363 public/js/frappe/request.js:147
msgid "The resource you are looking for is not available"
msgstr "El recurso que está buscando no está disponible"
@@ -31893,7 +32055,7 @@ msgstr ""
msgid "The selected document {0} is not a {1}."
msgstr ""
-#: utils/response.py:325
+#: utils/response.py:313
msgid "The system is being updated. Please refresh again after a few moments."
msgstr ""
@@ -31901,7 +32063,7 @@ msgstr ""
msgid "The system provides many pre-defined roles. You can add new roles to set finer permissions."
msgstr ""
-#: public/js/frappe/form/grid_row.js:635
+#: public/js/frappe/form/grid_row.js:636
msgid "The total column width cannot be more than 10."
msgstr ""
@@ -31975,12 +32137,12 @@ msgstr ""
msgid "There are {0} with the same filters already in the queue:"
msgstr ""
-#: website/doctype/web_form/web_form.js:72
-#: website/doctype/web_form/web_form.js:308
+#: website/doctype/web_form/web_form.js:71
+#: website/doctype/web_form/web_form.js:307
msgid "There can be only 9 Page Break fields in a Web Form"
msgstr ""
-#: core/doctype/doctype/doctype.py:1390
+#: core/doctype/doctype/doctype.py:1392
msgid "There can be only one Fold in a form"
msgstr "Sólo puede haber un plegado en un formulario"
@@ -31992,7 +32154,7 @@ msgstr "Hay un error en su plantilla de dirección {0}"
msgid "There is no data to be exported"
msgstr "No hay datos para exportar"
-#: core/doctype/file/file.py:570 utils/file_manager.py:372
+#: core/doctype/file/file.py:571 utils/file_manager.py:372
msgid "There is some problem with the file url: {0}"
msgstr "Hay un poco de problema con la url del archivo: {0}"
@@ -32004,7 +32166,7 @@ msgstr ""
msgid "There must be atleast one permission rule."
msgstr "Debe haber al menos una regla de permiso."
-#: core/doctype/user/user.py:528
+#: core/doctype/user/user.py:532
msgid "There should remain at least one System Manager"
msgstr "Debe haber al menos un administrador del sistema"
@@ -32024,7 +32186,7 @@ msgstr "Hubo errores"
msgid "There were errors while creating the document. Please try again."
msgstr "Hubo errores al crear el documento. Inténtalo de nuevo."
-#: public/js/frappe/views/communication.js:770
+#: public/js/frappe/views/communication.js:797
msgid "There were errors while sending email. Please try again."
msgstr "Ha ocurrido un error al enviar el correo electrónico. Por favor, inténtelo de nuevo."
@@ -32075,7 +32237,7 @@ msgstr ""
msgid "This Kanban Board will be private"
msgstr "Este tablero Kanban será privado"
-#: __init__.py:1007
+#: __init__.py:1011
msgid "This action is only allowed for {}"
msgstr "Esta acción solo está permitida para {}"
@@ -32115,7 +32277,7 @@ msgstr "Este documento ha sido revertido"
msgid "This document is already amended, you cannot ammend it again"
msgstr "Este documento ya está enmendado, no puede enmendarlo nuevamente"
-#: model/document.py:1516
+#: model/document.py:1532
msgid "This document is currently locked and queued for execution. Please try again after some time."
msgstr ""
@@ -32217,7 +32379,7 @@ msgstr "Este enlace ya se ha activado para la verificación."
msgid "This link is invalid or expired. Please make sure you have pasted correctly."
msgstr "Este enlace no es válido o ha expirado. Por favor, asegúrate de que lo has pegado correctamente."
-#: printing/page/print/print.js:403
+#: printing/page/print/print.js:410
msgid "This may get printed on multiple pages"
msgstr "Esto puede imprimirse en varias páginas."
@@ -32295,7 +32457,7 @@ msgstr ""
msgid "This will terminate the job immediately and might be dangerous, are you sure? "
msgstr ""
-#: core/doctype/user/user.py:1227
+#: core/doctype/user/user.py:1231
msgid "Throttled"
msgstr ""
@@ -32469,7 +32631,7 @@ msgstr "Tiempo en segundos para retener la imagen del código QR en el servidor.
msgid "Time series based on is required to create a dashboard chart"
msgstr "Se requiere una serie temporal basada en para crear un cuadro de mandos"
-#: public/js/frappe/form/controls/time.js:104
+#: public/js/frappe/form/controls/time.js:107
msgid "Time {0} must be in format: {1}"
msgstr "El tiempo {0} debe estar en formato: {1}"
@@ -32514,11 +32676,11 @@ msgctxt "Activity Log"
msgid "Timeline Name"
msgstr "Nombre de la línea de tiempo"
-#: core/doctype/doctype/doctype.py:1485
+#: core/doctype/doctype/doctype.py:1487
msgid "Timeline field must be a Link or Dynamic Link"
msgstr "El campo de línea de tiempo debe ser un vínculo o enlace dinámico"
-#: core/doctype/doctype/doctype.py:1481
+#: core/doctype/doctype/doctype.py:1483
msgid "Timeline field must be a valid fieldname"
msgstr "El campo de línea de tiempo debe ser un nombre de campo válido"
@@ -32707,7 +32869,7 @@ msgctxt "Website Settings"
msgid "Title Prefix"
msgstr "Prefijo de título"
-#: core/doctype/doctype/doctype.py:1422
+#: core/doctype/doctype/doctype.py:1424
msgid "Title field must be a valid fieldname"
msgstr "El campo del título debe ser un nombre válido"
@@ -32715,7 +32877,7 @@ msgstr "El campo del título debe ser un nombre válido"
msgid "Title of the page"
msgstr "Título de la página"
-#: public/js/frappe/views/communication.js:52
+#: public/js/frappe/views/communication.js:53
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "To"
msgstr "A"
@@ -32885,7 +33047,7 @@ msgid "ToDo"
msgstr "Tareas"
#: public/js/frappe/form/controls/date.js:58
-#: public/js/frappe/views/calendar/calendar.js:267
+#: public/js/frappe/views/calendar/calendar.js:268
msgid "Today"
msgstr "Hoy"
@@ -32893,7 +33055,7 @@ msgstr "Hoy"
msgid "Today's Events"
msgstr "Eventos de hoy"
-#: public/js/frappe/views/reports/report_view.js:1495
+#: public/js/frappe/views/reports/report_view.js:1497
msgid "Toggle Chart"
msgstr "Alternar Gráfico"
@@ -32908,11 +33070,11 @@ msgid "Toggle Grid View"
msgstr "Alternar Vista de Cuadrícula"
#: public/js/frappe/ui/page.js:193 public/js/frappe/ui/page.js:195
-#: public/js/frappe/views/reports/report_view.js:1499
+#: public/js/frappe/views/reports/report_view.js:1501
msgid "Toggle Sidebar"
msgstr "Alternar Barra Lateral"
-#: public/js/frappe/list/list_view.js:1681
+#: public/js/frappe/list/list_view.js:1688
msgctxt "Button in list view menu"
msgid "Toggle Sidebar"
msgstr "Alternar Barra Lateral"
@@ -32974,7 +33136,7 @@ msgstr "Demasiadas solicitudes"
msgid "Too many changes to database in single action."
msgstr ""
-#: core/doctype/user/user.py:1008
+#: core/doctype/user/user.py:1012
msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
msgstr "Hay demasiados usuarios se inscribieron recientemente, por lo que el registro está desactivado. Por favor, intente volver en una hora"
@@ -33053,7 +33215,7 @@ msgstr "Tema"
msgid "Total"
msgstr ""
-#: public/js/frappe/ui/capture.js:251
+#: public/js/frappe/ui/capture.js:259
msgid "Total Images"
msgstr ""
@@ -33094,12 +33256,12 @@ msgctxt "Email Account"
msgid "Total number of emails to sync in initial sync process "
msgstr "Número total de mensajes de correo electrónico para sincronizar en el proceso de sincronización inicial "
-#: public/js/frappe/views/reports/report_view.js:1181
-#: public/js/frappe/views/reports/report_view.js:1477
+#: public/js/frappe/views/reports/report_view.js:1183
+#: public/js/frappe/views/reports/report_view.js:1479
msgid "Totals"
msgstr "Totales"
-#: public/js/frappe/views/reports/report_view.js:1156
+#: public/js/frappe/views/reports/report_view.js:1158
msgid "Totals Row"
msgstr "Fila de Totales"
@@ -33291,7 +33453,7 @@ msgstr "Método de Disparador"
msgid "Trigger Primary Action"
msgstr "Activa la acción primaria"
-#: tests/test_translate.py:55
+#: tests/test_translate.py:54
msgid "Trigger caching"
msgstr ""
@@ -33311,8 +33473,8 @@ msgctxt "Document Naming Settings"
msgid "Try a Naming Series"
msgstr ""
-#: printing/page/print/print.js:188
-msgid "Try the new Print Format Builder"
+#: printing/page/print/print.js:189 printing/page/print/print.js:195
+msgid "Try the new Print Designer"
msgstr ""
#: utils/password_strength.py:106
@@ -33584,7 +33746,7 @@ msgctxt "DocType"
msgid "URL for documentation or help"
msgstr "URL para documentación o ayuda"
-#: core/doctype/file/file.py:217
+#: core/doctype/file/file.py:216
msgid "URL must start with http:// or https://"
msgstr ""
@@ -33602,7 +33764,7 @@ msgstr "URL para ir al hacer clic en la imagen de la presentación de diapositiv
msgid "Unable to find DocType {0}"
msgstr "No se puede encontrar DocType {0}"
-#: public/js/frappe/ui/capture.js:330
+#: public/js/frappe/ui/capture.js:338
msgid "Unable to load camera."
msgstr "No se puede cargar la cámara."
@@ -33614,19 +33776,19 @@ msgstr "No se puede cargar: {0}"
msgid "Unable to open attached file. Did you export it as CSV?"
msgstr "No se puede abrir el archivo adjunto. ¿Lo ha exportado como CSV?"
-#: core/doctype/file/utils.py:99 core/doctype/file/utils.py:128
+#: core/doctype/file/utils.py:98 core/doctype/file/utils.py:130
msgid "Unable to read file format for {0}"
msgstr "Incapaz de leer el formato de archivo para {0}"
-#: core/doctype/communication/email.py:173
+#: core/doctype/communication/email.py:176
msgid "Unable to send mail because of a missing email account. Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:439
+#: public/js/frappe/views/calendar/calendar.js:440
msgid "Unable to update event"
msgstr "No se puede actualizar evento"
-#: core/doctype/file/file.py:457
+#: core/doctype/file/file.py:458
msgid "Unable to write file format for {0}"
msgstr "Incapaz de escribir el formato de archivo para {0}"
@@ -33692,9 +33854,9 @@ msgstr "Desconocido"
msgid "Unknown Column: {0}"
msgstr "Columna desconocida: {0}"
-#: utils/data.py:1190
+#: utils/data.py:1193
msgid "Unknown Rounding Method: {}"
-msgstr ""
+msgstr "Método de Redondeo desconocido: {}"
#: auth.py:293
msgid "Unknown User"
@@ -33709,7 +33871,7 @@ msgid "Unlock Reference Document"
msgstr ""
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Unpublish"
msgstr ""
@@ -33812,7 +33974,7 @@ msgstr "Eventos para hoy"
#: printing/page/print_format_builder/print_format_builder.js:501
#: printing/page/print_format_builder/print_format_builder.js:670
#: printing/page/print_format_builder/print_format_builder.js:757
-#: public/js/frappe/form/grid_row.js:402
+#: public/js/frappe/form/grid_row.js:403
#: public/js/frappe/views/workspace/workspace.js:653
msgid "Update"
msgstr "Actualizar"
@@ -33925,9 +34087,9 @@ msgstr "Actualizado exitosamente"
#: core/doctype/system_settings/system_settings.json
msgctxt "System Settings"
msgid "Updates"
-msgstr ""
+msgstr "Actualizaciones"
-#: utils/response.py:324
+#: utils/response.py:312
msgid "Updating"
msgstr "Actualización"
@@ -34099,7 +34261,7 @@ msgstr ""
msgid "Use of sub-query or function is restricted"
msgstr "El uso de la sub-query o función está restringido"
-#: printing/page/print/print.js:272
+#: printing/page/print/print.js:279
msgid "Use the new Print Format Builder"
msgstr ""
@@ -34413,7 +34575,7 @@ msgctxt "User"
msgid "User Image"
msgstr "Imagen de Usuario"
-#: public/js/frappe/ui/toolbar/navbar.html:109
+#: public/js/frappe/ui/toolbar/navbar.html:114
msgid "User Menu"
msgstr ""
@@ -34436,11 +34598,11 @@ msgstr "Permiso de Usuario"
#: core/page/permission_manager/permission_manager_help.html:30
#: public/js/frappe/views/reports/query_report.js:1775
-#: public/js/frappe/views/reports/report_view.js:1657
+#: public/js/frappe/views/reports/report_view.js:1659
msgid "User Permissions"
msgstr "Permisos de Usuario"
-#: public/js/frappe/list/list_view.js:1639
+#: public/js/frappe/list/list_view.js:1646
msgctxt "Button in list view menu"
msgid "User Permissions"
msgstr "Permisos de Usuario"
@@ -34575,15 +34737,15 @@ msgstr ""
msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you."
msgstr ""
-#: core/doctype/user/user.py:533
+#: core/doctype/user/user.py:537
msgid "User {0} cannot be deleted"
msgstr "El usuario {0} no se puede eliminar"
-#: core/doctype/user/user.py:272
+#: core/doctype/user/user.py:276
msgid "User {0} cannot be disabled"
msgstr "El usuario {0} no se puede deshabilitar"
-#: core/doctype/user/user.py:593
+#: core/doctype/user/user.py:597
msgid "User {0} cannot be renamed"
msgstr "El usuario {0} no puede ser renombrado"
@@ -34600,6 +34762,10 @@ msgstr "El usuario {0} no tiene acceso a doctype a través del permiso de rol pa
msgid "User {0} has requested for data deletion"
msgstr "El usuario {0} ha solicitado la eliminación de datos"
+#: core/doctype/user/user.py:1360
+msgid "User {0} impersonated as {1}"
+msgstr ""
+
#: utils/oauth.py:265
msgid "User {0} is disabled"
msgstr "El usuario {0} está deshabilitado"
@@ -34630,7 +34796,7 @@ msgctxt "User Social Login"
msgid "Username"
msgstr "Nombre de usuario"
-#: core/doctype/user/user.py:678
+#: core/doctype/user/user.py:682
msgid "Username {0} already exists"
msgstr "Nombre de usuario {0} ya existe"
@@ -34711,7 +34877,7 @@ msgstr "Validez"
#: public/js/frappe/list/bulk_operations.js:292
#: public/js/frappe/list/bulk_operations.js:354
#: public/js/frappe/list/list_view_permission_restrictions.html:4
-#: website/doctype/web_form/web_form.js:188
+#: website/doctype/web_form/web_form.js:187
msgid "Value"
msgstr "Valor"
@@ -34788,15 +34954,15 @@ msgctxt "Notification"
msgid "Value To Be Set"
msgstr "Valor a Establecer"
-#: model/base_document.py:955 model/document.py:647
+#: model/base_document.py:955 model/document.py:663
msgid "Value cannot be changed for {0}"
msgstr "El valor no puede ser cambiado para {0}"
-#: model/document.py:593
+#: model/document.py:609
msgid "Value cannot be negative for"
msgstr "El valor no puede ser negativo para"
-#: model/document.py:597
+#: model/document.py:613
msgid "Value cannot be negative for {0}: {1}"
msgstr "El valor no puede ser negativo para {0}: {1}"
@@ -34841,7 +35007,7 @@ msgstr "Valor demasiado grande"
msgid "Value {0} missing for {1}"
msgstr "Falta el valor {0} para {1}"
-#: core/doctype/data_import/importer.py:739 utils/data.py:858
+#: core/doctype/data_import/importer.py:739 utils/data.py:861
msgid "Value {0} must be in the valid duration format: d h m s"
msgstr "El valor {0} debe tener un formato de duración válido: dhms"
@@ -34859,7 +35025,7 @@ msgctxt "Print Settings"
msgid "Verdana"
msgstr ""
-#: twofactor.py:356
+#: twofactor.py:357
msgid "Verfication Code"
msgstr "Código de Verificación"
@@ -34871,7 +35037,7 @@ msgstr "Link de verificacion"
msgid "Verification code email not sent. Please contact Administrator."
msgstr ""
-#: twofactor.py:247
+#: twofactor.py:248
msgid "Verification code has been sent to your registered email address."
msgstr "El código de verificación se ha enviado a su dirección de correo electrónico registrada."
@@ -34945,7 +35111,7 @@ msgstr "Ver Lista"
msgid "View Log"
msgstr "Ver registro"
-#: core/doctype/user/user.js:126
+#: core/doctype/user/user.js:127
#: core/doctype/user_permission/user_permission.js:24
msgid "View Permitted Documents"
msgstr "Ver Documentos Permitidos"
@@ -35403,7 +35569,7 @@ msgctxt "DocType"
msgid "Website Search Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1469
+#: core/doctype/doctype/doctype.py:1471
msgid "Website Search Field must be a valid fieldname"
msgstr ""
@@ -35534,7 +35700,7 @@ msgctxt "System Settings"
msgid "Wednesday"
msgstr "Miércoles"
-#: public/js/frappe/views/calendar/calendar.js:269
+#: public/js/frappe/views/calendar/calendar.js:270
msgid "Week"
msgstr "Semana"
@@ -35664,11 +35830,11 @@ msgstr ""
msgid "Welcome Workspace"
msgstr ""
-#: core/doctype/user/user.py:390
+#: core/doctype/user/user.py:394
msgid "Welcome email sent"
msgstr "Correo electrónico de bienvenida enviado"
-#: core/doctype/user/user.py:465
+#: core/doctype/user/user.py:469
msgid "Welcome to {0}"
msgstr "Bienvenido a {0}"
@@ -35684,7 +35850,7 @@ msgstr "Cuando está habilitado, esto permitirá a los invitados cargar archivos
#: core/doctype/system_settings/system_settings.json
msgctxt "System Settings"
msgid "When uploading files, force the use of the web-based image capture. If this is unchecked, the default behavior is to use the mobile native camera when use from a mobile is detected."
-msgstr ""
+msgstr "Al cargar archivos, fuerce el uso de la captura de imágenes basada en web. Si no está marcada, el comportamiento por defecto es utilizar la cámara nativa del móvil cuando se detecta el uso desde un móvil."
#: core/page/permission_manager/permission_manager_help.html:18
msgid "When you Amend a document after Cancel and save it, it will get a new number that is a version of the old number."
@@ -35826,7 +35992,7 @@ msgstr "Flujos de Trabajo"
#. Name of a DocType
#: workflow/doctype/workflow_action/workflow_action.json
-#: workflow/doctype/workflow_action/workflow_action.py:476
+#: workflow/doctype/workflow_action/workflow_action.py:438
msgid "Workflow Action"
msgstr "Acciones de flujos de trabajo"
@@ -36158,8 +36324,8 @@ msgctxt "Kanban Board Column"
msgid "Yellow"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:128
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:130
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:336
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -36216,6 +36382,10 @@ msgstr ""
msgid "You are connected to internet."
msgstr "Estás conectado a internet."
+#: public/js/frappe/ui/toolbar/navbar.html:20
+msgid "You are impersonating as another user."
+msgstr ""
+
#: permissions.py:413
msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in field {3}"
msgstr "No tiene permiso para acceder a este registro {0} porque está vinculado a {1} '{2}' en el campo {3}"
@@ -36232,7 +36402,7 @@ msgstr "No se le permite crear columnas"
msgid "You are not allowed to delete Standard Report"
msgstr "No puede eliminar el informe estándar"
-#: website/doctype/website_theme/website_theme.py:72
+#: website/doctype/website_theme/website_theme.py:73
msgid "You are not allowed to delete a standard Website Theme"
msgstr "No se le permite eliminar un tema de sitio web estándar"
@@ -36248,7 +36418,7 @@ msgstr "No está permitido exportar {} doctype"
msgid "You are not allowed to print this report"
msgstr "Usted no está autorizado a imprimir este informe"
-#: public/js/frappe/views/communication.js:715
+#: public/js/frappe/views/communication.js:741
msgid "You are not allowed to send emails related to this document"
msgstr "No tiene permisos para enviar correos electrónicos relacionados con este documento"
@@ -36268,7 +36438,7 @@ msgstr ""
msgid "You are not permitted to access this page."
msgstr "Usted no está autorizado a acceder a esta página."
-#: __init__.py:927
+#: __init__.py:930
msgid "You are not permitted to access this resource."
msgstr ""
@@ -36321,7 +36491,7 @@ msgstr ""
msgid "You can continue with the onboarding after exploring this page"
msgstr ""
-#: core/doctype/file/file.py:683
+#: core/doctype/file/file.py:684
msgid "You can increase the limit from System Settings."
msgstr ""
@@ -36337,7 +36507,7 @@ msgstr ""
msgid "You can only set the 3 custom doctypes in the Document Types table."
msgstr ""
-#: handler.py:224
+#: handler.py:225
msgid "You can only upload JPG, PNG, PDF, TXT or Microsoft documents."
msgstr ""
@@ -36393,29 +36563,29 @@ msgstr "No se puede desmarcar 'solo lectura' para el campo {0}"
#: public/js/frappe/form/footer/version_timeline_content_builder.js:121
msgid "You changed the value of {0}"
-msgstr ""
+msgstr "Usted ha cambiado el valor de {0}"
#: public/js/frappe/form/footer/version_timeline_content_builder.js:110
msgid "You changed the value of {0} {1}"
-msgstr ""
+msgstr "Usted ha cambiado el valor de {0} {1}"
#: public/js/frappe/form/footer/version_timeline_content_builder.js:183
msgid "You changed the values for {0}"
-msgstr ""
+msgstr "Usted ha cambiado los valores de {0}"
#: public/js/frappe/form/footer/version_timeline_content_builder.js:172
msgid "You changed the values for {0} {1}"
-msgstr ""
+msgstr "Usted ha cambiado los valores de {0} {1}"
#: public/js/frappe/form/footer/form_timeline.js:442
msgctxt "Form timeline"
msgid "You changed {0} to {1}"
-msgstr ""
+msgstr "Usted ha cambiado {0} a {1}"
#: public/js/frappe/form/footer/form_timeline.js:138
#: public/js/frappe/form/sidebar/form_sidebar.js:106
msgid "You created this"
-msgstr ""
+msgstr "Usted creó este"
#: client.py:430
msgid "You do not have Read or Select Permissions for {}"
@@ -36425,7 +36595,7 @@ msgstr ""
msgid "You do not have enough permissions to access this resource. Please contact your manager to get access."
msgstr "Usted no tiene permisos suficientes para acceder a este apartado. Por favor, póngase en contacto con su administrador para obtener acceso."
-#: app.py:353
+#: app.py:354
msgid "You do not have enough permissions to complete the action"
msgstr "Usted no tiene suficientes permisos para completar la acción"
@@ -36438,7 +36608,7 @@ msgstr "No tienes suficientes puntos"
msgid "You do not have enough review points"
msgstr "No tienes suficientes puntos de revisión"
-#: www/printview.py:370
+#: www/printview.py:376
msgid "You do not have permission to view this document"
msgstr ""
@@ -36454,7 +36624,7 @@ msgstr "Usted no tiene acceso al Reporte: {0}"
msgid "You don't have permission to access the {0} DocType."
msgstr ""
-#: utils/response.py:265 utils/response.py:282
+#: utils/response.py:266 utils/response.py:270
msgid "You don't have permission to access this file"
msgstr "Usted no tiene permiso para acceder a este archivo"
@@ -36494,7 +36664,7 @@ msgstr ""
msgid "You have received a ❤️ like on your blog post"
msgstr ""
-#: twofactor.py:447
+#: twofactor.py:448
msgid "You have to enable Two Factor Auth from System Settings."
msgstr ""
@@ -36502,7 +36672,7 @@ msgstr ""
msgid "You have unsaved changes in this form. Please save before you continue."
msgstr "Usted tiene cambios sin guardar en este formulario. Por favor guardar antes de continuar."
-#: public/js/frappe/ui/toolbar/navbar.html:45
+#: public/js/frappe/ui/toolbar/navbar.html:50
msgid "You have unseen notifications"
msgstr ""
@@ -36525,7 +36695,7 @@ msgstr ""
#: public/js/frappe/form/footer/form_timeline.js:149
#: public/js/frappe/form/sidebar/form_sidebar.js:95
msgid "You last edited this"
-msgstr ""
+msgstr "Usted editó esto por última vez"
#: public/js/frappe/widgets/widget_dialog.js:347
msgid "You must add atleast one link."
@@ -36639,7 +36809,7 @@ msgstr "Tus atajos"
msgid "Your account has been deleted"
msgstr ""
-#: auth.py:466
+#: auth.py:472
msgid "Your account has been locked and will resume after {0} seconds"
msgstr "Su cuenta ha sido bloqueada y se reanudará después de {0} segundos"
@@ -36690,7 +36860,7 @@ msgstr "El nombre de la organización y dirección para el pie de página del co
msgid "Your query has been received. We will reply back shortly. If you have any additional information, please reply to this mail."
msgstr "Su consulta ha sido recibida. Responderemos a la mayor brevedad posible. Si usted tiene alguna información adicional, puede responder a este correo."
-#: app.py:344
+#: app.py:345
msgid "Your session has expired, please login again to continue."
msgstr "Tu sesión ha caducado, vuelve a iniciar sesión para continuar."
@@ -36707,7 +36877,7 @@ msgstr ""
msgid "Your website is all set up!"
msgstr ""
-#: utils/data.py:1493
+#: utils/data.py:1496
msgid "Zero"
msgstr "Cero"
@@ -36734,7 +36904,7 @@ msgstr "_informe"
msgid "`as_iterator` only works with `as_list=True` or `as_dict=True`"
msgstr ""
-#: utils/background_jobs.py:93
+#: utils/background_jobs.py:104
msgid "`job_id` paramater is required for deduplication."
msgstr ""
@@ -36785,7 +36955,7 @@ msgctxt "Permission Inspector"
msgid "amend"
msgstr ""
-#: public/js/frappe/utils/utils.js:396 utils/data.py:1501
+#: public/js/frappe/utils/utils.js:396 utils/data.py:1504
msgid "and"
msgstr "y"
@@ -36842,7 +37012,7 @@ msgctxt "Workflow State"
msgid "barcode"
msgstr "código de barras"
-#: model/document.py:1320
+#: model/document.py:1336
msgid "beginning with"
msgstr "A partir de"
@@ -37530,7 +37700,7 @@ msgstr "bloquear"
msgid "logged in"
msgstr "conectado"
-#: website/doctype/web_form/web_form.js:353
+#: website/doctype/web_form/web_form.js:352
msgid "login_required"
msgstr ""
@@ -37549,7 +37719,7 @@ msgstr ""
#: public/js/frappe/utils/utils.js:1122
msgctxt "Minutes (Field: Duration)"
msgid "m"
-msgstr "metro"
+msgstr "m"
#. Option for the 'Icon' (Select) field in DocType 'Workflow State'
#: workflow/doctype/workflow_state/workflow_state.json
@@ -37638,7 +37808,7 @@ msgctxt "OAuth Authorization Code"
msgid "nonce"
msgstr ""
-#: model/document.py:1319
+#: model/document.py:1335
msgid "none of"
msgstr "ninguno de"
@@ -37722,11 +37892,11 @@ msgctxt "Webhook"
msgid "on_update_after_submit"
msgstr ""
-#: model/document.py:1318
+#: model/document.py:1334
msgid "one of"
msgstr "uno de"
-#: public/js/frappe/utils/utils.js:393 www/login.html:87
+#: public/js/frappe/utils/utils.js:393 www/login.html:87 www/login.py:101
msgid "or"
msgstr "o"
@@ -38042,19 +38212,19 @@ msgctxt "Workflow State"
msgid "signal"
msgstr "señal"
-#: public/js/frappe/widgets/number_card_widget.js:265
+#: public/js/frappe/widgets/number_card_widget.js:282
msgid "since last month"
msgstr "desde el mes pasado"
-#: public/js/frappe/widgets/number_card_widget.js:264
+#: public/js/frappe/widgets/number_card_widget.js:281
msgid "since last week"
msgstr "desde la semana pasada"
-#: public/js/frappe/widgets/number_card_widget.js:266
+#: public/js/frappe/widgets/number_card_widget.js:283
msgid "since last year"
msgstr "desde el año pasado"
-#: public/js/frappe/widgets/number_card_widget.js:263
+#: public/js/frappe/widgets/number_card_widget.js:280
msgid "since yesterday"
msgstr "desde ayer"
@@ -38186,7 +38356,7 @@ msgstr ""
msgid "this form"
msgstr ""
-#: tests/test_translate.py:158
+#: tests/test_translate.py:157
msgid "this shouldn't break"
msgstr ""
@@ -38390,7 +38560,7 @@ msgstr ""
msgid "{0} = {1}"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:29
+#: public/js/frappe/views/calendar/calendar.js:30
msgid "{0} Calendar"
msgstr "{0} Calendario"
@@ -38406,7 +38576,7 @@ msgstr "{0} Gráfico"
msgid "{0} Dashboard"
msgstr "{0} Panel de control"
-#: public/js/frappe/form/grid_row.js:456
+#: public/js/frappe/form/grid_row.js:457
#: public/js/frappe/list/list_settings.js:224
#: public/js/frappe/views/kanban/kanban_settings.js:178
msgid "{0} Fields"
@@ -38503,7 +38673,7 @@ msgstr "{0} ya ha sido dado de baja"
msgid "{0} already unsubscribed for {1} {2}"
msgstr "{0} ya ha sido dado de baja para {1} {2}"
-#: utils/data.py:1684
+#: utils/data.py:1687
msgid "{0} and {1}"
msgstr "{0} y {1}"
@@ -38692,7 +38862,7 @@ msgstr "{0} ha sido añadido al grupo de correo electrónico."
msgid "{0} has left the conversation in {1} {2}"
msgstr "{0} ha dejado la conversación en {1} {2}"
-#: __init__.py:2458
+#: __init__.py:2481
msgid "{0} has no versions tracked."
msgstr "{0} no tiene versiones rastreadas."
@@ -38709,15 +38879,15 @@ msgstr "{0} si no es redirigido en {1} segundos"
msgid "{0} in row {1} cannot have both URL and child items"
msgstr "{0} en la fila {1} no puede tener tanto URL como elementos hijos"
-#: core/doctype/doctype/doctype.py:913
+#: core/doctype/doctype/doctype.py:915
msgid "{0} is a mandatory field"
msgstr "{0} es un campo obligatorio"
-#: core/doctype/file/file.py:502
+#: core/doctype/file/file.py:503
msgid "{0} is a not a valid zip file"
msgstr ""
-#: core/doctype/doctype/doctype.py:1553
+#: core/doctype/doctype/doctype.py:1555
msgid "{0} is an invalid Data field."
msgstr "{0} es un campo de datos no válido."
@@ -38725,7 +38895,7 @@ msgstr "{0} es un campo de datos no válido."
msgid "{0} is an invalid email address in 'Recipients'"
msgstr "{0} es una dirección de correo electrónico no válida en "Destinatarios""
-#: public/js/frappe/views/reports/report_view.js:1394
+#: public/js/frappe/views/reports/report_view.js:1396
msgid "{0} is between {1} and {2}"
msgstr ""
@@ -38734,27 +38904,27 @@ msgstr ""
msgid "{0} is currently {1}"
msgstr "{0} es actualmente {1}"
-#: public/js/frappe/views/reports/report_view.js:1363
+#: public/js/frappe/views/reports/report_view.js:1365
msgid "{0} is equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1383
+#: public/js/frappe/views/reports/report_view.js:1385
msgid "{0} is greater than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1373
+#: public/js/frappe/views/reports/report_view.js:1375
msgid "{0} is greater than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1388
+#: public/js/frappe/views/reports/report_view.js:1390
msgid "{0} is less than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1378
+#: public/js/frappe/views/reports/report_view.js:1380
msgid "{0} is less than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1413
+#: public/js/frappe/views/reports/report_view.js:1415
msgid "{0} is like {1}"
msgstr ""
@@ -38766,14 +38936,18 @@ msgstr "{0} es obligatorio"
msgid "{0} is not a field of doctype {1}"
msgstr ""
-#: www/printview.py:353
+#: www/printview.py:359
msgid "{0} is not a raw printing format."
msgstr "{0} no es un formato de impresión sin formato."
-#: public/js/frappe/views/calendar/calendar.js:81
+#: public/js/frappe/views/calendar/calendar.js:82
msgid "{0} is not a valid Calendar. Redirecting to default Calendar."
msgstr ""
+#: core/doctype/scheduled_job_type/scheduled_job_type.py:62
+msgid "{0} is not a valid Cron expression."
+msgstr ""
+
#: public/js/frappe/form/controls/dynamic_link.js:27
msgid "{0} is not a valid DocType for Dynamic Link"
msgstr "{0} no es un DocType válido para Dynamic Link"
@@ -38806,23 +38980,23 @@ msgstr ""
msgid "{0} is not a valid report format. Report format should one of the following {1}"
msgstr "{0} no es un formato de informe válido. El formato del informe debe ser uno de los siguientes {1}"
-#: core/doctype/file/file.py:482
+#: core/doctype/file/file.py:483
msgid "{0} is not a zip file"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1368
+#: public/js/frappe/views/reports/report_view.js:1370
msgid "{0} is not equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1415
+#: public/js/frappe/views/reports/report_view.js:1417
msgid "{0} is not like {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1409
+#: public/js/frappe/views/reports/report_view.js:1411
msgid "{0} is not one of {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1419
+#: public/js/frappe/views/reports/report_view.js:1421
msgid "{0} is not set"
msgstr ""
@@ -38830,7 +39004,7 @@ msgstr ""
msgid "{0} is now default print format for {1} doctype"
msgstr "{0} ahora es el formato de impresión predeterminado para el doctype {1}"
-#: public/js/frappe/views/reports/report_view.js:1402
+#: public/js/frappe/views/reports/report_view.js:1404
msgid "{0} is one of {1}"
msgstr ""
@@ -38839,18 +39013,22 @@ msgstr ""
msgid "{0} is required"
msgstr "{0} es requerido"
-#: public/js/frappe/views/reports/report_view.js:1418
+#: public/js/frappe/views/reports/report_view.js:1420
msgid "{0} is set"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1397
+#: public/js/frappe/views/reports/report_view.js:1399
msgid "{0} is within {1}"
msgstr ""
-#: public/js/frappe/list/list_view.js:1556
+#: public/js/frappe/list/list_view.js:1563
msgid "{0} items selected"
msgstr "{0} elementos seleccionados"
+#: core/doctype/user/user.py:1369
+msgid "{0} just impersonated as you. They gave this reason: {1}"
+msgstr ""
+
#: public/js/frappe/form/footer/form_timeline.js:150
#: public/js/frappe/form/sidebar/form_sidebar.js:96
msgid "{0} last edited this"
@@ -38868,7 +39046,7 @@ msgstr "{0} desconectado: {1}"
msgid "{0} m"
msgstr ""
-#: desk/notifications.py:375
+#: desk/notifications.py:374
msgid "{0} mentioned you in a comment in {1} {2}"
msgstr "{0} te mencionó en un comentario en {1} {2}"
@@ -38880,7 +39058,7 @@ msgstr "Hace {0} minutos"
msgid "{0} months ago"
msgstr "Hace {0} meses"
-#: model/document.py:1568
+#: model/document.py:1584
msgid "{0} must be after {1}"
msgstr "{0} debe ser después de {1}"
@@ -38913,11 +39091,11 @@ msgstr "{0} no se permite renombrar"
msgid "{0} not found"
msgstr "{0} no encontrado"
-#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:956
+#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:954
msgid "{0} of {1}"
msgstr "{0} de {1}"
-#: public/js/frappe/list/list_view.js:958
+#: public/js/frappe/list/list_view.js:956
msgid "{0} of {1} ({2} rows with children)"
msgstr "{0} de {1} ({2} filas con hijos)"
@@ -38925,12 +39103,12 @@ msgstr "{0} de {1} ({2} filas con hijos)"
msgid "{0} of {1} sent"
msgstr ""
-#: utils/data.py:1504
+#: utils/data.py:1507
msgctxt "Money in words"
msgid "{0} only."
msgstr ""
-#: utils/data.py:1674
+#: utils/data.py:1677
msgid "{0} or {1}"
msgstr "{0} o {1}"
@@ -39110,31 +39288,31 @@ msgstr "{0}, Fila {1}"
msgid "{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}"
msgstr "{0}: '{1}' ({3}) se truncará, ya que el máximo de caracteres permitidos es {2}"
-#: core/doctype/doctype/doctype.py:1735
+#: core/doctype/doctype/doctype.py:1779
msgid "{0}: Cannot set Amend without Cancel"
msgstr "{0}: no se puede establecer \"corregir\" sin cancelar"
-#: core/doctype/doctype/doctype.py:1753
+#: core/doctype/doctype/doctype.py:1797
msgid "{0}: Cannot set Assign Amend if not Submittable"
msgstr "{0}: no se puede establecer \"asignar corrección\" si no es enviable"
-#: core/doctype/doctype/doctype.py:1751
+#: core/doctype/doctype/doctype.py:1795
msgid "{0}: Cannot set Assign Submit if not Submittable"
msgstr "{0}: no se puede establecer \"asignar envío\" si no es enviable"
-#: core/doctype/doctype/doctype.py:1730
+#: core/doctype/doctype/doctype.py:1774
msgid "{0}: Cannot set Cancel without Submit"
msgstr "{0}: no se puede establecer \"cancelar\" sin enviar"
-#: core/doctype/doctype/doctype.py:1737
+#: core/doctype/doctype/doctype.py:1781
msgid "{0}: Cannot set Import without Create"
msgstr "{0}: no se puede establecer \"importar\" sin crear primero"
-#: core/doctype/doctype/doctype.py:1733
+#: core/doctype/doctype/doctype.py:1777
msgid "{0}: Cannot set Submit, Cancel, Amend without Write"
msgstr "{0}: no se puede establecer \"enviar\", \"cancelar\" o \"corregir\" sin escribir primero"
-#: core/doctype/doctype/doctype.py:1757
+#: core/doctype/doctype/doctype.py:1801
msgid "{0}: Cannot set import as {1} is not importable"
msgstr "{0}: no se puede establecer \"importar\" puesto que {1} no es importable"
@@ -39142,43 +39320,43 @@ msgstr "{0}: no se puede establecer \"importar\" puesto que {1} no es importable
msgid "{0}: Failed to attach new recurring document. To enable attaching document in the auto repeat notification email, enable {1} in Print Settings"
msgstr "{0}: no se pudo adjuntar un nuevo documento recurrente. Para habilitar el documento adjunto en el correo electrónico de notificación de repetición automática, habilite {1} en Configuración de impresión"
-#: core/doctype/doctype/doctype.py:1373
+#: core/doctype/doctype/doctype.py:1375
msgid "{0}: Field '{1}' cannot be set as Unique as it has non-unique values"
msgstr "{0}: el campo '{1}' no se puede establecer como único porque tiene valores no únicos"
-#: core/doctype/doctype/doctype.py:1281
+#: core/doctype/doctype/doctype.py:1283
msgid "{0}: Field {1} in row {2} cannot be hidden and mandatory without default"
msgstr "{0}: el campo {1} en la fila {2} no puede ocultarse y ser obligatorio sin el valor predeterminado"
-#: core/doctype/doctype/doctype.py:1240
+#: core/doctype/doctype/doctype.py:1242
msgid "{0}: Field {1} of type {2} cannot be mandatory"
msgstr "{0}: el campo {1} de tipo {2} no puede ser obligatorio"
-#: core/doctype/doctype/doctype.py:1228
+#: core/doctype/doctype/doctype.py:1230
msgid "{0}: Fieldname {1} appears multiple times in rows {2}"
msgstr "{0}: el nombre de campo {1} aparece varias veces en las filas {2}"
-#: core/doctype/doctype/doctype.py:1360
+#: core/doctype/doctype/doctype.py:1362
msgid "{0}: Fieldtype {1} for {2} cannot be unique"
msgstr "{0}: El tipo de campo {1} para {2} no puede ser único"
-#: core/doctype/doctype/doctype.py:1690
+#: core/doctype/doctype/doctype.py:1734
msgid "{0}: No basic permissions set"
msgstr "{0}: no se ha definido ningún conjunto de permisos básicos"
-#: core/doctype/doctype/doctype.py:1704
+#: core/doctype/doctype/doctype.py:1748
msgid "{0}: Only one rule allowed with the same Role, Level and {1}"
msgstr "{0}: sólo se permite una regla con el mismo rol, nivel y {1}"
-#: core/doctype/doctype/doctype.py:1262
+#: core/doctype/doctype/doctype.py:1264
msgid "{0}: Options must be a valid DocType for field {1} in row {2}"
msgstr "{0}: las opciones deben ser un DocType válido para el campo {1} en la fila {2}"
-#: core/doctype/doctype/doctype.py:1251
+#: core/doctype/doctype/doctype.py:1253
msgid "{0}: Options required for Link or Table type field {1} in row {2}"
msgstr "{0}: Opciones requeridas para el campo de tipo Enlace o Tabla {1} en la fila {2}"
-#: core/doctype/doctype/doctype.py:1269
+#: core/doctype/doctype/doctype.py:1271
msgid "{0}: Options {1} must be the same as doctype name {2} for the field {3}"
msgstr "{0}: Las opciones {1} deben ser las mismas que el nombre del doctype {2} para el campo {3}"
@@ -39186,7 +39364,7 @@ msgstr "{0}: Las opciones {1} deben ser las mismas que el nombre del doctype {2}
msgid "{0}: Other permission rules may also apply"
msgstr ""
-#: core/doctype/doctype/doctype.py:1719
+#: core/doctype/doctype/doctype.py:1763
msgid "{0}: Permission at level 0 must be set before higher levels are set"
msgstr "{0}: el Permiso en el nivel 0 debe ser establecido antes de establecer niveles superiores"
@@ -39194,12 +39372,12 @@ msgstr "{0}: el Permiso en el nivel 0 debe ser establecido antes de establecer n
msgid "{0}: You can increase the limit for the field if required via {1}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1215
+#: core/doctype/doctype/doctype.py:1217
msgid "{0}: fieldname cannot be set to reserved keyword {1}"
msgstr ""
#: contacts/doctype/address/address.js:35
-#: contacts/doctype/contact/contact.js:78
+#: contacts/doctype/contact/contact.js:83
#: public/js/frappe/views/workspace/workspace.js:169
msgid "{0}: {1}"
msgstr ""
@@ -39212,7 +39390,7 @@ msgstr "{0}: {1} está configurado para indicar {2}"
msgid "{0}: {1} vs {2}"
msgstr "{0}: {1} vs {2}"
-#: core/doctype/doctype/doctype.py:1381
+#: core/doctype/doctype/doctype.py:1383
msgid "{0}:Fieldtype {1} for {2} cannot be indexed"
msgstr "{0}: El tipo de campo {1} para {2} no se puede indexar"
@@ -39232,7 +39410,7 @@ msgstr ""
msgid "{count} rows selected"
msgstr ""
-#: core/doctype/doctype/doctype.py:1435
+#: core/doctype/doctype/doctype.py:1437
msgid "{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}."
msgstr "{{{0}}} no es un formato válido de nombre de campo. Debe ser {{field_name}}."
@@ -39240,11 +39418,11 @@ msgstr "{{{0}}} no es un formato válido de nombre de campo. Debe ser {{field_na
msgid "{} Complete"
msgstr "{} Completo"
-#: utils/data.py:2397
+#: utils/data.py:2401
msgid "{} Invalid python code on line {}"
msgstr "{} Código python inválido en la línea {}"
-#: utils/data.py:2406
+#: utils/data.py:2410
msgid "{} Possibly invalid python code. .YYYY. - Year in 4 digits.YY. - Year in 2 digits.MM. - Month.DD. - Day of month.WW. - Week of the year.FY. - Fiscal Year.{fieldname}. - fieldname on the document e.g.\n"
+" branch\n"
+" Notes:
\n\n" +"data-fieldtype and data-fieldnamevaluesection-breakcolumn-break1. Left align integers
\n\n" +"[data-fieldtype=\"Int\"] .value { text-align: left; }\n\n"
+"1. Add border to sections except the last section
\n\n" +".section-break { padding: 30px 0px; border-bottom: 1px solid #eee; }\n"
+".section-break:last-child { padding-bottom: 0px; border-bottom: 0px; }\n"
+msgstr ""
+
+#. Content of the 'Print Format Help' (HTML) field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+#, python-format
+msgctxt "Print Format"
+msgid "Print Formats are rendered on the server side using the Jinja Templating Language. All forms have access to the doc object which contains information about the document that is being formatted. You can also access common utilities via the frappe module.
For styling, the Boostrap CSS framework is provided and you can enjoy the full range of classes.
\n" +"<h3>{{ doc.select_print_heading or \"Invoice\" }}</h3>\n"
+"<div class=\"row\">\n"
+"\t<div class=\"col-md-3 text-right\">Customer Name</div>\n"
+"\t<div class=\"col-md-9\">{{ doc.customer_name }}</div>\n"
+"</div>\n"
+"<div class=\"row\">\n"
+"\t<div class=\"col-md-3 text-right\">Date</div>\n"
+"\t<div class=\"col-md-9\">{{ doc.get_formatted(\"invoice_date\") }}</div>\n"
+"</div>\n"
+"<table class=\"table table-bordered\">\n"
+"\t<tbody>\n"
+"\t\t<tr>\n"
+"\t\t\t<th>Sr</th>\n"
+"\t\t\t<th>Item Name</th>\n"
+"\t\t\t<th>Description</th>\n"
+"\t\t\t<th class=\"text-right\">Qty</th>\n"
+"\t\t\t<th class=\"text-right\">Rate</th>\n"
+"\t\t\t<th class=\"text-right\">Amount</th>\n"
+"\t\t</tr>\n"
+"\t\t{%- for row in doc.items -%}\n"
+"\t\t<tr>\n"
+"\t\t\t<td style=\"width: 3%;\">{{ row.idx }}</td>\n"
+"\t\t\t<td style=\"width: 20%;\">\n"
+"\t\t\t\t{{ row.item_name }}\n"
+"\t\t\t\t{% if row.item_code != row.item_name -%}\n"
+"\t\t\t\t<br>Item Code: {{ row.item_code}}\n"
+"\t\t\t\t{%- endif %}\n"
+"\t\t\t</td>\n"
+"\t\t\t<td style=\"width: 37%;\">\n"
+"\t\t\t\t<div style=\"border: 0px;\">{{ row.description }}</div></td>\n"
+"\t\t\t<td style=\"width: 10%; text-align: right;\">{{ row.qty }} {{ row.uom or row.stock_uom }}</td>\n"
+"\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n"
+"\t\t\t\trow.get_formatted(\"rate\", doc) }}</td>\n"
+"\t\t\t<td style=\"width: 15%; text-align: right;\">{{\n"
+"\t\t\t\trow.get_formatted(\"amount\", doc) }}</td>\n"
+"\t\t</tr>\n"
+"\t\t{%- endfor -%}\n"
+"\t</tbody>\n"
+"</table>\n"
+"doc.get_formatted(\"[fieldname]\", [parent_doc]) | \n"
+"\t\t\tGet document value formatted as Date, Currency, etc. Pass parent doc for currency type fields. | \n"
+"\t\t
frappe.db.get_value(\"[doctype]\", \"[name]\", \"fieldname\") | \n"
+"\t\t\tGet value from another document. | \n" +"\t\t
Uses Jinja Templating and all the fields of Address (including Custom Fields if any) will be available
\n" +"{{ address_line1 }}<br>\n"
+"{% if address_line2 %}{{ address_line2 }}<br>{% endif -%}\n"
+"{{ city }}<br>\n"
+"{% if state %}{{ state }}<br>{% endif -%}\n"
+"{% if pincode %} PIN: {{ pincode }}<br>{% endif -%}\n"
+"{{ country }}<br>\n"
+"{% if phone %}Phone: {{ phone }}<br>{% endif -%}\n"
+"{% if fax %}Fax: {{ fax }}<br>{% endif -%}\n"
+"{% if email_id %}Email: {{ email_id }}<br>{% endif -%}\n"
+""
+msgstr ""
+
+#. Content of the 'Email Reply Help' (HTML) field in DocType 'Email Template'
+#: email/doctype/email_template/email_template.json
+msgctxt "Email Template"
+msgid "Order Overdue\n\n"
+"Transaction {{ name }} has exceeded Due Date. Please take necessary action.\n\n"
+"Details\n\n"
+"- Customer: {{ customer }}\n"
+"- Amount: {{ grand_total }}\n"
+"\n\n"
+"The fieldnames you can use in your email template are the fields in the document from which you are sending the email. You can find out the fields of any documents via Setup > Customize Form View and selecting the document type (e.g. Sales Invoice)
\n\n" +"Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.
\n" +msgstr "" + +#. Content of the 'html_5' (HTML) field in DocType 'Data Import' +#: core/doctype/data_import/data_import.json +msgctxt "Data Import" +msgid "<h3>Order Overdue</h3>\n\n"
+"<p>Transaction {{ doc.name }} has exceeded Due Date. Please take necessary action.</p>\n\n"
+"<!-- show last comment -->\n"
+"{% if comments %}\n"
+"Last comment: {{ comments[-1].comment }} by {{ comments[-1].by }}\n"
+"{% endif %}\n\n"
+"<h4>Details</h4>\n\n"
+"<ul>\n"
+"<li>Customer: {{ doc.customer }}\n"
+"<li>Amount: {{ doc.grand_total }}\n"
+"</ul>\n"
+""
+msgstr ""
+
+#. Content of the 'html_condition' (HTML) field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "Condition Examples:
\n" +"doc.status==\"Open\"" +msgstr "" + +#. Content of the 'html_7' (HTML) field in DocType 'Notification' +#: email/doctype/notification/notification.json +msgctxt "Notification" +msgid "
doc.due_date==nowdate()
doc.total > 40000\n" +"
Condition Examples:
\n" +"doc.status==\"Open\"\n" +msgstr "" + +#. Content of the 'Condition Description' (HTML) field in DocType 'Web Form' +#: website/doctype/web_form/web_form.json +msgctxt "Web Form" +msgid "
doc.due_date==nowdate()
doc.total > 40000\n" +"
Multiple webforms can be created for a single doctype. Add filters specific to this webform to display correct record after submission.
For Example:
\n" +"If you create a separate webform every year to capture feedback from employees add a \n" +" field named year in doctype and add a filter year = 2023
\n" +msgstr "" + +#. Description of the 'Context Script' (Code) field in DocType 'Web Page' +#: website/doctype/web_page/web_page.json +msgctxt "Web Page" +msgid "Set context before rendering a template. Example:
\n" +"
\n"
+"context.project = frappe.get_doc(\"Project\", frappe.form_dict.name)\n"
+"To interact with above HTML you will have to use `root_element` as a parent selector.
For example:
// here root_element is provided by default\n"
+"let some_class_element = root_element.querySelector('.some-class');\n"
+"some_class_element.textContent = \"New content\";\n"
+""
+msgstr ""
+
+#: twofactor.py:462
+msgid "Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" +msgstr "OTP secret شما در {0} بازنشانی شده است. اگر این بازنشانی را انجام ندادید و آن را درخواست نکردید، لطفاً فوراً با سرپرست سیستم خود تماس بگیرید.
" + +#. Description of the 'Cron Format' (Data) field in DocType 'Scheduled Job +#. Type' +#: core/doctype/scheduled_job_type/scheduled_job_type.json +msgctxt "Scheduled Job Type" +msgid "* * * * *\n" +"┬ ┬ ┬ ┬ ┬\n" +"│ │ │ │ │\n" +"│ │ │ │ └ day of week (0 - 6) (0 is Sunday)\n" +"│ │ │ └───── month (1 - 12)\n" +"│ │ └────────── day of month (1 - 31)\n" +"│ └─────────────── hour (0 - 23)\n" +"└──────────────────── minute (0 - 59)\n\n" +"---\n\n" +"* - Any value\n" +"/ - Step values\n" +"\n" +msgstr "" + +#. Description of the 'Cron Format' (Data) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "
* * * * *\n" +"┬ ┬ ┬ ┬ ┬\n" +"│ │ │ │ │\n" +"│ │ │ │ └ day of week (0 - 6) (0 is Sunday)\n" +"│ │ │ └───── month (1 - 12)\n" +"│ │ └────────── day of month (1 - 31)\n" +"│ └─────────────── hour (0 - 23)\n" +"└──────────────────── minute (0 - 59)\n\n" +"---\n\n" +"* - Any value\n" +"/ - Step values\n" +"\n" +msgstr "" + +#. Content of the 'Example' (HTML) field in DocType 'Workflow Transition' +#: workflow/doctype/workflow_transition/workflow_transition.json +msgctxt "Workflow Transition" +msgid "
doc.grand_total > 0\n\n"
+"Conditions should be written in simple Python. Please use properties available in the form only.
\n" +"Allowed functions:\n" +"
Example:
doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True) "
+msgstr ""
+
+#: custom/doctype/custom_field/custom_field.js:39
+msgid "Warning: This field is system generated and may be overwritten by a future update. Modify it using {0} instead."
+msgstr "هشدار: این فیلد سیستمی ایجاد شده است و ممکن است توسط یک بهروزرسانی آینده بازنویسی شود. در عوض با استفاده از {0} آن را تغییر دهید."
+
+#. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule
+#. Condition'
+#: core/doctype/document_naming_rule_condition/document_naming_rule_condition.json
+msgctxt "Document Naming Rule Condition"
+msgid "="
+msgstr "="
+
+#. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule
+#. Condition'
+#: core/doctype/document_naming_rule_condition/document_naming_rule_condition.json
+msgctxt "Document Naming Rule Condition"
+msgid ">"
+msgstr ">"
+
+#. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule
+#. Condition'
+#: core/doctype/document_naming_rule_condition/document_naming_rule_condition.json
+msgctxt "Document Naming Rule Condition"
+msgid ">="
+msgstr ">="
+
+#. Description of the Onboarding Step 'Custom Document Types'
+#: custom/onboarding_step/custom_doctype/custom_doctype.json
+msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs."
+msgstr "یک DocType (نوع سند) برای درج فرم ها در ERPNext استفاده می شود. فرم هایی مانند مشتری، سفارشات و فاکتورها در باطن Doctypes هستند. همچنین میتوانید DocTypeهای جدیدی برای ایجاد فرمهای جدید در ERPNext بر اساس نیازهای کسبوکار خود ایجاد کنید."
+
+#: core/doctype/doctype/doctype.py:1015
+msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens"
+msgstr "نام DocType باید با یک حرف شروع شود و فقط شامل حروف، اعداد، فاصله، زیرخط و خط فاصله باشد."
+
+#: website/doctype/blog_post/blog_post.py:93
+msgid "A featured post must have a cover image"
+msgstr "یک پست برجسته باید تصویر جلد داشته باشد"
+
+#: custom/doctype/custom_field/custom_field.py:173
+msgid "A field with the name {0} already exists in {1}"
+msgstr "فیلدی با نام {0} از قبل در {1} وجود دارد"
+
+#: core/doctype/file/file.py:254
+msgid "A file with same name {} already exists"
+msgstr "فایلی با همین نام {} از قبل وجود دارد"
+
+#. Description of the 'Scopes' (Text) field in DocType 'OAuth Client'
+#: integrations/doctype/oauth_client/oauth_client.json
+msgctxt "OAuth Client"
+msgid "A list of resources which the Client App will have access to after the user allows it.{0}) and Response Type ({1}) not allowed"
+msgstr "ترکیب نوع کمک هزینه ({0}) و نوع پاسخ ({1}) مجاز نیست"
+
+#. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Comm10E"
+msgstr ""
+
+#. Name of a DocType
+#: core/doctype/comment/comment.json core/doctype/version/version_view.html:3
+#: public/js/frappe/form/controls/comment.js:9
+#: public/js/frappe/form/sidebar/assign_to.js:210
+#: templates/includes/comments/comments.html:34
+msgid "Comment"
+msgstr "اظهار نظر"
+
+#. Option for the 'Comment Type' (Select) field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Comment"
+msgstr "اظهار نظر"
+
+#. Option for the 'Communication Type' (Select) field in DocType
+#. 'Communication'
+#. Option for the 'Comment Type' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Comment"
+msgstr "اظهار نظر"
+
+#. Label of a Data field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Comment By"
+msgstr "نظر توسط"
+
+#. Label of a Data field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Comment Email"
+msgstr "ایمیل نظر"
+
+#. Label of a Select field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Comment Type"
+msgstr "نوع نظر"
+
+#. Label of a Select field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Comment Type"
+msgstr "نوع نظر"
+
+#: desk/form/utils.py:58
+msgid "Comment can only be edited by the owner"
+msgstr "نظر فقط توسط مالک قابل ویرایش است"
+
+#. Label of a Int field in DocType 'Blog Settings'
+#: website/doctype/blog_settings/blog_settings.json
+msgctxt "Blog Settings"
+msgid "Comment limit"
+msgstr "محدودیت کامنت"
+
+#. Description of the 'Comment limit' (Int) field in DocType 'Blog Settings'
+#: website/doctype/blog_settings/blog_settings.json
+msgctxt "Blog Settings"
+msgid "Comment limit per hour"
+msgstr "محدودیت نظر در ساعت"
+
+#: model/meta.py:54 public/js/frappe/form/controls/comment.js:9
+#: public/js/frappe/model/meta.js:206 public/js/frappe/model/model.js:125
+#: website/doctype/web_form/templates/web_form.html:119
+msgid "Comments"
+msgstr "نظرات"
+
+#. Description of the 'Timeline Field' (Data) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Comments and Communications will be associated with this linked document"
+msgstr "نظرات و ارتباطات با این سند پیوندی مرتبط خواهد شد"
+
+#: templates/includes/comments/comments.py:38
+msgid "Comments cannot have links or email addresses"
+msgstr "نظرات نمی توانند پیوند یا آدرس ایمیل داشته باشند"
+
+#. Option for the 'Rounding Method' (Select) field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Commercial Rounding"
+msgstr "گرد کردن تجاری"
+
+#. Label of a Check field in DocType 'System Console'
+#: desk/doctype/system_console/system_console.json
+msgctxt "System Console"
+msgid "Commit"
+msgstr "مرتکب شدن"
+
+#. Label of a Check field in DocType 'Console Log'
+#: desk/doctype/console_log/console_log.json
+msgctxt "Console Log"
+msgid "Committed"
+msgstr "متعهد شد"
+
+#: utils/password_strength.py:176
+msgid "Common names and surnames are easy to guess."
+msgstr "حدس زدن نام و نام خانوادگی معمولی آسان است."
+
+#. Name of a DocType
+#: core/doctype/communication/communication.json tests/test_translate.py:34
+#: tests/test_translate.py:102
+msgid "Communication"
+msgstr "ارتباط"
+
+#. Option for the 'Communication Type' (Select) field in DocType
+#. 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Communication"
+msgstr "ارتباط"
+
+#. Label of a Data field in DocType 'Email Flag Queue'
+#: email/doctype/email_flag_queue/email_flag_queue.json
+msgctxt "Email Flag Queue"
+msgid "Communication"
+msgstr "ارتباط"
+
+#. Label of a Link field in DocType 'Email Queue'
+#: email/doctype/email_queue/email_queue.json
+msgctxt "Email Queue"
+msgid "Communication"
+msgstr "ارتباط"
+
+#. Linked DocType in User's connections
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Communication"
+msgstr "ارتباط"
+
+#. Name of a DocType
+#: core/doctype/communication_link/communication_link.json
+msgid "Communication Link"
+msgstr "لینک ارتباط"
+
+#. Label of a Link in the Build Workspace
+#: core/workspace/build/build.json
+msgctxt "Communication"
+msgid "Communication Logs"
+msgstr ""
+
+#. Label of a Select field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Communication Type"
+msgstr "نوع ارتباط"
+
+#: desk/page/leaderboard/leaderboard.js:112
+msgid "Company"
+msgstr "شرکت"
+
+#. Name of a DocType
+#: website/doctype/company_history/company_history.json www/about.html:29
+msgid "Company History"
+msgstr "تاریخچه شرکت"
+
+#. Label of a Text Editor field in DocType 'About Us Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "Company Introduction"
+msgstr "معرفی شرکت"
+
+#. Label of a Data field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Company Name"
+msgstr "نام شرکت"
+
+#: core/doctype/server_script/server_script.js:14
+#: custom/doctype/client_script/client_script.js:54
+#: public/js/frappe/utils/diffview.js:28
+msgid "Compare Versions"
+msgstr "مقایسه نسخه ها"
+
+#: core/doctype/server_script/server_script.py:140
+msgid "Compilation warning"
+msgstr "هشدار تالیف"
+
+#: website/doctype/website_theme/website_theme.py:123
+msgid "Compiled Successfully"
+msgstr "با موفقیت تدوین شد"
+
+#: www/complete_signup.html:21
+msgid "Complete"
+msgstr "کامل"
+
+#. Option for the 'Status' (Select) field in DocType 'Scheduled Job Log'
+#: core/doctype/scheduled_job_log/scheduled_job_log.json
+msgctxt "Scheduled Job Log"
+msgid "Complete"
+msgstr "کامل"
+
+#: public/js/frappe/form/sidebar/assign_to.js:176
+msgid "Complete By"
+msgstr "تکمیل توسط"
+
+#: core/doctype/user/user.py:471 templates/emails/new_user.html:10
+msgid "Complete Registration"
+msgstr "ثبت نام کامل"
+
+#: public/js/frappe/ui/slides.js:355
+msgctxt "Finish the setup wizard"
+msgid "Complete Setup"
+msgstr "کامل کردن راهاندازی"
+
+#: core/doctype/doctype/boilerplate/controller_list.html:31 utils/goal.py:117
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Option for the 'Status' (Select) field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Option for the 'Status' (Select) field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Option for the 'Status' (Select) field in DocType 'Integration Request'
+#: integrations/doctype/integration_request/integration_request.json
+msgctxt "Integration Request"
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Option for the 'Status' (Select) field in DocType 'Prepared Report'
+#: core/doctype/prepared_report/prepared_report.json
+msgctxt "Prepared Report"
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Option for the 'Status' (Select) field in DocType 'Workflow Action'
+#: workflow/doctype/workflow_action/workflow_action.json
+msgctxt "Workflow Action"
+msgid "Completed"
+msgstr "تکمیل شد"
+
+#. Label of a Link field in DocType 'Workflow Action'
+#: workflow/doctype/workflow_action/workflow_action.json
+msgctxt "Workflow Action"
+msgid "Completed By Role"
+msgstr "تکمیل شده توسط نقش"
+
+#. Label of a Link field in DocType 'Workflow Action'
+#: workflow/doctype/workflow_action/workflow_action.json
+msgctxt "Workflow Action"
+msgid "Completed By User"
+msgstr "تکمیل شده توسط کاربر"
+
+#. Option for the 'Type' (Select) field in DocType 'Web Template'
+#: website/doctype/web_template/web_template.json
+msgctxt "Web Template"
+msgid "Component"
+msgstr "جزء"
+
+#: public/js/frappe/views/inbox/inbox_view.js:184
+msgid "Compose Email"
+msgstr "نوشتن ایمیل"
+
+#: desk/doctype/dashboard_chart/dashboard_chart.js:305
+#: desk/doctype/dashboard_chart/dashboard_chart.js:439
+#: desk/doctype/number_card/number_card.js:205
+#: desk/doctype/number_card/number_card.js:333
+#: website/doctype/web_form/web_form.js:187
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Small Text field in DocType 'Bulk Update'
+#: desk/doctype/bulk_update/bulk_update.json
+msgctxt "Bulk Update"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Document Naming Rule Condition'
+#: core/doctype/document_naming_rule_condition/document_naming_rule_condition.json
+msgctxt "Document Naming Rule Condition"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Code field in DocType 'Energy Point Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Code field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Data field in DocType 'Notification Recipient'
+#: email/doctype/notification_recipient/notification_recipient.json
+msgctxt "Notification Recipient"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Small Text field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a Code field in DocType 'Workflow Transition'
+#: workflow/doctype/workflow_transition/workflow_transition.json
+msgctxt "Workflow Transition"
+msgid "Condition"
+msgstr "وضعیت"
+
+#. Label of a HTML field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Condition Description"
+msgstr "شرح وضعیت"
+
+#. Label of a JSON field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Condition JSON"
+msgstr "شرایط JSON"
+
+#. Label of a Table field in DocType 'Document Naming Rule'
+#: core/doctype/document_naming_rule/document_naming_rule.json
+msgctxt "Document Naming Rule"
+msgid "Conditions"
+msgstr "شرایط"
+
+#. Label of a Section Break field in DocType 'Workflow Transition'
+#: workflow/doctype/workflow_transition/workflow_transition.json
+msgctxt "Workflow Transition"
+msgid "Conditions"
+msgstr "شرایط"
+
+#. Label of a Section Break field in DocType 'Social Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "Configuration"
+msgstr "پیکربندی"
+
+#: public/js/frappe/views/reports/report_view.js:461
+msgid "Configure Chart"
+msgstr "نمودار را پیکربندی کنید"
+
+#: public/js/frappe/form/grid_row.js:382
+msgid "Configure Columns"
+msgstr "پیکربندی ستون ها"
+
+#: core/doctype/recorder/recorder_list.js:200
+msgid "Configure Recorder"
+msgstr "ضبط کننده را پیکربندی کنید"
+
+#. Description of the 'Amended Documents' (Section Break) field in DocType
+#. 'Document Naming Settings'
+#: core/doctype/document_naming_settings/document_naming_settings.json
+msgctxt "Document Naming Settings"
+msgid "Configure how amended documents will be named.filters. result = [result], or for old style data = [columns], [result]"
+msgstr "فیلترها از طریق فیلترها قابل دسترسی خواهند بود. result = [نتیجه] یا برای سبک قدیمی data = [ستونها]، [نتیجه] ارسال کنید"
+
+#: public/js/frappe/views/reports/report_view.js:1355
+msgid "Filters:"
+msgstr "فیلترها:"
+
+#: public/js/frappe/ui/toolbar/search_utils.js:572
+msgid "Find '{0}' in ..."
+msgstr "پیدا کردن \"{0}\" در ..."
+
+#: public/js/frappe/ui/toolbar/awesome_bar.js:327
+#: public/js/frappe/ui/toolbar/awesome_bar.js:328
+#: public/js/frappe/ui/toolbar/search_utils.js:141
+#: public/js/frappe/ui/toolbar/search_utils.js:144
+msgid "Find {0} in {1}"
+msgstr "پیدا کردن {0} در {1}"
+
+#. Option for the 'Status' (Select) field in DocType 'Submission Queue'
+#: core/doctype/submission_queue/submission_queue.json
+msgctxt "Submission Queue"
+msgid "Finished"
+msgstr "تمام شده"
+
+#. Label of a Datetime field in DocType 'Prepared Report'
+#: core/doctype/prepared_report/prepared_report.json
+msgctxt "Prepared Report"
+msgid "Finished At"
+msgstr "به پایان رسید در"
+
+#. Label of a Select field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "First Day of the Week"
+msgstr "اولین روز هفته"
+
+#: www/complete_signup.html:15
+msgid "First Name"
+msgstr "نام کوچک"
+
+#. Label of a Data field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "First Name"
+msgstr "نام کوچک"
+
+#. Label of a Data field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "First Name"
+msgstr "نام کوچک"
+
+#. Label of a Data field in DocType 'Success Action'
+#: core/doctype/success_action/success_action.json
+msgctxt "Success Action"
+msgid "First Success Message"
+msgstr "اولین پیام موفقیت"
+
+#: core/report/transaction_log_report/transaction_log_report.py:49
+msgid "First Transaction"
+msgstr "اولین معامله"
+
+#: core/doctype/data_export/exporter.py:185
+msgid "First data column must be blank."
+msgstr "ستون داده اول باید خالی باشد."
+
+#: website/doctype/website_slideshow/website_slideshow.js:7
+msgid "First set the name and save the record."
+msgstr "ابتدا نام را تنظیم کنید و رکورد را ذخیره کنید."
+
+#. Label of a Data field in DocType 'Language'
+#: core/doctype/language/language.json
+msgctxt "Language"
+msgid "Flag"
+msgstr "پرچم"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Float"
+msgstr "شناور"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Float"
+msgstr "شناور"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Float"
+msgstr "شناور"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Column'
+#: core/doctype/report_column/report_column.json
+msgctxt "Report Column"
+msgid "Float"
+msgstr "شناور"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Filter'
+#: core/doctype/report_filter/report_filter.json
+msgctxt "Report Filter"
+msgid "Float"
+msgstr "شناور"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Float"
+msgstr "شناور"
+
+#. Label of a Select field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Float Precision"
+msgstr "دقت شناور"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Fold"
+msgstr "تا کردن"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Fold"
+msgstr "تا کردن"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Fold"
+msgstr "تا کردن"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Column'
+#: core/doctype/report_column/report_column.json
+msgctxt "Report Column"
+msgid "Fold"
+msgstr "تا کردن"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Filter'
+#: core/doctype/report_filter/report_filter.json
+msgctxt "Report Filter"
+msgid "Fold"
+msgstr "تا کردن"
+
+#: core/doctype/doctype/doctype.py:1399
+msgid "Fold can not be at the end of the form"
+msgstr "فولد نمی تواند در انتهای فرم باشد"
+
+#: core/doctype/doctype/doctype.py:1397
+msgid "Fold must come before a Section Break"
+msgstr "فولد باید قبل از Section Break باشد"
+
+#. Label of a Link field in DocType 'File'
+#: core/doctype/file/file.json
+msgctxt "File"
+msgid "Folder"
+msgstr "پوشه"
+
+#. Label of a Data field in DocType 'IMAP Folder'
+#: email/doctype/imap_folder/imap_folder.json
+msgctxt "IMAP Folder"
+msgid "Folder Name"
+msgstr "نام پوشه"
+
+#: public/js/frappe/views/file/file_view.js:100
+msgid "Folder name should not include '/' (slash)"
+msgstr "نام پوشه نباید شامل '/' (اسلش) باشد"
+
+#: core/doctype/file/file.py:466
+msgid "Folder {0} is not empty"
+msgstr "پوشه {0} خالی نیست"
+
+#. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Folio"
+msgstr "برگ برگ"
+
+#: public/js/frappe/form/sidebar/form_sidebar.js:232
+#: public/js/frappe/form/templates/form_sidebar.html:129
+msgid "Follow"
+msgstr "دنبال کردن"
+
+#: public/js/frappe/form/templates/form_sidebar.html:124
+msgid "Followed by"
+msgstr "به دنبال"
+
+#: email/doctype/auto_email_report/auto_email_report.py:130
+msgid "Following Report Filters have missing values:"
+msgstr "فیلترهای گزارش زیر دارای مقادیر گمشده هستند:"
+
+#: website/doctype/web_form/web_form.py:108
+msgid "Following fields are missing:"
+msgstr "فیلدهای زیر وجود ندارد:"
+
+#: public/js/frappe/ui/field_group.js:133
+msgid "Following fields have invalid values:"
+msgstr "فیلدهای زیر دارای مقادیر نامعتبر هستند:"
+
+#: public/js/frappe/widgets/widget_dialog.js:353
+msgid "Following fields have missing values"
+msgstr "فیلدهای زیر دارای مقادیر گم شده هستند"
+
+#: public/js/frappe/ui/field_group.js:120
+msgid "Following fields have missing values:"
+msgstr "فیلدهای زیر مقادیر گمشده دارند:"
+
+#: email/doctype/newsletter/newsletter.js:30
+msgid "Following links are broken in the email content: {0}"
+msgstr "پیوندهای زیر در محتوای ایمیل خراب هستند: {0}"
+
+#. Label of a Select field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Font"
+msgstr "فونت"
+
+#. Label of a Data field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Font Properties"
+msgstr "ویژگی های فونت"
+
+#. Label of a Int field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Font Size"
+msgstr "اندازه فونت"
+
+#. Label of a Float field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Font Size"
+msgstr "اندازه فونت"
+
+#. Label of a Data field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Font Size"
+msgstr "اندازه فونت"
+
+#. Label of a Section Break field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Fonts"
+msgstr "فونت ها"
+
+#. Label of a Text Editor field in DocType 'About Us Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "Footer"
+msgstr "پاورقی"
+
+#. Label of a Section Break field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Footer"
+msgstr "پاورقی"
+
+#. Label of a Section Break field in DocType 'Letter Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer"
+msgstr "پاورقی"
+
+#. Option for the 'Type' (Select) field in DocType 'Web Template'
+#: website/doctype/web_template/web_template.json
+msgctxt "Web Template"
+msgid "Footer"
+msgstr "پاورقی"
+
+#. Label of a Tab Break field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer"
+msgstr "پاورقی"
+
+#. Label of a Small Text field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer \"Powered By\""
+msgstr "پاورقی \"Powered By\""
+
+#. Label of a Select field in DocType 'Letter Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer Based On"
+msgstr "پاورقی بر اساس"
+
+#. Label of a Text Editor field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Footer Content"
+msgstr "محتوای پاورقی"
+
+#. Label of a Section Break field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer Details"
+msgstr "جزئیات پاورقی"
+
+#. Label of a HTML Editor field in DocType 'Letter Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer HTML"
+msgstr "پاورقی HTML"
+
+#: printing/doctype/letter_head/letter_head.py:75
+msgid "Footer HTML set from attachment {0}"
+msgstr "مجموعه HTML پاورقی از پیوست {0}"
+
+#. Label of a Section Break field in DocType 'Letter Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer Image"
+msgstr "تصویر پاورقی"
+
+#. Label of a Section Break field in DocType 'Website Settings'
+#. Label of a Table field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer Items"
+msgstr "موارد پاورقی"
+
+#. Label of a Attach Image field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer Logo"
+msgstr "لوگوی پاورقی"
+
+#. Label of a Code field in DocType 'Letter Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer Script"
+msgstr "اسکریپت پاورقی"
+
+#. Label of a Link field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer Template"
+msgstr "قالب پاورقی"
+
+#. Label of a Code field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Footer Template Values"
+msgstr "مقادیر الگوی پاورقی"
+
+#: printing/page/print/print.js:116
+msgid "Footer might not be visible as {0} option is disabled"
+msgstr "ممکن است پاورقی قابل مشاهده نباشد زیرا گزینه {0} غیرفعال است"
+
+#. Description of the 'Footer HTML' (HTML Editor) field in DocType 'Letter
+#. Head'
+#: printing/doctype/letter_head/letter_head.json
+msgctxt "Letter Head"
+msgid "Footer will display correctly only in PDF"
+msgstr "پاورقی فقط در PDF به درستی نمایش داده می شود"
+
+#. Description of the 'Row Name' (Data) field in DocType 'Property Setter'
+#: custom/doctype/property_setter/property_setter.json
+msgctxt "Property Setter"
+msgid "For DocType Link / DocType Action"
+msgstr "برای DocType Link / DocType Action"
+
+#. Label of a Select field in DocType 'Energy Point Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "For Document Event"
+msgstr "برای رویداد سند"
+
+#: core/doctype/user_permission/user_permission_list.js:155
+msgid "For Document Type"
+msgstr "برای نوع سند"
+
+#: public/js/frappe/widgets/widget_dialog.js:568
+msgid "For Example: {} Open"
+msgstr "به عنوان مثال: {} باز کنید"
+
+#. Description of the 'Options' (Small Text) field in DocType 'Customize Form
+#. Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "For Links, enter the DocType as range.\n"
+"For Select, enter list of Options, each on a new line."
+msgstr ""
+
+#. Description of the 'Options' (Small Text) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "For Links, enter the DocType as range.\n"
+"For Select, enter list of Options, each on a new line."
+msgstr ""
+
+#: core/doctype/user_permission/user_permission_list.js:10
+#: core/doctype/user_permission/user_permission_list.js:148
+msgid "For User"
+msgstr "برای کاربر"
+
+#. Label of a Link field in DocType 'List Filter'
+#: desk/doctype/list_filter/list_filter.json
+msgctxt "List Filter"
+msgid "For User"
+msgstr "برای کاربر"
+
+#. Label of a Link field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "For User"
+msgstr "برای کاربر"
+
+#. Label of a Data field in DocType 'Workspace'
+#: desk/doctype/workspace/workspace.json
+msgctxt "Workspace"
+msgid "For User"
+msgstr "برای کاربر"
+
+#. Label of a Dynamic Link field in DocType 'User Permission'
+#: core/doctype/user_permission/user_permission.json
+msgctxt "User Permission"
+msgid "For Value"
+msgstr "برای ارزش"
+
+#: public/js/frappe/views/reports/query_report.js:1961
+#: public/js/frappe/views/reports/report_view.js:96
+msgid "For comparison, use >5, <10 or =324. For ranges, use 5:10 (for values between 5 & 10)."
+msgstr "برای مقایسه، از >5، <10 یا =324 استفاده کنید. برای محدوده ها، از 5:10 (برای مقادیر بین 5 و 10) استفاده کنید."
+
+#: core/page/permission_manager/permission_manager_help.html:19
+msgid "For example if you cancel and amend INV004 it will become a new document INV004-1. This helps you to keep track of each amendment."
+msgstr "به عنوان مثال، اگر INV004 را لغو و اصلاح کنید، به یک سند جدید INV004-1 تبدیل می شود. این به شما کمک می کند تا هر اصلاحیه را پیگیری کنید."
+
+#: printing/page/print_format_builder/print_format_builder.js:744
+msgid "For example: If you want to include the document ID, use {0}"
+msgstr "برای مثال: اگر میخواهید شناسه سند را اضافه کنید، از {0} استفاده کنید."
+
+#. Description of the 'Format' (Data) field in DocType 'Workspace Shortcut'
+#: desk/doctype/workspace_shortcut/workspace_shortcut.json
+msgctxt "Workspace Shortcut"
+msgid "For example: {} Open"
+msgstr "به عنوان مثال: {} باز کنید"
+
+#. Description of the 'Client Script' (Code) field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "For help see Client Script API and Examples"
+msgstr "برای راهنمایی به API و مثالهای Client Script مراجعه کنید."
+
+#. Description of the 'Enable Automatic Linking in Documents' (Check) field in
+#. DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "For more information, click here."
+msgstr "برای اطلاعات بیشتر، اینجا را کلیک کنید< /a>."
+
+#: integrations/doctype/google_settings/google_settings.js:7
+msgid "For more information, {0}."
+msgstr "برای اطلاعات بیشتر، {0}."
+
+#. Description of the 'Email To' (Small Text) field in DocType 'Auto Email
+#. Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "For multiple addresses, enter the address on different line. e.g. test@test.com ⏎ test1@test.com"
+msgstr "برای چندین آدرس، آدرس را در خطوط مختلف وارد کنید. به عنوان مثال test@test.com ⏎ test1@test.com"
+
+#: core/doctype/data_export/exporter.py:197
+msgid "For updating, you can update only selective columns."
+msgstr "برای به روز رسانی، می توانید فقط ستون های انتخابی را به روز کنید."
+
+#: core/doctype/doctype/doctype.py:1730
+msgid "For {0} at level {1} in {2} in row {3}"
+msgstr "برای {0} در سطح {1} در {2} در ردیف {3}"
+
+#. Option for the 'Skip Authorization' (Select) field in DocType 'OAuth
+#. Provider Settings'
+#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+msgctxt "OAuth Provider Settings"
+msgid "Force"
+msgstr "زور"
+
+#. Label of a Check field in DocType 'Package Import'
+#: core/doctype/package_import/package_import.json
+msgctxt "Package Import"
+msgid "Force"
+msgstr "زور"
+
+#. Label of a Check field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Force Re-route to Default View"
+msgstr "تغییر مسیر را به نمای پیش فرض اجباری کنید"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Force Re-route to Default View"
+msgstr "تغییر مسیر را به نمای پیش فرض اجباری کنید"
+
+#. Label of a Check field in DocType 'Desktop Icon'
+#: desk/doctype/desktop_icon/desktop_icon.json
+msgctxt "Desktop Icon"
+msgid "Force Show"
+msgstr "نمایش نیرو"
+
+#: core/doctype/rq_job/rq_job.js:13
+msgid "Force Stop job"
+msgstr "کار توقف اجباری"
+
+#. Label of a Int field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Force User to Reset Password"
+msgstr "کاربر را مجبور به تنظیم مجدد رمز عبور کنید"
+
+#. Label of a Check field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Force Web Capture Mode for Uploads"
+msgstr "اجباری حالت گرفتن وب برای آپلودها"
+
+#: www/login.html:35
+msgid "Forgot Password?"
+msgstr "رمز عبور را فراموش کرده اید؟"
+
+#: printing/page/print/print.js:83
+msgid "Form"
+msgstr "فرم"
+
+#. Option for the 'Apply To' (Select) field in DocType 'Client Script'
+#: custom/doctype/client_script/client_script.json
+msgctxt "Client Script"
+msgid "Form"
+msgstr "فرم"
+
+#. Label of a Tab Break field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Form"
+msgstr "فرم"
+
+#. Label of a Tab Break field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Form"
+msgstr "فرم"
+
+#. Option for the 'View' (Select) field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Form"
+msgstr "فرم"
+
+#. Label of a Tab Break field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Form"
+msgstr "فرم"
+
+#. Label of a HTML field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Form Builder"
+msgstr "فرم ساز"
+
+#. Label of a HTML field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Form Builder"
+msgstr "فرم ساز"
+
+#. Label of a Code field in DocType 'Recorder'
+#: core/doctype/recorder/recorder.json
+msgctxt "Recorder"
+msgid "Form Dict"
+msgstr "فرم دیکت"
+
+#. Label of a Section Break field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Form Settings"
+msgstr "تنظیمات فرم"
+
+#. Label of a Section Break field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Form Settings"
+msgstr "تنظیمات فرم"
+
+#. Label of a Section Break field in DocType 'Role'
+#: core/doctype/role/role.json
+msgctxt "Role"
+msgid "Form Settings"
+msgstr "تنظیمات فرم"
+
+#. Name of a DocType
+#: desk/doctype/form_tour/form_tour.json
+msgid "Form Tour"
+msgstr "تور فرم"
+
+#. Label of a Link field in DocType 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Form Tour"
+msgstr "تور فرم"
+
+#. Name of a DocType
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgid "Form Tour Step"
+msgstr "مرحله تور فرم"
+
+#. Option for the 'Request Structure' (Select) field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "Form URL-Encoded"
+msgstr "فرم URL-Encoded"
+
+#: public/js/frappe/widgets/widget_dialog.js:567
+msgid "Format"
+msgstr "قالب"
+
+#. Label of a Select field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Format"
+msgstr "قالب"
+
+#. Label of a Data field in DocType 'Workspace Shortcut'
+#: desk/doctype/workspace_shortcut/workspace_shortcut.json
+msgctxt "Workspace Shortcut"
+msgid "Format"
+msgstr "قالب"
+
+#. Label of a Code field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Format Data"
+msgstr "فرمت داده ها"
+
+#: core/doctype/communication/communication.js:70
+msgid "Forward"
+msgstr "رو به جلو"
+
+#. Label of a Data field in DocType 'Contact Us Settings'
+#: website/doctype/contact_us_settings/contact_us_settings.json
+msgctxt "Contact Us Settings"
+msgid "Forward To Email Address"
+msgstr "فوروارد به آدرس ایمیل"
+
+#. Label of a Data field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Fraction"
+msgstr "کسر"
+
+#. Label of a Int field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Fraction Units"
+msgstr "واحدهای کسری"
+
+#: www/login.html:61 www/login.html:142 www/login.py:44 www/login.py:133
+msgid "Frappe"
+msgstr "Frappe"
+
+#. Option for the 'Social Login Provider' (Select) field in DocType 'Social
+#. Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "Frappe"
+msgstr "Frappe"
+
+#: public/js/frappe/ui/toolbar/about.js:4
+msgid "Frappe Framework"
+msgstr "چارچوب Frappe"
+
+#: public/js/frappe/ui/theme_switcher.js:59
+msgid "Frappe Light"
+msgstr "نور Frappe"
+
+#. Label of a standard help item
+#. Type: Action
+#: hooks.py
+msgid "Frappe Support"
+msgstr "پشتیبانی Frappe"
+
+#: website/doctype/web_page/web_page.js:92
+msgid "Frappe page builder using components"
+msgstr "صفحه ساز Frappe با استفاده از کامپوننت ها"
+
+#: automation/doctype/auto_repeat/auto_repeat_schedule.html:5
+#: public/js/frappe/utils/common.js:395
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Label of a Select field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Label of a Select field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Label of a Select field in DocType 'Google Drive'
+#: integrations/doctype/google_drive/google_drive.json
+msgctxt "Google Drive"
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Label of a Select field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Label of a Select field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Frequency"
+msgstr "فرکانس"
+
+#. Option for the 'Day' (Select) field in DocType 'Assignment Rule Day'
+#: automation/doctype/assignment_rule_day/assignment_rule_day.json
+msgctxt "Assignment Rule Day"
+msgid "Friday"
+msgstr "جمعه"
+
+#. Option for the 'Day of Week' (Select) field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Friday"
+msgstr "جمعه"
+
+#. Option for the 'Day' (Select) field in DocType 'Auto Repeat Day'
+#: automation/doctype/auto_repeat_day/auto_repeat_day.json
+msgctxt "Auto Repeat Day"
+msgid "Friday"
+msgstr "جمعه"
+
+#. Label of a Check field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Friday"
+msgstr "جمعه"
+
+#. Option for the 'First Day of the Week' (Select) field in DocType 'System
+#. Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Friday"
+msgstr "جمعه"
+
+#: public/js/frappe/views/communication.js:182
+#: public/js/frappe/views/inbox/inbox_view.js:70
+msgid "From"
+msgstr "از جانب"
+
+#. Label of a Data field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "From"
+msgstr "از جانب"
+
+#. Label of a Section Break field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "From"
+msgstr "از جانب"
+
+#: website/report/website_analytics/website_analytics.js:8
+msgid "From Date"
+msgstr "از تاریخ"
+
+#. Label of a Date field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "From Date"
+msgstr "از تاریخ"
+
+#. Label of a Select field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "From Date Field"
+msgstr "از فیلد تاریخ"
+
+#: public/js/frappe/views/reports/query_report.js:1675
+msgid "From Document Type"
+msgstr "از نوع سند"
+
+#. Label of a Data field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "From Full Name"
+msgstr "از نام کامل"
+
+#. Label of a Link field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "From User"
+msgstr "از کاربر"
+
+#: public/js/frappe/utils/diffview.js:31
+msgid "From version"
+msgstr "از نسخه"
+
+#. Option for the 'Width' (Select) field in DocType 'Dashboard Chart Link'
+#: desk/doctype/dashboard_chart_link/dashboard_chart_link.json
+msgctxt "Dashboard Chart Link"
+msgid "Full"
+msgstr "پر شده"
+
+#: desk/page/setup_wizard/setup_wizard.js:464 templates/signup.html:4
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#. Label of a Data field in DocType 'About Us Team Member'
+#: website/doctype/about_us_team_member/about_us_team_member.json
+msgctxt "About Us Team Member"
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#. Label of a Data field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#. Label of a Data field in DocType 'Blogger'
+#: website/doctype/blogger/blogger.json
+msgctxt "Blogger"
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#. Label of a Data field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#. Label of a Data field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Full Name"
+msgstr "نام و نام خانوادگی"
+
+#: printing/page/print/print.js:67
+#: public/js/frappe/form/templates/print_layout.html:42
+msgid "Full Page"
+msgstr "صفحه کامل"
+
+#. Label of a Check field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Full Width"
+msgstr "تمام عرض"
+
+#: public/js/frappe/views/reports/query_report.js:245
+#: public/js/frappe/widgets/widget_dialog.js:705
+msgid "Function"
+msgstr "تابع"
+
+#. Label of a Select field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Function"
+msgstr "تابع"
+
+#: public/js/frappe/widgets/widget_dialog.js:712
+msgid "Function Based On"
+msgstr "عملکرد بر اساس"
+
+#: __init__.py:931
+msgid "Function {0} is not whitelisted."
+msgstr "تابع {0} در لیست سفید قرار ندارد."
+
+#: public/js/frappe/views/treeview.js:402
+msgid "Further nodes can be only created under 'Group' type nodes"
+msgstr "گره های بیشتر را فقط می توان تحت گره های نوع «گروهی» ایجاد کرد"
+
+#: core/doctype/communication/communication.js:291
+msgid "Fw: {0}"
+msgstr ""
+
+#. Option for the 'Method' (Select) field in DocType 'Recorder'
+#: core/doctype/recorder/recorder.json
+msgctxt "Recorder"
+msgid "GET"
+msgstr "گرفتن"
+
+#. Option for the 'Service' (Select) field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "GMail"
+msgstr "جی میل"
+
+#. Option for the 'License Type' (Select) field in DocType 'Package'
+#: core/doctype/package/package.json
+msgctxt "Package"
+msgid "GNU Affero General Public License"
+msgstr "مجوز عمومی عمومی GNU Affero"
+
+#. Option for the 'License Type' (Select) field in DocType 'Package'
+#: core/doctype/package/package.json
+msgctxt "Package"
+msgid "GNU General Public License"
+msgstr "مجوز عمومی عمومی گنو"
+
+#: public/js/frappe/views/gantt/gantt_view.js:10
+msgid "Gantt"
+msgstr "گانت"
+
+#. Option for the 'Select List View' (Select) field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Gantt"
+msgstr "گانت"
+
+#. Name of a DocType
+#: contacts/doctype/gender/gender.json
+msgid "Gender"
+msgstr "جنسیت"
+
+#. Label of a Link field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Gender"
+msgstr "جنسیت"
+
+#. Label of a Data field in DocType 'Gender'
+#: contacts/doctype/gender/gender.json
+msgctxt "Gender"
+msgid "Gender"
+msgstr "جنسیت"
+
+#. Label of a Link field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Gender"
+msgstr "جنسیت"
+
+#. Title of an Onboarding Step
+#: custom/onboarding_step/report_builder/report_builder.json
+msgid "Generate Custom Reports"
+msgstr ""
+
+#. Label of a Button field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Generate Keys"
+msgstr "ایجاد کلیدها"
+
+#: public/js/frappe/views/reports/query_report.js:803
+msgid "Generate New Report"
+msgstr "ایجاد گزارش جدید"
+
+#: public/js/frappe/ui/toolbar/awesome_bar.js:368
+msgid "Generate Random Password"
+msgstr "ایجاد رمز عبور تصادفی"
+
+#: public/js/frappe/ui/toolbar/toolbar.js:137
+#: public/js/frappe/utils/utils.js:1763
+msgid "Generate Tracking URL"
+msgstr "ایجاد URL پیگیری"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Geolocation"
+msgstr "موقعیت جغرافیایی"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Geolocation"
+msgstr "موقعیت جغرافیایی"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Geolocation"
+msgstr "موقعیت جغرافیایی"
+
+#: email/doctype/notification/notification.js:170
+msgid "Get Alerts for Today"
+msgstr "دریافت هشدار برای امروز"
+
+#: desk/page/backups/backups.js:19
+msgid "Get Backup Encryption Key"
+msgstr "کلید رمزگذاری پشتیبان را دریافت کنید"
+
+#. Label of a Button field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Get Contacts"
+msgstr "دریافت مخاطبین"
+
+#: website/doctype/web_form/web_form.js:83
+msgid "Get Fields"
+msgstr "فیلدها را دریافت کنید"
+
+#: printing/doctype/letter_head/letter_head.js:32
+msgid "Get Header and Footer wkhtmltopdf variables"
+msgstr "متغیرهای Header و Footer wkhtmltopdf را دریافت کنید"
+
+#: public/js/frappe/form/multi_select_dialog.js:85
+msgid "Get Items"
+msgstr "موارد را دریافت کنید"
+
+#: integrations/doctype/connected_app/connected_app.js:6
+msgid "Get OpenID Configuration"
+msgstr "پیکربندی OpenID را دریافت کنید"
+
+#: www/printview.html:22
+msgid "Get PDF"
+msgstr "PDF را دریافت کنید"
+
+#. Description of the 'Try a Naming Series' (Data) field in DocType 'Document
+#. Naming Settings'
+#: core/doctype/document_naming_settings/document_naming_settings.json
+msgctxt "Document Naming Settings"
+msgid "Get a preview of generated names with a series."
+msgstr "پیش نمایش نام های تولید شده را با یک سری دریافت کنید."
+
+#. Description of the 'Email Threads on Assigned Document' (Check) field in
+#. DocType 'Notification Settings'
+#: desk/doctype/notification_settings/notification_settings.json
+msgctxt "Notification Settings"
+msgid "Get notified when an email is received on any of the documents assigned to you."
+msgstr "هنگامی که ایمیلی در مورد هر یک از اسنادی که به شما اختصاص داده شده است، مطلع شوید."
+
+#. Description of the 'User Image' (Attach Image) field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Get your globally recognized avatar from Gravatar.com"
+msgstr "آواتار شناخته شده جهانی خود را از Gravatar.com دریافت کنید"
+
+#. Label of a Data field in DocType 'Installed Application'
+#: core/doctype/installed_application/installed_application.json
+msgctxt "Installed Application"
+msgid "Git Branch"
+msgstr "شاخه گیت"
+
+#. Option for the 'Social Login Provider' (Select) field in DocType 'Social
+#. Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "GitHub"
+msgstr ""
+
+#: website/doctype/web_page/web_page.js:92
+msgid "Github flavoured markdown syntax"
+msgstr "قواعد علامت گذاری به سبک Github"
+
+#: social/doctype/energy_point_settings/energy_point_settings.js:7
+#: social/doctype/energy_point_settings/energy_point_settings.js:14
+msgid "Give Review Points"
+msgstr "امتیاز بررسی بدهید"
+
+#. Name of a DocType
+#: desk/doctype/global_search_doctype/global_search_doctype.json
+msgid "Global Search DocType"
+msgstr "جستجوی سراسری DocType"
+
+#: desk/doctype/global_search_settings/global_search_settings.js:24
+msgid "Global Search Document Types Reset."
+msgstr "بازنشانی انواع سند جستجوی سراسری."
+
+#. Name of a DocType
+#: desk/doctype/global_search_settings/global_search_settings.json
+msgid "Global Search Settings"
+msgstr "تنظیمات جستجوی سراسری"
+
+#: public/js/frappe/ui/keyboard.js:118
+msgid "Global Shortcuts"
+msgstr "میانبرهای سراسری"
+
+#. Label of a Check field in DocType 'Email Unsubscribe'
+#: email/doctype/email_unsubscribe/email_unsubscribe.json
+msgctxt "Email Unsubscribe"
+msgid "Global Unsubscribe"
+msgstr "لغو اشتراک سراسری"
+
+#: desk/page/user_profile/user_profile_controller.js:68
+#: public/js/frappe/form/toolbar.js:767
+msgid "Go"
+msgstr "برو"
+
+#: public/js/frappe/widgets/onboarding_widget.js:246
+#: public/js/frappe/widgets/onboarding_widget.js:326
+msgid "Go Back"
+msgstr "برگرد"
+
+#: desk/doctype/notification_settings/notification_settings.js:17
+msgid "Go to Notification Settings List"
+msgstr "به لیست تنظیمات اعلان بروید"
+
+#. Option for the 'Action' (Select) field in DocType 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Go to Page"
+msgstr "به صفحه بروید"
+
+#: public/js/workflow_builder/workflow_builder.bundle.js:41
+msgid "Go to Workflow"
+msgstr "به Workflow بروید"
+
+#: desk/doctype/workspace/workspace.js:18
+msgid "Go to Workspace"
+msgstr "به Workspace بروید"
+
+#: public/js/frappe/form/form.js:144
+msgid "Go to next record"
+msgstr "به رکورد بعدی بروید"
+
+#: public/js/frappe/form/form.js:154
+msgid "Go to previous record"
+msgstr "برو به رکورد قبلی"
+
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.py:53
+msgid "Go to the document"
+msgstr "به سند بروید"
+
+#. Description of the 'Success URL' (Data) field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Go to this URL after completing the form"
+msgstr "پس از تکمیل فرم به این آدرس بروید"
+
+#: core/doctype/doctype/doctype.js:54
+#: custom/doctype/client_script/client_script.js:10
+msgid "Go to {0}"
+msgstr "رفتن به {0}"
+
+#: core/doctype/data_import/data_import.js:92
+#: core/doctype/doctype/doctype.js:58
+#: custom/doctype/customize_form/customize_form.js:104
+#: custom/doctype/doctype_layout/doctype_layout.js:42
+#: workflow/doctype/workflow/workflow.js:44
+msgid "Go to {0} List"
+msgstr "به فهرست {0} بروید"
+
+#: core/doctype/page/page.js:11
+msgid "Go to {0} Page"
+msgstr "به صفحه {0} بروید"
+
+#: utils/goal.py:115 utils/goal.py:122
+msgid "Goal"
+msgstr "هدف"
+
+#. Option for the 'Social Login Provider' (Select) field in DocType 'Social
+#. Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "Google"
+msgstr "گوگل"
+
+#. Label of a Data field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Google Analytics ID"
+msgstr "شناسه گوگل آنالیتیکس"
+
+#. Label of a Check field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Google Analytics anonymise IP"
+msgstr "IP ناشناس گوگل آنالیتیکس"
+
+#. Name of a DocType
+#: integrations/doctype/google_calendar/google_calendar.json
+msgid "Google Calendar"
+msgstr "تقویم گوگل"
+
+#. Label of a Section Break field in DocType 'Event'
+#. Label of a Link field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Google Calendar"
+msgstr "تقویم گوگل"
+
+#. Label of a Section Break field in DocType 'Google Calendar'
+#. Label of a Link in the Integrations Workspace
+#: integrations/doctype/google_calendar/google_calendar.json
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Google Calendar"
+msgid "Google Calendar"
+msgstr "تقویم گوگل"
+
+#: integrations/doctype/google_calendar/google_calendar.py:776
+msgid "Google Calendar - Contact / email not found. Did not add attendee for -/project/<name>"
+msgstr "پارامترهای مسیر را به متغیرهای فرم نگاشت. مثال /project/<name>"
+
+#: core/doctype/data_import/importer.py:874
+msgid "Mapping column {0} to field {1}"
+msgstr "نگاشت ستون {0} به فیلد {1}"
+
+#. Label of a Float field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Margin Bottom"
+msgstr "حاشیه پایین"
+
+#. Label of a Float field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Margin Left"
+msgstr "حاشیه سمت چپ"
+
+#. Label of a Float field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Margin Right"
+msgstr "حاشیه سمت راست"
+
+#. Label of a Float field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Margin Top"
+msgstr "حاشیه بالا"
+
+#: public/js/frappe/ui/notifications/notifications.js:44
+msgid "Mark all as read"
+msgstr "همه را به عنوان خوانده شده علامت بزن"
+
+#: core/doctype/communication/communication.js:78
+#: core/doctype/communication/communication_list.js:19
+msgid "Mark as Read"
+msgstr "به عنوان خوانده شده علامت بزن"
+
+#: core/doctype/communication/communication.js:95
+msgid "Mark as Spam"
+msgstr "علامت گذاری به عنوان هرزنامه"
+
+#: core/doctype/communication/communication.js:78
+#: core/doctype/communication/communication_list.js:22
+msgid "Mark as Unread"
+msgstr "به عنوان \"خوانده نشده\" علامت گذاری کن"
+
+#: website/doctype/web_page/web_page.js:92
+msgid "Markdown"
+msgstr "مارک داون"
+
+#. Option for the 'Content Type' (Select) field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Markdown"
+msgstr "مارک داون"
+
+#. Option for the 'Content Type' (Select) field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Markdown"
+msgstr "مارک داون"
+
+#. Option for the 'Message Type' (Select) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Markdown"
+msgstr "مارک داون"
+
+#. Option for the 'Content Type' (Select) field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Markdown"
+msgstr "مارک داون"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Markdown Editor"
+msgstr "ویرایشگر Markdown"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Markdown Editor"
+msgstr "ویرایشگر Markdown"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Markdown Editor"
+msgstr "ویرایشگر Markdown"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Template Field'
+#: website/doctype/web_template_field/web_template_field.json
+msgctxt "Web Template Field"
+msgid "Markdown Editor"
+msgstr "ویرایشگر Markdown"
+
+#. Option for the 'Delivery Status' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Marked As Spam"
+msgstr "به عنوان هرزنامه علامت گذاری شده است"
+
+#. Name of a DocType
+#: website/doctype/marketing_campaign/marketing_campaign.json
+msgid "Marketing Campaign"
+msgstr "کمپین بازاریابی"
+
+#. Description of the 'Limit' (Int) field in DocType 'Bulk Update'
+#: desk/doctype/bulk_update/bulk_update.json
+msgctxt "Bulk Update"
+msgid "Max 500 records at a time"
+msgstr "حداکثر 500 رکورد در یک زمان"
+
+#. Label of a Int field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Max Attachment Size (in MB)"
+msgstr "حداکثر حجم پیوست (به مگابایت)"
+
+#. Label of a Int field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Max Attachments"
+msgstr "حداکثر پیوست ها"
+
+#. Label of a Int field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Max Attachments"
+msgstr "حداکثر پیوست ها"
+
+#. Label of a Int field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Max File Size (MB)"
+msgstr "حداکثر حجم فایل (MB)"
+
+#. Label of a Data field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Max Height"
+msgstr "حداکثر ارتفاع"
+
+#. Label of a Int field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Max Length"
+msgstr "بیشترین طول"
+
+#. Label of a Int field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Max Value"
+msgstr "حداکثر ارزش"
+
+#. Label of a Int field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Max auto email report per user"
+msgstr "حداکثر گزارش ایمیل خودکار برای هر کاربر"
+
+#: core/doctype/doctype/doctype.py:1291
+msgid "Max width for type Currency is 100px in row {0}"
+msgstr "حداکثر عرض برای نوع ارز 100 پیکسل در ردیف {0} است"
+
+#. Option for the 'Function' (Select) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Maximum"
+msgstr "بیشترین"
+
+#: core/doctype/file/file.py:317
+msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
+msgstr "حداکثر محدودیت پیوست {0} برای {1} {2} رسیده است."
+
+#. Label of a Select field in DocType 'List View Settings'
+#: desk/doctype/list_view_settings/list_view_settings.json
+msgctxt "List View Settings"
+msgid "Maximum Number of Fields"
+msgstr "حداکثر تعداد فیلدها"
+
+#. Label of a Int field in DocType 'Energy Point Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "Maximum Points"
+msgstr "حداکثر امتیاز"
+
+#: public/js/frappe/form/sidebar/attachments.js:38
+msgid "Maximum attachment limit of {0} has been reached."
+msgstr "حداکثر محدودیت پیوست {0} رسیده است."
+
+#. Description of the 'Maximum Points' (Int) field in DocType 'Energy Point
+#. Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "Maximum points allowed after multiplying points with the multiplier value\n"
+"(Note: For no limit leave this field empty or set 0)"
+msgstr "حداکثر امتیاز مجاز پس از ضرب امتیاز با مقدار ضریب\n"
+"(توجه: بدون محدودیت این قسمت را خالی بگذارید یا 0 را تنظیم کنید)"
+
+#: model/rename_doc.py:657
+msgid "Maximum {0} rows allowed"
+msgstr "حداکثر {0} ردیف مجاز است"
+
+#: public/js/frappe/list/list_sidebar_group_by.js:221
+msgid "Me"
+msgstr "من"
+
+#: core/page/permission_manager/permission_manager_help.html:14
+msgid "Meaning of Submit, Cancel, Amend"
+msgstr "معنی ارسال، لغو، اصلاح"
+
+#: public/js/frappe/form/sidebar/assign_to.js:194
+#: public/js/frappe/utils/utils.js:1722
+#: website/report/website_analytics/website_analytics.js:40
+msgid "Medium"
+msgstr "متوسط"
+
+#. Option for the 'Priority' (Select) field in DocType 'ToDo'
+#: desk/doctype/todo/todo.json
+msgctxt "ToDo"
+msgid "Medium"
+msgstr "متوسط"
+
+#. Label of a Data field in DocType 'Web Page View'
+#: website/doctype/web_page_view/web_page_view.json
+msgctxt "Web Page View"
+msgid "Medium"
+msgstr "متوسط"
+
+#. Option for the 'Type' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Meeting"
+msgstr "ملاقات"
+
+#. Option for the 'Event Category' (Select) field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Meeting"
+msgstr "ملاقات"
+
+#. Label of a Data field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "Meets Condition?"
+msgstr "شرایط را برآورده می کند؟"
+
+#. Group in Email Group's connections
+#: email/doctype/email_group/email_group.json
+msgctxt "Email Group"
+msgid "Members"
+msgstr "اعضا"
+
+#. Option for the 'Type' (Select) field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "Mention"
+msgstr "اشاره"
+
+#. Label of a Check field in DocType 'Notification Settings'
+#: desk/doctype/notification_settings/notification_settings.json
+msgctxt "Notification Settings"
+msgid "Mentions"
+msgstr "اشاره می کند"
+
+#: public/js/frappe/ui/page.html:40 public/js/frappe/ui/page.js:155
+msgid "Menu"
+msgstr "منو"
+
+#: public/js/frappe/form/toolbar.js:222 public/js/frappe/model/model.js:724
+msgid "Merge with existing"
+msgstr "ادغام با موجود"
+
+#: utils/nestedset.py:304
+msgid "Merging is only possible between Group-to-Group or Leaf Node-to-Leaf Node"
+msgstr "ادغام فقط بین گره گروه به گروه یا گره برگ به برگ امکان پذیر است"
+
+#: core/doctype/data_import/data_import.js:489
+#: public/js/frappe/ui/messages.js:175
+#: public/js/frappe/views/communication.js:111 www/message.html:3
+#: www/message.html:25
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text Editor field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Section Break field in DocType 'Auto Email Report'
+#. Label of a Text Editor field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text Editor field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Message"
+msgstr "پیام"
+
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
+msgctxt "Default title of the message dialog"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Code field in DocType 'Email Queue'
+#: email/doctype/email_queue/email_queue.json
+msgctxt "Email Queue"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text Editor field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Section Break field in DocType 'Notification'
+#. Label of a Code field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text Editor field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Small Text field in DocType 'SMS Log'
+#: core/doctype/sms_log/sms_log.json
+msgctxt "SMS Log"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Data field in DocType 'Success Action'
+#: core/doctype/success_action/success_action.json
+msgctxt "Success Action"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a Text field in DocType 'Workflow Document State'
+#: workflow/doctype/workflow_document_state/workflow_document_state.json
+msgctxt "Workflow Document State"
+msgid "Message"
+msgstr "پیام"
+
+#. Label of a HTML Editor field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Message (HTML)"
+msgstr "پیام (HTML)"
+
+#. Label of a Markdown Editor field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Message (Markdown)"
+msgstr "پیام (Markdown)"
+
+#. Label of a HTML field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Message Examples"
+msgstr "نمونه های پیام"
+
+#. Label of a Small Text field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Message ID"
+msgstr "شناسه پیام"
+
+#. Label of a Small Text field in DocType 'Email Queue'
+#: email/doctype/email_queue/email_queue.json
+msgctxt "Email Queue"
+msgid "Message ID"
+msgstr "شناسه پیام"
+
+#. Label of a Data field in DocType 'SMS Settings'
+#: core/doctype/sms_settings/sms_settings.json
+msgctxt "SMS Settings"
+msgid "Message Parameter"
+msgstr "پارامتر پیام"
+
+#. Label of a Select field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Message Type"
+msgstr "نوع پیام"
+
+#: public/js/frappe/views/communication.js:910
+msgid "Message clipped"
+msgstr "پیام بریده شد"
+
+#: email/doctype/email_account/email_account.py:317
+msgid "Message from server: {0}"
+msgstr "پیام از سرور: {0}"
+
+#: automation/doctype/auto_repeat/auto_repeat.js:102
+msgid "Message not setup"
+msgstr "پیام تنظیم نشده است"
+
+#. Description of the 'Success Message' (Text) field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Message to be displayed on successful completion"
+msgstr "پیامی که در صورت تکمیل موفقیت آمیز نمایش داده می شود"
+
+#. Label of a Code field in DocType 'Unhandled Email'
+#: email/doctype/unhandled_email/unhandled_email.json
+msgctxt "Unhandled Email"
+msgid "Message-id"
+msgstr "شناسه پیام"
+
+#. Label of a Code field in DocType 'Data Import Log'
+#: core/doctype/data_import_log/data_import_log.json
+msgctxt "Data Import Log"
+msgid "Messages"
+msgstr "پیام ها"
+
+#. Label of a Section Break field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Meta"
+msgstr "متا"
+
+#: website/doctype/web_page/web_page.js:124
+msgid "Meta Description"
+msgstr "توضیحات متا"
+
+#. Label of a Small Text field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Meta Description"
+msgstr "توضیحات متا"
+
+#. Label of a Small Text field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Meta Description"
+msgstr "توضیحات متا"
+
+#: website/doctype/web_page/web_page.js:131
+msgid "Meta Image"
+msgstr "تصویر متا"
+
+#. Label of a Attach Image field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Meta Image"
+msgstr "تصویر متا"
+
+#. Label of a Attach Image field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Meta Image"
+msgstr "تصویر متا"
+
+#. Label of a Section Break field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Meta Tags"
+msgstr "برچسب های متا"
+
+#. Label of a Section Break field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Meta Tags"
+msgstr "برچسب های متا"
+
+#. Label of a Table field in DocType 'Website Route Meta'
+#: website/doctype/website_route_meta/website_route_meta.json
+msgctxt "Website Route Meta"
+msgid "Meta Tags"
+msgstr "برچسب های متا"
+
+#: website/doctype/web_page/web_page.js:117
+msgid "Meta Title"
+msgstr "عنوان متا"
+
+#. Label of a Data field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Meta Title"
+msgstr "عنوان متا"
+
+#. Label of a Data field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Meta Title"
+msgstr "عنوان متا"
+
+#: website/doctype/web_page/web_page.js:110
+msgid "Meta title for SEO"
+msgstr "عنوان متا برای سئو"
+
+#. Label of a Data field in DocType 'Access Log'
+#: core/doctype/access_log/access_log.json
+msgctxt "Access Log"
+msgid "Method"
+msgstr "روش"
+
+#. Label of a Select field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Method"
+msgstr "روش"
+
+#. Option for the 'Send Alert On' (Select) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Method"
+msgstr "روش"
+
+#. Label of a Data field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Method"
+msgstr "روش"
+
+#. Label of a Select field in DocType 'Recorder'
+#: core/doctype/recorder/recorder.json
+msgctxt "Recorder"
+msgid "Method"
+msgstr "روش"
+
+#. Label of a Data field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Method"
+msgstr "روش"
+
+#: desk/doctype/number_card/number_card.py:70
+msgid "Method is required to create a number card"
+msgstr "روش برای ایجاد کارت شماره مورد نیاز است"
+
+#. Option for the 'Position' (Select) field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Mid Center"
+msgstr "مرکز میانی"
+
+#. Label of a Data field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Middle Name"
+msgstr "نام میانی"
+
+#. Label of a Data field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Middle Name"
+msgstr "نام میانی"
+
+#. Name of a DocType
+#: automation/doctype/milestone/milestone.json
+msgid "Milestone"
+msgstr "نقطه عطف"
+
+#. Label of a Link in the Tools Workspace
+#: automation/workspace/tools/tools.json
+msgctxt "Milestone"
+msgid "Milestone"
+msgstr "نقطه عطف"
+
+#. Name of a DocType
+#: automation/doctype/milestone_tracker/milestone_tracker.json
+msgid "Milestone Tracker"
+msgstr ""
+
+#. Label of a Link field in DocType 'Milestone'
+#: automation/doctype/milestone/milestone.json
+msgctxt "Milestone"
+msgid "Milestone Tracker"
+msgstr ""
+
+#. Option for the 'Function' (Select) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Minimum"
+msgstr "کمترین"
+
+#. Label of a Select field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Minimum Password Score"
+msgstr "حداقل امتیاز رمز عبور"
+
+#. Label of a Int field in DocType 'Package Release'
+#: core/doctype/package_release/package_release.json
+msgctxt "Package Release"
+msgid "Minor"
+msgstr "جزئی"
+
+#: integrations/doctype/ldap_settings/ldap_settings.py:102
+#: integrations/doctype/ldap_settings/ldap_settings.py:107
+#: integrations/doctype/ldap_settings/ldap_settings.py:116
+#: integrations/doctype/ldap_settings/ldap_settings.py:124
+#: integrations/doctype/ldap_settings/ldap_settings.py:332
+msgid "Misconfigured"
+msgstr "اشتباه پیکربندی شده است"
+
+#: desk/form/meta.py:213
+msgid "Missing DocType"
+msgstr "DocType وجود ندارد"
+
+#: core/doctype/doctype/doctype.py:1475
+msgid "Missing Field"
+msgstr "میدان گم شده"
+
+#: public/js/frappe/form/save.js:178
+msgid "Missing Fields"
+msgstr "فیلدهای گمشده"
+
+#: email/doctype/auto_email_report/auto_email_report.py:129
+msgid "Missing Filters Required"
+msgstr "فیلترهای از دست رفته مورد نیاز است"
+
+#: desk/form/assign_to.py:107
+msgid "Missing Permission"
+msgstr "مجوز از دست رفته"
+
+#: www/update-password.html:107 www/update-password.html:114
+msgid "Missing Value"
+msgstr "مقدار از دست رفته"
+
+#: public/js/frappe/ui/field_group.js:118
+#: public/js/frappe/widgets/widget_dialog.js:369
+#: public/js/workflow_builder/store.js:97
+#: workflow/doctype/workflow/workflow.js:71
+msgid "Missing Values Required"
+msgstr "مقادیر از دست رفته الزامی است"
+
+#: www/login.py:96
+msgid "Mobile"
+msgstr "سیار"
+
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
+msgid "Mobile No"
+msgstr "هیچ موبایل"
+
+#. Label of a Data field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Mobile No"
+msgstr "هیچ موبایل"
+
+#. Label of a Data field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Mobile No"
+msgstr "هیچ موبایل"
+
+#. Label of a Check field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Modal Trigger"
+msgstr "ماشه مدال"
+
+#. Label of a Card Break in the Build Workspace
+#: core/workspace/build/build.json
+msgid "Models"
+msgstr ""
+
+#: core/report/transaction_log_report/transaction_log_report.py:106
+#: social/doctype/energy_point_rule/energy_point_rule.js:43
+msgid "Modified By"
+msgstr "تغییر داده شده توسط"
+
+#: core/doctype/doctype/doctype_list.js:30
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Data field in DocType 'Block Module'
+#: core/doctype/block_module/block_module.json
+msgctxt "Block Module"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Dashboard'
+#: desk/doctype/dashboard/dashboard.json
+msgctxt "Dashboard"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Dashboard Chart Source'
+#: desk/doctype/dashboard_chart_source/dashboard_chart_source.json
+msgctxt "Dashboard Chart Source"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Page'
+#: core/doctype/page/page.json
+msgctxt "Page"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Print Format Field Template'
+#: printing/doctype/print_format_field_template/print_format_field_template.json
+msgctxt "Print Format Field Template"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Report'
+#: core/doctype/report/report.json
+msgctxt "Report"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'User Type Module'
+#: core/doctype/user_type_module/user_type_module.json
+msgctxt "User Type Module"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Web Template'
+#: website/doctype/web_template/web_template.json
+msgctxt "Web Template"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Workspace'
+#: desk/doctype/workspace/workspace.json
+msgctxt "Workspace"
+msgid "Module"
+msgstr "مدول"
+
+#. Label of a Link field in DocType 'Client Script'
+#: custom/doctype/client_script/client_script.json
+msgctxt "Client Script"
+msgid "Module (for export)"
+msgstr "ماژول (برای صادرات)"
+
+#. Label of a Link field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Module (for export)"
+msgstr "ماژول (برای صادرات)"
+
+#. Label of a Link field in DocType 'Property Setter'
+#: custom/doctype/property_setter/property_setter.json
+msgctxt "Property Setter"
+msgid "Module (for export)"
+msgstr "ماژول (برای صادرات)"
+
+#. Label of a Link field in DocType 'Server Script'
+#: core/doctype/server_script/server_script.json
+msgctxt "Server Script"
+msgid "Module (for export)"
+msgstr "ماژول (برای صادرات)"
+
+#. Label of a Link field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Module (for export)"
+msgstr "ماژول (برای صادرات)"
+
+#. Name of a DocType
+#: core/doctype/module_def/module_def.json
+msgid "Module Def"
+msgstr "ماژول Def"
+
+#. Label of a Link in the Build Workspace
+#: core/workspace/build/build.json
+msgctxt "Module Def"
+msgid "Module Def"
+msgstr "ماژول Def"
+
+#. Linked DocType in Package's connections
+#: core/doctype/package/package.json
+msgctxt "Package"
+msgid "Module Def"
+msgstr "ماژول Def"
+
+#. Label of a HTML field in DocType 'Module Profile'
+#: core/doctype/module_profile/module_profile.json
+msgctxt "Module Profile"
+msgid "Module HTML"
+msgstr "ماژول HTML"
+
+#. Label of a Data field in DocType 'Desktop Icon'
+#: desk/doctype/desktop_icon/desktop_icon.json
+msgctxt "Desktop Icon"
+msgid "Module Name"
+msgstr "نام ماژول"
+
+#. Label of a Data field in DocType 'Module Def'
+#: core/doctype/module_def/module_def.json
+msgctxt "Module Def"
+msgid "Module Name"
+msgstr "نام ماژول"
+
+#. Name of a DocType
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgid "Module Onboarding"
+msgstr "نصب ماژول"
+
+#. Label of a Link in the Build Workspace
+#: core/workspace/build/build.json
+msgctxt "Module Onboarding"
+msgid "Module Onboarding"
+msgstr "نصب ماژول"
+
+#. Name of a DocType
+#: core/doctype/module_profile/module_profile.json
+msgid "Module Profile"
+msgstr "نمایه ماژول"
+
+#. Label of a Link in the Users Workspace
+#: core/workspace/users/users.json
+msgctxt "Module Profile"
+msgid "Module Profile"
+msgstr "نمایه ماژول"
+
+#. Label of a Link field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Module Profile"
+msgstr "نمایه ماژول"
+
+#. Label of a Data field in DocType 'Module Profile'
+#: core/doctype/module_profile/module_profile.json
+msgctxt "Module Profile"
+msgid "Module Profile Name"
+msgstr "نام نمایه ماژول"
+
+#: desk/doctype/module_onboarding/module_onboarding.py:69
+msgid "Module onboarding progress reset"
+msgstr "بازنشانی پیشرفت ورود ماژول"
+
+#: custom/doctype/customize_form/customize_form.js:208
+msgid "Module to Export"
+msgstr "ماژول برای صادرات"
+
+#: modules/utils.py:255
+msgid "Module {} not found"
+msgstr "ماژول {} یافت نشد"
+
+#. Label of a Card Break in the Build Workspace
+#: core/workspace/build/build.json
+msgid "Modules"
+msgstr "ماژول ها"
+
+#. Group in Package's connections
+#: core/doctype/package/package.json
+msgctxt "Package"
+msgid "Modules"
+msgstr "ماژول ها"
+
+#. Label of a HTML field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Modules HTML"
+msgstr "ماژول های HTML"
+
+#. Option for the 'Day' (Select) field in DocType 'Assignment Rule Day'
+#: automation/doctype/assignment_rule_day/assignment_rule_day.json
+msgctxt "Assignment Rule Day"
+msgid "Monday"
+msgstr "دوشنبه"
+
+#. Option for the 'Day of Week' (Select) field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Monday"
+msgstr "دوشنبه"
+
+#. Option for the 'Day' (Select) field in DocType 'Auto Repeat Day'
+#: automation/doctype/auto_repeat_day/auto_repeat_day.json
+msgctxt "Auto Repeat Day"
+msgid "Monday"
+msgstr "دوشنبه"
+
+#. Label of a Check field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Monday"
+msgstr "دوشنبه"
+
+#. Option for the 'First Day of the Week' (Select) field in DocType 'System
+#. Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Monday"
+msgstr "دوشنبه"
+
+#. Option for the 'Font' (Select) field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Monospace"
+msgstr "تک فضا"
+
+#: public/js/frappe/views/calendar/calendar.js:269
+msgid "Month"
+msgstr "ماه"
+
+#: public/js/frappe/utils/common.js:400
+#: website/report/website_analytics/website_analytics.js:25
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Period' (Select) field in DocType 'Auto Email Report'
+#. Option for the 'Frequency' (Select) field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Time Interval' (Select) field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Point Allocation Periodicity' (Select) field in DocType
+#. 'Energy Point Settings'
+#: social/doctype/energy_point_settings/energy_point_settings.json
+msgctxt "Energy Point Settings"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Repeat On' (Select) field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Stats Time Interval' (Select) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Backup Frequency' (Select) field in DocType 'S3 Backup
+#. Settings'
+#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
+msgctxt "S3 Backup Settings"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Event Frequency' (Select) field in DocType 'Server Script'
+#: core/doctype/server_script/server_script.json
+msgctxt "Server Script"
+msgid "Monthly"
+msgstr "ماهانه"
+
+#. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Monthly Long"
+msgstr "ماهانه طولانی"
+
+#. Option for the 'Event Frequency' (Select) field in DocType 'Server Script'
+#: core/doctype/server_script/server_script.json
+msgctxt "Server Script"
+msgid "Monthly Long"
+msgstr "ماهانه طولانی"
+
+#: desk/page/user_profile/user_profile_controller.js:402
+msgid "Monthly Rank"
+msgstr "رتبه ماهانه"
+
+#: public/js/frappe/form/link_selector.js:39
+#: public/js/frappe/form/multi_select_dialog.js:43
+#: public/js/frappe/form/multi_select_dialog.js:70
+#: public/js/frappe/ui/toolbar/search.js:285
+#: public/js/frappe/ui/toolbar/search.js:300
+#: public/js/frappe/widgets/chart_widget.js:674
+#: templates/includes/list/list.html:23
+#: templates/includes/search_template.html:13
+msgid "More"
+msgstr "بیشتر"
+
+#. Label of a Section Break field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "More Information"
+msgstr "اطلاعات بیشتر"
+
+#. Label of a Section Break field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "More Information"
+msgstr "اطلاعات بیشتر"
+
+#. Label of a Section Break field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "More Information"
+msgstr "اطلاعات بیشتر"
+
+#. Label of a Tab Break field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "More Information"
+msgstr "اطلاعات بیشتر"
+
+#: website/doctype/help_article/templates/help_article.html:19
+#: website/doctype/help_article/templates/help_article.html:33
+msgid "More articles on {0}"
+msgstr "مقالات بیشتر در {0}"
+
+#. Description of the 'Footer' (Text Editor) field in DocType 'About Us
+#. Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "More content for the bottom of the page."
+msgstr "مطالب بیشتر برای پایین صفحه."
+
+#: public/js/frappe/ui/sort_selector.js:193
+msgid "Most Used"
+msgstr "بیشترین استفاده شده"
+
+#: utils/password.py:64
+msgid "Most probably your password is too long."
+msgstr "به احتمال زیاد رمز عبور شما خیلی طولانی است."
+
+#: core/doctype/communication/communication.js:86
+#: core/doctype/communication/communication.js:194
+#: core/doctype/communication/communication.js:212
+#: public/js/frappe/form/grid_row_form.js:42
+msgid "Move"
+msgstr "حرکت"
+
+#: public/js/frappe/form/grid_row.js:189
+msgid "Move To"
+msgstr "حرکت به"
+
+#: core/doctype/communication/communication.js:104
+msgid "Move To Trash"
+msgstr "انتقال به سطل زباله"
+
+#: public/js/frappe/form/form.js:176
+msgid "Move cursor to above row"
+msgstr "مکان نما را به ردیف بالا منتقل کنید"
+
+#: public/js/frappe/form/form.js:180
+msgid "Move cursor to below row"
+msgstr "مکان نما را به ردیف زیر منتقل کنید"
+
+#: public/js/frappe/form/form.js:184
+msgid "Move cursor to next column"
+msgstr "مکان نما را به ستون بعدی منتقل کنید"
+
+#: public/js/frappe/form/form.js:188
+msgid "Move cursor to previous column"
+msgstr "مکان نما را به ستون قبلی منتقل کنید"
+
+#: public/js/frappe/form/grid_row.js:165
+msgid "Move to Row Number"
+msgstr "به شماره ردیف بروید"
+
+#. Description of the 'Next on Click' (Check) field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Move to next step when clicked inside highlighted area."
+msgstr "با کلیک بر روی قسمت هایلایت شده به مرحله بعدی بروید."
+
+#. Description of the 'Parent Element Selector' (Data) field in DocType 'Form
+#. Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Mozilla doesn't support :has() so you can pass parent selector here as workaround"
+msgstr "موزیلا از :has() پشتیبانی نمیکند، بنابراین میتوانید انتخابگر والد را به عنوان راهحل عبور دهید"
+
+#: utils/nestedset.py:328
+msgid "Multiple root nodes not allowed."
+msgstr "چندین گره ریشه مجاز نیست."
+
+#. Label of a Select field in DocType 'Energy Point Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "Multiplier Field"
+msgstr "میدان ضرب"
+
+#. Description of the 'Import from Google Sheets' (Data) field in DocType 'Data
+#. Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Must be a publicly accessible Google Sheets URL"
+msgstr "باید یک URL برای عموم کاربرگنگار باشد"
+
+#. Description of the 'LDAP Search String' (Data) field in DocType 'LDAP
+#. Settings'
+#: integrations/doctype/ldap_settings/ldap_settings.json
+msgctxt "LDAP Settings"
+msgid "Must be enclosed in '()' and include '{0}', which is a placeholder for the user/login name. i.e. (&(objectclass=user)(uid={0}))"
+msgstr "باید در \"()\" محصور شود و شامل \"{0}\" باشد که یک مکان نگهدارنده برای نام کاربر/ورود است. یعنی (&(objectclass=user)(uid={0}))"
+
+#. Description of the 'Image Field' (Data) field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Must be of type \"Attach Image\""
+msgstr "باید از نوع «پیوست تصویر» باشد"
+
+#. Description of the 'Image Field' (Data) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Must be of type \"Attach Image\""
+msgstr "باید از نوع «پیوست تصویر» باشد"
+
+#: desk/query_report.py:200
+msgid "Must have report permission to access this report."
+msgstr "برای دسترسی به این گزارش باید مجوز گزارش را داشته باشد."
+
+#: core/doctype/report/report.py:145
+msgid "Must specify a Query to run"
+msgstr "برای اجرا باید یک Query مشخص کنید"
+
+#. Label of a Check field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Mute Sounds"
+msgstr "صداها را بی صدا کنید"
+
+#: templates/includes/web_sidebar.html:41
+#: website/doctype/web_form/web_form.py:400
+#: website/doctype/website_settings/website_settings.py:181 www/list.py:21
+#: www/me.html:4 www/me.html:8 www/update_password.py:10
+msgid "My Account"
+msgstr "حساب من"
+
+#. Label of a standard navbar item
+#. Type: Route
+#: hooks.py
+msgid "My Profile"
+msgstr "پروفایل من"
+
+#. Label of a standard navbar item
+#. Type: Action
+#: hooks.py
+msgid "My Settings"
+msgstr "تنظیمات من"
+
+#. Option for the 'Database Engine' (Select) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "MyISAM"
+msgstr ""
+
+#: workflow/doctype/workflow/workflow.js:19
+msgid "NOTE: If you add states or transitions in the table, it will be reflected in the Workflow Builder but you will have to position them manually. Also Workflow Builder is currently in BETA."
+msgstr "توجه: اگر حالتها یا انتقالها را به جدول اضافه کنید، در Workflow Builder منعکس میشود، اما باید آنها را به صورت دستی در موقعیت مکانی قرار دهید. همچنین Workflow Builder در حال حاضر در بتا است."
+
+#. Description of the 'LDAP Group Field' (Data) field in DocType 'LDAP
+#. Settings'
+#: integrations/doctype/ldap_settings/ldap_settings.json
+msgctxt "LDAP Settings"
+msgid "NOTE: This box is due for depreciation. Please re-setup LDAP to work with the newer settings"
+msgstr "توجه: این جعبه به دلیل استهلاک است. لطفاً LDAP را مجدداً تنظیم کنید تا با تنظیمات جدیدتر کار کند"
+
+#: public/js/frappe/form/layout.js:75
+#: public/js/frappe/form/multi_select_dialog.js:239
+#: public/js/frappe/form/save.js:154
+#: public/js/frappe/views/file/file_view.js:97
+#: website/doctype/website_slideshow/website_slideshow.js:25
+msgid "Name"
+msgstr "نام"
+
+#. Label of a Data field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Name"
+msgstr "نام"
+
+#. Label of a Data field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Name"
+msgstr "نام"
+
+#. Label of a Data field in DocType 'Slack Webhook URL'
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
+msgctxt "Slack Webhook URL"
+msgid "Name"
+msgstr "نام"
+
+#. Label of a Data field in DocType 'Workspace'
+#: desk/doctype/workspace/workspace.json
+msgctxt "Workspace"
+msgid "Name"
+msgstr "نام"
+
+#: integrations/doctype/webhook/webhook.js:29
+msgid "Name (Doc Name)"
+msgstr ""
+
+#: desk/utils.py:22
+msgid "Name already taken, please set a new name"
+msgstr "نام قبلاً گرفته شده است، لطفاً یک نام جدید تنظیم کنید"
+
+#: model/naming.py:453
+msgid "Name cannot contain special characters like {0}"
+msgstr "نام نمی تواند شامل نویسه های خاصی مانند {0} باشد"
+
+#: custom/doctype/custom_field/custom_field.js:91
+msgid "Name of the Document Type (DocType) you want this field to be linked to. e.g. Customer"
+msgstr "نام نوع سند (DocType) که می خواهید این فیلد به آن پیوند داده شود. به عنوان مثال مشتری"
+
+#: printing/page/print_format_builder/print_format_builder.js:117
+msgid "Name of the new Print Format"
+msgstr "نام قالب چاپ جدید"
+
+#: model/naming.py:448
+msgid "Name of {0} cannot be {1}"
+msgstr "نام {0} نمی تواند {1} باشد"
+
+#: utils/password_strength.py:174
+msgid "Names and surnames by themselves are easy to guess."
+msgstr "حدس زدن نام و نام خانوادگی به تنهایی آسان است."
+
+#. Label of a Section Break field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Naming"
+msgstr "نامگذاری"
+
+#. Label of a Section Break field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Naming"
+msgstr "نامگذاری"
+
+#. Label of a Section Break field in DocType 'Document Naming Rule'
+#: core/doctype/document_naming_rule/document_naming_rule.json
+msgctxt "Document Naming Rule"
+msgid "Naming"
+msgstr "نامگذاری"
+
+#. Description of the 'Auto Name' (Data) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Naming Options:\n"
+"Reference: {{ reference_doctype }} {{ reference_name }} to send document reference"
+msgstr "نکته پیشنهادی: برای ارسال مرجع سند، مرجع: {{ reference_doctype }} {{ reference_name }} را اضافه کنید"
+
+#: core/doctype/document_naming_rule/document_naming_rule.js:22
+msgid "Proceed"
+msgstr "ادامه دهید"
+
+#: public/js/frappe/views/reports/query_report.js:854
+msgid "Proceed Anyway"
+msgstr "در هر صورت انجام شود"
+
+#: public/js/frappe/form/controls/table.js:88
+msgid "Processing"
+msgstr "در حال پردازش"
+
+#: email/doctype/email_queue/email_queue.py:407
+msgid "Processing..."
+msgstr "در حال پردازش..."
+
+#. Group in User's connections
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Profile"
+msgstr "مشخصات"
+
+#: public/js/frappe/socketio_client.js:78
+msgid "Progress"
+msgstr "پیش رفتن"
+
+#: public/js/frappe/views/kanban/kanban_view.js:405
+msgid "Project"
+msgstr "پروژه"
+
+#: core/doctype/version/version_view.html:12
+#: core/doctype/version/version_view.html:37
+#: core/doctype/version/version_view.html:74
+msgid "Property"
+msgstr "ویژگی"
+
+#. Label of a Data field in DocType 'Property Setter'
+#: custom/doctype/property_setter/property_setter.json
+msgctxt "Property Setter"
+msgid "Property"
+msgstr "ویژگی"
+
+#. Label of a Section Break field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Property Depends On"
+msgstr "اموال بستگی دارد"
+
+#. Label of a Section Break field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Property Depends On"
+msgstr "اموال بستگی دارد"
+
+#. Name of a DocType
+#: custom/doctype/property_setter/property_setter.json
+msgid "Property Setter"
+msgstr "تنظیم کننده اموال"
+
+#. Linked DocType in Module Def's connections
+#: core/doctype/module_def/module_def.json
+msgctxt "Module Def"
+msgid "Property Setter"
+msgstr "تنظیم کننده اموال"
+
+#. Label of a Data field in DocType 'Property Setter'
+#: custom/doctype/property_setter/property_setter.json
+msgctxt "Property Setter"
+msgid "Property Type"
+msgstr "نوع ملک"
+
+#. Description of the 'Allowed File Extensions' (Small Text) field in DocType
+#. 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Provide a list of allowed file extensions for file uploads. Each line should contain one allowed file type. If unset, all file extensions are allowed. Example: \n"
+"[{\n"
+"\tfieldname: \"company\",\n"
+"\tlabel: __(\"Company\"),\n"
+"\tfieldtype: \"Link\",\n"
+"\toptions: \"Company\",\n"
+"\tdefault: frappe.defaults.get_user_default(\"Company\"),\n"
+"\treqd: 1\n"
+"},\n"
+"{\n"
+"\tfieldname: \"account\",\n"
+"\tlabel: __(\"Account\"),\n"
+"\tfieldtype: \"Link\",\n"
+"\toptions: \"Account\",\n"
+"\treqd: 1\n"
+"}]\n"
+""
+msgstr ""
+
+#. Description of the 'Method' (Data) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Set the path to a whitelisted function that will return the data for the number card in the format:\n\n"
+"\n"
+"{\n"
+"\t\"value\": value,\n"
+"\t\"fieldtype\": \"Currency\",\n"
+"\t\"route_options\": {\"from_date\": \"2023-05-23\"},\n"
+"\t\"route\": [\"query-report\", \"Permitted Documents For User\"]\n"
+"}"
+msgstr ""
+
+#: contacts/doctype/address_template/address_template.py:33
+msgid "Setting this Address Template as default as there is no other default"
+msgstr "تنظیم این الگوی آدرس به عنوان پیش فرض، زیرا هیچ پیش فرض دیگری وجود ندارد"
+
+#: desk/doctype/global_search_settings/global_search_settings.py:86
+msgid "Setting up Global Search documents."
+msgstr "تنظیم اسناد جستجوی سراسری"
+
+#: desk/page/setup_wizard/setup_wizard.js:273
+msgid "Setting up your system"
+msgstr "راه اندازی سیستم شما"
+
+#. Label of a Card Break in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+#: public/js/frappe/form/templates/print_layout.html:25
+#: public/js/frappe/ui/toolbar/toolbar.js:254
+#: public/js/frappe/views/workspace/workspace.js:521
+msgid "Settings"
+msgstr "تنظیمات"
+
+#. Label of a Tab Break field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Settings"
+msgstr "تنظیمات"
+
+#. Label of a Tab Break field in DocType 'User'
+#. Group in User's connections
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Settings"
+msgstr "تنظیمات"
+
+#. Label of a Tab Break field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Settings"
+msgstr "تنظیمات"
+
+#. Label of a Tab Break field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Settings"
+msgstr "تنظیمات"
+
+#. Label of a Table field in DocType 'Navbar Settings'
+#: core/doctype/navbar_settings/navbar_settings.json
+msgctxt "Navbar Settings"
+msgid "Settings Dropdown"
+msgstr "کشویی تنظیمات"
+
+#. Label of a Card Break in the Website Workspace
+#: public/js/frappe/ui/toolbar/search_utils.js:567
+#: website/workspace/website/website.json
+msgid "Setup"
+msgstr "برپایی"
+
+#. Option for the 'Show in Module Section' (Select) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Setup"
+msgstr "برپایی"
+
+#: core/page/permission_manager/permission_manager_help.html:27
+msgid "Setup > Customize Form"
+msgstr "راه اندازی > سفارشی کردن فرم"
+
+#: core/page/permission_manager/permission_manager_help.html:8
+msgid "Setup > User"
+msgstr "راه اندازی > کاربر"
+
+#: core/page/permission_manager/permission_manager_help.html:33
+msgid "Setup > User Permissions"
+msgstr "راه اندازی > مجوزهای کاربر"
+
+#. Title of an Onboarding Step
+#: custom/onboarding_step/workflows/workflows.json
+msgid "Setup Approval Workflows"
+msgstr ""
+
+#: public/js/frappe/views/reports/query_report.js:1661
+#: public/js/frappe/views/reports/report_view.js:1611
+msgid "Setup Auto Email"
+msgstr "تنظیم ایمیل خودکار"
+
+#: desk/page/setup_wizard/setup_wizard.js:204
+msgid "Setup Complete"
+msgstr "راه اندازی کامل شد"
+
+#. Label of a Check field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Setup Complete"
+msgstr "راه اندازی کامل شد"
+
+#. Title of an Onboarding Step
+#: custom/onboarding_step/role_permissions/role_permissions.json
+msgid "Setup Limited Access for a User"
+msgstr ""
+
+#. Title of an Onboarding Step
+#: custom/onboarding_step/naming_series/naming_series.json
+msgid "Setup Naming Series"
+msgstr ""
+
+#. Label of a Section Break field in DocType 'Document Naming Settings'
+#: core/doctype/document_naming_settings/document_naming_settings.json
+msgctxt "Document Naming Settings"
+msgid "Setup Series for transactions"
+msgstr "راه اندازی سری برای تراکنش ها"
+
+#: public/js/frappe/form/templates/form_sidebar.html:110
+msgid "Share"
+msgstr "اشتراک گذاری"
+
+#. Label of a Check field in DocType 'Custom DocPerm'
+#: core/doctype/custom_docperm/custom_docperm.json
+msgctxt "Custom DocPerm"
+msgid "Share"
+msgstr "اشتراک گذاری"
+
+#. Label of a Check field in DocType 'DocPerm'
+#: core/doctype/docperm/docperm.json
+msgctxt "DocPerm"
+msgid "Share"
+msgstr "اشتراک گذاری"
+
+#. Label of a Check field in DocType 'DocShare'
+#: core/doctype/docshare/docshare.json
+msgctxt "DocShare"
+msgid "Share"
+msgstr "اشتراک گذاری"
+
+#. Option for the 'Type' (Select) field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "Share"
+msgstr "اشتراک گذاری"
+
+#: public/js/frappe/form/sidebar/share.js:107
+msgid "Share With"
+msgstr "به اشتراک گذاشتن با"
+
+#: public/js/frappe/form/templates/set_sharing.html:49
+msgid "Share this document with"
+msgstr "این سند را با"
+
+#: public/js/frappe/form/sidebar/share.js:45
+msgid "Share {0} with"
+msgstr "اشتراک گذاری {0} با"
+
+#. Option for the 'Comment Type' (Select) field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Shared"
+msgstr "به اشتراک گذاشته شده است"
+
+#. Option for the 'Comment Type' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Shared"
+msgstr "به اشتراک گذاشته شده است"
+
+#: desk/form/assign_to.py:129
+msgid "Shared with the following Users with Read access:{0}"
+msgstr "با کاربران زیر با دسترسی خواندن به اشتراک گذاشته شده است:{0}"
+
+#. Option for the 'Address Type' (Select) field in DocType 'Address'
+#: contacts/doctype/address/address.json
+msgctxt "Address"
+msgid "Shipping"
+msgstr "حمل دریایی"
+
+#: public/js/frappe/form/templates/address_list.html:25
+msgid "Shipping Address"
+msgstr "آدرس حمل و نقل"
+
+#. Option for the 'Address Type' (Select) field in DocType 'Address'
+#: contacts/doctype/address/address.json
+msgctxt "Address"
+msgid "Shop"
+msgstr "خرید کنید"
+
+#. Label of a Data field in DocType 'Blogger'
+#: website/doctype/blogger/blogger.json
+msgctxt "Blogger"
+msgid "Short Name"
+msgstr "نام کوتاه"
+
+#: utils/password_strength.py:91
+msgid "Short keyboard patterns are easy to guess"
+msgstr "حدس زدن الگوهای صفحه کلید کوتاه آسان است"
+
+#: public/js/frappe/form/grid_row_form.js:42
+msgid "Shortcuts"
+msgstr "میانبرها"
+
+#. Label of a Table field in DocType 'Workspace'
+#. Label of a Tab Break field in DocType 'Workspace'
+#: desk/doctype/workspace/workspace.json
+msgctxt "Workspace"
+msgid "Shortcuts"
+msgstr "میانبرها"
+
+#: public/js/frappe/widgets/base_widget.js:46
+#: public/js/frappe/widgets/base_widget.js:176
+#: templates/includes/login/login.js:86 www/login.html:30
+msgid "Show"
+msgstr "نمایش دهید"
+
+#. Label of a Check field in DocType 'Blog Settings'
+#: website/doctype/blog_settings/blog_settings.json
+msgctxt "Blog Settings"
+msgid "Show \"Call to Action\" in Blog"
+msgstr "نمایش \"Call to Action\" در وبلاگ"
+
+#. Label of a Check field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Show Absolute Values"
+msgstr "نمایش مقادیر مطلق"
+
+#: public/js/frappe/form/templates/form_sidebar.html:78
+msgid "Show All"
+msgstr "نمایش همه"
+
+#. Label of a Check field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Show Attachments"
+msgstr "نمایش پیوست ها"
+
+#: desk/doctype/calendar_view/calendar_view.js:10
+msgid "Show Calendar"
+msgstr "نمایش تقویم"
+
+#. Label of a Check field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Show Currency Symbol on Right Side"
+msgstr "نشان دادن نماد ارز در سمت راست"
+
+#: desk/doctype/dashboard/dashboard.js:6
+msgid "Show Dashboard"
+msgstr "نمایش داشبورد"
+
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Show Dashboard"
+msgstr "نمایش داشبورد"
+
+#. Label of a Check field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Show Dashboard"
+msgstr "نمایش داشبورد"
+
+#. Label of a Check field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Show Dashboard"
+msgstr "نمایش داشبورد"
+
+#. Label of a Button field in DocType 'Access Log'
+#: core/doctype/access_log/access_log.json
+msgctxt "Access Log"
+msgid "Show Document"
+msgstr "نمایش سند"
+
+#: www/error.html:41 www/error.html:59
+msgid "Show Error"
+msgstr "نمایش خطا"
+
+#: public/js/frappe/form/layout.js:545
+msgid "Show Fieldname (click to copy on clipboard)"
+msgstr "نمایش نام فیلد (برای کپی در کلیپ بورد کلیک کنید)"
+
+#. Label of a Check field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Show First Document Tour"
+msgstr "نمایش اولین تور سند"
+
+#. Option for the 'Action' (Select) field in DocType 'Onboarding Step'
+#. Label of a Check field in DocType 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Show Form Tour"
+msgstr "نمایش تور فرم"
+
+#. Label of a Check field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Show Full Error and Allow Reporting of Issues to the Developer"
+msgstr "نمایش خطای کامل و اجازه گزارش مشکلات به برنامهنویس"
+
+#. Label of a Check field in DocType 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Show Full Form?"
+msgstr "نمایش فرم کامل؟"
+
+#: public/js/frappe/ui/keyboard.js:228
+msgid "Show Keyboard Shortcuts"
+msgstr "نمایش میانبرهای صفحه کلید"
+
+#: public/js/frappe/views/kanban/kanban_settings.js:30
+msgid "Show Labels"
+msgstr "نمایش برچسب ها"
+
+#. Label of a Check field in DocType 'Kanban Board'
+#: desk/doctype/kanban_board/kanban_board.json
+msgctxt "Kanban Board"
+msgid "Show Labels"
+msgstr "نمایش برچسب ها"
+
+#. Label of a Check field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Show Language Picker"
+msgstr "نمایش انتخابگر زبان"
+
+#. Label of a Check field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Show Line Breaks after Sections"
+msgstr "نمایش خطوط شکسته بعد از بخش ها"
+
+#. Label of a Check field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Show List"
+msgstr "نمایش لیست"
+
+#: desk/page/user_profile/user_profile_controller.js:472
+msgid "Show More Activity"
+msgstr "نمایش فعالیت بیشتر"
+
+#. Label of a Check field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Show Only Failed Logs"
+msgstr "نمایش فقط گزارش های ناموفق"
+
+#. Label of a Check field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Show Percentage Stats"
+msgstr "نمایش آمار درصد"
+
+#: core/report/permitted_documents_for_user/permitted_documents_for_user.js:30
+msgid "Show Permissions"
+msgstr "نمایش مجوزها"
+
+#: public/js/form_builder/form_builder.bundle.js:31
+#: public/js/form_builder/form_builder.bundle.js:43
+#: public/js/print_format_builder/print_format_builder.bundle.js:18
+#: public/js/print_format_builder/print_format_builder.bundle.js:54
+msgid "Show Preview"
+msgstr "نمایش پیش نمایش"
+
+#. Label of a Check field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Show Preview Popup"
+msgstr "نمایش پنجره پیش نمایش"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Show Preview Popup"
+msgstr "نمایش پنجره پیش نمایش"
+
+#. Label of a Check field in DocType 'System Console'
+#: desk/doctype/system_console/system_console.json
+msgctxt "System Console"
+msgid "Show Processlist"
+msgstr "نمایش لیست فرآیندها"
+
+#: core/doctype/error_log/error_log.js:9
+msgid "Show Related Errors"
+msgstr "نمایش خطاهای مرتبط"
+
+#: core/doctype/prepared_report/prepared_report.js:43
+#: core/doctype/report/report.js:13
+msgid "Show Report"
+msgstr "نمایش گزارش"
+
+#. Label of a Button field in DocType 'Access Log'
+#: core/doctype/access_log/access_log.json
+msgctxt "Access Log"
+msgid "Show Report"
+msgstr "نمایش گزارش"
+
+#: public/js/frappe/list/list_filter.js:15
+#: public/js/frappe/list/list_filter.js:87
+msgid "Show Saved"
+msgstr "نمایش ذخیره شده"
+
+#. Label of a Check field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Show Section Headings"
+msgstr "نمایش سرفصل های بخش"
+
+#. Label of a Check field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Show Sidebar"
+msgstr "نمایش نوار کناری"
+
+#. Label of a Check field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Show Sidebar"
+msgstr "نمایش نوار کناری"
+
+#: public/js/frappe/list/list_sidebar.html:66
+#: public/js/frappe/list/list_view.js:1573
+msgid "Show Tags"
+msgstr "نمایش برچسب ها"
+
+#. Label of a Check field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Show Title"
+msgstr "نمایش عنوان"
+
+#. Label of a Check field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Show Title in Link Fields"
+msgstr "نمایش عنوان در فیلدهای پیوند"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Show Title in Link Fields"
+msgstr "نمایش عنوان در فیلدهای پیوند"
+
+#: public/js/frappe/views/reports/report_view.js:1455
+msgid "Show Totals"
+msgstr "نمایش مجموع"
+
+#: desk/doctype/form_tour/form_tour.js:116
+msgid "Show Tour"
+msgstr "نمایش تور"
+
+#: core/doctype/data_import/data_import.js:454
+msgid "Show Traceback"
+msgstr "نمایش ردیابی"
+
+#: public/js/frappe/data_import/import_preview.js:200
+msgid "Show Warnings"
+msgstr "نمایش هشدارها"
+
+#: public/js/frappe/views/calendar/calendar.js:185
+msgid "Show Weekends"
+msgstr "نمایش آخر هفته ها"
+
+#. Label of a Check field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Show account deletion link in My Account page"
+msgstr "پیوند حذف حساب را در صفحه حساب من نشان دهید"
+
+#: core/doctype/version/version.js:6
+msgid "Show all Versions"
+msgstr "نمایش همه نسخه ها"
+
+#: public/js/frappe/form/footer/form_timeline.js:67
+msgid "Show all activity"
+msgstr "نمایش تمام فعالیت ها"
+
+#: website/doctype/blog_post/templates/blog_post_list.html:24
+msgid "Show all blogs"
+msgstr "نمایش همه وبلاگ ها"
+
+#. Label of a Small Text field in DocType 'Email Queue'
+#: email/doctype/email_queue/email_queue.json
+msgctxt "Email Queue"
+msgid "Show as cc"
+msgstr "نمایش به عنوان سی سی"
+
+#. Label of a Check field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Show footer on login"
+msgstr "نمایش پاورقی در هنگام ورود"
+
+#. Description of the 'Show Full Form?' (Check) field in DocType 'Onboarding
+#. Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Show full form instead of a quick entry modal"
+msgstr "نمایش فرم کامل به جای مدال ورود سریع"
+
+#. Label of a Select field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Show in Module Section"
+msgstr "نمایش در بخش ماژول"
+
+#. Label of a Check field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Show in filter"
+msgstr "نمایش در فیلتر"
+
+#. Label of a Check field in DocType 'Slack Webhook URL'
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
+msgctxt "Slack Webhook URL"
+msgid "Show link to document"
+msgstr "نمایش پیوند به سند"
+
+#: public/js/frappe/form/layout.js:247 public/js/frappe/form/layout.js:265
+msgid "Show more details"
+msgstr "نمایش جزئیات بیشتر"
+
+#. Description of the 'Stats Time Interval' (Select) field in DocType 'Number
+#. Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Show percentage difference according to this time interval"
+msgstr "با توجه به این فاصله زمانی، درصد اختلاف را نشان دهید"
+
+#. Description of the 'Title Prefix' (Data) field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Show title in browser window as \"Prefix - title\""
+msgstr "نمایش عنوان در پنجره مرورگر به عنوان \"پیشوند - عنوان\""
+
+#: public/js/frappe/widgets/onboarding_widget.js:148
+msgid "Show {0} List"
+msgstr "نمایش فهرست {0}"
+
+#: public/js/frappe/views/reports/report_view.js:475
+msgid "Showing only Numeric fields from Report"
+msgstr "نمایش فقط فیلدهای عددی از گزارش"
+
+#: public/js/frappe/data_import/import_preview.js:149
+msgid "Showing only first {0} rows out of {1}"
+msgstr "نمایش تنها {0} ردیف اول از {1}"
+
+#. Label of a Check field in DocType 'Role'
+#: core/doctype/role/role.json
+msgctxt "Role"
+msgid "Sidebar"
+msgstr "نوار کناری"
+
+#. Label of a Table field in DocType 'Website Sidebar'
+#: website/doctype/website_sidebar/website_sidebar.json
+msgctxt "Website Sidebar"
+msgid "Sidebar Items"
+msgstr "موارد نوار کناری"
+
+#. Label of a Section Break field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Sidebar Settings"
+msgstr "تنظیمات نوار کناری"
+
+#. Label of a Section Break field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Sidebar and Comments"
+msgstr "نوار کناری و نظرات"
+
+#. Label of a Section Break field in DocType 'Email Group'
+#: email/doctype/email_group/email_group.json
+msgctxt "Email Group"
+msgid "Sign Up and Confirmation"
+msgstr "ثبت نام و تایید"
+
+#: core/doctype/user/user.py:1000
+msgid "Sign Up is disabled"
+msgstr "ثبت نام غیرفعال است"
+
+#: templates/signup.html:16 www/login.html:120 www/login.html:136
+#: www/update-password.html:35
+msgid "Sign up"
+msgstr "ثبت نام"
+
+#. Label of a Select field in DocType 'Social Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "Sign ups"
+msgstr "ثبت نام کنید"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Signature"
+msgstr "امضا"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Signature"
+msgstr "امضا"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Signature"
+msgstr "امضا"
+
+#. Label of a Section Break field in DocType 'Email Account'
+#. Label of a Text Editor field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Signature"
+msgstr "امضا"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Signature"
+msgstr "امضا"
+
+#: www/login.html:148
+msgid "Signup Disabled"
+msgstr "ثبت نام غیرفعال شد"
+
+#: www/login.html:149
+msgid "Signups have been disabled for this website."
+msgstr "ثبت نام برای این وب سایت غیرفعال شده است."
+
+#. Description of the 'Unassign Condition' (Code) field in DocType 'Assignment
+#. Rule'
+#: automation/doctype/assignment_rule/assignment_rule.json
+msgctxt "Assignment Rule"
+msgid "Simple Python Expression, Example: Status in (\"Closed\", \"Cancelled\")"
+msgstr "عبارت ساده پایتون، مثال: وضعیت در (\"بسته\"، \"لغو\")"
+
+#. Description of the 'Close Condition' (Code) field in DocType 'Assignment
+#. Rule'
+#: automation/doctype/assignment_rule/assignment_rule.json
+msgctxt "Assignment Rule"
+msgid "Simple Python Expression, Example: Status in (\"Invalid\")"
+msgstr "عبارت ساده پایتون، مثال: وضعیت در (\"نامعتبر\")"
+
+#. Description of the 'Assign Condition' (Code) field in DocType 'Assignment
+#. Rule'
+#: automation/doctype/assignment_rule/assignment_rule.json
+msgctxt "Assignment Rule"
+msgid "Simple Python Expression, Example: status == 'Open' and type == 'Bug'"
+msgstr "عبارت ساده پایتون، مثال: status == 'Open' و نوع == 'Bug'"
+
+#. Label of a Int field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Simultaneous Sessions"
+msgstr "جلسات همزمان"
+
+#: custom/doctype/customize_form/customize_form.py:121
+msgid "Single DocTypes cannot be customized."
+msgstr "Single DocType ها را نمی توان سفارشی کرد."
+
+#: core/doctype/doctype/doctype_list.js:67
+msgid "Single Types have only one record no tables associated. Values are stored in tabSingles"
+msgstr "Single Type ها فقط یک رکورد دارند و هیچ جدولی مرتبط نیست. مقادیر در tabSingles ذخیره می شوند"
+
+#. Description of the 'Is Single' (Check) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Single Types have only one record no tables associated. Values are stored in tabSingles"
+msgstr "Single Type ها فقط یک رکورد دارند و هیچ جدولی مرتبط نیست. مقادیر در tabSingles ذخیره می شوند"
+
+#: database/database.py:237
+msgid "Site is running in read only mode for maintenance or site update, this action can not be performed right now. Please try again later."
+msgstr "سایت در حالت فقط خواندنی برای نگهداری یا به روز رسانی سایت در حال اجرا است، این عمل در حال حاضر قابل انجام نیست. لطفاً بعداً دوباره امتحان کنید."
+
+#: public/js/frappe/views/file/file_view.js:317
+msgid "Size"
+msgstr "اندازه"
+
+#: public/js/frappe/widgets/onboarding_widget.js:82
+#: public/js/onboarding_tours/onboarding_tours.js:18
+msgid "Skip"
+msgstr "پرش کنید"
+
+#. Label of a Check field in DocType 'OAuth Client'
+#: integrations/doctype/oauth_client/oauth_client.json
+msgctxt "OAuth Client"
+msgid "Skip Authorization"
+msgstr "رد شدن از مجوز"
+
+#. Label of a Select field in DocType 'OAuth Provider Settings'
+#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+msgctxt "OAuth Provider Settings"
+msgid "Skip Authorization"
+msgstr "رد شدن از مجوز"
+
+#: public/js/frappe/widgets/onboarding_widget.js:337
+msgid "Skip Step"
+msgstr "مرحله پرش"
+
+#. Label of a Check field in DocType 'Patch Log'
+#: core/doctype/patch_log/patch_log.json
+msgctxt "Patch Log"
+msgid "Skipped"
+msgstr "رد شد"
+
+#: core/doctype/data_import/importer.py:902
+msgid "Skipping Duplicate Column {0}"
+msgstr "پرش از ستون تکراری {0}"
+
+#: core/doctype/data_import/importer.py:927
+msgid "Skipping Untitled Column"
+msgstr "پرش از ستون بدون عنوان"
+
+#: core/doctype/data_import/importer.py:913
+msgid "Skipping column {0}"
+msgstr "پرش از ستون {0}"
+
+#: modules/utils.py:158
+msgid "Skipping fixture syncing for doctype {0} from file {1}"
+msgstr "رد شدن از همگام سازی ثابت برای doctype {0} از فایل {1}"
+
+#: core/doctype/data_import/data_import.js:39
+msgid "Skipping {0} of {1}, {2}"
+msgstr "پرش از {0} از {1}، {2}"
+
+#. Label of a Data field in DocType 'Contact Us Settings'
+#: website/doctype/contact_us_settings/contact_us_settings.json
+msgctxt "Contact Us Settings"
+msgid "Skype"
+msgstr "اسکایپ"
+
+#. Option for the 'Channel' (Select) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Slack"
+msgstr "سستی"
+
+#. Label of a Link field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Slack Channel"
+msgstr "کانال شل"
+
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.py:65
+msgid "Slack Webhook Error"
+msgstr "خطای Slack Webhook"
+
+#. Name of a DocType
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
+msgid "Slack Webhook URL"
+msgstr "URL Webhook شل"
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Slack Webhook URL"
+msgid "Slack Webhook URL"
+msgstr "URL Webhook شل"
+
+#. Label of a Link field in DocType 'Web Page'
+#. Option for the 'Content Type' (Select) field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Slideshow"
+msgstr "نمایش اسلاید"
+
+#. Label of a Table field in DocType 'Website Slideshow'
+#: website/doctype/website_slideshow/website_slideshow.json
+msgctxt "Website Slideshow"
+msgid "Slideshow Items"
+msgstr "موارد نمایش اسلاید"
+
+#. Label of a Data field in DocType 'Website Slideshow'
+#: website/doctype/website_slideshow/website_slideshow.json
+msgctxt "Website Slideshow"
+msgid "Slideshow Name"
+msgstr "نام نمایش اسلاید"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Small Text"
+msgstr "متن کوچک"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Small Text"
+msgstr "متن کوچک"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Small Text"
+msgstr "متن کوچک"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Small Text"
+msgstr "متن کوچک"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Template Field'
+#: website/doctype/web_template_field/web_template_field.json
+msgctxt "Web Template Field"
+msgid "Small Text"
+msgstr "متن کوچک"
+
+#. Label of a Currency field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Smallest Currency Fraction Value"
+msgstr "کوچکترین ارزش کسری ارز"
+
+#. Description of the 'Smallest Currency Fraction Value' (Currency) field in
+#. DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Smallest circulating fraction unit (coin). For e.g. 1 cent for USD and it should be entered as 0.01"
+msgstr "کوچکترین واحد کسر در گردش (سکه). برای مثال 1 سنت برای USD و باید به عنوان 0.01 وارد شود"
+
+#: printing/doctype/letter_head/letter_head.js:32
+msgid "Snippet and more variables: {0}"
+msgstr "Snippet و متغیرهای بیشتر: {0}"
+
+#. Name of a DocType
+#: website/doctype/social_link_settings/social_link_settings.json
+msgid "Social Link Settings"
+msgstr "تنظیمات پیوند اجتماعی"
+
+#. Label of a Select field in DocType 'Social Link Settings'
+#: website/doctype/social_link_settings/social_link_settings.json
+msgctxt "Social Link Settings"
+msgid "Social Link Type"
+msgstr "نوع پیوند اجتماعی"
+
+#. Name of a DocType
+#: integrations/doctype/social_login_key/social_login_key.json
+msgid "Social Login Key"
+msgstr "کلید ورود به سیستم اجتماعی"
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Social Login Key"
+msgid "Social Login Key"
+msgstr "کلید ورود به سیستم اجتماعی"
+
+#. Label of a Select field in DocType 'Social Login Key'
+#: integrations/doctype/social_login_key/social_login_key.json
+msgctxt "Social Login Key"
+msgid "Social Login Provider"
+msgstr "ارائه دهنده ورود به سیستم اجتماعی"
+
+#. Label of a Table field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Social Logins"
+msgstr "ورود به سیستم اجتماعی"
+
+#. Option for the 'Delivery Status' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Soft-Bounced"
+msgstr ""
+
+#: printing/page/print_format_builder/print_format_builder_column_selector.html:4
+msgid "Some columns might get cut off when printing to PDF. Try to keep number of columns under 10."
+msgstr "برخی از ستون ها ممکن است هنگام چاپ به PDF قطع شوند. سعی کنید تعداد ستون ها کمتر از 10 باشد."
+
+#: public/js/frappe/desk.js:20
+msgid "Some of the features might not work in your browser. Please update your browser to the latest version."
+msgstr "برخی از ویژگی ها ممکن است در مرورگر شما کار نکنند. لطفا مرورگر خود را به آخرین نسخه به روز کنید."
+
+#: public/js/frappe/views/translation_manager.js:101
+msgid "Something went wrong"
+msgstr "مشکلی پیش آمد"
+
+#: integrations/doctype/google_calendar/google_calendar.py:117
+msgid "Something went wrong during the token generation. Click on {0} to generate a new one."
+msgstr "در طول تولید توکن مشکلی پیش آمد. برای ایجاد یک مورد جدید، روی {0} کلیک کنید."
+
+#: templates/includes/login/login.js:294
+msgid "Something went wrong."
+msgstr "مشکلی پیش آمد."
+
+#: public/js/frappe/views/pageview.js:114
+msgid "Sorry! I could not find what you were looking for."
+msgstr "متاسف! من نتونستم چیزی که دنبالش بودی رو پیدا کنم."
+
+#: public/js/frappe/views/pageview.js:122
+msgid "Sorry! You are not permitted to view this page."
+msgstr "متاسف! شما مجاز به مشاهده این صفحه نیستید."
+
+#: public/js/frappe/utils/datatable.js:6
+msgid "Sort Ascending"
+msgstr "مرتب سازی صعودی"
+
+#: public/js/frappe/utils/datatable.js:7
+msgid "Sort Descending"
+msgstr "مرتب سازی نزولی"
+
+#. Label of a Select field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Sort Field"
+msgstr "فیلد مرتب سازی"
+
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Sort Options"
+msgstr "گزینه های مرتب سازی"
+
+#. Label of a Check field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Sort Options"
+msgstr "گزینه های مرتب سازی"
+
+#. Label of a Check field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Sort Options"
+msgstr "گزینه های مرتب سازی"
+
+#. Label of a Select field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Sort Order"
+msgstr "ترتیب مرتب سازی"
+
+#: core/doctype/doctype/doctype.py:1499
+msgid "Sort field {0} must be a valid fieldname"
+msgstr "فیلد مرتب سازی {0} باید یک نام فیلد معتبر باشد"
+
+#: public/js/frappe/ui/toolbar/about.js:8 public/js/frappe/utils/utils.js:1706
+#: website/report/website_analytics/website_analytics.js:38
+msgid "Source"
+msgstr "منبع"
+
+#. Label of a Data field in DocType 'Web Page View'
+#: website/doctype/web_page_view/web_page_view.json
+msgctxt "Web Page View"
+msgid "Source"
+msgstr "منبع"
+
+#. Label of a Small Text field in DocType 'Website Route Redirect'
+#: website/doctype/website_route_redirect/website_route_redirect.json
+msgctxt "Website Route Redirect"
+msgid "Source"
+msgstr "منبع"
+
+#. Label of a Data field in DocType 'Dashboard Chart Source'
+#: desk/doctype/dashboard_chart_source/dashboard_chart_source.json
+msgctxt "Dashboard Chart Source"
+msgid "Source Name"
+msgstr "نام منبع"
+
+#: public/js/frappe/views/translation_manager.js:38
+msgid "Source Text"
+msgstr "متن منبع"
+
+#. Label of a Code field in DocType 'Translation'
+#: core/doctype/translation/translation.json
+msgctxt "Translation"
+msgid "Source Text"
+msgstr "متن منبع"
+
+#: public/js/frappe/views/workspace/blocks/spacer.js:23
+msgid "Spacer"
+msgstr "اسپیسر"
+
+#. Option for the 'Email Status' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Spam"
+msgstr "هرزنامه ها"
+
+#. Option for the 'Service' (Select) field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "SparkPost"
+msgstr ""
+
+#: custom/doctype/custom_field/custom_field.js:83
+msgid "Special Characters are not allowed"
+msgstr "کاراکترهای خاص مجاز نیستند"
+
+#: model/naming.py:58
+msgid "Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}"
+msgstr "نویسههای ویژه به جز «-»، «#»، «.»، «/»، «{{» و «}}» در نامگذاری سری {0} مجاز نیستند"
+
+#. Label of a Attach Image field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Splash Image"
+msgstr "تصویر اسپلش"
+
+#: desk/reportview.py:363 public/js/frappe/web_form/web_form_list.js:175
+#: templates/print_formats/standard_macros.html:44
+msgid "Sr"
+msgstr "پدر"
+
+#: core/doctype/recorder/recorder.js:33
+msgid "Stack Trace"
+msgstr "ردیابی پشته"
+
+#. Label of a HTML field in DocType 'Recorder Query'
+#: core/doctype/recorder_query/recorder_query.json
+msgctxt "Recorder Query"
+msgid "Stack Trace"
+msgstr "ردیابی پشته"
+
+#: core/doctype/user_type/user_type_list.js:5
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Check field in DocType 'Desktop Icon'
+#: desk/doctype/desktop_icon/desktop_icon.json
+msgctxt "Desktop Icon"
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Select field in DocType 'Page'
+#: core/doctype/page/page.json
+msgctxt "Page"
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Select field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Check field in DocType 'Print Format Field Template'
+#: printing/doctype/print_format_field_template/print_format_field_template.json
+msgctxt "Print Format Field Template"
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Check field in DocType 'Print Style'
+#: printing/doctype/print_style/print_style.json
+msgctxt "Print Style"
+msgid "Standard"
+msgstr "استاندارد"
+
+#. Label of a Check field in DocType 'Web Template'
+#: website/doctype/web_template/web_template.json
+msgctxt "Web Template"
+msgid "Standard"
+msgstr "استاندارد"
+
+#: model/delete_doc.py:78
+msgid "Standard DocType can not be deleted."
+msgstr "DocType استاندارد را نمی توان حذف کرد."
+
+#: core/doctype/doctype/doctype.py:223
+msgid "Standard DocType cannot have default print format, use Customize Form"
+msgstr "DocType استاندارد نمی تواند قالب چاپ پیش فرض داشته باشد، از Customize Form استفاده کنید"
+
+#: desk/doctype/dashboard/dashboard.py:58
+msgid "Standard Not Set"
+msgstr "استاندارد تنظیم نشده است"
+
+#: printing/doctype/print_format/print_format.py:73
+msgid "Standard Print Format cannot be updated"
+msgstr "قالب استاندارد چاپ را نمی توان به روز کرد"
+
+#: printing/doctype/print_style/print_style.py:31
+msgid "Standard Print Style cannot be changed. Please duplicate to edit."
+msgstr "سبک چاپ استاندارد قابل تغییر نیست. لطفا برای ویرایش کپی کنید"
+
+#: desk/reportview.py:314
+msgid "Standard Reports cannot be deleted"
+msgstr "گزارش های استاندارد را نمی توان حذف کرد"
+
+#: desk/reportview.py:285
+msgid "Standard Reports cannot be edited"
+msgstr "گزارش های استاندارد قابل ویرایش نیستند"
+
+#. Label of a Section Break field in DocType 'Portal Settings'
+#: website/doctype/portal_settings/portal_settings.json
+msgctxt "Portal Settings"
+msgid "Standard Sidebar Menu"
+msgstr "منوی نوار کناری استاندارد"
+
+#: website/doctype/web_form/web_form.js:30
+msgid "Standard Web Forms can not be modified, duplicate the Web Form instead."
+msgstr ""
+
+#: website/doctype/web_page/web_page.js:92
+msgid "Standard rich text editor with controls"
+msgstr "ویرایشگر متن غنی استاندارد با کنترل"
+
+#: core/doctype/role/role.py:62
+msgid "Standard roles cannot be disabled"
+msgstr "نقش های استاندارد را نمی توان غیرفعال کرد"
+
+#: core/doctype/role/role.py:49
+msgid "Standard roles cannot be renamed"
+msgstr "نقش های استاندارد را نمی توان تغییر نام داد"
+
+#: core/doctype/user_type/user_type.py:60
+msgid "Standard user type {0} can not be deleted."
+msgstr "نوع کاربر استاندارد {0} قابل حذف نیست."
+
+#: templates/emails/energy_points_summary.html:33
+msgid "Standings"
+msgstr "جدول رده بندی"
+
+#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:296
+#: printing/page/print/print.js:343
+msgid "Start"
+msgstr "شروع کنید"
+
+#: public/js/frappe/utils/common.js:409
+msgid "Start Date"
+msgstr "تاریخ شروع"
+
+#. Label of a Date field in DocType 'Audit Trail'
+#: core/doctype/audit_trail/audit_trail.json
+msgctxt "Audit Trail"
+msgid "Start Date"
+msgstr "تاریخ شروع"
+
+#. Label of a Date field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Start Date"
+msgstr "تاریخ شروع"
+
+#. Label of a Datetime field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Start Date"
+msgstr "تاریخ شروع"
+
+#. Label of a Select field in DocType 'Calendar View'
+#: desk/doctype/calendar_view/calendar_view.json
+msgctxt "Calendar View"
+msgid "Start Date Field"
+msgstr "فیلد تاریخ شروع"
+
+#: core/doctype/data_import/data_import.js:110
+msgid "Start Import"
+msgstr "واردات را شروع کنید"
+
+#: core/doctype/recorder/recorder_list.js:201
+msgid "Start Recording"
+msgstr "شروع ضبط"
+
+#. Label of a Datetime field in DocType 'RQ Worker'
+#: core/doctype/rq_worker/rq_worker.json
+msgctxt "RQ Worker"
+msgid "Start Time"
+msgstr "زمان شروع"
+
+#: templates/includes/comments/comments.html:8
+msgid "Start a new discussion"
+msgstr "بحث جدیدی را شروع کنید"
+
+#: core/doctype/data_export/exporter.py:22
+msgid "Start entering data below this line"
+msgstr "شروع به وارد کردن داده ها در زیر این خط کنید"
+
+#: printing/page/print_format_builder/print_format_builder.js:165
+msgid "Start new Format"
+msgstr "فرمت جدید را شروع کنید"
+
+#. Option for the 'SSL/TLS Mode' (Select) field in DocType 'LDAP Settings'
+#: integrations/doctype/ldap_settings/ldap_settings.json
+msgctxt "LDAP Settings"
+msgid "StartTLS"
+msgstr ""
+
+#. Option for the 'Status' (Select) field in DocType 'Prepared Report'
+#: core/doctype/prepared_report/prepared_report.json
+msgctxt "Prepared Report"
+msgid "Started"
+msgstr "آغاز شده"
+
+#. Label of a Datetime field in DocType 'RQ Job'
+#: core/doctype/rq_job/rq_job.json
+msgctxt "RQ Job"
+msgid "Started At"
+msgstr "آغاز شده در"
+
+#: desk/page/setup_wizard/setup_wizard.js:274
+msgid "Starting Frappe ..."
+msgstr "شروع Frappe..."
+
+#. Label of a Datetime field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Starts on"
+msgstr "شروع می شود"
+
+#: workflow/doctype/workflow/workflow.js:162
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Data field in DocType 'Contact Us Settings'
+#: website/doctype/contact_us_settings/contact_us_settings.json
+msgctxt "Contact Us Settings"
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Data field in DocType 'Token Cache'
+#: integrations/doctype/token_cache/token_cache.json
+msgctxt "Token Cache"
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Link field in DocType 'Workflow Document State'
+#: workflow/doctype/workflow_document_state/workflow_document_state.json
+msgctxt "Workflow Document State"
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Data field in DocType 'Workflow State'
+#: workflow/doctype/workflow_state/workflow_state.json
+msgctxt "Workflow State"
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Link field in DocType 'Workflow Transition'
+#: workflow/doctype/workflow_transition/workflow_transition.json
+msgctxt "Workflow Transition"
+msgid "State"
+msgstr "حالت"
+
+#. Label of a Data field in DocType 'Address'
+#: contacts/doctype/address/address.json
+msgctxt "Address"
+msgid "State/Province"
+msgstr "ایالت/استان"
+
+#. Label of a Table field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "States"
+msgstr "ایالت ها"
+
+#. Label of a Table field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "States"
+msgstr "ایالت ها"
+
+#. Label of a Section Break field in DocType 'Workflow'
+#: workflow/doctype/workflow/workflow.json
+msgctxt "Workflow"
+msgid "States"
+msgstr "ایالت ها"
+
+#. Label of a Table field in DocType 'SMS Settings'
+#: core/doctype/sms_settings/sms_settings.json
+msgctxt "SMS Settings"
+msgid "Static Parameters"
+msgstr "پارامترهای استاتیک"
+
+#. Label of a Section Break field in DocType 'RQ Worker'
+#: core/doctype/rq_worker/rq_worker.json
+msgctxt "RQ Worker"
+msgid "Statistics"
+msgstr "آمار"
+
+#: public/js/frappe/form/dashboard.js:43
+#: public/js/frappe/form/templates/form_dashboard.html:13
+msgid "Stats"
+msgstr "آمار"
+
+#. Label of a Section Break field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Stats"
+msgstr "آمار"
+
+#. Label of a Select field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Stats Time Interval"
+msgstr "فاصله زمانی آمار"
+
+#: social/doctype/energy_point_log/energy_point_log.py:389
+msgid "Stats based on last month's performance (from {0} to {1})"
+msgstr "آمار بر اساس عملکرد ماه گذشته (از {0} تا {1})"
+
+#: social/doctype/energy_point_log/energy_point_log.py:391
+msgid "Stats based on last week's performance (from {0} to {1})"
+msgstr "آمار بر اساس عملکرد هفته گذشته (از {0} تا {1})"
+
+#: core/doctype/data_import/data_import.js:489
+#: public/js/frappe/views/reports/report_view.js:913
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Section Break field in DocType 'Communication'
+#. Label of a Select field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Email Queue'
+#: email/doctype/email_queue/email_queue.json
+msgctxt "Email Queue"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Email Queue Recipient'
+#: email/doctype/email_queue_recipient/email_queue_recipient.json
+msgctxt "Email Queue Recipient"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Integration Request'
+#: integrations/doctype/integration_request/integration_request.json
+msgctxt "Integration Request"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Kanban Board Column'
+#: desk/doctype/kanban_board_column/kanban_board_column.json
+msgctxt "Kanban Board Column"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Section Break field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'OAuth Bearer Token'
+#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
+msgctxt "OAuth Bearer Token"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Personal Data Deletion Request'
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.json
+msgctxt "Personal Data Deletion Request"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Personal Data Deletion Step'
+#: website/doctype/personal_data_deletion_step/personal_data_deletion_step.json
+msgctxt "Personal Data Deletion Step"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Prepared Report'
+#: core/doctype/prepared_report/prepared_report.json
+msgctxt "Prepared Report"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'RQ Job'
+#: core/doctype/rq_job/rq_job.json
+msgctxt "RQ Job"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Data field in DocType 'RQ Worker'
+#: core/doctype/rq_worker/rq_worker.json
+msgctxt "RQ Worker"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Scheduled Job Log'
+#: core/doctype/scheduled_job_log/scheduled_job_log.json
+msgctxt "Scheduled Job Log"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Section Break field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Submission Queue'
+#: core/doctype/submission_queue/submission_queue.json
+msgctxt "Submission Queue"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'ToDo'
+#: desk/doctype/todo/todo.json
+msgctxt "ToDo"
+msgid "Status"
+msgstr "وضعیت"
+
+#. Label of a Select field in DocType 'Workflow Action'
+#: workflow/doctype/workflow_action/workflow_action.json
+msgctxt "Workflow Action"
+msgid "Status"
+msgstr "وضعیت"
+
+#: www/update-password.html:161
+msgid "Status Updated"
+msgstr "وضعیت به روز شد"
+
+#: www/message.html:40
+msgid "Status: {0}"
+msgstr "وضعیت: {0}"
+
+#. Label of a Link field in DocType 'Onboarding Step Map'
+#: desk/doctype/onboarding_step_map/onboarding_step_map.json
+msgctxt "Onboarding Step Map"
+msgid "Step"
+msgstr "گام"
+
+#. Label of a Table field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Steps"
+msgstr "مراحل"
+
+#. Label of a Table field in DocType 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "Steps"
+msgstr "مراحل"
+
+#: www/qrcode.html:11
+msgid "Steps to verify your login"
+msgstr "مراحل تایید ورود شما"
+
+#: core/doctype/recorder/recorder_list.js:87
+msgid "Stop"
+msgstr "متوقف کردن"
+
+#. Label of a Check field in DocType 'Scheduled Job Type'
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+msgctxt "Scheduled Job Type"
+msgid "Stopped"
+msgstr "متوقف شد"
+
+#. Description of the 'Last Known Versions' (Text) field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Stores the JSON of last known versions of various installed apps. It is used to show release notes."
+msgstr "JSON آخرین نسخه های شناخته شده برنامه های نصب شده مختلف را ذخیره می کند. برای نشان دادن یادداشت های انتشار استفاده می شود."
+
+#. Description of the 'Last Reset Password Key Generated On' (Datetime) field
+#. in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Stores the datetime when the last reset password key was generated."
+msgstr "تاریخ تولید آخرین کلید رمز عبور بازنشانی را ذخیره می کند."
+
+#: utils/password_strength.py:97
+msgid "Straight rows of keys are easy to guess"
+msgstr "ردیف های مستقیم کلیدها به راحتی قابل حدس زدن هستند"
+
+#. Label of a Check field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Strip EXIF tags from uploaded images"
+msgstr "برچسب های EXIF را از تصاویر آپلود شده حذف کنید"
+
+#: public/js/frappe/form/controls/password.js:90
+msgid "Strong"
+msgstr "قوی"
+
+#. Label of a Tab Break field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Style"
+msgstr "سبک"
+
+#. Label of a Select field in DocType 'Workflow State'
+#: workflow/doctype/workflow_state/workflow_state.json
+msgctxt "Workflow State"
+msgid "Style"
+msgstr "سبک"
+
+#. Label of a Section Break field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Style Settings"
+msgstr "تنظیمات سبک"
+
+#. Description of the 'Style' (Select) field in DocType 'Workflow State'
+#: workflow/doctype/workflow_state/workflow_state.json
+msgctxt "Workflow State"
+msgid "Style represents the button color: Success - Green, Danger - Red, Inverse - Black, Primary - Dark Blue, Info - Light Blue, Warning - Orange"
+msgstr "سبک نشان دهنده رنگ دکمه است: موفقیت - سبز، خطر - قرمز، معکوس - سیاه، اولیه - آبی تیره، اطلاعات - آبی روشن، هشدار - نارنجی"
+
+#. Label of a Tab Break field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Stylesheet"
+msgstr "برگه سبک"
+
+#. Description of the 'Fraction' (Data) field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Sub-currency. For e.g. \"Cent\""
+msgstr "ارز فرعی. برای مثال \"سنت\""
+
+#. Description of the 'Subdomain' (Small Text) field in DocType 'Website
+#. Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Sub-domain provided by erpnext.com"
+msgstr "زیر دامنه ارائه شده توسط erpnext.com"
+
+#. Label of a Small Text field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Subdomain"
+msgstr "زیر دامنه"
+
+#: public/js/frappe/views/communication.js:104
+#: public/js/frappe/views/inbox/inbox_view.js:63
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Small Text field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Data field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Text field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Small Text field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Data field in DocType 'Email Template'
+#: email/doctype/email_template/email_template.json
+msgctxt "Email Template"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Small Text field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Small Text field in DocType 'Newsletter'
+#. Label of a Section Break field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Data field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Text field in DocType 'Notification Log'
+#: desk/doctype/notification_log/notification_log.json
+msgctxt "Notification Log"
+msgid "Subject"
+msgstr "موضوع"
+
+#. Label of a Select field in DocType 'Calendar View'
+#: desk/doctype/calendar_view/calendar_view.json
+msgctxt "Calendar View"
+msgid "Subject Field"
+msgstr "زمینه موضوعی"
+
+#. Label of a Data field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Subject Field"
+msgstr "زمینه موضوعی"
+
+#. Label of a Data field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Subject Field"
+msgstr "زمینه موضوعی"
+
+#: core/doctype/doctype/doctype.py:1914
+msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor"
+msgstr "نوع فیلد موضوع باید داده، متن، متن طولانی، متن کوچک، ویرایشگر متن باشد"
+
+#. Name of a DocType
+#: core/doctype/submission_queue/submission_queue.json
+msgid "Submission Queue"
+msgstr "صف ارسال"
+
+#: core/doctype/user_permission/user_permission_list.js:138
+#: public/js/frappe/form/quick_entry.js:193
+#: public/js/frappe/form/sidebar/review.js:116
+#: public/js/frappe/ui/capture.js:307
+#: social/doctype/energy_point_log/energy_point_log.js:39
+#: social/doctype/energy_point_settings/energy_point_settings.js:47
+msgid "Submit"
+msgstr "ارسال"
+
+#: public/js/frappe/list/list_view.js:1947
+msgctxt "Button in list view actions menu"
+msgid "Submit"
+msgstr "ارسال"
+
+#: website/doctype/web_form/templates/web_form.html:44
+msgctxt "Button in web form"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Label of a Check field in DocType 'Custom DocPerm'
+#: core/doctype/custom_docperm/custom_docperm.json
+msgctxt "Custom DocPerm"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Label of a Check field in DocType 'DocPerm'
+#: core/doctype/docperm/docperm.json
+msgctxt "DocPerm"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Label of a Check field in DocType 'DocShare'
+#: core/doctype/docshare/docshare.json
+msgctxt "DocShare"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Option for the 'For Document Event' (Select) field in DocType 'Energy Point
+#. Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Option for the 'Send Alert On' (Select) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "Submit"
+msgstr "ارسال"
+
+#: public/js/frappe/ui/dialog.js:60
+msgctxt "Primary action in dialog"
+msgid "Submit"
+msgstr "ارسال"
+
+#: public/js/frappe/ui/messages.js:97
+msgctxt "Primary action of prompt dialog"
+msgid "Submit"
+msgstr "ارسال"
+
+#: public/js/frappe/desk.js:206
+msgctxt "Submit password for Email Account"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Label of a Check field in DocType 'User Document Type'
+#: core/doctype/user_document_type/user_document_type.json
+msgctxt "User Document Type"
+msgid "Submit"
+msgstr "ارسال"
+
+#. Label of a Check field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Submit After Import"
+msgstr "ارسال پس از واردات"
+
+#. Label of a Data field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Submit Button Label"
+msgstr "برچسب دکمه ارسال"
+
+#: core/page/permission_manager/permission_manager_help.html:39
+msgid "Submit an Issue"
+msgstr "ارسال یک مسئله"
+
+#: website/doctype/web_form/templates/web_form.html:153
+msgctxt "Button in web form"
+msgid "Submit another response"
+msgstr ""
+
+#. Label of a Check field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Submit on Creation"
+msgstr "ارسال در Creation"
+
+#: public/js/frappe/widgets/onboarding_widget.js:400
+msgid "Submit this document to complete this step."
+msgstr "برای تکمیل این مرحله این سند را ارسال کنید."
+
+#: public/js/frappe/form/form.js:1194
+msgid "Submit this document to confirm"
+msgstr "برای تایید این سند را ارسال کنید"
+
+#: public/js/frappe/list/list_view.js:1952
+msgctxt "Title of confirmation dialog"
+msgid "Submit {0} documents?"
+msgstr "{0} سند ارسال شود؟"
+
+#: public/js/frappe/model/indicator.js:95
+#: public/js/frappe/ui/filters/filter.js:494
+#: website/doctype/web_form/templates/web_form.html:133
+msgid "Submitted"
+msgstr "ارسال شده"
+
+#. Option for the 'Comment Type' (Select) field in DocType 'Comment'
+#: core/doctype/comment/comment.json
+msgctxt "Comment"
+msgid "Submitted"
+msgstr "ارسال شده"
+
+#. Option for the 'Comment Type' (Select) field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Submitted"
+msgstr "ارسال شده"
+
+#: workflow/doctype/workflow/workflow.py:104
+msgid "Submitted Document cannot be converted back to draft. Transition row {0}"
+msgstr "سند ارسال شده را نمی توان به پیش نویس تبدیل کرد. ردیف انتقال {0}"
+
+#: public/js/workflow_builder/utils.js:176
+msgid "Submitted document cannot be converted back to draft while transitioning from {0} State to {1} State"
+msgstr "در حین انتقال از {0} ایالت به {1} ایالت، سند ارسالی قابل تبدیل مجدد به پیش نویس نیست."
+
+#: public/js/frappe/form/save.js:10
+msgctxt "Freeze message while submitting a document"
+msgid "Submitting"
+msgstr "در حال ارائه"
+
+#: desk/doctype/bulk_update/bulk_update.py:89
+msgid "Submitting {0}"
+msgstr "در حال ارسال {0}"
+
+#. Option for the 'Address Type' (Select) field in DocType 'Address'
+#: contacts/doctype/address/address.json
+msgctxt "Address"
+msgid "Subsidiary"
+msgstr "شرکت فرعی"
+
+#. Label of a Data field in DocType 'Blog Settings'
+#: website/doctype/blog_settings/blog_settings.json
+msgctxt "Blog Settings"
+msgid "Subtitle"
+msgstr "عنوان فرعی"
+
+#. Label of a Data field in DocType 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "Subtitle"
+msgstr "عنوان فرعی"
+
+#: core/doctype/data_import/data_import.js:465
+#: desk/doctype/bulk_update/bulk_update.js:31
+#: desk/doctype/desktop_icon/desktop_icon.py:446
+#: public/js/frappe/form/grid.js:1139
+#: public/js/frappe/views/translation_manager.js:21
+#: templates/includes/login/login.js:231 templates/includes/login/login.js:237
+#: templates/includes/login/login.js:270 templates/includes/login/login.js:278
+#: templates/pages/integrations/gcalendar-success.html:9
+#: workflow/doctype/workflow_action/workflow_action.py:166
+msgid "Success"
+msgstr "موفقیت"
+
+#. Option for the 'Status' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Success"
+msgstr "موفقیت"
+
+#. Option for the 'Status' (Select) field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Success"
+msgstr "موفقیت"
+
+#. Label of a Check field in DocType 'Data Import Log'
+#: core/doctype/data_import_log/data_import_log.json
+msgctxt "Data Import Log"
+msgid "Success"
+msgstr "موفقیت"
+
+#. Option for the 'Style' (Select) field in DocType 'Workflow State'
+#: workflow/doctype/workflow_state/workflow_state.json
+msgctxt "Workflow State"
+msgid "Success"
+msgstr "موفقیت"
+
+#. Name of a DocType
+#: core/doctype/success_action/success_action.json
+msgid "Success Action"
+msgstr "اقدام موفقیت"
+
+#. Label of a Data field in DocType 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "Success Message"
+msgstr "پیام موفقیت"
+
+#. Label of a Text field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Success Message"
+msgstr "پیام موفقیت"
+
+#. Label of a Data field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Success Title"
+msgstr "عنوان موفقیت"
+
+#. Label of a Data field in DocType 'Token Cache'
+#: integrations/doctype/token_cache/token_cache.json
+msgctxt "Token Cache"
+msgid "Success URI"
+msgstr "URI موفقیت"
+
+#. Label of a Data field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Success URL"
+msgstr "URL موفقیت"
+
+#: www/update-password.html:79
+msgid "Success! You are good to go 👍"
+msgstr "موفقیت! شما خوب هستید که بروید 👍"
+
+#. Label of a Int field in DocType 'RQ Worker'
+#: core/doctype/rq_worker/rq_worker.json
+msgctxt "RQ Worker"
+msgid "Successful Job Count"
+msgstr "تعداد مشاغل موفق"
+
+#: model/workflow.py:299
+msgid "Successful Transactions"
+msgstr "تراکنش های موفق"
+
+#: model/rename_doc.py:666
+msgid "Successful: {0} to {1}"
+msgstr "موفقیت آمیز: {0} تا {1}"
+
+#: social/doctype/energy_point_settings/energy_point_settings.js:41
+msgid "Successfully Done"
+msgstr "با موفقیت انجام شد"
+
+#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:100
+#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:113
+msgid "Successfully Updated"
+msgstr "با موفقیت به روز شد"
+
+#: core/doctype/data_import/data_import.js:429
+msgid "Successfully imported {0}"
+msgstr "{0} با موفقیت وارد شد"
+
+#: core/doctype/data_import/data_import.js:144
+msgid "Successfully imported {0} out of {1} records."
+msgstr "{0} رکورد از {1} رکورد با موفقیت وارد شد."
+
+#: desk/doctype/form_tour/form_tour.py:87
+msgid "Successfully reset onboarding status for all users."
+msgstr "وضعیت ورود به سیستم برای همه کاربران با موفقیت بازنشانی شد."
+
+#: public/js/frappe/views/translation_manager.js:22
+msgid "Successfully updated translations"
+msgstr "ترجمه ها با موفقیت به روز شدند"
+
+#: core/doctype/data_import/data_import.js:437
+msgid "Successfully updated {0}"
+msgstr "با موفقیت به روز شد {0}"
+
+#: core/doctype/data_import/data_import.js:149
+msgid "Successfully updated {0} out of {1} records."
+msgstr "{0} رکورد از {1} رکورد با موفقیت به روز شد."
+
+#: core/doctype/user/user.py:715
+msgid "Suggested Username: {0}"
+msgstr "نام کاربری پیشنهادی: {0}"
+
+#: public/js/frappe/ui/group_by/group_by.js:20
+msgid "Sum"
+msgstr "مجموع"
+
+#. Option for the 'Chart Type' (Select) field in DocType 'Dashboard Chart'
+#. Option for the 'Group By Type' (Select) field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Sum"
+msgstr "مجموع"
+
+#. Option for the 'Function' (Select) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "Sum"
+msgstr "مجموع"
+
+#: public/js/frappe/ui/group_by/group_by.js:328
+msgid "Sum of {0}"
+msgstr "مجموع {0}"
+
+#: public/js/frappe/views/interaction.js:88
+msgid "Summary"
+msgstr "خلاصه"
+
+#. Option for the 'Day' (Select) field in DocType 'Assignment Rule Day'
+#: automation/doctype/assignment_rule_day/assignment_rule_day.json
+msgctxt "Assignment Rule Day"
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#. Option for the 'Day of Week' (Select) field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#. Option for the 'Day' (Select) field in DocType 'Auto Repeat Day'
+#: automation/doctype/auto_repeat_day/auto_repeat_day.json
+msgctxt "Auto Repeat Day"
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#. Label of a Check field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#. Option for the 'First Day of the Week' (Select) field in DocType 'System
+#. Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#: email/doctype/email_queue/email_queue_list.js:27
+msgid "Suspend Sending"
+msgstr "تعلیق ارسال"
+
+#: public/js/frappe/ui/capture.js:276
+msgid "Switch Camera"
+msgstr "دوربین را تغییر دهید"
+
+#: public/js/frappe/desk.js:50 public/js/frappe/ui/theme_switcher.js:11
+msgid "Switch Theme"
+msgstr "تغییر تم"
+
+#: templates/includes/navbar/navbar_login.html:17
+msgid "Switch To Desk"
+msgstr "سوئیچ به میز"
+
+#: public/js/frappe/ui/capture.js:281
+msgid "Switching Camera"
+msgstr "تعویض دوربین"
+
+#. Label of a Data field in DocType 'Currency'
+#: geo/doctype/currency/currency.json
+msgctxt "Currency"
+msgid "Symbol"
+msgstr "سمبل"
+
+#. Label of a Section Break field in DocType 'Google Calendar'
+#: integrations/doctype/google_calendar/google_calendar.json
+msgctxt "Google Calendar"
+msgid "Sync"
+msgstr "همگام سازی"
+
+#. Label of a Section Break field in DocType 'Google Contacts'
+#: integrations/doctype/google_contacts/google_contacts.json
+msgctxt "Google Contacts"
+msgid "Sync"
+msgstr "همگام سازی"
+
+#: integrations/doctype/google_calendar/google_calendar.js:28
+msgid "Sync Calendar"
+msgstr "همگام سازی تقویم"
+
+#: integrations/doctype/google_contacts/google_contacts.js:28
+msgid "Sync Contacts"
+msgstr "همگام سازی مخاطبین"
+
+#: custom/doctype/customize_form/customize_form.js:214
+msgid "Sync on Migrate"
+msgstr "همگام سازی در مهاجرت"
+
+#: integrations/doctype/google_calendar/google_calendar.py:296
+msgid "Sync token was invalid and has been reset, Retry syncing."
+msgstr "رمز همگامسازی نامعتبر بود و بازنشانی شده است، همگامسازی مجدد را امتحان کنید."
+
+#. Label of a Check field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Sync with Google Calendar"
+msgstr "با Google Calendar همگام سازی کنید"
+
+#. Label of a Check field in DocType 'Contact'
+#: contacts/doctype/contact/contact.json
+msgctxt "Contact"
+msgid "Sync with Google Contacts"
+msgstr "با Google Contacts همگام سازی کنید"
+
+#: custom/doctype/doctype_layout/doctype_layout.js:46
+msgid "Sync {0} Fields"
+msgstr "همگام سازی فیلدهای {0}"
+
+#: custom/doctype/doctype_layout/doctype_layout.js:100
+msgid "Synced Fields"
+msgstr "فیلدهای همگام سازی شده"
+
+#: integrations/doctype/google_calendar/google_calendar.js:31
+#: integrations/doctype/google_contacts/google_contacts.js:31
+msgid "Syncing"
+msgstr "در حال همگام سازی"
+
+#: integrations/doctype/google_calendar/google_calendar.js:19
+msgid "Syncing {0} of {1}"
+msgstr "در حال همگام سازی {0} از {1}"
+
+#: utils/data.py:2407
+msgid "Syntax Error"
+msgstr "اشتباه نوشتاری"
+
+#. Option for the 'Show in Module Section' (Select) field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "System"
+msgstr "سیستم"
+
+#. Name of a DocType
+#: desk/doctype/system_console/system_console.json
+msgid "System Console"
+msgstr "کنسول سیستم"
+
+#: custom/doctype/custom_field/custom_field.py:358
+msgid "System Generated Fields can not be renamed"
+msgstr "فیلدهای تولید شده سیستم را نمی توان تغییر نام داد"
+
+#. Label of a Card Break in the Build Workspace
+#: core/workspace/build/build.json
+msgid "System Logs"
+msgstr ""
+
+#. Name of a role
+#: automation/doctype/assignment_rule/assignment_rule.json
+#: automation/doctype/auto_repeat/auto_repeat.json
+#: automation/doctype/milestone/milestone.json
+#: automation/doctype/milestone_tracker/milestone_tracker.json
+#: contacts/doctype/address/address.json
+#: contacts/doctype/address_template/address_template.json
+#: contacts/doctype/contact/contact.json contacts/doctype/gender/gender.json
+#: contacts/doctype/salutation/salutation.json
+#: core/doctype/access_log/access_log.json
+#: core/doctype/activity_log/activity_log.json
+#: core/doctype/audit_trail/audit_trail.json core/doctype/comment/comment.json
+#: core/doctype/communication/communication.json
+#: core/doctype/custom_docperm/custom_docperm.json
+#: core/doctype/custom_role/custom_role.json
+#: core/doctype/data_export/data_export.json
+#: core/doctype/data_import/data_import.json
+#: core/doctype/data_import_log/data_import_log.json
+#: core/doctype/deleted_document/deleted_document.json
+#: core/doctype/docshare/docshare.json core/doctype/doctype/doctype.json
+#: core/doctype/document_naming_rule/document_naming_rule.json
+#: core/doctype/document_naming_settings/document_naming_settings.json
+#: core/doctype/document_share_key/document_share_key.json
+#: core/doctype/domain/domain.json
+#: core/doctype/domain_settings/domain_settings.json
+#: core/doctype/error_log/error_log.json core/doctype/file/file.json
+#: core/doctype/installed_applications/installed_applications.json
+#: core/doctype/language/language.json
+#: core/doctype/log_settings/log_settings.json
+#: core/doctype/module_def/module_def.json
+#: core/doctype/module_profile/module_profile.json
+#: core/doctype/navbar_settings/navbar_settings.json
+#: core/doctype/package/package.json
+#: core/doctype/package_import/package_import.json
+#: core/doctype/package_release/package_release.json
+#: core/doctype/page/page.json core/doctype/patch_log/patch_log.json
+#: core/doctype/permission_inspector/permission_inspector.json
+#: core/doctype/prepared_report/prepared_report.json
+#: core/doctype/report/report.json core/doctype/role/role.json
+#: core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json
+#: core/doctype/role_profile/role_profile.json core/doctype/rq_job/rq_job.json
+#: core/doctype/rq_worker/rq_worker.json
+#: core/doctype/scheduled_job_log/scheduled_job_log.json
+#: core/doctype/scheduled_job_type/scheduled_job_type.json
+#: core/doctype/session_default_settings/session_default_settings.json
+#: core/doctype/sms_log/sms_log.json
+#: core/doctype/sms_settings/sms_settings.json
+#: core/doctype/submission_queue/submission_queue.json
+#: core/doctype/success_action/success_action.json
+#: core/doctype/system_settings/system_settings.json
+#: core/doctype/translation/translation.json core/doctype/user/user.json
+#: core/doctype/user_group/user_group.json
+#: core/doctype/user_permission/user_permission.json
+#: core/doctype/user_type/user_type.json core/doctype/version/version.json
+#: core/doctype/view_log/view_log.json
+#: custom/doctype/client_script/client_script.json
+#: custom/doctype/custom_field/custom_field.json
+#: custom/doctype/customize_form/customize_form.json
+#: custom/doctype/doctype_layout/doctype_layout.json
+#: custom/doctype/property_setter/property_setter.json
+#: desk/doctype/bulk_update/bulk_update.json
+#: desk/doctype/calendar_view/calendar_view.json
+#: desk/doctype/console_log/console_log.json
+#: desk/doctype/custom_html_block/custom_html_block.json
+#: desk/doctype/dashboard/dashboard.json
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+#: desk/doctype/dashboard_chart_source/dashboard_chart_source.json
+#: desk/doctype/desktop_icon/desktop_icon.json desk/doctype/event/event.json
+#: desk/doctype/form_tour/form_tour.json
+#: desk/doctype/global_search_settings/global_search_settings.json
+#: desk/doctype/kanban_board/kanban_board.json
+#: desk/doctype/list_view_settings/list_view_settings.json
+#: desk/doctype/module_onboarding/module_onboarding.json
+#: desk/doctype/note/note.json desk/doctype/number_card/number_card.json
+#: desk/doctype/route_history/route_history.json
+#: desk/doctype/system_console/system_console.json desk/doctype/tag/tag.json
+#: desk/doctype/tag_link/tag_link.json desk/doctype/todo/todo.json
+#: email/doctype/auto_email_report/auto_email_report.json
+#: email/doctype/document_follow/document_follow.json
+#: email/doctype/email_account/email_account.json
+#: email/doctype/email_domain/email_domain.json
+#: email/doctype/email_flag_queue/email_flag_queue.json
+#: email/doctype/email_queue/email_queue.json
+#: email/doctype/email_rule/email_rule.json
+#: email/doctype/email_template/email_template.json
+#: email/doctype/email_unsubscribe/email_unsubscribe.json
+#: email/doctype/notification/notification.json
+#: email/doctype/unhandled_email/unhandled_email.json
+#: geo/doctype/country/country.json geo/doctype/currency/currency.json
+#: integrations/doctype/connected_app/connected_app.json
+#: integrations/doctype/dropbox_settings/dropbox_settings.json
+#: integrations/doctype/google_calendar/google_calendar.json
+#: integrations/doctype/google_contacts/google_contacts.json
+#: integrations/doctype/google_drive/google_drive.json
+#: integrations/doctype/google_settings/google_settings.json
+#: integrations/doctype/integration_request/integration_request.json
+#: integrations/doctype/ldap_settings/ldap_settings.json
+#: integrations/doctype/oauth_authorization_code/oauth_authorization_code.json
+#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
+#: integrations/doctype/oauth_client/oauth_client.json
+#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
+#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
+#: integrations/doctype/social_login_key/social_login_key.json
+#: integrations/doctype/token_cache/token_cache.json
+#: integrations/doctype/webhook/webhook.json
+#: integrations/doctype/webhook_request_log/webhook_request_log.json
+#: printing/doctype/letter_head/letter_head.json
+#: printing/doctype/network_printer_settings/network_printer_settings.json
+#: printing/doctype/print_format/print_format.json
+#: printing/doctype/print_format_field_template/print_format_field_template.json
+#: printing/doctype/print_heading/print_heading.json
+#: printing/doctype/print_settings/print_settings.json
+#: printing/doctype/print_style/print_style.json
+#: social/doctype/energy_point_log/energy_point_log.json
+#: social/doctype/energy_point_rule/energy_point_rule.json
+#: social/doctype/energy_point_settings/energy_point_settings.json
+#: website/doctype/discussion_reply/discussion_reply.json
+#: website/doctype/discussion_topic/discussion_topic.json
+#: website/doctype/marketing_campaign/marketing_campaign.json
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.json
+#: website/doctype/personal_data_download_request/personal_data_download_request.json
+#: website/doctype/web_page_view/web_page_view.json
+#: website/doctype/web_template/web_template.json
+#: website/doctype/website_route_meta/website_route_meta.json
+#: workflow/doctype/workflow/workflow.json
+#: workflow/doctype/workflow_action_master/workflow_action_master.json
+#: workflow/doctype/workflow_state/workflow_state.json
+msgid "System Manager"
+msgstr "مدیر سیستم"
+
+#: desk/page/backups/backups.js:36
+msgid "System Manager privileges required."
+msgstr "امتیازات مدیر سیستم مورد نیاز است."
+
+#. Option for the 'Channel' (Select) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "System Notification"
+msgstr "اطلاع رسانی سیستم"
+
+#. Label of a Section Break field in DocType 'Notification Settings'
+#: desk/doctype/notification_settings/notification_settings.json
+msgctxt "Notification Settings"
+msgid "System Notifications"
+msgstr "اطلاعیه های سیستم"
+
+#. Label of a Check field in DocType 'Page'
+#: core/doctype/page/page.json
+msgctxt "Page"
+msgid "System Page"
+msgstr "صفحه سیستم"
+
+#. Name of a DocType
+#: core/doctype/system_settings/system_settings.json
+msgid "System Settings"
+msgstr "تنظیمات سیستم"
+
+#. Label of a shortcut in the Build Workspace
+#: core/workspace/build/build.json
+msgctxt "System Settings"
+msgid "System Settings"
+msgstr "تنظیمات سیستم"
+
+#. Description of the 'Allow Roles' (Table MultiSelect) field in DocType
+#. 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "System managers are allowed by default"
+msgstr "مدیران سیستم به طور پیش فرض مجاز هستند"
+
+#: public/js/frappe/utils/number_systems.js:5
+msgctxt "Number system"
+msgid "T"
+msgstr "تی"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Tab Break"
+msgstr "شکستن برگه"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Tab Break"
+msgstr "شکستن برگه"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Tab Break"
+msgstr "شکستن برگه"
+
+#: core/doctype/data_export/exporter.py:23
+#: printing/page/print_format_builder/print_format_builder_field.html:38
+msgid "Table"
+msgstr "جدول"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Table"
+msgstr "جدول"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Table"
+msgstr "جدول"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Table"
+msgstr "جدول"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Table"
+msgstr "جدول"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Template Field'
+#: website/doctype/web_template_field/web_template_field.json
+msgctxt "Web Template Field"
+msgid "Table Break"
+msgstr "جدول شکستن"
+
+#: core/doctype/version/version_view.html:72
+msgid "Table Field"
+msgstr "فیلد جدول"
+
+#. Label of a Data field in DocType 'DocType Link'
+#: core/doctype/doctype_link/doctype_link.json
+msgctxt "DocType Link"
+msgid "Table Fieldname"
+msgstr "نام فیلد جدول"
+
+#: core/doctype/doctype/doctype.py:1152
+msgid "Table Fieldname Missing"
+msgstr "نام فیلد جدول وجود ندارد"
+
+#. Label of a HTML field in DocType 'Version'
+#: core/doctype/version/version.json
+msgctxt "Version"
+msgid "Table HTML"
+msgstr "جدول HTML"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Table MultiSelect"
+msgstr "جدول MultiSelect"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Table MultiSelect"
+msgstr "جدول MultiSelect"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Table MultiSelect"
+msgstr "جدول MultiSelect"
+
+#: public/js/frappe/form/grid.js:1138
+msgid "Table updated"
+msgstr "جدول به روز شد"
+
+#: model/document.py:1365
+msgid "Table {0} cannot be empty"
+msgstr "جدول {0} نمی تواند خالی باشد"
+
+#. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings'
+#: printing/doctype/print_settings/print_settings.json
+msgctxt "Print Settings"
+msgid "Tabloid"
+msgstr "تبلوید"
+
+#. Name of a DocType
+#: desk/doctype/tag/tag.json
+msgid "Tag"
+msgstr "برچسب بزنید"
+
+#. Name of a DocType
+#: desk/doctype/tag_link/tag_link.json
+msgid "Tag Link"
+msgstr "لینک را تگ کنید"
+
+#: model/meta.py:52 public/js/frappe/form/templates/form_sidebar.html:100
+#: public/js/frappe/list/bulk_operations.js:386
+#: public/js/frappe/list/list_sidebar.html:50
+#: public/js/frappe/list/list_sidebar.js:226 public/js/frappe/model/meta.js:204
+#: public/js/frappe/model/model.js:123
+#: public/js/frappe/ui/toolbar/awesome_bar.js:171
+msgid "Tags"
+msgstr "برچسب ها"
+
+#: integrations/doctype/google_drive/google_drive.js:29
+msgid "Take Backup"
+msgstr "بک آپ بگیرید"
+
+#: integrations/doctype/dropbox_settings/dropbox_settings.js:39
+#: integrations/doctype/s3_backup_settings/s3_backup_settings.js:12
+msgid "Take Backup Now"
+msgstr "اکنون نسخه پشتیبان تهیه کنید"
+
+#: public/js/frappe/ui/capture.js:220
+msgid "Take Photo"
+msgstr "عکس گرفتن"
+
+#. Label of a Data field in DocType 'Portal Menu Item'
+#: website/doctype/portal_menu_item/portal_menu_item.json
+msgctxt "Portal Menu Item"
+msgid "Target"
+msgstr "هدف"
+
+#. Label of a Small Text field in DocType 'Website Route Redirect'
+#: website/doctype/website_route_redirect/website_route_redirect.json
+msgctxt "Website Route Redirect"
+msgid "Target"
+msgstr "هدف"
+
+#: desk/doctype/todo/todo_calendar.js:19 desk/doctype/todo/todo_calendar.js:25
+msgid "Task"
+msgstr "وظیفه"
+
+#: www/about.html:45
+msgid "Team Members"
+msgstr "اعضای تیم"
+
+#. Label of a Section Break field in DocType 'About Us Settings'
+#. Label of a Table field in DocType 'About Us Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "Team Members"
+msgstr "اعضای تیم"
+
+#. Label of a Data field in DocType 'About Us Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "Team Members Heading"
+msgstr "سرفصل اعضای تیم"
+
+#. Label of a Small Text field in DocType 'About Us Settings'
+#: website/doctype/about_us_settings/about_us_settings.json
+msgctxt "About Us Settings"
+msgid "Team Members Subtitle"
+msgstr "زیرنویس اعضای تیم"
+
+#. Label of a Section Break field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Telemetry"
+msgstr "تله متری"
+
+#. Label of a Code field in DocType 'Address Template'
+#: contacts/doctype/address_template/address_template.json
+msgctxt "Address Template"
+msgid "Template"
+msgstr "قالب"
+
+#. Label of a Link field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "Template"
+msgstr "قالب"
+
+#. Label of a Code field in DocType 'Print Format Field Template'
+#: printing/doctype/print_format_field_template/print_format_field_template.json
+msgctxt "Print Format Field Template"
+msgid "Template"
+msgstr "قالب"
+
+#. Label of a Code field in DocType 'Web Template'
+#: website/doctype/web_template/web_template.json
+msgctxt "Web Template"
+msgid "Template"
+msgstr "قالب"
+
+#: core/doctype/data_import/importer.py:464
+#: core/doctype/data_import/importer.py:591
+msgid "Template Error"
+msgstr "خطای الگو"
+
+#. Label of a Data field in DocType 'Print Format Field Template'
+#: printing/doctype/print_format_field_template/print_format_field_template.json
+msgctxt "Print Format Field Template"
+msgid "Template File"
+msgstr "فایل قالب"
+
+#. Label of a Code field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Template Options"
+msgstr "گزینه های الگو"
+
+#. Label of a Code field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Template Warnings"
+msgstr "هشدارهای الگو"
+
+#: public/js/frappe/views/workspace/blocks/paragraph.js:78
+msgid "Templates"
+msgstr "قالب ها"
+
+#: core/doctype/user/user.py:1011
+msgid "Temporarily Disabled"
+msgstr "موقتا غیر فعال می باشد"
+
+#: email/doctype/newsletter/newsletter.py:94
+msgid "Test email sent to {0}"
+msgstr "ایمیل آزمایشی به {0} ارسال شد"
+
+#: core/doctype/file/test_file.py:360
+msgid "Test_Folder"
+msgstr ""
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Text"
+msgstr "متن"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Text"
+msgstr "متن"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Text"
+msgstr "متن"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Text"
+msgstr "متن"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Template Field'
+#: website/doctype/web_template_field/web_template_field.json
+msgctxt "Web Template Field"
+msgid "Text"
+msgstr "متن"
+
+#. Label of a Select field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Text Align"
+msgstr "تراز کردن متن"
+
+#. Label of a Link field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Text Color"
+msgstr "رنگ متن"
+
+#. Label of a Code field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Text Content"
+msgstr "محتوای متنی"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Text Editor"
+msgstr "ویرایشگر متن"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Text Editor"
+msgstr "ویرایشگر متن"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Text Editor"
+msgstr "ویرایشگر متن"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Text Editor"
+msgstr "ویرایشگر متن"
+
+#: templates/emails/password_reset.html:5
+msgid "Thank you"
+msgstr "متشکرم"
+
+#: website/doctype/web_form/templates/web_form.html:137
+msgid "Thank you for spending your valuable time to fill this form"
+msgstr "از اینکه وقت ارزشمند خود را برای پر کردن این فرم صرف کردید سپاسگزاریم"
+
+#: templates/emails/auto_reply.html:1
+msgid "Thank you for your email"
+msgstr "ممنون برای ایمیلت"
+
+#: website/doctype/help_article/templates/help_article.html:27
+msgid "Thank you for your feedback!"
+msgstr "با تشکر از شما برای بازخورد شما!"
+
+#: email/doctype/newsletter/newsletter.py:332
+msgid "Thank you for your interest in subscribing to our updates"
+msgstr "از علاقه شما به اشتراک در به روز رسانی های ما سپاسگزاریم"
+
+#: templates/emails/new_user.html:16
+msgid "Thanks"
+msgstr "با تشکر"
+
+#: templates/emails/auto_repeat_fail.html:3
+msgid "The Auto Repeat for this document has been disabled."
+msgstr "تکرار خودکار برای این سند غیرفعال شده است."
+
+#: public/js/frappe/form/grid.js:1161
+msgid "The CSV format is case sensitive"
+msgstr "قالب CSV به حروف بزرگ و کوچک حساس است"
+
+#. Description of the 'Client ID' (Data) field in DocType 'Google Settings'
+#: integrations/doctype/google_settings/google_settings.json
+msgctxt "Google Settings"
+msgid "The Client ID obtained from the Google Cloud Console under \n"
+"\"APIs & Services\" > \"Credentials\"\n"
+""
+msgstr ""
+
+#: email/doctype/notification/notification.py:130
+msgid "The Condition '{0}' is invalid"
+msgstr "شرط \"{0}\" نامعتبر است"
+
+#: core/doctype/file/file.py:205
+msgid "The File URL you've entered is incorrect"
+msgstr "URL فایلی که وارد کرده اید نادرست است"
+
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:29
+msgid "The Push Relay Server URL key (`push_relay_server_url`) is missing in your site config"
+msgstr ""
+
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:363
+msgid "The User record for this request has been auto-deleted due to inactivity by system admins."
+msgstr "سابقه کاربر برای این درخواست به دلیل عدم فعالیت توسط مدیران سیستم به طور خودکار حذف شده است."
+
+#: public/js/frappe/desk.js:127
+msgid "The application has been updated to a new version, please refresh this page"
+msgstr "برنامه به نسخه جدید به روز شده است، لطفاً این صفحه را بازخوانی کنید"
+
+#. Description of the 'Application Name' (Data) field in DocType 'System
+#. Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "The application name will be used in the Login page."
+msgstr "نام برنامه در صفحه ورود استفاده خواهد شد."
+
+#: public/js/frappe/views/interaction.js:324
+msgid "The attachments could not be correctly linked to the new document"
+msgstr "پیوست ها را نمی توان به درستی به سند جدید پیوند داد"
+
+#. Description of the 'API Key' (Data) field in DocType 'Google Settings'
+#: integrations/doctype/google_settings/google_settings.json
+msgctxt "Google Settings"
+msgid "The browser API key obtained from the Google Cloud Console under \n"
+"\"APIs & Services\" > \"Credentials\"\n"
+""
+msgstr ""
+
+#: database/database.py:425
+msgid "The changes have been reverted."
+msgstr "تغییرات برگردانده شده است."
+
+#: core/doctype/data_import/importer.py:959
+msgid "The column {0} has {1} different date formats. Automatically setting {2} as the default format as it is the most common. Please change other values in this column to this format."
+msgstr "ستون {0} دارای {1} قالب های مختلف تاریخ است. تنظیم خودکار {2} به عنوان قالب پیشفرض، زیرا رایجترین فرمت است. لطفاً مقادیر دیگر این ستون را به این قالب تغییر دهید."
+
+#: templates/includes/comments/comments.py:34
+msgid "The comment cannot be empty"
+msgstr "نظر نمی تواند خالی باشد"
+
+#: public/js/frappe/views/interaction.js:301
+msgid "The document could not be correctly assigned"
+msgstr "سند را نمی توان به درستی اختصاص داد"
+
+#: public/js/frappe/views/interaction.js:295
+msgid "The document has been assigned to {0}"
+msgstr "سند به {0} اختصاص داده شده است"
+
+#. Description of the 'Parent Document Type' (Link) field in DocType 'Dashboard
+#. Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "The document type selected is a child table, so the parent document type is required."
+msgstr "نوع سند انتخاب شده یک جدول فرزند است، بنابراین نوع سند والد مورد نیاز است."
+
+#. Description of the 'Parent Document Type' (Link) field in DocType 'Number
+#. Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "The document type selected is a child table, so the parent document type is required."
+msgstr "نوع سند انتخاب شده یک جدول فرزند است، بنابراین نوع سند والد مورد نیاز است."
+
+#: core/doctype/user_type/user_type.py:109
+msgid "The field {0} is mandatory"
+msgstr "فیلد {0} اجباری است"
+
+#: core/doctype/file/file.py:143
+msgid "The fieldname you've specified in Attached To Field is invalid"
+msgstr "نام فیلدی که در Attached To Field مشخص کرده اید نامعتبر است"
+
+#: automation/doctype/assignment_rule/assignment_rule.py:60
+msgid "The following Assignment Days have been repeated: {0}"
+msgstr "روزهای تکلیف زیر تکرار شده است: {0}"
+
+#: printing/doctype/letter_head/letter_head.js:30
+msgid "The following Header Script will add the current date to an element in 'Header HTML' with class 'header-content'"
+msgstr "اسکریپت سرصفحه زیر تاریخ جاری را به عنصری در «هدر HTML» با کلاس «هدر-محتوا» اضافه میکند."
+
+#: core/doctype/data_import/importer.py:1030
+msgid "The following values are invalid: {0}. Values must be one of {1}"
+msgstr "مقادیر زیر نامعتبر هستند: {0}. مقادیر باید یکی از {1} باشد"
+
+#: core/doctype/data_import/importer.py:993
+msgid "The following values do not exist for {0}: {1}"
+msgstr "مقادیر زیر برای {0} وجود ندارد: {1}"
+
+#: core/doctype/user_type/user_type.py:88
+msgid "The limit has not set for the user type {0} in the site config file."
+msgstr "محدودیت برای نوع کاربری {0} در فایل پیکربندی سایت تعیین نشده است."
+
+#: templates/emails/login_with_email_link.html:21
+msgid "The link will expire in {0} minutes"
+msgstr "پیوند تا {0} دقیقه دیگر منقضی میشود"
+
+#: www/login.py:175
+msgid "The link you trying to login is invalid or expired."
+msgstr "پیوندی که میخواهید وارد شوید نامعتبر است یا منقضی شده است."
+
+#: website/doctype/web_page/web_page.js:125
+msgid "The meta description is an HTML attribute that provides a brief summary of a web page. Search engines such as Google often display the meta description in search results, which can influence click-through rates."
+msgstr "توضیحات متا یک ویژگی HTML است که خلاصه ای از یک صفحه وب را ارائه می دهد. موتورهای جستجو مانند گوگل اغلب توضیحات متا را در نتایج جستجو نشان می دهند که می تواند بر نرخ کلیک تأثیر بگذارد."
+
+#: website/doctype/web_page/web_page.js:132
+msgid "The meta image is unique image representing the content of the page. Images for this Card should be at least 280px in width, and at least 150px in height."
+msgstr "تصویر متا یک تصویر منحصر به فرد است که محتوای صفحه را نشان می دهد. تصاویر این کارت باید حداقل 280 پیکسل عرض و حداقل 150 پیکسل در ارتفاع داشته باشند."
+
+#. Description of the 'Calendar Name' (Data) field in DocType 'Google Calendar'
+#: integrations/doctype/google_calendar/google_calendar.json
+msgctxt "Google Calendar"
+msgid "The name that will appear in Google Calendar"
+msgstr "نامی که در تقویم گوگل ظاهر می شود"
+
+#. Description of the 'Track Steps' (Check) field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "The next tour will start from where the user left off."
+msgstr "تور بعدی از جایی شروع می شود که کاربر آن را ترک کرده است."
+
+#. Description of the 'Request Timeout' (Int) field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "The number of seconds until the request expires"
+msgstr "تعداد ثانیه تا پایان درخواست"
+
+#: www/404.html:18
+msgid "The page you are looking for has gone missing."
+msgstr "صفحه ای که به دنبال آن هستید از بین رفته است."
+
+#: www/update-password.html:86
+msgid "The password of your account has expired."
+msgstr "رمز عبور حساب شما منقضی شده است."
+
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:394
+msgid "The process for deletion of {0} data associated with {1} has been initiated."
+msgstr "فرآیند حذف {0} داده های مرتبط با {1} آغاز شده است."
+
+#. Description of the 'App ID' (Data) field in DocType 'Google Settings'
+#: integrations/doctype/google_settings/google_settings.json
+msgctxt "Google Settings"
+msgid "The project number obtained from Google Cloud Console under \n"
+"\"IAM & Admin\" > \"Settings\"\n"
+""
+msgstr ""
+
+#: core/doctype/user/user.py:971
+msgid "The reset password link has been expired"
+msgstr "پیوند بازنشانی رمز عبور منقضی شده است"
+
+#: core/doctype/user/user.py:973
+msgid "The reset password link has either been used before or is invalid"
+msgstr "پیوند بازنشانی رمز عبور یا قبلا استفاده شده است یا نامعتبر است"
+
+#: app.py:363 public/js/frappe/request.js:147
+msgid "The resource you are looking for is not available"
+msgstr "منبع مورد نظر شما در دسترس نیست"
+
+#: core/doctype/user_type/user_type.py:113
+msgid "The role {0} should be a custom role."
+msgstr "نقش {0} باید یک نقش سفارشی باشد."
+
+#: core/doctype/audit_trail/audit_trail.py:46
+msgid "The selected document {0} is not a {1}."
+msgstr ""
+
+#: utils/response.py:313
+msgid "The system is being updated. Please refresh again after a few moments."
+msgstr "سیستم در حال به روز رسانی است. لطفاً پس از چند لحظه دوباره بازخوانی کنید."
+
+#: core/page/permission_manager/permission_manager_help.html:9
+msgid "The system provides many pre-defined roles. You can add new roles to set finer permissions."
+msgstr "این سیستم نقش های از پیش تعریف شده زیادی را ارائه می دهد. میتوانید نقشهای جدیدی را برای تنظیم مجوزهای دقیقتر اضافه کنید."
+
+#: public/js/frappe/form/grid_row.js:636
+msgid "The total column width cannot be more than 10."
+msgstr "عرض کل ستون نمی تواند بیشتر از 10 باشد."
+
+#: core/doctype/user_type/user_type.py:96
+msgid "The total number of user document types limit has been crossed."
+msgstr "از تعداد کل محدودیت انواع سند کاربر عبور کرده است."
+
+#. Description of the 'User Field' (Select) field in DocType 'Energy Point
+#. Rule'
+#: social/doctype/energy_point_rule/energy_point_rule.json
+msgctxt "Energy Point Rule"
+msgid "The user from this field will be rewarded points"
+msgstr "به کاربر این فیلد امتیازی تعلق می گیرد"
+
+#: public/js/frappe/form/controls/data.js:24
+msgid "The value you pasted was {0} characters long. Max allowed characters is {1}."
+msgstr "مقداری که چسبانده اید {0} نویسه بود. حداکثر نویسه مجاز {1} است."
+
+#. Description of the 'Condition' (Small Text) field in DocType 'Webhook'
+#: integrations/doctype/webhook/webhook.json
+msgctxt "Webhook"
+msgid "The webhook will be triggered if this expression is true"
+msgstr "اگر این عبارت درست باشد، وب هوک فعال می شود"
+
+#: automation/doctype/auto_repeat/auto_repeat.py:169
+msgid "The {0} is already on auto repeat {1}"
+msgstr "{0} قبلاً روی تکرار خودکار است {1}"
+
+#. Label of a Section Break field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Theme"
+msgstr "موضوع"
+
+#. Label of a Data field in DocType 'Website Theme'
+#. Label of a Code field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Theme"
+msgstr "موضوع"
+
+#: public/js/frappe/ui/theme_switcher.js:130
+msgid "Theme Changed"
+msgstr "تم تغییر کرد"
+
+#. Label of a Tab Break field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Theme Configuration"
+msgstr "پیکربندی تم"
+
+#. Label of a Data field in DocType 'Website Theme'
+#: website/doctype/website_theme/website_theme.json
+msgctxt "Website Theme"
+msgid "Theme URL"
+msgstr "URL تم"
+
+#: workflow/doctype/workflow/workflow.js:125
+msgid "There are documents which have workflow states that do not exist in this Workflow. It is recommended that you add these states to the Workflow and change their states before removing these states."
+msgstr "اسنادی وجود دارند که حالت های گردش کار دارند که در این گردش کار وجود ندارند. توصیه می شود قبل از حذف این حالت ها این حالت ها را به Workflow اضافه کنید و حالت های آنها را تغییر دهید."
+
+#: public/js/frappe/ui/notifications/notifications.js:428
+msgid "There are no upcoming events for you."
+msgstr "هیچ رویداد آینده ای برای شما وجود ندارد."
+
+#: website/web_template/discussions/discussions.html:3
+msgid "There are no {0} for this {1}, why don't you start one!"
+msgstr "هیچ {0} برای این {1} وجود ندارد، چرا یکی را شروع نمی کنید!"
+
+#: public/js/frappe/views/reports/query_report.js:887
+msgid "There are {0} with the same filters already in the queue:"
+msgstr ""
+
+#: website/doctype/web_form/web_form.js:71
+#: website/doctype/web_form/web_form.js:307
+msgid "There can be only 9 Page Break fields in a Web Form"
+msgstr "در یک فرم وب فقط 9 فیلد شکستگی صفحه وجود دارد"
+
+#: core/doctype/doctype/doctype.py:1392
+msgid "There can be only one Fold in a form"
+msgstr "در یک فرم فقط یک فولد می تواند وجود داشته باشد"
+
+#: contacts/doctype/address/address.py:183
+msgid "There is an error in your Address Template {0}"
+msgstr "خطایی در الگوی آدرس شما وجود دارد {0}"
+
+#: core/doctype/data_export/exporter.py:162
+msgid "There is no data to be exported"
+msgstr "هیچ داده ای برای صادرات وجود ندارد"
+
+#: core/doctype/file/file.py:571 utils/file_manager.py:372
+msgid "There is some problem with the file url: {0}"
+msgstr "آدرس فایل مشکلی دارد: {0}"
+
+#: public/js/frappe/views/reports/query_report.js:884
+msgid "There is {0} with the same filters already in the queue:"
+msgstr ""
+
+#: core/page/permission_manager/permission_manager.py:155
+msgid "There must be atleast one permission rule."
+msgstr "حداقل یک قانون مجوز باید وجود داشته باشد."
+
+#: core/doctype/user/user.py:532
+msgid "There should remain at least one System Manager"
+msgstr "باید حداقل یک مدیر سیستم باقی بماند"
+
+#: www/error.py:16
+msgid "There was an error building this page"
+msgstr "در ساخت این صفحه خطایی روی داد"
+
+#: public/js/frappe/views/kanban/kanban_view.js:180
+msgid "There was an error saving filters"
+msgstr "هنگام ذخیره فیلترها خطایی روی داد"
+
+#: public/js/frappe/form/sidebar/attachments.js:201
+msgid "There were errors"
+msgstr "خطاهایی وجود داشت"
+
+#: public/js/frappe/views/interaction.js:276
+msgid "There were errors while creating the document. Please try again."
+msgstr "هنگام ایجاد سند خطاهایی وجود داشت. لطفا دوباره تلاش کنید."
+
+#: public/js/frappe/views/communication.js:797
+msgid "There were errors while sending email. Please try again."
+msgstr "هنگام ارسال ایمیل خطاهایی وجود داشت. لطفا دوباره تلاش کنید."
+
+#: model/naming.py:443
+msgid "There were some errors setting the name, please contact the administrator"
+msgstr "برخی از خطاها در تنظیم نام وجود دارد، لطفاً با سرپرست تماس بگیرید"
+
+#: www/404.html:15
+msgid "There's nothing here"
+msgstr "اینجا چیزی نیست"
+
+#. Description of the 'LDAP Custom Settings' (Section Break) field in DocType
+#. 'LDAP Settings'
+#: integrations/doctype/ldap_settings/ldap_settings.json
+msgctxt "LDAP Settings"
+msgid "These settings are required if 'Custom' LDAP Directory is used"
+msgstr "اگر از فهرست LDAP 'Custom' استفاده شود، این تنظیمات مورد نیاز است"
+
+#. Description of the 'Defaults' (Section Break) field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "These values will be automatically updated in transactions and also will be useful to restrict permissions for this user on transactions containing these values."
+msgstr "این مقادیر به طور خودکار در تراکنش ها به روز می شوند و همچنین برای محدود کردن مجوزهای این کاربر در تراکنش های حاوی این مقادیر مفید خواهند بود."
+
+#: www/third_party_apps.html:3 www/third_party_apps.html:13
+msgid "Third Party Apps"
+msgstr "برنامه های شخص ثالث"
+
+#. Label of a Section Break field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Third Party Authentication"
+msgstr "احراز هویت شخص ثالث"
+
+#: geo/doctype/currency/currency.js:8
+msgid "This Currency is disabled. Enable to use in transactions"
+msgstr "این ارز غیرفعال است. فعال کردن برای استفاده در معاملات"
+
+#: geo/utils.py:84
+msgid "This Doctype does not contain latitude and longitude fields"
+msgstr "این Doctype شامل فیلدهای طول و عرض جغرافیایی نیست"
+
+#: geo/utils.py:67
+msgid "This Doctype does not contain location fields"
+msgstr "این Doctype حاوی فیلدهای مکان نیست"
+
+#: public/js/frappe/views/kanban/kanban_view.js:388
+msgid "This Kanban Board will be private"
+msgstr "این هیئت کانبان خصوصی خواهد بود"
+
+#: __init__.py:1011
+msgid "This action is only allowed for {}"
+msgstr "این عمل فقط برای {} مجاز است"
+
+#: public/js/frappe/form/toolbar.js:107 public/js/frappe/model/model.js:725
+msgid "This cannot be undone"
+msgstr "این قابل بازگشت نیست"
+
+#. Description of the 'Is Public' (Check) field in DocType 'Number Card'
+#: desk/doctype/number_card/number_card.json
+msgctxt "Number Card"
+msgid "This card will be available to all Users if this is set"
+msgstr "این کارت در صورت تنظیم برای همه کاربران در دسترس خواهد بود"
+
+#. Description of the 'Is Public' (Check) field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "This chart will be available to all Users if this is set"
+msgstr "در صورت تنظیم این نمودار برای همه کاربران در دسترس خواهد بود"
+
+#: desk/doctype/workspace/workspace.js:23
+msgid "This document allows you to edit limited fields. For all kinds of workspace customization, use the Edit button located on the workspace page"
+msgstr "این سند به شما امکان ویرایش فیلدهای محدود را می دهد. برای انواع سفارشی سازی فضای کاری، از دکمه ویرایش واقع در صفحه فضای کاری استفاده کنید"
+
+#: social/doctype/energy_point_log/energy_point_log.py:90
+msgid "This document cannot be reverted"
+msgstr "این سند قابل برگشت نیست"
+
+#: www/confirm_workflow_action.html:8
+msgid "This document has been modified after the email was sent."
+msgstr "این سند پس از ارسال ایمیل اصلاح شده است."
+
+#: social/doctype/energy_point_log/energy_point_log.js:8
+msgid "This document has been reverted"
+msgstr "این سند برگردانده شده است"
+
+#: public/js/frappe/form/form.js:1075
+msgid "This document is already amended, you cannot ammend it again"
+msgstr "این سند قبلاً اصلاح شده است، شما نمی توانید دوباره آن را اصلاح کنید"
+
+#: model/document.py:1532
+msgid "This document is currently locked and queued for execution. Please try again after some time."
+msgstr ""
+
+#: templates/emails/auto_repeat_fail.html:7
+msgid "This email is autogenerated"
+msgstr "این ایمیل به صورت خودکار تولید شده است"
+
+#: printing/doctype/network_printer_settings/network_printer_settings.py:30
+msgid "This feature can not be used as dependencies are missing.\n"
+"\t\t\t\tPlease contact your system manager to enable this by installing pycups!"
+msgstr ""
+
+#: public/js/frappe/form/templates/form_sidebar.html:23
+msgid "This feature is brand new and still experimental"
+msgstr "این ویژگی کاملاً جدید است و هنوز آزمایشی است"
+
+#. Description of the 'Depends On' (Code) field in DocType 'Customize Form
+#. Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "This field will appear only if the fieldname defined here has value OR the rules are true (examples):\n"
+"myfield\n"
+"eval:doc.myfield=='My Value'\n"
+"eval:doc.age>18"
+msgstr ""
+
+#: core/doctype/file/file.js:10
+msgid "This file is public. It can be accessed without authentication."
+msgstr "این فایل عمومی است. بدون احراز هویت قابل دسترسی است."
+
+#: public/js/frappe/form/form.js:1172
+msgid "This form has been modified after you have loaded it"
+msgstr "این فرم پس از بارگیری آن اصلاح شده است"
+
+#: public/js/frappe/form/form.js:457
+msgid "This form is not editable due to a Workflow."
+msgstr "این فرم به دلیل گردش کار قابل ویرایش نیست."
+
+#. Description of the 'Is Default' (Check) field in DocType 'Address Template'
+#: contacts/doctype/address_template/address_template.json
+msgctxt "Address Template"
+msgid "This format is used if country specific format is not found"
+msgstr "این قالب در صورتی استفاده می شود که فرمت خاص کشور پیدا نشود"
+
+#. Description of the 'Header' (HTML Editor) field in DocType 'Website
+#. Slideshow'
+#: website/doctype/website_slideshow/website_slideshow.json
+msgctxt "Website Slideshow"
+msgid "This goes above the slideshow."
+msgstr "این بالاتر از نمایش اسلاید است."
+
+#: public/js/frappe/views/reports/query_report.js:1998
+msgid "This is a background report. Please set the appropriate filters and then generate a new one."
+msgstr "این یک گزارش پیشینه است. لطفا فیلترهای مناسب را تنظیم کنید و سپس فیلتر جدیدی ایجاد کنید."
+
+#: utils/password_strength.py:158
+msgid "This is a top-10 common password."
+msgstr "این 10 رمز عبور رایج است."
+
+#: utils/password_strength.py:160
+msgid "This is a top-100 common password."
+msgstr "این یک 100 رمز عبور رایج است."
+
+#: utils/password_strength.py:162
+msgid "This is a very common password."
+msgstr "این یک رمز عبور بسیار رایج است."
+
+#: core/doctype/rq_job/rq_job.js:9
+msgid "This is a virtual doctype and data is cleared periodically."
+msgstr "این یک Doctype مجازی است و داده ها به صورت دوره ای پاک می شوند."
+
+#: templates/emails/auto_reply.html:5
+msgid "This is an automatically generated reply"
+msgstr "این پاسخی است که به صورت خودکار تولید می شود"
+
+#. Description of the 'Google Snippet Preview' (HTML) field in DocType 'Blog
+#. Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "This is an example Google SERP Preview."
+msgstr "این یک نمونه پیش نمایش Google SERP است."
+
+#: utils/password_strength.py:164
+msgid "This is similar to a commonly used password."
+msgstr "این مشابه رمز عبور رایج است."
+
+#. Description of the 'Current Value' (Int) field in DocType 'Document Naming
+#. Settings'
+#: core/doctype/document_naming_settings/document_naming_settings.json
+msgctxt "Document Naming Settings"
+msgid "This is the number of the last created transaction with this prefix"
+msgstr "این شماره آخرین تراکنش ایجاد شده با این پیشوند است"
+
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:403
+msgid "This link has already been activated for verification."
+msgstr "این پیوند قبلاً برای تأیید فعال شده است."
+
+#: utils/verified_command.py:49
+msgid "This link is invalid or expired. Please make sure you have pasted correctly."
+msgstr "این پیوند نامعتبر است یا منقضی شده است. لطفا مطمئن شوید که به درستی چسبانده شده اید."
+
+#: printing/page/print/print.js:410
+msgid "This may get printed on multiple pages"
+msgstr "این ممکن است در چندین صفحه چاپ شود"
+
+#: utils/goal.py:109
+msgid "This month"
+msgstr "این ماه"
+
+#: email/doctype/newsletter/newsletter.js:223
+msgid "This newsletter is scheduled to be sent on {0}"
+msgstr "این خبرنامه قرار است در تاریخ {0} ارسال شود"
+
+#: email/doctype/newsletter/newsletter.js:50
+msgid "This newsletter was scheduled to send on a later date. Are you sure you want to send it now?"
+msgstr "این خبرنامه قرار بود در تاریخ بعدی ارسال شود. آیا مطمئن هستید که می خواهید آن را اکنون ارسال کنید؟"
+
+#: templates/emails/auto_email_report.html:57
+msgid "This report was generated on {0}"
+msgstr "این گزارش در {0} ایجاد شد"
+
+#: public/js/frappe/views/reports/query_report.js:782
+msgid "This report was generated {0}."
+msgstr "این گزارش در {0} ایجاد شد."
+
+#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:118
+msgid "This request has not yet been approved by the user."
+msgstr "این درخواست هنوز توسط کاربر تایید نشده است."
+
+#: templates/includes/navbar/navbar_items.html:95
+msgid "This site is in read only mode, full functionality will be restored soon."
+msgstr "این سایت در حالت فقط خواندنی است، عملکرد کامل به زودی بازیابی می شود."
+
+#: core/doctype/doctype/doctype.js:76
+msgid "This site is running in developer mode. Any change made here will be updated in code."
+msgstr "این سایت در حالت توسعه دهنده در حال اجرا است. هر تغییری که در اینجا ایجاد شود در کد به روز می شود."
+
+#: website/doctype/web_page/web_page.js:71
+msgid "This title will be used as the title of the webpage as well as in meta tags"
+msgstr "این عنوان به عنوان عنوان صفحه وب و همچنین در متا تگ ها استفاده می شود"
+
+#: public/js/frappe/form/controls/base_input.js:120
+msgid "This value is fetched from {0}'s {1} field"
+msgstr "این مقدار از فیلد {1} {0} واکشی شده است"
+
+#: website/doctype/web_page/web_page.js:85
+msgid "This will be automatically generated when you publish the page, you can also enter a route yourself if you wish"
+msgstr "هنگامی که صفحه را منتشر می کنید، این به طور خودکار ایجاد می شود، همچنین در صورت تمایل می توانید خودتان مسیری را وارد کنید"
+
+#. Description of the 'Callback Message' (Small Text) field in DocType
+#. 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "This will be shown in a modal after routing"
+msgstr "این پس از مسیریابی به صورت مدال نشان داده خواهد شد"
+
+#. Description of the 'Report Description' (Data) field in DocType 'Onboarding
+#. Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "This will be shown to the user in a dialog after routing to the report"
+msgstr "پس از مسیریابی به گزارش، این در یک گفتگو به کاربر نشان داده می شود"
+
+#: www/third_party_apps.html:21
+msgid "This will log out {0} from all other devices"
+msgstr "با این کار {0} از همه دستگاههای دیگر خارج میشود"
+
+#: templates/emails/delete_data_confirmation.html:3
+msgid "This will permanently remove your data."
+msgstr "با این کار اطلاعات شما برای همیشه حذف می شود."
+
+#: desk/doctype/form_tour/form_tour.js:103
+msgid "This will reset this tour and show it to all users. Are you sure?"
+msgstr "با این کار این تور بازنشانی می شود و به همه کاربران نشان داده می شود. مطمئنی؟"
+
+#: core/doctype/rq_job/rq_job.js:15
+msgid "This will terminate the job immediately and might be dangerous, are you sure? "
+msgstr " این کار بلافاصله کار را خاتمه می دهد و ممکن است خطرناک باشد، مطمئن هستید؟"
+
+#: core/doctype/user/user.py:1231
+msgid "Throttled"
+msgstr "گاز گرفت"
+
+#. Label of a Small Text field in DocType 'File'
+#: core/doctype/file/file.json
+msgctxt "File"
+msgid "Thumbnail URL"
+msgstr "URL تصویر کوچک"
+
+#. Option for the 'Day' (Select) field in DocType 'Assignment Rule Day'
+#: automation/doctype/assignment_rule_day/assignment_rule_day.json
+msgctxt "Assignment Rule Day"
+msgid "Thursday"
+msgstr "پنج شنبه"
+
+#. Option for the 'Day of Week' (Select) field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "Thursday"
+msgstr "پنج شنبه"
+
+#. Option for the 'Day' (Select) field in DocType 'Auto Repeat Day'
+#: automation/doctype/auto_repeat_day/auto_repeat_day.json
+msgctxt "Auto Repeat Day"
+msgid "Thursday"
+msgstr "پنج شنبه"
+
+#. Label of a Check field in DocType 'Event'
+#: desk/doctype/event/event.json
+msgctxt "Event"
+msgid "Thursday"
+msgstr "پنج شنبه"
+
+#. Option for the 'First Day of the Week' (Select) field in DocType 'System
+#. Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Thursday"
+msgstr "پنج شنبه"
+
+#: email/doctype/newsletter/newsletter.js:118
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Field Type' (Select) field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Type' (Select) field in DocType 'Customize Form Field'
+#: custom/doctype/customize_form_field/customize_form_field.json
+msgctxt "Customize Form Field"
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Type' (Select) field in DocType 'DocField'
+#: core/doctype/docfield/docfield.json
+msgctxt "DocField"
+msgid "Time"
+msgstr "زمان"
+
+#. Label of a Datetime field in DocType 'Recorder'
+#: core/doctype/recorder/recorder.json
+msgctxt "Recorder"
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Column'
+#: core/doctype/report_column/report_column.json
+msgctxt "Report Column"
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Report Filter'
+#: core/doctype/report_filter/report_filter.json
+msgctxt "Report Filter"
+msgid "Time"
+msgstr "زمان"
+
+#. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field'
+#: website/doctype/web_form_field/web_form_field.json
+msgctxt "Web Form Field"
+msgid "Time"
+msgstr "زمان"
+
+#. Label of a Select field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Time Format"
+msgstr "فرمت زمان"
+
+#. Label of a Select field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Time Interval"
+msgstr "فاصله زمانی"
+
+#. Label of a Check field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Time Series"
+msgstr "سری زمانی"
+
+#. Label of a Select field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Time Series Based On"
+msgstr "سری زمانی بر اساس"
+
+#. Label of a Duration field in DocType 'RQ Job'
+#: core/doctype/rq_job/rq_job.json
+msgctxt "RQ Job"
+msgid "Time Taken"
+msgstr "زمان استفاده شده"
+
+#. Label of a Int field in DocType 'Server Script'
+#: core/doctype/server_script/server_script.json
+msgctxt "Server Script"
+msgid "Time Window (Seconds)"
+msgstr "پنجره زمانی (ثانیه)"
+
+#: desk/page/setup_wizard/setup_wizard.js:395
+msgid "Time Zone"
+msgstr "منطقه زمانی"
+
+#. Label of a Select field in DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Time Zone"
+msgstr "منطقه زمانی"
+
+#. Label of a Autocomplete field in DocType 'User'
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Time Zone"
+msgstr "منطقه زمانی"
+
+#. Label of a Data field in DocType 'Web Page View'
+#: website/doctype/web_page_view/web_page_view.json
+msgctxt "Web Page View"
+msgid "Time Zone"
+msgstr "منطقه زمانی"
+
+#. Label of a Text field in DocType 'Country'
+#: geo/doctype/country/country.json
+msgctxt "Country"
+msgid "Time Zones"
+msgstr "محدوده های زمانی"
+
+#. Label of a Data field in DocType 'Country'
+#: geo/doctype/country/country.json
+msgctxt "Country"
+msgid "Time format"
+msgstr "فرمت زمان"
+
+#. Label of a Float field in DocType 'Recorder'
+#: core/doctype/recorder/recorder.json
+msgctxt "Recorder"
+msgid "Time in Queries"
+msgstr "زمان در کوئری ها"
+
+#. Description of the 'Expiry time of QR Code Image Page' (Int) field in
+#. DocType 'System Settings'
+#: core/doctype/system_settings/system_settings.json
+msgctxt "System Settings"
+msgid "Time in seconds to retain QR code image on server. Min:240"
+msgstr "زمان در ثانیه برای حفظ تصویر کد QR روی سرور. حداقل:240"
+
+#: desk/doctype/dashboard_chart/dashboard_chart.py:403
+msgid "Time series based on is required to create a dashboard chart"
+msgstr "برای ایجاد نمودار داشبورد سری های زمانی بر اساس مورد نیاز است"
+
+#: public/js/frappe/form/controls/time.js:107
+msgid "Time {0} must be in format: {1}"
+msgstr "زمان {0} باید در قالب باشد: {1}"
+
+#. Option for the 'Status' (Select) field in DocType 'Data Import'
+#: core/doctype/data_import/data_import.json
+msgctxt "Data Import"
+msgid "Timed Out"
+msgstr "زمان تمام شد"
+
+#: public/js/frappe/ui/theme_switcher.js:64
+msgid "Timeless Night"
+msgstr "شب بی انتها"
+
+#. Label of a Check field in DocType 'Role'
+#: core/doctype/role/role.json
+msgctxt "Role"
+msgid "Timeline"
+msgstr "جدول زمانی"
+
+#. Label of a Link field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Timeline DocType"
+msgstr "خط زمانی DocType"
+
+#. Label of a Data field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Timeline Field"
+msgstr "فیلد جدول زمانی"
+
+#. Label of a Section Break field in DocType 'Communication'
+#. Label of a Table field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "Timeline Links"
+msgstr "پیوندهای جدول زمانی"
+
+#. Label of a Dynamic Link field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Timeline Name"
+msgstr "نام خط زمانی"
+
+#: core/doctype/doctype/doctype.py:1487
+msgid "Timeline field must be a Link or Dynamic Link"
+msgstr "فیلد جدول زمانی باید پیوند یا پیوند پویا باشد"
+
+#: core/doctype/doctype/doctype.py:1483
+msgid "Timeline field must be a valid fieldname"
+msgstr "فیلد جدول زمانی باید یک نام فیلد معتبر باشد"
+
+#. Label of a Duration field in DocType 'RQ Job'
+#: core/doctype/rq_job/rq_job.json
+msgctxt "RQ Job"
+msgid "Timeout"
+msgstr "تایم اوت"
+
+#. Label of a Check field in DocType 'Dashboard Chart Source'
+#: desk/doctype/dashboard_chart_source/dashboard_chart_source.json
+msgctxt "Dashboard Chart Source"
+msgid "Timeseries"
+msgstr "سری زمانی"
+
+#: desk/page/leaderboard/leaderboard.js:123
+#: public/js/frappe/ui/filters/filter.js:28
+msgid "Timespan"
+msgstr "مدت زمان"
+
+#. Label of a Select field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "Timespan"
+msgstr "مدت زمان"
+
+#: core/report/transaction_log_report/transaction_log_report.py:112
+msgid "Timestamp"
+msgstr "مهر زمان"
+
+#. Label of a Datetime field in DocType 'Access Log'
+#: core/doctype/access_log/access_log.json
+msgctxt "Access Log"
+msgid "Timestamp"
+msgstr "مهر زمان"
+
+#. Label of a Datetime field in DocType 'Transaction Log'
+#: core/doctype/transaction_log/transaction_log.json
+msgctxt "Transaction Log"
+msgid "Timestamp"
+msgstr "مهر زمان"
+
+#: core/doctype/doctype/boilerplate/controller_list.html:14
+#: core/doctype/doctype/boilerplate/controller_list.html:23
+#: public/js/frappe/views/workspace/workspace.js:605
+#: public/js/frappe/views/workspace/workspace.js:934
+#: public/js/frappe/views/workspace/workspace.js:1181
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Blog Category'
+#: website/doctype/blog_category/blog_category.json
+msgctxt "Blog Category"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Blog Post'
+#: website/doctype/blog_post/blog_post.json
+msgctxt "Blog Post"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Blog Settings'
+#: website/doctype/blog_settings/blog_settings.json
+msgctxt "Blog Settings"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Discussion Topic'
+#: website/doctype/discussion_topic/discussion_topic.json
+msgctxt "Discussion Topic"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'DocType State'
+#: core/doctype/doctype_state/doctype_state.json
+msgctxt "DocType State"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Email Group'
+#: email/doctype/email_group/email_group.json
+msgctxt "Email Group"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Error Log'
+#: core/doctype/error_log/error_log.json
+msgctxt "Error Log"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Help Article'
+#: website/doctype/help_article/help_article.json
+msgctxt "Help Article"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Module Onboarding'
+#: desk/doctype/module_onboarding/module_onboarding.json
+msgctxt "Module Onboarding"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Note'
+#: desk/doctype/note/note.json
+msgctxt "Note"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Onboarding Step'
+#: desk/doctype/onboarding_step/onboarding_step.json
+msgctxt "Onboarding Step"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Page'
+#: core/doctype/page/page.json
+msgctxt "Page"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Portal Menu Item'
+#: website/doctype/portal_menu_item/portal_menu_item.json
+msgctxt "Portal Menu Item"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Web Form'
+#: website/doctype/web_form/web_form.json
+msgctxt "Web Form"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Web Page'
+#: website/doctype/web_page/web_page.json
+msgctxt "Web Page"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Website Sidebar'
+#: website/doctype/website_sidebar/website_sidebar.json
+msgctxt "Website Sidebar"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Website Sidebar Item'
+#: website/doctype/website_sidebar_item/website_sidebar_item.json
+msgctxt "Website Sidebar Item"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Workspace'
+#: desk/doctype/workspace/workspace.json
+msgctxt "Workspace"
+msgid "Title"
+msgstr "عنوان"
+
+#. Label of a Data field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Title Field"
+msgstr "فیلد عنوان"
+
+#. Label of a Data field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Title Field"
+msgstr "فیلد عنوان"
+
+#. Label of a Data field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Title Prefix"
+msgstr "پیشوند عنوان"
+
+#: core/doctype/doctype/doctype.py:1424
+msgid "Title field must be a valid fieldname"
+msgstr "فیلد عنوان باید یک نام فیلد معتبر باشد"
+
+#: website/doctype/web_page/web_page.js:70
+msgid "Title of the page"
+msgstr "عنوان صفحه"
+
+#: public/js/frappe/views/communication.js:53
+#: public/js/frappe/views/inbox/inbox_view.js:70
+msgid "To"
+msgstr "به"
+
+#. Label of a Code field in DocType 'Communication'
+#: core/doctype/communication/communication.json
+msgctxt "Communication"
+msgid "To"
+msgstr "به"
+
+#. Label of a Section Break field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "To"
+msgstr "به"
+
+#: website/report/website_analytics/website_analytics.js:14
+msgid "To Date"
+msgstr "تا تاریخ"
+
+#. Label of a Date field in DocType 'Dashboard Chart'
+#: desk/doctype/dashboard_chart/dashboard_chart.json
+msgctxt "Dashboard Chart"
+msgid "To Date"
+msgstr "تا تاریخ"
+
+#. Label of a Select field in DocType 'Auto Email Report'
+#: email/doctype/auto_email_report/auto_email_report.json
+msgctxt "Auto Email Report"
+msgid "To Date Field"
+msgstr "فیلد به تاریخ"
+
+#: desk/doctype/todo/todo_list.js:12
+msgid "To Do"
+msgstr "انجام دادن"
+
+#. Label of a Link in the Tools Workspace
+#: automation/workspace/tools/tools.json
+msgctxt "ToDo"
+msgid "To Do"
+msgstr "انجام دادن"
+
+#: public/js/frappe/form/sidebar/review.js:50
+msgid "To User"
+msgstr "به کاربر"
+
+#. Description of the 'Subject' (Data) field in DocType 'Auto Repeat'
+#: automation/doctype/auto_repeat/auto_repeat.json
+msgctxt "Auto Repeat"
+msgid "To add dynamic subject, use jinja tags like\n\n"
+"New {{ doc.doctype }} #{{ doc.name }}{{ doc.name }} Delivered{ \"id\": \"{{ doc.name }}\" }\n"
+"\n"
+"print(text)"
+msgstr ""
+
+#: core/doctype/user_type/user_type.py:295
+msgid "To set the role {0} in the user {1}, kindly set the {2} field as {3} in one of the {4} record."
+msgstr "برای تنظیم نقش {0} در کاربر {1}، لطفاً فیلد {2} را در یکی از رکوردهای {4} به عنوان {3} تنظیم کنید."
+
+#: integrations/doctype/google_calendar/google_calendar.js:8
+msgid "To use Google Calendar, enable {0}."
+msgstr "برای استفاده از Google Calendar، {0} را فعال کنید."
+
+#: integrations/doctype/google_contacts/google_contacts.js:8
+msgid "To use Google Contacts, enable {0}."
+msgstr "برای استفاده از Google Contacts، {0} را فعال کنید."
+
+#: integrations/doctype/google_drive/google_drive.js:8
+msgid "To use Google Drive, enable {0}."
+msgstr "برای استفاده از Google Drive، {0} را فعال کنید."
+
+#. Description of the 'Enable Google indexing' (Check) field in DocType
+#. 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "To use Google Indexing, enable Google Settings."
+msgstr "برای استفاده از Google Indexing، تنظیمات Google را فعال کنید."
+
+#. Description of the 'Slack Channel' (Link) field in DocType 'Notification'
+#: email/doctype/notification/notification.json
+msgctxt "Notification"
+msgid "To use Slack Channel, add a Slack Webhook URL."
+msgstr ""
+
+#: public/js/frappe/utils/diffview.js:44
+msgid "To version"
+msgstr "به نسخه"
+
+#. Name of a DocType
+#. Name of a report
+#: desk/doctype/todo/todo.json desk/report/todo/todo.json
+msgid "ToDo"
+msgstr "انجام دادن"
+
+#. Label of a shortcut in the Tools Workspace
+#: automation/workspace/tools/tools.json
+msgctxt "ToDo"
+msgid "ToDo"
+msgstr "انجام دادن"
+
+#. Linked DocType in User's connections
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "ToDo"
+msgstr "انجام دادن"
+
+#: public/js/frappe/form/controls/date.js:58
+#: public/js/frappe/views/calendar/calendar.js:268
+msgid "Today"
+msgstr "امروز"
+
+#: public/js/frappe/ui/notifications/notifications.js:55
+msgid "Today's Events"
+msgstr "رویدادهای امروز"
+
+#: public/js/frappe/views/reports/report_view.js:1497
+msgid "Toggle Chart"
+msgstr "تغییر نمودار"
+
+#. Label of a standard navbar item
+#. Type: Action
+#: hooks.py
+msgid "Toggle Full Width"
+msgstr "عرض کامل را تغییر دهید"
+
+#: public/js/frappe/views/file/file_view.js:33
+msgid "Toggle Grid View"
+msgstr "نمای شبکه ای را تغییر دهید"
+
+#: public/js/frappe/ui/page.js:193 public/js/frappe/ui/page.js:195
+#: public/js/frappe/views/reports/report_view.js:1501
+msgid "Toggle Sidebar"
+msgstr "نوار کناری را تغییر دهید"
+
+#: public/js/frappe/list/list_view.js:1688
+msgctxt "Button in list view menu"
+msgid "Toggle Sidebar"
+msgstr "نوار کناری را تغییر دهید"
+
+#. Label of a standard navbar item
+#. Type: Action
+#: hooks.py
+msgid "Toggle Theme"
+msgstr "تغییر تم"
+
+#. Option for the 'Response Type' (Select) field in DocType 'OAuth Client'
+#: integrations/doctype/oauth_client/oauth_client.json
+msgctxt "OAuth Client"
+msgid "Token"
+msgstr "رمز"
+
+#. Name of a DocType
+#: integrations/doctype/token_cache/token_cache.json
+msgid "Token Cache"
+msgstr "کش توکن"
+
+#. Linked DocType in Connected App's connections
+#: integrations/doctype/connected_app/connected_app.json
+msgctxt "Connected App"
+msgid "Token Cache"
+msgstr "کش توکن"
+
+#. Linked DocType in User's connections
+#: core/doctype/user/user.json
+msgctxt "User"
+msgid "Token Cache"
+msgstr "کش توکن"
+
+#. Label of a Data field in DocType 'Token Cache'
+#: integrations/doctype/token_cache/token_cache.json
+msgctxt "Token Cache"
+msgid "Token Type"
+msgstr "نوع توکن"
+
+#. Label of a Data field in DocType 'Connected App'
+#: integrations/doctype/connected_app/connected_app.json
+msgctxt "Connected App"
+msgid "Token URI"
+msgstr "نشانی URI"
+
+#: utils/oauth.py:179
+msgid "Token is missing"
+msgstr "رمز وجود ندارد"
+
+#: desk/doctype/bulk_update/bulk_update.py:69 model/workflow.py:246
+msgid "Too Many Documents"
+msgstr "اسناد بسیار زیاد"
+
+#: rate_limiter.py:88
+msgid "Too Many Requests"
+msgstr "درخواست های خیلی زیاد"
+
+#: database/database.py:424
+msgid "Too many changes to database in single action."
+msgstr "تغییرات بسیار زیادی در پایگاه داده در یک اقدام واحد."
+
+#: core/doctype/user/user.py:1012
+msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
+msgstr "کاربران زیادی اخیرا ثبت نام کرده اند، بنابراین ثبت نام غیرفعال است. لطفا یک ساعت دیگر دوباره امتحان کنید"
+
+#. Name of a Workspace
+#. Label of a Card Break in the Tools Workspace
+#: automation/workspace/tools/tools.json
+msgid "Tools"
+msgstr "ابزار"
+
+#. Option for the 'Position' (Select) field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Top"
+msgstr "بالا"
+
+#. Name of a DocType
+#: website/doctype/top_bar_item/top_bar_item.json
+msgid "Top Bar Item"
+msgstr "مورد نوار بالا"
+
+#. Label of a Table field in DocType 'Website Settings'
+#: website/doctype/website_settings/website_settings.json
+msgctxt "Website Settings"
+msgid "Top Bar Items"
+msgstr "موارد نوار بالا"
+
+#. Option for the 'Position' (Select) field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Top Center"
+msgstr "مرکز برتر"
+
+#. Option for the 'Page Number' (Select) field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Top Center"
+msgstr "مرکز برتر"
+
+#. Option for the 'Page Number' (Select) field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Top Left"
+msgstr "بالا سمت چپ"
+
+#: templates/emails/energy_points_summary.html:3
+msgid "Top Performer"
+msgstr "عمل کننده عالی"
+
+#: templates/emails/energy_points_summary.html:18
+msgid "Top Reviewer"
+msgstr "داور برتر"
+
+#. Option for the 'Position' (Select) field in DocType 'Form Tour Step'
+#: desk/doctype/form_tour_step/form_tour_step.json
+msgctxt "Form Tour Step"
+msgid "Top Right"
+msgstr "بالا سمت راست"
+
+#. Option for the 'Page Number' (Select) field in DocType 'Print Format'
+#: printing/doctype/print_format/print_format.json
+msgctxt "Print Format"
+msgid "Top Right"
+msgstr "بالا سمت راست"
+
+#: templates/emails/energy_points_summary.html:33
+msgid "Top {0}"
+msgstr "{0} برتر"
+
+#. Label of a Link field in DocType 'Discussion Reply'
+#: website/doctype/discussion_reply/discussion_reply.json
+msgctxt "Discussion Reply"
+msgid "Topic"
+msgstr "موضوع"
+
+#: desk/query_report.py:497 public/js/frappe/views/reports/print_grid.html:45
+msgid "Total"
+msgstr "جمع"
+
+#: public/js/frappe/ui/capture.js:259
+msgid "Total Images"
+msgstr "مجموع تصاویر"
+
+#. Label of a Int field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Total Recipients"
+msgstr "کل گیرندگان"
+
+#. Label of a Int field in DocType 'Email Group'
+#: email/doctype/email_group/email_group.json
+msgctxt "Email Group"
+msgid "Total Subscribers"
+msgstr "کل مشترکین"
+
+#. Label of a Read Only field in DocType 'Newsletter Email Group'
+#: email/doctype/newsletter_email_group/newsletter_email_group.json
+msgctxt "Newsletter Email Group"
+msgid "Total Subscribers"
+msgstr "کل مشترکین"
+
+#. Label of a Int field in DocType 'Newsletter'
+#: email/doctype/newsletter/newsletter.json
+msgctxt "Newsletter"
+msgid "Total Views"
+msgstr "کل بازدیدها"
+
+#. Label of a Duration field in DocType 'RQ Worker'
+#: core/doctype/rq_worker/rq_worker.json
+msgctxt "RQ Worker"
+msgid "Total Working Time"
+msgstr "کل زمان کار"
+
+#. Description of the 'Initial Sync Count' (Select) field in DocType 'Email
+#. Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Total number of emails to sync in initial sync process "
+msgstr ""
+
+#: public/js/frappe/views/reports/report_view.js:1183
+#: public/js/frappe/views/reports/report_view.js:1479
+msgid "Totals"
+msgstr "جمع کل"
+
+#: public/js/frappe/views/reports/report_view.js:1158
+msgid "Totals Row"
+msgstr "ردیف کل"
+
+#. Label of a Data field in DocType 'Error Log'
+#: core/doctype/error_log/error_log.json
+msgctxt "Error Log"
+msgid "Trace ID"
+msgstr "شناسه ردیابی"
+
+#. Label of a Code field in DocType 'Patch Log'
+#: core/doctype/patch_log/patch_log.json
+msgctxt "Patch Log"
+msgid "Traceback"
+msgstr "ردیابی"
+
+#. Label of a Check field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Track Changes"
+msgstr "تغییرات مسیر"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Track Changes"
+msgstr "تغییرات مسیر"
+
+#. Label of a Check field in DocType 'Email Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Track Email Status"
+msgstr "ردیابی وضعیت ایمیل"
+
+#. Label of a Data field in DocType 'Milestone'
+#: automation/doctype/milestone/milestone.json
+msgctxt "Milestone"
+msgid "Track Field"
+msgstr "میدان پیست"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Track Seen"
+msgstr "آهنگ دیده شده"
+
+#. Label of a Check field in DocType 'Form Tour'
+#: desk/doctype/form_tour/form_tour.json
+msgctxt "Form Tour"
+msgid "Track Steps"
+msgstr "ردیابی مراحل"
+
+#. Label of a Check field in DocType 'Customize Form'
+#: custom/doctype/customize_form/customize_form.json
+msgctxt "Customize Form"
+msgid "Track Views"
+msgstr "نماهای آهنگ"
+
+#. Label of a Check field in DocType 'DocType'
+#: core/doctype/doctype/doctype.json
+msgctxt "DocType"
+msgid "Track Views"
+msgstr "نماهای آهنگ"
+
+#. Description of the 'Track Email Status' (Check) field in DocType 'Email
+#. Account'
+#: email/doctype/email_account/email_account.json
+msgctxt "Email Account"
+msgid "Track if your email has been opened by the recipient.\n"
+"To interact with above HTML you will have to use `root_element` as a p "" msgstr "" -#: twofactor.py:461 +#: twofactor.py:462 msgid "
Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" msgstr "" @@ -698,7 +698,7 @@ msgstr "" msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs." msgstr "" -#: core/doctype/doctype/doctype.py:1013 +#: core/doctype/doctype/doctype.py:1015 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "" @@ -706,11 +706,11 @@ msgstr "" msgid "A featured post must have a cover image" msgstr "Un article en vedette doit avoir une image de couverture" -#: custom/doctype/custom_field/custom_field.py:172 +#: custom/doctype/custom_field/custom_field.py:173 msgid "A field with the name {0} already exists in {1}" msgstr "" -#: core/doctype/file/file.py:255 +#: core/doctype/file/file.py:254 msgid "A file with same name {} already exists" msgstr "" @@ -845,12 +845,25 @@ msgctxt "Google Settings" msgid "API Key" msgstr "Clé API" +#. Label of a Data field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key" +msgstr "Clé API" + #. Label of a Data field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" msgid "API Key" msgstr "Clé API" +#. Description of the 'Authentication' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site." +msgstr "" + #. Description of the 'API Key' (Data) field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -863,6 +876,12 @@ msgctxt "Server Script" msgid "API Method" msgstr "Méthode API" +#. Label of a Password field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Secret" +msgstr "Secret API" + #. Label of a Password field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -966,7 +985,7 @@ msgctxt "Social Login Key" msgid "Access Token URL" msgstr "URL du jeton d'accès" -#: auth.py:445 +#: auth.py:451 msgid "Access not allowed from this IP Address" msgstr "Accès non autorisé à partir de cette adresse IP" @@ -1046,7 +1065,7 @@ msgstr "Action / Route" msgid "Action Complete" msgstr "Action terminée" -#: model/document.py:1652 +#: model/document.py:1668 msgid "Action Failed" msgstr "Échec de l'action" @@ -1187,7 +1206,7 @@ msgstr "Historique d'activité" #: core/page/permission_manager/permission_manager.js:476 #: email/doctype/email_group/email_group.js:60 -#: public/js/frappe/form/grid_row.js:469 +#: public/js/frappe/form/grid_row.js:470 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 #: public/js/frappe/list/bulk_operations.js:393 @@ -1203,7 +1222,7 @@ msgctxt "Primary action in list view" msgid "Add" msgstr "Ajouter" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Add / Remove Columns" msgstr "" @@ -1215,7 +1234,7 @@ msgstr "Ajouter / Mettre à jour" msgid "Add A New Rule" msgstr "Ajouter une nouvelle règle" -#: public/js/frappe/views/communication.js:529 +#: public/js/frappe/views/communication.js:555 #: public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "Ajouter une pièce jointe" @@ -1317,7 +1336,7 @@ msgstr "" msgid "Add Review" msgstr "Ajouter un commentaire" -#: core/doctype/user/user.py:794 +#: core/doctype/user/user.py:798 msgid "Add Roles" msgstr "" @@ -1325,7 +1344,7 @@ msgstr "" msgid "Add Row" msgstr "" -#: public/js/frappe/views/communication.js:117 +#: public/js/frappe/views/communication.js:118 msgid "Add Signature" msgstr "Ajouter une Signature" @@ -1356,12 +1375,12 @@ msgstr "Ajouter des Abonnés" msgid "Add Tags" msgstr "" -#: public/js/frappe/list/list_view.js:1858 +#: public/js/frappe/list/list_view.js:1865 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "" -#: public/js/frappe/views/communication.js:362 +#: public/js/frappe/views/communication.js:387 msgid "Add Template" msgstr "" @@ -1464,7 +1483,7 @@ msgstr "HTML ajouté dans la section de la page web, utilisé principalement p msgid "Added default log doctypes: {}" msgstr "" -#: core/doctype/file/file.py:717 +#: core/doctype/file/file.py:718 msgid "Added {0}" msgstr "Ajouté {0}" @@ -1473,7 +1492,7 @@ msgstr "Ajouté {0}" msgid "Added {0} ({1})" msgstr "Ajouté {0} ({1})" -#: core/doctype/user/user.py:300 +#: core/doctype/user/user.py:304 msgid "Adding System Manager to this User as there must be atleast one System Manager" msgstr "Ajout du rôle Responsable Système pour cet utilisateur car il doit y avoir au moins un utilisateur avec le rôle Responsable Système" @@ -1600,11 +1619,11 @@ msgstr "Administration" msgid "Administrator" msgstr "Administrateur" -#: core/doctype/user/user.py:1198 +#: core/doctype/user/user.py:1202 msgid "Administrator Logged In" msgstr "Administrateur Connecté" -#: core/doctype/user/user.py:1192 +#: core/doctype/user/user.py:1196 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "L'administrateur a accedé à {0} sur {1} avec l'Adresse IP {2}." @@ -1655,6 +1674,12 @@ msgctxt "Server Script" msgid "After Insert" msgstr "Après l'insertion" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "After Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -2180,7 +2205,7 @@ msgstr "" msgid "Allowing DocType, DocType. Be careful!" msgstr "Autorisation de DocType, DocType. Soyez prudent !" -#: core/doctype/user/user.py:1001 +#: core/doctype/user/user.py:1005 msgid "Already Registered" msgstr "Déjà Inscrit" @@ -2432,7 +2457,7 @@ msgstr "Clé Secrète de l'App" msgid "App not found for module: {0}" msgstr "Application introuvable pour le module : {0}" -#: __init__.py:1765 +#: __init__.py:1782 msgid "App {0} is not installed" msgstr "App {0} n'est pas installée" @@ -2511,7 +2536,7 @@ msgctxt "Property Setter" msgid "Applied On" msgstr "Appliqué sur" -#: public/js/frappe/list/list_view.js:1843 +#: public/js/frappe/list/list_view.js:1850 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "Appliquer la règle d'assignation" @@ -2617,7 +2642,7 @@ msgstr "Archivé" msgid "Archived Columns" msgstr "Colonnes Archivées" -#: public/js/frappe/list/list_view.js:1822 +#: public/js/frappe/list/list_view.js:1829 msgid "Are you sure you want to clear the assignments?" msgstr "" @@ -2716,7 +2741,7 @@ msgstr "Attribuer une condition" msgid "Assign To" msgstr "Attribuer À" -#: public/js/frappe/list/list_view.js:1804 +#: public/js/frappe/list/list_view.js:1811 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "Attribuer À" @@ -2885,11 +2910,11 @@ msgctxt "Notification Settings" msgid "Assignments" msgstr "Affectations" -#: public/js/frappe/form/grid_row.js:649 +#: public/js/frappe/form/grid_row.js:650 msgid "At least one column is required to show in the grid." msgstr "Au moins une colonne est requise pour s'afficher dans la grille." -#: website/doctype/web_form/web_form.js:64 +#: website/doctype/web_form/web_form.js:63 msgid "At least one field is required in Web Form Fields Table" msgstr "" @@ -2925,7 +2950,7 @@ msgctxt "Web Form Field" msgid "Attach" msgstr "Attacher" -#: public/js/frappe/views/communication.js:139 +#: public/js/frappe/views/communication.js:140 msgid "Attach Document Print" msgstr "Joindre l'Impression de Document" @@ -2999,7 +3024,7 @@ msgctxt "File" msgid "Attached To Name" msgstr "Joint Au Nom" -#: core/doctype/file/file.py:141 +#: core/doctype/file/file.py:140 msgid "Attached To Name must be a string or an integer" msgstr "Le nom joint à un nom doit être une chaîne ou un entier" @@ -3033,7 +3058,7 @@ msgctxt "Email Domain" msgid "Attachment Limit (MB)" msgstr "Taille Maximale de la Pièce jointe (MB)" -#: core/doctype/file/file.py:322 +#: core/doctype/file/file.py:321 #: public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" msgstr "Limite de pièces jointes atteinte" @@ -3056,7 +3081,7 @@ msgctxt "Communication" msgid "Attachment Removed" msgstr "Pièce jointe retirée" -#: core/doctype/file/utils.py:40 +#: core/doctype/file/utils.py:37 #: email/doctype/newsletter/templates/newsletter.html:47 #: public/js/frappe/form/templates/form_sidebar.html:65 #: website/doctype/web_form/templates/web_form.html:103 @@ -3116,6 +3141,12 @@ msgctxt "Email Account" msgid "Authentication" msgstr "Authentification" +#. Label of a Section Break field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Authentication" +msgstr "Authentification" + #: www/qrcode.html:19 msgid "Authentication Apps you can use are: " msgstr "Les Applications d'Authentification que vous pouvez utiliser sont:" @@ -3532,7 +3563,7 @@ msgctxt "Print Settings" msgid "B9" msgstr "" -#: public/js/frappe/views/communication.js:76 +#: public/js/frappe/views/communication.js:77 msgid "BCC" msgstr "" @@ -3592,6 +3623,12 @@ msgctxt "RQ Job" msgid "Background Jobs" msgstr "Travaux en Arrière-plan" +#. Label of a Autocomplete field in DocType 'Webhook' +#: integrations/doctype/webhook/webhook.json +msgctxt "Webhook" +msgid "Background Jobs Queue" +msgstr "" + #. Label of a Section Break field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3668,6 +3705,10 @@ msgctxt "System Settings" msgid "Backups" msgstr "Sauvegardes" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:63 +msgid "Bad Cron Expression" +msgstr "" + #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3746,7 +3787,7 @@ msgctxt "Social Login Key" msgid "Base URL" msgstr "URL de base" -#: printing/page/print/print.js:266 printing/page/print/print.js:320 +#: printing/page/print/print.js:273 printing/page/print/print.js:327 msgid "Based On" msgstr "Basé Sur" @@ -3798,6 +3839,12 @@ msgctxt "Server Script" msgid "Before Insert" msgstr "Avant l'insertion" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "Before Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -4355,7 +4402,7 @@ msgstr "" msgid "CANCELLED" msgstr "ANNULÉ" -#: public/js/frappe/views/communication.js:71 +#: public/js/frappe/views/communication.js:72 msgid "CC" msgstr "" @@ -4479,7 +4526,7 @@ msgctxt "DocType" msgid "Calendar View" msgstr "Vue du calendrier" -#: contacts/doctype/contact/contact.js:50 +#: contacts/doctype/contact/contact.js:55 msgid "Call" msgstr "Appeler" @@ -4519,7 +4566,7 @@ msgctxt "Onboarding Step" msgid "Callback Title" msgstr "Titre de rappel" -#: public/js/frappe/ui/capture.js:326 +#: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "Caméra" @@ -4566,11 +4613,11 @@ msgstr "" msgid "Can Write" msgstr "" -#: custom/doctype/custom_field/custom_field.py:359 +#: custom/doctype/custom_field/custom_field.py:360 msgid "Can not rename as column {0} is already present on DocType." msgstr "" -#: core/doctype/doctype/doctype.py:1110 +#: core/doctype/doctype/doctype.py:1112 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "" @@ -4590,7 +4637,7 @@ msgstr "" msgid "Cancel" msgstr "Annuler" -#: public/js/frappe/list/list_view.js:1913 +#: public/js/frappe/list/list_view.js:1920 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "Annuler" @@ -4643,7 +4690,7 @@ msgstr "Annuler tous les documents" msgid "Cancel Scheduling" msgstr "" -#: public/js/frappe/list/list_view.js:1918 +#: public/js/frappe/list/list_view.js:1925 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "Annuler les documents {0}?" @@ -4716,7 +4763,7 @@ msgstr "Ne peut être retiré" msgid "Cannot Update After Submit" msgstr "" -#: core/doctype/file/file.py:573 +#: core/doctype/file/file.py:574 msgid "Cannot access file path {0}" msgstr "" @@ -4732,11 +4779,11 @@ msgstr "Impossible d'annuler avant de valider. Voir Transition {0}" msgid "Cannot cancel {0}." msgstr "" -#: model/document.py:827 +#: model/document.py:843 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "" -#: model/document.py:841 +#: model/document.py:857 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "" @@ -4748,7 +4795,7 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "Impossible de changer l'état d'un Document Annulé. Ligne de transition {0}" -#: core/doctype/doctype/doctype.py:1100 +#: core/doctype/doctype/doctype.py:1102 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "" @@ -4760,7 +4807,7 @@ msgstr "Création impossible d'un {0} pour un document enfant: {1}" msgid "Cannot create private workspace of other users" msgstr "" -#: core/doctype/file/file.py:152 +#: core/doctype/file/file.py:151 msgid "Cannot delete Home and Attachments folders" msgstr "Impossible de supprimer les dossiers d’accueil et les pièces jointes" @@ -4820,7 +4867,7 @@ msgstr "" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "Modification du rapport standard impossible. Veuillez le dupliquer et créer un nouveau rapport" -#: model/document.py:847 +#: model/document.py:863 msgid "Cannot edit cancelled document" msgstr "Impossible de modifier un document annulé" @@ -4836,19 +4883,19 @@ msgstr "Impossible de modifier les champs standards" msgid "Cannot enable {0} for a non-submittable doctype" msgstr "" -#: core/doctype/file/file.py:250 +#: core/doctype/file/file.py:249 msgid "Cannot find file {} on disk" msgstr "" -#: core/doctype/file/file.py:519 +#: core/doctype/file/file.py:520 msgid "Cannot get file contents of a Folder" msgstr "" -#: printing/page/print/print.js:817 +#: printing/page/print/print.js:824 msgid "Cannot have multiple printers mapped to a single print format." msgstr "Impossible d'imprimer plusieurs imprimantes sur un seul format d'impression." -#: model/document.py:915 +#: model/document.py:931 msgid "Cannot link cancelled document: {0}" msgstr "Impossible de lier le document annulé : {0}" @@ -4909,7 +4956,7 @@ msgstr "" msgid "Capitalization doesn't help very much." msgstr "La capitalisation ne contribue pas beaucoup." -#: public/js/frappe/ui/capture.js:286 +#: public/js/frappe/ui/capture.js:294 msgid "Capture" msgstr "" @@ -4967,7 +5014,7 @@ msgctxt "Help Category" msgid "Category Name" msgstr "Nom de la Catégorie" -#: utils/data.py:1466 +#: utils/data.py:1469 msgid "Cent" msgstr "Centime" @@ -4998,11 +5045,11 @@ msgid "Chaining Hash" msgstr "Hachage de chaînage" #: public/js/frappe/form/templates/form_sidebar.html:11 -#: tests/test_translate.py:98 +#: tests/test_translate.py:97 msgid "Change" msgstr "Changement" -#: tests/test_translate.py:99 +#: tests/test_translate.py:98 msgctxt "Coins" msgid "Change" msgstr "la monnaie" @@ -5164,7 +5211,7 @@ msgctxt "Web Template Field" msgid "Check" msgstr "Vérifier" -#: integrations/doctype/webhook/webhook.py:96 +#: integrations/doctype/webhook/webhook.py:98 msgid "Check Request URL" msgstr "Vérifier l'URL de Demande" @@ -5234,7 +5281,7 @@ msgctxt "Form Tour Step" msgid "Child Doctype" msgstr "" -#: core/doctype/doctype/doctype.py:1582 +#: core/doctype/doctype/doctype.py:1584 msgid "Child Table {0} for field {1}" msgstr "" @@ -5288,15 +5335,15 @@ msgstr "Ville" msgid "Clear" msgstr "Nettoyer" -#: public/js/frappe/views/communication.js:367 +#: public/js/frappe/views/communication.js:392 msgid "Clear & Add Template" msgstr "" -#: public/js/frappe/views/communication.js:98 +#: public/js/frappe/views/communication.js:99 msgid "Clear & Add template" msgstr "" -#: public/js/frappe/list/list_view.js:1819 +#: public/js/frappe/list/list_view.js:1826 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "" @@ -5323,7 +5370,7 @@ msgstr "" msgid "Clear User Permissions" msgstr "Effacer les autorisations utilisateur" -#: public/js/frappe/views/communication.js:368 +#: public/js/frappe/views/communication.js:393 msgid "Clear the email message and add the template" msgstr "" @@ -5381,7 +5428,7 @@ msgstr "Cliquez sur {0} pour générer le jeton d'actualisation." #: desk/doctype/dashboard_chart/dashboard_chart.js:315 #: desk/doctype/number_card/number_card.js:215 #: email/doctype/auto_email_report/auto_email_report.js:96 -#: website/doctype/web_form/web_form.js:227 +#: website/doctype/web_form/web_form.js:226 msgid "Click table to edit" msgstr "Cliquez sur la table pour modifier" @@ -5392,11 +5439,11 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:372 #: desk/doctype/number_card/number_card.js:270 -#: website/doctype/web_form/web_form.js:253 +#: website/doctype/web_form/web_form.js:252 msgid "Click to Set Filters" msgstr "" -#: public/js/frappe/list/list_view.js:657 +#: public/js/frappe/list/list_view.js:655 msgid "Click to sort by {0}" msgstr "" @@ -5809,11 +5856,11 @@ msgstr "Nom de la Colonne" msgid "Column Name cannot be empty" msgstr "Nom de la Colonne ne peut pas être vide" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Column Width" msgstr "" -#: public/js/frappe/form/grid_row.js:613 +#: public/js/frappe/form/grid_row.js:614 msgid "Column width cannot be zero." msgstr "" @@ -5973,8 +6020,8 @@ msgid "Common names and surnames are easy to guess." msgstr "Noms et prénoms communs sont faciles à deviner." #. Name of a DocType -#: core/doctype/communication/communication.json tests/test_translate.py:35 -#: tests/test_translate.py:103 +#: core/doctype/communication/communication.json tests/test_translate.py:34 +#: tests/test_translate.py:102 msgid "Communication" msgstr "la communication" @@ -6047,11 +6094,11 @@ msgstr "Nom de la Société" msgid "Compare Versions" msgstr "" -#: core/doctype/server_script/server_script.py:137 +#: core/doctype/server_script/server_script.py:140 msgid "Compilation warning" msgstr "" -#: website/doctype/website_theme/website_theme.py:122 +#: website/doctype/website_theme/website_theme.py:123 msgid "Compiled Successfully" msgstr "Compilé avec succès" @@ -6069,7 +6116,7 @@ msgstr "Terminé" msgid "Complete By" msgstr "Terminé par" -#: core/doctype/user/user.py:467 templates/emails/new_user.html:10 +#: core/doctype/user/user.py:471 templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "Terminer l'Inscription" @@ -6138,7 +6185,7 @@ msgstr "Écrire un Email" #: desk/doctype/dashboard_chart/dashboard_chart.js:439 #: desk/doctype/number_card/number_card.js:205 #: desk/doctype/number_card/number_card.js:333 -#: website/doctype/web_form/web_form.js:188 +#: website/doctype/web_form/web_form.js:187 msgid "Condition" msgstr "Conditions" @@ -6218,7 +6265,7 @@ msgstr "" msgid "Configure Chart" msgstr "Configurer le graphique" -#: public/js/frappe/form/grid_row.js:381 +#: public/js/frappe/form/grid_row.js:382 msgid "Configure Columns" msgstr "" @@ -6235,7 +6282,8 @@ msgid "Configure how amended documents will be named.filters. result = [result], or for old style data = [columns], [result]"
msgstr "Les filtres seront accessibles via des filters .result = [result] , ou pour les data = [columns], [result] style ancien data = [columns], [result]"
-#: public/js/frappe/views/reports/report_view.js:1353
+#: public/js/frappe/views/reports/report_view.js:1355
msgid "Filters:"
msgstr ""
@@ -12788,11 +12873,11 @@ msgctxt "Report Filter"
msgid "Fold"
msgstr "Pli"
-#: core/doctype/doctype/doctype.py:1397
+#: core/doctype/doctype/doctype.py:1399
msgid "Fold can not be at the end of the form"
msgstr "Un Pli ne peut pas être à la fin du formulaire"
-#: core/doctype/doctype/doctype.py:1395
+#: core/doctype/doctype/doctype.py:1397
msgid "Fold must come before a Section Break"
msgstr "Un Pli doit être avant un Saut de Section"
@@ -12812,7 +12897,7 @@ msgstr "Nom du dossier"
msgid "Folder name should not include '/' (slash)"
msgstr "Le nom du Dossier ne doit pas inclure de '/' (slash)"
-#: core/doctype/file/file.py:465
+#: core/doctype/file/file.py:466
msgid "Folder {0} is not empty"
msgstr "Dossier {0} n’est pas vide"
@@ -13114,7 +13199,7 @@ msgstr ""
msgid "For updating, you can update only selective columns."
msgstr "Pour la mise à jour, vous pouvez mettre à jour uniquement une sélection colonnes."
-#: core/doctype/doctype/doctype.py:1686
+#: core/doctype/doctype/doctype.py:1730
msgid "For {0} at level {1} in {2} in row {3}"
msgstr "Pour {0} au niveau {1} dans {2} à la ligne {3}"
@@ -13400,7 +13485,7 @@ msgctxt "System Settings"
msgid "Friday"
msgstr "Vendredi"
-#: public/js/frappe/views/communication.js:170
+#: public/js/frappe/views/communication.js:182
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "From"
msgstr "À partir de"
@@ -13519,7 +13604,7 @@ msgstr "Une fonction"
msgid "Function Based On"
msgstr "Fonction basée sur"
-#: __init__.py:928
+#: __init__.py:931
msgid "Function {0} is not whitelisted."
msgstr ""
@@ -13644,7 +13729,7 @@ msgctxt "Auto Repeat"
msgid "Get Contacts"
msgstr "Obtenir les contacts"
-#: website/doctype/web_form/web_form.js:84
+#: website/doctype/web_form/web_form.js:83
msgid "Get Fields"
msgstr "Obtenir des champs"
@@ -14411,7 +14496,7 @@ msgstr ""
#: public/js/frappe/form/templates/form_sidebar.html:40
#: public/js/frappe/form/workflow.js:23
-#: public/js/frappe/ui/toolbar/navbar.html:81 public/js/frappe/utils/help.js:27
+#: public/js/frappe/ui/toolbar/navbar.html:86 public/js/frappe/utils/help.js:27
msgid "Help"
msgstr "Aidez-moi"
@@ -14455,7 +14540,7 @@ msgctxt "Help Category"
msgid "Help Category"
msgstr "Catégorie d’Aide"
-#: public/js/frappe/ui/toolbar/navbar.html:78
+#: public/js/frappe/ui/toolbar/navbar.html:83
msgid "Help Dropdown"
msgstr "Aide déroulante"
@@ -14721,11 +14806,11 @@ msgctxt "Portal Settings"
msgid "Hide Standard Menu"
msgstr "Masquer le Menu Standard"
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Hide Tags"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Hide Weekends"
msgstr "Masquer les week-ends"
@@ -14782,9 +14867,9 @@ msgstr "Surligner"
msgid "Hint: Include symbols, numbers and capital letters in the password"
msgstr "Astuce: inclure des symboles, des chiffres et des majuscules dans le mot de passe"
-#: core/doctype/file/utils.py:31 public/js/frappe/views/file/file_view.js:67
+#: core/doctype/file/utils.py:28 public/js/frappe/views/file/file_view.js:67
#: public/js/frappe/views/file/file_view.js:88
-#: public/js/frappe/views/pageview.js:149 templates/doc.html:19
+#: public/js/frappe/views/pageview.js:153 templates/doc.html:19
#: templates/includes/navbar/navbar.html:9
#: website/doctype/blog_post/blog_post.py:153
#: website/doctype/blog_post/blog_post.py:265
@@ -14818,16 +14903,16 @@ msgctxt "User"
msgid "Home Settings"
msgstr "Paramètres d'accueil"
-#: core/doctype/file/test_file.py:297 core/doctype/file/test_file.py:299
-#: core/doctype/file/test_file.py:363
+#: core/doctype/file/test_file.py:302 core/doctype/file/test_file.py:304
+#: core/doctype/file/test_file.py:368
msgid "Home/Test Folder 1"
msgstr "Accueil / Dossier Test 1"
-#: core/doctype/file/test_file.py:352
+#: core/doctype/file/test_file.py:357
msgid "Home/Test Folder 1/Test Folder 3"
msgstr "Accueil / Dossier Test 1 / Dossier Test 3"
-#: core/doctype/file/test_file.py:308
+#: core/doctype/file/test_file.py:313
msgid "Home/Test Folder 2"
msgstr "Accueil / Dossier Test 2"
@@ -14886,7 +14971,7 @@ msgstr "Comment cette devise doit-elle être formatée ? Si ce n’est pas défi
msgid "ID"
msgstr ""
-#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:920
+#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:922
msgctxt "Label of name column in report"
msgid "ID"
msgstr ""
@@ -15043,7 +15128,7 @@ msgctxt "Workflow Document State"
msgid "If Checked workflow status will not override status in list view"
msgstr "Si Cochée le statut du flux de travail ne remplacera pas le statut de la vue en liste"
-#: core/doctype/doctype/doctype.py:1698
+#: core/doctype/doctype/doctype.py:1742
msgid "If Owner"
msgstr "Si Responsable"
@@ -15235,7 +15320,7 @@ msgstr "Si vous téléchargez de nouveaux rapports, \"Nommer Séries\" devient o
msgid "If you are uploading new records, leave the \"name\" (ID) column blank."
msgstr "Si vous chargez de nouveaux enregistrements, laissez la colonne \"nom\" (ID) vide."
-#: utils/password.py:200
+#: utils/password.py:197
msgid "If you have recently restored the site you may need to copy the site config contaning original Encryption Key."
msgstr ""
@@ -15418,15 +15503,15 @@ msgctxt "Letter Head"
msgid "Image Width"
msgstr ""
-#: core/doctype/doctype/doctype.py:1453
+#: core/doctype/doctype/doctype.py:1455
msgid "Image field must be a valid fieldname"
msgstr "Champ de l'image doit être un champ valide"
-#: core/doctype/doctype/doctype.py:1455
+#: core/doctype/doctype/doctype.py:1457
msgid "Image field must be of type Attach Image"
msgstr "Champ de l'image doit être du type Image Jointe"
-#: core/doctype/file/utils.py:134
+#: core/doctype/file/utils.py:136
msgid "Image link '{0}' is not valid"
msgstr ""
@@ -15438,6 +15523,28 @@ msgstr ""
msgid "Images"
msgstr ""
+#: core/doctype/user/user.js:346
+msgid "Impersonate"
+msgstr ""
+
+#. Option for the 'Operation' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Impersonate"
+msgstr ""
+
+#: core/doctype/user/user.js:373
+msgid "Impersonate as {0}"
+msgstr ""
+
+#: public/js/frappe/form/footer/version_timeline_content_builder.js:233
+msgid "Impersonated by {0}"
+msgstr ""
+
+#: public/js/frappe/ui/toolbar/navbar.html:21
+msgid "Impersonating {0}"
+msgstr ""
+
#: core/doctype/log_settings/log_settings.py:57
msgid "Implement `clear_old_logs` method to enable auto error clearing."
msgstr ""
@@ -15453,7 +15560,7 @@ msgstr "Implicite"
msgid "Import"
msgstr "Importer"
-#: public/js/frappe/list/list_view.js:1628
+#: public/js/frappe/list/list_view.js:1635
msgctxt "Button in list view menu"
msgid "Import"
msgstr "Importer"
@@ -15808,25 +15915,25 @@ msgstr "Configuration incorrecte"
msgid "Incorrect URL"
msgstr "URL incorrecte"
-#: utils/password.py:90
+#: utils/password.py:89
msgid "Incorrect User or Password"
msgstr "Utilisateur ou mot de passe incorrect"
-#: twofactor.py:175 twofactor.py:187
+#: twofactor.py:176 twofactor.py:188
msgid "Incorrect Verification code"
msgstr "Code de Vérification incorrect"
-#: model/document.py:1335
+#: model/document.py:1351
msgid "Incorrect value in row {0}: {1} must be {2} {3}"
msgstr "Valeur incorrecte à la ligne {0} : {1} doit être {2} {3}"
-#: model/document.py:1339
+#: model/document.py:1355
msgid "Incorrect value: {0} must be {1} {2}"
msgstr "Valeur incorrecte : {0} doit être {1} {2}"
#: model/meta.py:48 public/js/frappe/model/meta.js:200
#: public/js/frappe/model/model.js:114
-#: public/js/frappe/views/reports/report_view.js:941
+#: public/js/frappe/views/reports/report_view.js:943
msgid "Index"
msgstr ""
@@ -15936,11 +16043,11 @@ msgctxt "Custom Field"
msgid "Insert After"
msgstr "Insérer Après"
-#: custom/doctype/custom_field/custom_field.py:248
+#: custom/doctype/custom_field/custom_field.py:249
msgid "Insert After cannot be set as {0}"
msgstr "Insérer Après ne peut être défini en tant que {0}"
-#: custom/doctype/custom_field/custom_field.py:241
+#: custom/doctype/custom_field/custom_field.py:242
msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist"
msgstr "Insérer Après le champ '{0}' mentionné dans un Champ Personnalisé '{1}', avec l'étiquette '{2}', n'existe pas"
@@ -16020,7 +16127,7 @@ msgstr ""
msgid "Insufficient Permissions for editing Report"
msgstr ""
-#: core/doctype/doctype/doctype.py:442
+#: core/doctype/doctype/doctype.py:444
msgid "Insufficient attachment limit"
msgstr ""
@@ -16176,7 +16283,7 @@ msgctxt "OAuth Authorization Code"
msgid "Invalid"
msgstr "Invalide"
-#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:768
+#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:769
#: public/js/frappe/form/layout.js:774
msgid "Invalid \"depends_on\" expression"
msgstr "Expression \"depends_on\" non valide"
@@ -16197,7 +16304,7 @@ msgstr ""
msgid "Invalid CSV Format"
msgstr "Format CSV Invalide"
-#: integrations/doctype/webhook/webhook.py:88
+#: integrations/doctype/webhook/webhook.py:90
msgid "Invalid Condition: {}"
msgstr ""
@@ -16205,7 +16312,7 @@ msgstr ""
msgid "Invalid Credentials"
msgstr "Les informations d'identification invalides"
-#: utils/data.py:125 utils/data.py:286
+#: utils/data.py:125 utils/data.py:289
msgid "Invalid Date"
msgstr "Date invalide"
@@ -16217,11 +16324,11 @@ msgstr ""
msgid "Invalid DocType: {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1219
+#: core/doctype/doctype/doctype.py:1221
msgid "Invalid Fieldname"
msgstr ""
-#: core/doctype/file/file.py:207
+#: core/doctype/file/file.py:206
msgid "Invalid File URL"
msgstr ""
@@ -16261,7 +16368,7 @@ msgstr ""
msgid "Invalid Operation"
msgstr ""
-#: core/doctype/doctype/doctype.py:1576 core/doctype/doctype/doctype.py:1585
+#: core/doctype/doctype/doctype.py:1578 core/doctype/doctype/doctype.py:1587
msgid "Invalid Option"
msgstr "Option invalide"
@@ -16277,7 +16384,7 @@ msgstr "Format de Sortie Invalide"
msgid "Invalid Parameters."
msgstr ""
-#: core/doctype/user/user.py:1213 www/update-password.html:121
+#: core/doctype/user/user.py:1217 www/update-password.html:121
#: www/update-password.html:142 www/update-password.html:144
#: www/update-password.html:245
msgid "Invalid Password"
@@ -16295,7 +16402,7 @@ msgstr "Requête Invalide"
msgid "Invalid Search Field {0}"
msgstr "Champ de recherche invalide {0}"
-#: core/doctype/doctype/doctype.py:1161
+#: core/doctype/doctype/doctype.py:1163
msgid "Invalid Table Fieldname"
msgstr ""
@@ -16303,7 +16410,7 @@ msgstr ""
msgid "Invalid Transition"
msgstr ""
-#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604
+#: core/doctype/file/file.py:217 public/js/frappe/widgets/widget_dialog.js:604
#: utils/csvutils.py:201 utils/csvutils.py:222
msgid "Invalid URL"
msgstr "URL invalide"
@@ -16312,7 +16419,7 @@ msgstr "URL invalide"
msgid "Invalid User Name or Support Password. Please rectify and try again."
msgstr "Nom d'Utilisateur ou Mot de Passe Invalide. Veuillez corriger et réessayer"
-#: integrations/doctype/webhook/webhook.py:117
+#: integrations/doctype/webhook/webhook.py:119
msgid "Invalid Webhook Secret"
msgstr ""
@@ -16324,7 +16431,7 @@ msgstr ""
msgid "Invalid column"
msgstr "Colonne incorrecte"
-#: model/document.py:830 model/document.py:844
+#: model/document.py:846 model/document.py:860
msgid "Invalid docstatus"
msgstr ""
@@ -16336,11 +16443,11 @@ msgstr "Expression non valide définie dans le filtre {0}"
msgid "Invalid expression set in filter {0} ({1})"
msgstr "Expression non valide définie dans le filtre {0} ({1})"
-#: utils/data.py:2102
+#: utils/data.py:2106
msgid "Invalid field name {0}"
msgstr "Nom de champ {0} invalide"
-#: core/doctype/doctype/doctype.py:1046
+#: core/doctype/doctype/doctype.py:1048
msgid "Invalid fieldname '{0}' in autoname"
msgstr "Champ invalide '{0}' dans nom automatique"
@@ -16373,7 +16480,7 @@ msgstr "Contenu non valide ou corrompu pour l'importation"
msgid "Invalid redirect regex in row #{}: {}"
msgstr ""
-#: app.py:299
+#: app.py:305
msgid "Invalid request arguments"
msgstr ""
@@ -16395,7 +16502,7 @@ msgctxt "Error message in web form"
msgid "Invalid values for fields:"
msgstr ""
-#: core/doctype/doctype/doctype.py:1511
+#: core/doctype/doctype/doctype.py:1513
msgid "Invalid {0} condition"
msgstr "Condition {0} invalide"
@@ -16405,7 +16512,7 @@ msgctxt "Workflow State"
msgid "Inverse"
msgstr ""
-#: contacts/doctype/contact/contact.js:25
+#: contacts/doctype/contact/contact.js:30
msgid "Invite as User"
msgstr "Inviter en tant qu'Utilisateur"
@@ -16599,7 +16706,7 @@ msgctxt "DocType"
msgid "Is Published Field"
msgstr "Est un Champ Publié"
-#: core/doctype/doctype/doctype.py:1462
+#: core/doctype/doctype/doctype.py:1464
msgid "Is Published Field must be a valid fieldname"
msgstr "Le Champ Publié doit-il être un nom de champ valide"
@@ -16767,7 +16874,7 @@ msgctxt "DocType"
msgid "Is Virtual"
msgstr ""
-#: core/doctype/file/utils.py:155 utils/file_manager.py:311
+#: core/doctype/file/utils.py:157 utils/file_manager.py:311
msgid "It is risky to delete this file: {0}. Please contact your System Manager."
msgstr "Il est risqué de supprimer ce fichier : {0}. Veuillez contactez votre Administrateur Système."
@@ -17356,7 +17463,7 @@ msgctxt "Customize Form Field"
msgid "Label and Type"
msgstr "Étiquette et Type"
-#: custom/doctype/custom_field/custom_field.py:142
+#: custom/doctype/custom_field/custom_field.py:143
msgid "Label is mandatory"
msgstr "L’Étiquette est obligatoire"
@@ -17595,7 +17702,7 @@ msgctxt "Event"
msgid "Leave blank to repeat always"
msgstr "Laissez vide pour répéter sans fin"
-#: core/doctype/communication/mixins.py:206
+#: core/doctype/communication/mixins.py:207
#: email/doctype/email_account/email_account.py:654
msgid "Leave this conversation"
msgstr "Se désinscrire"
@@ -18139,7 +18246,7 @@ msgid "Linked With"
msgstr "Lié avec"
#: contacts/doctype/address/address.js:39
-#: contacts/doctype/contact/contact.js:82 public/js/frappe/form/toolbar.js:366
+#: contacts/doctype/contact/contact.js:87 public/js/frappe/form/toolbar.js:366
msgid "Links"
msgstr "Liens"
@@ -18215,7 +18322,7 @@ msgctxt "Web Form"
msgid "List Setting Message"
msgstr ""
-#: public/js/frappe/list/list_view.js:1708
+#: public/js/frappe/list/list_view.js:1715
msgctxt "Button in list view menu"
msgid "List Settings"
msgstr "Paramètres de liste"
@@ -18282,7 +18389,7 @@ msgstr ""
#: core/page/permission_manager/permission_manager.js:165
#: public/js/frappe/form/controls/multicheck.js:13
#: public/js/frappe/form/linked_with.js:13
-#: public/js/frappe/list/base_list.js:467
+#: public/js/frappe/list/base_list.js:469
#: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16
#: public/js/frappe/views/reports/query_report.js:1001
msgid "Loading"
@@ -18435,7 +18542,7 @@ msgstr "Connexion Requise"
msgid "Login To {0}"
msgstr ""
-#: twofactor.py:259
+#: twofactor.py:260
msgid "Login Verification Code from {}"
msgstr "Code de Vérification de Connexion depuis {}"
@@ -18447,7 +18554,7 @@ msgstr ""
msgid "Login and view in Browser"
msgstr "Connectez-vous et affichez la page dans le navigateur"
-#: website/doctype/web_form/web_form.js:358
+#: website/doctype/web_form/web_form.js:357
msgid "Login is required to see web form list view. Enable {0} to see list settings"
msgstr ""
@@ -18459,7 +18566,7 @@ msgstr ""
msgid "Login not allowed at this time"
msgstr "Connexion non autorisée pour le moment"
-#: twofactor.py:163
+#: twofactor.py:164
msgid "Login session expired, refresh page to retry"
msgstr "La session de connexion a expiré, veuillez actualiser la page pour réessayer"
@@ -18511,7 +18618,7 @@ msgctxt "Activity Log"
msgid "Logout"
msgstr "Déconnecté"
-#: core/doctype/user/user.js:172
+#: core/doctype/user/user.js:173
msgid "Logout All Sessions"
msgstr "Déconnecter toutes les sessions"
@@ -18946,7 +19053,7 @@ msgctxt "System Settings"
msgid "Max auto email report per user"
msgstr ""
-#: core/doctype/doctype/doctype.py:1289
+#: core/doctype/doctype/doctype.py:1291
msgid "Max width for type Currency is 100px in row {0}"
msgstr "Largeur max pour le type Devise est 100px dans la ligne {0}"
@@ -18956,7 +19063,7 @@ msgctxt "Number Card"
msgid "Maximum"
msgstr ""
-#: core/doctype/file/file.py:318
+#: core/doctype/file/file.py:317
msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
msgstr ""
@@ -19064,7 +19171,7 @@ msgstr "La combinaison n'est possible que de Groupe à Groupe ou Nœud-Feuille
#: core/doctype/data_import/data_import.js:489
#: public/js/frappe/ui/messages.js:175
-#: public/js/frappe/views/communication.js:110 www/message.html:3
+#: public/js/frappe/views/communication.js:111 www/message.html:3
#: www/message.html:25
msgid "Message"
msgstr ""
@@ -19094,7 +19201,7 @@ msgctxt "Communication"
msgid "Message"
msgstr ""
-#: __init__.py:612 public/js/frappe/ui/messages.js:265
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
msgctxt "Default title of the message dialog"
msgid "Message"
msgstr ""
@@ -19184,7 +19291,7 @@ msgctxt "Notification"
msgid "Message Type"
msgstr ""
-#: public/js/frappe/views/communication.js:883
+#: public/js/frappe/views/communication.js:910
msgid "Message clipped"
msgstr "Message coupé"
@@ -19400,7 +19507,7 @@ msgstr ""
msgid "Missing DocType"
msgstr ""
-#: core/doctype/doctype/doctype.py:1473
+#: core/doctype/doctype/doctype.py:1475
msgid "Missing Field"
msgstr ""
@@ -19431,8 +19538,8 @@ msgstr "Valeurs Manquantes Requises"
msgid "Mobile"
msgstr ""
-#: tests/test_translate.py:86 tests/test_translate.py:89
-#: tests/test_translate.py:91 tests/test_translate.py:94
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
msgid "Mobile No"
msgstr "N° Mobile"
@@ -19741,7 +19848,7 @@ msgctxt "Print Settings"
msgid "Monospace"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:268
+#: public/js/frappe/views/calendar/calendar.js:269
msgid "Month"
msgstr "Mois"
@@ -19874,7 +19981,7 @@ msgstr "Plus de contenu pour le bas de la page."
msgid "Most Used"
msgstr "Plus Utilisé"
-#: utils/password.py:65
+#: utils/password.py:64
msgid "Most probably your password is too long."
msgstr ""
@@ -20174,12 +20281,12 @@ msgstr "Valeurs du modèle de barre de navigation"
msgid "Navigate Home"
msgstr "Naviguer à l'accueil"
-#: public/js/frappe/list/list_view.js:1134
+#: public/js/frappe/list/list_view.js:1132
msgctxt "Description of a list view shortcut"
msgid "Navigate list down"
msgstr "Naviguer dans la liste"
-#: public/js/frappe/list/list_view.js:1141
+#: public/js/frappe/list/list_view.js:1139
msgctxt "Description of a list view shortcut"
msgid "Navigate list up"
msgstr "Naviguer dans la liste en haut"
@@ -20202,7 +20309,7 @@ msgstr ""
msgid "Need Workspace Manager role to hide/unhide public workspaces"
msgstr ""
-#: model/document.py:606
+#: model/document.py:622
msgid "Negative Value"
msgstr "Valeur négative"
@@ -20266,7 +20373,7 @@ msgstr ""
msgid "New Custom Block"
msgstr ""
-#: printing/page/print/print.js:288 printing/page/print/print.js:335
+#: printing/page/print/print.js:295 printing/page/print/print.js:342
msgid "New Custom Print Format"
msgstr "Nouveau Format d'Impression Personnalisé"
@@ -20340,11 +20447,11 @@ msgstr ""
msgid "New Onboarding"
msgstr ""
-#: core/doctype/user/user.js:160 www/update-password.html:19
+#: core/doctype/user/user.js:161 www/update-password.html:19
msgid "New Password"
msgstr "Nouveau Mot de Passe"
-#: printing/page/print/print.js:260 printing/page/print/print.js:314
+#: printing/page/print/print.js:267 printing/page/print/print.js:321
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:61
msgid "New Print Format Name"
msgstr "Nouveau nom du format d'impression"
@@ -20353,7 +20460,7 @@ msgstr "Nouveau nom du format d'impression"
msgid "New Quick List"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1310
+#: public/js/frappe/views/reports/report_view.js:1312
msgid "New Report name"
msgstr "Nouveau Nom de Rapport"
@@ -20430,7 +20537,7 @@ msgstr "Nouveau {0}: {1}"
msgid "New {} releases for the following apps are available"
msgstr "De nouvelles {} versions pour les applications suivantes sont disponibles"
-#: core/doctype/user/user.py:790
+#: core/doctype/user/user.py:794
msgid "Newly created user {0} has no roles enabled."
msgstr ""
@@ -20485,7 +20592,7 @@ msgstr ""
#: public/js/frappe/web_form/web_form.js:91
#: public/js/onboarding_tours/onboarding_tours.js:15
#: public/js/onboarding_tours/onboarding_tours.js:240
-#: templates/includes/slideshow.html:38 website/utils.py:247
+#: templates/includes/slideshow.html:38 website/utils.py:245
#: website/web_template/slideshow/slideshow.html:44
msgid "Next"
msgstr "Suivant"
@@ -20567,7 +20674,7 @@ msgctxt "Form Tour Step"
msgid "Next on Click"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:341
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -20677,7 +20784,7 @@ msgstr "Aucun filtre défini"
msgid "No Google Calendar Event to sync."
msgstr "Aucun événement du calendrier Google à synchroniser."
-#: public/js/frappe/ui/capture.js:254
+#: public/js/frappe/ui/capture.js:262
msgid "No Images"
msgstr ""
@@ -20693,7 +20800,7 @@ msgstr "Aucun utilisateur LDAP trouvé pour l'e-mail: {0}"
msgid "No Label"
msgstr ""
-#: printing/page/print/print.js:675 printing/page/print/print.js:757
+#: printing/page/print/print.js:682 printing/page/print/print.js:764
#: public/js/frappe/list/bulk_operations.js:82
#: public/js/frappe/list/bulk_operations.js:126 utils/weasyprint.py:52
msgid "No Letterhead"
@@ -20707,7 +20814,7 @@ msgstr "Aucun nom spécifié pour {0}"
msgid "No New notifications"
msgstr ""
-#: core/doctype/doctype/doctype.py:1678
+#: core/doctype/doctype/doctype.py:1722
msgid "No Permissions Specified"
msgstr "Aucune Autorisation Spécifiée"
@@ -20727,11 +20834,11 @@ msgstr "Aucun graphique autorisé sur ce tableau de bord"
msgid "No Preview"
msgstr ""
-#: printing/page/print/print.js:679
+#: printing/page/print/print.js:686
msgid "No Preview Available"
msgstr ""
-#: printing/page/print/print.js:835
+#: printing/page/print/print.js:842
msgid "No Printer is Available."
msgstr "Aucune imprimante n'est disponible."
@@ -20747,7 +20854,7 @@ msgstr "Aucun résultat"
msgid "No Results found"
msgstr "Aucun résultat trouvs"
-#: core/doctype/user/user.py:791
+#: core/doctype/user/user.py:795
msgid "No Roles Specified"
msgstr ""
@@ -20871,7 +20978,7 @@ msgstr "Pas besoin de symboles, de chiffres ou de lettres majuscules."
msgid "No new Google Contacts synced."
msgstr "Aucun nouveau contact Google synchronisé."
-#: public/js/frappe/ui/toolbar/navbar.html:41
+#: public/js/frappe/ui/toolbar/navbar.html:46
msgid "No new notifications"
msgstr ""
@@ -20897,7 +21004,7 @@ msgctxt "SMS Log"
msgid "No of Sent SMS"
msgstr ""
-#: __init__.py:1115 client.py:109 client.py:151
+#: __init__.py:1119 client.py:109 client.py:151
msgid "No permission for {0}"
msgstr "Pas d'autorisation pour {0}"
@@ -20930,7 +21037,7 @@ msgstr ""
msgid "No records will be exported"
msgstr "Aucun enregistrement ne sera exporté"
-#: www/printview.py:436
+#: www/printview.py:442
msgid "No template found at path: {0}"
msgstr "Aucun modèle trouvé au chemin: {0}"
@@ -20958,7 +21065,12 @@ msgstr ""
msgid "No {0} mail"
msgstr "Pas de courrier {0}"
-#: public/js/form_builder/utils.js:117 public/js/frappe/form/grid_row.js:251
+#: public/js/form_builder/utils.js:117
+msgid "No."
+msgstr ""
+
+#: public/js/frappe/form/grid_row.js:252
+msgctxt "Title of the 'row number' column"
msgid "No."
msgstr ""
@@ -21003,7 +21115,7 @@ msgctxt "Recorder Query"
msgid "Normalized Query"
msgstr ""
-#: core/doctype/user/user.py:996 templates/includes/login/login.js:258
+#: core/doctype/user/user.py:1000 templates/includes/login/login.js:258
#: utils/oauth.py:265
msgid "Not Allowed"
msgstr "Non Autorisé"
@@ -21024,7 +21136,7 @@ msgstr "Pas des descendants de"
msgid "Not Equals"
msgstr "Non égaux"
-#: app.py:361 www/404.html:3
+#: app.py:362 www/404.html:3
msgid "Not Found"
msgstr "Non Trouvé"
@@ -21052,7 +21164,7 @@ msgctxt "DocField"
msgid "Not Nullable"
msgstr ""
-#: __init__.py:1011 app.py:352 desk/calendar.py:26 geo/utils.py:97
+#: __init__.py:1015 app.py:353 desk/calendar.py:26 geo/utils.py:97
#: public/js/frappe/web_form/webform_script.js:15
#: website/doctype/web_form/web_form.py:602
#: website/page_renderers/not_permitted_page.py:20 www/login.py:174
@@ -21112,7 +21224,7 @@ msgstr "Non Défini"
msgid "Not a valid Comma Separated Value (CSV File)"
msgstr "Valeurs Séparées par des Virgules non valides (Fichier CSV)"
-#: core/doctype/user/user.py:227
+#: core/doctype/user/user.py:231
msgid "Not a valid User Image."
msgstr "Image utilisateur non valide."
@@ -21132,7 +21244,7 @@ msgstr "Non actif"
msgid "Not allowed for {0}: {1}"
msgstr "Non autorisé pour {0}: {1}"
-#: email/doctype/notification/notification.py:388
+#: email/doctype/notification/notification.py:391
msgid "Not allowed to attach {0} document, please enable Allow Print For {0} in Print Settings"
msgstr "Vous n'êtes pas autorisé à joindre un document {0}, veuillez activer Autoriser l'impression pour {0} dans les paramètres d'impression"
@@ -21234,6 +21346,10 @@ msgctxt "System Settings"
msgid "Note: Multiple sessions will be allowed in case of mobile device"
msgstr "Remarque : Plusieurs sessions seront autorisées en cas d'appareil mobile"
+#: core/doctype/user/user.js:361
+msgid "Note: This will be shared with user."
+msgstr ""
+
#: website/web_form/request_to_delete_data/request_to_delete_data.js:8
msgid "Note: Your request for account deletion will be fulfilled within {0} hours."
msgstr ""
@@ -21472,7 +21588,7 @@ msgctxt "Recorder"
msgid "Number of Queries"
msgstr ""
-#: core/doctype/doctype/doctype.py:439 public/js/frappe/doctype/index.js:59
+#: core/doctype/doctype/doctype.py:441 public/js/frappe/doctype/index.js:59
msgid "Number of attachment fields are more than {}, limit updated to {}."
msgstr ""
@@ -21585,11 +21701,11 @@ msgctxt "System Settings"
msgid "OTP Issuer Name"
msgstr "Nom de l'Émetteur OTP"
-#: twofactor.py:460
+#: twofactor.py:461
msgid "OTP Secret Reset - {0}"
msgstr ""
-#: twofactor.py:479
+#: twofactor.py:480
msgid "OTP Secret has been reset. Re-registration will be required on next login."
msgstr "OTP Secret a été réinitialisé. Une nouvelle inscription sera requise lors de la prochaine connexion."
@@ -21636,7 +21752,7 @@ msgstr ""
msgid "Old Password"
msgstr "Ancien Mot De Passe"
-#: custom/doctype/custom_field/custom_field.py:361
+#: custom/doctype/custom_field/custom_field.py:362
msgid "Old and new fieldnames are same."
msgstr ""
@@ -21678,7 +21794,7 @@ msgctxt "Webhook"
msgid "On checking this option, URL will be treated like a jinja template string"
msgstr ""
-#: public/js/frappe/views/communication.js:893
+#: public/js/frappe/views/communication.js:920
msgid "On {0}, {1} wrote:"
msgstr ""
@@ -21737,7 +21853,7 @@ msgstr ""
msgid "One Last Step"
msgstr "Une Dernière Étape"
-#: twofactor.py:277
+#: twofactor.py:278
msgid "One Time Password (OTP) Registration Code from {}"
msgstr "Code de Mot de Passe Unique (OTP) à partir de {}"
@@ -21775,7 +21891,7 @@ msgctxt "Workflow Document State"
msgid "Only Allow Edit For"
msgstr "Autoriser la Modification Uniquement Pour"
-#: core/doctype/doctype/doctype.py:1555
+#: core/doctype/doctype/doctype.py:1557
msgid "Only Options allowed for Data field are:"
msgstr "Seules les options autorisées pour le champ Données sont:"
@@ -21939,7 +22055,7 @@ msgstr "Ouvrir une boîte de dialogue avec des champs obligatoires pour créer r
msgid "Open a module or tool"
msgstr "Ouvrir un module ou un outil"
-#: public/js/frappe/list/list_view.js:1187
+#: public/js/frappe/list/list_view.js:1185
msgctxt "Description of a list view shortcut"
msgid "Open list item"
msgstr "Ouvrir un élément de la liste"
@@ -21985,7 +22101,7 @@ msgctxt "Activity Log"
msgid "Operation"
msgstr "Opération"
-#: utils/data.py:2038
+#: utils/data.py:2042
msgid "Operator must be one of {0}"
msgstr "L'Opérateur doit être parmi {0}"
@@ -22009,7 +22125,7 @@ msgstr ""
msgid "Option 3"
msgstr ""
-#: core/doctype/doctype/doctype.py:1573
+#: core/doctype/doctype/doctype.py:1575
msgid "Option {0} for field {1} is not a child table"
msgstr "L'option {0} pour le champ {1} n'est pas une table enfant"
@@ -22071,7 +22187,7 @@ msgctxt "Web Template Field"
msgid "Options"
msgstr ""
-#: core/doctype/doctype/doctype.py:1313
+#: core/doctype/doctype/doctype.py:1315
msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'"
msgstr "Les champs de type Options 'Lien Dynamique' doivent pointer vers un autre Champ Lié avec 'Doctype' pour options"
@@ -22081,7 +22197,7 @@ msgctxt "Custom Field"
msgid "Options Help"
msgstr "Aide Options"
-#: core/doctype/doctype/doctype.py:1595
+#: core/doctype/doctype/doctype.py:1597
msgid "Options for Rating field can range from 3 to 10"
msgstr ""
@@ -22089,7 +22205,7 @@ msgstr ""
msgid "Options for select. Each option on a new line."
msgstr "Options pour sélectionner. Chaque option sur une nouvelle ligne."
-#: core/doctype/doctype/doctype.py:1330
+#: core/doctype/doctype/doctype.py:1332
msgid "Options for {0} must be set before setting the default value."
msgstr "Les options pour {0} doivent être définies avant de définir la valeur par défaut."
@@ -22267,11 +22383,11 @@ msgstr "Paramètres PDF"
msgid "PDF generation failed"
msgstr "La génération de PDF a échoué"
-#: utils/pdf.py:93
+#: utils/pdf.py:97
msgid "PDF generation failed because of broken image links"
msgstr "La génération du PDF a échoué en raison de liens invalides vers une/des image(s)"
-#: printing/page/print/print.js:524
+#: printing/page/print/print.js:531
msgid "PDF printing via \"Raw Print\" is not supported."
msgstr ""
@@ -22547,7 +22663,7 @@ msgctxt "Form Tour Step"
msgid "Parent Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:912
+#: core/doctype/doctype/doctype.py:914
msgid "Parent Field (Tree)"
msgstr "Champ parent (arbre)"
@@ -22557,7 +22673,7 @@ msgctxt "DocType"
msgid "Parent Field (Tree)"
msgstr "Champ parent (arbre)"
-#: core/doctype/doctype/doctype.py:918
+#: core/doctype/doctype/doctype.py:920
msgid "Parent Field must be a valid fieldname"
msgstr "Le champ parent doit être un nom de champ valide"
@@ -22567,7 +22683,7 @@ msgctxt "Top Bar Item"
msgid "Parent Label"
msgstr "Étiquette Parente"
-#: core/doctype/doctype/doctype.py:1144
+#: core/doctype/doctype/doctype.py:1146
msgid "Parent Missing"
msgstr ""
@@ -22631,8 +22747,8 @@ msgctxt "Contact"
msgid "Passive"
msgstr "Passif"
-#: core/doctype/user/user.js:147 core/doctype/user/user.js:194
-#: core/doctype/user/user.js:214 desk/page/setup_wizard/setup_wizard.js:474
+#: core/doctype/user/user.js:148 core/doctype/user/user.js:195
+#: core/doctype/user/user.js:215 desk/page/setup_wizard/setup_wizard.js:474
#: www/login.html:21
msgid "Password"
msgstr "Mot de Passe"
@@ -22674,11 +22790,11 @@ msgctxt "Web Form Field"
msgid "Password"
msgstr "Mot de Passe"
-#: core/doctype/user/user.py:1059
+#: core/doctype/user/user.py:1063
msgid "Password Email Sent"
msgstr ""
-#: core/doctype/user/user.py:447
+#: core/doctype/user/user.py:451
msgid "Password Reset"
msgstr "Réinitialisation du Mot de Passe"
@@ -22688,7 +22804,7 @@ msgctxt "System Settings"
msgid "Password Reset Link Generation Limit"
msgstr "Limite de génération de lien de réinitialisation de mot de passe"
-#: public/js/frappe/form/grid_row.js:810
+#: public/js/frappe/form/grid_row.js:811
msgid "Password cannot be filtered"
msgstr ""
@@ -22710,11 +22826,11 @@ msgstr "Mot de Passe est requis ou sélectionner En Attente de Mot de Passe"
msgid "Password missing in Email Account"
msgstr ""
-#: utils/password.py:42
+#: utils/password.py:41
msgid "Password not found for {0} {1} {2}"
msgstr ""
-#: core/doctype/user/user.py:1058
+#: core/doctype/user/user.py:1062
msgid "Password reset instructions have been sent to your email"
msgstr "Les Instructions de réinitialisation du mot de passe ont été envoyés à votre adresse Email"
@@ -22726,7 +22842,7 @@ msgstr ""
msgid "Password size exceeded the maximum allowed size"
msgstr ""
-#: core/doctype/user/user.py:854
+#: core/doctype/user/user.py:858
msgid "Password size exceeded the maximum allowed size."
msgstr ""
@@ -22734,7 +22850,7 @@ msgstr ""
msgid "Passwords do not match"
msgstr ""
-#: core/doctype/user/user.js:180
+#: core/doctype/user/user.js:181
msgid "Passwords do not match!"
msgstr "Les mots de passe ne correspondent pas!"
@@ -22965,7 +23081,7 @@ msgid "Permission Type"
msgstr ""
#. Label of a Card Break in the Users Workspace
-#: core/doctype/user/user.js:122 core/doctype/user/user.js:131
+#: core/doctype/user/user.js:123 core/doctype/user/user.js:132
#: core/page/permission_manager/permission_manager.js:214
#: core/workspace/users/users.json
msgid "Permissions"
@@ -23007,7 +23123,7 @@ msgctxt "System Settings"
msgid "Permissions"
msgstr "Autorisations"
-#: core/doctype/doctype/doctype.py:1769 core/doctype/doctype/doctype.py:1779
+#: core/doctype/doctype/doctype.py:1813 core/doctype/doctype/doctype.py:1823
msgid "Permissions Error"
msgstr ""
@@ -23130,8 +23246,8 @@ msgid "Phone Number {0} set in field {1} is not valid."
msgstr ""
#: public/js/frappe/form/print_utils.js:38
-#: public/js/frappe/views/reports/report_view.js:1504
-#: public/js/frappe/views/reports/report_view.js:1507
+#: public/js/frappe/views/reports/report_view.js:1506
+#: public/js/frappe/views/reports/report_view.js:1509
msgid "Pick Columns"
msgstr "Choisir des Colonnes"
@@ -23175,7 +23291,7 @@ msgstr "Usine"
msgid "Please Authorize OAuth for Email Account {}"
msgstr ""
-#: website/doctype/website_theme/website_theme.py:76
+#: website/doctype/website_theme/website_theme.py:77
msgid "Please Duplicate this Website Theme to customize."
msgstr "Veuillez Dupliquer le thème de ce site Web pour le personnaliser."
@@ -23199,7 +23315,7 @@ msgstr "S'il vous plaît ajouter un sujet à votre email"
msgid "Please add a valid comment."
msgstr "Veuillez ajouter un commentaire valide."
-#: core/doctype/user/user.py:1041
+#: core/doctype/user/user.py:1045
msgid "Please ask your administrator to verify your sign-up"
msgstr "Veuillez demander à votre administrateur de vérifier votre inscription"
@@ -23231,7 +23347,7 @@ msgstr "Veuillez vérifier les valeurs de filtre définies pour le tableau de bo
msgid "Please check the value of \"Fetch From\" set for field {0}"
msgstr "Veuillez vérifier la valeur de "Extraire depuis" définie pour le champ {0}"
-#: core/doctype/user/user.py:1039
+#: core/doctype/user/user.py:1043
msgid "Please check your email for verification"
msgstr "Veuillez vérifier votre email pour validation"
@@ -23239,7 +23355,7 @@ msgstr "Veuillez vérifier votre email pour validation"
msgid "Please check your email login credentials."
msgstr ""
-#: twofactor.py:242
+#: twofactor.py:243
msgid "Please check your registered email address for instructions on how to proceed. Do not close this window as you will have to return to it."
msgstr "Vérifiez votre adresse e-mail enregistrée pour obtenir des instructions sur la procédure à suivre. Ne fermez pas cette fenêtre car vous devrez y retourner."
@@ -23247,7 +23363,7 @@ msgstr "Vérifiez votre adresse e-mail enregistrée pour obtenir des instruction
msgid "Please click on 'Export Errored Rows', fix the errors and import again."
msgstr ""
-#: twofactor.py:285
+#: twofactor.py:286
msgid "Please click on the following link and follow the instructions on the page. {0}"
msgstr ""
@@ -23289,7 +23405,7 @@ msgstr ""
#: desk/doctype/notification_log/notification_log.js:45
#: email/doctype/auto_email_report/auto_email_report.js:17
-#: printing/page/print/print.js:611 printing/page/print/print.js:640
+#: printing/page/print/print.js:618 printing/page/print/print.js:647
#: public/js/frappe/list/bulk_operations.js:117
#: public/js/frappe/utils/utils.js:1417
msgid "Please enable pop-ups"
@@ -23376,11 +23492,11 @@ msgstr ""
msgid "Please make sure the Reference Communication Docs are not circularly linked."
msgstr "Assurez-vous que les documents de communication de référence ne sont pas liés de manière circulaire."
-#: model/document.py:799
+#: model/document.py:815
msgid "Please refresh to get the latest document."
msgstr "Veuillez actualiser pour obtenir la dernière version du document."
-#: printing/page/print/print.js:525
+#: printing/page/print/print.js:532
msgid "Please remove the printer mapping in Printer Settings and try again."
msgstr ""
@@ -23400,7 +23516,7 @@ msgstr "Veuillez enregistrer le document avant l'affectation"
msgid "Please save the document before removing assignment"
msgstr "Veuillez enregistrer le document avant de retirer l’affectation"
-#: public/js/frappe/views/reports/report_view.js:1614
+#: public/js/frappe/views/reports/report_view.js:1616
msgid "Please save the report first"
msgstr "Veuillez d’abord enregistrer le rapport"
@@ -23440,7 +23556,7 @@ msgstr "Veuillez sélectionner un fichier ou une URL"
msgid "Please select a valid csv file with data"
msgstr "Veuillez sélectionner un fichier CSV valide contenant des données"
-#: utils/data.py:286
+#: utils/data.py:289
msgid "Please select a valid date filter"
msgstr "Veuillez sélectionner un filtre de date valide"
@@ -23475,11 +23591,11 @@ msgstr "Veuillez sélectionner {0}"
msgid "Please set Dropbox access keys in site config or doctype"
msgstr ""
-#: contacts/doctype/contact/contact.py:201
+#: contacts/doctype/contact/contact.py:202
msgid "Please set Email Address"
msgstr "Veuillez définir une Adresse Email"
-#: printing/page/print/print.js:539
+#: printing/page/print/print.js:546
msgid "Please set a printer mapping for this print format in the Printer Settings"
msgstr "Veuillez définir un mappage d'imprimante pour ce format d'impression dans les paramètres de l'imprimante."
@@ -23515,7 +23631,7 @@ msgstr "Veuillez d'abord configurer un message"
msgid "Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: core/doctype/user/user.py:398
+#: core/doctype/user/user.py:402
msgid "Please setup default outgoing Email Account from Settings > Email Account"
msgstr ""
@@ -23707,7 +23823,7 @@ msgctxt "Web Form Field"
msgid "Precision"
msgstr "Précision"
-#: core/doctype/doctype/doctype.py:1347
+#: core/doctype/doctype/doctype.py:1349
msgid "Precision should be between 1 and 6"
msgstr "La précision doit être comprise entre 1 et 6"
@@ -23763,7 +23879,7 @@ msgstr ""
msgid "Preparing Report"
msgstr "Rapport de préparation"
-#: public/js/frappe/views/communication.js:363
+#: public/js/frappe/views/communication.js:388
msgid "Prepend the template to the email message"
msgstr ""
@@ -23779,7 +23895,7 @@ msgstr "Appuyez sur Entrée pour enregistrer"
#: email/doctype/newsletter/newsletter.js:42
#: public/js/frappe/form/controls/markdown_editor.js:17
#: public/js/frappe/form/controls/markdown_editor.js:31
-#: public/js/frappe/ui/capture.js:228
+#: public/js/frappe/ui/capture.js:236
msgid "Preview"
msgstr "Aperçu"
@@ -23915,12 +24031,12 @@ msgstr ""
#: public/js/frappe/form/toolbar.js:321 public/js/frappe/form/toolbar.js:333
#: public/js/frappe/list/bulk_operations.js:79
#: public/js/frappe/views/reports/query_report.js:1626
-#: public/js/frappe/views/reports/report_view.js:1463
+#: public/js/frappe/views/reports/report_view.js:1465
#: public/js/frappe/views/treeview.js:473 www/printview.html:18
msgid "Print"
msgstr "Impression"
-#: public/js/frappe/list/list_view.js:1873
+#: public/js/frappe/list/list_view.js:1880
msgctxt "Button in list view actions menu"
msgid "Print"
msgstr "Impression"
@@ -23943,7 +24059,7 @@ msgstr "Imprimer des documents"
#. Name of a DocType
#: printing/doctype/print_format/print_format.json
-#: printing/page/print/print.js:94 printing/page/print/print.js:794
+#: printing/page/print/print.js:94 printing/page/print/print.js:801
#: public/js/frappe/list/bulk_operations.js:50
msgid "Print Format"
msgstr "Format d'Impression"
@@ -24010,7 +24126,7 @@ msgctxt "Print Format"
msgid "Print Format Builder Beta"
msgstr ""
-#: utils/pdf.py:52
+#: utils/pdf.py:56
msgid "Print Format Error"
msgstr ""
@@ -24031,7 +24147,7 @@ msgctxt "Print Format"
msgid "Print Format Type"
msgstr "Type de Format d'Impression"
-#: www/printview.py:418
+#: www/printview.py:424
msgid "Print Format {0} is disabled"
msgstr "Le Format d'Impression {0} est désactivé"
@@ -24089,6 +24205,10 @@ msgctxt "DocField"
msgid "Print Hide If No Value"
msgstr "Cacher à l’Impression si Aucune Valeur"
+#: public/js/frappe/views/communication.js:153
+msgid "Print Language"
+msgstr "Langue d’Impression"
+
#: public/js/frappe/form/print_utils.js:195
msgid "Print Sent to the printer!"
msgstr "Imprimer Envoyé à l'imprimante!"
@@ -24178,11 +24298,11 @@ msgctxt "Print Settings"
msgid "Print with letterhead"
msgstr "Imprimer avec en-tête"
-#: printing/page/print/print.js:803
+#: printing/page/print/print.js:810
msgid "Printer"
msgstr "Imprimante"
-#: printing/page/print/print.js:780
+#: printing/page/print/print.js:787
msgid "Printer Mapping"
msgstr "Cartographie d'imprimante"
@@ -24192,11 +24312,11 @@ msgctxt "Network Printer Settings"
msgid "Printer Name"
msgstr "Nom de l'imprimante"
-#: printing/page/print/print.js:772
+#: printing/page/print/print.js:779
msgid "Printer Settings"
msgstr "Paramètres de l'imprimante"
-#: printing/page/print/print.js:538
+#: printing/page/print/print.js:545
msgid "Printer mapping not set."
msgstr ""
@@ -24400,7 +24520,7 @@ msgid "Public"
msgstr ""
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Publish"
msgstr "Publier"
@@ -24542,6 +24662,22 @@ msgctxt "Kanban Board Column"
msgid "Purple"
msgstr ""
+#. Name of a DocType
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Push Notification Settings"
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Card Break in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgid "Push Notifications"
+msgstr ""
+
#. Label of a Check field in DocType 'Google Calendar'
#: integrations/doctype/google_calendar/google_calendar.json
msgctxt "Google Calendar"
@@ -24677,7 +24813,7 @@ msgctxt "DocType"
msgid "Queue in Background (BETA)"
msgstr ""
-#: utils/background_jobs.py:428
+#: utils/background_jobs.py:452
msgid "Queue should be one of {0}"
msgstr "La Queue doit être parmi {0}"
@@ -24904,7 +25040,7 @@ msgstr ""
#: core/doctype/communication/communication.js:268
#: public/js/frappe/form/footer/form_timeline.js:587
-#: public/js/frappe/views/communication.js:299
+#: public/js/frappe/views/communication.js:324
msgid "Re: {0}"
msgstr ""
@@ -25656,7 +25792,7 @@ msgstr "Référent"
#: public/js/frappe/views/reports/query_report.js:1615
#: public/js/frappe/views/treeview.js:479
#: public/js/frappe/widgets/chart_widget.js:290
-#: public/js/frappe/widgets/number_card_widget.js:307
+#: public/js/frappe/widgets/number_card_widget.js:324
msgid "Refresh"
msgstr "Actualiser"
@@ -25706,11 +25842,11 @@ msgid "Refreshing"
msgstr ""
#: core/doctype/system_settings/system_settings.js:52
-#: core/doctype/user/user.js:339 desk/page/setup_wizard/setup_wizard.js:204
+#: core/doctype/user/user.js:340 desk/page/setup_wizard/setup_wizard.js:204
msgid "Refreshing..."
msgstr "Actualisation..."
-#: core/doctype/user/user.py:1003
+#: core/doctype/user/user.py:1007
msgid "Registered but disabled"
msgstr "Enregistré mais Désactivé"
@@ -25726,6 +25862,16 @@ msgctxt "Translation"
msgid "Rejected"
msgstr "Rejeté"
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:30
+msgid "Relay Server URL missing"
+msgstr ""
+
+#. Label of a Section Break field in DocType 'Push Notification Settings'
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgctxt "Push Notification Settings"
+msgid "Relay Settings"
+msgstr ""
+
#. Group in Package's connections
#: core/doctype/package/package.json
msgctxt "Package"
@@ -25847,11 +25993,11 @@ msgstr "Retirer toutes les personnalisations ?"
msgid "Remove column"
msgstr ""
-#: core/doctype/file/file.py:156
+#: core/doctype/file/file.py:155
msgid "Removed {0}"
msgstr "{0} Suprimé"
-#: custom/doctype/custom_field/custom_field.js:135
+#: custom/doctype/custom_field/custom_field.js:137
#: public/js/frappe/form/toolbar.js:234 public/js/frappe/form/toolbar.js:238
#: public/js/frappe/form/toolbar.js:398 public/js/frappe/model/model.js:742
#: public/js/frappe/views/treeview.js:295
@@ -25859,7 +26005,7 @@ msgid "Rename"
msgstr "Renommer"
#: custom/doctype/custom_field/custom_field.js:116
-#: custom/doctype/custom_field/custom_field.js:134
+#: custom/doctype/custom_field/custom_field.js:136
msgid "Rename Fieldname"
msgstr ""
@@ -25867,7 +26013,7 @@ msgstr ""
msgid "Rename {0}"
msgstr "Renommer {0}"
-#: core/doctype/doctype/doctype.py:687
+#: core/doctype/doctype/doctype.py:689
msgid "Renamed files and replaced code in controllers, please check!"
msgstr "Fichiers renommés et code remplacé dans les contrôleurs, veuillez vérifier!"
@@ -26174,7 +26320,7 @@ msgctxt "Report"
msgid "Report Type"
msgstr "Type de Rapport"
-#: core/doctype/doctype/doctype.py:1744
+#: core/doctype/doctype/doctype.py:1788
msgid "Report cannot be set for Single types"
msgstr "Le Rapport ne peut pas être défini pour les types Uniques"
@@ -26204,7 +26350,7 @@ msgstr ""
msgid "Report updated successfully"
msgstr "Rapport mis à jour avec succès"
-#: public/js/frappe/views/reports/report_view.js:1283
+#: public/js/frappe/views/reports/report_view.js:1285
msgid "Report was not saved (there were errors)"
msgstr "Le Rapport n'a pas été sauvegardé (il y a eu des erreurs)"
@@ -26387,7 +26533,7 @@ msgstr ""
msgid "Reset Fields"
msgstr "Réinitialisation des champs"
-#: core/doctype/user/user.js:154 core/doctype/user/user.js:157
+#: core/doctype/user/user.js:155 core/doctype/user/user.js:158
msgid "Reset LDAP Password"
msgstr "Réinitialiser le mot de passe LDAP"
@@ -26395,11 +26541,11 @@ msgstr "Réinitialiser le mot de passe LDAP"
msgid "Reset Layout"
msgstr ""
-#: core/doctype/user/user.js:205
+#: core/doctype/user/user.js:206
msgid "Reset OTP Secret"
msgstr "Réinitialiser le Secret OTP"
-#: core/doctype/user/user.js:138 www/login.html:179 www/me.html:35
+#: core/doctype/user/user.js:139 www/login.html:179 www/me.html:35
#: www/me.html:44 www/update-password.html:3 www/update-password.html:9
msgid "Reset Password"
msgstr "Réinitialiser Mot de Passe"
@@ -26434,7 +26580,7 @@ msgstr ""
msgid "Reset the password for your account"
msgstr ""
-#: public/js/frappe/form/grid_row.js:409
+#: public/js/frappe/form/grid_row.js:410
msgid "Reset to default"
msgstr ""
@@ -26848,7 +26994,7 @@ msgstr "Autorisations du Rôle"
msgid "Role Permissions Manager"
msgstr "Gestionnaire d’Autorisations du Rôle"
-#: public/js/frappe/list/list_view.js:1650
+#: public/js/frappe/list/list_view.js:1657
msgctxt "Button in list view menu"
msgid "Role Permissions Manager"
msgstr "Gestionnaire d’Autorisations du Rôle"
@@ -26894,7 +27040,7 @@ msgctxt "DocPerm"
msgid "Role and Level"
msgstr "Rôle et Niveau"
-#: core/doctype/user/user.py:343
+#: core/doctype/user/user.py:347
msgid "Role has been set as per the user type {0}"
msgstr ""
@@ -27110,7 +27256,7 @@ msgctxt "Role"
msgid "Route: Example \"/desk\""
msgstr "Route: Exemple "/ desk""
-#: model/base_document.py:731 model/base_document.py:772 model/document.py:591
+#: model/base_document.py:731 model/base_document.py:772 model/document.py:607
msgid "Row"
msgstr "Ligne"
@@ -27118,7 +27264,7 @@ msgstr "Ligne"
msgid "Row #"
msgstr ""
-#: core/doctype/doctype/doctype.py:1766 core/doctype/doctype/doctype.py:1776
+#: core/doctype/doctype/doctype.py:1810 core/doctype/doctype/doctype.py:1820
msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype"
msgstr ""
@@ -27126,7 +27272,7 @@ msgstr ""
msgid "Row #{0}:"
msgstr "Ligne # {0} :"
-#: core/doctype/doctype/doctype.py:488
+#: core/doctype/doctype/doctype.py:490
msgid "Row #{}: Fieldname is required"
msgstr ""
@@ -27424,7 +27570,7 @@ msgctxt "Salutation"
msgid "Salutation"
msgstr "Civilité"
-#: integrations/doctype/webhook/webhook.py:110
+#: integrations/doctype/webhook/webhook.py:112
msgid "Same Field is entered more than once"
msgstr "Champ identique entré plus d'une fois"
@@ -27467,7 +27613,7 @@ msgstr "Samedi"
#: core/doctype/data_import/data_import.js:113
#: desk/page/user_profile/user_profile_controller.js:319
-#: printing/page/print/print.js:831
+#: printing/page/print/print.js:838
#: printing/page/print_format_builder/print_format_builder.js:160
#: public/js/frappe/form/footer/form_timeline.js:661
#: public/js/frappe/form/quick_entry.js:156
@@ -27480,7 +27626,7 @@ msgstr "Samedi"
#: public/js/frappe/views/kanban/kanban_settings.js:189
#: public/js/frappe/views/kanban/kanban_view.js:340
#: public/js/frappe/views/reports/query_report.js:1788
-#: public/js/frappe/views/reports/report_view.js:1631
+#: public/js/frappe/views/reports/report_view.js:1633
#: public/js/frappe/views/workspace/workspace.js:493
#: public/js/frappe/widgets/base_widget.js:140
#: public/js/frappe/widgets/quick_list_widget.js:117
@@ -27495,7 +27641,7 @@ msgctxt "Notification"
msgid "Save"
msgstr "Sauvegarder"
-#: core/doctype/user/user.js:310
+#: core/doctype/user/user.js:311
msgid "Save API Secret: {0}"
msgstr ""
@@ -27503,8 +27649,8 @@ msgstr ""
msgid "Save Anyway"
msgstr "Économisez quand même"
-#: public/js/frappe/views/reports/report_view.js:1314
-#: public/js/frappe/views/reports/report_view.js:1638
+#: public/js/frappe/views/reports/report_view.js:1316
+#: public/js/frappe/views/reports/report_view.js:1640
msgid "Save As"
msgstr "Enregistrer Sous"
@@ -27582,7 +27728,7 @@ msgstr ""
msgid "Schedule Newsletter"
msgstr ""
-#: public/js/frappe/views/communication.js:81
+#: public/js/frappe/views/communication.js:82
msgid "Schedule Send At"
msgstr ""
@@ -27664,7 +27810,7 @@ msgctxt "Newsletter"
msgid "Scheduled To Send"
msgstr "Prévu pour envoyer"
-#: core/doctype/server_script/server_script.py:277
+#: core/doctype/server_script/server_script.py:280
msgid "Scheduled execution for script {0} has updated"
msgstr "L'exécution planifiée du script {0} a été mise à jour"
@@ -27858,7 +28004,7 @@ msgstr "Priorités de recherche"
msgid "Search Results for"
msgstr ""
-#: core/doctype/doctype/doctype.py:1414
+#: core/doctype/doctype/doctype.py:1416
msgid "Search field {0} is not valid"
msgstr "Champ de recherche {0} n'est pas valide"
@@ -27876,7 +28022,7 @@ msgstr ""
msgid "Search in a document type"
msgstr "Rechercher dans un type de document"
-#: public/js/frappe/ui/toolbar/navbar.html:24
+#: public/js/frappe/ui/toolbar/navbar.html:29
msgid "Search or type a command (Ctrl + G)"
msgstr ""
@@ -28014,7 +28160,7 @@ msgctxt "Note"
msgid "Seen By Table"
msgstr "Table Vu Par"
-#: printing/page/print/print.js:592
+#: printing/page/print/print.js:599
msgid "Select"
msgstr "Sélectionner"
@@ -28077,8 +28223,8 @@ msgstr "Sélectionner"
msgid "Select All"
msgstr ""
-#: public/js/frappe/views/communication.js:150
-#: public/js/frappe/views/communication.js:529
+#: public/js/frappe/views/communication.js:162
+#: public/js/frappe/views/communication.js:555
#: public/js/frappe/views/interaction.js:93
#: public/js/frappe/views/interaction.js:155
msgid "Select Attachments"
@@ -28166,7 +28312,7 @@ msgstr "Sélectionner un champ"
msgid "Select Field..."
msgstr ""
-#: public/js/frappe/form/grid_row.js:459
+#: public/js/frappe/form/grid_row.js:460
#: public/js/frappe/list/list_settings.js:233
#: public/js/frappe/views/kanban/kanban_settings.js:181
msgid "Select Fields"
@@ -28218,7 +28364,7 @@ msgstr "Sélectionner Obligatoirement"
msgid "Select Module"
msgstr "Sélectionner Module"
-#: printing/page/print/print.js:175 printing/page/print/print.js:575
+#: printing/page/print/print.js:175 printing/page/print/print.js:582
msgid "Select Network Printer"
msgstr ""
@@ -28229,7 +28375,7 @@ msgid "Select Page"
msgstr ""
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:68
-#: public/js/frappe/views/communication.js:144
+#: public/js/frappe/views/communication.js:145
msgid "Select Print Format"
msgstr "Sélectionner le Format d'Impression"
@@ -28275,11 +28421,11 @@ msgstr "Sélectionner une Image de Marque en premier."
msgid "Select a DocType to make a new format"
msgstr "Sélectionner un DocType pour faire un nouveau format"
-#: integrations/doctype/webhook/webhook.py:131
+#: integrations/doctype/webhook/webhook.py:133
msgid "Select a document to check if it meets conditions."
msgstr ""
-#: integrations/doctype/webhook/webhook.py:143
+#: integrations/doctype/webhook/webhook.py:145
msgid "Select a document to preview request data"
msgstr ""
@@ -28287,11 +28433,11 @@ msgstr ""
msgid "Select a group node first."
msgstr "Sélectionner d'abord un niveau parent"
-#: core/doctype/doctype/doctype.py:1877
+#: core/doctype/doctype/doctype.py:1921
msgid "Select a valid Sender Field for creating documents from Email"
msgstr "Sélectionnez un champ d'expéditeur valide pour créer des documents à partir d'un e-mail"
-#: core/doctype/doctype/doctype.py:1861
+#: core/doctype/doctype/doctype.py:1905
msgid "Select a valid Subject field for creating documents from Email"
msgstr "Sélectionnez un champ Objet valide pour créer des documents à partir d'un e-mail"
@@ -28318,18 +28464,18 @@ msgstr "Sélectionner au moins 1 enregistrement pour l'impression"
msgid "Select atleast 2 actions"
msgstr "Sélectionnez au moins 2 actions"
-#: public/js/frappe/list/list_view.js:1201
+#: public/js/frappe/list/list_view.js:1199
msgctxt "Description of a list view shortcut"
msgid "Select list item"
msgstr "Sélectionner un élément de la liste"
-#: public/js/frappe/list/list_view.js:1153
-#: public/js/frappe/list/list_view.js:1169
+#: public/js/frappe/list/list_view.js:1151
+#: public/js/frappe/list/list_view.js:1167
msgctxt "Description of a list view shortcut"
msgid "Select multiple list items"
msgstr "Sélectionner plusieurs éléments de liste"
-#: public/js/frappe/views/calendar/calendar.js:174
+#: public/js/frappe/views/calendar/calendar.js:175
msgid "Select or drag across time slots to create a new event."
msgstr "Sélectionner ou glisser sur des intervalles de temps pour créer un nouvel événement."
@@ -28476,7 +28622,7 @@ msgctxt "Print Settings"
msgid "Send Print as PDF"
msgstr "Envoyer Imprimer en PDF"
-#: public/js/frappe/views/communication.js:134
+#: public/js/frappe/views/communication.js:135
msgid "Send Read Receipt"
msgstr "Envoyer Accusé de Réception"
@@ -28562,7 +28708,7 @@ msgstr "Envoyer une demande à cette adresse courriel"
msgid "Send login link"
msgstr ""
-#: public/js/frappe/views/communication.js:128
+#: public/js/frappe/views/communication.js:129
msgid "Send me a copy"
msgstr "M'Envoyer Une Copie"
@@ -28642,7 +28788,7 @@ msgctxt "DocType"
msgid "Sender Email Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1880
+#: core/doctype/doctype/doctype.py:1924
msgid "Sender Field should have Email in options"
msgstr "Le champ de l'expéditeur doit avoir un e-mail dans les options"
@@ -28780,7 +28926,7 @@ msgstr ""
msgid "Series counter for {} updated to {} successfully"
msgstr ""
-#: core/doctype/doctype/doctype.py:1070
+#: core/doctype/doctype/doctype.py:1072
#: core/doctype/document_naming_settings/document_naming_settings.py:170
msgid "Series {0} already used in {1}"
msgstr "Séries {0} déjà utilisé dans {1}"
@@ -28881,7 +29027,7 @@ msgstr "Session par défaut"
msgid "Session Defaults Saved"
msgstr "Session par défaut enregistrée"
-#: app.py:343
+#: app.py:344
msgid "Session Expired"
msgstr "La Session a Expiré"
@@ -28923,7 +29069,7 @@ msgstr "Définir des filtres dynamiques"
#: desk/doctype/dashboard_chart/dashboard_chart.js:381
#: desk/doctype/number_card/number_card.js:277
-#: website/doctype/web_form/web_form.js:260
+#: website/doctype/web_form/web_form.js:259
msgid "Set Filters"
msgstr "Définir les filtres"
@@ -28983,7 +29129,7 @@ msgctxt "Role Permission for Page and Report"
msgid "Set Role For"
msgstr "Définir le Rôle Pour"
-#: core/doctype/user/user.js:115
+#: core/doctype/user/user.js:116
#: core/page/permission_manager/permission_manager.js:65
msgid "Set User Permissions"
msgstr "Définir les Autorisations des Utilisateurs"
@@ -29172,7 +29318,7 @@ msgid "Setup Approval Workflows"
msgstr ""
#: public/js/frappe/views/reports/query_report.js:1661
-#: public/js/frappe/views/reports/report_view.js:1609
+#: public/js/frappe/views/reports/report_view.js:1611
msgid "Setup Auto Email"
msgstr "Configuration Auto Email"
@@ -29337,6 +29483,12 @@ msgstr ""
msgid "Show Dashboard"
msgstr "Afficher le tableau de bord"
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Show Dashboard"
+msgstr "Afficher le tableau de bord"
+
#. Label of a Check field in DocType 'Customize Form Field'
#: custom/doctype/customize_form_field/customize_form_field.json
msgctxt "Customize Form Field"
@@ -29504,7 +29656,7 @@ msgid "Show Sidebar"
msgstr "Afficher la Barre Latérale"
#: public/js/frappe/list/list_sidebar.html:66
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Show Tags"
msgstr "Voir les étiquettes"
@@ -29526,7 +29678,7 @@ msgctxt "DocType"
msgid "Show Title in Link Fields"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1453
+#: public/js/frappe/views/reports/report_view.js:1455
msgid "Show Totals"
msgstr "Afficher les Totaux"
@@ -29542,7 +29694,7 @@ msgstr ""
msgid "Show Warnings"
msgstr "Afficher les avertissements"
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Show Weekends"
msgstr "Afficher les week-ends"
@@ -29660,7 +29812,7 @@ msgctxt "Email Group"
msgid "Sign Up and Confirmation"
msgstr ""
-#: core/doctype/user/user.py:996
+#: core/doctype/user/user.py:1000
msgid "Sign Up is disabled"
msgstr "L'inscription est désactivée"
@@ -29969,11 +30121,11 @@ msgstr "Quelque chose s'est mal passé pendant la génération de jetons. Cl
msgid "Something went wrong."
msgstr ""
-#: public/js/frappe/views/pageview.js:110
+#: public/js/frappe/views/pageview.js:114
msgid "Sorry! I could not find what you were looking for."
msgstr "Désolé ! Je n'ai pas trouvé ce que vous recherchiez."
-#: public/js/frappe/views/pageview.js:118
+#: public/js/frappe/views/pageview.js:122
msgid "Sorry! You are not permitted to view this page."
msgstr "Désolé ! Vous n'êtes pas autorisé à consulter cette page."
@@ -30015,7 +30167,7 @@ msgctxt "Customize Form"
msgid "Sort Order"
msgstr "Ordre de Tri"
-#: core/doctype/doctype/doctype.py:1497
+#: core/doctype/doctype/doctype.py:1499
msgid "Sort field {0} must be a valid fieldname"
msgstr "Champ de tri {0} doit être un nom de champ valide"
@@ -30171,6 +30323,10 @@ msgctxt "Portal Settings"
msgid "Standard Sidebar Menu"
msgstr "Menu Standard de la Barre Latérale"
+#: website/doctype/web_form/web_form.js:30
+msgid "Standard Web Forms can not be modified, duplicate the Web Form instead."
+msgstr ""
+
#: website/doctype/web_page/web_page.js:92
msgid "Standard rich text editor with controls"
msgstr ""
@@ -30191,8 +30347,8 @@ msgstr ""
msgid "Standings"
msgstr "Classement"
-#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:289
-#: printing/page/print/print.js:336
+#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:296
+#: printing/page/print/print.js:343
msgid "Start"
msgstr "Démarrer"
@@ -30374,7 +30530,7 @@ msgid "Stats based on last week's performance (from {0} to {1})"
msgstr "Statistiques basées sur les performances de la semaine dernière (du {0} au {1})"
#: core/doctype/data_import/data_import.js:489
-#: public/js/frappe/views/reports/report_view.js:911
+#: public/js/frappe/views/reports/report_view.js:913
msgid "Status"
msgstr "Statut"
@@ -30627,7 +30783,7 @@ msgctxt "Website Settings"
msgid "Subdomain"
msgstr "Sous-domaine"
-#: public/js/frappe/views/communication.js:103
+#: public/js/frappe/views/communication.js:104
#: public/js/frappe/views/inbox/inbox_view.js:63
msgid "Subject"
msgstr "Sujet"
@@ -30705,7 +30861,7 @@ msgctxt "DocType"
msgid "Subject Field"
msgstr "Champ de sujet"
-#: core/doctype/doctype/doctype.py:1870
+#: core/doctype/doctype/doctype.py:1914
msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor"
msgstr "Le type de champ Objet doit être Données, Texte, Texte long, Petit texte, Éditeur de texte"
@@ -30717,13 +30873,13 @@ msgstr ""
#: core/doctype/user_permission/user_permission_list.js:138
#: public/js/frappe/form/quick_entry.js:193
#: public/js/frappe/form/sidebar/review.js:116
-#: public/js/frappe/ui/capture.js:299
+#: public/js/frappe/ui/capture.js:307
#: social/doctype/energy_point_log/energy_point_log.js:39
#: social/doctype/energy_point_settings/energy_point_settings.js:47
msgid "Submit"
msgstr "Valider"
-#: public/js/frappe/list/list_view.js:1940
+#: public/js/frappe/list/list_view.js:1947
msgctxt "Button in list view actions menu"
msgid "Submit"
msgstr "Valider"
@@ -30820,7 +30976,7 @@ msgstr "Validez ce document pour terminer cette étape."
msgid "Submit this document to confirm"
msgstr "Valider ce document pour confirmer"
-#: public/js/frappe/list/list_view.js:1945
+#: public/js/frappe/list/list_view.js:1952
msgctxt "Title of confirmation dialog"
msgid "Submit {0} documents?"
msgstr "Valider {0} documents ?"
@@ -31000,7 +31156,7 @@ msgstr ""
msgid "Successfully updated {0} out of {1} records."
msgstr ""
-#: core/doctype/user/user.py:711
+#: core/doctype/user/user.py:715
msgid "Suggested Username: {0}"
msgstr "Nom d'Utilisateur Suggérée : {0}"
@@ -31064,7 +31220,7 @@ msgstr "Dimanche"
msgid "Suspend Sending"
msgstr "Suspendre l'Envoi"
-#: public/js/frappe/ui/capture.js:268
+#: public/js/frappe/ui/capture.js:276
msgid "Switch Camera"
msgstr ""
@@ -31076,7 +31232,7 @@ msgstr ""
msgid "Switch To Desk"
msgstr "Passer Au Bureau"
-#: public/js/frappe/ui/capture.js:273
+#: public/js/frappe/ui/capture.js:281
msgid "Switching Camera"
msgstr ""
@@ -31143,7 +31299,7 @@ msgstr "Synchronisation"
msgid "Syncing {0} of {1}"
msgstr "Synchroniser {0} sur {1}"
-#: utils/data.py:2403
+#: utils/data.py:2407
msgid "Syntax Error"
msgstr ""
@@ -31158,7 +31314,7 @@ msgstr "Système"
msgid "System Console"
msgstr "Console système"
-#: custom/doctype/custom_field/custom_field.py:357
+#: custom/doctype/custom_field/custom_field.py:358
msgid "System Generated Fields can not be renamed"
msgstr ""
@@ -31268,6 +31424,7 @@ msgstr ""
#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
#: integrations/doctype/oauth_client/oauth_client.json
#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
#: integrations/doctype/social_login_key/social_login_key.json
@@ -31406,7 +31563,7 @@ msgctxt "DocType Link"
msgid "Table Fieldname"
msgstr ""
-#: core/doctype/doctype/doctype.py:1150
+#: core/doctype/doctype/doctype.py:1152
msgid "Table Fieldname Missing"
msgstr ""
@@ -31438,7 +31595,7 @@ msgstr "Tableau MultiSelect"
msgid "Table updated"
msgstr "Table Mise à Jour"
-#: model/document.py:1349
+#: model/document.py:1365
msgid "Table {0} cannot be empty"
msgstr "La Table {0} ne peut pas être vide"
@@ -31476,7 +31633,7 @@ msgstr "Faire une sauvegarde"
msgid "Take Backup Now"
msgstr "Faites une Sauvegarde Maintenant"
-#: public/js/frappe/ui/capture.js:212
+#: public/js/frappe/ui/capture.js:220
msgid "Take Photo"
msgstr "Prendre une photo"
@@ -31576,7 +31733,7 @@ msgstr "Avertissements de modèles"
msgid "Templates"
msgstr ""
-#: core/doctype/user/user.py:1007
+#: core/doctype/user/user.py:1011
msgid "Temporarily Disabled"
msgstr "Temporairement désactivé"
@@ -31584,7 +31741,7 @@ msgstr "Temporairement désactivé"
msgid "Test email sent to {0}"
msgstr "E-mail de test envoyé à {0}"
-#: core/doctype/file/test_file.py:355
+#: core/doctype/file/test_file.py:360
msgid "Test_Folder"
msgstr "Dossier_Test"
@@ -31704,10 +31861,14 @@ msgstr ""
msgid "The Condition '{0}' is invalid"
msgstr "La Condition '{0}' est invalide"
-#: core/doctype/file/file.py:206
+#: core/doctype/file/file.py:205
msgid "The File URL you've entered is incorrect"
msgstr ""
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:29
+msgid "The Push Relay Server URL key (`push_relay_server_url`) is missing in your site config"
+msgstr ""
+
#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:363
msgid "The User record for this request has been auto-deleted due to inactivity by system admins."
msgstr ""
@@ -31773,7 +31934,7 @@ msgstr ""
msgid "The field {0} is mandatory"
msgstr ""
-#: core/doctype/file/file.py:144
+#: core/doctype/file/file.py:143
msgid "The fieldname you've specified in Attached To Field is invalid"
msgstr ""
@@ -31851,15 +32012,15 @@ msgid "The project number obtained from Google Cloud Console under "
msgstr ""
-#: core/doctype/user/user.py:967
+#: core/doctype/user/user.py:971
msgid "The reset password link has been expired"
msgstr ""
-#: core/doctype/user/user.py:969
+#: core/doctype/user/user.py:973
msgid "The reset password link has either been used before or is invalid"
msgstr ""
-#: app.py:362 public/js/frappe/request.js:147
+#: app.py:363 public/js/frappe/request.js:147
msgid "The resource you are looking for is not available"
msgstr "La ressource que vous recherchez n'est pas disponible"
@@ -31871,7 +32032,7 @@ msgstr ""
msgid "The selected document {0} is not a {1}."
msgstr ""
-#: utils/response.py:325
+#: utils/response.py:313
msgid "The system is being updated. Please refresh again after a few moments."
msgstr ""
@@ -31879,7 +32040,7 @@ msgstr ""
msgid "The system provides many pre-defined roles. You can add new roles to set finer permissions."
msgstr ""
-#: public/js/frappe/form/grid_row.js:635
+#: public/js/frappe/form/grid_row.js:636
msgid "The total column width cannot be more than 10."
msgstr ""
@@ -31953,12 +32114,12 @@ msgstr ""
msgid "There are {0} with the same filters already in the queue:"
msgstr ""
-#: website/doctype/web_form/web_form.js:72
-#: website/doctype/web_form/web_form.js:308
+#: website/doctype/web_form/web_form.js:71
+#: website/doctype/web_form/web_form.js:307
msgid "There can be only 9 Page Break fields in a Web Form"
msgstr ""
-#: core/doctype/doctype/doctype.py:1390
+#: core/doctype/doctype/doctype.py:1392
msgid "There can be only one Fold in a form"
msgstr "Il ne peut y avoir qu'un seul Pli dans un formulaire"
@@ -31970,7 +32131,7 @@ msgstr "Il y a une erreur dans votre Modèle d'Adresse {0}"
msgid "There is no data to be exported"
msgstr "Il n'y a pas de données à exporter"
-#: core/doctype/file/file.py:570 utils/file_manager.py:372
+#: core/doctype/file/file.py:571 utils/file_manager.py:372
msgid "There is some problem with the file url: {0}"
msgstr "Il y a un problème avec l'url du fichier : {0}"
@@ -31982,7 +32143,7 @@ msgstr ""
msgid "There must be atleast one permission rule."
msgstr "Il doit y avoir au moins une règle d'autorisation."
-#: core/doctype/user/user.py:528
+#: core/doctype/user/user.py:532
msgid "There should remain at least one System Manager"
msgstr "Il doit rester au moins un Responsable Système"
@@ -32002,7 +32163,7 @@ msgstr "Il y a eu des erreurs"
msgid "There were errors while creating the document. Please try again."
msgstr "Il y avait des erreurs lors de la création du document. Veuillez réessayer."
-#: public/js/frappe/views/communication.js:770
+#: public/js/frappe/views/communication.js:797
msgid "There were errors while sending email. Please try again."
msgstr "Il y a eu des erreurs lors de l'envoi d’emails. Veuillez essayer à nouveau."
@@ -32053,7 +32214,7 @@ msgstr ""
msgid "This Kanban Board will be private"
msgstr "Ce Tableau Kanban sera privé"
-#: __init__.py:1007
+#: __init__.py:1011
msgid "This action is only allowed for {}"
msgstr "Cette action n'est autorisée que pour {}"
@@ -32093,7 +32254,7 @@ msgstr "Ce document a été annulé"
msgid "This document is already amended, you cannot ammend it again"
msgstr "Ce document est déjà obsoléte (une nouvelle version existe), vous ne pouvez plus le modifier"
-#: model/document.py:1516
+#: model/document.py:1532
msgid "This document is currently locked and queued for execution. Please try again after some time."
msgstr ""
@@ -32195,7 +32356,7 @@ msgstr "Ce lien a déjà été activé pour vérification."
msgid "This link is invalid or expired. Please make sure you have pasted correctly."
msgstr "Ce lien est invalide ou expiré. Veuillez vous assurer que vous l’avez collé correctement."
-#: printing/page/print/print.js:403
+#: printing/page/print/print.js:410
msgid "This may get printed on multiple pages"
msgstr "Cela peut être imprimé sur plusieurs pages"
@@ -32273,7 +32434,7 @@ msgstr ""
msgid "This will terminate the job immediately and might be dangerous, are you sure? "
msgstr ""
-#: core/doctype/user/user.py:1227
+#: core/doctype/user/user.py:1231
msgid "Throttled"
msgstr "Étranglé"
@@ -32447,7 +32608,7 @@ msgstr "Temps en secondes pour conserver l'image du code QR sur le serveur. Min:
msgid "Time series based on is required to create a dashboard chart"
msgstr "Une série chronologique basée sur est requise pour créer un graphique de tableau de bord"
-#: public/js/frappe/form/controls/time.js:104
+#: public/js/frappe/form/controls/time.js:107
msgid "Time {0} must be in format: {1}"
msgstr "L'heure {0} doit être au format: {1}"
@@ -32492,11 +32653,11 @@ msgctxt "Activity Log"
msgid "Timeline Name"
msgstr "Nom de la Chronologie"
-#: core/doctype/doctype/doctype.py:1485
+#: core/doctype/doctype/doctype.py:1487
msgid "Timeline field must be a Link or Dynamic Link"
msgstr "Le champ Chronologie doit être une Lien ou un Champ Dynamique"
-#: core/doctype/doctype/doctype.py:1481
+#: core/doctype/doctype/doctype.py:1483
msgid "Timeline field must be a valid fieldname"
msgstr "Le champ Chronologie doit être un champ valide"
@@ -32685,7 +32846,7 @@ msgctxt "Website Settings"
msgid "Title Prefix"
msgstr "Préfixe de Titre"
-#: core/doctype/doctype/doctype.py:1422
+#: core/doctype/doctype/doctype.py:1424
msgid "Title field must be a valid fieldname"
msgstr "Champ Titre doit être un nom de champ valide"
@@ -32693,7 +32854,7 @@ msgstr "Champ Titre doit être un nom de champ valide"
msgid "Title of the page"
msgstr "Titre de la page"
-#: public/js/frappe/views/communication.js:52
+#: public/js/frappe/views/communication.js:53
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "To"
msgstr "À"
@@ -32863,7 +33024,7 @@ msgid "ToDo"
msgstr ""
#: public/js/frappe/form/controls/date.js:58
-#: public/js/frappe/views/calendar/calendar.js:267
+#: public/js/frappe/views/calendar/calendar.js:268
msgid "Today"
msgstr "Aujourd'hui"
@@ -32871,7 +33032,7 @@ msgstr "Aujourd'hui"
msgid "Today's Events"
msgstr "Événements du jour"
-#: public/js/frappe/views/reports/report_view.js:1495
+#: public/js/frappe/views/reports/report_view.js:1497
msgid "Toggle Chart"
msgstr "Afficher/Cacher le graphique"
@@ -32886,11 +33047,11 @@ msgid "Toggle Grid View"
msgstr "Afficher/Cacher la vue en grille"
#: public/js/frappe/ui/page.js:193 public/js/frappe/ui/page.js:195
-#: public/js/frappe/views/reports/report_view.js:1499
+#: public/js/frappe/views/reports/report_view.js:1501
msgid "Toggle Sidebar"
msgstr "Afficher/Cacher la barre latérale"
-#: public/js/frappe/list/list_view.js:1681
+#: public/js/frappe/list/list_view.js:1688
msgctxt "Button in list view menu"
msgid "Toggle Sidebar"
msgstr "Afficher/Cacher la barre latérale"
@@ -32952,7 +33113,7 @@ msgstr "Trop de demandes"
msgid "Too many changes to database in single action."
msgstr ""
-#: core/doctype/user/user.py:1008
+#: core/doctype/user/user.py:1012
msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
msgstr "Trop d'utilisateurs se sont inscrits récemment, du coup l’inscription est désactivée. Veuillez essayer à nouveau dans une heure"
@@ -33031,7 +33192,7 @@ msgstr "Sujet"
msgid "Total"
msgstr ""
-#: public/js/frappe/ui/capture.js:251
+#: public/js/frappe/ui/capture.js:259
msgid "Total Images"
msgstr ""
@@ -33072,12 +33233,12 @@ msgctxt "Email Account"
msgid "Total number of emails to sync in initial sync process "
msgstr "Nombre total d'emails à synchroniser dans le processus de synchronisation initiale"
-#: public/js/frappe/views/reports/report_view.js:1181
-#: public/js/frappe/views/reports/report_view.js:1477
+#: public/js/frappe/views/reports/report_view.js:1183
+#: public/js/frappe/views/reports/report_view.js:1479
msgid "Totals"
msgstr "Totaux"
-#: public/js/frappe/views/reports/report_view.js:1156
+#: public/js/frappe/views/reports/report_view.js:1158
msgid "Totals Row"
msgstr "Ligne de totaux"
@@ -33269,7 +33430,7 @@ msgstr "Méthode de Déclenchement"
msgid "Trigger Primary Action"
msgstr "Action primaire de déclenchement"
-#: tests/test_translate.py:55
+#: tests/test_translate.py:54
msgid "Trigger caching"
msgstr ""
@@ -33289,8 +33450,8 @@ msgctxt "Document Naming Settings"
msgid "Try a Naming Series"
msgstr ""
-#: printing/page/print/print.js:188
-msgid "Try the new Print Format Builder"
+#: printing/page/print/print.js:189 printing/page/print/print.js:195
+msgid "Try the new Print Designer"
msgstr ""
#: utils/password_strength.py:106
@@ -33562,7 +33723,7 @@ msgctxt "DocType"
msgid "URL for documentation or help"
msgstr "URL de documentation ou d'aide"
-#: core/doctype/file/file.py:217
+#: core/doctype/file/file.py:216
msgid "URL must start with http:// or https://"
msgstr ""
@@ -33580,7 +33741,7 @@ msgstr "URL à consulter en cliquant sur l'image du diaporama"
msgid "Unable to find DocType {0}"
msgstr "Impossible de trouver le DocType {0}"
-#: public/js/frappe/ui/capture.js:330
+#: public/js/frappe/ui/capture.js:338
msgid "Unable to load camera."
msgstr "Impossible de charger la caméra."
@@ -33592,19 +33753,19 @@ msgstr "Impossible de charger : {0}"
msgid "Unable to open attached file. Did you export it as CSV?"
msgstr "Impossible d'ouvrir le fichier joint. L'avez-vous exporté au format CSV ?"
-#: core/doctype/file/utils.py:99 core/doctype/file/utils.py:128
+#: core/doctype/file/utils.py:98 core/doctype/file/utils.py:130
msgid "Unable to read file format for {0}"
msgstr "Impossible de lire le format de fichier pour {0}"
-#: core/doctype/communication/email.py:173
+#: core/doctype/communication/email.py:176
msgid "Unable to send mail because of a missing email account. Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:439
+#: public/js/frappe/views/calendar/calendar.js:440
msgid "Unable to update event"
msgstr "Impossible de mettre à jour l'événement"
-#: core/doctype/file/file.py:457
+#: core/doctype/file/file.py:458
msgid "Unable to write file format for {0}"
msgstr "Impossible d'écrire le format de fichier pour {0}"
@@ -33670,7 +33831,7 @@ msgstr "Inconnu"
msgid "Unknown Column: {0}"
msgstr "Colonne Inconnue : {0}"
-#: utils/data.py:1190
+#: utils/data.py:1193
msgid "Unknown Rounding Method: {}"
msgstr ""
@@ -33687,7 +33848,7 @@ msgid "Unlock Reference Document"
msgstr ""
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Unpublish"
msgstr ""
@@ -33790,7 +33951,7 @@ msgstr "Événements À Venir Aujourd'hui"
#: printing/page/print_format_builder/print_format_builder.js:501
#: printing/page/print_format_builder/print_format_builder.js:670
#: printing/page/print_format_builder/print_format_builder.js:757
-#: public/js/frappe/form/grid_row.js:402
+#: public/js/frappe/form/grid_row.js:403
#: public/js/frappe/views/workspace/workspace.js:653
msgid "Update"
msgstr "Mettre à Jour"
@@ -33905,7 +34066,7 @@ msgctxt "System Settings"
msgid "Updates"
msgstr ""
-#: utils/response.py:324
+#: utils/response.py:312
msgid "Updating"
msgstr "Réactualisation"
@@ -34077,7 +34238,7 @@ msgstr ""
msgid "Use of sub-query or function is restricted"
msgstr "L'utilisation de la sous-requête ou de la fonction est restreinte"
-#: printing/page/print/print.js:272
+#: printing/page/print/print.js:279
msgid "Use the new Print Format Builder"
msgstr ""
@@ -34391,7 +34552,7 @@ msgctxt "User"
msgid "User Image"
msgstr "Photo de Profil"
-#: public/js/frappe/ui/toolbar/navbar.html:109
+#: public/js/frappe/ui/toolbar/navbar.html:114
msgid "User Menu"
msgstr ""
@@ -34414,11 +34575,11 @@ msgstr "Autorisation de l'Utilisateur"
#: core/page/permission_manager/permission_manager_help.html:30
#: public/js/frappe/views/reports/query_report.js:1775
-#: public/js/frappe/views/reports/report_view.js:1657
+#: public/js/frappe/views/reports/report_view.js:1659
msgid "User Permissions"
msgstr "Autorisations des Utilisateurs"
-#: public/js/frappe/list/list_view.js:1639
+#: public/js/frappe/list/list_view.js:1646
msgctxt "Button in list view menu"
msgid "User Permissions"
msgstr "Autorisations des Utilisateurs"
@@ -34553,15 +34714,15 @@ msgstr ""
msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you."
msgstr ""
-#: core/doctype/user/user.py:533
+#: core/doctype/user/user.py:537
msgid "User {0} cannot be deleted"
msgstr "Utilisateur {0} ne peut pas être supprimé"
-#: core/doctype/user/user.py:272
+#: core/doctype/user/user.py:276
msgid "User {0} cannot be disabled"
msgstr "Utilisateur {0} ne peut pas être désactivé"
-#: core/doctype/user/user.py:593
+#: core/doctype/user/user.py:597
msgid "User {0} cannot be renamed"
msgstr "Utilisateur {0} ne peut pas être renommé"
@@ -34578,6 +34739,10 @@ msgstr "L'utilisateur {0} n'a pas d'accès au type de document via l
msgid "User {0} has requested for data deletion"
msgstr "L'utilisateur {0} a demandé la suppression des données."
+#: core/doctype/user/user.py:1360
+msgid "User {0} impersonated as {1}"
+msgstr ""
+
#: utils/oauth.py:265
msgid "User {0} is disabled"
msgstr "Utilisateur {0} est désactivé"
@@ -34608,7 +34773,7 @@ msgctxt "User Social Login"
msgid "Username"
msgstr "Nom d'Utilisateur"
-#: core/doctype/user/user.py:678
+#: core/doctype/user/user.py:682
msgid "Username {0} already exists"
msgstr "Nom d'Utilisateur {0} existe déjà"
@@ -34689,7 +34854,7 @@ msgstr "Validité"
#: public/js/frappe/list/bulk_operations.js:292
#: public/js/frappe/list/bulk_operations.js:354
#: public/js/frappe/list/list_view_permission_restrictions.html:4
-#: website/doctype/web_form/web_form.js:188
+#: website/doctype/web_form/web_form.js:187
msgid "Value"
msgstr "Valeur"
@@ -34766,15 +34931,15 @@ msgctxt "Notification"
msgid "Value To Be Set"
msgstr "Valeur à Définir"
-#: model/base_document.py:955 model/document.py:647
+#: model/base_document.py:955 model/document.py:663
msgid "Value cannot be changed for {0}"
msgstr "Valeur ne peut pas être modifiée pour {0}"
-#: model/document.py:593
+#: model/document.py:609
msgid "Value cannot be negative for"
msgstr "La valeur ne peut pas être négative pour"
-#: model/document.py:597
+#: model/document.py:613
msgid "Value cannot be negative for {0}: {1}"
msgstr "La valeur ne peut pas être négative pour {0}: {1}"
@@ -34819,7 +34984,7 @@ msgstr "Valeur trop grande"
msgid "Value {0} missing for {1}"
msgstr "Valeur {0} manquante pour {1}"
-#: core/doctype/data_import/importer.py:739 utils/data.py:858
+#: core/doctype/data_import/importer.py:739 utils/data.py:861
msgid "Value {0} must be in the valid duration format: d h m s"
msgstr "La valeur {0} doit être au format de durée valide: dhms"
@@ -34837,7 +35002,7 @@ msgctxt "Print Settings"
msgid "Verdana"
msgstr ""
-#: twofactor.py:356
+#: twofactor.py:357
msgid "Verfication Code"
msgstr "Code de Vérification"
@@ -34849,7 +35014,7 @@ msgstr "Lien de vérification"
msgid "Verification code email not sent. Please contact Administrator."
msgstr ""
-#: twofactor.py:247
+#: twofactor.py:248
msgid "Verification code has been sent to your registered email address."
msgstr "Le code de vérification a été envoyé à votre adresse e-mail enregistrée."
@@ -34923,7 +35088,7 @@ msgstr "Voir La Liste"
msgid "View Log"
msgstr "Voir le journal"
-#: core/doctype/user/user.js:126
+#: core/doctype/user/user.js:127
#: core/doctype/user_permission/user_permission.js:24
msgid "View Permitted Documents"
msgstr "Afficher les Documents Autorisés"
@@ -35381,7 +35546,7 @@ msgctxt "DocType"
msgid "Website Search Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1469
+#: core/doctype/doctype/doctype.py:1471
msgid "Website Search Field must be a valid fieldname"
msgstr ""
@@ -35512,7 +35677,7 @@ msgctxt "System Settings"
msgid "Wednesday"
msgstr "Mercredi"
-#: public/js/frappe/views/calendar/calendar.js:269
+#: public/js/frappe/views/calendar/calendar.js:270
msgid "Week"
msgstr "Semaine"
@@ -35642,11 +35807,11 @@ msgstr ""
msgid "Welcome Workspace"
msgstr ""
-#: core/doctype/user/user.py:390
+#: core/doctype/user/user.py:394
msgid "Welcome email sent"
msgstr "Email de bienvenue envoyé"
-#: core/doctype/user/user.py:465
+#: core/doctype/user/user.py:469
msgid "Welcome to {0}"
msgstr "Bienvenue sur {0}"
@@ -35804,7 +35969,7 @@ msgstr "Flux de Travail"
#. Name of a DocType
#: workflow/doctype/workflow_action/workflow_action.json
-#: workflow/doctype/workflow_action/workflow_action.py:476
+#: workflow/doctype/workflow_action/workflow_action.py:438
msgid "Workflow Action"
msgstr "Action du Flux de Travail"
@@ -36136,8 +36301,8 @@ msgctxt "Kanban Board Column"
msgid "Yellow"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:128
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:130
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:336
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -36194,6 +36359,10 @@ msgstr ""
msgid "You are connected to internet."
msgstr "Vous êtes connecté à Internet."
+#: public/js/frappe/ui/toolbar/navbar.html:20
+msgid "You are impersonating as another user."
+msgstr ""
+
#: permissions.py:413
msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in field {3}"
msgstr "Vous n'êtes pas autorisé à accéder à cet enregistrement {0} car il est lié à {1} '{2}' dans le champ {3}"
@@ -36210,7 +36379,7 @@ msgstr "Vous n'êtes pas autorisé à créer des colonnes"
msgid "You are not allowed to delete Standard Report"
msgstr "Vous n'êtes pas autorisé à supprimer le rapport standard"
-#: website/doctype/website_theme/website_theme.py:72
+#: website/doctype/website_theme/website_theme.py:73
msgid "You are not allowed to delete a standard Website Theme"
msgstr "Vous n'êtes pas autorisé à supprimer un Thème standard du Site Web"
@@ -36226,7 +36395,7 @@ msgstr "Vous n'êtes pas autorisé à exporter {} doctype"
msgid "You are not allowed to print this report"
msgstr "Vous n'êtes pas autorisé à imprimer ce rapport"
-#: public/js/frappe/views/communication.js:715
+#: public/js/frappe/views/communication.js:741
msgid "You are not allowed to send emails related to this document"
msgstr "Vous n'êtes pas autorisé à envoyer un email en relation avec ce document"
@@ -36246,7 +36415,7 @@ msgstr ""
msgid "You are not permitted to access this page."
msgstr "Vous n'êtes pas autorisé à accéder à cette page."
-#: __init__.py:927
+#: __init__.py:930
msgid "You are not permitted to access this resource."
msgstr ""
@@ -36299,7 +36468,7 @@ msgstr ""
msgid "You can continue with the onboarding after exploring this page"
msgstr ""
-#: core/doctype/file/file.py:683
+#: core/doctype/file/file.py:684
msgid "You can increase the limit from System Settings."
msgstr ""
@@ -36315,7 +36484,7 @@ msgstr ""
msgid "You can only set the 3 custom doctypes in the Document Types table."
msgstr ""
-#: handler.py:224
+#: handler.py:225
msgid "You can only upload JPG, PNG, PDF, TXT or Microsoft documents."
msgstr ""
@@ -36403,7 +36572,7 @@ msgstr ""
msgid "You do not have enough permissions to access this resource. Please contact your manager to get access."
msgstr "Vous ne disposez pas de suffisamment d'autorisations pour accéder à cette ressource. Veuillez contacter votre responsable pour obtenir l'accès."
-#: app.py:353
+#: app.py:354
msgid "You do not have enough permissions to complete the action"
msgstr "Vous ne disposez pas de suffisamment d'autorisations pour compléter l'action"
@@ -36416,7 +36585,7 @@ msgstr "Vous n'avez pas assez de points"
msgid "You do not have enough review points"
msgstr "Vous n'avez pas assez de points d'examen"
-#: www/printview.py:370
+#: www/printview.py:376
msgid "You do not have permission to view this document"
msgstr ""
@@ -36432,7 +36601,7 @@ msgstr "Vous n'avez pas accès au Rapport : {0}"
msgid "You don't have permission to access the {0} DocType."
msgstr ""
-#: utils/response.py:265 utils/response.py:282
+#: utils/response.py:266 utils/response.py:270
msgid "You don't have permission to access this file"
msgstr "Vous n'avez pas l'autorisation d'accéder à ce fichier"
@@ -36472,7 +36641,7 @@ msgstr ""
msgid "You have received a ❤️ like on your blog post"
msgstr ""
-#: twofactor.py:447
+#: twofactor.py:448
msgid "You have to enable Two Factor Auth from System Settings."
msgstr ""
@@ -36480,7 +36649,7 @@ msgstr ""
msgid "You have unsaved changes in this form. Please save before you continue."
msgstr "Vous avez des modifications non enregistrées dans ce formulaire. Veuillez enregistrer avant de continuer."
-#: public/js/frappe/ui/toolbar/navbar.html:45
+#: public/js/frappe/ui/toolbar/navbar.html:50
msgid "You have unseen notifications"
msgstr ""
@@ -36617,7 +36786,7 @@ msgstr "Vos raccourcis"
msgid "Your account has been deleted"
msgstr ""
-#: auth.py:466
+#: auth.py:472
msgid "Your account has been locked and will resume after {0} seconds"
msgstr "Votre compte a été verrouillé et reprendra après {0} secondes"
@@ -36668,7 +36837,7 @@ msgstr "Le nom de votre société et l'adresse pour le pied de l'email."
msgid "Your query has been received. We will reply back shortly. If you have any additional information, please reply to this mail."
msgstr "Votre requête a été reçue. Nous vous répondrons au plus vite. Si vous avez des informations supplémentaires, veuillez répondre à cet email."
-#: app.py:344
+#: app.py:345
msgid "Your session has expired, please login again to continue."
msgstr "Votre session a expiré, connectez-vous à nouveau pour continuer."
@@ -36685,7 +36854,7 @@ msgstr ""
msgid "Your website is all set up!"
msgstr ""
-#: utils/data.py:1493
+#: utils/data.py:1496
msgid "Zero"
msgstr "Zéro"
@@ -36712,7 +36881,7 @@ msgstr "_rapport"
msgid "`as_iterator` only works with `as_list=True` or `as_dict=True`"
msgstr ""
-#: utils/background_jobs.py:93
+#: utils/background_jobs.py:104
msgid "`job_id` paramater is required for deduplication."
msgstr ""
@@ -36763,7 +36932,7 @@ msgctxt "Permission Inspector"
msgid "amend"
msgstr "Nouv. version"
-#: public/js/frappe/utils/utils.js:396 utils/data.py:1501
+#: public/js/frappe/utils/utils.js:396 utils/data.py:1504
msgid "and"
msgstr "et"
@@ -36820,7 +36989,7 @@ msgctxt "Workflow State"
msgid "barcode"
msgstr "Code Barre"
-#: model/document.py:1320
+#: model/document.py:1336
msgid "beginning with"
msgstr "commençant par"
@@ -37508,7 +37677,7 @@ msgstr "verrouiller"
msgid "logged in"
msgstr "connecté"
-#: website/doctype/web_form/web_form.js:353
+#: website/doctype/web_form/web_form.js:352
msgid "login_required"
msgstr ""
@@ -37616,7 +37785,7 @@ msgctxt "OAuth Authorization Code"
msgid "nonce"
msgstr ""
-#: model/document.py:1319
+#: model/document.py:1335
msgid "none of"
msgstr "aucun des"
@@ -37700,11 +37869,11 @@ msgctxt "Webhook"
msgid "on_update_after_submit"
msgstr ""
-#: model/document.py:1318
+#: model/document.py:1334
msgid "one of"
msgstr "l'un des"
-#: public/js/frappe/utils/utils.js:393 www/login.html:87
+#: public/js/frappe/utils/utils.js:393 www/login.html:87 www/login.py:101
msgid "or"
msgstr "ou"
@@ -38020,19 +38189,19 @@ msgctxt "Workflow State"
msgid "signal"
msgstr "signaler"
-#: public/js/frappe/widgets/number_card_widget.js:265
+#: public/js/frappe/widgets/number_card_widget.js:282
msgid "since last month"
msgstr "depuis le mois dernier"
-#: public/js/frappe/widgets/number_card_widget.js:264
+#: public/js/frappe/widgets/number_card_widget.js:281
msgid "since last week"
msgstr "depuis la semaine dernière"
-#: public/js/frappe/widgets/number_card_widget.js:266
+#: public/js/frappe/widgets/number_card_widget.js:283
msgid "since last year"
msgstr "depuis l'année dernière"
-#: public/js/frappe/widgets/number_card_widget.js:263
+#: public/js/frappe/widgets/number_card_widget.js:280
msgid "since yesterday"
msgstr "depuis hier"
@@ -38164,7 +38333,7 @@ msgstr ""
msgid "this form"
msgstr ""
-#: tests/test_translate.py:158
+#: tests/test_translate.py:157
msgid "this shouldn't break"
msgstr ""
@@ -38368,7 +38537,7 @@ msgstr ""
msgid "{0} = {1}"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:29
+#: public/js/frappe/views/calendar/calendar.js:30
msgid "{0} Calendar"
msgstr "{0} Calendrier"
@@ -38384,7 +38553,7 @@ msgstr "Graphique {0}"
msgid "{0} Dashboard"
msgstr "{0} Tableau de bord"
-#: public/js/frappe/form/grid_row.js:456
+#: public/js/frappe/form/grid_row.js:457
#: public/js/frappe/list/list_settings.js:224
#: public/js/frappe/views/kanban/kanban_settings.js:178
msgid "{0} Fields"
@@ -38481,7 +38650,7 @@ msgstr "{0} déjà désinscrit"
msgid "{0} already unsubscribed for {1} {2}"
msgstr "{0} déjà désabonné pour {1} {2}"
-#: utils/data.py:1684
+#: utils/data.py:1687
msgid "{0} and {1}"
msgstr "{0} et {1}"
@@ -38670,7 +38839,7 @@ msgstr "{0} a été ajouté avec succès au Groupe d’Email."
msgid "{0} has left the conversation in {1} {2}"
msgstr "{0} a quitté la conversation dans {1} {2}"
-#: __init__.py:2458
+#: __init__.py:2481
msgid "{0} has no versions tracked."
msgstr "{0} n'a aucune version suivie."
@@ -38687,15 +38856,15 @@ msgstr "{0} si vous n'êtes pas redirigé dans les {1} secondes"
msgid "{0} in row {1} cannot have both URL and child items"
msgstr "{0} à la ligne {1} ne peut pas avoir à la fois une URL et des sous-articles"
-#: core/doctype/doctype/doctype.py:913
+#: core/doctype/doctype/doctype.py:915
msgid "{0} is a mandatory field"
msgstr "{0} est un champ obligatoire"
-#: core/doctype/file/file.py:502
+#: core/doctype/file/file.py:503
msgid "{0} is a not a valid zip file"
msgstr ""
-#: core/doctype/doctype/doctype.py:1553
+#: core/doctype/doctype/doctype.py:1555
msgid "{0} is an invalid Data field."
msgstr "{0} est un champ de données non valide."
@@ -38703,7 +38872,7 @@ msgstr "{0} est un champ de données non valide."
msgid "{0} is an invalid email address in 'Recipients'"
msgstr "{0} est une adresse e-mail invalide dans 'Destinataires'"
-#: public/js/frappe/views/reports/report_view.js:1394
+#: public/js/frappe/views/reports/report_view.js:1396
msgid "{0} is between {1} and {2}"
msgstr ""
@@ -38712,27 +38881,27 @@ msgstr ""
msgid "{0} is currently {1}"
msgstr "{0} est actuellement {1}"
-#: public/js/frappe/views/reports/report_view.js:1363
+#: public/js/frappe/views/reports/report_view.js:1365
msgid "{0} is equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1383
+#: public/js/frappe/views/reports/report_view.js:1385
msgid "{0} is greater than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1373
+#: public/js/frappe/views/reports/report_view.js:1375
msgid "{0} is greater than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1388
+#: public/js/frappe/views/reports/report_view.js:1390
msgid "{0} is less than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1378
+#: public/js/frappe/views/reports/report_view.js:1380
msgid "{0} is less than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1413
+#: public/js/frappe/views/reports/report_view.js:1415
msgid "{0} is like {1}"
msgstr ""
@@ -38744,14 +38913,18 @@ msgstr "{0} est obligatoire"
msgid "{0} is not a field of doctype {1}"
msgstr ""
-#: www/printview.py:353
+#: www/printview.py:359
msgid "{0} is not a raw printing format."
msgstr "{0} n'est pas un format d'impression brut."
-#: public/js/frappe/views/calendar/calendar.js:81
+#: public/js/frappe/views/calendar/calendar.js:82
msgid "{0} is not a valid Calendar. Redirecting to default Calendar."
msgstr ""
+#: core/doctype/scheduled_job_type/scheduled_job_type.py:62
+msgid "{0} is not a valid Cron expression."
+msgstr ""
+
#: public/js/frappe/form/controls/dynamic_link.js:27
msgid "{0} is not a valid DocType for Dynamic Link"
msgstr "{0} n'est pas un DocType valide pour Dynamic Link"
@@ -38784,23 +38957,23 @@ msgstr ""
msgid "{0} is not a valid report format. Report format should one of the following {1}"
msgstr "{0} n'est pas un format de rapport valide. Le format du rapport doit être l'un des {1} suivants"
-#: core/doctype/file/file.py:482
+#: core/doctype/file/file.py:483
msgid "{0} is not a zip file"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1368
+#: public/js/frappe/views/reports/report_view.js:1370
msgid "{0} is not equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1415
+#: public/js/frappe/views/reports/report_view.js:1417
msgid "{0} is not like {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1409
+#: public/js/frappe/views/reports/report_view.js:1411
msgid "{0} is not one of {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1419
+#: public/js/frappe/views/reports/report_view.js:1421
msgid "{0} is not set"
msgstr ""
@@ -38808,7 +38981,7 @@ msgstr ""
msgid "{0} is now default print format for {1} doctype"
msgstr "{0} est maintenant le format d'impression par défaut pour le type de document {1}"
-#: public/js/frappe/views/reports/report_view.js:1402
+#: public/js/frappe/views/reports/report_view.js:1404
msgid "{0} is one of {1}"
msgstr ""
@@ -38817,18 +38990,22 @@ msgstr ""
msgid "{0} is required"
msgstr "{0} est nécessaire"
-#: public/js/frappe/views/reports/report_view.js:1418
+#: public/js/frappe/views/reports/report_view.js:1420
msgid "{0} is set"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1397
+#: public/js/frappe/views/reports/report_view.js:1399
msgid "{0} is within {1}"
msgstr ""
-#: public/js/frappe/list/list_view.js:1556
+#: public/js/frappe/list/list_view.js:1563
msgid "{0} items selected"
msgstr "{0} articles sélectionnés"
+#: core/doctype/user/user.py:1369
+msgid "{0} just impersonated as you. They gave this reason: {1}"
+msgstr ""
+
#: public/js/frappe/form/footer/form_timeline.js:150
#: public/js/frappe/form/sidebar/form_sidebar.js:96
msgid "{0} last edited this"
@@ -38846,7 +39023,7 @@ msgstr "{0} déconnecté: {1}"
msgid "{0} m"
msgstr ""
-#: desk/notifications.py:375
+#: desk/notifications.py:374
msgid "{0} mentioned you in a comment in {1} {2}"
msgstr "{0} vous a mentionné dans un commentaire dans {1} {2}"
@@ -38858,7 +39035,7 @@ msgstr "Il y a {0} minutes"
msgid "{0} months ago"
msgstr "Il y a {0} mois"
-#: model/document.py:1568
+#: model/document.py:1584
msgid "{0} must be after {1}"
msgstr "{0} doit être après {1}"
@@ -38891,11 +39068,11 @@ msgstr "{0} ne peut pas être renommé"
msgid "{0} not found"
msgstr "{0} introuvable"
-#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:956
+#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:954
msgid "{0} of {1}"
msgstr "{0} sur {1}"
-#: public/js/frappe/list/list_view.js:958
+#: public/js/frappe/list/list_view.js:956
msgid "{0} of {1} ({2} rows with children)"
msgstr "{0} sur {1} ({2} lignes avec des enfants)"
@@ -38903,12 +39080,12 @@ msgstr "{0} sur {1} ({2} lignes avec des enfants)"
msgid "{0} of {1} sent"
msgstr ""
-#: utils/data.py:1504
+#: utils/data.py:1507
msgctxt "Money in words"
msgid "{0} only."
msgstr ""
-#: utils/data.py:1674
+#: utils/data.py:1677
msgid "{0} or {1}"
msgstr "{0} ou {1}"
@@ -39088,31 +39265,31 @@ msgstr "{0}, Ligne {1}"
msgid "{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}"
msgstr "{0} : {1} '({3}) sera tronqué car le nombre de caractères max est {2}"
-#: core/doctype/doctype/doctype.py:1735
+#: core/doctype/doctype/doctype.py:1779
msgid "{0}: Cannot set Amend without Cancel"
msgstr "{0} : Impossible de choisir Nouv. version sans Annuler"
-#: core/doctype/doctype/doctype.py:1753
+#: core/doctype/doctype/doctype.py:1797
msgid "{0}: Cannot set Assign Amend if not Submittable"
msgstr "{0} : Impossible de définir ‘Assigner Nouv. version’ si non Validable"
-#: core/doctype/doctype/doctype.py:1751
+#: core/doctype/doctype/doctype.py:1795
msgid "{0}: Cannot set Assign Submit if not Submittable"
msgstr "{0} : Impossible de définir ‘Assigner Valider’ si non Validable"
-#: core/doctype/doctype/doctype.py:1730
+#: core/doctype/doctype/doctype.py:1774
msgid "{0}: Cannot set Cancel without Submit"
msgstr "{0} : Impossible de choisir Annuler sans Valider"
-#: core/doctype/doctype/doctype.py:1737
+#: core/doctype/doctype/doctype.py:1781
msgid "{0}: Cannot set Import without Create"
msgstr "{0} : Impossible de choisir Import sans Créer"
-#: core/doctype/doctype/doctype.py:1733
+#: core/doctype/doctype/doctype.py:1777
msgid "{0}: Cannot set Submit, Cancel, Amend without Write"
msgstr "{0} : Vous ne pouvez pas choisir Valider, Annuler, Nouv. version sans Écrire"
-#: core/doctype/doctype/doctype.py:1757
+#: core/doctype/doctype/doctype.py:1801
msgid "{0}: Cannot set import as {1} is not importable"
msgstr "{0} : Impossible de choisir import car {1} n'est pas importable"
@@ -39120,43 +39297,43 @@ msgstr "{0} : Impossible de choisir import car {1} n'est pas importable"
msgid "{0}: Failed to attach new recurring document. To enable attaching document in the auto repeat notification email, enable {1} in Print Settings"
msgstr "{0}: Impossible de joindre un nouveau document récurrent. Pour activer la pièce jointe dans l'e-mail de notification de répétition automatique, activez {1} dans Paramètres d'impression"
-#: core/doctype/doctype/doctype.py:1373
+#: core/doctype/doctype/doctype.py:1375
msgid "{0}: Field '{1}' cannot be set as Unique as it has non-unique values"
msgstr "{0}: Le champ '{1}' ne peut pas être défini comme Unique car il contient des valeurs non uniques."
-#: core/doctype/doctype/doctype.py:1281
+#: core/doctype/doctype/doctype.py:1283
msgid "{0}: Field {1} in row {2} cannot be hidden and mandatory without default"
msgstr "{0}: le champ {1} de la ligne {2} ne peut pas être masqué et obligatoire sans valeur par défaut"
-#: core/doctype/doctype/doctype.py:1240
+#: core/doctype/doctype/doctype.py:1242
msgid "{0}: Field {1} of type {2} cannot be mandatory"
msgstr "{0}: le champ {1} de type {2} ne peut pas être obligatoire"
-#: core/doctype/doctype/doctype.py:1228
+#: core/doctype/doctype/doctype.py:1230
msgid "{0}: Fieldname {1} appears multiple times in rows {2}"
msgstr "{0}: le nom de champ {1} apparaît plusieurs fois dans les lignes {2}"
-#: core/doctype/doctype/doctype.py:1360
+#: core/doctype/doctype/doctype.py:1362
msgid "{0}: Fieldtype {1} for {2} cannot be unique"
msgstr "{0}: le type de champ {1} pour {2} ne peut pas être unique"
-#: core/doctype/doctype/doctype.py:1690
+#: core/doctype/doctype/doctype.py:1734
msgid "{0}: No basic permissions set"
msgstr "{0} : Aucune autorisation de base définie"
-#: core/doctype/doctype/doctype.py:1704
+#: core/doctype/doctype/doctype.py:1748
msgid "{0}: Only one rule allowed with the same Role, Level and {1}"
msgstr "{0} : Une seule règle est permise avec le même Rôle, Niveau et {1}"
-#: core/doctype/doctype/doctype.py:1262
+#: core/doctype/doctype/doctype.py:1264
msgid "{0}: Options must be a valid DocType for field {1} in row {2}"
msgstr "{0}: les options doivent être un type de document valide pour le champ {1} de la ligne {2}."
-#: core/doctype/doctype/doctype.py:1251
+#: core/doctype/doctype/doctype.py:1253
msgid "{0}: Options required for Link or Table type field {1} in row {2}"
msgstr "{0}: Options requises pour le champ de type Lien ou Table {1} dans la ligne {2}"
-#: core/doctype/doctype/doctype.py:1269
+#: core/doctype/doctype/doctype.py:1271
msgid "{0}: Options {1} must be the same as doctype name {2} for the field {3}"
msgstr "{0}: les options {1} doivent être identiques au nom de type de document {2} pour le champ {3}."
@@ -39164,7 +39341,7 @@ msgstr "{0}: les options {1} doivent être identiques au nom de type de document
msgid "{0}: Other permission rules may also apply"
msgstr ""
-#: core/doctype/doctype/doctype.py:1719
+#: core/doctype/doctype/doctype.py:1763
msgid "{0}: Permission at level 0 must be set before higher levels are set"
msgstr "{0} : L'Autorisation au niveau 0 doit être définie avant que les niveaux plus élevés soient parametrés"
@@ -39172,12 +39349,12 @@ msgstr "{0} : L'Autorisation au niveau 0 doit être définie avant que les nivea
msgid "{0}: You can increase the limit for the field if required via {1}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1215
+#: core/doctype/doctype/doctype.py:1217
msgid "{0}: fieldname cannot be set to reserved keyword {1}"
msgstr ""
#: contacts/doctype/address/address.js:35
-#: contacts/doctype/contact/contact.js:78
+#: contacts/doctype/contact/contact.js:83
#: public/js/frappe/views/workspace/workspace.js:169
msgid "{0}: {1}"
msgstr ""
@@ -39190,7 +39367,7 @@ msgstr "{0}: {1} est passé au statut {2}"
msgid "{0}: {1} vs {2}"
msgstr "{0}: {1} contre {2}"
-#: core/doctype/doctype/doctype.py:1381
+#: core/doctype/doctype/doctype.py:1383
msgid "{0}:Fieldtype {1} for {2} cannot be indexed"
msgstr "{0}: le type de champ {1} pour {2} ne peut pas être indexé"
@@ -39210,7 +39387,7 @@ msgstr ""
msgid "{count} rows selected"
msgstr ""
-#: core/doctype/doctype/doctype.py:1435
+#: core/doctype/doctype/doctype.py:1437
msgid "{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}."
msgstr "{{{0}}} n'est pas un motif de nom de champ valide. Il devrait être {{field_name}}."
@@ -39218,11 +39395,11 @@ msgstr "{{{0}}} n'est pas un motif de nom de champ valide. Il devrait être {{fi
msgid "{} Complete"
msgstr "{} Achevée"
-#: utils/data.py:2397
+#: utils/data.py:2401
msgid "{} Invalid python code on line {}"
msgstr ""
-#: utils/data.py:2406
+#: utils/data.py:2410
msgid "{} Possibly invalid python code. Your OTP secret on {0} has been reset. If you did not perform this reset and did not request it, please contact your System Administrator immediately.
" msgstr "" @@ -735,7 +735,7 @@ msgstr "" msgid "A DocType (Document Type) is used to insert forms in ERPNext. Forms such as Customer, Orders, and Invoices are Doctypes in the backend. You can also create new DocTypes to create new forms in ERPNext as per your business needs." msgstr "" -#: core/doctype/doctype/doctype.py:1013 +#: core/doctype/doctype/doctype.py:1015 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "" @@ -743,11 +743,11 @@ msgstr "" msgid "A featured post must have a cover image" msgstr "" -#: custom/doctype/custom_field/custom_field.py:172 +#: custom/doctype/custom_field/custom_field.py:173 msgid "A field with the name {0} already exists in {1}" msgstr "" -#: core/doctype/file/file.py:255 +#: core/doctype/file/file.py:254 msgid "A file with same name {} already exists" msgstr "" @@ -882,12 +882,25 @@ msgctxt "Google Settings" msgid "API Key" msgstr "" +#. Label of a Data field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key" +msgstr "" + #. Label of a Data field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" msgid "API Key" msgstr "" +#. Description of the 'Authentication' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Key and Secret to interact with the relay server. These will be auto-generated when the first push notification is sent from any of the apps installed on this site." +msgstr "" + #. Description of the 'API Key' (Data) field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -900,6 +913,12 @@ msgctxt "Server Script" msgid "API Method" msgstr "" +#. Label of a Password field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "API Secret" +msgstr "" + #. Label of a Password field in DocType 'User' #: core/doctype/user/user.json msgctxt "User" @@ -1003,7 +1022,7 @@ msgctxt "Social Login Key" msgid "Access Token URL" msgstr "" -#: auth.py:445 +#: auth.py:451 msgid "Access not allowed from this IP Address" msgstr "" @@ -1083,7 +1102,7 @@ msgstr "" msgid "Action Complete" msgstr "" -#: model/document.py:1652 +#: model/document.py:1668 msgid "Action Failed" msgstr "" @@ -1224,7 +1243,7 @@ msgstr "" #: core/page/permission_manager/permission_manager.js:476 #: email/doctype/email_group/email_group.js:60 -#: public/js/frappe/form/grid_row.js:469 +#: public/js/frappe/form/grid_row.js:470 #: public/js/frappe/form/sidebar/assign_to.js:100 #: public/js/frappe/form/templates/set_sharing.html:68 #: public/js/frappe/list/bulk_operations.js:393 @@ -1240,7 +1259,7 @@ msgctxt "Primary action in list view" msgid "Add" msgstr "" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Add / Remove Columns" msgstr "" @@ -1252,7 +1271,7 @@ msgstr "" msgid "Add A New Rule" msgstr "" -#: public/js/frappe/views/communication.js:529 +#: public/js/frappe/views/communication.js:555 #: public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "" @@ -1354,7 +1373,7 @@ msgstr "" msgid "Add Review" msgstr "" -#: core/doctype/user/user.py:794 +#: core/doctype/user/user.py:798 msgid "Add Roles" msgstr "" @@ -1362,7 +1381,7 @@ msgstr "" msgid "Add Row" msgstr "" -#: public/js/frappe/views/communication.js:117 +#: public/js/frappe/views/communication.js:118 msgid "Add Signature" msgstr "" @@ -1393,12 +1412,12 @@ msgstr "" msgid "Add Tags" msgstr "" -#: public/js/frappe/list/list_view.js:1858 +#: public/js/frappe/list/list_view.js:1865 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "" -#: public/js/frappe/views/communication.js:362 +#: public/js/frappe/views/communication.js:387 msgid "Add Template" msgstr "" @@ -1501,7 +1520,7 @@ msgstr "" msgid "Added default log doctypes: {}" msgstr "" -#: core/doctype/file/file.py:717 +#: core/doctype/file/file.py:718 msgid "Added {0}" msgstr "" @@ -1510,7 +1529,7 @@ msgstr "" msgid "Added {0} ({1})" msgstr "" -#: core/doctype/user/user.py:300 +#: core/doctype/user/user.py:304 msgid "Adding System Manager to this User as there must be atleast one System Manager" msgstr "" @@ -1637,11 +1656,11 @@ msgstr "" msgid "Administrator" msgstr "" -#: core/doctype/user/user.py:1198 +#: core/doctype/user/user.py:1202 msgid "Administrator Logged In" msgstr "" -#: core/doctype/user/user.py:1192 +#: core/doctype/user/user.py:1196 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "" @@ -1692,6 +1711,12 @@ msgctxt "Server Script" msgid "After Insert" msgstr "" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "After Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -2217,7 +2242,7 @@ msgstr "" msgid "Allowing DocType, DocType. Be careful!" msgstr "" -#: core/doctype/user/user.py:1001 +#: core/doctype/user/user.py:1005 msgid "Already Registered" msgstr "" @@ -2469,7 +2494,7 @@ msgstr "" msgid "App not found for module: {0}" msgstr "" -#: __init__.py:1765 +#: __init__.py:1782 msgid "App {0} is not installed" msgstr "" @@ -2548,7 +2573,7 @@ msgctxt "Property Setter" msgid "Applied On" msgstr "" -#: public/js/frappe/list/list_view.js:1843 +#: public/js/frappe/list/list_view.js:1850 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "" @@ -2654,7 +2679,7 @@ msgstr "" msgid "Archived Columns" msgstr "" -#: public/js/frappe/list/list_view.js:1822 +#: public/js/frappe/list/list_view.js:1829 msgid "Are you sure you want to clear the assignments?" msgstr "" @@ -2753,7 +2778,7 @@ msgstr "" msgid "Assign To" msgstr "" -#: public/js/frappe/list/list_view.js:1804 +#: public/js/frappe/list/list_view.js:1811 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "" @@ -2922,11 +2947,11 @@ msgctxt "Notification Settings" msgid "Assignments" msgstr "" -#: public/js/frappe/form/grid_row.js:649 +#: public/js/frappe/form/grid_row.js:650 msgid "At least one column is required to show in the grid." msgstr "" -#: website/doctype/web_form/web_form.js:64 +#: website/doctype/web_form/web_form.js:63 msgid "At least one field is required in Web Form Fields Table" msgstr "" @@ -2962,7 +2987,7 @@ msgctxt "Web Form Field" msgid "Attach" msgstr "" -#: public/js/frappe/views/communication.js:139 +#: public/js/frappe/views/communication.js:140 msgid "Attach Document Print" msgstr "" @@ -3036,7 +3061,7 @@ msgctxt "File" msgid "Attached To Name" msgstr "" -#: core/doctype/file/file.py:141 +#: core/doctype/file/file.py:140 msgid "Attached To Name must be a string or an integer" msgstr "" @@ -3070,7 +3095,7 @@ msgctxt "Email Domain" msgid "Attachment Limit (MB)" msgstr "" -#: core/doctype/file/file.py:322 +#: core/doctype/file/file.py:321 #: public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" msgstr "" @@ -3093,7 +3118,7 @@ msgctxt "Communication" msgid "Attachment Removed" msgstr "" -#: core/doctype/file/utils.py:40 +#: core/doctype/file/utils.py:37 #: email/doctype/newsletter/templates/newsletter.html:47 #: public/js/frappe/form/templates/form_sidebar.html:65 #: website/doctype/web_form/templates/web_form.html:103 @@ -3153,6 +3178,12 @@ msgctxt "Email Account" msgid "Authentication" msgstr "" +#. Label of a Section Break field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Authentication" +msgstr "" + #: www/qrcode.html:19 msgid "Authentication Apps you can use are: " msgstr "" @@ -3569,7 +3600,7 @@ msgctxt "Print Settings" msgid "B9" msgstr "" -#: public/js/frappe/views/communication.js:76 +#: public/js/frappe/views/communication.js:77 msgid "BCC" msgstr "" @@ -3629,6 +3660,12 @@ msgctxt "RQ Job" msgid "Background Jobs" msgstr "" +#. Label of a Autocomplete field in DocType 'Webhook' +#: integrations/doctype/webhook/webhook.json +msgctxt "Webhook" +msgid "Background Jobs Queue" +msgstr "" + #. Label of a Section Break field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3705,6 +3742,10 @@ msgctxt "System Settings" msgid "Backups" msgstr "" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:63 +msgid "Bad Cron Expression" +msgstr "" + #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: core/doctype/system_settings/system_settings.json msgctxt "System Settings" @@ -3783,7 +3824,7 @@ msgctxt "Social Login Key" msgid "Base URL" msgstr "" -#: printing/page/print/print.js:266 printing/page/print/print.js:320 +#: printing/page/print/print.js:273 printing/page/print/print.js:327 msgid "Based On" msgstr "" @@ -3835,6 +3876,12 @@ msgctxt "Server Script" msgid "Before Insert" msgstr "" +#. Option for the 'DocType Event' (Select) field in DocType 'Server Script' +#: core/doctype/server_script/server_script.json +msgctxt "Server Script" +msgid "Before Rename" +msgstr "" + #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -4393,7 +4440,7 @@ msgstr "" msgid "CANCELLED" msgstr "" -#: public/js/frappe/views/communication.js:71 +#: public/js/frappe/views/communication.js:72 msgid "CC" msgstr "" @@ -4517,7 +4564,7 @@ msgctxt "DocType" msgid "Calendar View" msgstr "" -#: contacts/doctype/contact/contact.js:50 +#: contacts/doctype/contact/contact.js:55 msgid "Call" msgstr "" @@ -4557,7 +4604,7 @@ msgctxt "Onboarding Step" msgid "Callback Title" msgstr "" -#: public/js/frappe/ui/capture.js:326 +#: public/js/frappe/ui/capture.js:334 msgid "Camera" msgstr "" @@ -4604,11 +4651,11 @@ msgstr "" msgid "Can Write" msgstr "" -#: custom/doctype/custom_field/custom_field.py:359 +#: custom/doctype/custom_field/custom_field.py:360 msgid "Can not rename as column {0} is already present on DocType." msgstr "" -#: core/doctype/doctype/doctype.py:1110 +#: core/doctype/doctype/doctype.py:1112 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "" @@ -4628,7 +4675,7 @@ msgstr "" msgid "Cancel" msgstr "" -#: public/js/frappe/list/list_view.js:1913 +#: public/js/frappe/list/list_view.js:1920 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "" @@ -4681,7 +4728,7 @@ msgstr "" msgid "Cancel Scheduling" msgstr "" -#: public/js/frappe/list/list_view.js:1918 +#: public/js/frappe/list/list_view.js:1925 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "" @@ -4754,7 +4801,7 @@ msgstr "" msgid "Cannot Update After Submit" msgstr "" -#: core/doctype/file/file.py:573 +#: core/doctype/file/file.py:574 msgid "Cannot access file path {0}" msgstr "" @@ -4770,11 +4817,11 @@ msgstr "" msgid "Cannot cancel {0}." msgstr "" -#: model/document.py:827 +#: model/document.py:843 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "" -#: model/document.py:841 +#: model/document.py:857 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "" @@ -4786,7 +4833,7 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "" -#: core/doctype/doctype/doctype.py:1100 +#: core/doctype/doctype/doctype.py:1102 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "" @@ -4798,7 +4845,7 @@ msgstr "" msgid "Cannot create private workspace of other users" msgstr "" -#: core/doctype/file/file.py:152 +#: core/doctype/file/file.py:151 msgid "Cannot delete Home and Attachments folders" msgstr "" @@ -4858,7 +4905,7 @@ msgstr "" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "" -#: model/document.py:847 +#: model/document.py:863 msgid "Cannot edit cancelled document" msgstr "" @@ -4874,19 +4921,19 @@ msgstr "" msgid "Cannot enable {0} for a non-submittable doctype" msgstr "" -#: core/doctype/file/file.py:250 +#: core/doctype/file/file.py:249 msgid "Cannot find file {} on disk" msgstr "" -#: core/doctype/file/file.py:519 +#: core/doctype/file/file.py:520 msgid "Cannot get file contents of a Folder" msgstr "" -#: printing/page/print/print.js:817 +#: printing/page/print/print.js:824 msgid "Cannot have multiple printers mapped to a single print format." msgstr "" -#: model/document.py:915 +#: model/document.py:931 msgid "Cannot link cancelled document: {0}" msgstr "" @@ -4947,7 +4994,7 @@ msgstr "" msgid "Capitalization doesn't help very much." msgstr "" -#: public/js/frappe/ui/capture.js:286 +#: public/js/frappe/ui/capture.js:294 msgid "Capture" msgstr "" @@ -5005,7 +5052,7 @@ msgctxt "Help Category" msgid "Category Name" msgstr "" -#: utils/data.py:1466 +#: utils/data.py:1469 msgid "Cent" msgstr "" @@ -5036,11 +5083,11 @@ msgid "Chaining Hash" msgstr "" #: public/js/frappe/form/templates/form_sidebar.html:11 -#: tests/test_translate.py:98 +#: tests/test_translate.py:97 msgid "Change" msgstr "" -#: tests/test_translate.py:99 +#: tests/test_translate.py:98 msgctxt "Coins" msgid "Change" msgstr "" @@ -5204,7 +5251,7 @@ msgctxt "Web Template Field" msgid "Check" msgstr "" -#: integrations/doctype/webhook/webhook.py:96 +#: integrations/doctype/webhook/webhook.py:98 msgid "Check Request URL" msgstr "" @@ -5274,7 +5321,7 @@ msgctxt "Form Tour Step" msgid "Child Doctype" msgstr "" -#: core/doctype/doctype/doctype.py:1582 +#: core/doctype/doctype/doctype.py:1584 msgid "Child Table {0} for field {1}" msgstr "" @@ -5328,15 +5375,15 @@ msgstr "" msgid "Clear" msgstr "" -#: public/js/frappe/views/communication.js:367 +#: public/js/frappe/views/communication.js:392 msgid "Clear & Add Template" msgstr "" -#: public/js/frappe/views/communication.js:98 +#: public/js/frappe/views/communication.js:99 msgid "Clear & Add template" msgstr "" -#: public/js/frappe/list/list_view.js:1819 +#: public/js/frappe/list/list_view.js:1826 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "" @@ -5363,7 +5410,7 @@ msgstr "" msgid "Clear User Permissions" msgstr "" -#: public/js/frappe/views/communication.js:368 +#: public/js/frappe/views/communication.js:393 msgid "Clear the email message and add the template" msgstr "" @@ -5421,7 +5468,7 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:315 #: desk/doctype/number_card/number_card.js:215 #: email/doctype/auto_email_report/auto_email_report.js:96 -#: website/doctype/web_form/web_form.js:227 +#: website/doctype/web_form/web_form.js:226 msgid "Click table to edit" msgstr "" @@ -5432,11 +5479,11 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:372 #: desk/doctype/number_card/number_card.js:270 -#: website/doctype/web_form/web_form.js:253 +#: website/doctype/web_form/web_form.js:252 msgid "Click to Set Filters" msgstr "" -#: public/js/frappe/list/list_view.js:657 +#: public/js/frappe/list/list_view.js:655 msgid "Click to sort by {0}" msgstr "" @@ -5849,11 +5896,11 @@ msgstr "" msgid "Column Name cannot be empty" msgstr "" -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Column Width" msgstr "" -#: public/js/frappe/form/grid_row.js:613 +#: public/js/frappe/form/grid_row.js:614 msgid "Column width cannot be zero." msgstr "" @@ -6013,8 +6060,8 @@ msgid "Common names and surnames are easy to guess." msgstr "" #. Name of a DocType -#: core/doctype/communication/communication.json tests/test_translate.py:35 -#: tests/test_translate.py:103 +#: core/doctype/communication/communication.json tests/test_translate.py:34 +#: tests/test_translate.py:102 msgid "Communication" msgstr "" @@ -6087,11 +6134,11 @@ msgstr "" msgid "Compare Versions" msgstr "" -#: core/doctype/server_script/server_script.py:137 +#: core/doctype/server_script/server_script.py:140 msgid "Compilation warning" msgstr "" -#: website/doctype/website_theme/website_theme.py:122 +#: website/doctype/website_theme/website_theme.py:123 msgid "Compiled Successfully" msgstr "" @@ -6109,7 +6156,7 @@ msgstr "" msgid "Complete By" msgstr "" -#: core/doctype/user/user.py:467 templates/emails/new_user.html:10 +#: core/doctype/user/user.py:471 templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "" @@ -6178,7 +6225,7 @@ msgstr "" #: desk/doctype/dashboard_chart/dashboard_chart.js:439 #: desk/doctype/number_card/number_card.js:205 #: desk/doctype/number_card/number_card.js:333 -#: website/doctype/web_form/web_form.js:188 +#: website/doctype/web_form/web_form.js:187 msgid "Condition" msgstr "" @@ -6258,7 +6305,7 @@ msgstr "" msgid "Configure Chart" msgstr "" -#: public/js/frappe/form/grid_row.js:381 +#: public/js/frappe/form/grid_row.js:382 msgid "Configure Columns" msgstr "" @@ -6278,7 +6325,8 @@ msgid "" "Default Naming will make the amended document to behave same as new documents." msgstr "" -#: public/js/frappe/dom.js:332 www/update-password.html:30 +#: core/doctype/user/user.js:374 public/js/frappe/dom.js:332 +#: www/update-password.html:30 msgid "Confirm" msgstr "" @@ -6292,7 +6340,7 @@ msgstr "" msgid "Confirm Deletion of Account" msgstr "" -#: core/doctype/user/user.js:166 +#: core/doctype/user/user.js:167 msgid "Confirm New Password" msgstr "" @@ -6648,7 +6696,7 @@ msgstr "" msgid "Could not connect to outgoing email server" msgstr "" -#: model/document.py:911 +#: model/document.py:927 msgid "Could not find {0}" msgstr "" @@ -6846,7 +6894,7 @@ msgstr "" msgid "Create New Kanban Board" msgstr "" -#: core/doctype/user/user.js:245 +#: core/doctype/user/user.js:246 msgid "Create User Email" msgstr "" @@ -6974,6 +7022,10 @@ msgctxt "Server Script" msgid "Cron Format" msgstr "" +#: core/doctype/scheduled_job_type/scheduled_job_type.py:57 +msgid "Cron format is required for job types with Cron frequency." +msgstr "" + #: public/js/frappe/form/grid_row_form.js:42 msgid "Ctrl + Down" msgstr "" @@ -7233,7 +7285,7 @@ msgctxt "Module Def" msgid "Custom Field" msgstr "" -#: custom/doctype/custom_field/custom_field.py:217 +#: custom/doctype/custom_field/custom_field.py:218 msgid "Custom Field {0} is created by the Administrator and can only be deleted through the Administrator account." msgstr "" @@ -7242,11 +7294,11 @@ msgstr "" msgid "Custom Field, Custom Doctype, Naming Series, Role Permission, Workflow, Print Formats, Reports" msgstr "" -#: custom/doctype/custom_field/custom_field.py:259 +#: custom/doctype/custom_field/custom_field.py:260 msgid "Custom Fields can only be added to a standard DocType." msgstr "" -#: custom/doctype/custom_field/custom_field.py:256 +#: custom/doctype/custom_field/custom_field.py:257 msgid "Custom Fields cannot be added to core DocTypes." msgstr "" @@ -7355,6 +7407,10 @@ msgctxt "Translation" msgid "Custom Translation" msgstr "" +#: custom/doctype/custom_field/custom_field.py:373 +msgid "Custom field renamed to {0} successfully." +msgstr "" + #: core/doctype/doctype/doctype_list.js:82 msgid "Custom?" msgstr "" @@ -7420,7 +7476,7 @@ msgstr "" msgid "Customize" msgstr "" -#: public/js/frappe/list/list_view.js:1664 +#: public/js/frappe/list/list_view.js:1671 msgctxt "Button in list view menu" msgid "Customize" msgstr "" @@ -7985,7 +8041,7 @@ msgctxt "Web Form Field" msgid "Datetime" msgstr "" -#: public/js/frappe/views/calendar/calendar.js:270 +#: public/js/frappe/views/calendar/calendar.js:271 msgid "Day" msgstr "" @@ -8260,11 +8316,11 @@ msgctxt "DocType" msgid "Default View" msgstr "" -#: core/doctype/doctype/doctype.py:1323 +#: core/doctype/doctype/doctype.py:1325 msgid "Default for 'Check' type of field {0} must be either '0' or '1'" msgstr "" -#: core/doctype/doctype/doctype.py:1336 +#: core/doctype/doctype/doctype.py:1338 msgid "Default value for {0} must be in the list of options." msgstr "" @@ -8308,7 +8364,7 @@ msgstr "" #: core/doctype/user_permission/user_permission_list.js:189 #: public/js/frappe/form/footer/form_timeline.js:613 #: public/js/frappe/form/grid.js:63 public/js/frappe/form/toolbar.js:423 -#: public/js/frappe/views/reports/report_view.js:1645 +#: public/js/frappe/views/reports/report_view.js:1647 #: public/js/frappe/views/treeview.js:313 #: public/js/frappe/views/workspace/workspace.js:829 #: templates/discussions/reply_card.html:35 @@ -8316,7 +8372,7 @@ msgstr "" msgid "Delete" msgstr "" -#: public/js/frappe/list/list_view.js:1881 +#: public/js/frappe/list/list_view.js:1888 msgctxt "Button in list view actions menu" msgid "Delete" msgstr "" @@ -8371,12 +8427,12 @@ msgstr "" msgid "Delete this record to allow sending to this email address" msgstr "" -#: public/js/frappe/list/list_view.js:1886 +#: public/js/frappe/list/list_view.js:1893 msgctxt "Title of confirmation dialog" msgid "Delete {0} item permanently?" msgstr "" -#: public/js/frappe/list/list_view.js:1892 +#: public/js/frappe/list/list_view.js:1899 msgctxt "Title of confirmation dialog" msgid "Delete {0} items permanently?" msgstr "" @@ -9143,7 +9199,7 @@ msgctxt "Workspace Shortcut" msgid "DocType" msgstr "" -#: core/doctype/doctype/doctype.py:1524 +#: core/doctype/doctype/doctype.py:1526 msgid "DocType {0} provided for the field {1} must have atleast one Link field" msgstr "" @@ -9207,15 +9263,15 @@ msgctxt "Workspace Shortcut" msgid "DocType View" msgstr "" -#: core/doctype/doctype/doctype.py:645 +#: core/doctype/doctype/doctype.py:647 msgid "DocType can not be merged" msgstr "" -#: core/doctype/doctype/doctype.py:639 +#: core/doctype/doctype/doctype.py:641 msgid "DocType can only be renamed by Administrator" msgstr "" -#: integrations/doctype/webhook/webhook.py:80 +#: integrations/doctype/webhook/webhook.py:82 msgid "DocType must be Submittable for the selected Doc Event" msgstr "" @@ -9249,7 +9305,7 @@ msgstr "" msgid "DocType {} not found" msgstr "" -#: core/doctype/doctype/doctype.py:1007 +#: core/doctype/doctype/doctype.py:1009 msgid "DocType's name should not start or end with whitespace" msgstr "" @@ -9267,7 +9323,7 @@ msgctxt "Document Follow" msgid "Doctype" msgstr "" -#: core/doctype/doctype/doctype.py:1001 +#: core/doctype/doctype/doctype.py:1003 msgid "Doctype name is limited to {0} characters ({1})" msgstr "" @@ -9349,19 +9405,19 @@ msgctxt "Customize Form" msgid "Document Links" msgstr "" -#: core/doctype/doctype/doctype.py:1158 +#: core/doctype/doctype/doctype.py:1160 msgid "Document Links Row #{0}: Could not find field {1} in {2} DocType" msgstr "" -#: core/doctype/doctype/doctype.py:1178 +#: core/doctype/doctype/doctype.py:1180 msgid "Document Links Row #{0}: Invalid doctype or fieldname." msgstr "" -#: core/doctype/doctype/doctype.py:1141 +#: core/doctype/doctype/doctype.py:1143 msgid "Document Links Row #{0}: Parent DocType is mandatory for internal links" msgstr "" -#: core/doctype/doctype/doctype.py:1147 +#: core/doctype/doctype/doctype.py:1149 msgid "Document Links Row #{0}: Table Fieldname is mandatory for internal links" msgstr "" @@ -9425,7 +9481,7 @@ msgstr "" msgid "Document Naming Settings" msgstr "" -#: model/document.py:1519 +#: model/document.py:1535 msgid "Document Queued" msgstr "" @@ -9672,19 +9728,19 @@ msgctxt "User Type" msgid "Document Types and Permissions" msgstr "" -#: core/doctype/submission_queue/submission_queue.py:163 model/document.py:1716 +#: core/doctype/submission_queue/submission_queue.py:163 model/document.py:1732 msgid "Document Unlocked" msgstr "" -#: public/js/frappe/list/list_view.js:1054 +#: public/js/frappe/list/list_view.js:1052 msgid "Document has been cancelled" msgstr "" -#: public/js/frappe/list/list_view.js:1053 +#: public/js/frappe/list/list_view.js:1051 msgid "Document has been submitted" msgstr "" -#: public/js/frappe/list/list_view.js:1052 +#: public/js/frappe/list/list_view.js:1050 msgid "Document is in draft state" msgstr "" @@ -10133,7 +10189,7 @@ msgstr "" #: public/js/frappe/views/workspace/workspace.js:808 #: public/js/frappe/widgets/base_widget.js:64 #: public/js/frappe/widgets/chart_widget.js:298 -#: public/js/frappe/widgets/number_card_widget.js:314 +#: public/js/frappe/widgets/number_card_widget.js:331 #: templates/discussions/reply_card.html:29 #: templates/discussions/reply_section.html:29 #: workflow/page/workflow_builder/workflow_builder.js:46 @@ -10141,7 +10197,7 @@ msgstr "" msgid "Edit" msgstr "" -#: public/js/frappe/list/list_view.js:1967 +#: public/js/frappe/list/list_view.js:1974 msgctxt "Button in list view actions menu" msgid "Edit" msgstr "" @@ -10152,7 +10208,7 @@ msgctxt "Comment" msgid "Edit" msgstr "" -#: public/js/frappe/form/grid_row.js:338 +#: public/js/frappe/form/grid_row.js:337 msgctxt "Edit grid row" msgid "Edit" msgstr "" @@ -10177,7 +10233,7 @@ msgstr "" msgid "Edit DocType" msgstr "" -#: public/js/frappe/list/list_view.js:1691 +#: public/js/frappe/list/list_view.js:1698 msgctxt "Button in list view menu" msgid "Edit DocType" msgstr "" @@ -10462,7 +10518,7 @@ msgctxt "Email Account" msgid "Email Account Name" msgstr "" -#: core/doctype/user/user.py:727 +#: core/doctype/user/user.py:731 msgid "Email Account added multiple times" msgstr "" @@ -10701,7 +10757,7 @@ msgstr "" #. Name of a DocType #: email/doctype/email_template/email_template.json -#: public/js/frappe/views/communication.js:91 +#: public/js/frappe/views/communication.js:92 msgid "Email Template" msgstr "" @@ -10742,7 +10798,7 @@ msgstr "" msgid "Email has been moved to trash" msgstr "" -#: public/js/frappe/views/communication.js:749 +#: public/js/frappe/views/communication.js:776 msgid "Email not sent to {0} (unsubscribed / disabled)" msgstr "" @@ -10886,6 +10942,12 @@ msgctxt "Print Settings" msgid "Enable Print Server" msgstr "" +#. Label of a Check field in DocType 'Push Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Enable Push Notification Relay" +msgstr "" + #. Label of a Check field in DocType 'Server Script' #: core/doctype/server_script/server_script.json msgctxt "Server Script" @@ -10934,7 +10996,7 @@ msgstr "" msgid "Enable Tracking Page Views" msgstr "" -#: twofactor.py:448 +#: twofactor.py:449 msgid "Enable Two Factor Auth" msgstr "" @@ -11069,7 +11131,7 @@ msgstr "" msgid "Enabled email inbox for user {0}" msgstr "" -#: core/doctype/server_script/server_script.py:265 +#: core/doctype/server_script/server_script.py:268 msgid "Enabled scheduled execution for script {0}" msgstr "" @@ -11091,6 +11153,13 @@ msgstr "" msgid "Enabling auto reply on an incoming email account will send automated replies to all the synchronized emails. Do you wish to continue?" msgstr "" +#. Description of the 'Relay Settings' (Section Break) field in DocType 'Push +#. Notification Settings' +#: integrations/doctype/push_notification_settings/push_notification_settings.json +msgctxt "Push Notification Settings" +msgid "Enabling this will register your site on a central relay server to send push notifications for all installed apps through Firebase Cloud Messaging. This server only stores user tokens and error logs, and no messages are saved. " +msgstr "" + #. Description of the 'Queue in Background (BETA)' (Check) field in DocType #. 'Customize Form' #: custom/doctype/customize_form/customize_form.json @@ -11111,11 +11180,11 @@ msgctxt "System Settings" msgid "Encrypt Backups" msgstr "" -#: utils/password.py:184 +#: utils/password.py:181 msgid "Encryption key is in invalid format!" msgstr "" -#: utils/password.py:198 +#: utils/password.py:195 msgid "Encryption key is invalid! Please check site_config.json" msgstr "" @@ -11248,7 +11317,7 @@ msgstr "" msgid "Enter Code displayed in OTP App." msgstr "" -#: public/js/frappe/views/communication.js:705 +#: public/js/frappe/views/communication.js:731 msgid "Enter Email Recipient(s)" msgstr "" @@ -11422,13 +11491,13 @@ msgstr "" msgid "Error in Header/Footer Script" msgstr "" -#: email/doctype/notification/notification.py:391 -#: email/doctype/notification/notification.py:507 -#: email/doctype/notification/notification.py:513 +#: email/doctype/notification/notification.py:394 +#: email/doctype/notification/notification.py:510 +#: email/doctype/notification/notification.py:516 msgid "Error in Notification" msgstr "" -#: utils/pdf.py:48 +#: utils/pdf.py:52 msgid "Error in print format on line {0}: {1}" msgstr "" @@ -11436,11 +11505,11 @@ msgstr "" msgid "Error while connecting to email account {0}" msgstr "" -#: email/doctype/notification/notification.py:504 +#: email/doctype/notification/notification.py:507 msgid "Error while evaluating Notification {0}. Please fix your template." msgstr "" -#: model/document.py:797 +#: model/document.py:813 msgid "Error: Document has been modified after you have opened it" msgstr "" @@ -11718,11 +11787,11 @@ msgstr "" #: public/js/frappe/data_import/data_exporter.js:91 #: public/js/frappe/data_import/data_exporter.js:242 #: public/js/frappe/views/reports/query_report.js:1655 -#: public/js/frappe/views/reports/report_view.js:1552 +#: public/js/frappe/views/reports/report_view.js:1554 msgid "Export" msgstr "" -#: public/js/frappe/list/list_view.js:1989 +#: public/js/frappe/list/list_view.js:1996 msgctxt "Button in list view actions menu" msgid "Export" msgstr "" @@ -11743,7 +11812,7 @@ msgstr "" msgid "Export 1 record" msgstr "" -#: public/js/frappe/views/reports/report_view.js:1563 +#: public/js/frappe/views/reports/report_view.js:1565 msgid "Export All {0} rows?" msgstr "" @@ -11910,7 +11979,7 @@ msgstr "" msgid "Failed to complete setup" msgstr "" -#: integrations/doctype/webhook/webhook.py:149 +#: integrations/doctype/webhook/webhook.py:151 msgid "Failed to compute request body: {}" msgstr "" @@ -11919,7 +11988,7 @@ msgstr "" msgid "Failed to connect to server" msgstr "" -#: auth.py:648 +#: auth.py:654 msgid "Failed to decode token, please provide a valid base64-encoded token." msgstr "" @@ -11927,7 +11996,7 @@ msgstr "" msgid "Failed to enable scheduler: {0}" msgstr "" -#: integrations/doctype/webhook/webhook.py:137 +#: integrations/doctype/webhook/webhook.py:139 msgid "Failed to evaluate conditions: {}" msgstr "" @@ -12033,6 +12102,22 @@ msgctxt "DocField" msgid "Fetch From" msgstr "" +#: core/doctype/doctype/doctype.py:1635 +msgid "Fetch From for field {0} is invalid: {1} does not have a field {2}" +msgstr "" + +#: core/doctype/doctype/doctype.py:1625 +msgid "Fetch From for field {0} is invalid: {1}. Link field {2} not found." +msgstr "" + +#: core/doctype/doctype/doctype.py:1610 +msgid "Fetch From syntax for field {0} is invalid. `.` dot missing: {1}" +msgstr "" + +#: core/doctype/doctype/doctype.py:1617 +msgid "Fetch From syntax for field {0} is invalid: {1}. Fetch From should be in form of 'link_fieldname.source_fieldname'" +msgstr "" + #: website/doctype/website_slideshow/website_slideshow.js:15 msgid "Fetch Images" msgstr "" @@ -12113,11 +12198,11 @@ msgctxt "Web Form List Column" msgid "Field" msgstr "" -#: core/doctype/doctype/doctype.py:414 +#: core/doctype/doctype/doctype.py:416 msgid "Field \"route\" is mandatory for Web Views" msgstr "" -#: core/doctype/doctype/doctype.py:1473 +#: core/doctype/doctype/doctype.py:1475 msgid "Field \"title\" is mandatory if \"Website Search Field\" is set." msgstr "" @@ -12131,7 +12216,7 @@ msgctxt "Custom Field" msgid "Field Description" msgstr "" -#: core/doctype/doctype/doctype.py:1038 +#: core/doctype/doctype/doctype.py:1040 msgid "Field Missing" msgstr "" @@ -12187,7 +12272,7 @@ msgstr "" msgid "Field type cannot be changed for {0}" msgstr "" -#: database/database.py:830 +#: database/database.py:832 msgid "Field {0} does not exist on {1}" msgstr "" @@ -12200,7 +12285,7 @@ msgid "Field {0} not found." msgstr "" #: custom/doctype/custom_field/custom_field.js:120 -#: public/js/frappe/form/grid_row.js:429 +#: public/js/frappe/form/grid_row.js:430 msgid "Fieldname" msgstr "" @@ -12250,7 +12335,7 @@ msgstr "" msgid "Fieldname '{0}' conflicting with a {1} of the name {2} in {3}" msgstr "" -#: core/doctype/doctype/doctype.py:1037 +#: core/doctype/doctype/doctype.py:1039 msgid "Fieldname called {0} must exist to enable autonaming" msgstr "" @@ -12258,7 +12343,7 @@ msgstr "" msgid "Fieldname is limited to 64 characters ({0})" msgstr "" -#: custom/doctype/custom_field/custom_field.py:194 +#: custom/doctype/custom_field/custom_field.py:195 msgid "Fieldname not set for Custom Field" msgstr "" @@ -12274,11 +12359,11 @@ msgstr "" msgid "Fieldname {0} cannot have special characters like {1}" msgstr "" -#: core/doctype/doctype/doctype.py:1842 +#: core/doctype/doctype/doctype.py:1886 msgid "Fieldname {0} conflicting with meta object" msgstr "" -#: core/doctype/doctype/doctype.py:493 public/js/form_builder/utils.js:302 +#: core/doctype/doctype/doctype.py:495 public/js/form_builder/utils.js:302 msgid "Fieldname {0} is restricted" msgstr "" @@ -12337,7 +12422,7 @@ msgctxt "Data Export" msgid "Fields Multicheck" msgstr "" -#: core/doctype/file/file.py:405 +#: core/doctype/file/file.py:404 msgid "Fields `file_name` or `file_url` must be set for File" msgstr "" @@ -12383,7 +12468,7 @@ msgctxt "Web Template Field" msgid "Fieldtype" msgstr "" -#: custom/doctype/custom_field/custom_field.py:190 +#: custom/doctype/custom_field/custom_field.py:191 msgid "Fieldtype cannot be changed from {0} to {1}" msgstr "" @@ -12408,7 +12493,7 @@ msgctxt "Form Tour" msgid "File" msgstr "" -#: core/doctype/file/utils.py:126 +#: core/doctype/file/utils.py:128 msgid "File '{0}' not found" msgstr "" @@ -12478,7 +12563,7 @@ msgstr "" msgid "File backup is ready" msgstr "" -#: core/doctype/file/file.py:576 +#: core/doctype/file/file.py:577 msgid "File name cannot have {0}" msgstr "" @@ -12486,7 +12571,7 @@ msgstr "" msgid "File not attached" msgstr "" -#: core/doctype/file/file.py:681 public/js/frappe/request.js:197 +#: core/doctype/file/file.py:682 public/js/frappe/request.js:197 #: utils/file_manager.py:221 msgid "File size exceeded the maximum allowed size of {0} MB" msgstr "" @@ -12495,11 +12580,11 @@ msgstr "" msgid "File too big" msgstr "" -#: core/doctype/file/file.py:373 +#: core/doctype/file/file.py:372 msgid "File type of {0} is not allowed" msgstr "" -#: core/doctype/file/file.py:361 core/doctype/file/file.py:421 +#: core/doctype/file/file.py:360 core/doctype/file/file.py:420 msgid "File {0} does not exist" msgstr "" @@ -12521,9 +12606,9 @@ msgstr "" #: desk/doctype/number_card/number_card.js:205 #: desk/doctype/number_card/number_card.js:333 #: email/doctype/auto_email_report/auto_email_report.js:90 -#: public/js/frappe/list/base_list.js:850 +#: public/js/frappe/list/base_list.js:852 #: public/js/frappe/ui/filters/filter_list.js:132 -#: website/doctype/web_form/web_form.js:188 +#: website/doctype/web_form/web_form.js:187 msgid "Filter" msgstr "" @@ -12565,11 +12650,11 @@ msgctxt "Prepared Report" msgid "Filter Values" msgstr "" -#: utils/data.py:1996 +#: utils/data.py:1999 msgid "Filter must be a tuple or list (in a list)" msgstr "" -#: utils/data.py:2004 +#: utils/data.py:2007 msgid "Filter must have 4 values (doctype, fieldname, operator, value): {0}" msgstr "" @@ -12690,7 +12775,7 @@ msgctxt "Report" msgid "Filters will be accessible viafilters. result = [result], or for old style data = [columns], [result]"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1353
+#: public/js/frappe/views/reports/report_view.js:1355
msgid "Filters:"
msgstr ""
@@ -12835,11 +12920,11 @@ msgctxt "Report Filter"
msgid "Fold"
msgstr ""
-#: core/doctype/doctype/doctype.py:1397
+#: core/doctype/doctype/doctype.py:1399
msgid "Fold can not be at the end of the form"
msgstr ""
-#: core/doctype/doctype/doctype.py:1395
+#: core/doctype/doctype/doctype.py:1397
msgid "Fold must come before a Section Break"
msgstr ""
@@ -12859,7 +12944,7 @@ msgstr ""
msgid "Folder name should not include '/' (slash)"
msgstr ""
-#: core/doctype/file/file.py:465
+#: core/doctype/file/file.py:466
msgid "Folder {0} is not empty"
msgstr ""
@@ -13163,7 +13248,7 @@ msgstr ""
msgid "For updating, you can update only selective columns."
msgstr ""
-#: core/doctype/doctype/doctype.py:1686
+#: core/doctype/doctype/doctype.py:1730
msgid "For {0} at level {1} in {2} in row {3}"
msgstr ""
@@ -13449,7 +13534,7 @@ msgctxt "System Settings"
msgid "Friday"
msgstr ""
-#: public/js/frappe/views/communication.js:170
+#: public/js/frappe/views/communication.js:182
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "From"
msgstr ""
@@ -13568,7 +13653,7 @@ msgstr ""
msgid "Function Based On"
msgstr ""
-#: __init__.py:928
+#: __init__.py:931
msgid "Function {0} is not whitelisted."
msgstr ""
@@ -13693,7 +13778,7 @@ msgctxt "Auto Repeat"
msgid "Get Contacts"
msgstr ""
-#: website/doctype/web_form/web_form.js:84
+#: website/doctype/web_form/web_form.js:83
msgid "Get Fields"
msgstr ""
@@ -14460,7 +14545,7 @@ msgstr ""
#: public/js/frappe/form/templates/form_sidebar.html:40
#: public/js/frappe/form/workflow.js:23
-#: public/js/frappe/ui/toolbar/navbar.html:81 public/js/frappe/utils/help.js:27
+#: public/js/frappe/ui/toolbar/navbar.html:86 public/js/frappe/utils/help.js:27
msgid "Help"
msgstr ""
@@ -14504,7 +14589,7 @@ msgctxt "Help Category"
msgid "Help Category"
msgstr ""
-#: public/js/frappe/ui/toolbar/navbar.html:78
+#: public/js/frappe/ui/toolbar/navbar.html:83
msgid "Help Dropdown"
msgstr ""
@@ -14770,11 +14855,11 @@ msgctxt "Portal Settings"
msgid "Hide Standard Menu"
msgstr ""
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Hide Tags"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Hide Weekends"
msgstr ""
@@ -14831,9 +14916,9 @@ msgstr ""
msgid "Hint: Include symbols, numbers and capital letters in the password"
msgstr ""
-#: core/doctype/file/utils.py:31 public/js/frappe/views/file/file_view.js:67
+#: core/doctype/file/utils.py:28 public/js/frappe/views/file/file_view.js:67
#: public/js/frappe/views/file/file_view.js:88
-#: public/js/frappe/views/pageview.js:149 templates/doc.html:19
+#: public/js/frappe/views/pageview.js:153 templates/doc.html:19
#: templates/includes/navbar/navbar.html:9
#: website/doctype/blog_post/blog_post.py:153
#: website/doctype/blog_post/blog_post.py:265
@@ -14867,16 +14952,16 @@ msgctxt "User"
msgid "Home Settings"
msgstr ""
-#: core/doctype/file/test_file.py:297 core/doctype/file/test_file.py:299
-#: core/doctype/file/test_file.py:363
+#: core/doctype/file/test_file.py:302 core/doctype/file/test_file.py:304
+#: core/doctype/file/test_file.py:368
msgid "Home/Test Folder 1"
msgstr ""
-#: core/doctype/file/test_file.py:352
+#: core/doctype/file/test_file.py:357
msgid "Home/Test Folder 1/Test Folder 3"
msgstr ""
-#: core/doctype/file/test_file.py:308
+#: core/doctype/file/test_file.py:313
msgid "Home/Test Folder 2"
msgstr ""
@@ -14935,7 +15020,7 @@ msgstr ""
msgid "ID"
msgstr ""
-#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:920
+#: desk/reportview.py:416 public/js/frappe/views/reports/report_view.js:922
msgctxt "Label of name column in report"
msgid "ID"
msgstr ""
@@ -15092,7 +15177,7 @@ msgctxt "Workflow Document State"
msgid "If Checked workflow status will not override status in list view"
msgstr ""
-#: core/doctype/doctype/doctype.py:1698
+#: core/doctype/doctype/doctype.py:1742
msgid "If Owner"
msgstr ""
@@ -15284,7 +15369,7 @@ msgstr ""
msgid "If you are uploading new records, leave the \"name\" (ID) column blank."
msgstr ""
-#: utils/password.py:200
+#: utils/password.py:197
msgid "If you have recently restored the site you may need to copy the site config contaning original Encryption Key."
msgstr ""
@@ -15467,15 +15552,15 @@ msgctxt "Letter Head"
msgid "Image Width"
msgstr ""
-#: core/doctype/doctype/doctype.py:1453
+#: core/doctype/doctype/doctype.py:1455
msgid "Image field must be a valid fieldname"
msgstr ""
-#: core/doctype/doctype/doctype.py:1455
+#: core/doctype/doctype/doctype.py:1457
msgid "Image field must be of type Attach Image"
msgstr ""
-#: core/doctype/file/utils.py:134
+#: core/doctype/file/utils.py:136
msgid "Image link '{0}' is not valid"
msgstr ""
@@ -15487,6 +15572,28 @@ msgstr ""
msgid "Images"
msgstr ""
+#: core/doctype/user/user.js:346
+msgid "Impersonate"
+msgstr ""
+
+#. Option for the 'Operation' (Select) field in DocType 'Activity Log'
+#: core/doctype/activity_log/activity_log.json
+msgctxt "Activity Log"
+msgid "Impersonate"
+msgstr ""
+
+#: core/doctype/user/user.js:373
+msgid "Impersonate as {0}"
+msgstr ""
+
+#: public/js/frappe/form/footer/version_timeline_content_builder.js:233
+msgid "Impersonated by {0}"
+msgstr ""
+
+#: public/js/frappe/ui/toolbar/navbar.html:21
+msgid "Impersonating {0}"
+msgstr ""
+
#: core/doctype/log_settings/log_settings.py:57
msgid "Implement `clear_old_logs` method to enable auto error clearing."
msgstr ""
@@ -15502,7 +15609,7 @@ msgstr ""
msgid "Import"
msgstr ""
-#: public/js/frappe/list/list_view.js:1628
+#: public/js/frappe/list/list_view.js:1635
msgctxt "Button in list view menu"
msgid "Import"
msgstr ""
@@ -15857,25 +15964,25 @@ msgstr ""
msgid "Incorrect URL"
msgstr ""
-#: utils/password.py:90
+#: utils/password.py:89
msgid "Incorrect User or Password"
msgstr ""
-#: twofactor.py:175 twofactor.py:187
+#: twofactor.py:176 twofactor.py:188
msgid "Incorrect Verification code"
msgstr ""
-#: model/document.py:1335
+#: model/document.py:1351
msgid "Incorrect value in row {0}: {1} must be {2} {3}"
msgstr ""
-#: model/document.py:1339
+#: model/document.py:1355
msgid "Incorrect value: {0} must be {1} {2}"
msgstr ""
#: model/meta.py:48 public/js/frappe/model/meta.js:200
#: public/js/frappe/model/model.js:114
-#: public/js/frappe/views/reports/report_view.js:941
+#: public/js/frappe/views/reports/report_view.js:943
msgid "Index"
msgstr ""
@@ -15985,11 +16092,11 @@ msgctxt "Custom Field"
msgid "Insert After"
msgstr ""
-#: custom/doctype/custom_field/custom_field.py:248
+#: custom/doctype/custom_field/custom_field.py:249
msgid "Insert After cannot be set as {0}"
msgstr ""
-#: custom/doctype/custom_field/custom_field.py:241
+#: custom/doctype/custom_field/custom_field.py:242
msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist"
msgstr ""
@@ -16069,7 +16176,7 @@ msgstr ""
msgid "Insufficient Permissions for editing Report"
msgstr ""
-#: core/doctype/doctype/doctype.py:442
+#: core/doctype/doctype/doctype.py:444
msgid "Insufficient attachment limit"
msgstr ""
@@ -16225,7 +16332,7 @@ msgctxt "OAuth Authorization Code"
msgid "Invalid"
msgstr ""
-#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:768
+#: public/js/form_builder/utils.js:221 public/js/frappe/form/grid_row.js:769
#: public/js/frappe/form/layout.js:774
msgid "Invalid \"depends_on\" expression"
msgstr ""
@@ -16246,7 +16353,7 @@ msgstr ""
msgid "Invalid CSV Format"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:88
+#: integrations/doctype/webhook/webhook.py:90
msgid "Invalid Condition: {}"
msgstr ""
@@ -16254,7 +16361,7 @@ msgstr ""
msgid "Invalid Credentials"
msgstr ""
-#: utils/data.py:125 utils/data.py:286
+#: utils/data.py:125 utils/data.py:289
msgid "Invalid Date"
msgstr ""
@@ -16266,11 +16373,11 @@ msgstr ""
msgid "Invalid DocType: {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1219
+#: core/doctype/doctype/doctype.py:1221
msgid "Invalid Fieldname"
msgstr ""
-#: core/doctype/file/file.py:207
+#: core/doctype/file/file.py:206
msgid "Invalid File URL"
msgstr ""
@@ -16310,7 +16417,7 @@ msgstr ""
msgid "Invalid Operation"
msgstr ""
-#: core/doctype/doctype/doctype.py:1576 core/doctype/doctype/doctype.py:1585
+#: core/doctype/doctype/doctype.py:1578 core/doctype/doctype/doctype.py:1587
msgid "Invalid Option"
msgstr ""
@@ -16326,7 +16433,7 @@ msgstr ""
msgid "Invalid Parameters."
msgstr ""
-#: core/doctype/user/user.py:1213 www/update-password.html:121
+#: core/doctype/user/user.py:1217 www/update-password.html:121
#: www/update-password.html:142 www/update-password.html:144
#: www/update-password.html:245
msgid "Invalid Password"
@@ -16344,7 +16451,7 @@ msgstr ""
msgid "Invalid Search Field {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1161
+#: core/doctype/doctype/doctype.py:1163
msgid "Invalid Table Fieldname"
msgstr ""
@@ -16352,7 +16459,7 @@ msgstr ""
msgid "Invalid Transition"
msgstr ""
-#: core/doctype/file/file.py:218 public/js/frappe/widgets/widget_dialog.js:604
+#: core/doctype/file/file.py:217 public/js/frappe/widgets/widget_dialog.js:604
#: utils/csvutils.py:201 utils/csvutils.py:222
msgid "Invalid URL"
msgstr ""
@@ -16361,7 +16468,7 @@ msgstr ""
msgid "Invalid User Name or Support Password. Please rectify and try again."
msgstr ""
-#: integrations/doctype/webhook/webhook.py:117
+#: integrations/doctype/webhook/webhook.py:119
msgid "Invalid Webhook Secret"
msgstr ""
@@ -16373,7 +16480,7 @@ msgstr ""
msgid "Invalid column"
msgstr ""
-#: model/document.py:830 model/document.py:844
+#: model/document.py:846 model/document.py:860
msgid "Invalid docstatus"
msgstr ""
@@ -16385,11 +16492,11 @@ msgstr ""
msgid "Invalid expression set in filter {0} ({1})"
msgstr ""
-#: utils/data.py:2102
+#: utils/data.py:2106
msgid "Invalid field name {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1046
+#: core/doctype/doctype/doctype.py:1048
msgid "Invalid fieldname '{0}' in autoname"
msgstr ""
@@ -16422,7 +16529,7 @@ msgstr ""
msgid "Invalid redirect regex in row #{}: {}"
msgstr ""
-#: app.py:299
+#: app.py:305
msgid "Invalid request arguments"
msgstr ""
@@ -16444,7 +16551,7 @@ msgctxt "Error message in web form"
msgid "Invalid values for fields:"
msgstr ""
-#: core/doctype/doctype/doctype.py:1511
+#: core/doctype/doctype/doctype.py:1513
msgid "Invalid {0} condition"
msgstr ""
@@ -16454,7 +16561,7 @@ msgctxt "Workflow State"
msgid "Inverse"
msgstr ""
-#: contacts/doctype/contact/contact.js:25
+#: contacts/doctype/contact/contact.js:30
msgid "Invite as User"
msgstr ""
@@ -16648,7 +16755,7 @@ msgctxt "DocType"
msgid "Is Published Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1462
+#: core/doctype/doctype/doctype.py:1464
msgid "Is Published Field must be a valid fieldname"
msgstr ""
@@ -16816,7 +16923,7 @@ msgctxt "DocType"
msgid "Is Virtual"
msgstr ""
-#: core/doctype/file/utils.py:155 utils/file_manager.py:311
+#: core/doctype/file/utils.py:157 utils/file_manager.py:311
msgid "It is risky to delete this file: {0}. Please contact your System Manager."
msgstr ""
@@ -17405,7 +17512,7 @@ msgctxt "Customize Form Field"
msgid "Label and Type"
msgstr ""
-#: custom/doctype/custom_field/custom_field.py:142
+#: custom/doctype/custom_field/custom_field.py:143
msgid "Label is mandatory"
msgstr ""
@@ -17644,7 +17751,7 @@ msgctxt "Event"
msgid "Leave blank to repeat always"
msgstr ""
-#: core/doctype/communication/mixins.py:206
+#: core/doctype/communication/mixins.py:207
#: email/doctype/email_account/email_account.py:654
msgid "Leave this conversation"
msgstr ""
@@ -18188,7 +18295,7 @@ msgid "Linked With"
msgstr ""
#: contacts/doctype/address/address.js:39
-#: contacts/doctype/contact/contact.js:82 public/js/frappe/form/toolbar.js:366
+#: contacts/doctype/contact/contact.js:87 public/js/frappe/form/toolbar.js:366
msgid "Links"
msgstr ""
@@ -18264,7 +18371,7 @@ msgctxt "Web Form"
msgid "List Setting Message"
msgstr ""
-#: public/js/frappe/list/list_view.js:1708
+#: public/js/frappe/list/list_view.js:1715
msgctxt "Button in list view menu"
msgid "List Settings"
msgstr ""
@@ -18331,7 +18438,7 @@ msgstr ""
#: core/page/permission_manager/permission_manager.js:165
#: public/js/frappe/form/controls/multicheck.js:13
#: public/js/frappe/form/linked_with.js:13
-#: public/js/frappe/list/base_list.js:467
+#: public/js/frappe/list/base_list.js:469
#: public/js/frappe/list/list_view.js:332 public/js/frappe/ui/listing.html:16
#: public/js/frappe/views/reports/query_report.js:1001
msgid "Loading"
@@ -18484,7 +18591,7 @@ msgstr ""
msgid "Login To {0}"
msgstr ""
-#: twofactor.py:259
+#: twofactor.py:260
msgid "Login Verification Code from {}"
msgstr ""
@@ -18496,7 +18603,7 @@ msgstr ""
msgid "Login and view in Browser"
msgstr ""
-#: website/doctype/web_form/web_form.js:358
+#: website/doctype/web_form/web_form.js:357
msgid "Login is required to see web form list view. Enable {0} to see list settings"
msgstr ""
@@ -18508,7 +18615,7 @@ msgstr ""
msgid "Login not allowed at this time"
msgstr ""
-#: twofactor.py:163
+#: twofactor.py:164
msgid "Login session expired, refresh page to retry"
msgstr ""
@@ -18560,7 +18667,7 @@ msgctxt "Activity Log"
msgid "Logout"
msgstr ""
-#: core/doctype/user/user.js:172
+#: core/doctype/user/user.js:173
msgid "Logout All Sessions"
msgstr ""
@@ -18995,7 +19102,7 @@ msgctxt "System Settings"
msgid "Max auto email report per user"
msgstr ""
-#: core/doctype/doctype/doctype.py:1289
+#: core/doctype/doctype/doctype.py:1291
msgid "Max width for type Currency is 100px in row {0}"
msgstr ""
@@ -19005,7 +19112,7 @@ msgctxt "Number Card"
msgid "Maximum"
msgstr ""
-#: core/doctype/file/file.py:318
+#: core/doctype/file/file.py:317
msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}."
msgstr ""
@@ -19114,7 +19221,7 @@ msgstr ""
#: core/doctype/data_import/data_import.js:489
#: public/js/frappe/ui/messages.js:175
-#: public/js/frappe/views/communication.js:110 www/message.html:3
+#: public/js/frappe/views/communication.js:111 www/message.html:3
#: www/message.html:25
msgid "Message"
msgstr ""
@@ -19144,7 +19251,7 @@ msgctxt "Communication"
msgid "Message"
msgstr ""
-#: __init__.py:612 public/js/frappe/ui/messages.js:265
+#: __init__.py:615 public/js/frappe/ui/messages.js:265
msgctxt "Default title of the message dialog"
msgid "Message"
msgstr ""
@@ -19234,7 +19341,7 @@ msgctxt "Notification"
msgid "Message Type"
msgstr ""
-#: public/js/frappe/views/communication.js:883
+#: public/js/frappe/views/communication.js:910
msgid "Message clipped"
msgstr ""
@@ -19450,7 +19557,7 @@ msgstr ""
msgid "Missing DocType"
msgstr ""
-#: core/doctype/doctype/doctype.py:1473
+#: core/doctype/doctype/doctype.py:1475
msgid "Missing Field"
msgstr ""
@@ -19481,8 +19588,8 @@ msgstr ""
msgid "Mobile"
msgstr ""
-#: tests/test_translate.py:86 tests/test_translate.py:89
-#: tests/test_translate.py:91 tests/test_translate.py:94
+#: tests/test_translate.py:85 tests/test_translate.py:88
+#: tests/test_translate.py:90 tests/test_translate.py:93
msgid "Mobile No"
msgstr ""
@@ -19791,7 +19898,7 @@ msgctxt "Print Settings"
msgid "Monospace"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:268
+#: public/js/frappe/views/calendar/calendar.js:269
msgid "Month"
msgstr ""
@@ -19924,7 +20031,7 @@ msgstr ""
msgid "Most Used"
msgstr ""
-#: utils/password.py:65
+#: utils/password.py:64
msgid "Most probably your password is too long."
msgstr ""
@@ -20226,12 +20333,12 @@ msgstr ""
msgid "Navigate Home"
msgstr ""
-#: public/js/frappe/list/list_view.js:1134
+#: public/js/frappe/list/list_view.js:1132
msgctxt "Description of a list view shortcut"
msgid "Navigate list down"
msgstr ""
-#: public/js/frappe/list/list_view.js:1141
+#: public/js/frappe/list/list_view.js:1139
msgctxt "Description of a list view shortcut"
msgid "Navigate list up"
msgstr ""
@@ -20254,7 +20361,7 @@ msgstr ""
msgid "Need Workspace Manager role to hide/unhide public workspaces"
msgstr ""
-#: model/document.py:606
+#: model/document.py:622
msgid "Negative Value"
msgstr ""
@@ -20318,7 +20425,7 @@ msgstr ""
msgid "New Custom Block"
msgstr ""
-#: printing/page/print/print.js:288 printing/page/print/print.js:335
+#: printing/page/print/print.js:295 printing/page/print/print.js:342
msgid "New Custom Print Format"
msgstr ""
@@ -20392,11 +20499,11 @@ msgstr ""
msgid "New Onboarding"
msgstr ""
-#: core/doctype/user/user.js:160 www/update-password.html:19
+#: core/doctype/user/user.js:161 www/update-password.html:19
msgid "New Password"
msgstr ""
-#: printing/page/print/print.js:260 printing/page/print/print.js:314
+#: printing/page/print/print.js:267 printing/page/print/print.js:321
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:61
msgid "New Print Format Name"
msgstr ""
@@ -20405,7 +20512,7 @@ msgstr ""
msgid "New Quick List"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1310
+#: public/js/frappe/views/reports/report_view.js:1312
msgid "New Report name"
msgstr ""
@@ -20482,7 +20589,7 @@ msgstr ""
msgid "New {} releases for the following apps are available"
msgstr ""
-#: core/doctype/user/user.py:790
+#: core/doctype/user/user.py:794
msgid "Newly created user {0} has no roles enabled."
msgstr ""
@@ -20537,7 +20644,7 @@ msgstr ""
#: public/js/frappe/web_form/web_form.js:91
#: public/js/onboarding_tours/onboarding_tours.js:15
#: public/js/onboarding_tours/onboarding_tours.js:240
-#: templates/includes/slideshow.html:38 website/utils.py:247
+#: templates/includes/slideshow.html:38 website/utils.py:245
#: website/web_template/slideshow/slideshow.html:44
msgid "Next"
msgstr ""
@@ -20619,7 +20726,7 @@ msgctxt "Form Tour Step"
msgid "Next on Click"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:341
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -20729,7 +20836,7 @@ msgstr ""
msgid "No Google Calendar Event to sync."
msgstr ""
-#: public/js/frappe/ui/capture.js:254
+#: public/js/frappe/ui/capture.js:262
msgid "No Images"
msgstr ""
@@ -20745,7 +20852,7 @@ msgstr ""
msgid "No Label"
msgstr ""
-#: printing/page/print/print.js:675 printing/page/print/print.js:757
+#: printing/page/print/print.js:682 printing/page/print/print.js:764
#: public/js/frappe/list/bulk_operations.js:82
#: public/js/frappe/list/bulk_operations.js:126 utils/weasyprint.py:52
msgid "No Letterhead"
@@ -20759,7 +20866,7 @@ msgstr ""
msgid "No New notifications"
msgstr ""
-#: core/doctype/doctype/doctype.py:1678
+#: core/doctype/doctype/doctype.py:1722
msgid "No Permissions Specified"
msgstr ""
@@ -20779,11 +20886,11 @@ msgstr ""
msgid "No Preview"
msgstr ""
-#: printing/page/print/print.js:679
+#: printing/page/print/print.js:686
msgid "No Preview Available"
msgstr ""
-#: printing/page/print/print.js:835
+#: printing/page/print/print.js:842
msgid "No Printer is Available."
msgstr ""
@@ -20799,7 +20906,7 @@ msgstr ""
msgid "No Results found"
msgstr ""
-#: core/doctype/user/user.py:791
+#: core/doctype/user/user.py:795
msgid "No Roles Specified"
msgstr ""
@@ -20923,7 +21030,7 @@ msgstr ""
msgid "No new Google Contacts synced."
msgstr ""
-#: public/js/frappe/ui/toolbar/navbar.html:41
+#: public/js/frappe/ui/toolbar/navbar.html:46
msgid "No new notifications"
msgstr ""
@@ -20949,7 +21056,7 @@ msgctxt "SMS Log"
msgid "No of Sent SMS"
msgstr ""
-#: __init__.py:1115 client.py:109 client.py:151
+#: __init__.py:1119 client.py:109 client.py:151
msgid "No permission for {0}"
msgstr ""
@@ -20982,7 +21089,7 @@ msgstr ""
msgid "No records will be exported"
msgstr ""
-#: www/printview.py:436
+#: www/printview.py:442
msgid "No template found at path: {0}"
msgstr ""
@@ -21010,7 +21117,12 @@ msgstr ""
msgid "No {0} mail"
msgstr ""
-#: public/js/form_builder/utils.js:117 public/js/frappe/form/grid_row.js:251
+#: public/js/form_builder/utils.js:117
+msgid "No."
+msgstr ""
+
+#: public/js/frappe/form/grid_row.js:252
+msgctxt "Title of the 'row number' column"
msgid "No."
msgstr ""
@@ -21055,7 +21167,7 @@ msgctxt "Recorder Query"
msgid "Normalized Query"
msgstr ""
-#: core/doctype/user/user.py:996 templates/includes/login/login.js:258
+#: core/doctype/user/user.py:1000 templates/includes/login/login.js:258
#: utils/oauth.py:265
msgid "Not Allowed"
msgstr ""
@@ -21076,7 +21188,7 @@ msgstr ""
msgid "Not Equals"
msgstr ""
-#: app.py:361 www/404.html:3
+#: app.py:362 www/404.html:3
msgid "Not Found"
msgstr ""
@@ -21104,7 +21216,7 @@ msgctxt "DocField"
msgid "Not Nullable"
msgstr ""
-#: __init__.py:1011 app.py:352 desk/calendar.py:26 geo/utils.py:97
+#: __init__.py:1015 app.py:353 desk/calendar.py:26 geo/utils.py:97
#: public/js/frappe/web_form/webform_script.js:15
#: website/doctype/web_form/web_form.py:602
#: website/page_renderers/not_permitted_page.py:20 www/login.py:174
@@ -21164,7 +21276,7 @@ msgstr ""
msgid "Not a valid Comma Separated Value (CSV File)"
msgstr ""
-#: core/doctype/user/user.py:227
+#: core/doctype/user/user.py:231
msgid "Not a valid User Image."
msgstr ""
@@ -21184,7 +21296,7 @@ msgstr ""
msgid "Not allowed for {0}: {1}"
msgstr ""
-#: email/doctype/notification/notification.py:388
+#: email/doctype/notification/notification.py:391
msgid "Not allowed to attach {0} document, please enable Allow Print For {0} in Print Settings"
msgstr ""
@@ -21286,6 +21398,10 @@ msgctxt "System Settings"
msgid "Note: Multiple sessions will be allowed in case of mobile device"
msgstr ""
+#: core/doctype/user/user.js:361
+msgid "Note: This will be shared with user."
+msgstr ""
+
#: website/web_form/request_to_delete_data/request_to_delete_data.js:8
msgid "Note: Your request for account deletion will be fulfilled within {0} hours."
msgstr ""
@@ -21524,7 +21640,7 @@ msgctxt "Recorder"
msgid "Number of Queries"
msgstr ""
-#: core/doctype/doctype/doctype.py:439 public/js/frappe/doctype/index.js:59
+#: core/doctype/doctype/doctype.py:441 public/js/frappe/doctype/index.js:59
msgid "Number of attachment fields are more than {}, limit updated to {}."
msgstr ""
@@ -21637,11 +21753,11 @@ msgctxt "System Settings"
msgid "OTP Issuer Name"
msgstr ""
-#: twofactor.py:460
+#: twofactor.py:461
msgid "OTP Secret Reset - {0}"
msgstr ""
-#: twofactor.py:479
+#: twofactor.py:480
msgid "OTP Secret has been reset. Re-registration will be required on next login."
msgstr ""
@@ -21688,7 +21804,7 @@ msgstr ""
msgid "Old Password"
msgstr ""
-#: custom/doctype/custom_field/custom_field.py:361
+#: custom/doctype/custom_field/custom_field.py:362
msgid "Old and new fieldnames are same."
msgstr ""
@@ -21730,7 +21846,7 @@ msgctxt "Webhook"
msgid "On checking this option, URL will be treated like a jinja template string"
msgstr ""
-#: public/js/frappe/views/communication.js:893
+#: public/js/frappe/views/communication.js:920
msgid "On {0}, {1} wrote:"
msgstr ""
@@ -21789,7 +21905,7 @@ msgstr ""
msgid "One Last Step"
msgstr ""
-#: twofactor.py:277
+#: twofactor.py:278
msgid "One Time Password (OTP) Registration Code from {}"
msgstr ""
@@ -21827,7 +21943,7 @@ msgctxt "Workflow Document State"
msgid "Only Allow Edit For"
msgstr ""
-#: core/doctype/doctype/doctype.py:1555
+#: core/doctype/doctype/doctype.py:1557
msgid "Only Options allowed for Data field are:"
msgstr ""
@@ -21991,7 +22107,7 @@ msgstr ""
msgid "Open a module or tool"
msgstr ""
-#: public/js/frappe/list/list_view.js:1187
+#: public/js/frappe/list/list_view.js:1185
msgctxt "Description of a list view shortcut"
msgid "Open list item"
msgstr ""
@@ -22037,7 +22153,7 @@ msgctxt "Activity Log"
msgid "Operation"
msgstr ""
-#: utils/data.py:2038
+#: utils/data.py:2042
msgid "Operator must be one of {0}"
msgstr ""
@@ -22061,7 +22177,7 @@ msgstr ""
msgid "Option 3"
msgstr ""
-#: core/doctype/doctype/doctype.py:1573
+#: core/doctype/doctype/doctype.py:1575
msgid "Option {0} for field {1} is not a child table"
msgstr ""
@@ -22123,7 +22239,7 @@ msgctxt "Web Template Field"
msgid "Options"
msgstr ""
-#: core/doctype/doctype/doctype.py:1313
+#: core/doctype/doctype/doctype.py:1315
msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'"
msgstr ""
@@ -22133,7 +22249,7 @@ msgctxt "Custom Field"
msgid "Options Help"
msgstr ""
-#: core/doctype/doctype/doctype.py:1595
+#: core/doctype/doctype/doctype.py:1597
msgid "Options for Rating field can range from 3 to 10"
msgstr ""
@@ -22141,7 +22257,7 @@ msgstr ""
msgid "Options for select. Each option on a new line."
msgstr ""
-#: core/doctype/doctype/doctype.py:1330
+#: core/doctype/doctype/doctype.py:1332
msgid "Options for {0} must be set before setting the default value."
msgstr ""
@@ -22319,11 +22435,11 @@ msgstr ""
msgid "PDF generation failed"
msgstr ""
-#: utils/pdf.py:93
+#: utils/pdf.py:97
msgid "PDF generation failed because of broken image links"
msgstr ""
-#: printing/page/print/print.js:524
+#: printing/page/print/print.js:531
msgid "PDF printing via \"Raw Print\" is not supported."
msgstr ""
@@ -22599,7 +22715,7 @@ msgctxt "Form Tour Step"
msgid "Parent Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:912
+#: core/doctype/doctype/doctype.py:914
msgid "Parent Field (Tree)"
msgstr ""
@@ -22609,7 +22725,7 @@ msgctxt "DocType"
msgid "Parent Field (Tree)"
msgstr ""
-#: core/doctype/doctype/doctype.py:918
+#: core/doctype/doctype/doctype.py:920
msgid "Parent Field must be a valid fieldname"
msgstr ""
@@ -22619,7 +22735,7 @@ msgctxt "Top Bar Item"
msgid "Parent Label"
msgstr ""
-#: core/doctype/doctype/doctype.py:1144
+#: core/doctype/doctype/doctype.py:1146
msgid "Parent Missing"
msgstr ""
@@ -22683,8 +22799,8 @@ msgctxt "Contact"
msgid "Passive"
msgstr ""
-#: core/doctype/user/user.js:147 core/doctype/user/user.js:194
-#: core/doctype/user/user.js:214 desk/page/setup_wizard/setup_wizard.js:474
+#: core/doctype/user/user.js:148 core/doctype/user/user.js:195
+#: core/doctype/user/user.js:215 desk/page/setup_wizard/setup_wizard.js:474
#: www/login.html:21
msgid "Password"
msgstr ""
@@ -22726,11 +22842,11 @@ msgctxt "Web Form Field"
msgid "Password"
msgstr ""
-#: core/doctype/user/user.py:1059
+#: core/doctype/user/user.py:1063
msgid "Password Email Sent"
msgstr ""
-#: core/doctype/user/user.py:447
+#: core/doctype/user/user.py:451
msgid "Password Reset"
msgstr ""
@@ -22740,7 +22856,7 @@ msgctxt "System Settings"
msgid "Password Reset Link Generation Limit"
msgstr ""
-#: public/js/frappe/form/grid_row.js:810
+#: public/js/frappe/form/grid_row.js:811
msgid "Password cannot be filtered"
msgstr ""
@@ -22762,11 +22878,11 @@ msgstr ""
msgid "Password missing in Email Account"
msgstr ""
-#: utils/password.py:42
+#: utils/password.py:41
msgid "Password not found for {0} {1} {2}"
msgstr ""
-#: core/doctype/user/user.py:1058
+#: core/doctype/user/user.py:1062
msgid "Password reset instructions have been sent to your email"
msgstr ""
@@ -22778,7 +22894,7 @@ msgstr ""
msgid "Password size exceeded the maximum allowed size"
msgstr ""
-#: core/doctype/user/user.py:854
+#: core/doctype/user/user.py:858
msgid "Password size exceeded the maximum allowed size."
msgstr ""
@@ -22786,7 +22902,7 @@ msgstr ""
msgid "Passwords do not match"
msgstr ""
-#: core/doctype/user/user.js:180
+#: core/doctype/user/user.js:181
msgid "Passwords do not match!"
msgstr ""
@@ -23017,7 +23133,7 @@ msgid "Permission Type"
msgstr ""
#. Label of a Card Break in the Users Workspace
-#: core/doctype/user/user.js:122 core/doctype/user/user.js:131
+#: core/doctype/user/user.js:123 core/doctype/user/user.js:132
#: core/page/permission_manager/permission_manager.js:214
#: core/workspace/users/users.json
msgid "Permissions"
@@ -23059,7 +23175,7 @@ msgctxt "System Settings"
msgid "Permissions"
msgstr ""
-#: core/doctype/doctype/doctype.py:1769 core/doctype/doctype/doctype.py:1779
+#: core/doctype/doctype/doctype.py:1813 core/doctype/doctype/doctype.py:1823
msgid "Permissions Error"
msgstr ""
@@ -23182,8 +23298,8 @@ msgid "Phone Number {0} set in field {1} is not valid."
msgstr ""
#: public/js/frappe/form/print_utils.js:38
-#: public/js/frappe/views/reports/report_view.js:1504
-#: public/js/frappe/views/reports/report_view.js:1507
+#: public/js/frappe/views/reports/report_view.js:1506
+#: public/js/frappe/views/reports/report_view.js:1509
msgid "Pick Columns"
msgstr ""
@@ -23227,7 +23343,7 @@ msgstr ""
msgid "Please Authorize OAuth for Email Account {}"
msgstr ""
-#: website/doctype/website_theme/website_theme.py:76
+#: website/doctype/website_theme/website_theme.py:77
msgid "Please Duplicate this Website Theme to customize."
msgstr ""
@@ -23251,7 +23367,7 @@ msgstr ""
msgid "Please add a valid comment."
msgstr ""
-#: core/doctype/user/user.py:1041
+#: core/doctype/user/user.py:1045
msgid "Please ask your administrator to verify your sign-up"
msgstr ""
@@ -23283,7 +23399,7 @@ msgstr ""
msgid "Please check the value of \"Fetch From\" set for field {0}"
msgstr ""
-#: core/doctype/user/user.py:1039
+#: core/doctype/user/user.py:1043
msgid "Please check your email for verification"
msgstr ""
@@ -23291,7 +23407,7 @@ msgstr ""
msgid "Please check your email login credentials."
msgstr ""
-#: twofactor.py:242
+#: twofactor.py:243
msgid "Please check your registered email address for instructions on how to proceed. Do not close this window as you will have to return to it."
msgstr ""
@@ -23299,7 +23415,7 @@ msgstr ""
msgid "Please click on 'Export Errored Rows', fix the errors and import again."
msgstr ""
-#: twofactor.py:285
+#: twofactor.py:286
msgid "Please click on the following link and follow the instructions on the page. {0}"
msgstr ""
@@ -23341,7 +23457,7 @@ msgstr ""
#: desk/doctype/notification_log/notification_log.js:45
#: email/doctype/auto_email_report/auto_email_report.js:17
-#: printing/page/print/print.js:611 printing/page/print/print.js:640
+#: printing/page/print/print.js:618 printing/page/print/print.js:647
#: public/js/frappe/list/bulk_operations.js:117
#: public/js/frappe/utils/utils.js:1417
msgid "Please enable pop-ups"
@@ -23428,11 +23544,11 @@ msgstr ""
msgid "Please make sure the Reference Communication Docs are not circularly linked."
msgstr ""
-#: model/document.py:799
+#: model/document.py:815
msgid "Please refresh to get the latest document."
msgstr ""
-#: printing/page/print/print.js:525
+#: printing/page/print/print.js:532
msgid "Please remove the printer mapping in Printer Settings and try again."
msgstr ""
@@ -23452,7 +23568,7 @@ msgstr ""
msgid "Please save the document before removing assignment"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1614
+#: public/js/frappe/views/reports/report_view.js:1616
msgid "Please save the report first"
msgstr ""
@@ -23492,7 +23608,7 @@ msgstr ""
msgid "Please select a valid csv file with data"
msgstr ""
-#: utils/data.py:286
+#: utils/data.py:289
msgid "Please select a valid date filter"
msgstr ""
@@ -23527,11 +23643,11 @@ msgstr ""
msgid "Please set Dropbox access keys in site config or doctype"
msgstr ""
-#: contacts/doctype/contact/contact.py:201
+#: contacts/doctype/contact/contact.py:202
msgid "Please set Email Address"
msgstr ""
-#: printing/page/print/print.js:539
+#: printing/page/print/print.js:546
msgid "Please set a printer mapping for this print format in the Printer Settings"
msgstr ""
@@ -23567,7 +23683,7 @@ msgstr ""
msgid "Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: core/doctype/user/user.py:398
+#: core/doctype/user/user.py:402
msgid "Please setup default outgoing Email Account from Settings > Email Account"
msgstr ""
@@ -23759,7 +23875,7 @@ msgctxt "Web Form Field"
msgid "Precision"
msgstr ""
-#: core/doctype/doctype/doctype.py:1347
+#: core/doctype/doctype/doctype.py:1349
msgid "Precision should be between 1 and 6"
msgstr ""
@@ -23815,7 +23931,7 @@ msgstr ""
msgid "Preparing Report"
msgstr ""
-#: public/js/frappe/views/communication.js:363
+#: public/js/frappe/views/communication.js:388
msgid "Prepend the template to the email message"
msgstr ""
@@ -23831,7 +23947,7 @@ msgstr ""
#: email/doctype/newsletter/newsletter.js:42
#: public/js/frappe/form/controls/markdown_editor.js:17
#: public/js/frappe/form/controls/markdown_editor.js:31
-#: public/js/frappe/ui/capture.js:228
+#: public/js/frappe/ui/capture.js:236
msgid "Preview"
msgstr ""
@@ -23967,12 +24083,12 @@ msgstr ""
#: public/js/frappe/form/toolbar.js:321 public/js/frappe/form/toolbar.js:333
#: public/js/frappe/list/bulk_operations.js:79
#: public/js/frappe/views/reports/query_report.js:1626
-#: public/js/frappe/views/reports/report_view.js:1463
+#: public/js/frappe/views/reports/report_view.js:1465
#: public/js/frappe/views/treeview.js:473 www/printview.html:18
msgid "Print"
msgstr ""
-#: public/js/frappe/list/list_view.js:1873
+#: public/js/frappe/list/list_view.js:1880
msgctxt "Button in list view actions menu"
msgid "Print"
msgstr ""
@@ -23995,7 +24111,7 @@ msgstr ""
#. Name of a DocType
#: printing/doctype/print_format/print_format.json
-#: printing/page/print/print.js:94 printing/page/print/print.js:794
+#: printing/page/print/print.js:94 printing/page/print/print.js:801
#: public/js/frappe/list/bulk_operations.js:50
msgid "Print Format"
msgstr ""
@@ -24062,7 +24178,7 @@ msgctxt "Print Format"
msgid "Print Format Builder Beta"
msgstr ""
-#: utils/pdf.py:52
+#: utils/pdf.py:56
msgid "Print Format Error"
msgstr ""
@@ -24083,7 +24199,7 @@ msgctxt "Print Format"
msgid "Print Format Type"
msgstr ""
-#: www/printview.py:418
+#: www/printview.py:424
msgid "Print Format {0} is disabled"
msgstr ""
@@ -24141,6 +24257,10 @@ msgctxt "DocField"
msgid "Print Hide If No Value"
msgstr ""
+#: public/js/frappe/views/communication.js:153
+msgid "Print Language"
+msgstr ""
+
#: public/js/frappe/form/print_utils.js:195
msgid "Print Sent to the printer!"
msgstr ""
@@ -24230,11 +24350,11 @@ msgctxt "Print Settings"
msgid "Print with letterhead"
msgstr ""
-#: printing/page/print/print.js:803
+#: printing/page/print/print.js:810
msgid "Printer"
msgstr ""
-#: printing/page/print/print.js:780
+#: printing/page/print/print.js:787
msgid "Printer Mapping"
msgstr ""
@@ -24244,11 +24364,11 @@ msgctxt "Network Printer Settings"
msgid "Printer Name"
msgstr ""
-#: printing/page/print/print.js:772
+#: printing/page/print/print.js:779
msgid "Printer Settings"
msgstr ""
-#: printing/page/print/print.js:538
+#: printing/page/print/print.js:545
msgid "Printer mapping not set."
msgstr ""
@@ -24452,7 +24572,7 @@ msgid "Public"
msgstr ""
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Publish"
msgstr ""
@@ -24594,6 +24714,22 @@ msgctxt "Kanban Board Column"
msgid "Purple"
msgstr ""
+#. Name of a DocType
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Link in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgctxt "Push Notification Settings"
+msgid "Push Notification Settings"
+msgstr ""
+
+#. Label of a Card Break in the Integrations Workspace
+#: integrations/workspace/integrations/integrations.json
+msgid "Push Notifications"
+msgstr ""
+
#. Label of a Check field in DocType 'Google Calendar'
#: integrations/doctype/google_calendar/google_calendar.json
msgctxt "Google Calendar"
@@ -24729,7 +24865,7 @@ msgctxt "DocType"
msgid "Queue in Background (BETA)"
msgstr ""
-#: utils/background_jobs.py:428
+#: utils/background_jobs.py:452
msgid "Queue should be one of {0}"
msgstr ""
@@ -24956,7 +25092,7 @@ msgstr ""
#: core/doctype/communication/communication.js:268
#: public/js/frappe/form/footer/form_timeline.js:587
-#: public/js/frappe/views/communication.js:299
+#: public/js/frappe/views/communication.js:324
msgid "Re: {0}"
msgstr ""
@@ -25708,7 +25844,7 @@ msgstr ""
#: public/js/frappe/views/reports/query_report.js:1615
#: public/js/frappe/views/treeview.js:479
#: public/js/frappe/widgets/chart_widget.js:290
-#: public/js/frappe/widgets/number_card_widget.js:307
+#: public/js/frappe/widgets/number_card_widget.js:324
msgid "Refresh"
msgstr ""
@@ -25758,11 +25894,11 @@ msgid "Refreshing"
msgstr ""
#: core/doctype/system_settings/system_settings.js:52
-#: core/doctype/user/user.js:339 desk/page/setup_wizard/setup_wizard.js:204
+#: core/doctype/user/user.js:340 desk/page/setup_wizard/setup_wizard.js:204
msgid "Refreshing..."
msgstr ""
-#: core/doctype/user/user.py:1003
+#: core/doctype/user/user.py:1007
msgid "Registered but disabled"
msgstr ""
@@ -25778,6 +25914,16 @@ msgctxt "Translation"
msgid "Rejected"
msgstr ""
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:30
+msgid "Relay Server URL missing"
+msgstr ""
+
+#. Label of a Section Break field in DocType 'Push Notification Settings'
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
+msgctxt "Push Notification Settings"
+msgid "Relay Settings"
+msgstr ""
+
#. Group in Package's connections
#: core/doctype/package/package.json
msgctxt "Package"
@@ -25899,11 +26045,11 @@ msgstr ""
msgid "Remove column"
msgstr ""
-#: core/doctype/file/file.py:156
+#: core/doctype/file/file.py:155
msgid "Removed {0}"
msgstr ""
-#: custom/doctype/custom_field/custom_field.js:135
+#: custom/doctype/custom_field/custom_field.js:137
#: public/js/frappe/form/toolbar.js:234 public/js/frappe/form/toolbar.js:238
#: public/js/frappe/form/toolbar.js:398 public/js/frappe/model/model.js:742
#: public/js/frappe/views/treeview.js:295
@@ -25911,7 +26057,7 @@ msgid "Rename"
msgstr ""
#: custom/doctype/custom_field/custom_field.js:116
-#: custom/doctype/custom_field/custom_field.js:134
+#: custom/doctype/custom_field/custom_field.js:136
msgid "Rename Fieldname"
msgstr ""
@@ -25919,7 +26065,7 @@ msgstr ""
msgid "Rename {0}"
msgstr ""
-#: core/doctype/doctype/doctype.py:687
+#: core/doctype/doctype/doctype.py:689
msgid "Renamed files and replaced code in controllers, please check!"
msgstr ""
@@ -26226,7 +26372,7 @@ msgctxt "Report"
msgid "Report Type"
msgstr ""
-#: core/doctype/doctype/doctype.py:1744
+#: core/doctype/doctype/doctype.py:1788
msgid "Report cannot be set for Single types"
msgstr ""
@@ -26256,7 +26402,7 @@ msgstr ""
msgid "Report updated successfully"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1283
+#: public/js/frappe/views/reports/report_view.js:1285
msgid "Report was not saved (there were errors)"
msgstr ""
@@ -26439,7 +26585,7 @@ msgstr ""
msgid "Reset Fields"
msgstr ""
-#: core/doctype/user/user.js:154 core/doctype/user/user.js:157
+#: core/doctype/user/user.js:155 core/doctype/user/user.js:158
msgid "Reset LDAP Password"
msgstr ""
@@ -26447,11 +26593,11 @@ msgstr ""
msgid "Reset Layout"
msgstr ""
-#: core/doctype/user/user.js:205
+#: core/doctype/user/user.js:206
msgid "Reset OTP Secret"
msgstr ""
-#: core/doctype/user/user.js:138 www/login.html:179 www/me.html:35
+#: core/doctype/user/user.js:139 www/login.html:179 www/me.html:35
#: www/me.html:44 www/update-password.html:3 www/update-password.html:9
msgid "Reset Password"
msgstr ""
@@ -26486,7 +26632,7 @@ msgstr ""
msgid "Reset the password for your account"
msgstr ""
-#: public/js/frappe/form/grid_row.js:409
+#: public/js/frappe/form/grid_row.js:410
msgid "Reset to default"
msgstr ""
@@ -26900,7 +27046,7 @@ msgstr ""
msgid "Role Permissions Manager"
msgstr ""
-#: public/js/frappe/list/list_view.js:1650
+#: public/js/frappe/list/list_view.js:1657
msgctxt "Button in list view menu"
msgid "Role Permissions Manager"
msgstr ""
@@ -26946,7 +27092,7 @@ msgctxt "DocPerm"
msgid "Role and Level"
msgstr ""
-#: core/doctype/user/user.py:343
+#: core/doctype/user/user.py:347
msgid "Role has been set as per the user type {0}"
msgstr ""
@@ -27162,7 +27308,7 @@ msgctxt "Role"
msgid "Route: Example \"/desk\""
msgstr ""
-#: model/base_document.py:731 model/base_document.py:772 model/document.py:591
+#: model/base_document.py:731 model/base_document.py:772 model/document.py:607
msgid "Row"
msgstr ""
@@ -27170,7 +27316,7 @@ msgstr ""
msgid "Row #"
msgstr ""
-#: core/doctype/doctype/doctype.py:1766 core/doctype/doctype/doctype.py:1776
+#: core/doctype/doctype/doctype.py:1810 core/doctype/doctype/doctype.py:1820
msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype"
msgstr ""
@@ -27178,7 +27324,7 @@ msgstr ""
msgid "Row #{0}:"
msgstr ""
-#: core/doctype/doctype/doctype.py:488
+#: core/doctype/doctype/doctype.py:490
msgid "Row #{}: Fieldname is required"
msgstr ""
@@ -27476,7 +27622,7 @@ msgctxt "Salutation"
msgid "Salutation"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:110
+#: integrations/doctype/webhook/webhook.py:112
msgid "Same Field is entered more than once"
msgstr ""
@@ -27519,7 +27665,7 @@ msgstr ""
#: core/doctype/data_import/data_import.js:113
#: desk/page/user_profile/user_profile_controller.js:319
-#: printing/page/print/print.js:831
+#: printing/page/print/print.js:838
#: printing/page/print_format_builder/print_format_builder.js:160
#: public/js/frappe/form/footer/form_timeline.js:661
#: public/js/frappe/form/quick_entry.js:156
@@ -27532,7 +27678,7 @@ msgstr ""
#: public/js/frappe/views/kanban/kanban_settings.js:189
#: public/js/frappe/views/kanban/kanban_view.js:340
#: public/js/frappe/views/reports/query_report.js:1788
-#: public/js/frappe/views/reports/report_view.js:1631
+#: public/js/frappe/views/reports/report_view.js:1633
#: public/js/frappe/views/workspace/workspace.js:493
#: public/js/frappe/widgets/base_widget.js:140
#: public/js/frappe/widgets/quick_list_widget.js:117
@@ -27547,7 +27693,7 @@ msgctxt "Notification"
msgid "Save"
msgstr ""
-#: core/doctype/user/user.js:310
+#: core/doctype/user/user.js:311
msgid "Save API Secret: {0}"
msgstr ""
@@ -27555,8 +27701,8 @@ msgstr ""
msgid "Save Anyway"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1314
-#: public/js/frappe/views/reports/report_view.js:1638
+#: public/js/frappe/views/reports/report_view.js:1316
+#: public/js/frappe/views/reports/report_view.js:1640
msgid "Save As"
msgstr ""
@@ -27634,7 +27780,7 @@ msgstr ""
msgid "Schedule Newsletter"
msgstr ""
-#: public/js/frappe/views/communication.js:81
+#: public/js/frappe/views/communication.js:82
msgid "Schedule Send At"
msgstr ""
@@ -27716,7 +27862,7 @@ msgctxt "Newsletter"
msgid "Scheduled To Send"
msgstr ""
-#: core/doctype/server_script/server_script.py:277
+#: core/doctype/server_script/server_script.py:280
msgid "Scheduled execution for script {0} has updated"
msgstr ""
@@ -27910,7 +28056,7 @@ msgstr ""
msgid "Search Results for"
msgstr ""
-#: core/doctype/doctype/doctype.py:1414
+#: core/doctype/doctype/doctype.py:1416
msgid "Search field {0} is not valid"
msgstr ""
@@ -27928,7 +28074,7 @@ msgstr ""
msgid "Search in a document type"
msgstr ""
-#: public/js/frappe/ui/toolbar/navbar.html:24
+#: public/js/frappe/ui/toolbar/navbar.html:29
msgid "Search or type a command (Ctrl + G)"
msgstr ""
@@ -28066,7 +28212,7 @@ msgctxt "Note"
msgid "Seen By Table"
msgstr ""
-#: printing/page/print/print.js:592
+#: printing/page/print/print.js:599
msgid "Select"
msgstr ""
@@ -28129,8 +28275,8 @@ msgstr ""
msgid "Select All"
msgstr ""
-#: public/js/frappe/views/communication.js:150
-#: public/js/frappe/views/communication.js:529
+#: public/js/frappe/views/communication.js:162
+#: public/js/frappe/views/communication.js:555
#: public/js/frappe/views/interaction.js:93
#: public/js/frappe/views/interaction.js:155
msgid "Select Attachments"
@@ -28218,7 +28364,7 @@ msgstr ""
msgid "Select Field..."
msgstr ""
-#: public/js/frappe/form/grid_row.js:459
+#: public/js/frappe/form/grid_row.js:460
#: public/js/frappe/list/list_settings.js:233
#: public/js/frappe/views/kanban/kanban_settings.js:181
msgid "Select Fields"
@@ -28270,7 +28416,7 @@ msgstr ""
msgid "Select Module"
msgstr ""
-#: printing/page/print/print.js:175 printing/page/print/print.js:575
+#: printing/page/print/print.js:175 printing/page/print/print.js:582
msgid "Select Network Printer"
msgstr ""
@@ -28281,7 +28427,7 @@ msgid "Select Page"
msgstr ""
#: printing/page/print_format_builder_beta/print_format_builder_beta.js:68
-#: public/js/frappe/views/communication.js:144
+#: public/js/frappe/views/communication.js:145
msgid "Select Print Format"
msgstr ""
@@ -28327,11 +28473,11 @@ msgstr ""
msgid "Select a DocType to make a new format"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:131
+#: integrations/doctype/webhook/webhook.py:133
msgid "Select a document to check if it meets conditions."
msgstr ""
-#: integrations/doctype/webhook/webhook.py:143
+#: integrations/doctype/webhook/webhook.py:145
msgid "Select a document to preview request data"
msgstr ""
@@ -28339,11 +28485,11 @@ msgstr ""
msgid "Select a group node first."
msgstr ""
-#: core/doctype/doctype/doctype.py:1877
+#: core/doctype/doctype/doctype.py:1921
msgid "Select a valid Sender Field for creating documents from Email"
msgstr ""
-#: core/doctype/doctype/doctype.py:1861
+#: core/doctype/doctype/doctype.py:1905
msgid "Select a valid Subject field for creating documents from Email"
msgstr ""
@@ -28370,18 +28516,18 @@ msgstr ""
msgid "Select atleast 2 actions"
msgstr ""
-#: public/js/frappe/list/list_view.js:1201
+#: public/js/frappe/list/list_view.js:1199
msgctxt "Description of a list view shortcut"
msgid "Select list item"
msgstr ""
-#: public/js/frappe/list/list_view.js:1153
-#: public/js/frappe/list/list_view.js:1169
+#: public/js/frappe/list/list_view.js:1151
+#: public/js/frappe/list/list_view.js:1167
msgctxt "Description of a list view shortcut"
msgid "Select multiple list items"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:174
+#: public/js/frappe/views/calendar/calendar.js:175
msgid "Select or drag across time slots to create a new event."
msgstr ""
@@ -28528,7 +28674,7 @@ msgctxt "Print Settings"
msgid "Send Print as PDF"
msgstr ""
-#: public/js/frappe/views/communication.js:134
+#: public/js/frappe/views/communication.js:135
msgid "Send Read Receipt"
msgstr ""
@@ -28614,7 +28760,7 @@ msgstr ""
msgid "Send login link"
msgstr ""
-#: public/js/frappe/views/communication.js:128
+#: public/js/frappe/views/communication.js:129
msgid "Send me a copy"
msgstr ""
@@ -28694,7 +28840,7 @@ msgctxt "DocType"
msgid "Sender Email Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1880
+#: core/doctype/doctype/doctype.py:1924
msgid "Sender Field should have Email in options"
msgstr ""
@@ -28832,7 +28978,7 @@ msgstr ""
msgid "Series counter for {} updated to {} successfully"
msgstr ""
-#: core/doctype/doctype/doctype.py:1070
+#: core/doctype/doctype/doctype.py:1072
#: core/doctype/document_naming_settings/document_naming_settings.py:170
msgid "Series {0} already used in {1}"
msgstr ""
@@ -28933,7 +29079,7 @@ msgstr ""
msgid "Session Defaults Saved"
msgstr ""
-#: app.py:343
+#: app.py:344
msgid "Session Expired"
msgstr ""
@@ -28975,7 +29121,7 @@ msgstr ""
#: desk/doctype/dashboard_chart/dashboard_chart.js:381
#: desk/doctype/number_card/number_card.js:277
-#: website/doctype/web_form/web_form.js:260
+#: website/doctype/web_form/web_form.js:259
msgid "Set Filters"
msgstr ""
@@ -29035,7 +29181,7 @@ msgctxt "Role Permission for Page and Report"
msgid "Set Role For"
msgstr ""
-#: core/doctype/user/user.js:115
+#: core/doctype/user/user.js:116
#: core/page/permission_manager/permission_manager.js:65
msgid "Set User Permissions"
msgstr ""
@@ -29227,7 +29373,7 @@ msgid "Setup Approval Workflows"
msgstr ""
#: public/js/frappe/views/reports/query_report.js:1661
-#: public/js/frappe/views/reports/report_view.js:1609
+#: public/js/frappe/views/reports/report_view.js:1611
msgid "Setup Auto Email"
msgstr ""
@@ -29392,6 +29538,12 @@ msgstr ""
msgid "Show Dashboard"
msgstr ""
+#. Label of a Check field in DocType 'Custom Field'
+#: custom/doctype/custom_field/custom_field.json
+msgctxt "Custom Field"
+msgid "Show Dashboard"
+msgstr ""
+
#. Label of a Check field in DocType 'Customize Form Field'
#: custom/doctype/customize_form_field/customize_form_field.json
msgctxt "Customize Form Field"
@@ -29559,7 +29711,7 @@ msgid "Show Sidebar"
msgstr ""
#: public/js/frappe/list/list_sidebar.html:66
-#: public/js/frappe/list/list_view.js:1566
+#: public/js/frappe/list/list_view.js:1573
msgid "Show Tags"
msgstr ""
@@ -29581,7 +29733,7 @@ msgctxt "DocType"
msgid "Show Title in Link Fields"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1453
+#: public/js/frappe/views/reports/report_view.js:1455
msgid "Show Totals"
msgstr ""
@@ -29597,7 +29749,7 @@ msgstr ""
msgid "Show Warnings"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:184
+#: public/js/frappe/views/calendar/calendar.js:185
msgid "Show Weekends"
msgstr ""
@@ -29715,7 +29867,7 @@ msgctxt "Email Group"
msgid "Sign Up and Confirmation"
msgstr ""
-#: core/doctype/user/user.py:996
+#: core/doctype/user/user.py:1000
msgid "Sign Up is disabled"
msgstr ""
@@ -30024,11 +30176,11 @@ msgstr ""
msgid "Something went wrong."
msgstr ""
-#: public/js/frappe/views/pageview.js:110
+#: public/js/frappe/views/pageview.js:114
msgid "Sorry! I could not find what you were looking for."
msgstr ""
-#: public/js/frappe/views/pageview.js:118
+#: public/js/frappe/views/pageview.js:122
msgid "Sorry! You are not permitted to view this page."
msgstr ""
@@ -30070,7 +30222,7 @@ msgctxt "Customize Form"
msgid "Sort Order"
msgstr ""
-#: core/doctype/doctype/doctype.py:1497
+#: core/doctype/doctype/doctype.py:1499
msgid "Sort field {0} must be a valid fieldname"
msgstr ""
@@ -30226,6 +30378,10 @@ msgctxt "Portal Settings"
msgid "Standard Sidebar Menu"
msgstr ""
+#: website/doctype/web_form/web_form.js:30
+msgid "Standard Web Forms can not be modified, duplicate the Web Form instead."
+msgstr ""
+
#: website/doctype/web_page/web_page.js:92
msgid "Standard rich text editor with controls"
msgstr ""
@@ -30246,8 +30402,8 @@ msgstr ""
msgid "Standings"
msgstr ""
-#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:289
-#: printing/page/print/print.js:336
+#: core/doctype/recorder/recorder_list.js:87 printing/page/print/print.js:296
+#: printing/page/print/print.js:343
msgid "Start"
msgstr ""
@@ -30429,7 +30585,7 @@ msgid "Stats based on last week's performance (from {0} to {1})"
msgstr ""
#: core/doctype/data_import/data_import.js:489
-#: public/js/frappe/views/reports/report_view.js:911
+#: public/js/frappe/views/reports/report_view.js:913
msgid "Status"
msgstr ""
@@ -30682,7 +30838,7 @@ msgctxt "Website Settings"
msgid "Subdomain"
msgstr ""
-#: public/js/frappe/views/communication.js:103
+#: public/js/frappe/views/communication.js:104
#: public/js/frappe/views/inbox/inbox_view.js:63
msgid "Subject"
msgstr ""
@@ -30760,7 +30916,7 @@ msgctxt "DocType"
msgid "Subject Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1870
+#: core/doctype/doctype/doctype.py:1914
msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor"
msgstr ""
@@ -30772,13 +30928,13 @@ msgstr ""
#: core/doctype/user_permission/user_permission_list.js:138
#: public/js/frappe/form/quick_entry.js:193
#: public/js/frappe/form/sidebar/review.js:116
-#: public/js/frappe/ui/capture.js:299
+#: public/js/frappe/ui/capture.js:307
#: social/doctype/energy_point_log/energy_point_log.js:39
#: social/doctype/energy_point_settings/energy_point_settings.js:47
msgid "Submit"
msgstr ""
-#: public/js/frappe/list/list_view.js:1940
+#: public/js/frappe/list/list_view.js:1947
msgctxt "Button in list view actions menu"
msgid "Submit"
msgstr ""
@@ -30875,7 +31031,7 @@ msgstr ""
msgid "Submit this document to confirm"
msgstr ""
-#: public/js/frappe/list/list_view.js:1945
+#: public/js/frappe/list/list_view.js:1952
msgctxt "Title of confirmation dialog"
msgid "Submit {0} documents?"
msgstr ""
@@ -31055,7 +31211,7 @@ msgstr ""
msgid "Successfully updated {0} out of {1} records."
msgstr ""
-#: core/doctype/user/user.py:711
+#: core/doctype/user/user.py:715
msgid "Suggested Username: {0}"
msgstr ""
@@ -31119,7 +31275,7 @@ msgstr ""
msgid "Suspend Sending"
msgstr ""
-#: public/js/frappe/ui/capture.js:268
+#: public/js/frappe/ui/capture.js:276
msgid "Switch Camera"
msgstr ""
@@ -31131,7 +31287,7 @@ msgstr ""
msgid "Switch To Desk"
msgstr ""
-#: public/js/frappe/ui/capture.js:273
+#: public/js/frappe/ui/capture.js:281
msgid "Switching Camera"
msgstr ""
@@ -31198,7 +31354,7 @@ msgstr ""
msgid "Syncing {0} of {1}"
msgstr ""
-#: utils/data.py:2403
+#: utils/data.py:2407
msgid "Syntax Error"
msgstr ""
@@ -31213,7 +31369,7 @@ msgstr ""
msgid "System Console"
msgstr ""
-#: custom/doctype/custom_field/custom_field.py:357
+#: custom/doctype/custom_field/custom_field.py:358
msgid "System Generated Fields can not be renamed"
msgstr ""
@@ -31323,6 +31479,7 @@ msgstr ""
#: integrations/doctype/oauth_bearer_token/oauth_bearer_token.json
#: integrations/doctype/oauth_client/oauth_client.json
#: integrations/doctype/oauth_provider_settings/oauth_provider_settings.json
+#: integrations/doctype/push_notification_settings/push_notification_settings.json
#: integrations/doctype/s3_backup_settings/s3_backup_settings.json
#: integrations/doctype/slack_webhook_url/slack_webhook_url.json
#: integrations/doctype/social_login_key/social_login_key.json
@@ -31461,7 +31618,7 @@ msgctxt "DocType Link"
msgid "Table Fieldname"
msgstr ""
-#: core/doctype/doctype/doctype.py:1150
+#: core/doctype/doctype/doctype.py:1152
msgid "Table Fieldname Missing"
msgstr ""
@@ -31493,7 +31650,7 @@ msgstr ""
msgid "Table updated"
msgstr ""
-#: model/document.py:1349
+#: model/document.py:1365
msgid "Table {0} cannot be empty"
msgstr ""
@@ -31531,7 +31688,7 @@ msgstr ""
msgid "Take Backup Now"
msgstr ""
-#: public/js/frappe/ui/capture.js:212
+#: public/js/frappe/ui/capture.js:220
msgid "Take Photo"
msgstr ""
@@ -31631,7 +31788,7 @@ msgstr ""
msgid "Templates"
msgstr ""
-#: core/doctype/user/user.py:1007
+#: core/doctype/user/user.py:1011
msgid "Temporarily Disabled"
msgstr ""
@@ -31639,7 +31796,7 @@ msgstr ""
msgid "Test email sent to {0}"
msgstr ""
-#: core/doctype/file/test_file.py:355
+#: core/doctype/file/test_file.py:360
msgid "Test_Folder"
msgstr ""
@@ -31760,10 +31917,14 @@ msgstr ""
msgid "The Condition '{0}' is invalid"
msgstr ""
-#: core/doctype/file/file.py:206
+#: core/doctype/file/file.py:205
msgid "The File URL you've entered is incorrect"
msgstr ""
+#: integrations/doctype/push_notification_settings/push_notification_settings.py:29
+msgid "The Push Relay Server URL key (`push_relay_server_url`) is missing in your site config"
+msgstr ""
+
#: website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:363
msgid "The User record for this request has been auto-deleted due to inactivity by system admins."
msgstr ""
@@ -31830,7 +31991,7 @@ msgstr ""
msgid "The field {0} is mandatory"
msgstr ""
-#: core/doctype/file/file.py:144
+#: core/doctype/file/file.py:143
msgid "The fieldname you've specified in Attached To Field is invalid"
msgstr ""
@@ -31909,15 +32070,15 @@ msgid ""
""
msgstr ""
-#: core/doctype/user/user.py:967
+#: core/doctype/user/user.py:971
msgid "The reset password link has been expired"
msgstr ""
-#: core/doctype/user/user.py:969
+#: core/doctype/user/user.py:973
msgid "The reset password link has either been used before or is invalid"
msgstr ""
-#: app.py:362 public/js/frappe/request.js:147
+#: app.py:363 public/js/frappe/request.js:147
msgid "The resource you are looking for is not available"
msgstr ""
@@ -31929,7 +32090,7 @@ msgstr ""
msgid "The selected document {0} is not a {1}."
msgstr ""
-#: utils/response.py:325
+#: utils/response.py:313
msgid "The system is being updated. Please refresh again after a few moments."
msgstr ""
@@ -31937,7 +32098,7 @@ msgstr ""
msgid "The system provides many pre-defined roles. You can add new roles to set finer permissions."
msgstr ""
-#: public/js/frappe/form/grid_row.js:635
+#: public/js/frappe/form/grid_row.js:636
msgid "The total column width cannot be more than 10."
msgstr ""
@@ -32011,12 +32172,12 @@ msgstr ""
msgid "There are {0} with the same filters already in the queue:"
msgstr ""
-#: website/doctype/web_form/web_form.js:72
-#: website/doctype/web_form/web_form.js:308
+#: website/doctype/web_form/web_form.js:71
+#: website/doctype/web_form/web_form.js:307
msgid "There can be only 9 Page Break fields in a Web Form"
msgstr ""
-#: core/doctype/doctype/doctype.py:1390
+#: core/doctype/doctype/doctype.py:1392
msgid "There can be only one Fold in a form"
msgstr ""
@@ -32028,7 +32189,7 @@ msgstr ""
msgid "There is no data to be exported"
msgstr ""
-#: core/doctype/file/file.py:570 utils/file_manager.py:372
+#: core/doctype/file/file.py:571 utils/file_manager.py:372
msgid "There is some problem with the file url: {0}"
msgstr ""
@@ -32040,7 +32201,7 @@ msgstr ""
msgid "There must be atleast one permission rule."
msgstr ""
-#: core/doctype/user/user.py:528
+#: core/doctype/user/user.py:532
msgid "There should remain at least one System Manager"
msgstr ""
@@ -32060,7 +32221,7 @@ msgstr ""
msgid "There were errors while creating the document. Please try again."
msgstr ""
-#: public/js/frappe/views/communication.js:770
+#: public/js/frappe/views/communication.js:797
msgid "There were errors while sending email. Please try again."
msgstr ""
@@ -32111,7 +32272,7 @@ msgstr ""
msgid "This Kanban Board will be private"
msgstr ""
-#: __init__.py:1007
+#: __init__.py:1011
msgid "This action is only allowed for {}"
msgstr ""
@@ -32151,7 +32312,7 @@ msgstr ""
msgid "This document is already amended, you cannot ammend it again"
msgstr ""
-#: model/document.py:1516
+#: model/document.py:1532
msgid "This document is currently locked and queued for execution. Please try again after some time."
msgstr ""
@@ -32255,7 +32416,7 @@ msgstr ""
msgid "This link is invalid or expired. Please make sure you have pasted correctly."
msgstr ""
-#: printing/page/print/print.js:403
+#: printing/page/print/print.js:410
msgid "This may get printed on multiple pages"
msgstr ""
@@ -32333,7 +32494,7 @@ msgstr ""
msgid "This will terminate the job immediately and might be dangerous, are you sure? "
msgstr ""
-#: core/doctype/user/user.py:1227
+#: core/doctype/user/user.py:1231
msgid "Throttled"
msgstr ""
@@ -32507,7 +32668,7 @@ msgstr ""
msgid "Time series based on is required to create a dashboard chart"
msgstr ""
-#: public/js/frappe/form/controls/time.js:104
+#: public/js/frappe/form/controls/time.js:107
msgid "Time {0} must be in format: {1}"
msgstr ""
@@ -32552,11 +32713,11 @@ msgctxt "Activity Log"
msgid "Timeline Name"
msgstr ""
-#: core/doctype/doctype/doctype.py:1485
+#: core/doctype/doctype/doctype.py:1487
msgid "Timeline field must be a Link or Dynamic Link"
msgstr ""
-#: core/doctype/doctype/doctype.py:1481
+#: core/doctype/doctype/doctype.py:1483
msgid "Timeline field must be a valid fieldname"
msgstr ""
@@ -32745,7 +32906,7 @@ msgctxt "Website Settings"
msgid "Title Prefix"
msgstr ""
-#: core/doctype/doctype/doctype.py:1422
+#: core/doctype/doctype/doctype.py:1424
msgid "Title field must be a valid fieldname"
msgstr ""
@@ -32753,7 +32914,7 @@ msgstr ""
msgid "Title of the page"
msgstr ""
-#: public/js/frappe/views/communication.js:52
+#: public/js/frappe/views/communication.js:53
#: public/js/frappe/views/inbox/inbox_view.js:70
msgid "To"
msgstr ""
@@ -32929,7 +33090,7 @@ msgid "ToDo"
msgstr ""
#: public/js/frappe/form/controls/date.js:58
-#: public/js/frappe/views/calendar/calendar.js:267
+#: public/js/frappe/views/calendar/calendar.js:268
msgid "Today"
msgstr ""
@@ -32937,7 +33098,7 @@ msgstr ""
msgid "Today's Events"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1495
+#: public/js/frappe/views/reports/report_view.js:1497
msgid "Toggle Chart"
msgstr ""
@@ -32952,11 +33113,11 @@ msgid "Toggle Grid View"
msgstr ""
#: public/js/frappe/ui/page.js:193 public/js/frappe/ui/page.js:195
-#: public/js/frappe/views/reports/report_view.js:1499
+#: public/js/frappe/views/reports/report_view.js:1501
msgid "Toggle Sidebar"
msgstr ""
-#: public/js/frappe/list/list_view.js:1681
+#: public/js/frappe/list/list_view.js:1688
msgctxt "Button in list view menu"
msgid "Toggle Sidebar"
msgstr ""
@@ -33018,7 +33179,7 @@ msgstr ""
msgid "Too many changes to database in single action."
msgstr ""
-#: core/doctype/user/user.py:1008
+#: core/doctype/user/user.py:1012
msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour"
msgstr ""
@@ -33097,7 +33258,7 @@ msgstr ""
msgid "Total"
msgstr ""
-#: public/js/frappe/ui/capture.js:251
+#: public/js/frappe/ui/capture.js:259
msgid "Total Images"
msgstr ""
@@ -33138,12 +33299,12 @@ msgctxt "Email Account"
msgid "Total number of emails to sync in initial sync process "
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1181
-#: public/js/frappe/views/reports/report_view.js:1477
+#: public/js/frappe/views/reports/report_view.js:1183
+#: public/js/frappe/views/reports/report_view.js:1479
msgid "Totals"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1156
+#: public/js/frappe/views/reports/report_view.js:1158
msgid "Totals Row"
msgstr ""
@@ -33336,7 +33497,7 @@ msgstr ""
msgid "Trigger Primary Action"
msgstr ""
-#: tests/test_translate.py:55
+#: tests/test_translate.py:54
msgid "Trigger caching"
msgstr ""
@@ -33356,8 +33517,8 @@ msgctxt "Document Naming Settings"
msgid "Try a Naming Series"
msgstr ""
-#: printing/page/print/print.js:188
-msgid "Try the new Print Format Builder"
+#: printing/page/print/print.js:189 printing/page/print/print.js:195
+msgid "Try the new Print Designer"
msgstr ""
#: utils/password_strength.py:106
@@ -33630,7 +33791,7 @@ msgctxt "DocType"
msgid "URL for documentation or help"
msgstr ""
-#: core/doctype/file/file.py:217
+#: core/doctype/file/file.py:216
msgid "URL must start with http:// or https://"
msgstr ""
@@ -33648,7 +33809,7 @@ msgstr ""
msgid "Unable to find DocType {0}"
msgstr ""
-#: public/js/frappe/ui/capture.js:330
+#: public/js/frappe/ui/capture.js:338
msgid "Unable to load camera."
msgstr ""
@@ -33660,19 +33821,19 @@ msgstr ""
msgid "Unable to open attached file. Did you export it as CSV?"
msgstr ""
-#: core/doctype/file/utils.py:99 core/doctype/file/utils.py:128
+#: core/doctype/file/utils.py:98 core/doctype/file/utils.py:130
msgid "Unable to read file format for {0}"
msgstr ""
-#: core/doctype/communication/email.py:173
+#: core/doctype/communication/email.py:176
msgid "Unable to send mail because of a missing email account. Please setup default Email Account from Settings > Email Account"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:439
+#: public/js/frappe/views/calendar/calendar.js:440
msgid "Unable to update event"
msgstr ""
-#: core/doctype/file/file.py:457
+#: core/doctype/file/file.py:458
msgid "Unable to write file format for {0}"
msgstr ""
@@ -33738,7 +33899,7 @@ msgstr ""
msgid "Unknown Column: {0}"
msgstr ""
-#: utils/data.py:1190
+#: utils/data.py:1193
msgid "Unknown Rounding Method: {}"
msgstr ""
@@ -33755,7 +33916,7 @@ msgid "Unlock Reference Document"
msgstr ""
#: website/doctype/blog_post/blog_post.js:36
-#: website/doctype/web_form/web_form.js:77
+#: website/doctype/web_form/web_form.js:76
msgid "Unpublish"
msgstr ""
@@ -33858,7 +34019,7 @@ msgstr ""
#: printing/page/print_format_builder/print_format_builder.js:501
#: printing/page/print_format_builder/print_format_builder.js:670
#: printing/page/print_format_builder/print_format_builder.js:757
-#: public/js/frappe/form/grid_row.js:402
+#: public/js/frappe/form/grid_row.js:403
#: public/js/frappe/views/workspace/workspace.js:653
msgid "Update"
msgstr ""
@@ -33973,7 +34134,7 @@ msgctxt "System Settings"
msgid "Updates"
msgstr ""
-#: utils/response.py:324
+#: utils/response.py:312
msgid "Updating"
msgstr ""
@@ -34145,7 +34306,7 @@ msgstr ""
msgid "Use of sub-query or function is restricted"
msgstr ""
-#: printing/page/print/print.js:272
+#: printing/page/print/print.js:279
msgid "Use the new Print Format Builder"
msgstr ""
@@ -34459,7 +34620,7 @@ msgctxt "User"
msgid "User Image"
msgstr ""
-#: public/js/frappe/ui/toolbar/navbar.html:109
+#: public/js/frappe/ui/toolbar/navbar.html:114
msgid "User Menu"
msgstr ""
@@ -34482,11 +34643,11 @@ msgstr ""
#: core/page/permission_manager/permission_manager_help.html:30
#: public/js/frappe/views/reports/query_report.js:1775
-#: public/js/frappe/views/reports/report_view.js:1657
+#: public/js/frappe/views/reports/report_view.js:1659
msgid "User Permissions"
msgstr ""
-#: public/js/frappe/list/list_view.js:1639
+#: public/js/frappe/list/list_view.js:1646
msgctxt "Button in list view menu"
msgid "User Permissions"
msgstr ""
@@ -34621,15 +34782,15 @@ msgstr ""
msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you."
msgstr ""
-#: core/doctype/user/user.py:533
+#: core/doctype/user/user.py:537
msgid "User {0} cannot be deleted"
msgstr ""
-#: core/doctype/user/user.py:272
+#: core/doctype/user/user.py:276
msgid "User {0} cannot be disabled"
msgstr ""
-#: core/doctype/user/user.py:593
+#: core/doctype/user/user.py:597
msgid "User {0} cannot be renamed"
msgstr ""
@@ -34646,6 +34807,10 @@ msgstr ""
msgid "User {0} has requested for data deletion"
msgstr ""
+#: core/doctype/user/user.py:1360
+msgid "User {0} impersonated as {1}"
+msgstr ""
+
#: utils/oauth.py:265
msgid "User {0} is disabled"
msgstr ""
@@ -34676,7 +34841,7 @@ msgctxt "User Social Login"
msgid "Username"
msgstr ""
-#: core/doctype/user/user.py:678
+#: core/doctype/user/user.py:682
msgid "Username {0} already exists"
msgstr ""
@@ -34757,7 +34922,7 @@ msgstr ""
#: public/js/frappe/list/bulk_operations.js:292
#: public/js/frappe/list/bulk_operations.js:354
#: public/js/frappe/list/list_view_permission_restrictions.html:4
-#: website/doctype/web_form/web_form.js:188
+#: website/doctype/web_form/web_form.js:187
msgid "Value"
msgstr ""
@@ -34834,15 +34999,15 @@ msgctxt "Notification"
msgid "Value To Be Set"
msgstr ""
-#: model/base_document.py:955 model/document.py:647
+#: model/base_document.py:955 model/document.py:663
msgid "Value cannot be changed for {0}"
msgstr ""
-#: model/document.py:593
+#: model/document.py:609
msgid "Value cannot be negative for"
msgstr ""
-#: model/document.py:597
+#: model/document.py:613
msgid "Value cannot be negative for {0}: {1}"
msgstr ""
@@ -34887,7 +35052,7 @@ msgstr ""
msgid "Value {0} missing for {1}"
msgstr ""
-#: core/doctype/data_import/importer.py:739 utils/data.py:858
+#: core/doctype/data_import/importer.py:739 utils/data.py:861
msgid "Value {0} must be in the valid duration format: d h m s"
msgstr ""
@@ -34905,7 +35070,7 @@ msgctxt "Print Settings"
msgid "Verdana"
msgstr ""
-#: twofactor.py:356
+#: twofactor.py:357
msgid "Verfication Code"
msgstr ""
@@ -34917,7 +35082,7 @@ msgstr ""
msgid "Verification code email not sent. Please contact Administrator."
msgstr ""
-#: twofactor.py:247
+#: twofactor.py:248
msgid "Verification code has been sent to your registered email address."
msgstr ""
@@ -34991,7 +35156,7 @@ msgstr ""
msgid "View Log"
msgstr ""
-#: core/doctype/user/user.js:126
+#: core/doctype/user/user.js:127
#: core/doctype/user_permission/user_permission.js:24
msgid "View Permitted Documents"
msgstr ""
@@ -35449,7 +35614,7 @@ msgctxt "DocType"
msgid "Website Search Field"
msgstr ""
-#: core/doctype/doctype/doctype.py:1469
+#: core/doctype/doctype/doctype.py:1471
msgid "Website Search Field must be a valid fieldname"
msgstr ""
@@ -35580,7 +35745,7 @@ msgctxt "System Settings"
msgid "Wednesday"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:269
+#: public/js/frappe/views/calendar/calendar.js:270
msgid "Week"
msgstr ""
@@ -35710,11 +35875,11 @@ msgstr ""
msgid "Welcome Workspace"
msgstr ""
-#: core/doctype/user/user.py:390
+#: core/doctype/user/user.py:394
msgid "Welcome email sent"
msgstr ""
-#: core/doctype/user/user.py:465
+#: core/doctype/user/user.py:469
msgid "Welcome to {0}"
msgstr ""
@@ -35872,7 +36037,7 @@ msgstr ""
#. Name of a DocType
#: workflow/doctype/workflow_action/workflow_action.json
-#: workflow/doctype/workflow_action/workflow_action.py:476
+#: workflow/doctype/workflow_action/workflow_action.py:438
msgid "Workflow Action"
msgstr ""
@@ -36204,8 +36369,8 @@ msgctxt "Kanban Board Column"
msgid "Yellow"
msgstr ""
-#: integrations/doctype/webhook/webhook.py:128
-#: integrations/doctype/webhook/webhook.py:138
+#: integrations/doctype/webhook/webhook.py:130
+#: integrations/doctype/webhook/webhook.py:140
#: public/js/form_builder/utils.js:336
#: public/js/frappe/form/controls/link.js:472
#: public/js/frappe/list/list_sidebar_group_by.js:223
@@ -36262,6 +36427,10 @@ msgstr ""
msgid "You are connected to internet."
msgstr ""
+#: public/js/frappe/ui/toolbar/navbar.html:20
+msgid "You are impersonating as another user."
+msgstr ""
+
#: permissions.py:413
msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in field {3}"
msgstr ""
@@ -36278,7 +36447,7 @@ msgstr ""
msgid "You are not allowed to delete Standard Report"
msgstr ""
-#: website/doctype/website_theme/website_theme.py:72
+#: website/doctype/website_theme/website_theme.py:73
msgid "You are not allowed to delete a standard Website Theme"
msgstr ""
@@ -36294,7 +36463,7 @@ msgstr ""
msgid "You are not allowed to print this report"
msgstr ""
-#: public/js/frappe/views/communication.js:715
+#: public/js/frappe/views/communication.js:741
msgid "You are not allowed to send emails related to this document"
msgstr ""
@@ -36314,7 +36483,7 @@ msgstr ""
msgid "You are not permitted to access this page."
msgstr ""
-#: __init__.py:927
+#: __init__.py:930
msgid "You are not permitted to access this resource."
msgstr ""
@@ -36367,7 +36536,7 @@ msgstr ""
msgid "You can continue with the onboarding after exploring this page"
msgstr ""
-#: core/doctype/file/file.py:683
+#: core/doctype/file/file.py:684
msgid "You can increase the limit from System Settings."
msgstr ""
@@ -36383,7 +36552,7 @@ msgstr ""
msgid "You can only set the 3 custom doctypes in the Document Types table."
msgstr ""
-#: handler.py:224
+#: handler.py:225
msgid "You can only upload JPG, PNG, PDF, TXT or Microsoft documents."
msgstr ""
@@ -36471,7 +36640,7 @@ msgstr ""
msgid "You do not have enough permissions to access this resource. Please contact your manager to get access."
msgstr ""
-#: app.py:353
+#: app.py:354
msgid "You do not have enough permissions to complete the action"
msgstr ""
@@ -36484,7 +36653,7 @@ msgstr ""
msgid "You do not have enough review points"
msgstr ""
-#: www/printview.py:370
+#: www/printview.py:376
msgid "You do not have permission to view this document"
msgstr ""
@@ -36500,7 +36669,7 @@ msgstr ""
msgid "You don't have permission to access the {0} DocType."
msgstr ""
-#: utils/response.py:265 utils/response.py:282
+#: utils/response.py:266 utils/response.py:270
msgid "You don't have permission to access this file"
msgstr ""
@@ -36540,7 +36709,7 @@ msgstr ""
msgid "You have received a ❤️ like on your blog post"
msgstr ""
-#: twofactor.py:447
+#: twofactor.py:448
msgid "You have to enable Two Factor Auth from System Settings."
msgstr ""
@@ -36548,7 +36717,7 @@ msgstr ""
msgid "You have unsaved changes in this form. Please save before you continue."
msgstr ""
-#: public/js/frappe/ui/toolbar/navbar.html:45
+#: public/js/frappe/ui/toolbar/navbar.html:50
msgid "You have unseen notifications"
msgstr ""
@@ -36685,7 +36854,7 @@ msgstr ""
msgid "Your account has been deleted"
msgstr ""
-#: auth.py:466
+#: auth.py:472
msgid "Your account has been locked and will resume after {0} seconds"
msgstr ""
@@ -36736,7 +36905,7 @@ msgstr ""
msgid "Your query has been received. We will reply back shortly. If you have any additional information, please reply to this mail."
msgstr ""
-#: app.py:344
+#: app.py:345
msgid "Your session has expired, please login again to continue."
msgstr ""
@@ -36753,7 +36922,7 @@ msgstr ""
msgid "Your website is all set up!"
msgstr ""
-#: utils/data.py:1493
+#: utils/data.py:1496
msgid "Zero"
msgstr ""
@@ -36780,7 +36949,7 @@ msgstr ""
msgid "`as_iterator` only works with `as_list=True` or `as_dict=True`"
msgstr ""
-#: utils/background_jobs.py:93
+#: utils/background_jobs.py:104
msgid "`job_id` paramater is required for deduplication."
msgstr ""
@@ -36831,7 +37000,7 @@ msgctxt "Permission Inspector"
msgid "amend"
msgstr ""
-#: public/js/frappe/utils/utils.js:396 utils/data.py:1501
+#: public/js/frappe/utils/utils.js:396 utils/data.py:1504
msgid "and"
msgstr ""
@@ -36888,7 +37057,7 @@ msgctxt "Workflow State"
msgid "barcode"
msgstr ""
-#: model/document.py:1320
+#: model/document.py:1336
msgid "beginning with"
msgstr ""
@@ -37576,7 +37745,7 @@ msgstr ""
msgid "logged in"
msgstr ""
-#: website/doctype/web_form/web_form.js:353
+#: website/doctype/web_form/web_form.js:352
msgid "login_required"
msgstr ""
@@ -37684,7 +37853,7 @@ msgctxt "OAuth Authorization Code"
msgid "nonce"
msgstr ""
-#: model/document.py:1319
+#: model/document.py:1335
msgid "none of"
msgstr ""
@@ -37768,11 +37937,11 @@ msgctxt "Webhook"
msgid "on_update_after_submit"
msgstr ""
-#: model/document.py:1318
+#: model/document.py:1334
msgid "one of"
msgstr ""
-#: public/js/frappe/utils/utils.js:393 www/login.html:87
+#: public/js/frappe/utils/utils.js:393 www/login.html:87 www/login.py:101
msgid "or"
msgstr ""
@@ -38088,19 +38257,19 @@ msgctxt "Workflow State"
msgid "signal"
msgstr ""
-#: public/js/frappe/widgets/number_card_widget.js:265
+#: public/js/frappe/widgets/number_card_widget.js:282
msgid "since last month"
msgstr ""
-#: public/js/frappe/widgets/number_card_widget.js:264
+#: public/js/frappe/widgets/number_card_widget.js:281
msgid "since last week"
msgstr ""
-#: public/js/frappe/widgets/number_card_widget.js:266
+#: public/js/frappe/widgets/number_card_widget.js:283
msgid "since last year"
msgstr ""
-#: public/js/frappe/widgets/number_card_widget.js:263
+#: public/js/frappe/widgets/number_card_widget.js:280
msgid "since yesterday"
msgstr ""
@@ -38232,7 +38401,7 @@ msgstr ""
msgid "this form"
msgstr ""
-#: tests/test_translate.py:158
+#: tests/test_translate.py:157
msgid "this shouldn't break"
msgstr ""
@@ -38436,7 +38605,7 @@ msgstr ""
msgid "{0} = {1}"
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:29
+#: public/js/frappe/views/calendar/calendar.js:30
msgid "{0} Calendar"
msgstr ""
@@ -38452,7 +38621,7 @@ msgstr ""
msgid "{0} Dashboard"
msgstr ""
-#: public/js/frappe/form/grid_row.js:456
+#: public/js/frappe/form/grid_row.js:457
#: public/js/frappe/list/list_settings.js:224
#: public/js/frappe/views/kanban/kanban_settings.js:178
msgid "{0} Fields"
@@ -38549,7 +38718,7 @@ msgstr ""
msgid "{0} already unsubscribed for {1} {2}"
msgstr ""
-#: utils/data.py:1684
+#: utils/data.py:1687
msgid "{0} and {1}"
msgstr ""
@@ -38738,7 +38907,7 @@ msgstr ""
msgid "{0} has left the conversation in {1} {2}"
msgstr ""
-#: __init__.py:2458
+#: __init__.py:2481
msgid "{0} has no versions tracked."
msgstr ""
@@ -38755,15 +38924,15 @@ msgstr ""
msgid "{0} in row {1} cannot have both URL and child items"
msgstr ""
-#: core/doctype/doctype/doctype.py:913
+#: core/doctype/doctype/doctype.py:915
msgid "{0} is a mandatory field"
msgstr ""
-#: core/doctype/file/file.py:502
+#: core/doctype/file/file.py:503
msgid "{0} is a not a valid zip file"
msgstr ""
-#: core/doctype/doctype/doctype.py:1553
+#: core/doctype/doctype/doctype.py:1555
msgid "{0} is an invalid Data field."
msgstr ""
@@ -38771,7 +38940,7 @@ msgstr ""
msgid "{0} is an invalid email address in 'Recipients'"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1394
+#: public/js/frappe/views/reports/report_view.js:1396
msgid "{0} is between {1} and {2}"
msgstr ""
@@ -38780,27 +38949,27 @@ msgstr ""
msgid "{0} is currently {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1363
+#: public/js/frappe/views/reports/report_view.js:1365
msgid "{0} is equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1383
+#: public/js/frappe/views/reports/report_view.js:1385
msgid "{0} is greater than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1373
+#: public/js/frappe/views/reports/report_view.js:1375
msgid "{0} is greater than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1388
+#: public/js/frappe/views/reports/report_view.js:1390
msgid "{0} is less than or equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1378
+#: public/js/frappe/views/reports/report_view.js:1380
msgid "{0} is less than {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1413
+#: public/js/frappe/views/reports/report_view.js:1415
msgid "{0} is like {1}"
msgstr ""
@@ -38812,14 +38981,18 @@ msgstr ""
msgid "{0} is not a field of doctype {1}"
msgstr ""
-#: www/printview.py:353
+#: www/printview.py:359
msgid "{0} is not a raw printing format."
msgstr ""
-#: public/js/frappe/views/calendar/calendar.js:81
+#: public/js/frappe/views/calendar/calendar.js:82
msgid "{0} is not a valid Calendar. Redirecting to default Calendar."
msgstr ""
+#: core/doctype/scheduled_job_type/scheduled_job_type.py:62
+msgid "{0} is not a valid Cron expression."
+msgstr ""
+
#: public/js/frappe/form/controls/dynamic_link.js:27
msgid "{0} is not a valid DocType for Dynamic Link"
msgstr ""
@@ -38852,23 +39025,23 @@ msgstr ""
msgid "{0} is not a valid report format. Report format should one of the following {1}"
msgstr ""
-#: core/doctype/file/file.py:482
+#: core/doctype/file/file.py:483
msgid "{0} is not a zip file"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1368
+#: public/js/frappe/views/reports/report_view.js:1370
msgid "{0} is not equal to {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1415
+#: public/js/frappe/views/reports/report_view.js:1417
msgid "{0} is not like {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1409
+#: public/js/frappe/views/reports/report_view.js:1411
msgid "{0} is not one of {1}"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1419
+#: public/js/frappe/views/reports/report_view.js:1421
msgid "{0} is not set"
msgstr ""
@@ -38876,7 +39049,7 @@ msgstr ""
msgid "{0} is now default print format for {1} doctype"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1402
+#: public/js/frappe/views/reports/report_view.js:1404
msgid "{0} is one of {1}"
msgstr ""
@@ -38885,18 +39058,22 @@ msgstr ""
msgid "{0} is required"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1418
+#: public/js/frappe/views/reports/report_view.js:1420
msgid "{0} is set"
msgstr ""
-#: public/js/frappe/views/reports/report_view.js:1397
+#: public/js/frappe/views/reports/report_view.js:1399
msgid "{0} is within {1}"
msgstr ""
-#: public/js/frappe/list/list_view.js:1556
+#: public/js/frappe/list/list_view.js:1563
msgid "{0} items selected"
msgstr ""
+#: core/doctype/user/user.py:1369
+msgid "{0} just impersonated as you. They gave this reason: {1}"
+msgstr ""
+
#: public/js/frappe/form/footer/form_timeline.js:150
#: public/js/frappe/form/sidebar/form_sidebar.js:96
msgid "{0} last edited this"
@@ -38914,7 +39091,7 @@ msgstr ""
msgid "{0} m"
msgstr ""
-#: desk/notifications.py:375
+#: desk/notifications.py:374
msgid "{0} mentioned you in a comment in {1} {2}"
msgstr ""
@@ -38926,7 +39103,7 @@ msgstr ""
msgid "{0} months ago"
msgstr ""
-#: model/document.py:1568
+#: model/document.py:1584
msgid "{0} must be after {1}"
msgstr ""
@@ -38960,11 +39137,11 @@ msgstr ""
msgid "{0} not found"
msgstr ""
-#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:956
+#: core/doctype/report/report.py:413 public/js/frappe/list/list_view.js:954
msgid "{0} of {1}"
msgstr ""
-#: public/js/frappe/list/list_view.js:958
+#: public/js/frappe/list/list_view.js:956
msgid "{0} of {1} ({2} rows with children)"
msgstr ""
@@ -38972,12 +39149,12 @@ msgstr ""
msgid "{0} of {1} sent"
msgstr ""
-#: utils/data.py:1504
+#: utils/data.py:1507
msgctxt "Money in words"
msgid "{0} only."
msgstr ""
-#: utils/data.py:1674
+#: utils/data.py:1677
msgid "{0} or {1}"
msgstr ""
@@ -39157,31 +39334,31 @@ msgstr ""
msgid "{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1735
+#: core/doctype/doctype/doctype.py:1779
msgid "{0}: Cannot set Amend without Cancel"
msgstr ""
-#: core/doctype/doctype/doctype.py:1753
+#: core/doctype/doctype/doctype.py:1797
msgid "{0}: Cannot set Assign Amend if not Submittable"
msgstr ""
-#: core/doctype/doctype/doctype.py:1751
+#: core/doctype/doctype/doctype.py:1795
msgid "{0}: Cannot set Assign Submit if not Submittable"
msgstr ""
-#: core/doctype/doctype/doctype.py:1730
+#: core/doctype/doctype/doctype.py:1774
msgid "{0}: Cannot set Cancel without Submit"
msgstr ""
-#: core/doctype/doctype/doctype.py:1737
+#: core/doctype/doctype/doctype.py:1781
msgid "{0}: Cannot set Import without Create"
msgstr ""
-#: core/doctype/doctype/doctype.py:1733
+#: core/doctype/doctype/doctype.py:1777
msgid "{0}: Cannot set Submit, Cancel, Amend without Write"
msgstr ""
-#: core/doctype/doctype/doctype.py:1757
+#: core/doctype/doctype/doctype.py:1801
msgid "{0}: Cannot set import as {1} is not importable"
msgstr ""
@@ -39189,43 +39366,43 @@ msgstr ""
msgid "{0}: Failed to attach new recurring document. To enable attaching document in the auto repeat notification email, enable {1} in Print Settings"
msgstr ""
-#: core/doctype/doctype/doctype.py:1373
+#: core/doctype/doctype/doctype.py:1375
msgid "{0}: Field '{1}' cannot be set as Unique as it has non-unique values"
msgstr ""
-#: core/doctype/doctype/doctype.py:1281
+#: core/doctype/doctype/doctype.py:1283
msgid "{0}: Field {1} in row {2} cannot be hidden and mandatory without default"
msgstr ""
-#: core/doctype/doctype/doctype.py:1240
+#: core/doctype/doctype/doctype.py:1242
msgid "{0}: Field {1} of type {2} cannot be mandatory"
msgstr ""
-#: core/doctype/doctype/doctype.py:1228
+#: core/doctype/doctype/doctype.py:1230
msgid "{0}: Fieldname {1} appears multiple times in rows {2}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1360
+#: core/doctype/doctype/doctype.py:1362
msgid "{0}: Fieldtype {1} for {2} cannot be unique"
msgstr ""
-#: core/doctype/doctype/doctype.py:1690
+#: core/doctype/doctype/doctype.py:1734
msgid "{0}: No basic permissions set"
msgstr ""
-#: core/doctype/doctype/doctype.py:1704
+#: core/doctype/doctype/doctype.py:1748
msgid "{0}: Only one rule allowed with the same Role, Level and {1}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1262
+#: core/doctype/doctype/doctype.py:1264
msgid "{0}: Options must be a valid DocType for field {1} in row {2}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1251
+#: core/doctype/doctype/doctype.py:1253
msgid "{0}: Options required for Link or Table type field {1} in row {2}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1269
+#: core/doctype/doctype/doctype.py:1271
msgid "{0}: Options {1} must be the same as doctype name {2} for the field {3}"
msgstr ""
@@ -39233,7 +39410,7 @@ msgstr ""
msgid "{0}: Other permission rules may also apply"
msgstr ""
-#: core/doctype/doctype/doctype.py:1719
+#: core/doctype/doctype/doctype.py:1763
msgid "{0}: Permission at level 0 must be set before higher levels are set"
msgstr ""
@@ -39241,12 +39418,12 @@ msgstr ""
msgid "{0}: You can increase the limit for the field if required via {1}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1215
+#: core/doctype/doctype/doctype.py:1217
msgid "{0}: fieldname cannot be set to reserved keyword {1}"
msgstr ""
#: contacts/doctype/address/address.js:35
-#: contacts/doctype/contact/contact.js:78
+#: contacts/doctype/contact/contact.js:83
#: public/js/frappe/views/workspace/workspace.js:169
msgid "{0}: {1}"
msgstr ""
@@ -39259,7 +39436,7 @@ msgstr ""
msgid "{0}: {1} vs {2}"
msgstr ""
-#: core/doctype/doctype/doctype.py:1381
+#: core/doctype/doctype/doctype.py:1383
msgid "{0}:Fieldtype {1} for {2} cannot be indexed"
msgstr ""
@@ -39279,7 +39456,7 @@ msgstr ""
msgid "{count} rows selected"
msgstr ""
-#: core/doctype/doctype/doctype.py:1435
+#: core/doctype/doctype/doctype.py:1437
msgid "{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}."
msgstr ""
@@ -39287,11 +39464,11 @@ msgstr ""
msgid "{} Complete"
msgstr ""
-#: utils/data.py:2397
+#: utils/data.py:2401
msgid "{} Invalid python code on line {}"
msgstr ""
-#: utils/data.py:2406
+#: utils/data.py:2410
msgid "{} Possibly invalid python code. list[frappe._dict]: + def get_list(**kwargs) -> list[frappe._dict]: """Similar to reportview.get_list""" ... @staticmethod - def get_count(args) -> int: + def get_count(**kwargs) -> int: """Similar to reportview.get_count, return total count of documents on listview.""" ... @staticmethod - def get_stats(args): + def get_stats(**kwargs): """Similar to reportview.get_stats, return sidebar stats.""" ... diff --git a/frappe/modules/utils.py b/frappe/modules/utils.py index 65e9effe7c..dda1b83732 100644 --- a/frappe/modules/utils.py +++ b/frappe/modules/utils.py @@ -295,24 +295,27 @@ def make_boilerplate( dedent( """ def db_insert(self, *args, **kwargs): - pass + raise NotImplementedError def load_from_db(self): - pass + raise NotImplementedError def db_update(self): + raise NotImplementedError + + def delete(self): + raise NotImplementedError + + @staticmethod + def get_list(filters=None, page_length=20, **kwargs): pass @staticmethod - def get_list(args): + def get_count(filters=None, **kwargs): pass @staticmethod - def get_count(args): - pass - - @staticmethod - def get_stats(args): + def get_stats(**kwargs): pass """ ), diff --git a/frappe/patches.txt b/frappe/patches.txt index f78d18d18d..36dc85102b 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -234,3 +234,5 @@ frappe.core.doctype.data_import.patches.remove_stale_docfields_from_legacy_versi frappe.patches.v15_0.validate_newsletter_recipients frappe.patches.v15_0.sanitize_workspace_titles frappe.patches.v15_0.migrate_role_profile_to_table_multi_select +frappe.patches.v15_0.migrate_session_data +frappe.custom.doctype.property_setter.patches.remove_invalid_fetch_from_expressions diff --git a/frappe/patches/v12_0/setup_tags.py b/frappe/patches/v12_0/setup_tags.py index cb0d46a45d..fb33043745 100644 --- a/frappe/patches/v12_0/setup_tags.py +++ b/frappe/patches/v12_0/setup_tags.py @@ -12,7 +12,7 @@ def execute(): tag_links = [] time = frappe.utils.get_datetime() - for doctype in frappe.get_list("DocType", filters={"istable": 0, "issingle": 0}): + for doctype in frappe.get_list("DocType", filters={"istable": 0, "issingle": 0, "is_virtual": 0}): if not frappe.db.count(doctype.name) or not frappe.db.has_column(doctype.name, "_user_tags"): continue diff --git a/frappe/patches/v15_0/migrate_session_data.py b/frappe/patches/v15_0/migrate_session_data.py new file mode 100644 index 0000000000..e368e2196f --- /dev/null +++ b/frappe/patches/v15_0/migrate_session_data.py @@ -0,0 +1,24 @@ +import frappe +from frappe.utils import update_progress_bar + + +def execute(): + frappe.db.auto_commit_on_many_writes = True + + Sessions = frappe.qb.DocType("Sessions") + + current_sessions = (frappe.qb.from_(Sessions).select(Sessions.sid, Sessions.sessiondata)).run( + as_dict=True + ) + + for i, session in enumerate(current_sessions): + try: + new_data = frappe.as_json(frappe.safe_eval(session.sessiondata)) + except Exception: + # Rerunning patch or already converted. + continue + + ( + frappe.qb.update(Sessions).where(Sessions.sid == session.sid).set(Sessions.sessiondata, new_data) + ).run() + update_progress_bar("Patching sessions", i, len(current_sessions)) diff --git a/frappe/printing/doctype/network_printer_settings/network_printer_settings.py b/frappe/printing/doctype/network_printer_settings/network_printer_settings.py index 71a1d9290c..d2163adafc 100644 --- a/frappe/printing/doctype/network_printer_settings/network_printer_settings.py +++ b/frappe/printing/doctype/network_printer_settings/network_printer_settings.py @@ -16,7 +16,7 @@ class NetworkPrinterSettings(Document): from frappe.types import DF port: DF.Int - printer_name: DF.Literal + printer_name: DF.Literal[None] server_ip: DF.Data # end: auto-generated types diff --git a/frappe/printing/page/print_format_builder/print_format_builder_field.html b/frappe/printing/page/print_format_builder/print_format_builder_field.html index 5e900df601..67bc4d3e53 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder_field.html +++ b/frappe/printing/page/print_format_builder/print_format_builder_field.html @@ -10,7 +10,7 @@ data-columns="{%= me.get_visible_columns_string(field) %}" data-doctype="{%= field.options %}" {% } %}> - {% if !in_list(["Table", "HTML", "Custom HTML"], field.fieldtype) %} + {% if !["Table", "HTML", "Custom HTML"].includes(field.fieldtype) %} diff --git a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html index 2b5b040bca..8ed4d50ddc 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html +++ b/frappe/printing/page/print_format_builder/print_format_builder_sidebar.html @@ -4,7 +4,7 @@