diff --git a/.github/workflows/_base-migration.yml b/.github/workflows/_base-migration.yml index ccabf8f058..25207095b5 100644 --- a/.github/workflows/_base-migration.yml +++ b/.github/workflows/_base-migration.yml @@ -117,6 +117,8 @@ jobs: fi echo "Setting up environment..." + + # Last python version in the array is the "default", so the 2nd parameter here is optional if rm -rf ${GITHUB_WORKSPACE}/env && python"$2" -m venv ${GITHUB_WORKSPACE}/env; then source ${GITHUB_WORKSPACE}/env/bin/activate pip install --quiet --upgrade pip @@ -154,17 +156,17 @@ jobs: # Save this script into a file for later use. declare -f update_to_version > "$RUNNER_TEMP/migrate" - - name: Update to v14 - run: | - source $RUNNER_TEMP/migrate - update_to_version 14 3.11 - exit $? - - name: Update to v15 run: | source $RUNNER_TEMP/migrate update_to_version 15 3.13 exit $? + + - name: Update to v16 + run: | + source $RUNNER_TEMP/migrate + update_to_version 16 + exit $? - name: Update to last commit run: | diff --git a/.github/workflows/generate-pot-file.yml b/.github/workflows/generate-pot-file.yml index 8f46aaa15e..f8c593f0b2 100644 --- a/.github/workflows/generate-pot-file.yml +++ b/.github/workflows/generate-pot-file.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - branch: ["develop"] + branch: ["develop", "version-16-hotfix"] permissions: contents: write @@ -27,6 +27,11 @@ jobs: with: python-version: "3.14" + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: 24 + - name: Run script to update POT file run: | bash ${GITHUB_WORKSPACE}/.github/helper/update_pot_file.sh diff --git a/.github/workflows/initiate_release.yml b/.github/workflows/initiate_release.yml index 01b4464b69..4ddfe8bf91 100644 --- a/.github/workflows/initiate_release.yml +++ b/.github/workflows/initiate_release.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - version: ["14", "15"] + version: ["14", "15", "16"] steps: - uses: octokit/request-action@v2.x diff --git a/.github/workflows/server-tests.yml b/.github/workflows/server-tests.yml index d8358b11a2..71d3a359dd 100644 --- a/.github/workflows/server-tests.yml +++ b/.github/workflows/server-tests.yml @@ -57,7 +57,7 @@ jobs: needs: checkrun uses: ./.github/workflows/_base-migration.yml with: - db-artifact-url: https://frappeframework.com/files/v13-frappe.sql.gz + db-artifact-url: https://frappe.io/files/v14-frappe.sql.gz python-version: '3.14' node-version: 24 fake-success: ${{ needs.checkrun.outputs.build != 'strawberry' }} diff --git a/.mergify.yml b/.mergify.yml index 66160a79e4..527d33b9ab 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -2,24 +2,24 @@ pull_request_rules: - name: Auto-close PRs on stable branch conditions: - and: - - and: - - author!=surajshetty3416 - - author!=deepeshgarg007 - - author!=ankush - - author!=frappe-pr-bot - - author!=mergify[bot] - - or: - - base=version-16 - - base=version-15 - - base=version-14 - - base=version-13 - - base=version-12 + - and: + - author!=surajshetty3416 + - author!=deepeshgarg007 + - author!=ankush + - author!=frappe-pr-bot + - author!=mergify[bot] + - or: + - base=version-16 + - base=version-15 + - base=version-14 + - base=version-13 + - base=version-12 actions: close: comment: - message: | - @{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch. - https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch + message: | + @{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch. + https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch - name: backport to develop conditions: @@ -31,16 +31,6 @@ pull_request_rules: assignees: - "{{ author }}" - - name: backport to version-13-hotfix - conditions: - - label="backport version-13-hotfix" - actions: - backport: - branches: - - version-13-hotfix - assignees: - - "{{ author }}" - - name: backport to version-14-hotfix conditions: - label="backport version-14-hotfix" @@ -61,3 +51,12 @@ pull_request_rules: assignees: - "{{ author }}" + - name: backport to version-16-hotfix + conditions: + - label="backport version-16-hotfix" + actions: + backport: + branches: + - version-16-hotfix + assignees: + - "{{ author }}" diff --git a/.releaserc b/.releaserc index 86f4f3cda0..ece1a68fa8 100644 --- a/.releaserc +++ b/.releaserc @@ -1,19 +1,22 @@ { - "branches": ["develop", {"name": "version-14-beta", "channel": "beta", "prerelease": true}], + "branches": ["version-17"], "plugins": [ "@semantic-release/commit-analyzer", { - "preset": "angular" + "preset": "angular", + "releaseRules": [ + {"breaking": true, "release": false} + ] }, "@semantic-release/release-notes-generator", [ "@semantic-release/exec", { - "prepareCmd": 'sed -ir "s/[0-9]*\.[0-9]*\.[0-9]*/${nextRelease.version}/" frappe/__init__.py' + "prepareCmd": 'sed -ir -E "s/\"[0-9]+\.[0-9]+\.[0-9]+\"/\"${nextRelease.version}\"/" frappe/__init__.py' } ], [ "@semantic-release/git", { "assets": ["frappe/__init__.py"], - "message": "chore(release): Bumped to Version ${nextRelease.version}" + "message": "chore(release): Bumped to Version ${nextRelease.version}\n\n${nextRelease.notes}" } ], "@semantic-release/github" diff --git a/cypress/integration/control_link.js b/cypress/integration/control_link.js index 4c0587b009..d33261d198 100644 --- a/cypress/integration/control_link.js +++ b/cypress/integration/control_link.js @@ -79,7 +79,7 @@ context("Control Link", () => { it("should unset invalid value", () => { get_dialog_with_link().as("dialog"); - cy.intercept("/api/method/frappe.client.validate_link*").as("validate_link"); + cy.intercept("/api/method/frappe.client.validate_link_and_fetch*").as("validate_link"); cy.get(".frappe-control[data-fieldname=link] input").focus().as("input"); // Wait for dropdown to appear (request might be cached) cy.get("@input").parent().findByRole("listbox").should("be.visible"); @@ -92,7 +92,7 @@ context("Control Link", () => { it("should be possible set empty value explicitly", () => { get_dialog_with_link().as("dialog"); - cy.intercept("/api/method/frappe.client.validate_link*").as("validate_link"); + cy.intercept("/api/method/frappe.client.validate_link_and_fetch*").as("validate_link"); cy.get(".frappe-control[data-fieldname=link] input").focus().as("input"); // Wait for dropdown to appear (request might be cached) @@ -179,7 +179,7 @@ context("Control Link", () => { it("should update dependant fields (via fetch_from)", () => { cy.get("@todos").then((todos) => { cy.visit(`/desk/todo/${todos[0]}`); - cy.intercept("/api/method/frappe.client.validate_link*").as("validate_link"); + cy.intercept("/api/method/frappe.client.validate_link_and_fetch*").as("validate_link"); cy.fill_field("assigned_by", cy.config("testUser"), "Link"); cy.call("frappe.client.get_value", { @@ -203,7 +203,7 @@ context("Control Link", () => { "" ); - cy.window().its("cur_frm.doc.assigned_by").should("eq", null); + cy.window().its("cur_frm.doc.assigned_by").should("eq", undefined); // set valid value again cy.get("@input").clear().focus(); diff --git a/cypress/integration/customize_form.js b/cypress/integration/customize_form.js index bd4564964e..6802540b4e 100644 --- a/cypress/integration/customize_form.js +++ b/cypress/integration/customize_form.js @@ -11,7 +11,6 @@ context("Customize Form", () => { "Set by user": "prompt", "By fieldname": "field:", Expression: "", - "Expression (old style)": "format:", Random: "hash", "By script": "", }; diff --git a/cypress/integration/dashboard_chart.js b/cypress/integration/dashboard_chart.js index 8a2fb91d08..4798ce98bc 100644 --- a/cypress/integration/dashboard_chart.js +++ b/cypress/integration/dashboard_chart.js @@ -12,6 +12,9 @@ context("Dashboard Chart", () => { cy.fill_field("chart_name", "Test Chart", "Data"); cy.fill_field("document_type", "Workspace Link", "Link"); + // wait for link field events to complete + cy.wait(1000); + cy.get('[data-fieldname="filters_json"]').click(); cy.get(".modal-dialog", { timeout: 500 }).should("be.visible"); diff --git a/frappe/__init__.py b/frappe/__init__.py index a97aad5a2a..11f48eaaa9 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -54,7 +54,7 @@ from .utils.jinja import ( render_template, ) -__version__ = "16.0.0-dev" +__version__ = "17.0.0-dev" __title__ = "Frappe Framework" if TYPE_CHECKING: # pragma: no cover @@ -196,7 +196,7 @@ def init(site: str, sites_path: str = ".", new_site: bool = False, force: bool = local.cache = {} local.form_dict = _dict() local.preload_assets = {"style": [], "script": [], "icons": []} - local.session = _dict(user="Guest") + local.session = _dict(user="Guest", data=_dict()) local.dev_server = _dev_server # only for backwards compatibility local.qb = get_query_builder(local.conf.db_type) if not cache or not client_cache: diff --git a/frappe/api/__init__.py b/frappe/api/__init__.py index 3c0906e039..1b7921cbee 100644 --- a/frappe/api/__init__.py +++ b/frappe/api/__init__.py @@ -11,8 +11,8 @@ import frappe from frappe import _ from frappe.modules.utils import get_doctype_app_map from frappe.monitor import add_data_to_monitor -from frappe.pulse.app_heartbeat_event import capture_app_heartbeat from frappe.utils.response import build_response +from frappe.utils.telemetry.pulse.app_heartbeat_event import capture_app_heartbeat class ApiVersion(str, Enum): diff --git a/frappe/api/v2.py b/frappe/api/v2.py index 88bfe86527..be3231fb7d 100644 --- a/frappe/api/v2.py +++ b/frappe/api/v2.py @@ -25,6 +25,21 @@ PERMISSION_MAP = { } +def get_bulk_operation_async_threshold(doctype: str | None = None) -> int: + conf = frappe.conf.get("bulk_operation_async_threshold", 20) + + if isinstance(conf, dict): + value = conf.get(doctype, 20) if doctype else conf.get("*", 20) + else: + value = conf + + return cint(value) + + +class FrappeValueError(ValueError): + http_status_code = 417 + + def handle_rpc_call(method: str, doctype: str | None = None): from frappe.modules.utils import load_doctype_module @@ -121,8 +136,17 @@ def document_list(doctype: str) -> list[dict[str, Any]]: start: int = cint(args.get("start", 0)) limit: int = cint(args.get("limit", 20)) group_by: str | None = args.get("group_by", None) - debug: bool = args.get("debug", False) - as_dict: bool = args.get("as_dict", True) + debug: bool = bool(args.get("debug", False)) + as_dict: bool = bool(args.get("as_dict", True)) + + if fields and not isinstance(fields, list): + raise FrappeValueError("'fields' must be a list") + if filters and not isinstance(filters, (list, dict)): + raise FrappeValueError("'filters' must be a list or dictionary") + if order_by and not isinstance(order_by, str): + raise FrappeValueError("'order_by' must be a string") + if group_by and not isinstance(group_by, str): + raise FrappeValueError("'group_by' must be a string") query = frappe.qb.get_query( table=doctype, @@ -235,6 +259,294 @@ def execute_doc_method(doctype: str, name: str, method: str | None = None): return result +def bulk_delete_docs(doctype: str): + """Bulk delete multiple documents of the same doctype. + + Request body should contain: + names: List of document names to delete + + Returns: + deleted: List of successfully deleted document names + failed: List of failed deletions with error messages + total: Total number of documents attempted + success_count: Number of successful deletions + failure_count: Number of failed deletions + """ + names = frappe.form_dict.get("names") + + if not isinstance(names, list): + raise FrappeValueError("'names' must be a list") + + if len(names) > get_bulk_operation_async_threshold(doctype): + job = frappe.enqueue( + "frappe.api.v2.execute_bulk_delete_docs", + doctype=doctype, + names=names, + ) + frappe.response.http_status_code = 202 + return {"job_id": job.id} + + return execute_bulk_delete_docs(doctype, names) + + +def execute_bulk_delete_docs(doctype: str, names: list[str | int]): + deleted = [] + failed = [] + + for name in names: + if not isinstance(name, str | int): + failed.append({"name": name, "error": "'name' must be a string or integer"}) + continue + + if isinstance(name, int): + name = str(name) + + savepoint = "bulk_delete_docs" + frappe.db.savepoint(savepoint) + + try: + frappe.delete_doc(doctype, name, ignore_missing=False) + deleted.append(name) + except Exception as e: + frappe.db.rollback(save_point=savepoint) + failed.append({"name": name, "error": str(e)}) + + return { + "deleted": deleted, + "failed": failed, + "total": len(names), + "success_count": len(deleted), + "failure_count": len(failed), + } + + +def bulk_delete(): + """Bulk delete documents across multiple doctypes. + + Request body should contain: + docs: List of {"doctype": str, "name": str} objects + + Returns: + deleted: List of successfully deleted documents + failed: List of failed deletions with error messages + total: Total number of documents attempted + success_count: Number of successful deletions + failure_count: Number of failed deletions + """ + docs = frappe.form_dict.get("docs", []) + + if not isinstance(docs, list): + raise FrappeValueError("'docs' must be a list") + + if len(docs) > get_bulk_operation_async_threshold(): + job = frappe.enqueue( + "frappe.api.v2.execute_bulk_delete", + docs=docs, + ) + frappe.response.http_status_code = 202 + return {"job_id": job.id} + + return execute_bulk_delete(docs) + + +def execute_bulk_delete(docs: list): + deleted = [] + failed = [] + + for item in docs: + doctype = None + name = None + savepoint = "bulk_delete" + frappe.db.savepoint(savepoint) + + try: + if not isinstance(item, dict): + raise FrappeValueError("Each document must be a dictionary with 'doctype' and 'name' keys") + + doctype = item.get("doctype") + name = item.get("name") + + if not isinstance(doctype, str): + raise FrappeValueError("'doctype' must be a string") + + if not isinstance(name, str | int): + raise FrappeValueError("'name' must be a string or integer") + + if isinstance(name, int): + name = str(name) + + frappe.delete_doc(doctype, name, ignore_missing=False) + deleted.append({"doctype": doctype, "name": name}) + except Exception as e: + frappe.db.rollback(save_point=savepoint) + failed.append({"doctype": doctype, "name": name, "error": str(e)}) + + return { + "deleted": deleted, + "failed": failed, + "total": len(docs), + "success_count": len(deleted), + "failure_count": len(failed), + } + + +def bulk_update_docs(doctype: str): + """Bulk update multiple documents of the same doctype. + + Request body should contain: + docs: List of {"name": str, ...fields} objects where each object contains + the document name and the fields to update + + Returns: + updated: List of successfully updated document names + failed: List of failed updates with error messages + total: Total number of documents attempted + success_count: Number of successful updates + failure_count: Number of failed updates + """ + docs = frappe.form_dict.get("docs") + + if not isinstance(docs, list): + raise FrappeValueError("'docs' must be a list") + + if len(docs) > get_bulk_operation_async_threshold(doctype): + job = frappe.enqueue( + "frappe.api.v2.execute_bulk_update_docs", + doctype=doctype, + docs=docs, + ) + frappe.response.http_status_code = 202 + return {"job_id": job.id} + + return execute_bulk_update_docs(doctype, docs) + + +def execute_bulk_update_docs(doctype: str, docs: list): + updated = [] + failed = [] + + for item in docs: + name = None + savepoint = "bulk_update_docs" + frappe.db.savepoint(savepoint) + + try: + if not isinstance(item, dict): + raise FrappeValueError("Each update must be a dictionary with 'name' and field values") + + name = item.get("name") + if not isinstance(name, str | int): + raise FrappeValueError("'name' must be a string or integer") + + if isinstance(name, int): + name = str(name) + + doc = frappe.get_doc(doctype, name, for_update=True) + item_copy = item.copy() + item_copy.pop("name") + item_copy.pop("flags", None) + + doc.update(item_copy) + doc.save() + doc.apply_fieldlevel_read_permissions() + + updated.append(name) + frappe.response.docs.append(doc.as_dict()) + except Exception as e: + frappe.db.rollback(save_point=savepoint) + failed.append({"name": name, "error": str(e)}) + + return { + "updated": updated, + "failed": failed, + "total": len(docs), + "success_count": len(updated), + "failure_count": len(failed), + } + + +def bulk_update(): + """Bulk update documents across multiple doctypes. + + Request body should contain: + docs: List of {"doctype": str, "name": str, ...fields} objects + + Returns: + updated: List of successfully updated documents + failed: List of failed updates with error messages + total: Total number of documents attempted + success_count: Number of successful updates + failure_count: Number of failed updates + """ + docs = frappe.form_dict.get("docs") + + if not isinstance(docs, list): + raise FrappeValueError("'docs' must be a list") + + if len(docs) > get_bulk_operation_async_threshold(): + job = frappe.enqueue( + "frappe.api.v2.execute_bulk_update", + docs=docs, + ) + frappe.response.http_status_code = 202 + return {"job_id": job.id} + + return execute_bulk_update(docs) + + +def execute_bulk_update(docs: list): + updated = [] + failed = [] + + for item in docs: + doctype = None + name = None + savepoint = "bulk_update" + frappe.db.savepoint(savepoint) + + try: + if not isinstance(item, dict): + raise FrappeValueError( + "Each document must be a dictionary with 'doctype', 'name', and field values" + ) + + doctype = item.get("doctype") + name = item.get("name") + + if not isinstance(doctype, str): + raise FrappeValueError("'doctype' must be a string") + + if not isinstance(name, str | int): + raise FrappeValueError("'name' must be a string or integer") + + if isinstance(name, int): + name = str(name) + + doc = frappe.get_doc(doctype, name, for_update=True) + item_copy = item.copy() + item_copy.pop("doctype") + item_copy.pop("name") + item_copy.pop("flags", None) + + doc.update(item_copy) + doc.save() + doc.apply_fieldlevel_read_permissions() + + updated.append({"doctype": doctype, "name": name}) + frappe.response.docs.append(doc.as_dict()) + except Exception as e: + frappe.db.rollback(save_point=savepoint) + failed.append({"doctype": doctype, "name": name, "error": str(e)}) + + return { + "updated": updated, + "failed": failed, + "total": len(docs), + "success_count": len(updated), + "failure_count": len(failed), + } + + def run_doc_method(method: str, document: dict[str, Any] | str, kwargs=None): """run a whitelisted controller method on in-memory document. @@ -248,6 +560,9 @@ def run_doc_method(method: str, document: dict[str, Any] | str, kwargs=None): if isinstance(document, str): document = frappe.parse_json(document) + if not isinstance(document, dict): + raise FrappeValueError("'document' must be a dictionary") + if kwargs is None: kwargs = {} @@ -272,6 +587,8 @@ url_rules = [ Rule("/method/logout", endpoint=logout, methods=["POST"]), Rule("/method/ping", endpoint=frappe.ping), Rule("/method/upload_file", endpoint=upload_file, methods=["POST"]), + Rule("/method/bulk_delete", endpoint=bulk_delete, methods=["POST"]), + Rule("/method/bulk_update", endpoint=bulk_update, methods=["POST"]), Rule("/method/", endpoint=handle_rpc_call), Rule( "/method/run_doc_method", @@ -282,6 +599,8 @@ url_rules = [ # Document level APIs Rule("/document/", methods=["GET"], endpoint=document_list), Rule("/document/", methods=["POST"], endpoint=create_doc), + Rule("/document//bulk_delete", methods=["POST"], endpoint=bulk_delete_docs), + Rule("/document//bulk_update", methods=["POST"], endpoint=bulk_update_docs), Rule("/document///", methods=["GET"], endpoint=read_doc), Rule("/document///copy", methods=["GET"], endpoint=copy_doc), Rule("/document///", methods=["PATCH", "PUT"], endpoint=update_doc), diff --git a/frappe/app.py b/frappe/app.py index 010b5bde0d..6a07c9c223 100644 --- a/frappe/app.py +++ b/frappe/app.py @@ -48,7 +48,7 @@ import frappe.boot import frappe.client import frappe.core.doctype.file.file import frappe.core.doctype.user.user -import frappe.database.mariadb.database # Load database related utils +import frappe.database.mariadb.mysqlclient # Load database related utils import frappe.database.query import frappe.desk.desktop # workspace import frappe.desk.form.save diff --git a/frappe/boot.py b/frappe/boot.py index 72888fb1a4..b409e36b99 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -161,11 +161,8 @@ def load_desktop_data(bootinfo): from frappe.desk.desktop import get_workspace_sidebar_items bootinfo.workspaces = get_workspace_sidebar_items() - bootinfo.show_app_icons_as_folder = frappe.db.get_single_value( - "Desktop Settings", "show_app_icons_as_folder" - ) - bootinfo.workspace_sidebar_item = get_sidebar_items() allowed_pages = [d.name for d in bootinfo.workspaces.get("pages")] + bootinfo.workspace_sidebar_item = get_sidebar_items(allowed_pages) bootinfo.module_wise_workspaces = get_controller("Workspace").get_module_wise_workspaces() bootinfo.dashboards = frappe.get_all("Dashboard") bootinfo.app_data = [] @@ -536,7 +533,7 @@ def get_sentry_dsn(): return os.getenv("FRAPPE_SENTRY_DSN") -def get_sidebar_items(): +def get_sidebar_items(allowed_workspaces): from frappe import _ from frappe.desk.doctype.workspace_sidebar.workspace_sidebar import auto_generate_sidebar_from_module @@ -588,7 +585,7 @@ def get_sidebar_items(): if ( "My Workspaces" in sidebar_title or si.type == "Section Break" - or w.is_item_allowed(si.link_to, si.link_type) + or w.is_item_allowed(si.link_to, si.link_type, allowed_workspaces) ): sidebar_items[sidebar_title.lower()]["items"].append(workspace_sidebar) add_user_specific_sidebar(sidebar_items) diff --git a/frappe/client.py b/frappe/client.py index 1f5952d76e..548a86fb94 100644 --- a/frappe/client.py +++ b/frappe/client.py @@ -9,7 +9,7 @@ import frappe.model import frappe.utils from frappe import _ from frappe.desk.reportview import validate_args -from frappe.model.utils import is_virtual_doctype +from frappe.desk.search import PAGE_LENGTH_FOR_LINK_VALIDATION, search_widget from frappe.utils import attach_expanded_links, get_safe_filters from frappe.utils.caching import http_cache @@ -77,7 +77,13 @@ def get_list( @frappe.whitelist() def get_count(doctype, filters=None, debug=False, cache=False): - return frappe.db.count(doctype, get_safe_filters(filters), debug, cache) + from frappe.desk.reportview import get_count + + frappe.form_dict.doctype = doctype + frappe.form_dict.filters = get_safe_filters(filters) + frappe.form_dict.debug = debug + + return get_count() @frappe.whitelist() @@ -400,52 +406,95 @@ def is_document_amended(doctype: str, docname: str): return False -@frappe.whitelist() -def validate_link(doctype: str, docname: str, fields=None): - if not isinstance(doctype, str): - frappe.throw(_("DocType must be a string")) +@frappe.whitelist(methods=["GET", "POST"]) +def validate_link_and_fetch( + doctype: str, + docname: str, + fields_to_fetch: list[str] | str | None = None, + # search_widget parameters + query: str | None = None, + filters: dict | list | str | None = None, + **search_args, +): + if not docname: + frappe.throw(_("Document Name must not be empty")) - if not isinstance(docname, str): - frappe.throw(_("Document Name must be a string")) + meta = frappe.get_meta(doctype) + fields_to_fetch = frappe.parse_json(fields_to_fetch) - parent_doctype = None - if doctype != "DocType": - if frappe.get_meta(doctype).istable: # needed for links to child rows - parent_doctype = frappe.db.get_value(doctype, docname, "parenttype") - if not ( - frappe.has_permission(doctype, "select", parent_doctype=parent_doctype) - or frappe.has_permission(doctype, "read", parent_doctype=parent_doctype) - ): - frappe.throw( - _("You do not have Read or Select Permissions for {}").format(frappe.bold(doctype)), - frappe.PermissionError, - ) + # only cache is no fields to fetch and request is GET + can_cache = not fields_to_fetch and frappe.request.method == "GET" - values = frappe._dict() + # Use search_widget to validate - ensures filters/custom queries are respected + # in addition to standard permission checks + # we match the exact docname for non-custom queries and rely on txt for custom queries + search_args.update( + as_dict=False, + # when relying on txt (custom queries), we want to match "A" with "A" only and not "A1", "BA" etc. + # so we set page_length to a conservative value within which exact match is expected to appear + page_length=PAGE_LENGTH_FOR_LINK_VALIDATION, + # translated doctypes are expected to be searchable with translated values, even for custom queries + # for non-custom queries, docname is always matched exactly so we don't translate it + txt=_(docname) if (query and meta.translated_doctype) else docname, + for_link_validation=True, + ) - if is_virtual_doctype(doctype): + search_result = frappe.call( + search_widget, + doctype=doctype, + query=query, + filters=filters, + **search_args, + ) + + if not search_result: + return {} # does not exist or filtered out + + values = None + is_virtual_dt = bool(meta.get("is_virtual")) + if is_virtual_dt: try: - frappe.get_doc(doctype, docname) - values.name = docname + doc = frappe.get_doc(doctype, docname) + doc.check_permission("select" if frappe.only_has_select_perm(doctype) else "read") + values = {"name": doc.name} + except frappe.DoesNotExistError: frappe.clear_last_message() - frappe.msgprint( - _("Document {0} {1} does not exist").format(frappe.bold(doctype), frappe.bold(docname)), + else: + # get value in the right case and type (str | int) + # for matching with search result + columns_to_fetch = ["name"] + if frappe.is_table(doctype): + columns_to_fetch.append("parenttype") # for child table permission check + values = frappe.db.get_value(doctype, docname, columns_to_fetch, as_dict=True) + + if not values: + return {} # does not exist + + name_to_compare = values["name"] + # this will be used to fetch fields later + parent_doctype = values.pop("parenttype", None) + + # try to match name in search result + # if search_result is large, assume valid link (result may not appear in some custom queries) + if len(search_result) < PAGE_LENGTH_FOR_LINK_VALIDATION and not any( + item[0] == name_to_compare for item in search_result + ): + return {} # no permission or filtered out + + # don't cache or fetch for virtual doctypes + if is_virtual_dt: + return values + + if not fields_to_fetch: + if can_cache: + frappe.local.response_headers.set( + "Cache-Control", "private,max-age=1800,stale-while-revalidate=7200" ) return values - values.name = frappe.db.get_value(doctype, docname, cache=True) - - fields = frappe.parse_json(fields) - if not values.name: - return values - - if not fields: - frappe.local.response_headers.set("Cache-Control", "private,max-age=1800,stale-while-revalidate=7200") - return values - try: - values.update(get_value(doctype, fields, docname, parent=parent_doctype)) + values.update(get_value(doctype, fields_to_fetch, docname, parent=parent_doctype)) except frappe.PermissionError: frappe.clear_last_message() frappe.msgprint( diff --git a/frappe/commands/site.py b/frappe/commands/site.py index 6738313b54..b83abcb5a7 100644 --- a/frappe/commands/site.py +++ b/frappe/commands/site.py @@ -1583,31 +1583,34 @@ def bypass_patch(context: CliCtxObj, patch_name: str, yes: bool): frappe.destroy() -@click.command("create-desktop-icons-and-sidebar") +@click.command("sync-desktop-icons") @pass_context -def create_icons_and_sidebar(context: CliCtxObj): - """Create desktop icons and workspace sidebars.""" - from frappe.desk.doctype.desktop_icon.desktop_icon import create_desktop_icons - from frappe.desk.doctype.workspace_sidebar.workspace_sidebar import ( - create_workspace_sidebar_for_workspaces, - ) +def sync_desktop_icons(context: CliCtxObj): + from frappe.model.sync import import_file_by_path + from frappe.modules.utils import get_app_level_directory_path + from frappe.utils import update_progress_bar - if not context.sites: - raise SiteNotSpecifiedError + files = [] + app_level_folders = ["desktop_icon"] for site in context.sites: + print("Sycning icons for " + site) frappe.init(site) frappe.connect() - try: - print("Creating Desktop Icons") - create_desktop_icons() - print("Creating Workspace Sidebars") - create_workspace_sidebar_for_workspaces() - # Saving it in a command need it - frappe.db.commit() # nosemgrep - except Exception as e: - print(f"Error creating icons {site}: {e}") - finally: - frappe.destroy() + for app_name in frappe.get_installed_apps(): + for folder_name in app_level_folders: + directory_path = get_app_level_directory_path(folder_name, app_name) + if os.path.exists(directory_path): + icon_files = [ + os.path.join(directory_path, filename) for filename in os.listdir(directory_path) + ] + for doc_path in icon_files: + files.append(doc_path) + for i, doc_path in enumerate(files): + imported = import_file_by_path(doc_path, force=True, ignore_version=True) + if imported: + frappe.db.commit(chain=True) + + update_progress_bar("Updating Desktop Icons", i, len(files)) commands = [ @@ -1646,5 +1649,5 @@ commands = [ trim_database, clear_log_table, bypass_patch, - create_icons_and_sidebar, + sync_desktop_icons, ] diff --git a/frappe/commands/test_commands.py b/frappe/commands/test_commands.py index d3498d8842..d588e3c8e6 100644 --- a/frappe/commands/test_commands.py +++ b/frappe/commands/test_commands.py @@ -37,7 +37,7 @@ from frappe.installer import add_to_installed_apps, remove_app from frappe.query_builder.utils import db_type_is from frappe.tests import IntegrationTestCase, timeout from frappe.tests.test_query_builder import run_only_if -from frappe.utils import add_to_date, get_bench_path, get_bench_relative_path, now +from frappe.utils import add_to_date, execute_in_shell, get_bench_path, get_bench_relative_path, now from frappe.utils.backups import BackupGenerator, fetch_latest_backups from frappe.utils.jinja_globals import bundled_asset from frappe.utils.scheduler import enable_scheduler, is_scheduler_inactive @@ -1086,12 +1086,15 @@ class TestGunicornWorker(IntegrationTestCase): self.addCleanup(self.kill_gunicorn) def kill_gunicorn(self): - time.sleep(1) + time.sleep(2) self.handle.send_signal(signal.SIGTERM) try: - self.handle.communicate(timeout=1) + self.handle.communicate(timeout=2) except subprocess.TimeoutExpired: - self.handle.kill() + pass + + time.sleep(2) + execute_in_shell("pgrep gunicorn | xargs -L1 kill -9") def test_gunicorn_ping_sync(self): self.spawn_gunicorn() @@ -1108,13 +1111,15 @@ class TestGunicornWorker(IntegrationTestCase): process = psutil.Process(self.handle.pid) return sum(c.cpu_percent(1.0) for c in process.children(True)) + process.cpu_percent(1.0) + usage_threshold = 10 + self.spawn_gunicorn(["--threads=2"]) - self.assertLessEqual(get_total_usage(), 3) + self.assertLessEqual(get_total_usage(), usage_threshold) # Wake up at least one thread, go idle and check again path = f"http://{self.TEST_SITE}:{self.port}/api/method/ping" self.assertEqual(requests.get(path).status_code, 200) - self.assertLessEqual(get_total_usage(), 3) + self.assertLessEqual(get_total_usage(), usage_threshold) class TestRQWorker(IntegrationTestCase): diff --git a/frappe/commands/testing.py b/frappe/commands/testing.py index 4faf1d999f..d1381671b2 100644 --- a/frappe/commands/testing.py +++ b/frappe/commands/testing.py @@ -465,7 +465,13 @@ def run_ui_tests( os.chdir(app_base_path) - node_bin = subprocess.getoutput("(cd ../frappe && yarn bin)") + node_bin = subprocess.run( + "(cd ../frappe && yarn bin)", + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL, + text=True, + ).stdout.strip() cypress_path = f"{node_bin}/cypress" drag_drop_plugin_path = f"{node_bin}/../@4tw/cypress-drag-drop" real_events_plugin_path = f"{node_bin}/../cypress-real-events" diff --git a/frappe/contacts/doctype/contact/contact.py b/frappe/contacts/doctype/contact/contact.py index 3ad5e54c62..5859746f1e 100644 --- a/frappe/contacts/doctype/contact/contact.py +++ b/frappe/contacts/doctype/contact/contact.py @@ -366,7 +366,7 @@ def contact_query(doctype, txt, searchfield, start, page_len, filters): order by if(locate(%(_txt)s, `tabContact`.full_name), locate(%(_txt)s, `tabContact`.company_name), 99999), `tabContact`.idx desc, `tabContact`.full_name - limit %(start)s, %(page_len)s """, + limit %(page_len)s offset %(start)s """, { "txt": "%" + txt + "%", "_txt": txt.replace("%", ""), diff --git a/frappe/core/dashboard_chart/background_job_activity/background_job_activity.json b/frappe/core/dashboard_chart/background_job_activity/background_job_activity.json index 72d45e614d..ed1891bbb1 100644 --- a/frappe/core/dashboard_chart/background_job_activity/background_job_activity.json +++ b/frappe/core/dashboard_chart/background_job_activity/background_job_activity.json @@ -13,8 +13,8 @@ "idx": 0, "is_public": 0, "is_standard": 1, - "last_synced_on": "2025-10-30 21:36:33.646973", - "modified": "2025-10-30 21:37:11.340673", + "last_synced_on": "2026-01-12 00:01:03.263885", + "modified": "2026-01-12 00:03:10.123061", "modified_by": "Administrator", "module": "Core", "name": "Background Job Activity", diff --git a/frappe/core/dashboard_chart/notifications_by_type/notifications_by_type.json b/frappe/core/dashboard_chart/notifications_by_type/notifications_by_type.json new file mode 100644 index 0000000000..4e1f74c989 --- /dev/null +++ b/frappe/core/dashboard_chart/notifications_by_type/notifications_by_type.json @@ -0,0 +1,35 @@ +{ + "based_on": "", + "chart_name": "Notifications By Type", + "chart_type": "Group By", + "creation": "2025-09-08 12:07:04.576729", + "currency": "", + "docstatus": 0, + "doctype": "Dashboard Chart", + "document_type": "Notification Log", + "dynamic_filters_json": "[]", + "filters_json": "[]", + "group_by_based_on": "type", + "group_by_type": "Count", + "idx": 0, + "is_public": 0, + "is_standard": 1, + "last_synced_on": "2026-01-12 00:01:03.245282", + "modified": "2026-01-12 00:02:23.444272", + "modified_by": "Administrator", + "module": "Core", + "name": "Notifications By Type", + "number_of_groups": 0, + "owner": "Administrator", + "parent_document_type": "", + "roles": [], + "show_values_over_chart": 0, + "source": "", + "time_interval": "Yearly", + "timeseries": 0, + "timespan": "Last Year", + "type": "Pie", + "use_report_chart": 0, + "value_based_on": "", + "y_axis": [] +} diff --git a/frappe/core/doctype/communication/email.py b/frappe/core/doctype/communication/email.py index d2b79224dd..acbc27b2be 100755 --- a/frappe/core/doctype/communication/email.py +++ b/frappe/core/doctype/communication/email.py @@ -50,6 +50,8 @@ def make( send_after=None, print_language=None, now=False, + raw_html=False, + add_css=True, **kwargs, ) -> dict[str, str]: """Make a new communication. Checks for email permissions for specified Document. @@ -69,10 +71,12 @@ def make( :param send_me_a_copy: Send a copy to the sender (default **False**). :param email_template: Template which is used to compose mail . :param send_after: Send after the given datetime. + :param raw_html: Whether to use html version of email template + :param add_css: Add default CSS from hooks/email_css to the email template (default **True**) """ - if kwargs: - from frappe.utils.commands import warn + from frappe.utils.commands import warn + if kwargs: warn( f"Options {kwargs} used in frappe.core.doctype.communication.email.make " "are deprecated or unsupported", @@ -82,6 +86,20 @@ def make( if doctype and name: frappe.has_permission(doctype, doc=name, ptype="email", throw=True) + if ( + raw_html + and email_template + and not frappe.get_cached_value("Email Template", email_template, "use_html") + ): + warn( + _( + "Raw HTML can be used only with Email Templates having 'Use HTML' checked. " + "Proceeding with plain text email." + ), + category=UserWarning, + ) + raw_html = False + return _make( doctype=doctype, name=name, @@ -107,6 +125,8 @@ def make( send_after=send_after, print_language=print_language, now=now, + raw_html=raw_html, + add_css=add_css, ) @@ -135,6 +155,8 @@ def _make( send_after=None, print_language=None, now=False, + raw_html=False, + add_css=True, ) -> dict[str, str]: """Internal method to make a new communication that ignores Permission checks.""" @@ -165,7 +187,9 @@ def _make( "send_after": send_after, } ) - comm.flags.skip_add_signature = not add_signature + comm.flags.skip_add_signature = not add_signature or ( + raw_html and frappe.get_cached_value("Email Template", email_template, "use_html") + ) comm.insert(ignore_permissions=True) # if not committed, delayed task doesn't find the communication @@ -190,6 +214,8 @@ def _make( print_letterhead=print_letterhead, print_language=print_language, now=now, + raw_html=raw_html, + add_css=add_css, ) 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 4318a451e5..edf14baca5 100644 --- a/frappe/core/doctype/communication/mixins.py +++ b/frappe/core/doctype/communication/mixins.py @@ -258,6 +258,8 @@ class CommunicationEmailMixin: print_letterhead=None, is_inbound_mail_communcation=None, print_language=None, + raw_html=False, + add_css=True, ) -> dict: outgoing_email_account = self.get_outgoing_email_account() if not outgoing_email_account: @@ -307,6 +309,8 @@ class CommunicationEmailMixin: "is_notification": (self.sent_or_received == "Received"), "print_letterhead": print_letterhead, "send_after": self.send_after, + "raw_html": raw_html, + "add_css": add_css, } def send_email( @@ -318,6 +322,8 @@ class CommunicationEmailMixin: is_inbound_mail_communcation=None, print_language=None, now=False, + raw_html=False, + add_css=True, ): if input_dict := self.sendmail_input_dict( print_html=print_html, @@ -326,5 +332,7 @@ class CommunicationEmailMixin: print_letterhead=print_letterhead, is_inbound_mail_communcation=is_inbound_mail_communcation, print_language=print_language, + raw_html=raw_html, + add_css=add_css, ): frappe.sendmail(now=now, **input_dict) diff --git a/frappe/core/doctype/communication_link/patches/copy_communication_date_to_link.py b/frappe/core/doctype/communication_link/patches/copy_communication_date_to_link.py index 0a6cd1ee5e..2331ea6eb1 100644 --- a/frappe/core/doctype/communication_link/patches/copy_communication_date_to_link.py +++ b/frappe/core/doctype/communication_link/patches/copy_communication_date_to_link.py @@ -6,18 +6,32 @@ def execute(): batch_size = 10_000 while True: - frappe.db.sql( - """ - update `tabCommunication Link` cl - inner join `tabCommunication` c on cl.parent = c.name - set cl.communication_date = c.communication_date - where cl.communication_date is null - and c.communication_date is not null - limit %s - """, + frappe.db.multisql( + { + "mariadb": """ + update `tabCommunication Link` cl + inner join `tabCommunication` c on cl.parent = c.name + set cl.communication_date = c.communication_date + where cl.communication_date is null + and c.communication_date is not null + limit %s + """, + "*": """ + UPDATE `tabCommunication Link` + SET communication_date = sub.communication_date + FROM ( + SELECT cl.name, c.communication_date + FROM `tabCommunication Link` cl + JOIN `tabCommunication` c ON cl.parent = c.name + WHERE cl.communication_date IS NULL + AND c.communication_date IS NOT NULL + LIMIT %s + ) AS sub + WHERE `tabCommunication Link`.name = sub.name + """, + }, (batch_size,), ) - frappe.db.commit() if not frappe.db.sql( diff --git a/frappe/core/doctype/data_import/importer.py b/frappe/core/doctype/data_import/importer.py index d7ff4250ff..f74022a5f6 100644 --- a/frappe/core/doctype/data_import/importer.py +++ b/frappe/core/doctype/data_import/importer.py @@ -1153,7 +1153,8 @@ def build_fields_dict_for_column_matching(parent_doctype): doctypes = [(parent_doctype, None)] + [(df.options, df) for df in parent_meta.get_table_fields()] for doctype, table_df in doctypes: - translated_table_label = _(table_df.label) if table_df else None + table_ref = (table_df.label or table_df.fieldname) if table_df else None + translated_table_label = _(table_ref) if table_ref else None # name field name_df = frappe._dict( @@ -1175,7 +1176,7 @@ def build_fields_dict_for_column_matching(parent_doctype): else: name_headers = ( f"{table_df.fieldname}.name", # fieldname - f"ID ({table_df.label})", # label + f"ID ({table_ref})", # label "{} ({})".format(_("ID"), translated_table_label), # translated label ) @@ -1229,7 +1230,7 @@ def build_fields_dict_for_column_matching(parent_doctype): # fieldname f"{table_df.fieldname}.{df.fieldname}", # label - f"{label} ({table_df.label})", + f"{label} ({table_ref})", # translated label f"{translated_label} ({translated_table_label})", ): diff --git a/frappe/core/doctype/data_import/test_importer.py b/frappe/core/doctype/data_import/test_importer.py index d10a162182..476ccc33aa 100644 --- a/frappe/core/doctype/data_import/test_importer.py +++ b/frappe/core/doctype/data_import/test_importer.py @@ -1,7 +1,7 @@ # Copyright (c) 2019, Frappe Technologies and Contributors # License: MIT. See LICENSE import frappe -from frappe.core.doctype.data_import.importer import Importer +from frappe.core.doctype.data_import.importer import Importer, build_fields_dict_for_column_matching from frappe.tests import IntegrationTestCase from frappe.tests.test_query_builder import db_type_is, unimplemented_for from frappe.utils import format_duration, getdate @@ -146,6 +146,22 @@ class TestImporter(IntegrationTestCase): self.assertEqual(updated_doc.table_field_1[0].child_description, "child description") self.assertEqual(updated_doc.table_field_1_again[0].child_title, "child title again") + def test_data_import_without_label(self): + """Test fallback to fieldname when label is not set for a table.""" + + meta = frappe.get_meta(doctype_name) + table_field = meta.get_field("table_field_1") + original_label = table_field.label + table_field.label = None + fields_dict = build_fields_dict_for_column_matching(doctype_name) + expected_key = "Child Title (table_field_1)" + self.assertIn( + expected_key, fields_dict, f"Fallback failed: '{expected_key}' not found in mapping dict" + ) + expected_id_key = "ID (table_field_1)" + self.assertIn(expected_id_key, fields_dict, "ID fallback failed") + table_field.label = original_label # maintain sanity in test env + def get_importer(self, doctype, import_file, update=False, use_sniffer=False): data_import = frappe.new_doc("Data Import") data_import.import_type = "Insert New Records" if not update else "Update Existing Records" diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index c8df7f3693..3acf1d5ea8 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -72,11 +72,11 @@ "mandatory_depends_on", "read_only_depends_on", "display", + "alignment", "print_width", "width", "max_height", "columns", - "icon", "column_break_22", "description", "documentation_url", @@ -476,6 +476,13 @@ "max_height": "3rem", "options": "JS" }, + { + "depends_on": "eval:in_list([\"Data\", \"Int\", \"Float\", \"Currency\", \"Percent\"], doc.fieldtype)", + "fieldname": "alignment", + "fieldtype": "Select", + "label": "Alignment", + "options": "\nLeft\nCenter\nRight" + }, { "fieldname": "column_break_38", "fieldtype": "Column Break" @@ -626,12 +633,6 @@ "fieldtype": "Select", "label": "Button Color", "options": "\nDefault\nPrimary\nInfo\nSuccess\nWarning\nDanger" - }, - { - "depends_on": "eval: doc.fieldtype == \"Tab Break\"", - "fieldname": "icon", - "fieldtype": "Icon", - "label": "Icon" } ], "grid_page_length": 50, @@ -639,7 +640,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-12-23 14:16:30.951385", + "modified": "2026-01-06 01:37:29.723265", "modified_by": "Administrator", "module": "Core", "name": "DocField", diff --git a/frappe/core/doctype/docfield/docfield.py b/frappe/core/doctype/docfield/docfield.py index 6f90b81ce9..94d99fe5e9 100644 --- a/frappe/core/doctype/docfield/docfield.py +++ b/frappe/core/doctype/docfield/docfield.py @@ -17,6 +17,7 @@ class DocField(Document): allow_bulk_edit: DF.Check allow_in_quick_entry: DF.Check allow_on_submit: DF.Check + alignment: DF.Literal["", "Left", "Center", "Right"] bold: DF.Check button_color: DF.Literal["", "Default", "Primary", "Info", "Success", "Warning", "Danger"] collapsible: DF.Check @@ -126,7 +127,6 @@ class DocField(Document): def get_link_doctype(self): """Return the Link doctype for the `docfield` (if applicable). - * If fieldtype is Link: Return "options". * If fieldtype is Table MultiSelect: Return "options" of the Link field in the Child Table. """ diff --git a/frappe/core/doctype/doctype/boilerplate/controller_tree.js b/frappe/core/doctype/doctype/boilerplate/controller_tree.js new file mode 100644 index 0000000000..9fc78986e0 --- /dev/null +++ b/frappe/core/doctype/doctype/boilerplate/controller_tree.js @@ -0,0 +1,5 @@ +// Copyright (c) {year}, {app_publisher} and contributors +// For license information, please see license.txt + +// frappe.treeview_settings["{doctype}"] = {{ +// }}; \ No newline at end of file diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py index 77482dc8b0..58ec4f8afa 100644 --- a/frappe/core/doctype/doctype/doctype.py +++ b/frappe/core/doctype/doctype/doctype.py @@ -362,19 +362,7 @@ class DocType(Document): continue # Invalid expression link_df = new_meta.get_field(link_fieldname) - if frappe.db.db_type == "postgres": - update_query = """ - UPDATE `tab{doctype}` - SET `{fieldname}` = source.`{source_fieldname}` - FROM `tab{link_doctype}` as source - WHERE `{link_fieldname}` = source.name - """ - if df.not_nullable: - update_query += "AND `{fieldname}`=''" - else: - update_query += "AND ifnull(`{fieldname}`, '')=''" - - else: + if frappe.db.db_type == "mariadb": update_query = """ UPDATE `tab{doctype}` as target INNER JOIN `tab{link_doctype}` as source @@ -386,6 +374,18 @@ class DocType(Document): else: update_query += "WHERE ifnull(`target`.`{fieldname}`, '')=''" + else: + update_query = """ + UPDATE `tab{doctype}` + SET `{fieldname}` = source.`{source_fieldname}` + FROM `tab{link_doctype}` as source + WHERE `{link_fieldname}` = source.name + """ + if df.not_nullable: + update_query += "AND `{fieldname}`=''" + else: + update_query += "AND ifnull(`{fieldname}`, '')=''" + self.flags.update_fields_to_fetch_queries.append( update_query.format( link_doctype=link_df.options, @@ -877,6 +877,9 @@ class DocType(Document): make_boilerplate("controller.js", self.as_dict()) # make_boilerplate("controller_list.js", self.as_dict()) + if self.is_tree: + make_boilerplate("controller_tree.js", self.as_dict()) + if self.has_web_view: templates_path = frappe.get_module_path( frappe.scrub(self.module), "doctype", frappe.scrub(self.name), "templates" @@ -1838,34 +1841,84 @@ def validate_permissions(doctype, for_remove=False, alert=False): def check_permission_dependency(d): if d.cancel and not d.submit: - frappe.throw(_("{0}: Cannot set Cancel without Submit").format(get_txt(d))) + frappe.throw( + _("{0}: The 'Cancel' permission cannot be granted without the 'Submit' permission.").format( + get_txt(d) + ) + ) if (d.submit or d.cancel or d.amend) and not d.write: - frappe.throw(_("{0}: Cannot set Submit, Cancel, Amend without Write").format(get_txt(d))) - if d.amend and not d.write: - frappe.throw(_("{0}: Cannot set Amend without Cancel").format(get_txt(d))) + frappe.throw( + _( + "{0}: The 'Submit', 'Cancel', and 'Amend' permissions cannot be granted without the 'Write' permission." + ).format(get_txt(d)) + ) + if d.amend and not d.create: + frappe.throw( + _("{0}: The 'Amend' permission cannot be granted without the 'Create' permission.").format( + get_txt(d) + ) + ) if d.get("import") and not d.create: - frappe.throw(_("{0}: Cannot set Import without Create").format(get_txt(d))) + frappe.throw( + _("{0}: The 'Import' permission cannot be granted without the 'Create' permission.").format( + get_txt(d) + ) + ) def remove_rights_for_single(d): if not issingle: return - if d.report: - frappe.msgprint(_("Report cannot be set for Single types")) - d.report = 0 + if d.get("report"): + d.set("report", 0) + frappe.msgprint( + _( + "{0}: The 'Report' permission was removed because it cannot be granted for a 'single' DocType." + ).format(get_txt(d)) + ) + + if d.get("import"): d.set("import", 0) + frappe.msgprint( + _( + "{0}: The 'Import' permission was removed because it cannot be granted for a 'single' DocType." + ).format(get_txt(d)) + ) + + if d.get("export"): d.set("export", 0) + frappe.msgprint( + _( + "{0}: The 'Export' permission was removed because it cannot be granted for a 'single' DocType." + ).format(get_txt(d)) + ) def check_if_submittable(d): - if d.submit and not issubmittable: - frappe.throw(_("{0}: Cannot set Assign Submit if not Submittable").format(get_txt(d))) - elif d.amend and not issubmittable: - frappe.throw(_("{0}: Cannot set Assign Amend if not Submittable").format(get_txt(d))) + if issubmittable: + return + + if d.submit: + frappe.throw( + _("{0}: The 'Submit' permission cannot be granted for a non-submittable DocType.").format( + get_txt(d) + ) + ) + + if d.amend: + frappe.throw( + _("{0}: The 'Amend' permission cannot be granted for a non-submittable DocType.").format( + get_txt(d) + ) + ) def check_if_importable(d): if d.get("import") and not isimportable: - frappe.throw(_("{0}: Cannot set import as {1} is not importable").format(get_txt(d), doctype)) + frappe.throw( + _("{0}: The 'Import' permission cannot be granted for a non-importable DocType.").format( + get_txt(d) + ) + ) def validate_permission_for_all_role(d): if frappe.session.user == "Administrator": @@ -1875,7 +1928,7 @@ def validate_permissions(doctype, for_remove=False, alert=False): if d.role in AUTOMATIC_ROLES: frappe.throw( _( - "Row # {0}: Non administrator user can not set the role {1} to the custom doctype" + "Row # {0}: Non-administrator users cannot add the role {1} to a custom DocType." ).format(d.idx, frappe.bold(_(d.role))), title=_("Permissions Error"), ) @@ -1885,7 +1938,7 @@ def validate_permissions(doctype, for_remove=False, alert=False): if d.role in roles: frappe.throw( _( - "Row # {0}: Non administrator user can not set the role {1} to the custom doctype" + "Row # {0}: Non-administrator users cannot add the role {1} to a custom DocType." ).format(d.idx, frappe.bold(_(d.role))), title=_("Permissions Error"), ) diff --git a/frappe/core/doctype/installed_applications/installed_applications.py b/frappe/core/doctype/installed_applications/installed_applications.py index 965d0767ac..0914ad8a68 100644 --- a/frappe/core/doctype/installed_applications/installed_applications.py +++ b/frappe/core/doctype/installed_applications/installed_applications.py @@ -6,6 +6,7 @@ import json import frappe from frappe import _ from frappe.model.document import Document +from frappe.utils.caching import redis_cache class InvalidAppOrder(frappe.ValidationError): @@ -152,24 +153,16 @@ def get_installed_app_order() -> list[str]: return frappe.get_installed_apps(_ensure_on_bench=True) -@frappe.request_cache def get_setup_wizard_completed_apps(): """Get list of apps that have completed setup wizard""" - return frappe.get_all( - "Installed Application", - filters={"has_setup_wizard": 1, "is_setup_complete": 1}, - pluck="app_name", - ) + apps: InstalledApplications = frappe.client_cache.get_doc("Installed Applications") + return [a.app_name for a in apps.installed_applications if a.has_setup_wizard and a.is_setup_complete] -@frappe.request_cache def get_setup_wizard_not_required_apps(): """Get list of apps that do not require setup wizard""" - return frappe.get_all( - "Installed Application", - filters={"has_setup_wizard": 0}, - pluck="app_name", - ) + apps: InstalledApplications = frappe.client_cache.get_doc("Installed Applications") + return [a.app_name for a in apps.installed_applications if not a.has_setup_wizard] @frappe.request_cache @@ -190,17 +183,14 @@ def get_apps_with_incomplete_dependencies(current_app): return pending_apps -@frappe.request_cache def get_setup_wizard_pending_apps(apps=None): """Get list of apps that have completed setup wizard""" - filters = {"has_setup_wizard": 1, "is_setup_complete": 0} + apps: InstalledApplications = frappe.client_cache.get_doc("Installed Applications") + pending_apps = [ + a.app_name for a in apps.installed_applications if a.has_setup_wizard and not a.is_setup_complete + ] if apps: - filters["app_name"] = ["in", apps] + pending_apps = [a for a in pending_apps if a in apps] - return frappe.get_all( - "Installed Application", - filters=filters, - order_by="idx", - pluck="app_name", - ) + return pending_apps diff --git a/frappe/core/doctype/prepared_report/prepared_report.json b/frappe/core/doctype/prepared_report/prepared_report.json index bdf663fa07..fbf1300b89 100644 --- a/frappe/core/doctype/prepared_report/prepared_report.json +++ b/frappe/core/doctype/prepared_report/prepared_report.json @@ -58,7 +58,7 @@ }, { "fieldname": "error_message", - "fieldtype": "Text", + "fieldtype": "Code", "label": "Error Message", "no_copy": 1, "print_hide": 1, diff --git a/frappe/core/doctype/rq_job/test_rq_job.py b/frappe/core/doctype/rq_job/test_rq_job.py index 5bd94b4c1d..d5fa91620c 100644 --- a/frappe/core/doctype/rq_job/test_rq_job.py +++ b/frappe/core/doctype/rq_job/test_rq_job.py @@ -116,7 +116,8 @@ class TestRQJob(IntegrationTestCase): frappe.enqueue(self.BG_JOB, sleep=1, queue=q) _, stderr = execute_in_shell( - "bench worker-pool --queue short,default --burst --num-workers=4", check_exit_code=True + "bench worker-pool --queue short,default --burst --num-workers=4", + check_exit_code=True, ) self.assertIn("quitting", cstr(stderr)) @@ -178,7 +179,7 @@ class TestRQJob(IntegrationTestCase): LAST_MEASURED_USAGE += 2 # Observed higher usage on 3.14. Temporarily raising the limit - LAST_MEASURED_USAGE += 5 + LAST_MEASURED_USAGE += 6 self.assertLessEqual(rss, LAST_MEASURED_USAGE * 1.05, msg) diff --git a/frappe/core/doctype/success_action/success_action.js b/frappe/core/doctype/success_action/success_action.js index 5951be3fc0..84220ba744 100644 --- a/frappe/core/doctype/success_action/success_action.js +++ b/frappe/core/doctype/success_action/success_action.js @@ -41,7 +41,7 @@ frappe.ui.form.on("Success Action", { frm.action_multicheck = frappe.ui.form.make_control({ parent: next_actions_wrapper, df: { - label: "Next Actions", + label: __("Next Actions"), fieldname: "next_actions_multicheck", fieldtype: "MultiCheck", options: action_multicheck_options, diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json index 9a13ccb3a5..d6f9c13cbe 100644 --- a/frappe/core/doctype/user/user.json +++ b/frappe/core/doctype/user/user.json @@ -59,6 +59,7 @@ "view_switcher", "form_settings_section", "form_sidebar", + "form_navigation_buttons", "timeline", "dashboard", "show_absolute_datetime_in_timeline", @@ -636,7 +637,7 @@ "fieldname": "desk_theme", "fieldtype": "Select", "label": "Desk Theme", - "options": "Automatic\nLight\nDark" + "options": "Light\nDark\nAutomatic" }, { "fieldname": "module_profile", @@ -850,6 +851,12 @@ "is_virtual": 1, "label": "Active Sessions", "options": "User Session Display" + }, + { + "default": "0", + "fieldname": "form_navigation_buttons", + "fieldtype": "Check", + "label": "Navigation Buttons" } ], "icon": "fa fa-user", @@ -903,7 +910,7 @@ } ], "make_attachments_public": 1, - "modified": "2025-12-13 12:53:46.486021", + "modified": "2026-01-12 16:04:21.542524", "modified_by": "Administrator", "module": "Core", "name": "User", diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py index 4fbc28a96a..5665ec1c84 100644 --- a/frappe/core/doctype/user/user.py +++ b/frappe/core/doctype/user/user.py @@ -48,6 +48,7 @@ desk_properties = ( "bulk_actions", "view_switcher", "form_sidebar", + "form_navigation_buttons", "timeline", "dashboard", ) @@ -84,7 +85,7 @@ class User(Document): default_app: DF.Literal[None] default_workspace: DF.Link | None defaults: DF.Table[DefaultValue] - desk_theme: DF.Literal["Automatic", "Light", "Dark"] + desk_theme: DF.Literal["Light", "Dark", "Automatic"] document_follow_frequency: DF.Literal["Hourly", "Daily", "Weekly"] document_follow_notify: DF.Check email: DF.Data @@ -96,6 +97,7 @@ class User(Document): follow_created_documents: DF.Check follow_liked_documents: DF.Check follow_shared_documents: DF.Check + form_navigation_buttons: DF.Check form_sidebar: DF.Check full_name: DF.Data | None gender: DF.Link | None @@ -555,7 +557,7 @@ class User(Document): if custom_template: from frappe.email.doctype.email_template.email_template import get_email_template - email_template = get_email_template(custom_template, args) + email_template = get_email_template(custom_template, args, sender=sender) subject = email_template.get("subject") content = email_template.get("message") diff --git a/frappe/core/doctype/version/test_version.py b/frappe/core/doctype/version/test_version.py index b99dc6f046..e7f8829ef6 100644 --- a/frappe/core/doctype/version/test_version.py +++ b/frappe/core/doctype/version/test_version.py @@ -3,12 +3,137 @@ import copy import frappe -from frappe.core.doctype.version.version import get_diff -from frappe.tests import IntegrationTestCase +from frappe.core.doctype.version.version import ( + _as_string, + _generate_html_diff, + _should_generate_html_diff, + get_diff, +) +from frappe.tests import IntegrationTestCase, UnitTestCase from frappe.tests.utils import make_test_objects +class TestHTMLDiff(UnitTestCase): + def test_generate_html_diff_produces_table(self): + """Test HTML diff generates a table with content.""" + result = _generate_html_diff("line1\nline2", "line1\nmodified") + + self.assertIsNotNone(result) + self.assertIn("alert", result) + self.assertNotIn("
injected", result) + # Escaped versions should be present + self.assertIn("<script>", result) + self.assertIn("<div>", result) + + def test_should_generate_html_diff_multiline(self): + """Test should_generate_html_diff returns True for multiline text.""" + self.assertTrue(_should_generate_html_diff("line1\nline2", "line1\nmodified")) + self.assertTrue(_should_generate_html_diff("single", "multi\nline")) + self.assertTrue(_should_generate_html_diff("multi\nline", "single")) + + def test_should_generate_html_diff_long_text(self): + """Test should_generate_html_diff returns True for text > 80 characters.""" + self.assertTrue(_should_generate_html_diff("a" * 81, "b")) + self.assertTrue(_should_generate_html_diff("a", "b" * 81)) + self.assertTrue(_should_generate_html_diff("a" * 81, "b" * 81)) + + def test_should_generate_html_diff_short_text(self): + """Test should_generate_html_diff returns False for short single-line text.""" + self.assertFalse(_should_generate_html_diff("short", "text")) + self.assertFalse(_should_generate_html_diff("a" * 80, "b" * 80)) # Exactly 80 chars + + def test_should_generate_html_diff_empty_values(self): + """Test should_generate_html_diff returns False when either value is empty.""" + self.assertFalse(_should_generate_html_diff("", "short")) + self.assertFalse(_should_generate_html_diff("short", "")) + self.assertFalse(_should_generate_html_diff("", "")) + # Even long/multiline text returns False if the other value is empty + self.assertFalse(_should_generate_html_diff("", "a" * 81)) + self.assertFalse(_should_generate_html_diff("multi\nline", "")) + + def test_as_string_converts_values(self): + """Test _as_string converts values to strings correctly.""" + self.assertEqual(_as_string("text"), "text") + self.assertEqual(_as_string(None), "") + self.assertEqual(_as_string(""), "") + self.assertEqual(_as_string(0), "0") + + class TestVersion(IntegrationTestCase): + def test_onload_generates_html_diffs_for_multiline(self): + """Test onload generates HTML diffs for multiline changes.""" + version = frappe.get_doc( + doctype="Version", + ref_doctype="ToDo", + docname="test-doc", + data=frappe.as_json({"changed": [["description", "line1\nline2", "line1\nmodified"]]}), + ) + + version.onload() + + html_diffs = version.get_onload().get("html_diffs") + self.assertIsNotNone(html_diffs) + self.assertIn("description", html_diffs) + self.assertIn(" 80 characters.""" + version = frappe.get_doc( + doctype="Version", + ref_doctype="ToDo", + docname="test-doc", + data=frappe.as_json({"changed": [["notes", "x" * 81, "y" * 81]]}), + ) + + version.onload() + + html_diffs = version.get_onload().get("html_diffs") + self.assertIsNotNone(html_diffs) + self.assertIn("notes", html_diffs) + + def test_onload_no_html_diffs_for_simple_changes(self): + """Test onload doesn't generate HTML diffs for simple short changes.""" + version = frappe.get_doc( + doctype="Version", + ref_doctype="ToDo", + docname="test-doc", + data=frappe.as_json({"changed": [["status", "Open", "Closed"]]}), + ) + + version.onload() + + html_diffs = version.get_onload().get("html_diffs") + self.assertIsNone(html_diffs) + + def test_onload_handles_empty_data(self): + """Test onload handles empty or missing data gracefully.""" + version = frappe.get_doc( + doctype="Version", + ref_doctype="ToDo", + docname="test-doc", + data=None, + ) + + # Should not raise an error + version.onload() + self.assertIsNone(version.get_onload().get("html_diffs")) + + version.data = frappe.as_json({"changed": []}) + version.onload() + self.assertIsNone(version.get_onload().get("html_diffs")) + def test_get_diff(self): frappe.set_user("Administrator") test_records = make_test_objects("Event", reset=True) diff --git a/frappe/core/doctype/version/version.js b/frappe/core/doctype/version/version.js index 1e26e5f748..8fd83bc15f 100644 --- a/frappe/core/doctype/version/version.js +++ b/frappe/core/doctype/version/version.js @@ -1,12 +1,23 @@ -frappe.ui.form.on("Version", "refresh", function (frm) { - $( - frappe.render_template("version_view", { doc: frm.doc, data: JSON.parse(frm.doc.data) }) - ).appendTo(frm.fields_dict.table_html.$wrapper.empty()); - - frm.add_custom_button(__("Show all Versions"), function () { - frappe.set_route("List", "Version", { - ref_doctype: frm.doc.ref_doctype, - docname: frm.doc.docname, +frappe.ui.form.on("Version", { + refresh: function (frm) { + frm.add_custom_button(__("Show all Versions"), function () { + frappe.set_route("List", "Version", { + ref_doctype: frm.doc.ref_doctype, + docname: frm.doc.docname, + }); }); - }); + + frm.trigger("render_version_view"); + }, + + render_version_view: async function (frm) { + await frappe.model.with_doctype(frm.doc.ref_doctype); + + $( + frappe.render_template("version_view", { + doc: frm.doc, + data: JSON.parse(frm.doc.data), + }) + ).appendTo(frm.fields_dict.table_html.$wrapper.empty()); + }, }); diff --git a/frappe/core/doctype/version/version.py b/frappe/core/doctype/version/version.py index d3ee8ca22d..7ea6f2f039 100644 --- a/frappe/core/doctype/version/version.py +++ b/frappe/core/doctype/version/version.py @@ -1,6 +1,7 @@ # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: MIT. See LICENSE +import difflib import json import frappe @@ -74,6 +75,29 @@ class Version(Document): def get_data(self): return json.loads(self.data) + def onload(self): + """Generate HTML diffs for multiline changes on document load.""" + if not self.data: + return + + data = self.get_data() + changed = data.get("changed", []) + if not changed: + return + + html_diffs = {} + for item in changed: + if len(item) >= 3: + fieldname, old_str, new_str = item[0], _as_string(item[1]), _as_string(item[2]) + if not _should_generate_html_diff(old_str, new_str): + continue + html_diff = _generate_html_diff(old_str, new_str) + if html_diff: + html_diffs[fieldname] = html_diff + + if html_diffs: + self.set_onload("html_diffs", html_diffs) + def get_diff(old, new, for_child=False, compare_cancelled=False): """Get diff between 2 document objects @@ -203,3 +227,32 @@ def get_diff(old, new, for_child=False, compare_cancelled=False): def on_doctype_update(): frappe.db.add_index("Version", ["ref_doctype", "docname"]) + + +def _generate_html_diff(old_str: str, new_str: str) -> str | None: + """Generate HTML diff for the given old and new strings.""" + old_lines = old_str.splitlines(keepends=True) + new_lines = new_str.splitlines(keepends=True) + + differ = difflib.HtmlDiff(wrapcolumn=80) + html_diff = differ.make_table( + old_lines, + new_lines, + fromdesc=frappe._("Original"), + todesc=frappe._("New"), + context=True, + numlines=3, + ) + return html_diff + + +def _should_generate_html_diff(old_str: str, new_str: str) -> bool: + """Determine if HTML diff should be generated for the given values.""" + return ( + old_str and new_str and ("\n" in old_str or "\n" in new_str or len(old_str) > 80 or len(new_str) > 80) + ) + + +def _as_string(value: str | None) -> str: + """Convert the given value to a string.""" + return cstr(value) if value is not None else "" diff --git a/frappe/core/doctype/version/version_view.html b/frappe/core/doctype/version/version_view.html index 7560118174..bbd63df849 100644 --- a/frappe/core/doctype/version/version_view.html +++ b/frappe/core/doctype/version/version_view.html @@ -1,3 +1,52 @@ +
{% if data.comment %}

{{ __("Comment") + " (" + data.comment_type }})

@@ -5,8 +54,19 @@ {% endif %} {% const getEscapedValue = (v) => v === null ? "null" : frappe.utils.escape_html(v) %} +{% const htmlDiffs = (doc.__onload && doc.__onload.html_diffs) || {} %} {% if data.changed && data.changed.length %}

{{ __("Values Changed") }}

+{% for item in data.changed %} + {% if htmlDiffs[item[0]] %} +
+
{{ frappe.meta.get_label(doc.ref_doctype, item[0]) }}
+
{{ htmlDiffs[item[0]] }}
+
+ {% endif %} +{% endfor %} +{% var hasSimpleChanges = data.changed.some(item => !htmlDiffs[item[0]]) %} +{% if hasSimpleChanges %} @@ -17,15 +77,18 @@ {% for item in data.changed %} + {% if !htmlDiffs[item[0]] %} + {% endif %} {% endfor %}
{{ frappe.meta.get_label(doc.ref_doctype, item[0]) }} {{ getEscapedValue(item[1]) }} {{ getEscapedValue(item[2]) }}
{% endif %} +{% endif %} {% var _keys = ["added", "removed"]; %} {% for key in _keys %} diff --git a/frappe/core/number_card/active_rq_worker/active_rq_worker.json b/frappe/core/number_card/active_rq_worker/active_rq_worker.json new file mode 100644 index 0000000000..0f5f4215e2 --- /dev/null +++ b/frappe/core/number_card/active_rq_worker/active_rq_worker.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "", + "creation": "2026-01-11 23:59:34.870238", + "currency": "INR", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "RQ Worker", + "dynamic_filters_json": "[]", + "filters_json": "[]", + "function": "Count", + "idx": 0, + "is_public": 0, + "is_standard": 1, + "label": "Active RQ Worker", + "modified": "2026-01-11 23:59:34.870238", + "modified_by": "Administrator", + "module": "Core", + "name": "Active RQ Worker", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Daily", + "type": "Document Type" +} diff --git a/frappe/core/number_card/error_logs/error_logs.json b/frappe/core/number_card/error_logs/error_logs.json new file mode 100644 index 0000000000..46d66cff65 --- /dev/null +++ b/frappe/core/number_card/error_logs/error_logs.json @@ -0,0 +1,27 @@ +{ + "aggregate_function_based_on": "", + "color": "#CB2929", + "creation": "2026-01-11 23:49:55.987084", + "currency": "INR", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "Error Log", + "dynamic_filters_json": "[]", + "filters_json": "[]", + "function": "Count", + "idx": 0, + "is_public": 0, + "is_standard": 1, + "label": "Error Logs", + "modified": "2026-01-11 23:56:36.628717", + "modified_by": "Administrator", + "module": "Core", + "name": "Error Logs", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Daily", + "type": "Document Type" +} diff --git a/frappe/core/number_card/scheduled_jobs/scheduled_jobs.json b/frappe/core/number_card/scheduled_jobs/scheduled_jobs.json new file mode 100644 index 0000000000..d95d242cc2 --- /dev/null +++ b/frappe/core/number_card/scheduled_jobs/scheduled_jobs.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "", + "creation": "2026-01-11 23:55:30.429516", + "currency": "INR", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "Scheduled Job Type", + "dynamic_filters_json": "[]", + "filters_json": "[]", + "function": "Count", + "idx": 0, + "is_public": 0, + "is_standard": 1, + "label": "Scheduled Jobs", + "modified": "2026-01-11 23:55:30.429516", + "modified_by": "Administrator", + "module": "Core", + "name": "Scheduled Jobs", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Daily", + "type": "Document Type" +} diff --git a/frappe/core/page/permission_manager/permission_manager.js b/frappe/core/page/permission_manager/permission_manager.js index 09b400ae9b..776204fd6a 100644 --- a/frappe/core/page/permission_manager/permission_manager.js +++ b/frappe/core/page/permission_manager/permission_manager.js @@ -309,6 +309,7 @@ frappe.PermissionEngine = class PermissionEngine { .attr("data-doctype", d.parent); checkbox.find("label").css("text-transform", "capitalize"); + checkbox.find("label").css("align-items", "center"); return checkbox; } @@ -415,7 +416,7 @@ frappe.PermissionEngine = class PermissionEngine { add_delete_button(row, d) { $( `` ) .appendTo($(``).appendTo(row)) diff --git a/frappe/core/workspace/system/system.json b/frappe/core/workspace/system/system.json deleted file mode 100644 index 3358064534..0000000000 --- a/frappe/core/workspace/system/system.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "app": "frappe", - "charts": [ - { - "chart_name": "Background Job Activity", - "label": "Background Job Activity" - }, - { - "chart_name": "Notifications By Type", - "label": "Notification Summary" - } - ], - "content": "[{\"id\":\"-bxX6Dwxxy\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Background Job Activity\",\"col\":12}},{\"id\":\"gccD2r7Ut3\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Notification Summary\",\"col\":12}}]", - "creation": "2025-09-08 11:33:57.533875", - "custom_blocks": [], - "docstatus": 0, - "doctype": "Workspace", - "for_user": "", - "hide_custom": 0, - "icon": "monitor-check", - "idx": 0, - "indicator_color": "green", - "is_hidden": 0, - "label": "System", - "link_type": "DocType", - "links": [], - "modified": "2025-10-30 18:22:58.416219", - "modified_by": "Administrator", - "module": "Core", - "name": "System", - "number_cards": [], - "owner": "Administrator", - "parent_page": "", - "public": 1, - "quick_lists": [], - "roles": [], - "sequence_id": 27.0, - "shortcuts": [], - "title": "System", - "type": "Workspace" -} diff --git a/frappe/core/workspace/users/users.json b/frappe/core/workspace/users/users.json index 054685adcc..fd22915df1 100644 --- a/frappe/core/workspace/users/users.json +++ b/frappe/core/workspace/users/users.json @@ -1,6 +1,12 @@ { - "charts": [], - "content": "[{\"id\":\"b7abeqw4NZ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"User\",\"col\":3}},{\"id\":\"eghSJPhZRC\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Role\",\"col\":3}},{\"id\":\"uAzl_lT_C0\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Permission Manager\",\"col\":3}},{\"id\":\"oFB4l28FMU\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"NMpIkExl3i\",\"type\":\"card\",\"data\":{\"card_name\":\"Users\",\"col\":4}},{\"id\":\"VepG3durKm\",\"type\":\"card\",\"data\":{\"card_name\":\"Logs\",\"col\":4}},{\"id\":\"S9FeWt7xXE\",\"type\":\"card\",\"data\":{\"card_name\":\"Permissions\",\"col\":4}}]", + "app": "frappe", + "charts": [ + { + "chart_name": "Login", + "label": "Login Activity" + } + ], + "content": "[{\"id\":\"T_8h_1kB6j\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Login Activity\",\"col\":12}},{\"id\":\"Y9G8gIH9lP\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"System Users\",\"col\":4}},{\"id\":\"78JTmWaYfY\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Website Users\",\"col\":4}},{\"id\":\"vAh1zw5jLk\",\"type\":\"number_card\",\"data\":{\"number_card_name\":\"Failed Login Attempts\",\"col\":4}}]", "creation": "2020-03-02 15:12:16.754449", "custom_blocks": [], "docstatus": 0, @@ -12,14 +18,6 @@ "is_hidden": 0, "label": "Users", "links": [ - { - "hidden": 0, - "is_query_report": 0, - "label": "Logs", - "link_count": 0, - "onboard": 0, - "type": "Card Break" - }, { "dependencies": "", "hidden": 0, @@ -42,14 +40,6 @@ "onboard": 0, "type": "Link" }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Permissions", - "link_count": 0, - "onboard": 0, - "type": "Card Break" - }, { "dependencies": "", "hidden": 0, @@ -105,65 +95,26 @@ "onboard": 0, "report_ref_doctype": "DocShare", "type": "Link" - }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Users", - "link_count": 4, - "link_type": "DocType", - "onboard": 0, - "type": "Card Break" - }, - { - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "User", - "link_count": 0, - "link_to": "User", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Role", - "link_count": 0, - "link_to": "Role", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "dependencies": "", - "hidden": 0, - "is_query_report": 0, - "label": "Role Profile", - "link_count": 0, - "link_to": "Role Profile", - "link_type": "DocType", - "onboard": 0, - "type": "Link" - }, - { - "hidden": 0, - "is_query_report": 0, - "label": "Module Profile", - "link_count": 0, - "link_to": "Module Profile", - "link_type": "DocType", - "onboard": 0, - "type": "Link" } ], - "modified": "2024-08-19 11:48:35.908082", + "modified": "2026-01-11 23:30:10.696298", "modified_by": "Administrator", "module": "Core", "name": "Users", - "number_cards": [], + "number_cards": [ + { + "label": "Website Users", + "number_card_name": "Total Website Users" + }, + { + "label": "System Users", + "number_card_name": "Users" + }, + { + "label": "Failed Login Attempts", + "number_card_name": "Failed Login Attempts" + } + ], "owner": "Administrator", "parent_page": "", "public": 1, @@ -171,26 +122,7 @@ "restrict_to_domain": "", "roles": [], "sequence_id": 13.0, - "shortcuts": [ - { - "doc_view": "", - "label": "User", - "link_to": "User", - "stats_filter": "[]", - "type": "DocType" - }, - { - "doc_view": "", - "label": "Role", - "link_to": "Role", - "stats_filter": "[]", - "type": "DocType" - }, - { - "label": "Permission Manager", - "link_to": "permission-manager", - "type": "Page" - } - ], - "title": "Users" -} \ No newline at end of file + "shortcuts": [], + "title": "Users", + "type": "Workspace" +} diff --git a/frappe/custom/doctype/custom_field/custom_field.json b/frappe/custom/doctype/custom_field/custom_field.json index 6777fc4b35..aba6e4be1f 100644 --- a/frappe/custom/doctype/custom_field/custom_field.json +++ b/frappe/custom/doctype/custom_field/custom_field.json @@ -46,6 +46,7 @@ "print_hide", "print_hide_if_no_value", "print_width", + "alignment", "no_copy", "allow_on_submit", "in_list_view", @@ -302,6 +303,13 @@ "no_copy": 1, "print_hide": 1 }, + { + "depends_on": "eval:['Data', 'Int', 'Float', 'Currency', 'Percent'].includes(doc.fieldtype)", + "fieldname": "alignment", + "fieldtype": "Select", + "label": "Alignment", + "options": "\nLeft\nCenter\nRight" + }, { "default": "0", "fieldname": "no_copy", diff --git a/frappe/custom/doctype/custom_field/custom_field.py b/frappe/custom/doctype/custom_field/custom_field.py index e90a6caf53..02bd0d368c 100644 --- a/frappe/custom/doctype/custom_field/custom_field.py +++ b/frappe/custom/doctype/custom_field/custom_field.py @@ -24,6 +24,7 @@ class CustomField(Document): allow_in_quick_entry: DF.Check allow_on_submit: DF.Check + alignment: DF.Literal["", "Left", "Center", "Right"] bold: DF.Check button_color: DF.Literal["", "Default", "Primary", "Info", "Success", "Warning", "Danger"] collapsible: DF.Check diff --git a/frappe/custom/doctype/customize_form/customize_form.py b/frappe/custom/doctype/customize_form/customize_form.py index 0258abd57e..dc49394630 100644 --- a/frappe/custom/doctype/customize_form/customize_form.py +++ b/frappe/custom/doctype/customize_form/customize_form.py @@ -768,6 +768,7 @@ docfield_properties = { "permlevel": "Int", "width": "Data", "print_width": "Data", + "alignment": "Select", "non_negative": "Check", "reqd": "Check", "unique": "Check", diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.json b/frappe/custom/doctype/customize_form_field/customize_form_field.json index 9d42e98d79..6976cbe0f9 100644 --- a/frappe/custom/doctype/customize_form_field/customize_form_field.json +++ b/frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -65,6 +65,7 @@ "print_hide", "print_hide_if_no_value", "print_width", + "alignment", "columns", "width", "is_custom_field" @@ -356,6 +357,13 @@ "print_width": "50px", "width": "50px" }, + { + "depends_on": "eval:in_list(['Data', 'Int', 'Float', 'Currency', 'Percent'], doc.fieldtype)", + "fieldname": "alignment", + "fieldtype": "Select", + "label": "Alignment", + "options": "\nLeft\nCenter\nRight" + }, { "depends_on": "eval:parent.istable", "description": "Number of columns for a field in a Grid (Total Columns in a grid should be less than 11)", diff --git a/frappe/custom/doctype/customize_form_field/customize_form_field.py b/frappe/custom/doctype/customize_form_field/customize_form_field.py index 9a67a1d944..fcd28b9439 100644 --- a/frappe/custom/doctype/customize_form_field/customize_form_field.py +++ b/frappe/custom/doctype/customize_form_field/customize_form_field.py @@ -16,6 +16,7 @@ class CustomizeFormField(Document): allow_bulk_edit: DF.Check allow_in_quick_entry: DF.Check allow_on_submit: DF.Check + alignment: DF.Literal["", "Left", "Center", "Right"] bold: DF.Check button_color: DF.Literal["", "Default", "Primary", "Info", "Success", "Warning", "Danger"] collapsible: DF.Check diff --git a/frappe/database/database.py b/frappe/database/database.py index fa647eb2d4..57ac3edc61 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -1413,8 +1413,11 @@ class Database: return self.is_missing_column(e) or self.is_table_missing(e) def multisql(self, sql_dict, values=(), **kwargs): + """ + Chooses which query to execute based on the current database type, falling back to a wildcard query. + """ current_dialect = self.db_type or "mariadb" - query = sql_dict.get(current_dialect) + query = sql_dict.get(current_dialect) or sql_dict.get("*") return self.sql(query, values, **kwargs) def delete(self, doctype: str, filters: dict | list | None = None, debug=False, **kwargs): diff --git a/frappe/database/query.py b/frappe/database/query.py index f327e3f385..ba675c077a 100644 --- a/frappe/database/query.py +++ b/frappe/database/query.py @@ -10,6 +10,7 @@ from pypika.terms import AggregateFunction, ArithmeticExpression, Star, Term, Va import frappe from frappe import _ +from frappe.boot import get_additional_filters_from_hooks from frappe.database.operator_map import NESTED_SET_OPERATORS, OPERATOR_MAP from frappe.database.utils import ( DefaultOrderBy, @@ -155,8 +156,10 @@ FUNCTION_CALL_PATTERN = re.compile(r"^\s*[a-zA-Z_][a-zA-Z0-9_]*\s*\(", flags=re. # - `tabTable Name`.`field` (spaces in table name) # - `tabTable-Field`.`field` (hyphens in table name) # - Any of above with aliases: ... as alias +# - Single-quoted aliases with colons (used by reportview child fields): +# - ... as 'Child:field' ALLOWED_FIELD_PATTERN = re.compile( - r"^(?:(`[\w\s-]+`|\w+)\.)?(`\w+`|\w+)(?:\s+as\s+(?:`[\w\s-]+`|\w+))?$", + r"^(?:(`[\w\s-]+`|\w+)\.)?(`\w+`|\w+)(?:\s+as\s+(?:`[\w\s-]+`|'[\w\s:-]+'|\w+))?$", flags=re.ASCII | re.IGNORECASE, ) @@ -529,6 +532,16 @@ class Engine: """Builds a pypika Criterion object for a simple filter condition.""" import operator as builtin_operator + """Check hooks for custom_operator definitions""" + additional_filters_config = get_additional_filters_from_hooks() + if operator.lower() in additional_filters_config: + f = frappe._dict(doctype=doctype or self.doctype, fieldname=field, operator=operator, value=value) + from frappe.model.db_query import get_additional_filter_field + + resolved = get_additional_filter_field(additional_filters_config, f, value) + operator = resolved.get("operator") + value = resolved.get("value", value) + _field = self._validate_and_prepare_filter_field(field, doctype) if isinstance(value, Field): @@ -554,8 +567,17 @@ class Engine: _value = _apply_date_field_filter_conversion(_value, _operator, doctype or self.doctype, field) # For Datetime fields with date values and 'between' operator, convert to datetime range to match db_query - if _operator.lower() == "between" and isinstance(_value, list | tuple) and len(_value) == 2: - _value = _apply_datetime_field_filter_conversion(_value, doctype or self.doctype, field) + if _operator.lower() == "between": + if isinstance(_value, list | tuple) and len(_value) == 2: + _value = _apply_datetime_field_filter_conversion(_value, doctype or self.doctype, field) + elif isinstance(_value, str): + from frappe.model.db_query import get_between_date_filter + + target_meta = frappe.get_meta(doctype or self.doctype) + df = target_meta.get_field(field) + _value = tuple( + v.strip().strip("'") for v in get_between_date_filter(_value, df).split(" AND ") + ) if not _value and isinstance(_value, list | tuple | set): _value = ("",) @@ -726,13 +748,23 @@ class Engine: else: # Assume it's a simple filter [field, op, value] etc. field, value, operator, doctype = None, None, None, None - + additional_filters_config = get_additional_filters_from_hooks() # Determine structure based on length and types - if len(condition) == 3 and isinstance(condition[1], str) and condition[1].lower() in OPERATOR_MAP: + if ( + len(condition) == 3 + and isinstance(condition[1], str) + and ( + condition[1].lower() in OPERATOR_MAP or condition[1].lower() in additional_filters_config + ) + ): # [field, operator, value] field, operator, value = condition elif ( - len(condition) == 4 and isinstance(condition[2], str) and condition[2].lower() in OPERATOR_MAP + len(condition) == 4 + and isinstance(condition[2], str) + and ( + condition[2].lower() in OPERATOR_MAP or condition[2].lower() in additional_filters_config + ) ): # [doctype, field, operator, value] doctype, field, operator, value = condition @@ -963,7 +995,7 @@ class Engine: parts = re.split(r"\s+as\s+", field, flags=re.IGNORECASE) if len(parts) > 1: field_part = parts[0].strip() - alias = parts[1].strip().strip('`"') # Remove potential quotes from alias + alias = parts[1].strip().strip("`\"'") # Remove potential quotes from alias match = FIELD_PARSE_REGEX.match(field_part) @@ -1707,7 +1739,7 @@ class DynamicTableField: parts = re.split(r"\s+as\s+", field, flags=re.IGNORECASE) if len(parts) > 1: field_part = parts[0].strip() - alias = parts[-1].strip().strip('`"') # Get last part as alias + alias = parts[-1].strip().strip("`\"'") # Get last part as alias field = field_part # Use the part before alias for further parsing child_match = None @@ -1833,13 +1865,11 @@ class LinkTableField(DynamicTableField): table = frappe.qb.DocType(self.doctype) main_table = frappe.qb.DocType(self.parent_doctype) if not query.is_joined(table): - clause = table.name == getattr(main_table, self.link_fieldname) - + query = query.left_join(table).on(table.name == getattr(main_table, self.link_fieldname)) if engine and engine.apply_permissions: if condition := engine.get_permission_conditions(self.doctype, table): - clause &= condition + query = query.where(condition) - query = query.left_join(table).on(clause) return query diff --git a/frappe/database/utils.py b/frappe/database/utils.py index 3165046faf..0247d9fce4 100644 --- a/frappe/database/utils.py +++ b/frappe/database/utils.py @@ -193,7 +193,12 @@ def drop_index_if_exists(table: str, index: str): return try: - frappe.db.sql_ddl(f"ALTER TABLE `{table}` DROP INDEX `{index}`") + if frappe.db.db_type == "postgres": + # Postgres drops indexes with DROP INDEX, not ALTER TABLE ... DROP INDEX + safe_index = index.replace('"', '""') + frappe.db.sql_ddl(f'DROP INDEX IF EXISTS "{safe_index}"') + else: + frappe.db.sql_ddl(f"ALTER TABLE `{table}` DROP INDEX `{index}`") except Exception as e: frappe.log_error("Failed to drop index") click.secho(f"x Failed to drop index {index} from {table}\n {e!s}", fg="red") diff --git a/frappe/desk/dashboard_chart/login_activity/login_activity.json b/frappe/desk/dashboard_chart/login_activity/login_activity.json new file mode 100644 index 0000000000..7298a54c52 --- /dev/null +++ b/frappe/desk/dashboard_chart/login_activity/login_activity.json @@ -0,0 +1,34 @@ +{ + "based_on": "communication_date", + "chart_name": "Login Activity", + "chart_type": "Count", + "creation": "2025-08-28 16:48:49.946848", + "currency": "INR", + "docstatus": 0, + "doctype": "Dashboard Chart", + "document_type": "Activity Log", + "dynamic_filters_json": "[]", + "filters_json": "[[\"Activity Log\",\"status\",\"=\",\"Success\",false]]", + "group_by_type": "Count", + "idx": 1, + "is_public": 0, + "is_standard": 1, + "last_synced_on": "2026-01-11 23:34:36.361407", + "modified": "2026-01-11 23:37:58.619758", + "modified_by": "Administrator", + "module": "Desk", + "name": "Login Activity", + "number_of_groups": 0, + "owner": "Administrator", + "parent_document_type": "", + "roles": [], + "show_values_over_chart": 0, + "source": "", + "time_interval": "Daily", + "timeseries": 1, + "timespan": "Last Week", + "type": "Line", + "use_report_chart": 0, + "value_based_on": "", + "y_axis": [] +} diff --git a/frappe/desk/desktop.py b/frappe/desk/desktop.py index 95d1c92556..09d0c94afc 100644 --- a/frappe/desk/desktop.py +++ b/frappe/desk/desktop.py @@ -458,14 +458,6 @@ def get_workspace_sidebar_items(): pages = [] private_pages = [] - # get additional settings from Work Settings - try: - workspace_visibilty = loads( - frappe.db.get_single_value("Workspace Settings", "workspace_visibility_json") or "{}" - ) - except JSONDecodeError: - workspace_visibilty = {} - # Filter Page based on Permission for page in all_pages: try: @@ -477,9 +469,6 @@ def get_workspace_sidebar_items(): private_pages.append(page) page["label"] = _(page.get("name")) - if page["name"] in workspace_visibilty: - page["visibility"] = workspace_visibilty[page["name"]] - if not page["app"] and page["module"]: page["app"] = frappe.db.get_value("Module Def", page["module"], "app_name") or get_module_app( page["module"] @@ -502,9 +491,6 @@ def get_workspace_sidebar_items(): pages.append(next((x for x in all_pages if x["title"] == "Welcome Workspace"), None)) return { - "workspace_setup_completed": frappe.db.get_single_value( - "Workspace Settings", "workspace_setup_completed" - ), "pages": pages, "has_access": has_access, "has_create_access": frappe.has_permission(doctype="Workspace", ptype="create"), diff --git a/frappe/desk/doctype/dashboard_chart/dashboard_chart.py b/frappe/desk/doctype/dashboard_chart/dashboard_chart.py index 1152d9215f..64328dfc43 100644 --- a/frappe/desk/doctype/dashboard_chart/dashboard_chart.py +++ b/frappe/desk/doctype/dashboard_chart/dashboard_chart.py @@ -218,7 +218,7 @@ def get_chart_config(chart, filters, timespan, timegrain, from_date, to_date): else get_period(r[0], timegrain) for r in result ], - "datasets": [{"name": chart.name, "values": [r[1] for r in result]}], + "datasets": [{"name": _(chart.name), "values": [r[1] for r in result]}], } @@ -292,7 +292,7 @@ def get_group_by_chart_config(chart, filters) -> dict | None: if data: return { "labels": [item.get("name", "Not Specified") for item in data], - "datasets": [{"name": chart.name, "values": [item["count"] for item in data]}], + "datasets": [{"name": _(chart.name), "values": [item["count"] for item in data]}], } return None diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index fcca383338..03ab12e0aa 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -47,25 +47,30 @@ class DesktopIcon(Document): def on_trash(self): clear_desktop_icons_cache() if frappe.conf.developer_mode and self.standard and self.app: - self.delete_desktop_icon_file() + delete_desktop_icon_file(self.app, self.label) + + def check_for_restrict_removal(self): + if self.restrict_removal: + frappe.throw(_("Cannot delete Desktop Icon '{0}' as it is restricted").format(self.label)) def on_update(self): + self.export_desktop_icon() + + def after_rename(self, old, new, merge): + delete_desktop_icon_file(self.app, old) + self.export_desktop_icon() + + def export_desktop_icon(self): allow_export = ( self.standard and self.app and not frappe.flags.in_import and frappe.conf.developer_mode ) if allow_export: - self.export_desktop_icon() - - def export_desktop_icon(self): - folder_path = create_directory_on_app_path("desktop_icon", self.app) - file_path = os.path.join(folder_path, f"{frappe.scrub(self.label)}.json") - doc_export = self.as_dict(no_nulls=True, no_private_properties=True) - strip_default_fields(self, doc_export) - # if self.parent_icon: - # print(self.parent_icon) - # doc_export["parent_icon"] = frappe.db.get_value("Desktop Icon", self.parent_icon, "label") - with open(file_path, "w+") as icon_file_doc: - icon_file_doc.write(frappe.as_json(doc_export) + "\n") + folder_path = create_directory_on_app_path("desktop_icon", self.app) + file_path = os.path.join(folder_path, f"{frappe.scrub(self.label)}.json") + doc_export = self.as_dict(no_nulls=True, no_private_properties=True) + strip_default_fields(self, doc_export) + with open(file_path, "w+") as icon_file_doc: + icon_file_doc.write(frappe.as_json(doc_export) + "\n") def delete_desktop_icon_file(self): folder_path = create_directory_on_app_path("desktop_icon", self.app) @@ -81,16 +86,13 @@ class DesktopIcon(Document): else: try: items = bootinfo.workspace_sidebar_item[self.label.lower()]["items"] - # - if len(items) == 0: - return False if len(items) and all(item["type"] == "Section Break" for item in items): return False return True except KeyError: - return False + return True def check_app_permission(self): for a in frappe.get_installed_apps(): @@ -121,6 +123,13 @@ class DesktopIcon(Document): clear_desktop_icons_cache() +def delete_desktop_icon_file(app, label): + folder_path = create_directory_on_app_path("desktop_icon", app) + file_path = os.path.join(folder_path, f"{frappe.scrub(label)}.json") + if os.path.exists(file_path): + os.remove(file_path) + + def get_workspace_names(workspaces): workspace_list = [] for w in workspaces["pages"]: @@ -150,85 +159,37 @@ def get_desktop_icons(user=None, bootinfo=None): "logo_url", "hidden", "name", - "sidebar", - ] - - active_domains = frappe.get_active_domains() - - DocType = frappe.qb.DocType("DocType") - if active_domains: - blocked_condition = ( - (DocType.restrict_to_domain.isnull()) - | (DocType.restrict_to_domain == "") - | (DocType.restrict_to_domain.notin(active_domains)) - ) - else: - blocked_condition = (DocType.restrict_to_domain.isnull()) | (DocType.restrict_to_domain == "") - blocked_doctypes = [ - d.get("name") - for d in frappe.qb.from_(DocType).select(DocType.name).where(blocked_condition).run(as_dict=True) + "restrict_removal", + "icon_image", ] standard_icons = frappe.get_all("Desktop Icon", fields=fields, filters={"standard": 1}) - standard_map = {} - - for icon in standard_icons: - if icon._doctype in blocked_doctypes: - icon.blocked = 1 - standard_map[icon.module_name] = icon - user_icons = frappe.get_all("Desktop Icon", fields=fields, filters={"standard": 0, "owner": user}) + user_icons = user_icons + standard_icons + # for icon in user_icons: + # standard_icon = standard_map.get(icon.module_name, None) - # update hidden property - for icon in user_icons: - standard_icon = standard_map.get(icon.module_name, None) + # # override properties from standard icon + # if standard_icon: + # for key in ("route", "label", "color", "icon", "link"): + # if standard_icon.get(key): + # icon[key] = standard_icon.get(key) - if icon._doctype in blocked_doctypes: - icon.blocked = 1 + # if standard_icon.blocked: + # icon.hidden = 1 - # override properties from standard icon - if standard_icon: - for key in ("route", "label", "color", "icon", "link"): - if standard_icon.get(key): - icon[key] = standard_icon.get(key) + # # flag for modules_select dialog + # icon.hidden_in_standard = 1 - if standard_icon.blocked: - icon.hidden = 1 - - # flag for modules_select dialog - icon.hidden_in_standard = 1 - - elif standard_icon.force_show: - icon.hidden = 0 - - # add missing standard icons (added via new install apps?) - user_icon_names = [icon.module_name for icon in user_icons] - for standard_icon in standard_icons: - if standard_icon.module_name not in user_icon_names: - # if blocked, hidden too! - if standard_icon.blocked: - standard_icon.hidden = 1 - standard_icon.hidden_in_standard = 1 - - user_icons.append(standard_icon) - - user_blocked_modules = frappe.get_lazy_doc("User", user).get_blocked_modules() - for icon in user_icons: - if icon.module_name in user_blocked_modules: - icon.hidden = 1 + # elif standard_icon.force_show: + # icon.hidden = 0 # sort by idx user_icons.sort(key=lambda a: a.idx) - # translate - # for d in user_icons: - # if d.label: - # d.label = _(d.label, context=d.parent) - # includes permitted_icons = [] permitted_parent_labels = set() - if bootinfo: for s in user_icons: icon = frappe.get_doc("Desktop Icon", s) @@ -260,10 +221,9 @@ def create_desktop_icons_from_workspace(): for w in workspaces: icon = frappe.new_doc("Desktop Icon") - icon.link_type = "Workspace" + icon.link_type = "Workspace Sidebar" icon.label = w.name icon.icon_type = "Link" - icon.standard = 1 icon.link_to = w.name icon.icon = w.icon if w.module: @@ -309,7 +269,6 @@ def create_desktop_icons_from_installed_apps(): icon = frappe.new_doc("Desktop Icon") icon.label = app_title icon.link_type = "External" - icon.standard = 1 icon.idx = index icon.icon_type = "App" icon.app = a @@ -323,3 +282,23 @@ def create_desktop_icons_from_installed_apps(): def create_desktop_icons(): create_desktop_icons_from_installed_apps() create_desktop_icons_from_workspace() + + +def create_user_icons(user, data): + user_settings = json.loads(data) + new_icons = user_settings.get("icons_to_create") + if new_icons: + new_icons = json.loads(user_settings.get("icons_to_create")) + if new_icons: + for icon in new_icons: + try: + desktop_icon = frappe.new_doc("Desktop Icon") + desktop_icon.update(icon) + desktop_icon.owner = user + desktop_icon.save() + except Exception as e: + frappe.log_error("Error in syncing icons", e) + user_settings.pop("icons_to_create", None) + frappe.cache.hset("_user_settings", f"{'Desktop Icon'}::{user}", json.dumps(user_settings)) + return json.dumps(user_settings) + return data diff --git a/frappe/desk/doctype/workspace_settings/__init__.py b/frappe/desk/doctype/desktop_layout/__init__.py similarity index 100% rename from frappe/desk/doctype/workspace_settings/__init__.py rename to frappe/desk/doctype/desktop_layout/__init__.py diff --git a/frappe/desk/doctype/desktop_layout/desktop_layout.js b/frappe/desk/doctype/desktop_layout/desktop_layout.js new file mode 100644 index 0000000000..fd2086fbf9 --- /dev/null +++ b/frappe/desk/doctype/desktop_layout/desktop_layout.js @@ -0,0 +1,8 @@ +// Copyright (c) 2026, Frappe Technologies and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Desktop Layout", { +// refresh(frm) { + +// }, +// }); diff --git a/frappe/desk/doctype/desktop_layout/desktop_layout.json b/frappe/desk/doctype/desktop_layout/desktop_layout.json new file mode 100644 index 0000000000..0cdbf5921a --- /dev/null +++ b/frappe/desk/doctype/desktop_layout/desktop_layout.json @@ -0,0 +1,55 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "field:user", + "creation": "2026-01-18 02:17:17.304705", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "user", + "layout" + ], + "fields": [ + { + "fieldname": "user", + "fieldtype": "Link", + "label": "User", + "options": "User", + "unique": 1 + }, + { + "fieldname": "layout", + "fieldtype": "Code", + "label": "Layout", + "options": "JSON" + } + ], + "grid_page_length": 50, + "index_web_pages_for_search": 1, + "links": [], + "modified": "2026-01-18 02:45:37.287424", + "modified_by": "Administrator", + "module": "Desk", + "name": "Desktop Layout", + "naming_rule": "By fieldname", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "row_format": "Dynamic", + "rows_threshold_for_grid_search": 20, + "sort_field": "creation", + "sort_order": "DESC", + "states": [] +} diff --git a/frappe/desk/doctype/desktop_layout/desktop_layout.py b/frappe/desk/doctype/desktop_layout/desktop_layout.py new file mode 100644 index 0000000000..70f8920d4e --- /dev/null +++ b/frappe/desk/doctype/desktop_layout/desktop_layout.py @@ -0,0 +1,50 @@ +# Copyright (c) 2026, Frappe Technologies and contributors +# For license information, please see license.txt + +import json + +import frappe +from frappe.model.document import Document + + +class DesktopLayout(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 + + layout: DF.Code | None + user: DF.Link | None + # end: auto-generated types + + pass + + +@frappe.whitelist() +def save_layout(user, layout, new_icons): + if not user: + user = frappe.session.user + layout = json.loads(layout) + new_icons = json.loads(new_icons) + desktop_layout = None + try: + desktop_layout = frappe.get_doc("Desktop Layout", frappe.session.user) + except frappe.DoesNotExistError: + frappe.clear_last_message() + desktop_layout = frappe.new_doc("Desktop Layout") + desktop_layout.user = frappe.session.user + + if layout: + desktop_layout.layout = json.dumps(layout) + desktop_layout.save() + + for icon in new_icons: + desktop_icon = frappe.new_doc("Desktop Icon") + desktop_icon.update(icon) + desktop_icon.owner = frappe.session.user + desktop_icon.save() + + return {"layout": layout} diff --git a/frappe/desk/doctype/desktop_layout/test_desktop_layout.py b/frappe/desk/doctype/desktop_layout/test_desktop_layout.py new file mode 100644 index 0000000000..06ab2868be --- /dev/null +++ b/frappe/desk/doctype/desktop_layout/test_desktop_layout.py @@ -0,0 +1,20 @@ +# Copyright (c) 2026, Frappe Technologies and Contributors +# See license.txt + +# import frappe +from frappe.tests import IntegrationTestCase + +# On IntegrationTestCase, the doctype test records and all +# link-field test record dependencies are recursively loaded +# Use these module variables to add/remove to/from that list +EXTRA_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"] +IGNORE_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"] + + +class IntegrationTestDesktopLayout(IntegrationTestCase): + """ + Integration tests for DesktopLayout. + Use this class for testing interactions between multiple components. + """ + + pass diff --git a/frappe/desk/doctype/desktop_settings/desktop_settings.json b/frappe/desk/doctype/desktop_settings/desktop_settings.json index 7a3b57e51e..20b7f56b67 100644 --- a/frappe/desk/doctype/desktop_settings/desktop_settings.json +++ b/frappe/desk/doctype/desktop_settings/desktop_settings.json @@ -5,36 +5,22 @@ "doctype": "DocType", "engine": "InnoDB", "field_order": [ - "icon_style", - "navbar_style", - "show_app_icons_as_folder" + "icon_style" ], "fields": [ { - "default": "Subtle", + "default": "Solid", "fieldname": "icon_style", "fieldtype": "Select", "label": "Icon Style", "options": "Subtle\nSolid" - }, - { - "fieldname": "navbar_style", - "fieldtype": "Select", - "label": "Navbar Style", - "options": "Awesomebar\nmacOS Launchpad\nBrand Logo\nBrand Logo with Search\nTimeless Launchpad\nApps with Search" - }, - { - "default": "0", - "fieldname": "show_app_icons_as_folder", - "fieldtype": "Check", - "label": "Show App Icons As Folder" } ], "grid_page_length": 50, "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2025-12-12 07:11:57.947973", + "modified": "2026-01-12 14:14:52.189474", "modified_by": "Administrator", "module": "Desk", "name": "Desktop Settings", diff --git a/frappe/desk/doctype/desktop_settings/desktop_settings.py b/frappe/desk/doctype/desktop_settings/desktop_settings.py index 9a89035911..6747b49162 100644 --- a/frappe/desk/doctype/desktop_settings/desktop_settings.py +++ b/frappe/desk/doctype/desktop_settings/desktop_settings.py @@ -15,15 +15,6 @@ class DesktopSettings(Document): from frappe.types import DF icon_style: DF.Literal["Subtle", "Solid"] - navbar_style: DF.Literal[ - "Awesomebar", - "macOS Launchpad", - "Brand Logo", - "Brand Logo with Search", - "Timeless Launchpad", - "Apps with Search", - ] - show_app_icons_as_folder: DF.Check # end: auto-generated types pass diff --git a/frappe/desk/doctype/kanban_board/kanban_board.py b/frappe/desk/doctype/kanban_board/kanban_board.py index 7560837584..bf9e41d9d6 100644 --- a/frappe/desk/doctype/kanban_board/kanban_board.py +++ b/frappe/desk/doctype/kanban_board/kanban_board.py @@ -221,8 +221,8 @@ def quick_kanban_board(doctype, board_name, field_name, project=None): def get_order_for_column(board, colname): filters = [[board.reference_doctype, board.field_name, "=", colname]] - if board.filters: - filters.append(frappe.parse_json(board.filters)[0]) + if board.filters and (parsed_filters := frappe.parse_json(board.filters)): + filters.append(parsed_filters[0]) return frappe.as_json(frappe.get_list(board.reference_doctype, filters=filters, pluck="name")) diff --git a/frappe/desk/doctype/system_health_report/system_health_report.py b/frappe/desk/doctype/system_health_report/system_health_report.py index a9fccc4d48..3c70c16bdc 100644 --- a/frappe/desk/doctype/system_health_report/system_health_report.py +++ b/frappe/desk/doctype/system_health_report/system_health_report.py @@ -203,7 +203,7 @@ class SystemHealthReport(Document): # Exclude "maybe" curently executing job upper_threshold = add_to_date(None, minutes=-30, as_datetime=True) - mariadb_query = """ + query = """ SELECT scheduled_job_type, AVG(CASE WHEN status != 'Complete' THEN 1 ELSE 0 END) * 100 AS failure_rate FROM `tabScheduled Job Log` @@ -231,25 +231,10 @@ class SystemHealthReport(Document): LIMIT 5 """ - sqlite_query = """ - SELECT scheduled_job_type, - AVG(CASE WHEN status != 'Complete' THEN 1 ELSE 0 END) * 100 AS failure_rate - FROM `tabScheduled Job Log` - WHERE - creation > %(lower_threshold)s - AND modified > %(lower_threshold)s - AND creation < %(upper_threshold)s - GROUP BY scheduled_job_type - HAVING failure_rate > 0 - ORDER BY failure_rate DESC - LIMIT 5 - """ - failing_jobs = frappe.db.multisql( { - "mariadb": mariadb_query, "postgres": postgres_query, - "sqlite": sqlite_query, + "*": query, }, {"lower_threshold": lower_threshold, "upper_threshold": upper_threshold}, as_dict=True, diff --git a/frappe/desk/doctype/workspace/workspace.py b/frappe/desk/doctype/workspace/workspace.py index 40c75bc697..4ee11c1725 100644 --- a/frappe/desk/doctype/workspace/workspace.py +++ b/frappe/desk/doctype/workspace/workspace.py @@ -127,8 +127,6 @@ class Workspace(Document): def on_trash(self): if self.public and not is_workspace_manager(): frappe.throw(_("You need to be Workspace Manager to delete a public workspace.")) - self.delete_desktop_icon() - self.delete_workspace_sidebar() self.delete_from_my_workspaces() def delete_from_my_workspaces(self): @@ -145,25 +143,6 @@ class Workspace(Document): if self.module and frappe.conf.developer_mode: delete_folder(self.module, "Workspace", self.title) - def delete_desktop_icon(self): - if self.public: - desktop_icon = frappe.get_all( - "Desktop Icon", - filters=[{"link_type": "Workspace"}, {"link_to": self.name}], - limit=1, - pluck="name", - ) - if desktop_icon: - frappe.delete_doc("Desktop Icon", desktop_icon[0]) - - def delete_workspace_sidebar(self): - if self.public: - workspace_sidebar = frappe.get_all( - "Workspace Sidebar", filters=[{"name": self.name}], limit=1, pluck="name" - ) - if workspace_sidebar: - frappe.delete_doc("Workspace Sidebar", workspace_sidebar[0]) - @staticmethod def get_module_wise_workspaces(): workspaces = frappe.get_all( @@ -328,7 +307,8 @@ def new_page(new_page): # add to workspace sidebar items if not doc.public: add_to_my_workspace(doc) - return {"workspace_pages": get_workspace_sidebar_items(), "sidebar_items": get_sidebar_items()} + workspaces = get_workspace_sidebar_items() + return {"workspace_pages": workspaces, "sidebar_items": get_sidebar_items(workspaces)} @frappe.whitelist() diff --git a/frappe/desk/doctype/workspace_settings/test_workspace_settings.py b/frappe/desk/doctype/workspace_settings/test_workspace_settings.py deleted file mode 100644 index 219ba291c7..0000000000 --- a/frappe/desk/doctype/workspace_settings/test_workspace_settings.py +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2024, Frappe Technologies and Contributors -# See license.txt - -# import frappe -from frappe.tests import IntegrationTestCase - - -class TestWorkspaceSettings(IntegrationTestCase): - pass diff --git a/frappe/desk/doctype/workspace_settings/workspace_settings.js b/frappe/desk/doctype/workspace_settings/workspace_settings.js deleted file mode 100644 index 100743fbe0..0000000000 --- a/frappe/desk/doctype/workspace_settings/workspace_settings.js +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2024, Frappe Technologies and contributors -// For license information, please see license.txt - -frappe.ui.form.on("Workspace Settings", { - setup(frm) { - frm.hide_full_form_button = true; - frm.docfields = []; - frm.workspace_map = {}; - let workspace_visibilty = JSON.parse(frm.doc.workspace_visibility_json || "{}"); - - // build fields from workspaces - let cnt = 0, - column_added = false; - for (let page of frappe.boot.allowed_workspaces) { - if (page.public) { - frm.workspace_map[page.name] = page; - cnt++; - frm.docfields.push({ - fieldtype: "Check", - fieldname: page.name, - label: page.title + (page.parent_page ? ` (${page.parent_page})` : ""), - initial_value: workspace_visibilty[page.name] !== 0, // not set is also visible - }); - } - } - - frappe.temp = frm; - }, - validate(frm) { - frm.doc.workspace_visibility_json = JSON.stringify(frm.dialog.get_values()); - frm.doc.workspace_setup_completed = 1; - }, - after_save(frm) { - // reload page to show latest sidebar - frappe.app.sidebar.reload(); - }, -}); diff --git a/frappe/desk/doctype/workspace_settings/workspace_settings.json b/frappe/desk/doctype/workspace_settings/workspace_settings.json deleted file mode 100644 index 0bc478d9c0..0000000000 --- a/frappe/desk/doctype/workspace_settings/workspace_settings.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "actions": [], - "allow_rename": 1, - "creation": "2024-08-02 14:20:30.177818", - "doctype": "DocType", - "engine": "InnoDB", - "field_order": [ - "select_workspaces_section", - "workspace_visibility_json", - "workspace_setup_completed" - ], - "fields": [ - { - "fieldname": "select_workspaces_section", - "fieldtype": "Section Break", - "label": "Select Workspaces" - }, - { - "fieldname": "workspace_visibility_json", - "fieldtype": "JSON", - "in_list_view": 1, - "label": "Workspace Visibility", - "reqd": 1 - }, - { - "default": "0", - "fieldname": "workspace_setup_completed", - "fieldtype": "Check", - "label": "Workspace Setup Completed" - } - ], - "index_web_pages_for_search": 1, - "issingle": 1, - "links": [], - "modified": "2024-09-03 21:29:54.127014", - "modified_by": "Administrator", - "module": "Desk", - "name": "Workspace Settings", - "owner": "Administrator", - "permissions": [ - { - "create": 1, - "delete": 1, - "email": 1, - "print": 1, - "read": 1, - "role": "System Manager", - "share": 1, - "write": 1 - }, - { - "create": 1, - "delete": 1, - "email": 1, - "print": 1, - "read": 1, - "role": "Workspace Manager", - "share": 1, - "write": 1 - } - ], - "quick_entry": 1, - "sort_field": "creation", - "sort_order": "DESC", - "states": [] -} \ No newline at end of file diff --git a/frappe/desk/doctype/workspace_settings/workspace_settings.py b/frappe/desk/doctype/workspace_settings/workspace_settings.py deleted file mode 100644 index 5197b6bc60..0000000000 --- a/frappe/desk/doctype/workspace_settings/workspace_settings.py +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright (c) 2024, Frappe Technologies and contributors -# For license information, please see license.txt - -import json - -import frappe -from frappe.model.document import Document - - -class WorkspaceSettings(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 - - workspace_setup_completed: DF.Check - workspace_visibility_json: DF.JSON - # end: auto-generated types - - pass - - def on_update(self): - frappe.clear_cache() - - -@frappe.whitelist() -def set_sequence(sidebar_items): - if not WorkspaceSettings("Workspace Settings").has_permission(): - frappe.throw_permission_error() - - cnt = 1 - for item in json.loads(sidebar_items): - frappe.db.set_value("Workspace", item.get("name"), "sequence_id", cnt) - frappe.db.set_value("Workspace", item.get("name"), "parent_page", item.get("parent") or "") - cnt += 1 - - frappe.clear_cache() - frappe.toast(frappe._("Updated")) diff --git a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js index e83985f52d..5e99899af9 100644 --- a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js +++ b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js @@ -3,6 +3,10 @@ frappe.ui.form.on("Workspace Sidebar", { refresh(frm) { + if (frm.doc.standard && !frappe.boot.developer_mode) { + frm.set_intro("This is a standard sidebar and cannot be edited"); + frm.set_read_only(); + } if (!frm.is_new()) { frm.add_custom_button(__(`View Sidebar`), () => { if (frm.doc.items[0].link_type === "DocType") { @@ -27,10 +31,10 @@ frappe.ui.form.on("Workspace Sidebar Item", { let row = locals[cdt][cdn]; let grid = frm.fields_dict.items.grid; let link_to = row.link_to; - if (link_to) { + let row_obj = grid.get_grid_row(cdn); + if (link_to && row.link_type === "DocType" && row_obj) { frappe.model.with_doctype(link_to, function () { let meta = frappe.get_meta(link_to); - let row_obj = grid.get_grid_row(cdn); let field_obj = row_obj.get_field("navigate_to_tab"); let tab_fieldnames = meta.fields .filter((field) => field.fieldtype === "Tab Break") @@ -41,3 +45,34 @@ frappe.ui.form.on("Workspace Sidebar Item", { } }, }); + +frappe.ui.form.on("Workspace Sidebar Item", { + form_render(frm, cdt, cdn) { + const row = locals[cdt][cdn]; + let grid = frm.fields_dict.items.grid; + let row_obj = grid.get_grid_row(cdn); + let link_to = row.link_to; + if (!row_obj) return; + grid.update_docfield_property("filters", "hidden", 1); + const field = row_obj.get_field("filter_area"); + if (!field) return; + let filter_group = new frappe.ui.FilterGroup({ + parent: $(field.wrapper), + doctype: link_to, + on_change: () => { + frm.dirty(); + let fieldname = "filters"; + let value = JSON.stringify(filter_group.get_filters()); + frappe.model.set_value(cdt, cdn, fieldname, value); + }, + }); + $(field.wrapper).find(".filter-area").css("margin-bottom", "10px"); + $(field.wrapper) + .find(".filter-area") + .prepend(""); + + if (row.filters) { + filter_group.add_filters_to_filter_group(JSON.parse(row.filters)); + } + }, +}); diff --git a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json index 5c27986964..b2ffbdc56c 100644 --- a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json +++ b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json @@ -8,10 +8,13 @@ "field_order": [ "title", "header_icon", - "app", "for_user", - "items", - "module" + "module", + "column_break_pukb", + "standard", + "app", + "section_break_vdyo", + "items" ], "fields": [ { @@ -33,6 +36,7 @@ "label": "Header Icon" }, { + "depends_on": "eval: doc.standard == 1", "fieldname": "app", "fieldtype": "Autocomplete", "label": "App", @@ -49,12 +53,26 @@ "fieldtype": "Text", "hidden": 1, "label": "Module" + }, + { + "default": "0", + "fieldname": "standard", + "fieldtype": "Check", + "label": "Standard" + }, + { + "fieldname": "column_break_pukb", + "fieldtype": "Column Break" + }, + { + "fieldname": "section_break_vdyo", + "fieldtype": "Section Break" } ], "grid_page_length": 50, "index_web_pages_for_search": 1, "links": [], - "modified": "2025-12-10 20:20:26.518699", + "modified": "2026-01-10 22:12:40.504715", "modified_by": "Administrator", "module": "Desk", "name": "Workspace Sidebar", diff --git a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py index f920564cd9..7360fdc24f 100644 --- a/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py +++ b/frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py @@ -29,6 +29,7 @@ class WorkspaceSidebar(Document): for_user: DF.Link | None items: DF.Table[WorkspaceSidebarItem] module: DF.Text | None + standard: DF.Check title: DF.Data | None # end: auto-generated types @@ -37,6 +38,7 @@ class WorkspaceSidebar(Document): if not frappe.flags.in_migrate: self.user = frappe.get_user() self.can_read = self.get_cached("user_perm_can_read", self.get_can_read_items) + self.allowed_modules = self.get_cached("user_allowed_modules", self.get_allowed_modules) self.allowed_pages = get_allowed_pages(cache=True) self.allowed_reports = get_allowed_reports(cache=True) @@ -48,33 +50,31 @@ class WorkspaceSidebar(Document): self.user.build_permissions() def before_save(self): - allow_export = self.app and not frappe.flags.in_import and frappe.conf.developer_mode - if allow_export: - self.export_sidebar() + self.export_sidebar() self.set_module() def export_sidebar(self): - folder_path = create_directory_on_app_path("workspace_sidebar", self.app) - file_path = os.path.join(folder_path, f"{frappe.scrub(self.title)}.json") - doc_export = self.as_dict(no_nulls=True, no_private_properties=True) - doc_export = strip_default_fields(self, doc_export) - with open(file_path, "w+") as doc_file: - doc_file.write(frappe.as_json(doc_export) + "\n") - - def delete_file(self): - folder_path = create_directory_on_app_path("workspace_sidebar", self.app) - file_path = os.path.join(folder_path, f"{frappe.scrub(self.title)}.json") - if os.path.exists(file_path): - os.remove(file_path) + allow_export = self.app and not frappe.flags.in_import and frappe.conf.developer_mode + if allow_export: + folder_path = create_directory_on_app_path("workspace_sidebar", self.app) + file_path = os.path.join(folder_path, f"{frappe.scrub(self.title)}.json") + doc_export = self.as_dict(no_nulls=True, no_private_properties=True) + doc_export = strip_default_fields(self, doc_export) + with open(file_path, "w+") as doc_file: + doc_file.write(frappe.as_json(doc_export) + "\n") def on_trash(self): if is_workspace_manager(): if frappe.conf.developer_mode and self.app: - self.delete_file() + delete_file(self.app, self.title) else: frappe.throw(_("You need to be Workspace Manager to delete a public workspace.")) - def is_item_allowed(self, name, item_type): + def after_rename(self, old, new, merge): + delete_file(self.app, old) + self.export_sidebar() + + def is_item_allowed(self, name, item_type, allowed_workspaces): if frappe.session.user == "Administrator": return True @@ -96,6 +96,8 @@ class WorkspaceSidebar(Document): return True if item_type == "url": return True + if item_type == "workspace": + return name in allowed_workspaces def get_cached(self, cache_key, fallback_fn): value = frappe.cache.get_value(cache_key, user=frappe.session.user) @@ -127,6 +129,19 @@ class WorkspaceSidebar(Document): if counts and counts.most_common(1)[0]: return counts.most_common(1)[0][0] + def get_allowed_modules(self): + if not self.user.allow_modules: + self.user.build_permissions() + + return self.user.allow_modules + + +def delete_file(app, title): + folder_path = create_directory_on_app_path("workspace_sidebar", app) + file_path = os.path.join(folder_path, f"{frappe.scrub(title)}.json") + if os.path.exists(file_path): + os.remove(file_path) + def is_workspace_manager(): return "Workspace Manager" in frappe.get_roles() @@ -313,7 +328,7 @@ def choose_top_doctypes(doctype_names): try: doctype_count_map = {} for doctype in doctype_names: - if not is_single_doctype(doctype): + if not is_single_doctype(doctype) and not frappe.get_meta(doctype).is_virtual: doctype_count_map[doctype] = frappe.db.count(doctype) top_doctypes = [ name diff --git a/frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json b/frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json index 335f83e1ad..5e0656d946 100644 --- a/frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json +++ b/frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json @@ -25,6 +25,7 @@ "column_break_jexf", "display_depends_on", "section_break_whjq", + "filter_area", "filters", "route_options" ], @@ -45,7 +46,7 @@ }, { "default": "DocType", - "depends_on": "eval: doc.type == 'Link' || doc.indent == 1", + "depends_on": "eval: doc.type == 'Link'", "fieldname": "link_type", "fieldtype": "Select", "in_list_view": 1, @@ -53,7 +54,7 @@ "options": "DocType\nPage\nReport\nWorkspace\nDashboard\nURL" }, { - "depends_on": "eval: doc.link_type != \"URL\" && doc.type == 'Link' || doc.indent == 1", + "depends_on": "eval: doc.link_type != \"URL\" && doc.type == 'Link'", "fieldname": "link_to", "fieldtype": "Dynamic Link", "in_list_view": 1, @@ -61,7 +62,7 @@ "options": "link_type" }, { - "depends_on": "eval: doc.type == \"Link\"", + "depends_on": "eval: doc.type == \"Link\" || doc.type == \"Section Break\"", "fieldname": "icon", "fieldtype": "Icon", "in_list_view": 1, @@ -162,13 +163,18 @@ "fieldname": "navigate_to_tab", "fieldtype": "Autocomplete", "label": "Tab" + }, + { + "fieldname": "filter_area", + "fieldtype": "HTML", + "label": "Filter Area" } ], "grid_page_length": 50, "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2025-12-29 17:11:16.069665", + "modified": "2026-01-12 15:35:56.930873", "modified_by": "Administrator", "module": "Desk", "name": "Workspace Sidebar Item", diff --git a/frappe/desk/form/assign_to.py b/frappe/desk/form/assign_to.py index 655d81a7ab..bcebd4db0e 100644 --- a/frappe/desk/form/assign_to.py +++ b/frappe/desk/form/assign_to.py @@ -155,7 +155,7 @@ def close_all_assignments(doctype, name, ignore_permissions=False): assignments = frappe.get_all( "ToDo", fields=["allocated_to", "name"], - filters=dict(reference_type=doctype, reference_name=name, status=("!=", "Cancelled")), + filters=dict(reference_type=doctype, reference_name=name, status=("not in", ["Cancelled", "Closed"])), ) if not assignments: return False diff --git a/frappe/desk/form/load.py b/frappe/desk/form/load.py index a0e6999b87..87f1954093 100644 --- a/frappe/desk/form/load.py +++ b/frappe/desk/form/load.py @@ -334,8 +334,7 @@ def get_communication_data( return frappe.db.multisql( { "sqlite": sqlite_query, - "postgres": query, - "mariadb": query, + "*": query, }, dict( doctype=doctype, diff --git a/frappe/desk/number_card/failed_login_attempts/failed_login_attempts.json b/frappe/desk/number_card/failed_login_attempts/failed_login_attempts.json index 89854e1523..ee15748684 100644 --- a/frappe/desk/number_card/failed_login_attempts/failed_login_attempts.json +++ b/frappe/desk/number_card/failed_login_attempts/failed_login_attempts.json @@ -7,13 +7,13 @@ "doctype": "Number Card", "document_type": "Activity Log", "dynamic_filters_json": "[]", - "filters_json": "[[\"Activity Log\",\"status\",\"=\",\"Failed\"]]", + "filters_json": "[[\"Activity Log\",\"status\",\"=\",\"Failed\",false]]", "function": "Count", "idx": 0, "is_public": 0, "is_standard": 1, "label": "Failed Login Attempts", - "modified": "2025-08-31 19:21:55.040453", + "modified": "2026-01-11 23:37:25.824490", "modified_by": "Administrator", "module": "Desk", "name": "Failed Login Attempts", diff --git a/frappe/desk/number_card/published_web_forms/published_web_forms.json b/frappe/desk/number_card/published_web_forms/published_web_forms.json index 314ae14a6b..1115c3db1f 100644 --- a/frappe/desk/number_card/published_web_forms/published_web_forms.json +++ b/frappe/desk/number_card/published_web_forms/published_web_forms.json @@ -7,13 +7,13 @@ "doctype": "Number Card", "document_type": "Web Form", "dynamic_filters_json": "[]", - "filters_json": "[[\"Web Form\",\"published\",\"=\",1]]", + "filters_json": "[[\"Web Form\",\"published\",\"=\",1,false]]", "function": "Count", - "idx": 0, + "idx": 1, "is_public": 0, "is_standard": 1, "label": "Published Web Forms", - "modified": "2025-09-08 11:23:24.431998", + "modified": "2026-01-11 23:36:48.565273", "modified_by": "Administrator", "module": "Desk", "name": "Published Web Forms", diff --git a/frappe/desk/number_card/total_website_users/total_website_users.json b/frappe/desk/number_card/total_website_users/total_website_users.json new file mode 100644 index 0000000000..01af1b9f8a --- /dev/null +++ b/frappe/desk/number_card/total_website_users/total_website_users.json @@ -0,0 +1,26 @@ +{ + "aggregate_function_based_on": "", + "creation": "2025-08-21 04:10:39.412970", + "currency": "INR", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "User", + "dynamic_filters_json": "[]", + "filters_json": "[[\"User\",\"user_type\",\"=\",\"Website User\"]]", + "function": "Count", + "idx": 1, + "is_public": 0, + "is_standard": 1, + "label": "Total Website Users", + "modified": "2026-01-11 23:37:03.758465", + "modified_by": "Administrator", + "module": "Desk", + "name": "Total Website Users", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Daily", + "type": "Document Type" +} diff --git a/frappe/desk/number_card/users/users.json b/frappe/desk/number_card/users/users.json new file mode 100644 index 0000000000..31b74dd490 --- /dev/null +++ b/frappe/desk/number_card/users/users.json @@ -0,0 +1,27 @@ +{ + "aggregate_function_based_on": "", + "color": "#29CD42", + "creation": "2025-08-21 01:13:53.957596", + "currency": "INR", + "docstatus": 0, + "doctype": "Number Card", + "document_type": "User", + "dynamic_filters_json": "[]", + "filters_json": "[[\"User\",\"user_type\",\"=\",\"System User\",false]]", + "function": "Count", + "idx": 2, + "is_public": 0, + "is_standard": 1, + "label": "Total System Users", + "modified": "2026-01-11 23:37:07.673546", + "modified_by": "Administrator", + "module": "Desk", + "name": "Users", + "owner": "Administrator", + "parent_document_type": "", + "report_function": "Sum", + "show_full_number": 0, + "show_percentage_stats": 1, + "stats_time_interval": "Daily", + "type": "Document Type" +} diff --git a/frappe/desk/page/desktop/desktop.css b/frappe/desk/page/desktop/desktop.css index 9749e9af25..d0d8514028 100644 --- a/frappe/desk/page/desktop/desktop.css +++ b/frappe/desk/page/desktop/desktop.css @@ -7,6 +7,7 @@ --folder-icon-background-color: var(--surface-gray-1); --desktop-modal-radius: 30px; --desktop-icon-line-height: 115%; + --navbar-height: 52px; } [data-theme="dark"]{ --folder-icon-background-color: #2b2b2b; @@ -27,7 +28,7 @@ width: 100%; padding: 10px 20px 10px 20px; box-sizing: border-box; - height: 52px; + height: var(--navbar-height); position: sticky; top: 0px; z-index: 1030; @@ -103,7 +104,7 @@ padding: 13px 16px 12px 16px; position: relative; } -.desktop-icon.edit-mode .hide-button { +.desktop-icon.desktop-edit-mode .hide-button { display: flex; } .icon-container:has(.app-logo) { @@ -234,7 +235,7 @@ } .modal-body .icons{ margin-top: 0px; - place-self: start; + place-self: anchor-center; & .desktop-icon{ height: 126px; width: 127px; @@ -337,7 +338,7 @@ left: 108px; } -.edit-mode{ +.desktop-edit-mode{ border: 1px dashed var(--outline-gray-2); border-radius: 20px; } @@ -395,7 +396,9 @@ } .desktop-modal-body { - width: 90vw; + width: calc(100vw - 20px); + padding-left: 0px !important; + padding-right: 0px !important; > .icons-container { width: 100%; overflow: hidden !important; @@ -404,10 +407,8 @@ padding: 0; > .icons { - position: relative; - right: 6%; - column-gap: 4px; - row-gap: 8px; + column-gap: 6px; + row-gap: 6px; @media screen and (max-width: 380px) { --desktop-icon-container: 100px; @@ -446,9 +447,86 @@ bottom: 4%; right: 4%; z-index: 100; - opacity: 0.1; + opacity: 6%; + border-radius: 10px; } + .desktop-edit:hover{ opacity: 1; transition: opacity 0.3s; +} + +[data-theme="dark"] .desktop-edit{ + background-color: var(--surface-gray-3); + opacity: 1; +} + +[data-theme="dark"] .desktop-edit:hover{ + opacity: 0.8; + transition: opacity 0.3s; +} +.desktop-navbar-modal-search:hover{ + outline: 1px solid var(--surface-gray-3); +} +.desktop-pane{ + position: absolute; + top: var(--navbar-height); + right: 0px; + width: 300px; + border-left: 1px solid var(--border-color); + background-color: rgba(255,255,255, 1); + height: 100vh; +} +.pane-header{ + display: flex; + font-size: var(--text-lg); + padding: var(--padding-md); + align-items: center; + justify-content: space-between; + border-bottom: 1px solid var(--border-color); +} +.pane-icons-area{ + .icons-container { + height: 100%; + margin-top: 0px; + } + .icons{ + height: 100%; + overflow: scroll; + } +} + +.add-new-icon{ + cursor: pointer; + gap: 0px; + justify-content: center; +} + +.title-widget{ + display: inline-block; + position: relative; +} + +.title-input-label{ + position: absolute; + top: 0px; + color: var(--neutral-white); + line-height: 22px; + z-index: 1; + pointers-events: none; + width: 100%; + text-align: center; +} +.title-input-wrapper{ + position: relative; + display: inline-block; + +} + +.title-input-wrapper input{ + border: 1px solid transparent; + width: 100%; + height: 100%; + background: none; + color: var(--neutral-white); } \ No newline at end of file diff --git a/frappe/desk/page/desktop/desktop.html b/frappe/desk/page/desktop/desktop.html index d084b62371..54d60c2d5e 100644 --- a/frappe/desk/page/desktop/desktop.html +++ b/frappe/desk/page/desktop/desktop.html @@ -23,9 +23,37 @@
-
+
+
+ +
+
+
+
-
@@ -37,4 +65,5 @@ {{ _("Save") }}
+ diff --git a/frappe/desk/page/desktop/desktop.js b/frappe/desk/page/desktop/desktop.js index aa57336819..8b0ef1c1dc 100644 --- a/frappe/desk/page/desktop/desktop.js +++ b/frappe/desk/page/desktop/desktop.js @@ -1,6 +1,7 @@ frappe.desktop_utils = {}; frappe.desktop_grids = []; frappe.desktop_icons_objects = []; +frappe.new_icons = []; $.extend(frappe.desktop_utils, { modal: null, modal_stack: [], @@ -42,6 +43,9 @@ function get_route(desktop_icon) { let item = {}; if (desktop_icon.link_type == "External" && desktop_icon.link) { route = window.location.origin + desktop_icon.link; + if (desktop_icon.link.startsWith("http") || desktop_icon.link.startsWith("https")) { + route = desktop_icon.link; + } } else { let sidebar = frappe.boot.workspace_sidebar_item[desktop_icon.label.toLowerCase()]; if (desktop_icon.link_type == "Workspace Sidebar" && sidebar) { @@ -63,10 +67,12 @@ function get_route(desktop_icon) { route = frappe.utils.generate_route(args); } else if (first_link.link_type == "Workspace") { let workspaces = frappe.workspaces[frappe.router.slug(first_link.link_to)]; - if (workspaces.public) { - route = "/desk/" + frappe.router.slug(first_link.link_to); - } else { - route = "/desk/private/" + frappe.router.slug(workspaces.title); + if (workspaces) { + if (workspaces.public) { + route = "/desk/" + frappe.router.slug(first_link.link_to); + } else { + route = "/desk/private/" + frappe.router.slug(workspaces.title); + } } if (first_link.route) { @@ -85,6 +91,9 @@ function get_route(desktop_icon) { type: first_link.link_type, name: first_link.link_to, tab: first_link.tab, + route_options: { + sidebar: desktop_icon.label, + }, }); } } @@ -93,19 +102,18 @@ function get_route(desktop_icon) { return route; } -function get_desktop_icon_by_label(title, filters) { +function get_desktop_icon_by_label(title, filters, force) { + if (force === undefined) force = false; let icons = frappe.desktop_icons; - if (frappe.pages["desktop"].desktop_page.edit_mode) { + if (!force && frappe.pages["desktop"].desktop_page.edit_mode) { icons = frappe.new_desktop_icons; } if (!filters) { - return icons.find((f) => f.label === title && f.hidden != 1); + return icons.find((f) => f.label === title); } else { return icons.find((f) => { return ( - f.label === title && - Object.keys(filters).every((key) => f[key] === filters[key]) && - f.hidden != 1 + f.label === title && Object.keys(filters).every((key) => f[key] === filters[key]) ); }); } @@ -117,52 +125,70 @@ function get_desktop_icon_by_idx(idx, parent_icon) { function save_desktop(icons) { // saving in localStorage; - localStorage.setItem(`${frappe.session.user}:desktop`, JSON.stringify(icons)); - frappe.toast("Desktop Saved"); - frappe.pages["desktop"].desktop_page.update(); + frappe.pages["desktop"].desktop_page.save_layout(icons, frappe.new_icons); } function reset_to_default() { - localStorage.setItem(`${frappe.session.user}:desktop`, null); + frappe.model.user_settings.save("Desktop Icon", "icons_to_create", null); + frappe.model.user_settings.save("Desktop Icon", "desktop_layout", null); } -frappe.pages["desktop"].on_page_show = function () { - frappe.pages["desktop"].desktop_page.setup(); -}; - function toggle_icons(icons) { icons.forEach((i) => { $(i).parent().parent().show(); }); } +frappe.desktop_utils.get_folder_icons = function (folder_name) { + let icons_in_folder = []; + let icons = frappe.desktop_icons; + if (frappe.pages["desktop"].desktop_page.edit_mode) { + icons = frappe.new_desktop_icons; + } + icons.forEach((icon) => { + if (icon.parent_icon == folder_name) { + icons_in_folder.push(icon.label); + } + }); + return icons_in_folder; +}; + +function add_icons_to_folder(folder_name, items) { + let folder = get_desktop_icon_by_label(folder_name); + items.forEach((item) => { + let icon = get_desktop_icon_by_label(item); + icon.parent_icon = folder.label; + }); + frappe.pages["desktop"].desktop_page.update(); +} + class DesktopPage { constructor(page) { this.page = page; this.edit_mode = false; - this.prepare(); - this.make(page); - this.setup_events(); - } - update() { - this.prepare(); - this.make(); + this.make(this.page); + this.setup(); + } + update() { + this.make(this.page); this.setup(); } - prepare() { this.apps_icons = []; - + this.hidden_icons = []; + this.folders = []; const icon_map = {}; - frappe.desktop_icons = - JSON.parse(localStorage.getItem(`${frappe.session.user}:desktop`)) || - frappe.boot.desktop_icons; let icons = this.edit_mode ? frappe.new_desktop_icons : frappe.desktop_icons; const all_icons = icons.filter((icon) => { if (icon.hidden != 1) { icon.child_icons = []; icon_map[icon.label] = icon; + if (icon.icon_type == "Folder") { + this.folders.push(icon.label); + } return true; + } else { + this.hidden_icons.push(icon); } return false; }); @@ -176,20 +202,50 @@ class DesktopPage { } }); } - setup_events() { - this.wrapper.find(".hide-button").on("click", function (event) { - event.preventDefault(); - event.stopImmediatePropagation(); - let desktop_label = event.currentTarget.parentElement.dataset.id; - let desktop_icon = get_desktop_icon_by_label(desktop_label); - desktop_icon.hidden = 1; - frappe.pages["desktop"].desktop_page.update(); + get_saved_layout() { + let keywords = ["null", "undefined"]; + if (keywords.includes(localStorage.getItem(`${frappe.session.user}:desktop`))) { + return null; + } + return JSON.parse(localStorage.getItem(`${frappe.session.user}:desktop`)); + } + sync_layout() { + const me = this; + let saved_layout = JSON.parse(localStorage.getItem(`${frappe.session.user}:desktop`)); + if (!this.data && saved_layout) { + this.save_layout(saved_layout); + } else if (Object.keys(this.data).length != 0) { + frappe.desktop_icons = this.data; + } else { + frappe.desktop_icons = frappe.boot.desktop_icons; + } + } + save_layout(layout, new_icons) { + const me = this; + frappe.call({ + method: "frappe.desk.doctype.desktop_layout.desktop_layout.save_layout", + args: { + user: frappe.session.user, + layout: JSON.stringify(layout), + new_icons: JSON.stringify(new_icons), + }, + callback: function (r) { + me.data = r.message.layout; + me.make(me.page); + me.setup(); + frappe.new_icons = []; + }, }); } make() { this.page.page_head.hide(); $(this.page.body).empty(); $(frappe.render_template("desktop")).appendTo(this.page.body); + if (!this.data) { + this.data = JSON.parse($("#desktop-layout").text()); + } + this.sync_layout(); + this.prepare(); this.wrapper = this.page.body.find(".desktop-container"); this.icon_grid = new DesktopIconGrid({ wrapper: this.wrapper, @@ -199,7 +255,7 @@ class DesktopPage { col: 3, }, }); - this.setup_editing_mode(); + this.setup_context_menu(); if (this.edit_mode) { this.start_editing_layout(); } @@ -207,15 +263,16 @@ class DesktopPage { setup() { this.setup_avatar(); + this.setup_notifications(); this.setup_navbar(); this.setup_awesomebar(); - this.setup_editing_mode(); this.handle_route_change(); - this.setup_events(); this.setup_edit_button(); } setup_edit_button() { + if (this.edit_mode || frappe.is_mobile()) return; const me = this; + $(".desktop-edit").remove(); this.$desktop_edit_button = $( "" ).appendTo(document.body); @@ -223,17 +280,18 @@ class DesktopPage { frappe.utils.icon("square-pen", "md", "", "", "", "", "white") ); this.$desktop_edit_button.on("click", () => { + frappe.new_desktop_icons = JSON.parse(JSON.stringify(frappe.desktop_icons)); me.start_editing_layout(); - me.$desktop_edit_button.hide(); }); } - setup_editing_mode() { + setup_context_menu() { const me = this; let menu_items = [ { label: "Edit Layout", icon: "edit", onClick: function () { + me.$desktop_edit_button.hide(); frappe.new_desktop_icons = JSON.parse(JSON.stringify(frappe.desktop_icons)); me.start_editing_layout(); }, @@ -255,23 +313,28 @@ class DesktopPage { } stop_editing_layout(action) { this.edit_mode = false; - - $(".desktop-icon").removeClass("edit-mode"); + $(".desktop-icon").not(".folder-icon .desktop-icon").removeClass("desktop-edit-mode"); $(".desktop-wrapper").removeAttr("data-mode"); + $(".add-new-icon").remove(); + this.desktop_pane.hide(); if (action === "cancel") { frappe.new_desktop_icons = null; this.update(); return; } - // submit save_desktop(frappe.new_desktop_icons); } start_editing_layout() { this.edit_mode = true; - $(".desktop-icon").addClass("edit-mode"); + const me = this; + this.desktop_pane = new IconsPane(); $(".desktop-wrapper").attr("data-mode", "Edit"); + $(".desktop-edit").remove(); + frappe.desktop_icons_objects.forEach((icon) => { + icon.edit_mode = true; + }); frappe.desktop_grids.forEach((desktop_grid) => { if (!desktop_grid.no_dragging) { desktop_grid.grids.forEach((grid) => { @@ -279,21 +342,58 @@ class DesktopPage { }); } }); - frappe.desktop_icons_objects.forEach((icon_object) => { - icon_object.setup_dragging(); + this.add_new_icons_to_grid(); + if (this.edit_mode) { + this.setup_edit_buttons(); + this.desktop_pane.show(); + } + } + add_new_icons_to_grid() { + let grid = $($(".desktop-container .icons").get(0)); + this.add_new_icon = `
+ ${frappe.utils.icon("plus", "lg")} + New Icon +
`; + grid.append(this.add_new_icon); + $(".add-new-icon").on("click", function () { + frappe.ui.form.make_quick_entry( + "Desktop Icon", + function (icon) { + frappe.new_desktop_icons.push(icon); + frappe.new_icons.push(icon); + frappe.pages["desktop"].desktop_page.update(); + }, + "", + "", + null, + true, + true + ); }); - if (this.edit_mode) this.setup_edit_buttons(); } setup_edit_buttons() { const me = this; this.$edit_button = $(".edit-mode-buttons"); this.$edit_button.find(".discard").on("click", function () { me.stop_editing_layout("cancel"); + me.delete_new_icons(); + $($(".desktop-container .icons").get(0)).find(".add-new-icon").remove(); }); this.$edit_button.find(".save").on("click", function () { me.stop_editing_layout("submit"); }); } + setup_notifications() { + this.notifications = new frappe.ui.Notifications({ + wrapper: $(".desktop-notifications"), + full_height: false, + }); + } + + delete_new_icons() { + frappe.new_icons = []; + } + setup_avatar() { $(".desktop-avatar").html(frappe.avatar(frappe.session.user, "avatar-medium")); let is_dark = document.documentElement.getAttribute("data-theme") === "dark"; @@ -301,7 +401,7 @@ class DesktopPage { { icon: "edit", label: "Edit Profile", - url: `/update-profile/${frappe.session.user}`, + url: `/desk/user/${frappe.session.user}`, }, { icon: is_dark ? "sun" : "moon", @@ -311,9 +411,18 @@ class DesktopPage { }, }, { - icon: "lock", - label: "Reset Password", - url: "/update-password", + icon: "info", + label: "About", + onClick: function () { + return frappe.ui.toolbar.show_about(); + }, + }, + { + icon: "support", + label: "Frappe Support", + onClick: function () { + window.open("https://support.frappe.io/help", "_blank"); + }, }, { icon: "rotate-ccw", @@ -376,44 +485,25 @@ class DesktopPage { if (frappe.get_route()[0] == "desktop" || frappe.get_route()[0] == "") me.setup_navbar(); else { - me.$desktop_edit_button.remove(); $(".navbar").show(); frappe.desktop_utils.close_desktop_modal(); + // stop edit mode if route changes and cleanup + me.edit_mode = false; + $(".desktop-icon").removeClass("edit-mode"); + $(".desktop-wrapper").removeAttr("data-mode"); + $(".desktop-edit").remove(); } }); } - - // setup_icon_search() { - // let all_icons = $(".icon-title"); - // let icons_to_show = []; - // $(".desktop-container .icons").append( - // "" - // ); - // $(".desktop-search-wrapper > #navbar-search").on("input", function (e) { - // let search_query = $(e.target).val().toLowerCase(); - // console.log(search_query); - // icons_to_show = []; - // all_icons.each(function (index, element) { - // $(element).parent().parent().hide(); - // let label = $(element).text().toLowerCase(); - // if (label.includes(search_query)) { - // icons_to_show.push(element); - // } - // }); - - // if (icons_to_show.length == 0) { - // $(".desktop-container .icons").find(".no-apps-message").removeClass("hidden"); - // } else { - // $(".desktop-container .icons").find(".no-apps-message").addClass("hidden"); - // } - // toggle_icons(icons_to_show); - // }); - // } } class DesktopIconGrid { constructor(opts) { $.extend(this, opts); + this.init(); + } + static folder_count = 0; + init() { this.icons = []; this.icons_html = []; // this.page_size = { @@ -428,7 +518,16 @@ class DesktopIconGrid { this.make(); frappe.desktop_grids.push(this); } - + add_folder() { + DesktopIconGrid.folder_count++; + let icon = frappe.model.get_new_doc("Desktop Icon"); + icon.icon_type = "Folder"; + icon.label = `Untitled ${DesktopIconGrid.folder_count}`; + icon.idx = 100000; + frappe.new_desktop_icons.push(icon); + frappe.new_icons.push(icon); + return icon; + } prepare() { this.total_pages = 1; this.icons_data = this.icons_data.sort((a, b) => { @@ -443,6 +542,9 @@ class DesktopIconGrid { make() { const me = this; this.icons_container = $(`
`).appendTo(this.wrapper); + if (this.compact) { + this.icons_container.css("margin-top", "0px"); + } for (let i = 0; i < this.total_pages; i++) { let template = `
`; @@ -454,9 +556,6 @@ class DesktopIconGrid { } this.grids.push($(template).appendTo(this.icons_container)); this.make_icons(this.icons_data_by_page, this.grids[i]); - // if (!this.no_dragging) { - // this.setup_reordering(this.grids[i]); - // } } if (!this.in_folder && this.total_pages > 1) { this.add_page_indicators(); @@ -581,14 +680,31 @@ class DesktopIconGrid { } make_icons(icons_data, grid) { icons_data.forEach((icon) => { - let icon_obj = new DesktopIcon(icon, this.in_folder); + let icon_obj = new DesktopIcon(icon, this.in_folder, this); let icon_html = icon_obj.get_desktop_icon_html(); this.icons.push(icon_obj); this.icons_html.push(icon_html); + this.setup_actions_on_icon(icon_obj); grid.append(icon_html); }); + this.setup_tooltip(); + } + setup_actions_on_icon(icon) { + if (this.edit_mode) { + icon.edit_mode = true; + } + if (this.is_pane) { + icon.in_pane = true; + } + } + setup_tooltip() { + $('[data-toggle="tooltip"]').tooltip({ + placement: "bottom", + }); + } + remove_label_tooltip() { + $('[data-toggle="tooltip"]').tooltip("disable"); } - setup_reordering(grid) { const me = this; this.hoverTarget = null; @@ -601,10 +717,22 @@ class DesktopIconGrid { sort: true, // keep sorting normally dragoverBubble: true, group: { - name: "desktop", + name: this.name || "desktop", put: true, pull: true, }, + onAdd(evt) { + if (Sortable.get(evt.from).option("group").name == "hidden-icons-grid") { + let icon_name = $(evt.item).attr("data-id"); + let icon = get_desktop_icon_by_label(icon_name, {}, true); + icon.index = evt.newIndex; + icon.hidden = 0; + frappe.new_desktop_icons.push(icon); + let hidden_icons = frappe.pages.desktop.desktop_page.hidden_icons; + let added_icon_index = hidden_icons.findIndex((d) => d.label == icon_name); + hidden_icons.splice(added_icon_index, 1); + } + }, onStart(evt) { frappe.desktop_utils.dragged_item = evt.item; }, @@ -615,9 +743,6 @@ class DesktopIconGrid { }); dataTransfer.setData("text/plain", JSON.stringify(icon.icon_data)); // `dataTransfer` object of HTML5 DragEvent }, - onMove() { - return frappe.desktop_utils.allow_move || false; - }, onEnd: function (evt) { if (frappe.desktop_utils.in_folder_creation) return; if (evt.oldIndex !== evt.newIndex) { @@ -650,6 +775,10 @@ class DesktopIconGrid { }); } } + update_grid(icons) { + this.wrapper.empty(); + this.init(); + } reorder_icons(reordered_icons, filters) { reordered_icons.forEach((d, idx) => { let icon = get_desktop_icon_by_label(d); @@ -665,7 +794,7 @@ class DesktopIconGrid { } } class DesktopIcon { - constructor(icon, in_folder) { + constructor(icon, in_folder, grid_obj) { this.icon_data = icon; this.icon_title = this.icon_data.label; this.icon_subtitle = ""; @@ -673,6 +802,8 @@ class DesktopIcon { this.in_folder = in_folder; this.icon_data.in_folder = in_folder; this.link_type = this.icon_data.link_type; + this._edit_mode = false; + this.in_pane = false; if (this.icon_type != "Folder" && !this.icon_data.sidebar) { this.icon_route = get_route(this.icon_data); } @@ -691,12 +822,65 @@ class DesktopIcon { this.parent_icon = this.icon_data.icon; this.setup_click(); this.render_folder_thumbnail(); + this.grid = grid_obj; + Object.defineProperty(this, "edit_mode", { + get: function () { + return this._edit_mode; + }, + set: function (value) { + if (value) { + this.icon.addClass("desktop-edit-mode"); + if (this.in_folder) { + this.icon.removeClass("desktop-edit-mode"); + } + this.grid.remove_label_tooltip(); + this.setup_dragging(); + this.setup_edit_menu(); + this.setup_hide_button(); + this.icon.removeAttr("href"); + } else { + this.icon.addClass("desktop-edit-mode"); + this.setup_click(); + } + this._edit_mode = value; + }, + }); + Object.defineProperty(this, "in_pane", { + get: function () { + return this._in_pane; + }, + set: function (value) { + this._in_pane = value; + if (value) { + this.icon.find(".hide-button").html(frappe.utils.icon("plus")); + this.icon.find(".hide-button").attr("data-mode", "add"); + this.setup_hide_button(); + } else { + this.icon.find(".hide-button").html(frappe.utils.icon("x")); + this.icon.find(".hide-button").attr("data-mode", "hide"); + } + }, + }); frappe.desktop_icons_objects.push(this); } // this.child_icons = this.get_desktop_icon(this.icon_title).child_icons; // this.child_icons_data = this.get_child_icons_data(); } + setup_hide_button() { + this.icon.find(".hide-button").on("click", function (event) { + event.preventDefault(); + event.stopImmediatePropagation(); + let desktop_label = event.currentTarget.parentElement.dataset.id; + let desktop_icon = get_desktop_icon_by_label(desktop_label); + if (event.target.parentElement.dataset.mode == "hide") { + desktop_icon.hidden = 1; + } else { + desktop_icon.hidden = 0; + } + frappe.pages["desktop"].desktop_page.update(); + }); + } validate_icon() { // validate if my workspaces are empty if (this.icon_data.label == "My Workspaces") { @@ -707,7 +891,6 @@ class DesktopIcon { if (this.icon_data.child_icons.length == 0) return false; } return true; - // validate if folder has no child } get_child_icons_data() { return this.icon_data.child_icons.sort((a, b) => a.idx - b.idx); @@ -715,45 +898,119 @@ class DesktopIcon { get_desktop_icon_html() { return this.icon; } + setup_edit_menu() { + const me = frappe.pages["desktop"].desktop_page; + let icon_data = this.icon_data; + const icon = this; + frappe.ui.create_menu({ + parent: this.icon, + right_click: true, + menu_items: [ + { + label: "Edit", + icon: "edit", + condition: function () { + return icon_data.standard != 1; + }, + onClick: function () { + frappe.ui.form.make_quick_entry( + "Desktop Icon", + function (icon) { + let old_index = frappe.new_desktop_icons.findIndex( + (d_icon) => d_icon.label == icon.label + ); + if (old_index !== -1) { + frappe.new_desktop_icons.splice(old_index, 1); + } + frappe.new_desktop_icons.push(icon); + frappe.new_icons.push(icon.name); + frappe.pages["desktop"].desktop_page.update(); + }, + function (dialog) { + dialog.set_df_property("label", "read_only", 1); + dialog.fields.forEach((field) => { + field.default = icon_data[field.fieldname]; + }); + dialog.script_manager.trigger("refresh"); + }, + icon_data, + null + ); + }, + }, + { + label: "Create Folder", + icon: "folder", + onClick: function () { + let folder = me.grid.add_folder(); + add_icons_to_folder(folder.label, [icon_data.label]); + }, + }, + { + label: "Add To Folder", + icon: "folder-open", + condition: function () { + return me.folders.length > 0; + }, + items: me.folders.map((name) => { + return { + label: name, + onClick: function () { + add_icons_to_folder(this.label, [icon_data.label]); + }, + }; + }), + }, + ], + }); + } + setup_click() { const me = this; if (this.child_icons?.length && (this.icon_type == "App" || this.icon_type == "Folder")) { $(this.icon).on("click", () => { let modal = frappe.desktop_utils.create_desktop_modal(me); modal.setup(me.icon_title, me.child_icons, 4); + let $title = modal.modal.find(".modal-title"); + let title = new InlineEditor($title, this.icon_data.label, function ( + old_value, + new_value + ) { + let icon = get_desktop_icon_by_label(old_value); + let folder_icons = frappe.desktop_utils.get_folder_icons(old_value); + if (icon) { + icon.label = new_value; + } + add_icons_to_folder(new_value, folder_icons); + + frappe.pages["desktop"].desktop_page.update(); + }); modal.show(); }); if (this.icon_type == "App") { - $($(this.icon_caption_area).children()[1]).html( - `${this.child_icons.length} Workspaces` - ); + let content = `${this.child_icons.length} Workspaces`; + $($(this.icon_caption_area).children()[1]).html(__(content)); } } else { - this.icon.attr("href", this.icon_route); - } - if (this.icon_data.sidebar) { - const me = this; - this.icon.on("click", function () { - if (me.icon_data.sidebar == "My Workspaces") { - let sidebar_name = me.icon_data.sidebar.toLowerCase(); - if (frappe.boot.workspace_sidebar_item[sidebar_name].items.length == 0) { - frappe.toast("No Private Workspaces for user"); - } else { - let workspace_name = - frappe.boot.workspace_sidebar_item[sidebar_name].items[0]["link_to"]; - frappe.set_route("Workspaces", "private", workspace_name); - } - } - }); + if (this.icon_route && this.icon_route.startsWith("http")) { + this.icon.attr("target", "_blank"); + } + if (this.icon_route) { + this.icon.attr("href", this.icon_route); + } else { + this.icon.on("click", function (event) { + frappe.msgprint( + __( + "Icon is not correctly configured please check the workspace sidebar to it" + ) + ); + }); + } } } render_folder_thumbnail() { - let condition = - frappe.boot.show_app_icons_as_folder && - this.icon_type == "App" && - this.child_icons.length > 0; - if (this.icon_type == "Folder" || condition) { + if (this.icon_type == "Folder") { if (!this.folder_wrapper) this.folder_wrapper = this.icon.find(".icon-container"); this.folder_wrapper.html(""); this.folder_grid = new DesktopIconGrid({ @@ -794,51 +1051,6 @@ class DesktopIcon { } } }); - this.icon.on("dragstart", function (event) { - frappe.desktop_utils.dragged_item = event.target; - }); - this.icon.on("dragover", function (event) { - console.log(event.target); - if (frappe.desktop_utils.dragged_item == event.target.parentElement) return; - if ( - event.target == frappe.desktop_utils.dragged_item || - frappe.desktop_utils.dragged_item.contains(event.target) - ) { - return; - } - if (event.target.parentElement.classList.contains("icon-container")) { - frappe.desktop_utils.allow_move = false; - frappe.desktop_utils.in_folder_creation = true; - - let icon_list = []; - icon_list.push( - get_desktop_icon_by_label(event.target.parentElement.parentElement.dataset.id) - ); - icon_list.push( - get_desktop_icon_by_label(frappe.desktop_utils.dragged_item.dataset.id) - ); - - let icon = { - label: "Untitled Folder", - icon_type: "Folder", - child_icons: icon_list, - }; - let modal = frappe.desktop_utils.create_desktop_modal(icon); - modal.setup(icon.label, icon_list, 4); - $(event.target.parentElement).addClass("folder-icon"); - $(event.target.parentElement).empty(); - modal.show(); - frappe.boot.desktop_icons.push(icon); - icon_list.forEach((icon) => { - let desktop_icon = frappe.utils.get_desktop_icon_by_label(icon.label); - desktop_icon.parent_icon = "Untitled Folder"; - frappe.new_desktop_icons.splice(frappe.boot.desktop_icons.indexOf(icon), 1); - frappe.new_desktop_icons.push(desktop_icon); - }); - } else { - frappe.desktop_utils.allow_move = true; - } - }); } } @@ -907,3 +1119,91 @@ class DesktopModal { this.modal.modal("hide"); } } + +class IconsPane { + constructor() { + this.wrapper = $($(".desktop-container .icons-container").get(0)); + } + show() { + this.wrapper.removeClass("hidden"); + if (this.grid) { + this.grid.icons_data = frappe.pages.desktop.desktop_page.hidden_icons; + this.grid.update_grid(); + return; + } + this.wrapper.append( + "Removed Icons" + ); + this.grid = new DesktopIconGrid({ + name: "hidden-icons-grid", + wrapper: this.wrapper, + icons_data: frappe.pages.desktop.desktop_page.hidden_icons, + row_size: 6, + edit_mode: true, + compact: true, + is_pane: true, + }); + this.setup(); + } + hide() { + this.wrapper.addClass("hidden"); + } + setup() { + this.setup_close_button(); + } + setup_close_button() { + const me = this; + this.wrapper.find(".close-button").on("click", function () { + me.hide(); + }); + } +} + +class InlineEditor { + constructor(container, initialValue = "", onRename = () => {}) { + this.container = container; + this.initialValue = initialValue; + this.onRename = onRename; + + this.render(); + this.bindEvents(); + } + + render() { + this.container.html(` +
+
+ ${__(this.initialValue)} +
+
+ +
+
+ `); + + this.input = this.container.find(".title-input"); + this.label = this.container.find(".title-input-label"); + } + + bindEvents() { + this.container.on("click", () => { + this.label.css("visibility", "hidden"); + this.input.focus().select(); + }); + + this.input.on("keydown", (event) => { + if (event.key === "Enter") { + const newValue = this.input.val().trim(); + this.input.css("display", "none"); + this.label.css("visibility", "visible"); + this.label.find("span").text(newValue); + + this.onRename(this.initialValue, newValue, this); + } + }); + + this.input.on("blur", () => { + this.label.css("visibility", "visible"); + }); + } +} diff --git a/frappe/desk/page/desktop/desktop.py b/frappe/desk/page/desktop/desktop.py index 702bfdbcd0..632783315b 100644 --- a/frappe/desk/page/desktop/desktop.py +++ b/frappe/desk/page/desktop/desktop.py @@ -13,8 +13,9 @@ def get_context(context): if not brand_logo: brand_logo = frappe.get_hooks("app_logo_url", app_name="frappe")[0] context.brand_logo = brand_logo - context.desktop_icons = get_desktop_icons() - context.current_user = frappe.session.user - # check if system is mac or not - context.is_mac = sys.platform == "darwin" + try: + context.desktop_layout = frappe.get_doc("Desktop Layout", frappe.session.user).layout or {} + except frappe.DoesNotExistError: + frappe.clear_last_message() + context.desktop_layout = {} return context diff --git a/frappe/desk/page/setup_wizard/setup_wizard.py b/frappe/desk/page/setup_wizard/setup_wizard.py index 401e6887d2..a61d18f55c 100755 --- a/frappe/desk/page/setup_wizard/setup_wizard.py +++ b/frappe/desk/page/setup_wizard/setup_wizard.py @@ -286,11 +286,13 @@ def create_or_update_user(args): # nosemgrep if user := frappe.db.get_value("User", email, ["first_name", "last_name"], as_dict=True): if user.first_name != first_name or user.last_name != last_name: + User = frappe.qb.DocType("User") ( - frappe.qb.update("User") - .set("first_name", first_name) - .set("last_name", last_name) - .set("full_name", args.get("full_name")) + frappe.qb.update(User) + .set(User.first_name, first_name) + .set(User.last_name, last_name) + .set(User.full_name, args.get("full_name")) + .where(User.name == email) ).run() else: _mute_emails, frappe.flags.mute_emails = frappe.flags.mute_emails, True diff --git a/frappe/desk/search.py b/frappe/desk/search.py index 6c03de8d37..0f9c86cf8e 100644 --- a/frappe/desk/search.py +++ b/frappe/desk/search.py @@ -16,6 +16,8 @@ from frappe.utils import cint, cstr, escape_html, unique from frappe.utils.caching import http_cache from frappe.utils.data import make_filter_tuple +PAGE_LENGTH_FOR_LINK_VALIDATION = 25_000 + def sanitize_searchfield(searchfield: str): if not searchfield: @@ -76,6 +78,7 @@ def search_widget( ignore_user_permissions: bool = False, *, link_fieldname: str | None = None, + for_link_validation: bool = False, ): if ignore_user_permissions: if reference_doctype and link_fieldname: @@ -103,6 +106,9 @@ def search_widget( if not query and doctype in standard_queries: query = standard_queries[doctype][-1] + if filters is None: + filters = {} + if query: # Query = custom search query i.e. python function try: is_whitelisted(frappe.get_attr(query)) @@ -134,15 +140,17 @@ def search_widget( meta = frappe.get_meta(doctype) include_disabled = False - if filters and "include_disabled" in filters: - if filters["include_disabled"] == 1: - include_disabled = True - filters.pop("include_disabled") - if isinstance(filters, dict): + if "include_disabled" in filters: + if filters["include_disabled"] == 1: + include_disabled = True + filters.pop("include_disabled") + filters = [make_filter_tuple(doctype, key, value) for key, value in filters.items()] - elif filters is None: - filters = [] + + if for_link_validation: + filters.append([doctype, "name", "=", txt]) + or_filters = [] # build from doctype @@ -189,7 +197,7 @@ def search_widget( # `idx` is number of times a document is referred, check link_count.py order_by = f"idx desc, {order_by_based_on_meta}" - if not meta.translated_doctype: + if not for_link_validation and not meta.translated_doctype: _txt = frappe.db.escape((txt or "").replace("%", "").replace("@", "")) # locate returns 0 if string is not found, convert 0 to null and then sort null to end in order by _relevance_expr = {"DIV": [1, {"NULLIF": [{"LOCATE": [_txt, "name"]}, 0]}]} @@ -214,29 +222,30 @@ def search_widget( strict=False, ) - if meta.translated_doctype: - # Filtering the values array so that query is included in very element - values = ( - result - for result in values - if any( - re.search(f"{re.escape(txt)}.*", _(cstr(value)) or "", re.IGNORECASE) - for value in (result.values() if as_dict else result) + if not for_link_validation: + if meta.translated_doctype: + # Filtering the values array so that query is included in very element + values = ( + result + for result in values + if any( + re.search(f"{re.escape(txt)}.*", _(cstr(value)) or "", re.IGNORECASE) + for value in (result.values() if as_dict else result) + ) ) - ) - # Sorting the values array so that relevant results always come first - # This will first bring elements on top in which query is a prefix of element - # Then it will bring the rest of the elements and sort them in lexicographical order - values = sorted(values, key=lambda x: relevance_sorter(x, txt, as_dict)) + # Sorting the values array so that relevant results always come first + # This will first bring elements on top in which query is a prefix of element + # Then it will bring the rest of the elements and sort them in lexicographical order + values = sorted(values, key=lambda x: relevance_sorter(x, txt, as_dict)) - # remove _relevance from results - if not meta.translated_doctype: - if as_dict: - for r in values: - r.pop("_relevance", None) - else: - values = [r[:-1] for r in values] + # remove _relevance from results + if not meta.translated_doctype: + if as_dict: + for r in values: + r.pop("_relevance", None) + else: + values = [r[:-1] for r in values] return values @@ -329,8 +338,8 @@ def build_for_autosuggest(res: list[tuple], doctype: str) -> list[LinkSearchResu 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 + label = _(item[1]) if meta.translated_doctype else item[1] + item[1] = item[0] if len(item) >= 3 and item[2] == label: # remove redundant title ("label") value @@ -342,7 +351,9 @@ def build_for_autosuggest(res: list[tuple], doctype: str) -> list[LinkSearchResu results.append(autosuggest_row) else: - results.extend({"value": item[0], "description": to_string(item[1:])} for item in res) + for item in res: + label = _(item[0]) if meta.translated_doctype else item[0] + results.append({"value": item[0], "description": to_string(item[1:]), "label": label}) return results @@ -382,7 +393,7 @@ def get_names_for_mentions(search_term): def get_users_for_mentions(): return frappe.get_all( "User", - fields=["name as id", "full_name as value"], + fields=["name as id", "full_name as value", "email"], filters={ "name": ["not in", ("Administrator", "Guest")], "allowed_in_mentions": True, diff --git a/frappe/desktop_icon/productivity.json b/frappe/desktop_icon/productivity.json deleted file mode 100644 index 41c104514c..0000000000 --- a/frappe/desktop_icon/productivity.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "app": "frappe", - "creation": "2025-11-25 13:27:21.246918", - "docstatus": 0, - "doctype": "Desktop Icon", - "hidden": 0, - "icon": "folder-open", - "icon_type": "Link", - "idx": 0, - "label": "Productivity", - "link_to": "Productivity", - "link_type": "Workspace Sidebar", - "modified": "2026-01-01 20:07:01.152305", - "modified_by": "Administrator", - "name": "Productivity", - "owner": "Administrator", - "parent_icon": "Framework", - "restrict_removal": 0, - "roles": [], - "standard": 1 -} diff --git a/frappe/email/__init__.py b/frappe/email/__init__.py index c73ae65f04..1200ca38bd 100644 --- a/frappe/email/__init__.py +++ b/frappe/email/__init__.py @@ -150,6 +150,8 @@ def sendmail( email_read_tracker_url=None, x_priority: Literal[1, 3, 5] = 3, email_headers=None, + raw_html=False, + add_css=True, ) -> EmailQueue | None: """Send email using user's default **Email Account** or global default **Email Account**. @@ -179,6 +181,8 @@ def sendmail( :param with_container: Wraps email inside a styled container :param x_priority: 1 = HIGHEST, 3 = NORMAL, 5 = LOWEST :param email_headers: Additional headers to be added in the email, e.g. {"X-Custom-Header": "value"} or {"Custom-Header": "value"}. Automatically prepends "X-" to the header name if not present. + :param raw_html: Whether to treat email template as a complete HTML file + :param add_css: Whether to add CSS from hooks/email_css to the email template """ from frappe.utils.jinja import get_email_from_template @@ -238,11 +242,13 @@ def sendmail( email_read_tracker_url=email_read_tracker_url, x_priority=x_priority, email_headers=email_headers, + raw_html=raw_html, + add_css=add_css, ) # build email queue and send the email if send_now is True. q = builder.process(send_now=False) - if now: + if now and q: frappe.db.after_commit.add(q.send) return q diff --git a/frappe/email/doctype/email_queue/email_queue.json b/frappe/email/doctype/email_queue/email_queue.json index cc01c9f56a..6ae3d60934 100644 --- a/frappe/email/doctype/email_queue/email_queue.json +++ b/frappe/email/doctype/email_queue/email_queue.json @@ -25,7 +25,8 @@ "expose_recipients", "attachments", "retry", - "email_account" + "email_account", + "raw_html" ], "fields": [ { @@ -148,13 +149,21 @@ "fieldtype": "Code", "label": "Unsubscribe Params", "read_only": 1 + }, + { + "default": "0", + "description": "Raw HTML emails are rendered as complete Jinja templates. Otherwise, emails are wrapped in the standard.html email template, which inserts brand_logo, header and footer.", + "fieldname": "raw_html", + "fieldtype": "Check", + "label": "Send As Raw HTML", + "read_only": 1 } ], "icon": "fa fa-envelope", "idx": 1, "in_create": 1, "links": [], - "modified": "2025-03-07 15:56:13.341958", + "modified": "2026-01-06 05:45:35.503215", "modified_by": "Administrator", "module": "Email", "name": "Email Queue", @@ -175,4 +184,4 @@ "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappe/email/doctype/email_queue/email_queue.py b/frappe/email/doctype/email_queue/email_queue.py index 7df03de990..3ce20a0d12 100644 --- a/frappe/email/doctype/email_queue/email_queue.py +++ b/frappe/email/doctype/email_queue/email_queue.py @@ -60,6 +60,7 @@ class EmailQueue(Document): message: DF.Code | None message_id: DF.SmallText | None priority: DF.Int + raw_html: DF.Check recipients: DF.Table[EmailQueueRecipient] reference_doctype: DF.Link | None reference_name: DF.Data | None @@ -518,6 +519,8 @@ class QueueBuilder: email_read_tracker_url=None, x_priority: Literal[1, 3, 5] = 3, email_headers=None, + raw_html=False, + add_css=True, ): """Add email to sending queue (Email Queue) @@ -545,6 +548,8 @@ class QueueBuilder: :param email_read_tracker_url: A URL for tracking whether an email is read by the recipient. :param x_priority: 1 = HIGHEST, 3 = NORMAL, 5 = LOWEST :param email_headers: Additional headers to be added in the email, e.g. {"X-Custom-Header": "value"} or {"Custom-Header": "value"}. Automatically prepends "X-" to the header name if not present. + :param raw_html: Whether to treat email template as a complete HTML file + :param add_css: Add default CSS from hooks/email_css to the email template (default True) """ self._unsubscribe_method = unsubscribe_method @@ -582,6 +587,8 @@ class QueueBuilder: self.print_letterhead = print_letterhead self.email_read_tracker_url = email_read_tracker_url self.email_headers = email_headers + self.raw_html = raw_html + self.add_css = add_css @property def unsubscribe_method(self): @@ -638,6 +645,8 @@ class QueueBuilder: email_account=email_account, unsubscribe_link=self.unsubscribe_message(), with_container=self.with_container, + raw_html=self.raw_html, + add_css=self.add_css, ) def should_include_unsubscribe_link(self): @@ -843,6 +852,8 @@ class QueueBuilder: "show_as_bcc": ",".join(self.final_bcc()), "email_account": email_account_name or None, "email_read_tracker_url": self.email_read_tracker_url, + "raw_html": self.raw_html, + "add_css": self.add_css, } if include_recipients: diff --git a/frappe/email/doctype/email_template/email_template.py b/frappe/email/doctype/email_template/email_template.py index b37598e051..bf2647c13c 100644 --- a/frappe/email/doctype/email_template/email_template.py +++ b/frappe/email/doctype/email_template/email_template.py @@ -37,19 +37,37 @@ class EmailTemplate(Document): def get_formatted_response(self, doc): return frappe.render_template(self.response_, doc) - def get_formatted_email(self, doc): + def get_formatted_email(self, doc, sender=None): if isinstance(doc, str): doc = json.loads(doc) + if self.use_html: + doc = self.inject_email_account(doc, sender) + return { "subject": self.get_formatted_subject(doc), "message": self.get_formatted_response(doc), } + def inject_email_account(self, doc, sender=None): + from frappe.email.doctype.email_account.email_account import EmailAccount + from frappe.email.email_body import get_footer, get_signature + + if sender: + kwargs = {"match_by_email": sender} + else: + kwargs = {"match_by_doctype": doc.get("doctype")} + + if email_account := EmailAccount.find_outgoing(**kwargs): + doc.update( + {"email_signature": get_signature(email_account), "email_footer": get_footer(email_account)} + ) + return doc + @frappe.whitelist() -def get_email_template(template_name, doc): +def get_email_template(template_name, doc, sender=None): """Return the processed HTML of a email template with the given doc""" email_template = frappe.get_doc("Email Template", template_name) - return email_template.get_formatted_email(doc) + return email_template.get_formatted_email(doc, sender=sender) diff --git a/frappe/email/email_body.py b/frappe/email/email_body.py index 707d301546..25a92802db 100755 --- a/frappe/email/email_body.py +++ b/frappe/email/email_body.py @@ -381,29 +381,38 @@ def get_formatted_html( unsubscribe_link: frappe._dict | None = None, sender=None, with_container=False, + raw_html=False, + add_css=True, ): email_account = email_account or EmailAccount.find_outgoing(match_by_email=sender) - rendered_email = frappe.get_template("templates/emails/standard.html").render( - { - "brand_logo": get_brand_logo(email_account) if with_container or header else None, - "with_container": with_container, - "site_url": get_url(), - "header": get_header(header), - "content": message, - "footer": get_footer(email_account, footer), - "title": subject, - "print_html": print_html, - "subject": subject, - } - ) + params = { + "site_url": get_url(), + "title": subject, + "print_html": print_html, + "subject": subject, + } + + if raw_html: + rendered_email = frappe.render_template(message, params) + else: + params.update( + { + "brand_logo": get_brand_logo(email_account) if with_container or header else None, + "with_container": with_container, + "header": get_header(header), + "content": message, + "footer": get_footer(email_account, footer), + } + ) + rendered_email = frappe.get_template("templates/emails/standard.html").render(params) html = scrub_urls(rendered_email) if unsubscribe_link: html = html.replace("", unsubscribe_link.html) - return inline_style_in_html(html) + return inline_style_in_html(html, add_css=add_css) @frappe.whitelist() @@ -418,17 +427,20 @@ def get_email_html(template, args, subject, header=None, with_container=False): return get_formatted_html(subject, email[0], header=header, with_container=with_container) -def inline_style_in_html(html): +def inline_style_in_html(html, add_css=True): """Convert email.css and html to inline-styled html.""" from premailer import Premailer from frappe.utils.jinja_globals import bundled_asset - # get email css files from hooks - css_files = frappe.get_hooks("email_css") - css_files = [bundled_asset(path) for path in css_files] - css_files = [path.lstrip("/") for path in css_files] - css_files = [css_file for css_file in css_files if os.path.exists(os.path.abspath(css_file))] + if add_css: + # get email css files from hooks + css_files = frappe.get_hooks("email_css") + css_files = [bundled_asset(path) for path in css_files] + css_files = [path.lstrip("/") for path in css_files] + css_files = [css_file for css_file in css_files if os.path.exists(os.path.abspath(css_file))] + else: + css_files = None p = Premailer( html=html, external_styles=css_files, strip_important=False, allow_loading_external_files=True diff --git a/frappe/hooks.py b/frappe/hooks.py index 966b80649d..a977f39529 100644 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -8,7 +8,7 @@ app_publisher = "Frappe Technologies" app_description = "Full stack web framework with Python, Javascript, MariaDB, Redis, Node" app_license = "MIT" app_logo_url = "/assets/frappe/images/frappe-framework-logo.svg" -develop_version = "15.x.x-develop" +develop_version = "17.x.x-develop" app_home = "/app/build" app_email = "developers@frappe.io" @@ -217,7 +217,7 @@ scheduler_events = { "frappe.automation.doctype.reminder.reminder.send_reminders", "frappe.model.utils.link_count.update_link_count", "frappe.search.sqlite_search.build_index_if_not_exists", - "frappe.pulse.client.send_queued_events", + "frappe.utils.telemetry.pulse.client.send_queued_events", ], # 10 minutes "0/10 * * * *": [ diff --git a/frappe/integrations/oauth2.py b/frappe/integrations/oauth2.py index 063bd2a3bc..de62014536 100644 --- a/frappe/integrations/oauth2.py +++ b/frappe/integrations/oauth2.py @@ -225,7 +225,7 @@ def get_openid_configuration(): @frappe.whitelist(allow_guest=True) -def introspect_token(token=None, token_type_hint=None): +def introspect_token(token: str, token_type_hint=None): if token_type_hint not in ["access_token", "refresh_token"]: token_type_hint = "access_token" try: diff --git a/frappe/locale/ar.po b/frappe/locale/ar.po index 4aeaf639a3..3dc830d4df 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: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-24 20:23\n" +"POT-Creation-Date: 2026-01-22 13:03+0000\n" +"PO-Revision-Date: 2026-01-22 13:16\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" @@ -22,7 +22,7 @@ msgstr "" #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "!=" -msgstr "" +msgstr "!=" #. Description of the 'Org History Heading' (Data) field in DocType 'About Us #. Settings' @@ -40,7 +40,7 @@ msgstr "\"الأم\" يدل على الجدول الأصل الذي يجب أن msgid "\"Team Members\" or \"Management\"" msgstr "\"أعضاء الفريق\" أو \"الإدارة\"" -#: frappe/public/js/frappe/form/form.js:1093 +#: frappe/public/js/frappe/form/form.js:1122 msgid "\"amended_from\" field must be present to do an amendment." msgstr "يجب أن يكون الحقل "amended_from" حاضرًا لإجراء تعديل." @@ -51,11 +51,11 @@ msgstr ""{0}" ليس عنوان URL صالحًا لجداول بيان #: frappe/public/js/frappe/ui/toolbar/tag_utils.js:21 #: frappe/public/js/frappe/ui/toolbar/tag_utils.js:22 msgid "#{0}" -msgstr "" +msgstr "#{0}" #: frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.js:36 msgid "${values.doctype_name} has been added to queue for optimization" -msgstr "" +msgstr "تمت إضافة ${values.doctype_name} إلى قائمة الانتظار لتحسين الأداء" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "© Frappe Technologies Pvt. Ltd. and contributors" @@ -66,21 +66,21 @@ msgstr "" msgid "<head> HTML" msgstr "HTML" -#: frappe/database/query.py:2100 +#: frappe/database/query.py:2178 msgid "'*' is only allowed in {0} SQL function(s)" -msgstr "" +msgstr "يُسمح باستخدام الرمز '*' فقط في دالة (دوال) SQL {0}" #: frappe/public/js/form_builder/store.js:206 msgid "'In Global Search' is not allowed for field {0} of type {1}" -msgstr "" +msgstr "\"في البحث العام\" غير مسموح به للحقل {0} من النوع {1}" -#: frappe/core/doctype/doctype/doctype.py:1369 +#: frappe/core/doctype/doctype/doctype.py:1383 msgid "'In Global Search' not allowed for type {0} in row {1}" msgstr "\"في البحث العام\" غير مسموح للنوع {0} في الصف {1}" #: frappe/public/js/form_builder/store.js:198 msgid "'In List View' is not allowed for field {0} of type {1}" -msgstr "" +msgstr "لا يُسمح باستخدام \"عرض القائمة\" للحقل {0} من النوع {1}" #: frappe/custom/doctype/customize_form/customize_form.py:367 msgid "'In List View' not allowed for type {0} in row {1}" @@ -90,21 +90,21 @@ msgstr "'في عرض القائمة' غير مسموح للنوع {0} في ال msgid "'Recipients' not specified" msgstr "لم يتم تحديد "المستلمين"" -#: frappe/utils/__init__.py:268 +#: frappe/utils/__init__.py:259 msgid "'{0}' is not a valid IBAN" -msgstr "" +msgstr "'{0}' ليس رقم حساب مصرفي دولي (IBAN) صالحًا" -#: frappe/utils/__init__.py:258 +#: frappe/utils/__init__.py:249 msgid "'{0}' is not a valid URL" -msgstr "" +msgstr "\"{0}\" ليس عنوان URL صالحا" -#: frappe/core/doctype/doctype/doctype.py:1363 +#: frappe/core/doctype/doctype/doctype.py:1377 msgid "'{0}' not allowed for type {1} in row {2}" msgstr ""{0}" غير مسموح به للنوع {1} في الصف {2}" -#: frappe/public/js/frappe/data_import/data_exporter.js:302 +#: frappe/public/js/frappe/data_import/data_exporter.js:303 msgid "(Mandatory)" -msgstr "" +msgstr "(إلزامي)" #: frappe/model/rename_doc.py:703 msgid "** Failed: {0} to {1}: {2}" @@ -113,7 +113,7 @@ msgstr "** فشل: {0} إلى {1}: {2}" #: frappe/public/js/frappe/list/list_settings.js:133 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:111 msgid "+ Add / Remove Fields" -msgstr "" +msgstr "+ إضافة / إزالة الحقول" #. Description of the 'Doc Status' (Select) field in DocType 'Workflow Document #. State' @@ -140,35 +140,36 @@ msgstr "" msgid "0 is highest" msgstr "0 أعلى قيمة" -#: frappe/public/js/frappe/form/grid_row.js:892 +#: frappe/public/js/frappe/form/grid_row.js:891 msgid "1 = True & 0 = False" -msgstr "" +msgstr "1 = صحيح و 0 = خطأ" #. Description of the 'Fraction Units' (Int) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json msgid "1 Currency = [?] Fraction\n" "For e.g. 1 USD = 100 Cent" -msgstr "" +msgstr "العملة الواحدة = [؟] كسر\n" +"على سبيل المثال، 1 دولار أمريكي = 100 سنت" #: frappe/public/js/frappe/form/reminders.js:19 msgid "1 Day" -msgstr "" +msgstr "يوم واحد" #: frappe/integrations/doctype/google_calendar/google_calendar.py:374 msgid "1 Google Calendar Event synced." msgstr "تمت مزامنة حدث تقويم Google واحد." -#: frappe/public/js/frappe/views/reports/query_report.js:966 +#: frappe/public/js/frappe/views/reports/query_report.js:983 msgid "1 Report" -msgstr "" +msgstr "تقرير واحد" #: frappe/tests/test_utils.py:906 msgid "1 day ago" -msgstr "" +msgstr "قبل يوم" #: frappe/public/js/frappe/form/reminders.js:17 msgid "1 hour" -msgstr "" +msgstr "ساعة واحدة" #: frappe/public/js/frappe/utils/pretty_date.js:52 #: frappe/tests/test_utils.py:904 @@ -189,23 +190,23 @@ msgstr "قبل شهر" msgid "1 of 2" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:227 +#: frappe/public/js/frappe/data_import/data_exporter.js:228 msgid "1 record will be exported" msgstr "سيتم تصدير سجل واحد" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:325 msgctxt "User removed row from child table" msgid "1 row from {0}" -msgstr "" +msgstr "صف واحد من {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:280 msgctxt "User added row to child table" msgid "1 row to {0}" -msgstr "" +msgstr "صف واحد إلى {0}" #: frappe/tests/test_utils.py:901 msgid "1 second ago" -msgstr "" +msgstr "منذ ثانية واحدة" #: frappe/public/js/frappe/utils/pretty_date.js:62 #: frappe/tests/test_utils.py:908 @@ -219,31 +220,31 @@ msgstr "منذ سنة" #: frappe/tests/test_utils.py:905 msgid "2 hours ago" -msgstr "" +msgstr "منذ ساعتين" #: frappe/tests/test_utils.py:911 msgid "2 months ago" -msgstr "" +msgstr "منذ شهرين" #: frappe/tests/test_utils.py:909 msgid "2 weeks ago" -msgstr "" +msgstr "قبل أسبوعين" #: frappe/tests/test_utils.py:913 msgid "2 years ago" -msgstr "" +msgstr "قبل عامين" #: frappe/tests/test_utils.py:903 msgid "3 minutes ago" -msgstr "" +msgstr "قبل 3 دقائق" #: frappe/public/js/frappe/form/reminders.js:16 msgid "30 minutes" -msgstr "" +msgstr "٣٠ دقيقة" #: frappe/public/js/frappe/form/reminders.js:18 msgid "4 hours" -msgstr "" +msgstr "٤ ساعات" #: frappe/public/js/frappe/data_import/data_exporter.js:37 msgid "5 Records" @@ -251,7 +252,7 @@ msgstr "5 السجلات" #: frappe/tests/test_utils.py:907 msgid "5 days ago" -msgstr "" +msgstr "قبل 5 أيام" #: frappe/desk/doctype/bulk_update/bulk_update.py:36 msgid "; not allowed in condition" @@ -261,24 +262,26 @@ msgstr "; غير مسموح به في حالة" #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "<" -msgstr "" +msgstr "<" #. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "<=" -msgstr "" +msgstr "≤" #. Description of the 'Generate Keys' (Button) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "\n" " Click here to learn about token-based authentication\n" "" -msgstr "" +msgstr "\n" +" انقر هنا لمعرفة المزيد عن المصادقة القائمة على الرموز المميزة\n" +"" #: frappe/public/js/frappe/widgets/widget_dialog.js:601 msgid "{0} is not a valid URL" -msgstr "" +msgstr "{0} ليس عنوان URL صالحًا" #. Content of the 'Help' (HTML) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -458,17 +461,7 @@ msgid "

Email Reply Example

\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" "

Templating

\n\n" "

Templates are compiled using the Jinja Templating Language. To learn more about Jinja, read this documentation.

\n" -msgstr "

مثال على الرد بالبريد الإلكتروني

\n\n" -"
طلب متأخر\n\n"
-"تجاوزت المعاملة {{ name }} تاريخ الاستحقاق. يرجى اتخاذ الإجراء اللازم.\n\n"
-"التفاصيل\n\n"
-"- العميل: {{ customer }}\n"
-"- المبلغ: {{ grand_total }}\n"
-"
\n\n" -"

كيفية الحصول على أسماء الحقول

\n\n" -"

أسماء الحقول التي يمكنك استخدامها في قالب البريد الإلكتروني هي الحقول الموجودة في المستند الذي ترسل منه البريد الإلكتروني. يمكنك معرفة حقول أي مستند من خلال الإعداد > تخصيص طريقة عرض النموذج واختيار نوع المستند (مثلا: فاتورة المبيعات)

\n\n" -"

القوالب

\n\n" -"

يتم تجميع القوالب باستخدام لغة Jinja Templating Language. لمعرفة المزيد عن Jinja، اقرأ هذه التوثيقات.

\n" +msgstr "" #. Content of the 'html_5' (HTML) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -583,46 +576,46 @@ msgstr "" #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "=" -msgstr "" +msgstr "=" #. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid ">" -msgstr "" +msgstr ">" #. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid ">=" -msgstr "" +msgstr "≥" -#: frappe/core/doctype/doctype/doctype.py:1049 +#: frappe/core/doctype/doctype/doctype.py:1052 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" -msgstr "" +msgstr "يجب أن يبدأ اسم نوع المستند بحرف، ولا يمكن أن يتكون إلا من حروف وأرقام ومسافات وشرطات سفلية وواصلات." #. Description of a DocType #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "A Frappe Framework instance can function as an OAuth Client, Resource, or Authorization server. This DocType contains settings related to all three." -msgstr "" +msgstr "يمكن لنسخة من إطار عمل Frappe أن تعمل كعميل OAuth أو مورد أو خادم ترخيص. يحتوي نوع المستند هذا على إعدادات متعلقة بالوظائف الثلاث." #. Success message of the request-data Web Form #: frappe/website/web_form/request_data/request_data.json msgid "A download link with your data will be sent to the email address associated with your account." -msgstr "" +msgstr "سيتم إرسال رابط تنزيل يحتوي على بياناتك إلى عنوان البريد الإلكتروني المرتبط بحسابك." -#: frappe/custom/doctype/custom_field/custom_field.py:176 +#: frappe/custom/doctype/custom_field/custom_field.py:177 msgid "A field with the name {0} already exists in {1}" -msgstr "" +msgstr "يوجد حقل باسم {0} بالفعل في {1}" #: frappe/core/doctype/file/file.py:279 msgid "A file with same name {} already exists" -msgstr "" +msgstr "يوجد ملف بنفس الاسم {} بالفعل" #. Description of the 'Scopes' (Text) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "A list of resources which the Client App will have access to after the user allows it.
e.g. project" -msgstr "قائمة الموارد التي سيكون لها التطبيق العميل الوصول إلى بعد قيام المستخدم يسمح بذلك.
على سبيل المثال مشروع" +msgstr "" #: frappe/templates/emails/new_user.html:5 msgid "A new account has been created for you at {0}" @@ -639,7 +632,7 @@ msgstr "رمز هذه العملة. ر.س مثلاً" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.py:49 msgid "A template already exists for field {0} of {1}" -msgstr "" +msgstr "يوجد بالفعل نموذج للحقل {0} من {1}" #. Description of the 'Software Version' (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json @@ -655,22 +648,22 @@ msgstr "كلمة في حد ذاتها هي سهلة التخمين." #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A0" -msgstr "" +msgstr "A0" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A1" -msgstr "" +msgstr "A1" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A2" -msgstr "" +msgstr "A2" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A3" -msgstr "" +msgstr "A3" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -680,27 +673,27 @@ msgstr "A4" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A5" -msgstr "" +msgstr "A5" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A6" -msgstr "" +msgstr "A6" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A7" -msgstr "" +msgstr "A7" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A8" -msgstr "" +msgstr "A8" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A9" -msgstr "" +msgstr "A9" #. Option for the 'Email Sync Option' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -729,7 +722,7 @@ msgstr "نقطة وصول API Args" #: frappe/integrations/doctype/social_login_key/social_login_key.py:102 msgid "API Endpoint Args should be valid JSON" -msgstr "" +msgstr "يجب أن تكون وسائط نقطة نهاية API بتنسيق JSON صالح." #. Label of the api_key (Data) field in DocType 'User' #. Label of the api_key (Data) field in DocType 'Email Account' @@ -749,22 +742,22 @@ msgstr "مفتاح API" #. Notification Settings' #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json 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 "" +msgstr "مفتاح API وكلمة المرور للتفاعل مع خادم الترحيل. سيتم إنشاء هذين المفتاحين تلقائيًا عند إرسال أول إشعار فوري من أي من التطبيقات المثبتة على هذا الموقع." #. Description of the 'API Key' (Data) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "API Key cannot be regenerated" -msgstr "" +msgstr "لا يمكن إعادة إنشاء مفتاح API" #: frappe/core/doctype/user/user.js:463 msgid "API Keys" -msgstr "" +msgstr "مفاتيح واجهة برمجة التطبيقات" #. Label of the api_logging_section (Section Break) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "API Logging" -msgstr "" +msgstr "تسجيل واجهة برمجة التطبيقات" #. Label of the api_method (Data) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -774,7 +767,7 @@ msgstr "طريقة API" #. Name of a DocType #: frappe/core/doctype/api_request_log/api_request_log.json msgid "API Request Log" -msgstr "" +msgstr "سجل طلبات واجهة برمجة التطبيقات" #. Label of the api_secret (Password) field in DocType 'User' #. Label of the api_secret (Password) field in DocType 'Email Account' @@ -797,18 +790,18 @@ msgstr "تصاعدي" #. Type: Action #: frappe/hooks.py msgid "About" -msgstr "" +msgstr "معلومات عن النظام" #: frappe/www/about.html:11 frappe/www/about.html:18 msgid "About Us" -msgstr "" +msgstr "نبذه عنا" #. Name of a DocType #. Label of a Link in the Website Workspace #: frappe/website/doctype/about_us_settings/about_us_settings.json #: frappe/website/workspace/website/website.json msgid "About Us Settings" -msgstr "" +msgstr "إعدادات صفحة من نحن" #. Name of a DocType #: frappe/website/doctype/about_us_team_member/about_us_team_member.json @@ -817,19 +810,19 @@ msgstr "أعضاء فريق صفحة من نحن" #: frappe/core/doctype/data_import/data_import.js:27 msgid "About {0} minute remaining" -msgstr "" +msgstr "حوالي {0} دقيقة متبقية" #: frappe/core/doctype/data_import/data_import.js:28 msgid "About {0} minutes remaining" -msgstr "" +msgstr "حوالي {0} دقائق متبقية" #: frappe/core/doctype/data_import/data_import.js:25 msgid "About {0} seconds remaining" -msgstr "" +msgstr "حوالي {0} ثانية متبقية" #: frappe/templates/emails/user_invitation.html:16 msgid "Accept Invitation" -msgstr "" +msgstr "قَبُول الدعوة" #. Option for the 'Status' (Select) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json @@ -839,7 +832,7 @@ msgstr "مقبول" #. Label of the accepted_at (Datetime) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Accepted At" -msgstr "" +msgstr "مقبولة في" #. Label of the access_control_section (Section Break) field in DocType 'Web #. Form' @@ -874,20 +867,20 @@ msgstr "الوصول غير مسموح به من عنوان IP هذا" #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Account" -msgstr "" +msgstr "حساب" #. Label of the account_deletion_settings_section (Section Break) field in #. DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Account Deletion Settings" -msgstr "" +msgstr "إعدادات حذف الحساب" #. Name of a role #: frappe/automation/doctype/auto_repeat/auto_repeat.json #: frappe/contacts/doctype/contact/contact.json #: frappe/geo/doctype/currency/currency.json msgid "Accounts Manager" -msgstr "" +msgstr "مدير حسابات" #. Name of a role #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -895,11 +888,11 @@ msgstr "" #: frappe/contacts/doctype/contact/contact.json #: frappe/geo/doctype/currency/currency.json msgid "Accounts User" -msgstr "" +msgstr "حسابات المستخدمين" #: frappe/public/js/frappe/form/dashboard.js:510 msgid "Accurate count can not be fetched, click here to view all documents" -msgstr "" +msgstr "لا يمكن جلب عدد دقيق، انقر هنا لعرض جميع المستندات" #. Label of the action (Select) field in DocType 'Amended Document Naming #. Settings' @@ -918,7 +911,7 @@ msgstr "" #: frappe/workflow/doctype/workflow_transition/workflow_transition.json #: frappe/workflow/page/workflow_builder/workflow_builder.js:37 msgid "Action" -msgstr "" +msgstr "حدث" #. Label of the action (Small Text) field in DocType 'DocType Action' #: frappe/core/doctype/doctype_action/doctype_action.json @@ -928,16 +921,16 @@ msgstr "العمل / الطريق" #: frappe/public/js/frappe/widgets/onboarding_widget.js:305 #: frappe/public/js/frappe/widgets/onboarding_widget.js:376 msgid "Action Complete" -msgstr "" +msgstr "اكتمل الإجراء" -#: frappe/model/document.py:1941 +#: frappe/model/document.py:1940 msgid "Action Failed" msgstr "فشل العمل" #. Label of the action_label (Data) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Action Label" -msgstr "" +msgstr "تسمية الإجراء" #. Label of the action_timeout (Int) field in DocType 'Success Action' #: frappe/core/doctype/success_action/success_action.json @@ -951,11 +944,11 @@ msgstr "نوع العمل" #: frappe/core/doctype/submission_queue/submission_queue.py:120 msgid "Action {0} completed successfully on {1} {2}. View it {3}" -msgstr "" +msgstr "تم تنفيذ الإجراء {0} بنجاح على {1} {2}. يمكنك عرضه {3}" #: frappe/core/doctype/submission_queue/submission_queue.py:116 msgid "Action {0} failed on {1} {2}. View it {3}" -msgstr "" +msgstr "فشلت العملية {0} على {1} {2}. اعرضها {3}" #. Label of the actions_section (Tab Break) field in DocType 'DocType' #. Label of the actions_section (Section Break) field in DocType 'User Session @@ -979,20 +972,20 @@ msgstr "" #: frappe/custom/doctype/customize_form/customize_form.js:132 #: frappe/custom/doctype/customize_form/customize_form.js:140 #: frappe/custom/doctype/customize_form/customize_form.js:148 -#: frappe/custom/doctype/customize_form/customize_form.js:283 +#: frappe/custom/doctype/customize_form/customize_form.js:293 #: frappe/custom/doctype/customize_form/customize_form.json -#: frappe/public/js/frappe/ui/page.html:41 -#: frappe/public/js/frappe/views/reports/query_report.js:191 -#: frappe/public/js/frappe/views/reports/query_report.js:204 -#: frappe/public/js/frappe/views/reports/query_report.js:214 -#: frappe/public/js/frappe/views/reports/query_report.js:853 +#: frappe/public/js/frappe/ui/page.html:63 +#: frappe/public/js/frappe/views/reports/query_report.js:192 +#: frappe/public/js/frappe/views/reports/query_report.js:205 +#: frappe/public/js/frappe/views/reports/query_report.js:215 +#: frappe/public/js/frappe/views/reports/query_report.js:870 msgid "Actions" -msgstr "" +msgstr "الإجراءات" #. Label of the activate (Check) field in DocType 'Package Import' #: frappe/core/doctype/package_import/package_import.json msgid "Activate" -msgstr "" +msgstr "فعل" #. Option for the 'Status' (Select) field in DocType 'Auto Repeat' #. Option for the 'Status' (Select) field in DocType 'Kanban Board Column' @@ -1004,12 +997,12 @@ msgstr "" #: frappe/integrations/doctype/oauth_bearer_token/oauth_bearer_token.json #: frappe/workflow/doctype/workflow/workflow_list.js:5 msgid "Active" -msgstr "" +msgstr "نشط" #. Option for the 'Directory Server' (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Active Directory" -msgstr "" +msgstr "الدليل النشط" #. Label of the active_domains_sb (Section Break) field in DocType 'Domain #. Settings' @@ -1031,7 +1024,7 @@ msgstr "الجلسات النشطة" #: frappe/public/js/frappe/form/dashboard.js:22 #: frappe/public/js/frappe/form/footer/form_timeline.js:60 msgid "Activity" -msgstr "" +msgstr "نشاط" #. Name of a DocType #. Label of a Link in the Build Workspace @@ -1042,32 +1035,32 @@ msgstr "" msgid "Activity Log" msgstr "سجل النشاط" -#: frappe/core/page/permission_manager/permission_manager.js:532 +#: frappe/core/page/permission_manager/permission_manager.js:533 #: frappe/email/doctype/email_group/email_group.js:60 -#: frappe/public/js/frappe/form/grid_row.js:501 +#: frappe/public/js/frappe/form/grid_row.js:503 #: frappe/public/js/frappe/form/sidebar/assign_to.js:104 #: frappe/public/js/frappe/form/templates/set_sharing.html:82 -#: frappe/public/js/frappe/list/bulk_operations.js:437 +#: frappe/public/js/frappe/list/bulk_operations.js:451 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:441 -#: frappe/public/js/frappe/views/reports/query_report.js:266 -#: frappe/public/js/frappe/views/reports/query_report.js:294 +#: frappe/public/js/frappe/views/reports/query_report.js:267 +#: frappe/public/js/frappe/views/reports/query_report.js:295 #: frappe/public/js/frappe/widgets/widget_dialog.js:30 msgid "Add" -msgstr "" +msgstr "إضافة" -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Add / Remove Columns" -msgstr "" +msgstr "إضافة / إزالة الأعمدة" #: frappe/core/doctype/user_permission/user_permission_list.js:4 msgid "Add / Update" msgstr "إضافة / تحديث" -#: frappe/core/page/permission_manager/permission_manager.js:492 +#: frappe/core/page/permission_manager/permission_manager.js:493 msgid "Add A New Rule" msgstr "إضافة قاعدة جديدة" -#: frappe/public/js/frappe/views/communication.js:592 +#: frappe/public/js/frappe/views/communication.js:653 #: frappe/public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "إضافة مرفق" @@ -1075,33 +1068,37 @@ msgstr "إضافة مرفق" #. Label of the add_background_image (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Background Image" -msgstr "" +msgstr "إضافة صورة خلفية" #. Label of the add_border_at_bottom (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Border at Bottom" -msgstr "" +msgstr "إضافة حدود في الأسفل" #. Label of the add_border_at_top (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Border at Top" -msgstr "" +msgstr "إضافة حدود في الأعلى" + +#: frappe/public/js/frappe/views/communication.js:195 +msgid "Add CSS" +msgstr "أضف CSS" #: frappe/desk/doctype/number_card/number_card.js:37 msgid "Add Card to Dashboard" -msgstr "" +msgstr "أضف البطاقة إلى لوحة التحكم" -#: frappe/public/js/frappe/views/reports/query_report.js:210 +#: frappe/public/js/frappe/views/reports/query_report.js:211 msgid "Add Chart to Dashboard" msgstr "إضافة مخطط إلى لوحة القيادة" #: frappe/public/js/frappe/views/treeview.js:301 msgid "Add Child" -msgstr "" +msgstr "إضافة الطفل" #: frappe/public/js/frappe/views/kanban/kanban_board.html:4 -#: frappe/public/js/frappe/views/reports/query_report.js:1862 -#: frappe/public/js/frappe/views/reports/query_report.js:1865 +#: frappe/public/js/frappe/views/reports/query_report.js:1911 +#: frappe/public/js/frappe/views/reports/query_report.js:1914 #: frappe/public/js/frappe/views/reports/report_view.js:354 #: frappe/public/js/frappe/views/reports/report_view.js:379 #: frappe/public/js/print_format_builder/Field.vue:112 @@ -1143,66 +1140,58 @@ msgstr "إضافة مجموعة" #: frappe/core/doctype/recorder/recorder.js:30 msgid "Add Indexes" -msgstr "" +msgstr "إضافة فهرس" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Add Multiple" -msgstr "" - -#: frappe/core/page/permission_manager/permission_manager.js:495 +#: frappe/core/page/permission_manager/permission_manager.js:496 msgid "Add New Permission Rule" msgstr "إضافة قاعدة صلاحيات جديدة" #: frappe/desk/doctype/event/event.js:35 frappe/desk/doctype/event/event.js:42 msgid "Add Participants" -msgstr "" +msgstr "أضف مشاركين" #. Label of the add_query_parameters (Check) field in DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json msgid "Add Query Parameters" -msgstr "" +msgstr "إضافة معلمات الاستعلام" -#: frappe/core/doctype/user/user.py:857 +#: frappe/core/doctype/user/user.py:860 msgid "Add Roles" -msgstr "" - -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Add Row" -msgstr "" +msgstr "إضافة قاعدة" #. Label of the add_signature (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json -#: frappe/public/js/frappe/views/communication.js:124 +#: frappe/public/js/frappe/views/communication.js:151 msgid "Add Signature" msgstr "إضافة التوقيع" #. Label of the add_bottom_padding (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Space at Bottom" -msgstr "" +msgstr "إضافة مساحة في الأسفل" #. Label of the add_top_padding (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Space at Top" -msgstr "" +msgstr "إضافة مسافة في الأعلى" #: frappe/email/doctype/email_group/email_group.js:38 #: frappe/email/doctype/email_group/email_group.js:59 msgid "Add Subscribers" msgstr "إضافة المشتركين" -#: frappe/public/js/frappe/list/bulk_operations.js:425 +#: frappe/public/js/frappe/list/bulk_operations.js:439 msgid "Add Tags" -msgstr "" +msgstr "إضافة وسوم" -#: frappe/public/js/frappe/list/list_view.js:2228 +#: frappe/public/js/frappe/list/list_view.js:2236 msgctxt "Button in list view actions menu" msgid "Add Tags" -msgstr "" +msgstr "إضافة وسوم" -#: frappe/public/js/frappe/views/communication.js:424 +#: frappe/public/js/frappe/views/communication.js:483 msgid "Add Template" -msgstr "" +msgstr "إضافة قالب" #. Label of the add_total_row (Check) field in DocType 'Report' #: frappe/core/doctype/report/report.json @@ -1212,7 +1201,7 @@ msgstr "إضافة صف الإجمالي" #. Label of the add_translate_data (Check) field in DocType 'Report' #: frappe/core/doctype/report/report.json msgid "Add Translate Data" -msgstr "" +msgstr "إضافة بيانات الترجمة" #. Label of the add_unsubscribe_link (Check) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json @@ -1226,19 +1215,19 @@ msgstr "إضافة أذونات المستخدم" #. Label of the add_video_conferencing (Check) field in DocType 'Event' #: frappe/desk/doctype/event/event.json msgid "Add Video Conferencing" -msgstr "" +msgstr "إضافة مؤتمرات الفيديو" #: frappe/public/js/frappe/ui/filters/filter_list.js:299 msgid "Add a Filter" -msgstr "" +msgstr "إضافة تصفية" #: frappe/core/page/permission_manager/permission_manager_help.html:9 msgid "Add a New Role" -msgstr "" +msgstr "إضافة قاعدة جديدة" #: frappe/public/js/frappe/form/form_tour.js:211 msgid "Add a Row" -msgstr "" +msgstr "إضافة صف" #: frappe/templates/includes/comments/comments.html:30 #: frappe/templates/includes/comments/comments.html:47 @@ -1248,23 +1237,23 @@ msgstr "إضافة تعليق" #: frappe/printing/page/print_format_builder/print_format_builder_layout.html:28 #: frappe/public/js/form_builder/components/Tabs.vue:192 msgid "Add a new section" -msgstr "" +msgstr "إضافة قسم جديد" -#: frappe/public/js/frappe/form/form.js:194 +#: frappe/public/js/frappe/form/form.js:195 msgid "Add a row above the current row" -msgstr "" +msgstr "إضافة صف فوق الصف الحالي" -#: frappe/public/js/frappe/form/form.js:206 +#: frappe/public/js/frappe/form/form.js:207 msgid "Add a row at the bottom" -msgstr "" +msgstr "إضافة صف في الأسفل" -#: frappe/public/js/frappe/form/form.js:202 +#: frappe/public/js/frappe/form/form.js:203 msgid "Add a row at the top" -msgstr "" +msgstr "إضافة صف في الأعلى" -#: frappe/public/js/frappe/form/form.js:198 +#: frappe/public/js/frappe/form/form.js:199 msgid "Add a row below the current row" -msgstr "" +msgstr "إضافة صف أسفل الصف الحالي" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:286 msgid "Add a {0} Chart" @@ -1273,25 +1262,33 @@ msgstr "أضف مخطط {0}" #: frappe/public/js/form_builder/components/Section.vue:271 #: frappe/public/js/print_format_builder/PrintFormatSection.vue:115 msgid "Add column" -msgstr "" +msgstr "إضافة عمود" #: frappe/public/js/form_builder/components/AddFieldButton.vue:9 #: frappe/public/js/form_builder/components/AddFieldButton.vue:48 msgid "Add field" -msgstr "" +msgstr "إضافة حقل" + +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Add multiple" +msgstr "أضف عدة" #: frappe/public/js/form_builder/components/Sidebar.vue:46 #: frappe/public/js/form_builder/components/Tabs.vue:153 msgid "Add new tab" -msgstr "" +msgstr "إضافة تبويب جديد" #: frappe/utils/password_strength.py:191 msgid "Add numbers or special characters." -msgstr "" +msgstr "أضف أرقامًا أو رموزًا خاصة." #: frappe/public/js/print_format_builder/PrintFormatSection.vue:125 msgid "Add page break" -msgstr "" +msgstr "إضافة فاصل الصفحة" + +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Add row" +msgstr "إضافة صف" #: frappe/custom/doctype/client_script/client_script.js:18 msgid "Add script for Child Table" @@ -1299,19 +1296,19 @@ msgstr "إضافة البرنامج النصي لجدول الطفل" #: frappe/public/js/print_format_builder/PrintFormatSection.vue:111 msgid "Add section above" -msgstr "" +msgstr "أضف القسم أعلاه" #: frappe/public/js/form_builder/components/Section.vue:265 msgid "Add section below" -msgstr "" +msgstr "أضف القسم أدناه" #: frappe/public/js/form_builder/components/Sidebar.vue:49 #: frappe/public/js/form_builder/components/Tabs.vue:157 msgid "Add tab" -msgstr "" +msgstr "إضافة علامة تبويب" #: frappe/public/js/frappe/utils/dashboard_utils.js:269 -#: frappe/public/js/frappe/views/reports/query_report.js:252 +#: frappe/public/js/frappe/views/reports/query_report.js:253 msgid "Add to Dashboard" msgstr "إضافة إلى لوحة القيادة" @@ -1325,21 +1322,21 @@ msgstr "إضافة إلى الجدول" #: frappe/public/js/frappe/form/footer/form_timeline.js:99 msgid "Add to this activity by mailing to {0}" -msgstr "" +msgstr "أضف إلى هذا النشاط عن طريق إرسال بريد إلكتروني إلى {0}" #: frappe/public/js/frappe/views/kanban/kanban_column.html:20 msgid "Add {0}" -msgstr "" +msgstr "أضِف {0}" #: frappe/public/js/frappe/list/list_view.js:289 msgctxt "Primary action in list view" msgid "Add {0}" -msgstr "" +msgstr "أضِف {0}" #. Option for the 'Status' (Select) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "Added" -msgstr "" +msgstr "مضاف" #. Description of the '<head> HTML' (Code) field in DocType 'Website #. Settings' @@ -1349,12 +1346,12 @@ msgstr "وأضاف HTML في القسم <head> من صفحة الويب، #: frappe/core/doctype/log_settings/log_settings.py:81 msgid "Added default log doctypes: {}" -msgstr "" +msgstr "تمت إضافة أنواع مستندات السجل الافتراضية: {}" -#: frappe/public/js/frappe/form/link_selector.js:180 -#: frappe/public/js/frappe/form/link_selector.js:202 +#: frappe/public/js/frappe/form/link_selector.js:189 +#: frappe/public/js/frappe/form/link_selector.js:211 msgid "Added {0} ({1})" -msgstr "" +msgstr "وأضاف {0} ({1})" #. Label of the additional_permissions (Section Break) field in DocType 'Custom #. DocPerm' @@ -1378,7 +1375,7 @@ msgstr "ضوابط إضافية" #: frappe/website/doctype/contact_us_settings/contact_us_settings.json #: frappe/website/doctype/website_settings/website_settings.json msgid "Address" -msgstr "" +msgstr "عنوان" #. Label of the address_line1 (Data) field in DocType 'Address' #. Label of the address_line1 (Data) field in DocType 'Contact Us Settings' @@ -1386,7 +1383,7 @@ msgstr "" #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:37 #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Address Line 1" -msgstr "" +msgstr "العنوان سطر 1" #. Label of the address_line2 (Data) field in DocType 'Address' #. Label of the address_line2 (Data) field in DocType 'Contact Us Settings' @@ -1394,7 +1391,7 @@ msgstr "" #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:38 #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Address Line 2" -msgstr "" +msgstr "العنوان سطر 2" #. Name of a DocType #: frappe/contacts/doctype/address_template/address_template.json @@ -1435,14 +1432,14 @@ msgstr "العناوين و جهات الاتصال" #. Description of a DocType #: frappe/custom/doctype/client_script/client_script.json msgid "Adds a custom client script to a DocType" -msgstr "" +msgstr "يضيف نصًا برمجيًا مخصصًا للعميل إلى نوع المستند" #. Description of a DocType #: frappe/custom/doctype/custom_field/custom_field.json msgid "Adds a custom field to a DocType" -msgstr "" +msgstr "يضيف حقلاً مخصصاً إلى نوع المستند" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:596 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:566 msgid "Administration" msgstr "الادارة" @@ -1467,19 +1464,19 @@ msgstr "الادارة" #: frappe/desk/doctype/system_console/system_console.json #: frappe/website/doctype/website_theme/website_theme.json msgid "Administrator" -msgstr "" +msgstr "مدير" -#: frappe/core/doctype/user/user.py:1273 +#: frappe/core/doctype/user/user.py:1276 msgid "Administrator Logged In" msgstr "تسجيل دخول مسؤول النظام" -#: frappe/core/doctype/user/user.py:1267 +#: frappe/core/doctype/user/user.py:1270 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr ".{2} المسؤول ولج {0} بتاريخ {1} عبر العنوان" #: frappe/desk/form/document_follow.py:52 msgid "Administrator can't follow" -msgstr "" +msgstr "لا يستطيع المسؤول المتابعة" #. Label of the advanced (Section Break) field in DocType 'DocType' #. Label of the advanced_tab (Tab Break) field in DocType 'System Settings' @@ -1494,8 +1491,8 @@ msgstr "متقدم" msgid "Advanced Control" msgstr "تحكم متقدم" -#: frappe/public/js/frappe/form/controls/link.js:485 -#: frappe/public/js/frappe/form/controls/link.js:487 +#: frappe/public/js/frappe/form/controls/link.js:499 +#: frappe/public/js/frappe/form/controls/link.js:501 msgid "Advanced Search" msgstr "البحث المتقدم" @@ -1507,7 +1504,7 @@ msgstr "إعدادات متقدمة" #: frappe/public/js/frappe/ui/filters/filter.js:64 #: frappe/public/js/frappe/ui/filters/filter.js:70 msgid "After" -msgstr "" +msgstr "بعد" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -1522,17 +1519,17 @@ msgstr "بعد الحذف" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Discard" -msgstr "" +msgstr "بعد التجاهل" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Insert" -msgstr "" +msgstr "بعد الإدراج" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Rename" -msgstr "" +msgstr "بعد إعادة التسمية" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -1547,7 +1544,7 @@ msgstr "بعد الحفظ (المستند المقدم)" #. Label of the section_break_5 (Section Break) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "After Submission" -msgstr "" +msgstr "بعد تقديم الطلب" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -1556,7 +1553,7 @@ msgstr "بعد تقديم" #: frappe/desk/doctype/number_card/number_card.py:63 msgid "Aggregate Field is required to create a number card" -msgstr "" +msgstr "حقل التجميع مطلوب لإنشاء بطاقة رقمية" #. Label of the aggregate_function_based_on (Select) field in DocType #. 'Dashboard Chart' @@ -1576,15 +1573,15 @@ msgstr "حقل تجميع الوظائف مطلوب لإنشاء مخطط لوح msgid "Alert" msgstr "إنذار" -#: frappe/database/query.py:2147 +#: frappe/database/query.py:2226 msgid "Alias must be a string" -msgstr "" +msgstr "يجب أن يكون الاسم المستعار سلسلة نصية" #. Label of the align (Select) field in DocType 'Letter Head' #. Label of the footer_align (Select) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Align" -msgstr "" +msgstr "محاذاة" #. Label of the align_labels_right (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -1600,6 +1597,15 @@ msgstr "محاذاة اليمين" msgid "Align Value" msgstr "محاذاة القيمة" +#. Label of the alignment (Select) field in DocType 'DocField' +#. Label of the alignment (Select) field in DocType 'Custom Field' +#. Label of the alignment (Select) field in DocType 'Customize Form Field' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json +msgid "Alignment" +msgstr "تنسيق" + #. Name of a role #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -1626,15 +1632,15 @@ msgstr "محاذاة القيمة" #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json #: frappe/website/doctype/website_settings/website_settings.json msgid "All" -msgstr "" +msgstr "الكل" #. Label of the all_day (Check) field in DocType 'Calendar View' #. Label of the all_day (Check) field in DocType 'Event' #: frappe/desk/doctype/calendar_view/calendar_view.json #: frappe/desk/doctype/event/event.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:439 +#: frappe/public/js/frappe/ui/notifications/notifications.js:448 msgid "All Day" -msgstr "" +msgstr "كل يوم" #: frappe/website/doctype/website_slideshow/website_slideshow.py:43 msgid "All Images attached to Website Slideshow should be public" @@ -1644,22 +1650,22 @@ msgstr "يجب أن تكون جميع الصور الملحقة لموقع مع msgid "All Records" msgstr "جميع السجلات" -#: frappe/public/js/frappe/form/form.js:2240 +#: frappe/public/js/frappe/form/form.js:2271 msgid "All Submissions" -msgstr "" +msgstr "جميع المشاركات" -#: frappe/custom/doctype/customize_form/customize_form.js:452 +#: frappe/custom/doctype/customize_form/customize_form.js:462 msgid "All customizations will be removed. Please confirm." msgstr "سيتم إزالة كافة التخصيصات. يرجى التأكيد." #: frappe/templates/includes/comments/comments.html:158 msgid "All fields are necessary to submit the comment." -msgstr "" +msgstr "جميع الحقول ضرورية لإرسال التعليق." #. Description of the 'Document States' (Table) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "All possible Workflow States and roles of the workflow. Docstatus Options: 0 is \"Saved\", 1 is \"Submitted\" and 2 is \"Cancelled\"" -msgstr "" +msgstr "جميع حالات سير العمل وأدواره الممكنة. خيارات حالة المستند: 0 تعني \"تم الحفظ\"، 1 تعني \"تم الإرسال\"، و2 تعني \"تم الإلغاء\"." #: frappe/utils/password_strength.py:183 msgid "All-uppercase is almost as easy to guess as all-lowercase." @@ -1699,13 +1705,13 @@ msgstr "السماح بتحرير الكل" #. Label of the allow_edit (Check) field in DocType 'List View Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "Allow Bulk Editing" -msgstr "" +msgstr "السماح بالتحرير الجماعي" #. Label of the allow_consecutive_login_attempts (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Allow Consecutive Login Attempts" -msgstr "" +msgstr "السماح بمحاولات تسجيل الدخول المتتالية" #: frappe/integrations/doctype/google_calendar/google_calendar.py:79 msgid "Allow Google Calendar Access" @@ -1801,7 +1807,7 @@ msgstr "اسمح بالموافقة الذاتية" #. Label of the enable_telemetry (Check) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Allow Sending Usage Data for Improving Applications" -msgstr "" +msgstr "السماح بإرسال بيانات الاستخدام لتحسين التطبيقات" #. Description of the 'Allow Self Approval' (Check) field in DocType 'Workflow #. Transition' @@ -1812,12 +1818,12 @@ msgstr "السماح بالموافقة على منشئ المستند" #. Label of the allow_comments (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow comments" -msgstr "" +msgstr "السماح بالتعليقات" #. Label of the allow_delete (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow delete" -msgstr "" +msgstr "السماح بالحذف" #. Label of the email_append_to (Check) field in DocType 'DocType' #. Label of the email_append_to (Check) field in DocType 'Customize Form' @@ -1829,14 +1835,15 @@ msgstr "السماح بإنشاء المستندات عبر البريد الإ #. Label of the allow_edit (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow editing after submit" -msgstr "" +msgstr "السماح بالتعديل بعد الإرسال" #. Description of the 'Allow Bulk Editing' (Check) field in DocType 'List View #. Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "Allow editing even if the doctype has a workflow set up.\n\n" "Does nothing if a workflow isn't set up." -msgstr "" +msgstr "يسمح بالتعديل حتى لو كان نوع المستند يحتوي على سير عمل مُعد مسبقًا.\n\n" +"لا يفعل شيئًا إذا لم يكن هناك سير عمل مُعد مسبقًا." #. Label of the allow_events_in_timeline (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -1856,12 +1863,12 @@ msgstr "السماح لأدخال سريع" #. Label of the allow_incomplete (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow incomplete forms" -msgstr "" +msgstr "السماح بالنماذج غير المكتملة" #. Label of the allow_multiple (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow multiple responses" -msgstr "" +msgstr "السماح بإرسال عدة ردود" #. Label of the allow_on_submit (Check) field in DocType 'DocField' #. Label of the allow_on_submit (Check) field in DocType 'Custom Field' @@ -1887,11 +1894,11 @@ msgstr "السماح بفواصل الصفحات داخل الجداول" #. Label of the allow_print (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allow print" -msgstr "" +msgstr "السماح بالطباعة" #: frappe/desk/page/setup_wizard/setup_wizard.js:431 msgid "Allow recording my first session to improve user experience" -msgstr "" +msgstr "اسمح بتسجيل جلستي الأولى لتحسين تجربة المستخدم" #. Description of the 'Allow incomplete forms' (Check) field in DocType 'Web #. Form' @@ -1901,7 +1908,7 @@ msgstr "يسمح بحفظ البيانات في حالة عدم ملئ الحق #: frappe/desk/page/setup_wizard/setup_wizard.js:424 msgid "Allow sending usage data for improving applications" -msgstr "" +msgstr "السماح بإرسال بيانات الاستخدام لتحسين التطبيقات" #. Description of the 'Login After' (Int) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -1917,7 +1924,7 @@ msgstr "تسمح للمستخدم لتسجيل الدخول فقط قبل هذه #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Allow users to log in without a password, using a login link sent to their email" -msgstr "" +msgstr "اسمح للمستخدمين بتسجيل الدخول بدون كلمة مرور، باستخدام رابط تسجيل الدخول المرسل إلى بريدهم الإلكتروني" #. Label of the allowed (Link) field in DocType 'Workflow Transition' #: frappe/workflow/doctype/workflow_transition/workflow_transition.json @@ -1928,7 +1935,7 @@ msgstr "سمح" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Allowed File Extensions" -msgstr "" +msgstr "امتدادات الملفات المسموح بها" #. Label of the allowed_in_mentions (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -1939,27 +1946,27 @@ msgstr "سمح في المذكرات" #. Type' #: frappe/core/doctype/user_type/user_type.json msgid "Allowed Modules" -msgstr "" +msgstr "الوحدات النمطية المسموح بها" #. Label of the allowed_public_client_origins (Small Text) field in DocType #. 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Allowed Public Client Origins" -msgstr "" +msgstr "مصادر العملاء العامة المسموح بها" #. Label of the allowed_roles (Table MultiSelect) field in DocType 'OAuth #. Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Allowed Roles" -msgstr "" +msgstr "الأدوار المسموح بها" #. Label of the allowed_embedding_domains (Small Text) field in DocType 'Web #. Form' #: frappe/website/doctype/web_form/web_form.json msgid "Allowed embedding domains" -msgstr "" +msgstr "نطاقات التضمين المسموح بها" -#: frappe/public/js/frappe/form/form.js:1268 +#: frappe/public/js/frappe/form/form.js:1297 msgid "Allowing DocType, DocType. Be careful!" msgstr "السماح DOCTYPE ، DOCTYPE . كن حذرا!" @@ -1991,15 +1998,63 @@ msgstr "" #. field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Allows enabled Social Login Key Base URL to be shown as authorization server." +msgstr "يسمح بعرض عنوان URL الأساسي لمفتاح تسجيل الدخول الاجتماعي المُفعّل كخادم تفويض." + +#: frappe/core/page/permission_manager/permission_manager_help.html:52 +msgid "Allows printing or PDF download of documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:77 +msgid "Allows sharing document access with other users." msgstr "" #. Description of the 'Skip Authorization' (Check) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Allows skipping authorization if a user has active tokens." +msgstr "يسمح بتجاوز عملية التفويض إذا كان لدى المستخدم رموز مميزة نشطة." + +#: frappe/core/page/permission_manager/permission_manager_help.html:62 +msgid "Allows the user to access reports related to the document." msgstr "" -#: frappe/core/doctype/user/user.py:1081 +#: frappe/core/page/permission_manager/permission_manager_help.html:42 +msgid "Allows the user to create new documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:47 +msgid "Allows the user to delete documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:37 +msgid "Allows the user to edit existing records they have access to." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:57 +msgid "Allows the user to email from the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:67 +msgid "Allows the user to export data from the Report view." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:27 +msgid "Allows the user to search and see records." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:72 +msgid "Allows the user to use Data Import tool to create / update records." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:32 +msgid "Allows the user to view the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:82 +msgid "Allows users to enable the mask property for any field of the respective doctype." +msgstr "" + +#: frappe/core/doctype/user/user.py:1084 msgid "Already Registered" msgstr "مسجل بالفعل" @@ -2018,18 +2073,18 @@ msgstr "إضافة حقل تبعية الحالة أيضًا {0}" #. Label of the login_id (Data) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Alternative Email ID" -msgstr "" +msgstr "معرف بريد إلكتروني بديل" #. Option for the 'Show External Link Warning' (Select) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Always" -msgstr "" +msgstr "دائماً" #. Label of the always_bcc (Data) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Always BCC Address" -msgstr "" +msgstr "عنوان BCC دائمًا" #. Label of the add_draft_heading (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -2040,13 +2095,13 @@ msgstr "دائما إضافة \"كلمة مسودة\" عند طباعة المس #. 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Always use this email address as sender address" -msgstr "" +msgstr "استخدم دائمًا عنوان البريد الإلكتروني هذا كعنوان المرسل" #. Label of the always_use_account_name_as_sender_name (Check) field in DocType #. 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Always use this name as sender name" -msgstr "" +msgstr "استخدم هذا الاسم دائمًا كاسم المرسل" #. Label of the amend (Check) field in DocType 'Custom DocPerm' #. Label of the amend (Check) field in DocType 'DocPerm' @@ -2064,24 +2119,24 @@ msgstr "تعديل" #: frappe/core/doctype/amended_document_naming_settings/amended_document_naming_settings.json #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Amend Counter" -msgstr "" +msgstr "تعديل مضاد" #. Name of a DocType #: frappe/core/doctype/amended_document_naming_settings/amended_document_naming_settings.json msgid "Amended Document Naming Settings" -msgstr "" +msgstr "إعدادات تسمية المستندات المعدلة" #. Label of the amended_documents_section (Section Break) field in DocType #. 'Document Naming Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Amended Documents" -msgstr "" +msgstr "الوثائق المعدلة" #. Label of the amended_from (Link) field in DocType 'Personal Data Download #. Request' #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json msgid "Amended From" -msgstr "" +msgstr "معدل من" #: frappe/public/js/frappe/form/save.js:12 msgctxt "Freeze message while amending a document" @@ -2092,22 +2147,22 @@ msgstr "المعدل" #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Amendment Naming Override" -msgstr "" +msgstr "تجاوز تسمية التعديل" -#: frappe/model/document.py:586 +#: frappe/model/document.py:585 msgid "Amendment Not Allowed" -msgstr "" +msgstr "التعديل غير مسموح به" #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:207 msgid "Amendment naming rules updated." -msgstr "" +msgstr "تم تحديث قواعد تسمية التعديلات." #. Success message of the request-to-delete-data Web Form #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json msgid "An email to verify your request has been sent to your email address. Please verify your request to complete the process." -msgstr "" +msgstr "تم إرسال بريد إلكتروني إلى عنوان بريدك الإلكتروني لتأكيد طلبك. يرجى تأكيد طلبك لإتمام العملية." -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:257 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:242 msgid "An error occurred while setting Session Defaults" msgstr "حدث خطأ أثناء إعداد الإعدادات الافتراضية للجلسة" @@ -2118,7 +2173,7 @@ msgstr "ملف أيقونة بصيغة ico. يجب أن تكون 16 × 16 بك #: frappe/templates/includes/oauth_confirmation.html:38 msgid "An unexpected error occurred while authorizing {}." -msgstr "" +msgstr "حدث خطأ غير متوقع أثناء عملية المصادقة {}." #. Label of the analytics_section (Section Break) field in DocType 'Website #. Settings' @@ -2134,31 +2189,31 @@ msgstr "أجداد" #. Settings' #: frappe/core/doctype/navbar_settings/navbar_settings.json msgid "Announcement Widget" -msgstr "" +msgstr "أداة الإعلان" #. Label of the announcements_section (Section Break) field in DocType 'Navbar #. Settings' #: frappe/core/doctype/navbar_settings/navbar_settings.json msgid "Announcements" -msgstr "" +msgstr "الإعلانات" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Annual" -msgstr "" +msgstr "سنوي" #. Label of the anonymization_matrix (Code) field in DocType 'Personal Data #. Deletion Request' #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json msgid "Anonymization Matrix" -msgstr "" +msgstr "مصفوفة إخفاء الهوية" #. Label of the anonymous (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Anonymous responses" -msgstr "" +msgstr "ردود مجهولة" -#: frappe/public/js/frappe/request.js:189 +#: frappe/public/js/frappe/request.js:187 msgid "Another transaction is blocking this one. Please try again in a few seconds." msgstr "معاملة أخرى يتم حظر هذه واحدة. يرجى المحاولة مرة أخرى في بضع ثوان." @@ -2171,9 +2226,9 @@ msgstr "آخر {0} مع اسم {1} موجودا، حدد اسم آخر" msgid "Any string-based printer languages can be used. Writing raw commands requires knowledge of the printer's native language provided by the printer manufacturer. Please refer to the developer manual provided by the printer manufacturer on how to write their native commands. These commands are rendered on the server side using the Jinja Templating Language." msgstr "يمكن استخدام أي لغة الطابعة المستندة إلى سلسلة. تتطلب كتابة الأوامر الأولية معرفة اللغة الأصلية للطابعة التي توفرها الشركة المصنعة للطابعة. يرجى الرجوع إلى دليل المطور الذي توفره الشركة المصنعة للطابعة حول كيفية كتابة الأوامر الأصلية. يتم تقديم هذه الأوامر على جانب الخادم باستخدام Jinja Templating Language." -#: frappe/core/page/permission_manager/permission_manager_help.html:36 +#: frappe/core/page/permission_manager/permission_manager_help.html:103 msgid "Apart from System Manager, roles with Set User Permissions right can set permissions for other users for that Document Type." -msgstr "" +msgstr "بصرف النظر عن مدير النظام، يمكن للأدوار التي تتمتع بحق تعيين أذونات المستخدم تعيين أذونات لمستخدمين آخرين لنوع المستند هذا." #. Label of the app_tab (Tab Break) field in DocType 'System Settings' #. Label of the app_section (Section Break) field in DocType 'User' @@ -2196,13 +2251,13 @@ msgstr "تطبيق" #. Label of the app_id (Data) field in DocType 'Google Settings' #: frappe/integrations/doctype/google_settings/google_settings.json msgid "App ID" -msgstr "" +msgstr "معرف التطبيق" #. Label of the app_logo (Attach Image) field in DocType 'Website Settings' #: frappe/desk/page/desktop/desktop.html:8 #: frappe/website/doctype/website_settings/website_settings.json msgid "App Logo" -msgstr "" +msgstr "شعار التطبيق" #. Label of the app_name (Select) field in DocType 'Module Def' #. Label of the app_name (Select) field in DocType 'User Invitation' @@ -2219,13 +2274,13 @@ msgstr "اسم التطبيق" #. Label of the app_name (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "App Name (Client Name)" -msgstr "" +msgstr "اسم التطبيق (اسم العميل)" -#: frappe/modules/utils.py:300 +#: frappe/modules/utils.py:343 msgid "App not found for module: {0}" -msgstr "" +msgstr "لم يتم العثور على التطبيق للوحدة: {0}" -#: frappe/__init__.py:1112 +#: frappe/__init__.py:1110 msgid "App {0} is not installed" msgstr "لم يتم تثبيت التطبيق {0}" @@ -2252,7 +2307,7 @@ msgstr "إلحاق يمكن أن يكون واحدا من {0}" #. Description of the 'Append To' (Link) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Append as communication against this DocType (must have fields: \"Sender\" and \"Subject\"). These fields can be defined in the email settings section of the appended doctype." -msgstr "" +msgstr "أضف هذا المستند كرسالة (يجب أن يحتوي على حقلين: \"المرسل\" و\"الموضوع\"). يمكن تحديد هذين الحقلين في قسم إعدادات البريد الإلكتروني الخاص بالمستند المُضاف." #: frappe/core/doctype/user_permission/user_permission_list.js:105 msgid "Applicable Document Types" @@ -2261,7 +2316,7 @@ msgstr "أنواع المستندات القابلة للتطبيق" #. Label of the applicable_for (Link) field in DocType 'User Permission' #: frappe/core/doctype/user_permission/user_permission.json msgid "Applicable For" -msgstr "" +msgstr "قابل للتطبيق ل" #. Label of the app_logo (Attach Image) field in DocType 'Navbar Settings' #. Label of the logo_section (Section Break) field in DocType 'Navbar Settings' @@ -2283,7 +2338,7 @@ msgstr "إصدار التطبيق" #: frappe/core/doctype/user_invitation/user_invitation.py:195 msgid "Application is not installed" -msgstr "" +msgstr "التطبيق غير مثبت" #. Label of the doctype_or_field (Select) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -2293,20 +2348,24 @@ msgstr "تم التطبيق" #. Label of the doc_type (Link) field in DocType 'Permission Type' #: frappe/core/doctype/permission_type/permission_type.json msgid "Applies To (DocType)" -msgstr "" +msgstr "ينطبق على (نوع المستند)" #: frappe/public/js/form_builder/components/Field.vue:100 msgid "Apply" -msgstr "" +msgstr "تقديم" -#: frappe/public/js/frappe/list/list_view.js:2213 +#: frappe/public/js/frappe/list/list_view.js:2221 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "تطبيق قاعدة الواجب" #: frappe/public/js/frappe/ui/filters/filter_list.js:318 msgid "Apply Filters" -msgstr "" +msgstr "تطبيق عوامل التصفية" + +#: frappe/custom/doctype/customize_form/customize_form.js:271 +msgid "Apply Module Export Filter" +msgstr "تطبيق فلتر تصدير الوحدات النمطية" #. Label of the apply_strict_user_permissions (Check) field in DocType 'System #. Settings' @@ -2317,7 +2376,7 @@ msgstr "تطبيق صلاحيات المستخدم المحدودة" #. Label of the view (Select) field in DocType 'Client Script' #: frappe/custom/doctype/client_script/client_script.json msgid "Apply To" -msgstr "" +msgstr "التقديم إلى" #. Label of the apply_to_all_doctypes (Check) field in DocType 'User #. Permission' @@ -2328,12 +2387,12 @@ msgstr "تنطبق على جميع أنواع المستندات" #. Label of the apply_user_permission_on (Link) field in DocType 'User Type' #: frappe/core/doctype/user_type/user_type.json msgid "Apply User Permission On" -msgstr "" +msgstr "تطبيق أذونات المستخدم على" #. Label of the apply_document_permissions (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Apply document permissions" -msgstr "" +msgstr "تطبيق أذونات المستند" #. Description of the 'If user is the owner' (Check) field in DocType 'Custom #. DocPerm' @@ -2347,7 +2406,7 @@ msgstr "تطبيق هذا الحكم إذا كان المستخدم هو مال msgid "Apply to all Documents Types" msgstr "تنطبق على جميع أنواع الوثائق" -#: frappe/model/workflow.py:322 +#: frappe/model/workflow.py:343 msgid "Applying: {0}" msgstr "التطبيق: {0}" @@ -2355,31 +2414,24 @@ msgstr "التطبيق: {0}" msgid "Approval Required" msgstr "الموافقة مطلوبة" -#. Label of a standard navbar item -#. Type: Route -#: frappe/hooks.py frappe/templates/includes/navbar/navbar_login.html:18 +#: frappe/templates/includes/navbar/navbar_login.html:18 #: frappe/website/js/website.js:619 msgid "Apps" -msgstr "" - -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Apps with Search" -msgstr "" +msgstr "التطبيقات" #: frappe/public/js/frappe/utils/number_systems.js:41 msgctxt "Number system" msgid "Ar" -msgstr "" +msgstr "أر" #: frappe/public/js/frappe/views/kanban/kanban_column.html:14 msgid "Archive" -msgstr "" +msgstr "أرشيف" #. Option for the 'Status' (Select) field in DocType 'Kanban Board Column' #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Archived" -msgstr "" +msgstr "أرشفة" #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:494 msgid "Archived Columns" @@ -2387,59 +2439,59 @@ msgstr "أعمدة من الأرشيف" #: frappe/core/doctype/user_invitation/user_invitation.js:18 msgid "Are you sure you want to cancel the invitation?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في إلغاء الدعوة؟" -#: frappe/public/js/frappe/list/list_view.js:2192 +#: frappe/public/js/frappe/list/list_view.js:2200 msgid "Are you sure you want to clear the assignments?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في إكمال المهام؟" -#: frappe/public/js/frappe/form/grid.js:296 -msgid "Are you sure you want to delete all rows?" -msgstr "هل تريد بالتأكيد حذف جميع الصفوف؟" +#: frappe/public/js/frappe/form/grid.js:319 +msgid "Are you sure you want to delete all {0} rows?" +msgstr "هل أنت متأكد من رغبتك في حذف جميع الصفوف {0} ؟" #: frappe/public/js/frappe/form/controls/attach.js:38 -#: frappe/public/js/frappe/form/sidebar/attachments.js:169 +#: frappe/public/js/frappe/form/sidebar/attachments.js:135 msgid "Are you sure you want to delete the attachment?" msgstr "هل أنت متأكد أنك تريد حذف المرفق؟" #: frappe/public/js/form_builder/components/Section.vue:197 msgctxt "Confirmation dialog message" msgid "Are you sure you want to delete the column? All the fields in the column will be moved to the previous column." -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حذف العمود؟ سيتم نقل جميع الحقول الموجودة في العمود إلى العمود السابق." #: frappe/public/js/form_builder/components/Section.vue:126 msgctxt "Confirmation dialog message" msgid "Are you sure you want to delete the section? All the columns along with fields in the section will be moved to the previous section." -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حذف هذا القسم؟ سيتم نقل جميع الأعمدة والحقول الموجودة في هذا القسم إلى القسم السابق." #: frappe/public/js/form_builder/components/Tabs.vue:65 msgctxt "Confirmation dialog message" msgid "Are you sure you want to delete the tab? All the sections along with fields in the tab will be moved to the previous tab." -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حذف علامة التبويب؟ سيتم نقل جميع الأقسام والحقول الموجودة في علامة التبويب إلى علامة التبويب السابقة." -#: frappe/public/js/frappe/web_form/web_form.js:203 +#: frappe/public/js/frappe/web_form/web_form.js:199 msgid "Are you sure you want to delete this record?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حذف هذا السجل؟" -#: frappe/public/js/frappe/web_form/web_form.js:191 +#: frappe/public/js/frappe/web_form/web_form.js:187 msgid "Are you sure you want to discard the changes?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في تجاهل التغييرات؟" -#: frappe/public/js/frappe/views/reports/query_report.js:980 +#: frappe/public/js/frappe/views/reports/query_report.js:997 msgid "Are you sure you want to generate a new report?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في إنشاء تقرير جديد؟" -#: frappe/public/js/frappe/form/toolbar.js:131 +#: frappe/public/js/frappe/form/toolbar.js:130 msgid "Are you sure you want to merge {0} with {1}?" msgstr "هل أنت متأكد من رغبتك في دمج {0} مع {1}؟" #: frappe/public/js/frappe/views/kanban/kanban_view.js:118 msgid "Are you sure you want to proceed?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في المتابعة؟" #: frappe/core/doctype/rq_job/rq_job_list.js:34 msgid "Are you sure you want to re-enable scheduler?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في إعادة تفعيل المجدول؟" #: frappe/core/doctype/communication/communication.js:163 msgid "Are you sure you want to relink this communication to {0}?" @@ -2447,11 +2499,11 @@ msgstr "هل أنت متأكد أنك تريد إعادة ربط هذه الات #: frappe/core/doctype/rq_job/rq_job_list.js:10 msgid "Are you sure you want to remove all failed jobs?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حذف جميع المهام الفاشلة؟" -#: frappe/public/js/frappe/list/list_filter.js:57 +#: frappe/public/js/frappe/list/list_filter.js:73 msgid "Are you sure you want to remove the {0} filter?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في إزالة عامل التصفية {0} ؟" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:268 msgid "Are you sure you want to reset all customizations?" @@ -2459,11 +2511,11 @@ msgstr "هل أنت متأكد أنك تريد إعادة تعيين كافة ا #: frappe/workflow/doctype/workflow/workflow.js:125 msgid "Are you sure you want to save this document?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في حفظ هذا المستند؟" #: frappe/public/js/frappe/form/workflow.js:114 msgid "Are you sure you want to {0}?" -msgstr "" +msgstr "هل أنت متأكد من رغبتك في {0}؟" #: frappe/core/doctype/document_naming_rule/document_naming_rule.js:16 #: frappe/core/doctype/user_permission/user_permission_list.js:165 @@ -2473,32 +2525,32 @@ msgstr "هل أنت واثق؟" #. Label of the arguments (Code) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Arguments" -msgstr "" +msgstr "الحجج" #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Arial" -msgstr "" +msgstr "أريال" #: frappe/core/page/permission_manager/permission_manager_help.html:11 msgid "As a best practice, do not assign the same set of permission rule to different Roles. Instead, set multiple Roles to the same User." -msgstr "" +msgstr "كأفضل ممارسة، لا تُعيّن نفس مجموعة قواعد الأذونات لأدوار مختلفة. بدلاً من ذلك، عيّن أدوارًا متعددة لنفس المستخدم." #: frappe/desk/form/assign_to.py:107 msgid "As document sharing is disabled, please give them the required permissions before assigning." -msgstr "" +msgstr "بما أن مشاركة المستندات معطلة، يرجى منحهم الأذونات المطلوبة قبل التعيين." #: frappe/templates/emails/account_deletion_notification.html:3 msgid "As per your request, your account and data on {0} associated with email {1} has been permanently deleted" -msgstr "" +msgstr "بناءً على طلبك، تم حذف حسابك وبياناتك على {0} المرتبطة بالبريد الإلكتروني {1} نهائياً" #. Option for the 'Show External Link Warning' (Select) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Ask" -msgstr "" +msgstr "بسأل" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:68 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:89 msgid "Assign" msgstr "عين" @@ -2511,14 +2563,14 @@ msgstr "تعيين الشرط" msgid "Assign To" msgstr "تكليف إلى" -#: frappe/public/js/frappe/list/list_view.js:2174 +#: frappe/public/js/frappe/list/list_view.js:2182 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "تكليف إلى" #: frappe/public/js/frappe/form/sidebar/assign_to.js:196 msgid "Assign To User Group" -msgstr "" +msgstr "تعيين لمجموعة المستخدمين" #. Label of the assign_to_users_section (Section Break) field in DocType #. 'Assignment Rule' @@ -2528,7 +2580,7 @@ msgstr "تخصيص للمستخدمين" #: frappe/public/js/frappe/form/sidebar/assign_to.js:367 msgid "Assign a user" -msgstr "" +msgstr "تخصيص مستخدم" #: frappe/automation/doctype/assignment_rule/assignment_rule.js:52 msgid "Assign one by one, in sequence" @@ -2567,7 +2619,7 @@ msgstr "تعيين بواسطة الاسم كامل" #: frappe/public/js/frappe/model/model.js:136 #: frappe/public/js/frappe/views/interaction.js:82 msgid "Assigned To" -msgstr "" +msgstr "كلف إلى" #: frappe/desk/report/todo/todo.py:40 msgid "Assigned To/Owner" @@ -2576,16 +2628,16 @@ msgstr "تعيين ل / المالك" #. Label of the assignee (Table MultiSelect) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json msgid "Assignee" -msgstr "" +msgstr "المُحال إليه" #: frappe/public/js/frappe/form/sidebar/assign_to.js:376 msgid "Assigning..." -msgstr "" +msgstr "جاري التعيين..." #. Option for the 'Type' (Select) field in DocType 'Notification Log' #: frappe/desk/doctype/notification_log/notification_log.json msgid "Assignment" -msgstr "" +msgstr "مهمة" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -2635,7 +2687,7 @@ msgstr "تعيين لـ {0} {1}" #: frappe/desk/doctype/todo/todo.py:62 msgid "Assignment of {0} removed by {1}" -msgstr "" +msgstr "تمت إزالة تعيين {0} بواسطة {1}" #. Label of the enable_email_assignment (Check) field in DocType 'Notification #. Settings' @@ -2648,19 +2700,19 @@ msgstr "تعيينات" #. Task' #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Asynchronous" -msgstr "" +msgstr "غير متزامن" -#: frappe/public/js/frappe/form/grid_row.js:696 +#: frappe/public/js/frappe/form/grid_row.js:698 msgid "At least one column is required to show in the grid." -msgstr "" +msgstr "يجب أن يظهر عمود واحد على الأقل في الجدول." #: frappe/website/doctype/web_form/web_form.js:73 msgid "At least one field is required in Web Form Fields Table" -msgstr "" +msgstr "يلزم وجود حقل واحد على الأقل في جدول حقول نموذج الويب" #: frappe/core/doctype/data_export/data_export.js:44 msgid "At least one field of Parent Document Type is mandatory" -msgstr "" +msgstr "يُشترط وجود حقل واحد على الأقل من حقول نوع المستند الرئيسي." #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -2675,14 +2727,14 @@ msgstr "" msgid "Attach" msgstr "إرفاق" -#: frappe/public/js/frappe/views/communication.js:146 +#: frappe/public/js/frappe/views/communication.js:173 msgid "Attach Document Print" msgstr "إرفاق طباعة المستند" #. Label of the attach_files (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Attach Files" -msgstr "" +msgstr "إرفاق الملفات" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -2700,7 +2752,7 @@ msgstr "إرفاق صورة" #. Label of the attach_package (Attach) field in DocType 'Package Import' #: frappe/core/doctype/package_import/package_import.json msgid "Attach Package" -msgstr "" +msgstr "إرفاق الحزمة" #. Label of the attach_print (Check) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -2709,7 +2761,7 @@ msgstr "إرفق طباعة" #: frappe/public/js/frappe/file_uploader/WebLink.vue:10 msgid "Attach a web link" -msgstr "" +msgstr "أرفق رابط ويب" #: frappe/website/doctype/website_slideshow/website_slideshow.js:8 msgid "Attach files / urls and add in table." @@ -2737,7 +2789,7 @@ msgstr "أرفقت للأسم" #: frappe/core/doctype/file/file.py:153 msgid "Attached To Name must be a string or an integer" -msgstr "" +msgstr "يجب أن يكون اسم المرفق سلسلة نصية أو عددًا صحيحًا" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -2754,7 +2806,7 @@ msgstr "الحد مرفق (MB)" #: frappe/core/doctype/file/file.py:348 #: frappe/public/js/frappe/form/sidebar/attachments.js:36 msgid "Attachment Limit Reached" -msgstr "" +msgstr "تم الوصول إلى الحد الأقصى للمرفقات" #. Label of the attachment_link (HTML) field in DocType 'Notification Log' #: frappe/desk/doctype/notification_log/notification_log.json @@ -2769,36 +2821,43 @@ msgstr "تم حذف المرفق" #. Label of the column_break_25 (Section Break) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Attachment Settings" -msgstr "" +msgstr "إعدادات المرفقات" #. Label of the attachments (Code) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:83 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:104 #: frappe/website/doctype/web_form/templates/web_form.html:113 msgid "Attachments" -msgstr "" +msgstr "المرفقات" -#: frappe/public/js/frappe/form/print_utils.js:119 +#: frappe/public/js/frappe/form/print_utils.js:132 msgid "Attempting Connection to QZ Tray..." msgstr "محاولة الاتصال بـ QZ Tray ..." -#: frappe/public/js/frappe/form/print_utils.js:135 +#: frappe/public/js/frappe/form/print_utils.js:148 msgid "Attempting to launch QZ Tray..." msgstr "محاولة إطلاق QZ Tray ..." +#. Label of the attending (Select) field in DocType 'Event' +#. Label of the attending (Select) field in DocType 'Event Participants' +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json +msgid "Attending" +msgstr "" + #: frappe/www/attribution.html:9 msgid "Attribution" -msgstr "" +msgstr "الإسناد" #. Name of a report #: frappe/custom/report/audit_system_hooks/audit_system_hooks.json msgid "Audit System Hooks" -msgstr "" +msgstr "خطافات نظام التدقيق" #. Name of a DocType #: frappe/core/doctype/audit_trail/audit_trail.json msgid "Audit Trail" -msgstr "" +msgstr "سجل التدقيق" #. Label of the auth_url_data (Code) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json @@ -2807,12 +2866,12 @@ msgstr "بيانات عنوان المصادقة" #: frappe/integrations/doctype/social_login_key/social_login_key.py:96 msgid "Auth URL data should be valid JSON" -msgstr "" +msgstr "يجب أن تكون بيانات عنوان URL للمصادقة بتنسيق JSON صالح." #. Label of the backend_app_flow (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Authenticate as Service Principal" -msgstr "" +msgstr "المصادقة بصفتك كيان الخدمة الرئيسي" #. Label of the authentication_column (Section Break) field in DocType 'Email #. Account' @@ -2827,7 +2886,7 @@ msgstr "المصادقة" #: frappe/www/qrcode.html:19 msgid "Authentication Apps you can use are:" -msgstr "" +msgstr "تطبيقات المصادقة التي يمكنك استخدامها هي:" #: frappe/email/doctype/email_account/email_account.py:339 msgid "Authentication failed while receiving emails from Email Account: {0}." @@ -2841,7 +2900,7 @@ msgstr "مؤلف" #. Label of the authorization_tab (Tab Break) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Authorization" -msgstr "" +msgstr "التفويض" #. Label of the authorization_code (Password) field in DocType 'Google #. Calendar' @@ -2860,16 +2919,16 @@ msgstr "رمز الترخيص" #. Label of the authorization_uri (Small Text) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Authorization URI" -msgstr "" +msgstr "معرّف الموارد الموحد للتفويض" #: frappe/templates/includes/oauth_confirmation.html:35 msgid "Authorization error for {}." -msgstr "" +msgstr "خطأ في المصادقة لـ {}." #. Label of the authorize_api_access (Button) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Authorize API Access" -msgstr "" +msgstr "تفويض الوصول إلى واجهة برمجة التطبيقات (API)" #. Label of the authorize_api_indexing_access (Button) field in DocType #. 'Website Settings' @@ -2901,11 +2960,11 @@ msgstr "مخول" #: frappe/www/attribution.html:20 msgid "Authors" -msgstr "" +msgstr "المؤلفون" #: frappe/www/attribution.html:37 msgid "Authors / Maintainers" -msgstr "" +msgstr "المؤلفون / القائمون على الصيانة" #. Option for the 'Skip Authorization' (Select) field in DocType 'OAuth #. Provider Settings' @@ -2916,7 +2975,7 @@ msgstr "تلقائى" #. Name of a DocType #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Auto Email Report" -msgstr "" +msgstr "ارسال التقارير عبر البريد الالكتروني الياً" #. Label of the autoname (Data) field in DocType 'DocType' #. Label of the autoname (Data) field in DocType 'Customize Form' @@ -2934,11 +2993,11 @@ msgstr "تكرار تلقائي" #. Name of a DocType #: frappe/automation/doctype/auto_repeat_day/auto_repeat_day.json msgid "Auto Repeat Day" -msgstr "" +msgstr "يوم التكرار التلقائي" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:173 msgid "Auto Repeat Day{0} {1} has been repeated." -msgstr "" +msgstr "تم تكرار اليوم{0} {1} تلقائياً." #: frappe/automation/doctype/auto_repeat/auto_repeat.py:479 msgid "Auto Repeat Document Creation Failed" @@ -2946,12 +3005,12 @@ msgstr "فشل إنشاء مستند تكرار تلقائي" #: frappe/automation/doctype/auto_repeat/auto_repeat.js:120 msgid "Auto Repeat Schedule" -msgstr "" +msgstr "جدولة التكرار التلقائي" #. Name of a DocType #: frappe/automation/doctype/auto_repeat_user/auto_repeat_user.json msgid "Auto Repeat User" -msgstr "" +msgstr "مستخدم التكرار التلقائي" #: frappe/public/js/frappe/utils/common.js:443 msgid "Auto Repeat created for this document" @@ -2979,31 +3038,31 @@ msgstr "فشل التخصيص التلقائي: {0}" #. Label of the follow_assigned_documents (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Auto follow documents that are assigned to you" -msgstr "" +msgstr "متابعة تلقائية للمستندات المخصصة لك" #. Label of the follow_shared_documents (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Auto follow documents that are shared with you" -msgstr "" +msgstr "متابعة تلقائية للمستندات التي تمت مشاركتها معك" #. Label of the follow_liked_documents (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Auto follow documents that you Like" -msgstr "" +msgstr "متابعة تلقائية للمستندات التي تعجبك" #. Label of the follow_commented_documents (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Auto follow documents that you comment on" -msgstr "" +msgstr "متابعة تلقائية للمستندات التي تعلق عليها" #. Label of the follow_created_documents (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Auto follow documents that you create" -msgstr "" +msgstr "متابعة المستندات التي تقوم بإنشائها تلقائيًا" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:242 msgid "Auto repeat failed. Please enable auto repeat after fixing the issues." -msgstr "" +msgstr "فشل التكرار التلقائي. يرجى تفعيل التكرار التلقائي بعد حل المشكلات." #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -3012,29 +3071,29 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Autocomplete" -msgstr "" +msgstr "إكمال تلقائي" #. Option for the 'Naming Rule' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Autoincrement" -msgstr "" +msgstr "الزيادة التلقائية" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Automate processes and extend standard functionality using scripts and background jobs" -msgstr "" +msgstr "أتمتة العمليات وتوسيع الوظائف القياسية باستخدام البرامج النصية والمهام التي تعمل في الخلفية" #. Option for the 'Communication Type' (Select) field in DocType #. 'Communication' #: frappe/core/doctype/communication/communication.json msgid "Automated Message" -msgstr "" +msgstr "رسالة آلية" #. Option for the 'Desk Theme' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json #: frappe/public/js/frappe/ui/theme_switcher.js:69 msgid "Automatic" -msgstr "" +msgstr "معادلة" #: frappe/email/doctype/email_account/email_account.py:772 msgid "Automatic Linking can be activated only for one Email Account." @@ -3046,21 +3105,21 @@ msgstr "لا يمكن تنشيط الربط التلقائي إلا إذا تم #: frappe/email/doctype/email_queue/email_queue.js:49 msgid "Automatic sending of emails is disabled via site config." -msgstr "" +msgstr "تم تعطيل الإرسال التلقائي للرسائل الإلكترونية عبر إعدادات الموقع." #. Description of a DocType #: frappe/automation/doctype/assignment_rule/assignment_rule.json msgid "Automatically Assign Documents to Users" -msgstr "" +msgstr "تعيين المستندات للمستخدمين تلقائيًا" #: frappe/public/js/frappe/list/list_view.js:131 msgid "Automatically applied a filter for recent data. You can disable this behavior from the list view settings." -msgstr "" +msgstr "تم تطبيق فلتر تلقائي للبيانات الحديثة. يمكنك تعطيل هذا السلوك من إعدادات عرض القائمة." #. Label of the auto_account_deletion (Int) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Automatically delete account within (hours)" -msgstr "" +msgstr "حذف الحساب تلقائياً خلال (ساعات)" #. Option for the 'Chart Type' (Select) field in DocType 'Dashboard Chart' #. Option for the 'Group By Type' (Select) field in DocType 'Dashboard Chart' @@ -3104,93 +3163,88 @@ msgstr "في انتظار كلمة المرور" #: frappe/public/js/frappe/widgets/onboarding_widget.js:195 msgid "Awesome Work" -msgstr "" +msgstr "عمل رائع" #: frappe/public/js/frappe/widgets/onboarding_widget.js:353 msgid "Awesome, now try making an entry yourself" -msgstr "" - -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Awesomebar" -msgstr "" +msgstr "رائع، الآن حاول كتابة مشاركة بنفسك" #: frappe/public/js/frappe/utils/number_systems.js:9 msgctxt "Number system" msgid "B" -msgstr "" +msgstr "ب" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B0" -msgstr "" +msgstr "B0" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B1" -msgstr "" +msgstr "ب1" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B10" -msgstr "" +msgstr "B10" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B2" -msgstr "" +msgstr "B2" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B3" -msgstr "" +msgstr "ب3" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B4" -msgstr "" +msgstr "ب٤" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B5" -msgstr "" +msgstr "ب5" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B6" -msgstr "" +msgstr "ب6" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B7" -msgstr "" +msgstr "B7" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B8" -msgstr "" +msgstr "B8" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "B9" -msgstr "" +msgstr "B9" #. Label of the bcc (Code) field in DocType 'Communication' #. Label of the bcc (Code) field in DocType 'Notification Recipient' #: frappe/core/doctype/communication/communication.json #: frappe/email/doctype/notification_recipient/notification_recipient.json msgid "BCC" -msgstr "" +msgstr "بي سي سي" #: frappe/public/js/frappe/views/communication.js:81 msgctxt "Email Recipients" msgid "BCC" -msgstr "" +msgstr "بي سي سي" #: frappe/public/js/frappe/file_uploader/ImageCropper.vue:31 #: frappe/public/js/frappe/widgets/onboarding_widget.js:181 msgid "Back" -msgstr "" +msgstr "خلف" #: frappe/templates/pages/integrations/gcalendar-success.html:13 msgid "Back to Desk" @@ -3220,17 +3274,12 @@ msgstr "لون الخلفية" msgid "Background Image" msgstr "صورة الخلفية" -#. Label of a chart in the System Workspace -#: frappe/core/workspace/system/system.json -msgid "Background Job Activity" -msgstr "" - #. Label of a Link in the Build Workspace #. Label of the background_jobs_section (Section Break) field in DocType #. 'System Health Report' #: frappe/core/workspace/build/build.json #: frappe/desk/doctype/system_health_report/system_health_report.json -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:289 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:333 msgid "Background Jobs" msgstr "خلفية عن الخبرات السابقة" @@ -3238,16 +3287,16 @@ msgstr "خلفية عن الخبرات السابقة" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Background Jobs Check" -msgstr "" +msgstr "التحقق من خلفية الوظائف" #. Label of the background_jobs_queue (Autocomplete) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Background Jobs Queue" -msgstr "" +msgstr "قائمة انتظار الوظائف الخلفية" #: frappe/public/js/frappe/list/bulk_operations.js:87 msgid "Background Print (required for >25 documents)" -msgstr "" +msgstr "طباعة الخلفية (مطلوبة لأكثر من 25 مستندًا)" #. Label of the background_workers (Section Break) field in DocType 'System #. Settings' @@ -3260,7 +3309,7 @@ msgstr "قائمة العمليات" #: frappe/desk/page/backups/backups.js:28 msgid "Backup Encryption Key" -msgstr "" +msgstr "مفتاح تشفير النسخ الاحتياطي" #: frappe/desk/page/backups/backups.py:98 msgid "Backup job is already queued. You will receive an email with the download link" @@ -3277,21 +3326,21 @@ msgstr "النسخ الاحتياطية" #. Label of the backups_size (Float) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Backups (MB)" -msgstr "" +msgstr "النسخ الاحتياطية (ميغابايت)" #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.py:68 msgid "Bad Cron Expression" -msgstr "" +msgstr "تعبير كرون سيئ" #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Banker's Rounding" -msgstr "" +msgstr "تقريب المصرفي" #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Banker's Rounding (legacy)" -msgstr "" +msgstr "تقريب المصرفيين (النظام القديم)" #. Label of the banner (Section Break) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -3318,7 +3367,7 @@ msgstr "راية فوق أعلى شريط القوائم." #. Option for the 'Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json msgid "Bar" -msgstr "" +msgstr "شريط" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -3327,7 +3376,7 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Barcode" -msgstr "" +msgstr "الرمز الشريطي" #. Label of the base_dn (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -3343,10 +3392,10 @@ msgstr "الرابط الأساسي" #. Label of the based_on (Link) field in DocType 'Language' #: frappe/core/doctype/language/language.json -#: frappe/printing/page/print/print.js:305 -#: frappe/printing/page/print/print.js:359 +#: frappe/printing/page/print/print.js:313 +#: frappe/printing/page/print/print.js:367 msgid "Based On" -msgstr "" +msgstr "وبناء على" #. Option for the 'Rule' (Select) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -3366,12 +3415,14 @@ msgstr "الأساسي" #. Label of the section_break_3 (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Basic Info" -msgstr "" +msgstr "معلومات أساسية" +#. Label of the before (Int) field in DocType 'Event Notifications' +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/public/js/frappe/ui/filters/filter.js:63 #: frappe/public/js/frappe/ui/filters/filter.js:69 msgid "Before" -msgstr "" +msgstr "قبل" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -3386,7 +3437,7 @@ msgstr "قبل الحذف" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Before Discard" -msgstr "" +msgstr "قبل التخلص منه" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -3396,12 +3447,12 @@ msgstr "قبل إدراج" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Before Print" -msgstr "" +msgstr "قبل الطباعة" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Before Rename" -msgstr "" +msgstr "قبل إعادة التسمية" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -3421,12 +3472,12 @@ msgstr "قبل إرسال" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Before Validate" -msgstr "" +msgstr "قبل التحقق" #. Option for the 'Level' (Select) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json msgid "Beginner" -msgstr "" +msgstr "مبتدئ" #: frappe/public/js/frappe/form/link_selector.js:29 msgid "Beginning with" @@ -3437,7 +3488,7 @@ msgstr "بداية من" msgid "Beta" msgstr "بيتا" -#: frappe/core/doctype/user/user.py:1290 frappe/utils/password_strength.py:73 +#: frappe/core/doctype/user/user.py:1293 frappe/utils/password_strength.py:73 msgid "Better add a few more letters or another word" msgstr "من الأفضل إضافة بضعة أحرف أو كلمة أخرى" @@ -3452,19 +3503,19 @@ msgstr "الفواتير" #: frappe/public/js/frappe/form/templates/contact_list.html:27 msgid "Billing Contact" -msgstr "" +msgstr "جهة الاتصال الخاصة بالفواتير" #. Label of the binary_logging (Data) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Binary Logging" -msgstr "" +msgstr "التسجيل الثنائي" #. Label of the bio (Small Text) field in DocType 'User' #. Label of the bio (Small Text) field in DocType 'About Us Team Member' #: frappe/core/doctype/user/user.json #: frappe/website/doctype/about_us_team_member/about_us_team_member.json msgid "Bio" -msgstr "نبذة" +msgstr "السيرة الذاتية" #. Label of the birth_date (Date) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -3492,7 +3543,7 @@ msgstr "كتلة وحدات" #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Blue" -msgstr "" +msgstr "أزرق" #. Label of the bold (Check) field in DocType 'DocField' #. Label of the bold (Check) field in DocType 'Custom Field' @@ -3515,7 +3566,7 @@ msgstr "كلا DOCTYPE واسم المطلوبة" #: frappe/templates/includes/login/login.js:24 #: frappe/templates/includes/login/login.js:96 msgid "Both login and password required" -msgstr "" +msgstr "يلزم إدخال اسم المستخدم وكلمة المرور" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -3529,13 +3580,13 @@ msgstr "الأسفل" #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:248 msgid "Bottom Center" -msgstr "" +msgstr "أسفل المنتصف" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:247 msgid "Bottom Left" -msgstr "" +msgstr "أسفل اليسار" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Page Number' (Select) field in DocType 'Print Format' @@ -3543,7 +3594,7 @@ msgstr "" #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:249 msgid "Bottom Right" -msgstr "" +msgstr "أسفل اليمين" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -3553,7 +3604,7 @@ msgstr "وثب" #. Label of the brand (Section Break) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Brand" -msgstr "" +msgstr "العلامة التجارية" #. Label of the brand_html (Code) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -3565,18 +3616,11 @@ msgstr "العلامة التجارية HTML" msgid "Brand Image" msgstr "صورة العلامة التجارية" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' #. Label of the brand_logo (Attach Image) field in DocType 'Email Account' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json #: frappe/email/doctype/email_account/email_account.json msgid "Brand Logo" msgstr "شعار العلامة التجارية" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Brand Logo with Search" -msgstr "" - #. Description of the 'Brand HTML' (Code) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Brand is what appears on the top-left of the toolbar. If it is an image, make sure it\n" @@ -3614,30 +3658,30 @@ msgstr "القوة الغاشمة للأمن" #. Label of the bufferpool_size (Data) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Bufferpool Size" -msgstr "" +msgstr "حجم المخزن المؤقت" #. Name of a Workspace #: frappe/core/workspace/build/build.json msgid "Build" -msgstr "" +msgstr "إنشاء" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Build your own reports, print formats, and dashboards. Create personalized workspaces for easier navigation" -msgstr "" +msgstr "أنشئ تقاريرك الخاصة، وتنسيقات الطباعة، ولوحات المعلومات. خصص مساحات عمل لتسهيل التنقل." #: frappe/workflow/doctype/workflow/workflow_list.js:18 msgid "Build {0}" -msgstr "" +msgstr "بناء {0}" #: frappe/templates/includes/footer/footer_powered.html:1 msgid "Built on {0}" -msgstr "" +msgstr "مبني على {0}" #. Label of the bulk_actions (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Bulk Actions" -msgstr "" +msgstr "الإجراءات الجماعية" #: frappe/core/doctype/user_permission/user_permission_list.js:142 msgid "Bulk Delete" @@ -3645,44 +3689,44 @@ msgstr "حذف بالجملة" #: frappe/public/js/frappe/list/bulk_operations.js:321 msgid "Bulk Edit" -msgstr "" +msgstr "تعديل مجموعة" -#: frappe/public/js/frappe/form/grid.js:1211 +#: frappe/public/js/frappe/form/grid.js:1248 msgid "Bulk Edit {0}" msgstr "تعديل بالجمله {0}" #: frappe/desk/reportview.py:640 msgid "Bulk Operation Failed" -msgstr "" +msgstr "فشلت عملية الشحن بالجملة" #: frappe/desk/reportview.py:644 msgid "Bulk Operation Successful" -msgstr "" +msgstr "عملية الشحن بالجملة ناجحة" #: frappe/public/js/frappe/list/bulk_operations.js:131 msgid "Bulk PDF Export" -msgstr "" +msgstr "تصدير ملفات PDF بالجملة" #. Name of a DocType #: frappe/desk/doctype/bulk_update/bulk_update.json msgid "Bulk Update" -msgstr "" +msgstr "تحديث بالجمله" -#: frappe/model/workflow.py:310 +#: frappe/model/workflow.py:331 msgid "Bulk approval only support up to 500 documents." -msgstr "" +msgstr "لا تدعم الموافقة الجماعية سوى ما يصل إلى 500 مستند." #: frappe/desk/doctype/bulk_update/bulk_update.py:56 msgid "Bulk operation is enqueued in background." -msgstr "" +msgstr "تتم إضافة عملية المعالجة المجمعة إلى قائمة الانتظار في الخلفية." #: frappe/desk/doctype/bulk_update/bulk_update.py:68 msgid "Bulk operations only support up to 500 documents." -msgstr "" +msgstr "تدعم عمليات المعالجة الجماعية ما يصل إلى 500 مستند فقط." -#: frappe/model/workflow.py:299 +#: frappe/model/workflow.py:320 msgid "Bulk {0} is enqueued in background." -msgstr "" +msgstr "يتم وضع Bulk {0} في قائمة الانتظار في الخلفية." #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -3700,7 +3744,7 @@ msgstr "زر" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Button Color" -msgstr "" +msgstr "لون الزر" #. Label of the button_gradients (Check) field in DocType 'Website Theme' #: frappe/website/doctype/website_theme/website_theme.json @@ -3722,7 +3766,7 @@ msgstr "زر الظلال" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "By \"Naming Series\" field" -msgstr "" +msgstr "عن طريق حقل \"سلسلة التسمية\"" #: frappe/website/doctype/web_page/web_page.js:111 #: frappe/website/doctype/web_page/web_page.js:118 @@ -3734,14 +3778,14 @@ msgstr "بشكل افتراضي ، يتم استخدام العنوان كعنو #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "By fieldname" -msgstr "" +msgstr "حسب اسم الحقل" #. Option for the 'Naming Rule' (Select) field in DocType 'DocType' #. Option for the 'Naming Rule' (Select) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "By script" -msgstr "" +msgstr "حسب النص" #. Label of the bypass_restrict_ip_check_if_2fa_enabled (Check) field in #. DocType 'User' @@ -3764,7 +3808,7 @@ msgstr "تجاوز عنوان IP المحظور التحقق في حالة تم #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "C5E" -msgstr "" +msgstr "C5E" #: frappe/templates/print_formats/standard_macros.html:216 msgid "CANCELLED" @@ -3785,11 +3829,11 @@ msgstr "نسخة" #. Label of the cmd (Data) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "CMD" -msgstr "" +msgstr "CMD" #: frappe/public/js/frappe/color_picker/color_picker.js:20 msgid "COLOR PICKER" -msgstr "" +msgstr "منتقي الألوان" #. Label of the css_section (Section Break) field in DocType 'Custom HTML #. Block' @@ -3799,7 +3843,7 @@ msgstr "" #: frappe/printing/doctype/print_style/print_style.json #: frappe/website/doctype/web_page/web_page.json msgid "CSS" -msgstr "" +msgstr "CSS" #. Label of the css_class (Small Text) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json @@ -3810,26 +3854,26 @@ msgstr "فئة CSS" #. Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "CSS selector for the element you want to highlight." -msgstr "" +msgstr "محدد CSS للعنصر الذي تريد تمييزه." #. Option for the 'File Type' (Select) field in DocType 'Data Export' #. Option for the 'Format' (Select) field in DocType 'Auto Email Report' #: frappe/core/doctype/data_export/data_export.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "CSV" -msgstr "" +msgstr "ملف CSV" #. Label of the cache_section (Section Break) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Cache" -msgstr "" +msgstr "مخبأ" #: frappe/sessions.py:35 msgid "Cache Cleared" msgstr "تحديث الصفحة" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:248 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:255 msgid "Calculate" msgstr "إحسب" @@ -3879,44 +3923,44 @@ msgid "Callback Title" msgstr "عنوان رد الاتصال" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:150 -#: frappe/public/js/frappe/ui/capture.js:334 +#: frappe/public/js/frappe/ui/capture.js:335 msgid "Camera" msgstr "الة تصوير" #. Label of the campaign (Data) field in DocType 'Web Page View' -#: frappe/public/js/frappe/utils/utils.js:1881 +#: frappe/public/js/frappe/utils/utils.js:2012 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/report/website_analytics/website_analytics.js:39 msgid "Campaign" -msgstr "" +msgstr "حملة" #. Label of the campaign_description (Small Text) field in DocType 'UTM #. Campaign' #: frappe/website/doctype/utm_campaign/utm_campaign.json msgid "Campaign Description (Optional)" -msgstr "" +msgstr "وصف الحملة (اختياري)" -#: frappe/custom/doctype/custom_field/custom_field.py:411 +#: frappe/custom/doctype/custom_field/custom_field.py:412 msgid "Can not rename as column {0} is already present on DocType." -msgstr "" +msgstr "لا يمكن إعادة التسمية لأن العمود {0} موجود بالفعل في DocType." -#: frappe/core/doctype/doctype/doctype.py:1178 +#: frappe/core/doctype/doctype/doctype.py:1181 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" -msgstr "" +msgstr "لا يمكن التغيير من/إلى قاعدة التسمية التلقائية إلا عندما لا توجد بيانات في نوع المستند" #. Description of the 'Apply User Permission On' (Link) field in DocType 'User #. Type' #: frappe/core/doctype/user_type/user_type.json msgid "Can only list down the document types which has been linked to the User document type." -msgstr "" +msgstr "لا يمكن سرد أنواع المستندات إلا تلك المرتبطة بنوع مستند المستخدم." #: frappe/desk/form/document_follow.py:48 msgid "Can't follow since changes are not tracked." -msgstr "" +msgstr "لا يمكن المتابعة لأن التغييرات غير مسجلة." #: frappe/model/rename_doc.py:366 msgid "Can't rename {0} to {1} because {0} doesn't exist." -msgstr "" +msgstr "لا يمكن إعادة تسمية {0} إلى {1} لأن {0} غير موجود." #. Label of the cancel (Check) field in DocType 'Custom DocPerm' #. Label of the cancel (Check) field in DocType 'DocPerm' @@ -3932,7 +3976,7 @@ msgstr "" msgid "Cancel" msgstr "إلغاء" -#: frappe/public/js/frappe/list/list_view.js:2283 +#: frappe/public/js/frappe/list/list_view.js:2291 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "إلغاء" @@ -3942,23 +3986,23 @@ msgctxt "Secondary button in warning dialog" msgid "Cancel" msgstr "إلغاء" -#: frappe/public/js/frappe/form/form.js:982 +#: frappe/public/js/frappe/form/form.js:1011 msgid "Cancel All" -msgstr "" +msgstr "إلغاء الكل" -#: frappe/public/js/frappe/form/form.js:969 +#: frappe/public/js/frappe/form/form.js:998 msgid "Cancel All Documents" msgstr "الغاء جميع الوثائق" #: frappe/core/doctype/data_import/data_import.js:180 msgid "Cancel Import" -msgstr "" +msgstr "إلغاء الاستيراد" #: frappe/core/doctype/prepared_report/prepared_report.js:66 msgid "Cancel Prepared Report" -msgstr "" +msgstr "إلغاء التقرير المُعدّ" -#: frappe/public/js/frappe/list/list_view.js:2288 +#: frappe/public/js/frappe/list/list_view.js:2296 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "إلغاء {0} وثائق؟" @@ -3976,7 +4020,7 @@ msgstr "إلغاء {0} وثائق؟" #: frappe/public/js/frappe/model/indicator.js:78 #: frappe/public/js/frappe/ui/filters/filter.js:539 msgid "Cancelled" -msgstr "" +msgstr "ألغيت" #: frappe/core/doctype/deleted_document/deleted_document.py:52 msgid "Cancelled Document restored as Draft" @@ -3991,29 +4035,29 @@ msgstr "إلغاء" msgid "Cancelling documents" msgstr "إلغاء الوثائق" -#: frappe/desk/doctype/bulk_update/bulk_update.py:91 +#: frappe/desk/doctype/bulk_update/bulk_update.py:92 msgid "Cancelling {0}" msgstr "الغاء {0}" #: frappe/core/doctype/prepared_report/prepared_report.py:290 msgid "Cannot Download Report due to insufficient permissions" -msgstr "" +msgstr "تعذر تنزيل التقرير بسبب عدم كفاية الصلاحيات" -#: frappe/client.py:455 +#: frappe/client.py:504 msgid "Cannot Fetch Values" -msgstr "" +msgstr "لا يمكن جلب القيم" #: frappe/core/page/permission_manager/permission_manager.py:166 msgid "Cannot Remove" msgstr "لا يمكن إزالة" -#: frappe/model/base_document.py:1266 +#: frappe/model/base_document.py:1283 msgid "Cannot Update After Submit" -msgstr "" +msgstr "لا يمكن التحديث بعد الإرسال" #: frappe/core/doctype/file/file.py:653 msgid "Cannot access file path {0}" -msgstr "" +msgstr "لا يمكن الوصول إلى مسار الملف {0}" #: frappe/public/js/workflow_builder/utils.js:183 msgid "Cannot cancel before submitting while transitioning from {0} State to {1} State" @@ -4025,15 +4069,15 @@ msgstr "لا يمكن الإلغاء قبل الإرسال. انظر الانت #: frappe/public/js/frappe/list/bulk_operations.js:294 msgid "Cannot cancel {0}." -msgstr "" +msgstr "لا يمكن الإلغاء {0}." -#: frappe/model/document.py:1062 +#: frappe/model/document.py:1061 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" -msgstr "" +msgstr "لا يمكن تغيير حالة المستند من 0 (مسودة) إلى 2 (ملغى)" -#: frappe/model/document.py:1076 +#: frappe/model/document.py:1075 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" -msgstr "" +msgstr "لا يمكن تغيير حالة المستند من 1 (تم الإرسال) إلى 0 (مسودة)" #: frappe/public/js/workflow_builder/utils.js:170 msgid "Cannot change state of Cancelled Document ({0} State)" @@ -4043,17 +4087,21 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "لا يمكن تغيير حالة الوثيقة ملغاة ." -#: frappe/core/doctype/doctype/doctype.py:1168 +#: frappe/core/doctype/doctype/doctype.py:1171 msgid "Cannot change to/from autoincrement autoname in Customize Form" -msgstr "" +msgstr "لا يمكن تغيير الاسم التلقائي من/إلى الاسم التلقائي في نموذج التخصيص" #: frappe/core/doctype/communication/communication.py:169 msgid "Cannot create a {0} against a child document: {1}" msgstr "لا يمكن إنشاء {0} ضد مستند طفل: {1}" -#: frappe/desk/doctype/workspace/workspace.py:303 +#: frappe/desk/doctype/workspace/workspace.py:282 msgid "Cannot create private workspace of other users" -msgstr "" +msgstr "لا يمكن إنشاء مساحة عمل خاصة للمستخدمين الآخرين" + +#: frappe/desk/doctype/desktop_icon/desktop_icon.py:54 +msgid "Cannot delete Desktop Icon '{0}' as it is restricted" +msgstr "لا يمكن حذف أيقونة سطح المكتب '{0}' لأنها مقيدة" #: frappe/core/doctype/file/file.py:175 msgid "Cannot delete Home and Attachments folders" @@ -4063,15 +4111,15 @@ msgstr "لا يمكن حذف المجلدات الرئيسية والمرفقا msgid "Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}" msgstr "لا يمكن حذف أو إلغاء لأن {0} {1} مرتبط مع {2} {3} {4}" -#: frappe/custom/doctype/customize_form/customize_form.js:369 +#: frappe/custom/doctype/customize_form/customize_form.js:379 msgid "Cannot delete standard action. You can hide it if you want" msgstr "لا يمكن حذف الإجراء القياسي. يمكنك إخفاء ذلك إذا كنت تريد" -#: frappe/custom/doctype/customize_form/customize_form.js:391 +#: frappe/custom/doctype/customize_form/customize_form.js:401 msgid "Cannot delete standard document state." -msgstr "" +msgstr "لا يمكن حذف حالة المستند القياسي." -#: frappe/custom/doctype/customize_form/customize_form.js:321 +#: frappe/custom/doctype/customize_form/customize_form.js:331 msgid "Cannot delete standard field {0}. You can hide it instead." msgstr "" @@ -4080,13 +4128,13 @@ msgstr "" #: frappe/public/js/form_builder/components/Section.vue:190 #: frappe/public/js/form_builder/components/Tabs.vue:56 msgid "Cannot delete standard field. You can hide it if you want" -msgstr "" +msgstr "لا يمكن حذف الحقل القياسي. يمكنك إخفاؤه إذا أردت." -#: frappe/custom/doctype/customize_form/customize_form.js:347 +#: frappe/custom/doctype/customize_form/customize_form.js:357 msgid "Cannot delete standard link. You can hide it if you want" msgstr "لا يمكن حذف الارتباط القياسي. يمكنك إخفاء ذلك إذا كنت تريد" -#: frappe/custom/doctype/customize_form/customize_form.js:313 +#: frappe/custom/doctype/customize_form/customize_form.js:323 msgid "Cannot delete system generated field {0}. You can hide it instead." msgstr "" @@ -4100,7 +4148,7 @@ msgstr "لا يمكن حذف {0} لأن لديها عُقد تابعة" #: frappe/desk/doctype/dashboard/dashboard.py:48 msgid "Cannot edit Standard Dashboards" -msgstr "" +msgstr "لا يمكن تعديل لوحات المعلومات القياسية" #: frappe/email/doctype/notification/notification.py:207 msgid "Cannot edit Standard Notification. To edit, please disable this and duplicate it" @@ -4108,13 +4156,13 @@ msgstr "لا يمكن تحرير الإشعار القياسي. للتعديل #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:388 msgid "Cannot edit Standard charts" -msgstr "" +msgstr "لا يمكن تعديل المخططات القياسية" #: frappe/core/doctype/report/report.py:72 msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "لا يمكنك التعديل على التقارير القياسية. يرجى نسخ التقريرالقياسي و التعديل على النسخة الجديدة" -#: frappe/model/document.py:1082 +#: frappe/model/document.py:1081 msgid "Cannot edit cancelled document" msgstr "لا يمكنك التعديل على وثيقة ملغية" @@ -4125,45 +4173,45 @@ msgstr "لا يمكن تحرير عوامل التصفية للمخططات ال #: frappe/desk/doctype/number_card/number_card.js:289 #: frappe/desk/doctype/number_card/number_card.js:381 msgid "Cannot edit filters for standard number cards" -msgstr "" +msgstr "لا يمكن تعديل عوامل التصفية لبطاقات الأرقام القياسية" -#: frappe/client.py:170 +#: frappe/client.py:176 msgid "Cannot edit standard fields" msgstr "لا تستطيع تعديل الحقول القياسية" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:131 msgid "Cannot enable {0} for a non-submittable doctype" -msgstr "" +msgstr "لا يمكن تفعيل {0} لنوع مستند غير قابل للإرسال" #: frappe/core/doctype/file/file.py:274 msgid "Cannot find file {} on disk" -msgstr "" +msgstr "تعذر العثور على الملف {} على القرص" #: frappe/core/doctype/file/file.py:593 msgid "Cannot get file contents of a Folder" -msgstr "" +msgstr "لا يمكن الحصول على محتويات ملف من مجلد" -#: frappe/printing/page/print/print.js:909 +#: frappe/printing/page/print/print.js:923 msgid "Cannot have multiple printers mapped to a single print format." msgstr "لا يمكن تعيين طابعات متعددة على تنسيق طباعة واحد." -#: frappe/public/js/frappe/form/grid.js:1155 +#: frappe/public/js/frappe/form/grid.js:1192 msgid "Cannot import table with more than 5000 rows." -msgstr "" +msgstr "لا يمكن استيراد جدول يحتوي على أكثر من 5000 صف." -#: frappe/model/document.py:1150 +#: frappe/model/document.py:1149 msgid "Cannot link cancelled document: {0}" msgstr "لا يمكن ربط وثيقة إلغاء: {0}" #: frappe/model/mapper.py:175 msgid "Cannot map because following condition fails:" -msgstr "" +msgstr "لا يمكن إجراء عملية الربط لأن الشرط التالي غير محقق:" #: frappe/core/doctype/data_import/importer.py:970 msgid "Cannot match column {0} with any field" msgstr "لا يمكن مطابقة العمود {0} بأي حقل" -#: frappe/public/js/frappe/form/grid_row.js:176 +#: frappe/public/js/frappe/form/grid_row.js:178 msgid "Cannot move row" msgstr "لا يمكن نقل الصف" @@ -4173,44 +4221,44 @@ msgstr "لا يمكن إزالة معرف الحقل" #: frappe/core/page/permission_manager/permission_manager.py:142 msgid "Cannot set 'Report' permission if 'Only If Creator' permission is set" -msgstr "" +msgstr "لا يمكن تعيين إذن \"الإبلاغ\" إذا تم تعيين إذن \"فقط إذا كان المنشئ\"" #: frappe/email/doctype/notification/notification.py:240 msgid "Cannot set Notification with event {0} on Document Type {1}" -msgstr "" +msgstr "لا يمكن تعيين إشعار بالحدث {0} على نوع المستند {1}" #: frappe/core/doctype/docshare/docshare.py:67 msgid "Cannot share {0} with submit permission as the doctype {1} is not submittable" -msgstr "" +msgstr "لا يمكن مشاركة {0} مع إذن الإرسال لأن نوع المستند {1} غير قابل للإرسال" #: frappe/public/js/frappe/list/bulk_operations.js:291 msgid "Cannot submit {0}." -msgstr "" +msgstr "لا يمكن الإرسال {0}." #: frappe/desk/doctype/bulk_update/bulk_update.js:26 -#: frappe/public/js/frappe/list/bulk_operations.js:366 +#: frappe/public/js/frappe/list/bulk_operations.js:378 msgid "Cannot update {0}" msgstr "لا يمكن تحديث {0}" #: frappe/model/db_query.py:1222 msgid "Cannot use sub-query here." -msgstr "" +msgstr "لا يمكن استخدام الاستعلام الفرعي هنا." #: frappe/model/db_query.py:1254 msgid "Cannot use {0} in order/group by" -msgstr "" +msgstr "لا يمكن استخدام {0} في ترتيب/تجميع البيانات حسب" #: frappe/public/js/frappe/list/bulk_operations.js:297 msgid "Cannot {0} {1}." -msgstr "" +msgstr "لا يمكن {0} {1}." #: frappe/utils/password_strength.py:181 msgid "Capitalization doesn't help very much." msgstr "القيمة لا يساعد كثيرا جدا." -#: frappe/public/js/frappe/ui/capture.js:294 +#: frappe/public/js/frappe/ui/capture.js:295 msgid "Capture" -msgstr "" +msgstr "يأسر" #. Label of the card (Link) field in DocType 'Number Card Link' #: frappe/desk/doctype/number_card_link/number_card_link.json @@ -4220,15 +4268,15 @@ msgstr "بطاقة" #. Option for the 'Type' (Select) field in DocType 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json msgid "Card Break" -msgstr "" +msgstr "كسر الورق" -#: frappe/public/js/frappe/views/reports/query_report.js:262 +#: frappe/public/js/frappe/views/reports/query_report.js:263 msgid "Card Label" msgstr "ملصق البطاقة" #: frappe/public/js/frappe/widgets/widget_dialog.js:262 msgid "Card Links" -msgstr "" +msgstr "روابط البطاقات" #. Label of the cards (Table) field in DocType 'Dashboard' #: frappe/desk/doctype/dashboard/dashboard.json @@ -4251,17 +4299,19 @@ msgstr "وصف الفئة" msgid "Category Name" msgstr "اسم التصنيف" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json msgid "Center" msgstr "مركز" -#: frappe/core/page/permission_manager/permission_manager_help.html:16 -msgid "Certain documents, like an Invoice, should not be changed once final. The final state for such documents is called Submitted. You can restrict which roles can Submit." -msgstr "" - #: frappe/public/js/frappe/form/templates/form_sidebar.html:11 #: frappe/tests/test_translate.py:111 msgid "Change" @@ -4274,7 +4324,7 @@ msgstr "تغيير" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:38 msgid "Change Image" -msgstr "" +msgstr "تغيير الصورة" #. Label of the label (Data) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -4284,7 +4334,7 @@ msgstr "تغيير التسمية (عبر الترجمة المخصصة)" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:45 #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:141 msgid "Change Letter Head" -msgstr "" +msgstr "تغيير رأس الرسالة" #. Label of the change_password (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -4293,7 +4343,7 @@ msgstr "تغيير كلمة المرور" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:27 msgid "Change Print Format" -msgstr "" +msgstr "تغيير تنسيق الطباعة" #. Description of the 'Update Series Counter' (Section Break) field in DocType #. 'Document Naming Settings' @@ -4305,30 +4355,30 @@ msgstr "" #. Label of the changed_at (Datetime) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "Changed at" -msgstr "" +msgstr "تم التغيير في" #. Label of the changed_by (Link) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "Changed by" -msgstr "" +msgstr "تم التغيير بواسطة" #. Name of a DocType #: frappe/desk/doctype/changelog_feed/changelog_feed.json msgid "Changelog Feed" -msgstr "" +msgstr "سجل التغييرات" #. Label of the changed_values (HTML) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "Changes" -msgstr "" +msgstr "التغييرات" #: frappe/email/doctype/email_domain/email_domain.js:5 msgid "Changing any setting will reflect on all the email accounts associated with this domain." -msgstr "" +msgstr "سيؤدي تغيير أي إعداد إلى انعكاس ذلك على جميع حسابات البريد الإلكتروني المرتبطة بهذا النطاق." #: frappe/core/doctype/system_settings/system_settings.js:67 msgid "Changing rounding method on site with data can result in unexpected behaviour." -msgstr "" +msgstr "قد يؤدي تغيير طريقة التقريب في الموقع مع البيانات إلى سلوك غير متوقع." #. Label of the channel (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -4338,7 +4388,7 @@ msgstr "قناة" #. Label of the chart (Link) field in DocType 'Dashboard Chart Link' #: frappe/desk/doctype/dashboard_chart_link/dashboard_chart_link.json msgid "Chart" -msgstr "" +msgstr "خريطة" #. Label of the chart_config (Code) field in DocType 'Dashboard Settings' #: frappe/desk/doctype/dashboard_settings/dashboard_settings.json @@ -4349,7 +4399,7 @@ msgstr "تكوين الرسم البياني" #. Label of the chart_name (Link) field in DocType 'Workspace Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/workspace_chart/workspace_chart.json -#: frappe/public/js/frappe/views/reports/query_report.js:289 +#: frappe/public/js/frappe/views/reports/query_report.js:290 #: frappe/public/js/frappe/widgets/widget_dialog.js:137 msgid "Chart Name" msgstr "اسم المخطط" @@ -4408,12 +4458,18 @@ msgstr "تحقق من عنوان الرابط المطلوب" #: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:1 msgid "Check columns to select, drag to set order." -msgstr "" +msgstr "حدد الأعمدة المراد اختيارها، واسحبها لترتيبها." #: frappe/automation/doctype/auto_repeat/auto_repeat.py:485 msgid "Check the Error Log for more information: {0}" msgstr "تحقق من سجل الأخطاء لمزيد من المعلومات: {0}" +#. Description of the 'Evaluate as Expression' (Check) field in DocType +#. 'Workflow Document State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Check this if the Update Value is a formula or expression (e.g. doc.amount * 2). Leave unchecked for plain text values." +msgstr "حدد هذا الخيار إذا كانت قيمة التحديث عبارة عن صيغة أو تعبير (مثل doc.amount * 2). اتركه غير محدد لقيم النص العادي." + #: frappe/website/doctype/website_settings/website_settings.js:147 msgid "Check this if you don't want users to sign up for an account on your site. Users won't get desk access unless you explicitly provide it." msgstr "تحقق من هذا إذا كنت لا تريد أن يقوم المستخدمون بالتسجيل للحصول على حساب على موقعك. لن يتمكن المستخدمون من الوصول إلى المكتب ما لم تقدمه صراحةً." @@ -4427,7 +4483,7 @@ msgstr "التحقق من ذلك إذا كنت تريد لإجبار المست #. Description of the 'Show Full Number' (Check) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json msgid "Check to display the full numeric value (e.g., 1,234,567 instead of 1.2M)." -msgstr "" +msgstr "حدد لعرض القيمة العددية الكاملة (على سبيل المثال، 1,234,567 بدلاً من 1.2 مليون)." #: frappe/public/js/frappe/desk.js:235 msgid "Checking one moment" @@ -4453,21 +4509,21 @@ msgstr "سيؤدي التحقق من هذا إلى إظهار منطقة نصي #: frappe/www/list.py:30 msgid "Child DocTypes are not allowed" -msgstr "" +msgstr "لا يُسمح بأنواع المستندات الفرعية" #. Label of the child_doctype (Data) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Child Doctype" -msgstr "" +msgstr "نوع المستند الفرعي" #. Label of the child (Check) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Child Item" -msgstr "" +msgstr "عنصر الطفل" -#: frappe/core/doctype/doctype/doctype.py:1661 +#: frappe/core/doctype/doctype/doctype.py:1675 msgid "Child Table {0} for field {1} must be virtual" -msgstr "" +msgstr "يجب أن يكون الجدول الفرعي {0} للحقل {1} افتراضيًا" #. Description of the 'Is Child Table' (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -4475,27 +4531,27 @@ msgstr "" msgid "Child Tables are shown as a Grid in other DocTypes" msgstr "يتم عرض الجداول الفرعية كشبكة في DocTypes الأخرى" -#: frappe/database/query.py:1062 +#: frappe/database/query.py:1105 msgid "Child query fields for '{0}' must be a list or tuple." -msgstr "" +msgstr "يجب أن تكون حقول الاستعلام الفرعية لـ '{0}' عبارة عن قائمة أو صف." #: frappe/public/js/frappe/widgets/widget_dialog.js:651 msgid "Choose Existing Card or create New Card" msgstr "اختر بطاقة موجودة أو أنشئ بطاقة جديدة" -#: frappe/public/js/frappe/views/workspace/workspace.js:616 +#: frappe/public/js/frappe/views/workspace/workspace.js:665 msgid "Choose a block or continue typing" -msgstr "" +msgstr "اختر قسمًا أو تابع الكتابة" #: frappe/public/js/form_builder/components/controls/DataControl.vue:18 #: frappe/public/js/frappe/form/controls/color.js:5 msgid "Choose a color" -msgstr "" +msgstr "اختر لونًا" #: frappe/public/js/form_builder/components/controls/DataControl.vue:21 #: frappe/public/js/frappe/form/controls/icon.js:5 msgid "Choose an icon" -msgstr "" +msgstr "اختر رمزًا" #. Description of the 'Two Factor Authentication method' (Select) field in #. DocType 'System Settings' @@ -4503,15 +4559,11 @@ msgstr "" msgid "Choose authentication method to be used by all users" msgstr "اختر طريقة المصادقة لاستخدامها من قبل جميع المستخدمين" -#: frappe/utils/pdf_generator/chrome_pdf_generator.py:94 -msgid "Chromium is not downloaded. Please run the setup first." -msgstr "" - #. Label of the city (Data) field in DocType 'Contact Us Settings' #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:39 #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "City" -msgstr "" +msgstr "مدينة" #. Label of the city (Data) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -4523,22 +4575,22 @@ msgstr "المدينة / البلدة" msgid "Clear" msgstr "واضح" -#: frappe/public/js/frappe/views/communication.js:429 +#: frappe/public/js/frappe/views/communication.js:488 msgid "Clear & Add Template" -msgstr "" +msgstr "مسح وإضافة قالب" -#: frappe/public/js/frappe/views/communication.js:105 +#: frappe/public/js/frappe/views/communication.js:112 msgid "Clear & Add template" -msgstr "" +msgstr "مسح وإضافة قالب" #: frappe/public/js/frappe/form/controls/multiselect_list.js:6 msgid "Clear All" -msgstr "" +msgstr "إزالة الكل" -#: frappe/public/js/frappe/list/list_view.js:2189 +#: frappe/public/js/frappe/list/list_view.js:2197 msgctxt "Button in list view actions menu" msgid "Clear Assignment" -msgstr "" +msgstr "مسح المهمة" #: frappe/public/js/frappe/ui/keyboard.js:287 msgid "Clear Cache and Reload" @@ -4550,20 +4602,20 @@ msgstr "مسح سجلات سجلات الاخطاء" #: frappe/public/js/frappe/ui/filters/filter_list.js:299 msgid "Clear Filters" -msgstr "" +msgstr "مسح الفلاتر" #. Label of the days (Int) field in DocType 'Logs To Clear' #: frappe/core/doctype/logs_to_clear/logs_to_clear.json msgid "Clear Logs After (days)" -msgstr "" +msgstr "مسح السجلات بعد (أيام)" #: frappe/core/doctype/user_permission/user_permission_list.js:144 msgid "Clear User Permissions" msgstr "مسح أذونات المستخدم" -#: frappe/public/js/frappe/views/communication.js:430 +#: frappe/public/js/frappe/views/communication.js:489 msgid "Clear the email message and add the template" -msgstr "" +msgstr "امسح رسالة البريد الإلكتروني وأضف القالب" #: frappe/website/doctype/web_page/web_page.py:215 msgid "Clearing end date, as it cannot be in the past for published pages." @@ -4571,23 +4623,23 @@ msgstr "تاريخ انتهاء المقاصة ، لأنه لا يمكن أن ي #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:194 msgid "Click On Customize to add your first widget" -msgstr "" +msgstr "انقر على \"تخصيص\" لإضافة أول عنصر واجهة مستخدم لديك" #: frappe/templates/emails/user_invitation.html:8 msgid "Click below to get started:" -msgstr "" +msgstr "انقر أدناه للبدء:" #: frappe/website/doctype/web_form/templates/web_form.html:154 msgid "Click here" -msgstr "" +msgstr "انقر هنا" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:539 msgid "Click on a file to select it." -msgstr "" +msgstr "انقر على ملف لتحديده." #: frappe/templates/emails/login_with_email_link.html:19 msgid "Click on the button to log in to {0}" -msgstr "" +msgstr "انقر على الزر لتسجيل الدخول إلى {0}" #: frappe/templates/emails/data_deletion_approval.html:2 msgid "Click on the link below to approve the request" @@ -4621,17 +4673,17 @@ msgstr "انقر الجدول لتعديل" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:502 #: frappe/desk/doctype/number_card/number_card.js:419 msgid "Click to Set Dynamic Filters" -msgstr "" +msgstr "انقر لتعيين عوامل التصفية الديناميكية" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:372 #: frappe/desk/doctype/number_card/number_card.js:278 #: frappe/website/doctype/web_form/web_form.js:278 msgid "Click to Set Filters" -msgstr "" +msgstr "انقر لتعيين عوامل التصفية" -#: frappe/public/js/frappe/list/list_view.js:742 +#: frappe/public/js/frappe/list/list_view.js:745 msgid "Click to sort by {0}" -msgstr "" +msgstr "انقر للفرز حسب {0}" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -4671,7 +4723,7 @@ msgstr "رمز العميل" #. Label of the client_id (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Client Id" -msgstr "" +msgstr "معرف العميل" #. Label of the client_information (Section Break) field in DocType 'Social #. Login Key' @@ -4683,7 +4735,7 @@ msgstr "معلومات العميل" #. Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Client Metadata" -msgstr "" +msgstr "بيانات تعريف العميل" #. Label of a Link in the Build Workspace #. Name of a DocType @@ -4710,18 +4762,18 @@ msgstr "سر العميل" #. Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Client Secret Basic" -msgstr "" +msgstr "لغة سيكريت بيسك الخاصة بالعميل" #. Option for the 'Token Endpoint Auth Method' (Select) field in DocType 'OAuth #. Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Client Secret Post" -msgstr "" +msgstr "منشور سري للعميل" #. Label of the client_uri (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Client URI" -msgstr "" +msgstr "عنوان URL الخاص بالعميل" #. Label of the client_urls (Section Break) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json @@ -4731,25 +4783,25 @@ msgstr "الروابط للعميل" #. Label of the client_script (Code) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Client script" -msgstr "" +msgstr "نص العميل" #: frappe/core/doctype/communication/communication.js:39 #: frappe/desk/doctype/todo/todo.js:23 #: frappe/public/js/frappe/form/form_tour.js:17 #: frappe/public/js/frappe/ui/messages.js:251 -#: frappe/public/js/frappe/ui/notifications/notifications.js:56 +#: frappe/public/js/frappe/ui/notifications/notifications.js:63 #: frappe/website/js/bootstrap-4.js:24 msgid "Close" -msgstr "" +msgstr "أغلق" #. Label of the close_condition (Code) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json msgid "Close Condition" msgstr "أغلق الشرط" -#: frappe/public/js/form_builder/components/FieldProperties.vue:79 +#: frappe/public/js/form_builder/components/FieldProperties.vue:96 msgid "Close properties" -msgstr "" +msgstr "عقارات قريبة" #. Option for the 'Status' (Select) field in DocType 'Activity Log' #. Option for the 'Status' (Select) field in DocType 'Communication' @@ -4759,13 +4811,13 @@ msgstr "" #: frappe/core/doctype/communication/communication.json #: frappe/desk/doctype/event/event.json frappe/desk/doctype/todo/todo.json msgid "Closed" -msgstr "" +msgstr "مغلق" #: frappe/templates/discussions/comment_box.html:25 #: frappe/templates/discussions/reply_section.html:53 #: frappe/templates/discussions/topic_modal.html:11 msgid "Cmd+Enter to add comment" -msgstr "" +msgstr "اضغط على Cmd+Enter لإضافة تعليق" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -4784,18 +4836,18 @@ msgstr "رمز" #. Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "Code Challenge" -msgstr "" +msgstr "تحدي البرمجة" #. Label of the code_editor_type (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Code Editor Type" -msgstr "" +msgstr "نوع محرر الأكواد" #. Label of the code_challenge_method (Select) field in DocType 'OAuth #. Authorization Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "Code challenge method" -msgstr "" +msgstr "أسلوب تحدي الكود" #: frappe/public/js/frappe/form/form_tour.js:276 #: frappe/public/js/frappe/ui/sidebar/sidebar.html:44 @@ -4803,15 +4855,15 @@ msgstr "" msgid "Collapse" msgstr "انهيار" -#: frappe/public/js/frappe/form/controls/code.js:185 +#: frappe/public/js/frappe/form/controls/code.js:190 msgctxt "Shrink code field." msgid "Collapse" msgstr "انهيار" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 #: frappe/public/js/frappe/views/treeview.js:123 msgid "Collapse All" -msgstr "" +msgstr "طي الجميع" #. Label of the collapsible (Check) field in DocType 'DocField' #. Label of the collapsible (Check) field in DocType 'Custom Field' @@ -4837,7 +4889,7 @@ msgstr "الضم يعتمد على" #. Label of the collapsible_depends_on (Code) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Collapsible Depends On (JS)" -msgstr "" +msgstr "قابل للطي يعتمد على (JS)" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the color (Data) field in DocType 'DocType' @@ -4865,7 +4917,7 @@ msgstr "" #: frappe/desk/doctype/number_card/number_card.json #: frappe/desk/doctype/todo/todo.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/views/reports/query_report.js:1263 +#: frappe/public/js/frappe/views/reports/query_report.js:1280 #: frappe/public/js/frappe/widgets/widget_dialog.js:546 #: frappe/public/js/frappe/widgets/widget_dialog.js:694 #: frappe/website/doctype/color/color.json @@ -4876,23 +4928,23 @@ msgstr "اللون" #. Label of the column (Data) field in DocType 'Recorder Suggested Index' #: frappe/core/doctype/recorder_suggested_index/recorder_suggested_index.json -#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:7 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:13 #: frappe/public/js/form_builder/components/Section.vue:270 #: frappe/public/js/print_format_builder/ConfigureColumns.vue:8 msgid "Column" -msgstr "" +msgstr "عمود" #: frappe/core/doctype/report/boilerplate/controller.py:28 msgid "Column 1" -msgstr "" +msgstr "العمود 1" #: frappe/core/doctype/report/boilerplate/controller.py:33 msgid "Column 2" -msgstr "" +msgstr "العمود 2" #: frappe/desk/doctype/kanban_board/kanban_board.py:84 msgid "Column {0} already exist." -msgstr "عمود {0} موجودة بالفعل." +msgstr "" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -4919,19 +4971,19 @@ msgstr "اسم العمود" #: frappe/desk/doctype/kanban_board/kanban_board.py:45 msgid "Column Name cannot be empty" -msgstr "اسم العمود لا يمكن أن يكون فارغا\\n
\\nColumn Name cannot be empty" +msgstr "لا يمكن أن يكون اسم العمود فارغًا" -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Column Width" -msgstr "" +msgstr "عرض العمود" -#: frappe/public/js/frappe/form/grid_row.js:661 +#: frappe/public/js/frappe/form/grid_row.js:663 msgid "Column width cannot be zero." -msgstr "" +msgstr "لا يمكن أن يكون عرض العمود صفرًا." #: frappe/core/doctype/data_import/data_import.js:406 msgid "Column {0}" -msgstr "" +msgstr "العمود {0}" #. Label of the columns (Int) field in DocType 'DocField' #. Label of the columns_section (Section Break) field in DocType 'Report' @@ -4958,17 +5010,17 @@ msgstr "أعمدة بناء على" #: frappe/integrations/doctype/oauth_client/oauth_client.py:57 msgid "Combination of Grant Type ({0}) and Response Type ({1}) not allowed" -msgstr "الجمع بين نوع المنحة ( {0} ) ونوع الاستجابة ( {1} ) غير مسموح به" +msgstr "" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Comm10E" -msgstr "" +msgstr "Comm10E" #. Name of a DocType #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json -#: frappe/core/doctype/version/version_view.html:3 +#: frappe/core/doctype/version/version_view.html:52 #: frappe/public/js/frappe/form/controls/comment.js:9 #: frappe/public/js/frappe/form/sidebar/assign_to.js:240 #: frappe/templates/includes/comments/comments.html:34 @@ -4996,14 +5048,14 @@ msgstr "لا يمكن تعديل التعليق إلا بواسطة المالك #: frappe/desk/form/utils.py:73 msgid "Comment publicity can only be updated by the original author or a System Manager." -msgstr "" +msgstr "لا يمكن تحديث التعليقات إلا من قبل المؤلف الأصلي أو مدير النظام." #: frappe/model/meta.py:61 frappe/public/js/frappe/form/controls/comment.js:9 #: frappe/public/js/frappe/model/meta.js:217 #: frappe/public/js/frappe/model/model.js:135 #: frappe/website/doctype/web_form/templates/web_form.html:129 msgid "Comments" -msgstr "" +msgstr "تعليقات" #. Description of the 'Timeline Field' (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -5017,7 +5069,7 @@ msgstr "لا يمكن أن تحتوي التعليقات على روابط أو #. Option for the 'Rounding Method' (Select) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Commercial Rounding" -msgstr "" +msgstr "التقريب التجاري" #. Label of the commit (Check) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json @@ -5027,7 +5079,7 @@ msgstr "ارتكب" #. Label of the committed (Check) field in DocType 'Console Log' #: frappe/desk/doctype/console_log/console_log.json msgid "Committed" -msgstr "" +msgstr "ملتزم" #: frappe/utils/password_strength.py:176 msgid "Common names and surnames are easy to guess." @@ -5035,7 +5087,7 @@ msgstr "الأسماء الشائعة والألقاب سهلة التخمين." #: frappe/utils/password_strength.py:190 msgid "Common words are easy to guess." -msgstr "" +msgstr "يسهل تخمين الكلمات الشائعة." #. Name of a DocType #. Option for the 'Communication Type' (Select) field in DocType @@ -5047,13 +5099,13 @@ msgstr "" #: frappe/email/doctype/email_queue/email_queue.json #: frappe/tests/test_translate.py:35 frappe/tests/test_translate.py:119 msgid "Communication" -msgstr "" +msgstr "الاتصالات" #. Label of the communication_date (Datetime) field in DocType 'Communication #. Link' #: frappe/core/doctype/communication_link/communication_link.json msgid "Communication Date" -msgstr "" +msgstr "تاريخ التواصل" #. Name of a DocType #: frappe/core/doctype/communication_link/communication_link.json @@ -5063,7 +5115,7 @@ msgstr "حلقة اتصال" #. Label of a Link in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Communication Logs" -msgstr "" +msgstr "سجلات الاتصالات" #. Label of the communication_type (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -5072,7 +5124,7 @@ msgstr "نوع الإتصال" #: frappe/integrations/frappe_providers/frappecloud_billing.py:32 msgid "Communication secret not set" -msgstr "" +msgstr "لم يتم تحديد سر الاتصال" #. Name of a DocType #: frappe/website/doctype/company_history/company_history.json @@ -5089,17 +5141,17 @@ msgstr "مقدمة الشركة" #. Label of the company_name (Data) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json msgid "Company Name" -msgstr "" +msgstr "اسم الشركة" #: frappe/core/doctype/server_script/server_script.js:14 #: frappe/custom/doctype/client_script/client_script.js:56 #: frappe/public/js/frappe/utils/diffview.js:28 msgid "Compare Versions" -msgstr "" +msgstr "مقارنة الإصدارات" #: frappe/core/doctype/server_script/server_script.py:166 msgid "Compilation warning" -msgstr "" +msgstr "تحذير بشأن التجميع" #: frappe/website/doctype/website_theme/website_theme.py:123 msgid "Compiled Successfully" @@ -5109,21 +5161,21 @@ msgstr "جمعت بنجاح" #: frappe/core/doctype/scheduled_job_log/scheduled_job_log.json #: frappe/www/complete_signup.html:21 msgid "Complete" -msgstr "" +msgstr "أكمال" #: frappe/public/js/frappe/form/sidebar/assign_to.js:206 msgid "Complete By" msgstr "الكامل من جانب" -#: frappe/core/doctype/user/user.py:517 +#: frappe/core/doctype/user/user.py:520 #: frappe/templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "أكمال التسجيل" -#: frappe/public/js/frappe/ui/slides.js:355 +#: frappe/public/js/frappe/ui/slides.js:369 msgctxt "Finish the setup wizard" msgid "Complete Setup" -msgstr "" +msgstr "إعداد كامل" #. Option for the 'Status' (Select) field in DocType 'Auto Repeat' #. Option for the 'Status' (Select) field in DocType 'Prepared Report' @@ -5135,25 +5187,25 @@ msgstr "" #: frappe/core/doctype/prepared_report/prepared_report.json #: frappe/desk/doctype/event/event.json #: frappe/integrations/doctype/integration_request/integration_request.json -#: frappe/utils/goal.py:129 +#: frappe/utils/goal.py:128 #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Completed" -msgstr "" +msgstr "أكتمل" #. Label of the completed_by_role (Link) field in DocType 'Workflow Action' #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Completed By Role" -msgstr "" +msgstr "تم إكمالها حسب الدور" #. Label of the completed_by (Link) field in DocType 'Workflow Action' #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Completed By User" -msgstr "" +msgstr "تم إكمالها بواسطة المستخدم" #. Option for the 'Type' (Select) field in DocType 'Web Template' #: frappe/website/doctype/web_template/web_template.json msgid "Component" -msgstr "" +msgstr "مكون" #: frappe/public/js/frappe/views/inbox/inbox_view.js:184 msgid "Compose Email" @@ -5162,7 +5214,7 @@ msgstr "كتابة رسالة الكترونية" #. Option for the 'Row Format' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Compressed" -msgstr "" +msgstr "مضغوط" #. Label of the condition (Select) field in DocType 'Document Naming Rule #. Condition' @@ -5185,22 +5237,22 @@ msgstr "" #: frappe/website/doctype/web_form/web_form.js:213 #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Condition" -msgstr "" +msgstr "الحالة" #. Label of the condition_json (JSON) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Condition JSON" -msgstr "" +msgstr "JSON الشرطي" #. Label of the condition_type (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Condition Type" -msgstr "" +msgstr "نوع الحالة" #. Label of the condition_description (HTML) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Condition description" -msgstr "" +msgstr "وصف الحالة" #. Label of the conditions (Table) field in DocType 'Document Naming Rule' #. Label of the conditions (Section Break) field in DocType 'Workflow @@ -5208,35 +5260,35 @@ msgstr "" #: frappe/core/doctype/document_naming_rule/document_naming_rule.json #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Conditions" -msgstr "" +msgstr "الظروف" #. Label of the config_section (Section Break) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Config" -msgstr "" +msgstr "التكوين" #. Label of the configuration_section (Section Break) field in DocType 'Social #. Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "Configuration" -msgstr "" +msgstr "إعدادات" #: frappe/public/js/frappe/views/reports/report_view.js:486 msgid "Configure Chart" msgstr "تكوين المخطط" -#: frappe/public/js/frappe/form/grid_row.js:406 +#: frappe/public/js/frappe/form/grid_row.js:408 msgid "Configure Columns" -msgstr "" +msgstr "تكوين الأعمدة" #: frappe/core/doctype/recorder/recorder_list.js:200 msgid "Configure Recorder" -msgstr "" +msgstr "تهيئة المسجل" #: frappe/public/js/print_format_builder/Field.vue:103 msgid "Configure columns for {0}" -msgstr "" +msgstr "قم بتهيئة الأعمدة لـ {0}" #. Description of the 'Amended Documents' (Section Break) field in DocType #. 'Document Naming Settings' @@ -5249,7 +5301,7 @@ msgstr "" #. Description of a DocType #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Configure various aspects of how document naming works like naming series, current counter." -msgstr "" +msgstr "قم بضبط جوانب مختلفة من كيفية عمل تسمية المستندات مثل تسمية السلاسل والعداد الحالي." #: frappe/core/doctype/user/user.js:407 frappe/public/js/frappe/dom.js:342 #: frappe/www/update-password.html:66 @@ -5263,12 +5315,12 @@ msgstr "أكد" #: frappe/integrations/oauth2.py:138 msgid "Confirm Access" -msgstr "" +msgstr "تأكيد الوصول" #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:93 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:101 msgid "Confirm Deletion of Account" -msgstr "" +msgstr "تأكيد حذف الحساب" #: frappe/core/doctype/user/user.js:189 msgid "Confirm New Password" @@ -5276,7 +5328,7 @@ msgstr "تأكيد كلمة المرور الجديدة" #: frappe/www/update-password.html:55 msgid "Confirm Password" -msgstr "" +msgstr "تأكيد كلمة المرور" #: frappe/templates/emails/data_deletion_approval.html:6 #: frappe/templates/emails/delete_data_confirmation.html:7 @@ -5299,7 +5351,7 @@ msgstr "" #: frappe/integrations/doctype/connected_app/connected_app.js:20 msgid "Connect to {}" -msgstr "" +msgstr "اتصل بـ {}" #. Label of the connected_app (Link) field in DocType 'Email Account' #. Name of a DocType @@ -5308,21 +5360,21 @@ msgstr "" #: frappe/integrations/doctype/connected_app/connected_app.json #: frappe/integrations/doctype/token_cache/token_cache.json msgid "Connected App" -msgstr "" +msgstr "تطبيق متصل" #. Label of the connected_user (Link) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Connected User" -msgstr "" +msgstr "المستخدم المتصل" -#: frappe/public/js/frappe/form/print_utils.js:125 -#: frappe/public/js/frappe/form/print_utils.js:149 +#: frappe/public/js/frappe/form/print_utils.js:138 +#: frappe/public/js/frappe/form/print_utils.js:162 msgid "Connected to QZ Tray!" msgstr "متصلا علبة QZ!" #: frappe/public/js/frappe/request.js:36 msgid "Connection Lost" -msgstr "" +msgstr "انقطع الاتصال" #: frappe/templates/pages/integrations/gcalendar-success.html:3 msgid "Connection Success" @@ -5340,7 +5392,7 @@ msgstr "فقد الاتصال، بعض الميزات قد لا تعمل." #: frappe/core/doctype/user/user.json #: frappe/public/js/frappe/form/dashboard.js:54 msgid "Connections" -msgstr "" +msgstr "الاتصالات" #. Label of the console (Code) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json @@ -5354,12 +5406,12 @@ msgstr "سجل وحدة التحكم" #: frappe/desk/doctype/console_log/console_log.py:24 msgid "Console Logs can not be deleted" -msgstr "" +msgstr "لا يمكن حذف سجلات وحدة التحكم" #. Label of the constraints_section (Section Break) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Constraints" -msgstr "" +msgstr "قيود" #. Name of a DocType #: frappe/contacts/doctype/contact/contact.json @@ -5397,14 +5449,14 @@ msgstr "الاتصال متزامنة مع جهات اتصال Google." #: frappe/www/contact.html:4 msgid "Contact Us" -msgstr "" +msgstr "اتصل بنا" #. Name of a DocType #. Label of a Link in the Website Workspace #: frappe/website/doctype/contact_us_settings/contact_us_settings.json #: frappe/website/workspace/website/website.json msgid "Contact Us Settings" -msgstr "" +msgstr "إعدادات الاتصال بنا" #. Description of the 'Query Options' (Small Text) field in DocType 'Contact Us #. Settings' @@ -5415,15 +5467,15 @@ msgstr "خيارات الاتصال، مثل "الاستعلام المبي #. Label of the contacts (Small Text) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Contacts" -msgstr "" +msgstr "جهات الاتصال" #: frappe/utils/change_log.py:362 msgid "Contains {0} security fix" -msgstr "" +msgstr "يحتوي على {0} إصلاح أمني" #: frappe/utils/change_log.py:360 msgid "Contains {0} security fixes" -msgstr "" +msgstr "يحتوي على {0} إصلاحات أمنية" #. Label of the content (HTML Editor) field in DocType 'Comment' #. Label of the content (Text Editor) field in DocType 'Note' @@ -5434,7 +5486,7 @@ msgstr "" #. Label of the content (Data) field in DocType 'Web Page View' #: frappe/core/doctype/comment/comment.json frappe/desk/doctype/note/note.json #: frappe/desk/doctype/workspace/workspace.json -#: frappe/public/js/frappe/utils/utils.js:1897 +#: frappe/public/js/frappe/utils/utils.js:2028 #: frappe/website/doctype/help_article/help_article.json #: frappe/website/doctype/web_page/web_page.json #: frappe/website/doctype/web_page_view/web_page_view.json @@ -5454,7 +5506,7 @@ msgstr "نوع المحتوى" #: frappe/desk/doctype/workspace/workspace.py:88 msgid "Content data shoud be a list" -msgstr "" +msgstr "يجب أن تكون بيانات المحتوى عبارة عن قائمة" #: frappe/website/doctype/web_page/web_page.js:91 msgid "Content type for building the page" @@ -5481,7 +5533,7 @@ msgstr "سيناريو السياق" #: frappe/public/js/frappe/widgets/onboarding_widget.js:423 #: frappe/public/js/frappe/widgets/onboarding_widget.js:531 msgid "Continue" -msgstr "" +msgstr "استمر" #. Label of the contributed (Check) field in DocType 'Translation' #: frappe/core/doctype/translation/translation.json @@ -5501,36 +5553,36 @@ msgstr "حالة المساهمة" #. Description of the 'Sign ups' (Select) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "Controls whether new users can sign up using this Social Login Key. If unset, Website Settings is respected." -msgstr "" +msgstr "يتحكم هذا الخيار في إمكانية تسجيل المستخدمين الجدد باستخدام مفتاح تسجيل الدخول الاجتماعي هذا. في حال عدم تحديده، يتم تطبيق إعدادات الموقع الإلكتروني." -#: frappe/public/js/frappe/utils/utils.js:1077 +#: frappe/public/js/frappe/utils/utils.js:1085 msgid "Copied to clipboard." msgstr "نسخ إلى الحافظة." -#: frappe/public/js/frappe/list/list_view.js:2487 +#: frappe/public/js/frappe/list/list_view.js:2515 msgid "Copied {0} {1} to clipboard" -msgstr "" +msgstr "تم نسخ {0} {1} إلى الحافظة" #: frappe/public/js/frappe/form/templates/timeline_message_box.html:93 msgid "Copy Link" -msgstr "" +msgstr "نسخ الوصلة" #: frappe/website/doctype/web_form/web_form.js:29 msgid "Copy embed code" -msgstr "" +msgstr "انسخ رمز التضمين" -#: frappe/public/js/frappe/request.js:621 +#: frappe/public/js/frappe/request.js:619 msgid "Copy error to clipboard" -msgstr "" +msgstr "حصل خطأ أثناء النسخ إلى الحافظة" -#: frappe/public/js/frappe/form/toolbar.js:540 -#: frappe/public/js/frappe/list/list_view.js:2371 +#: frappe/public/js/frappe/form/toolbar.js:543 +#: frappe/public/js/frappe/list/list_view.js:2399 msgid "Copy to Clipboard" -msgstr "" +msgstr "نسخ إلى الحافظة" #: frappe/core/doctype/user/user.js:494 msgid "Copy token to clipboard" -msgstr "" +msgstr "انسخ الرمز المميز إلى الحافظة" #. Label of the copyright (Data) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -5545,15 +5597,15 @@ msgstr "لا يمكن تخصيص DocTypes الأساسية." msgid "Core Modules {0} cannot be searched in Global Search." msgstr "لا يمكن البحث عن الوحدات الأساسية {0} في البحث العالمي." -#: frappe/printing/page/print/print.js:679 +#: frappe/printing/page/print/print.js:687 msgid "Correct version :" -msgstr "" +msgstr "النسخة الصحيحة:" #: frappe/email/smtp.py:78 msgid "Could not connect to outgoing email server" msgstr "لا يمكن الاتصال بخادم البريد الإلكتروني المنتهية ولايته" -#: frappe/model/document.py:1146 +#: frappe/model/document.py:1145 msgid "Could not find {0}" msgstr "لا يمكن أن تجد {0}" @@ -5561,19 +5613,19 @@ msgstr "لا يمكن أن تجد {0}" msgid "Could not map column {0} to field {1}" msgstr "تعذر تعيين العمود {0} للحقل {1}" -#: frappe/database/query.py:960 +#: frappe/database/query.py:1003 msgid "Could not parse field: {0}" -msgstr "" +msgstr "تعذر تحليل الحقل: {0}" -#: frappe/utils/pdf_generator/chrome_pdf_generator.py:199 +#: frappe/utils/pdf_generator/chrome_pdf_generator.py:165 msgid "Could not start Chromium. Check logs for details." -msgstr "" +msgstr "تعذر تشغيل متصفح كروميوم. راجع سجلات النظام لمزيد من التفاصيل." #: frappe/desk/page/setup_wizard/setup_wizard.js:234 msgid "Could not start up:" -msgstr "" +msgstr "تعذر بدء التشغيل:" -#: frappe/public/js/frappe/web_form/web_form.js:383 +#: frappe/public/js/frappe/web_form/web_form.js:379 msgid "Couldn't save, please check the data you have entered" msgstr "تعذر الحفظ ، يرجى التحقق من البيانات التي أدخلتها" @@ -5604,7 +5656,7 @@ msgstr "عد مرشح" #: frappe/public/js/frappe/form/dashboard.js:509 msgid "Count of linked documents" -msgstr "" +msgstr "عدد المستندات المرتبطة" #. Label of the counter (Int) field in DocType 'Document Naming Rule' #: frappe/core/doctype/document_naming_rule/document_naming_rule.json @@ -5623,11 +5675,11 @@ msgstr "عداد" #: frappe/geo/doctype/country/country.json #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Country" -msgstr "" +msgstr "الدولة" -#: frappe/utils/__init__.py:132 +#: frappe/utils/__init__.py:123 msgid "Country Code Required" -msgstr "" +msgstr "رمز الدولة مطلوب" #. Label of the country_name (Data) field in DocType 'Country' #: frappe/geo/doctype/country/country.json @@ -5643,7 +5695,7 @@ msgstr "مقاطعة" #: frappe/public/js/frappe/utils/number_systems.js:45 msgctxt "Number system" msgid "Cr" -msgstr "" +msgstr "Cr" #. Label of the create (Check) field in DocType 'Custom DocPerm' #. Label of the create (Check) field in DocType 'DocPerm' @@ -5652,40 +5704,41 @@ msgstr "" #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:41 #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.js:15 #: frappe/desk/doctype/desktop_icon/desktop_icon.js:28 #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:46 #: frappe/public/js/frappe/form/reminders.js:49 -#: frappe/public/js/frappe/list/list_filter.js:103 +#: frappe/public/js/frappe/list/list_filter.js:120 #: frappe/public/js/frappe/views/file/file_view.js:112 #: frappe/public/js/frappe/views/interaction.js:18 -#: frappe/public/js/frappe/views/reports/query_report.js:1295 -#: frappe/public/js/frappe/views/workspace/workspace.js:483 +#: frappe/public/js/frappe/views/reports/query_report.js:1312 +#: frappe/public/js/frappe/views/workspace/workspace.js:531 #: frappe/workflow/page/workflow_builder/workflow_builder.js:46 msgid "Create" -msgstr "" +msgstr "انشاء" #: frappe/core/doctype/doctype/doctype_list.js:103 msgid "Create & Continue" -msgstr "" +msgstr "إنشاء ومتابعة" #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:49 msgid "Create Address" -msgstr "" +msgstr "إنشاء عنوان" -#: frappe/public/js/frappe/views/reports/query_report.js:187 -#: frappe/public/js/frappe/views/reports/query_report.js:232 +#: frappe/public/js/frappe/views/reports/query_report.js:188 +#: frappe/public/js/frappe/views/reports/query_report.js:233 msgid "Create Card" msgstr "إنشاء بطاقة" -#: frappe/public/js/frappe/views/reports/query_report.js:285 -#: frappe/public/js/frappe/views/reports/query_report.js:1222 +#: frappe/public/js/frappe/views/reports/query_report.js:286 +#: frappe/public/js/frappe/views/reports/query_report.js:1239 msgid "Create Chart" msgstr "إنشاء مخطط" #: frappe/public/js/form_builder/components/controls/TableControl.vue:62 msgid "Create Child Doctype" -msgstr "" +msgstr "إنشاء نوع مستند فرعي" #. Label of the create_contact (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -5700,7 +5753,7 @@ msgstr "إنشاء الدخول" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:59 #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:195 msgid "Create Letter Head" -msgstr "" +msgstr "إنشاء ترويسة الرسالة" #. Label of the create_log (Check) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json @@ -5713,22 +5766,22 @@ msgstr "إنشاء سجل" msgid "Create New" msgstr "انشاء جديد" -#: frappe/public/js/frappe/list/list_view.js:515 +#: frappe/public/js/frappe/list/list_view.js:518 msgctxt "Create a new document from list view" msgid "Create New" msgstr "انشاء جديد" #: frappe/core/doctype/doctype/doctype_list.js:101 msgid "Create New DocType" -msgstr "" +msgstr "إنشاء نوع مستند جديد" #: frappe/public/js/frappe/list/list_view_select.js:186 msgid "Create New Kanban Board" -msgstr "" +msgstr "إنشاء لوحة كانبان جديدة" -#: frappe/public/js/frappe/list/list_filter.js:101 +#: frappe/public/js/frappe/list/list_filter.js:118 msgid "Create Saved Filter" -msgstr "" +msgstr "إنشاء فلتر محفوظ" #: frappe/core/doctype/user/user.js:271 msgid "Create User Email" @@ -5736,47 +5789,47 @@ msgstr "انشاء بريد إلكتروني" #: frappe/printing/page/print_format_builder/print_format_builder_start.html:16 msgid "Create a New Format" -msgstr "" +msgstr "إنشاء تنسيق جديد" #: frappe/public/js/frappe/form/reminders.js:9 msgid "Create a Reminder" -msgstr "" +msgstr "إنشاء تذكير" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:581 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:551 msgid "Create a new ..." -msgstr "" +msgstr "إنشاء جديد ..." -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:218 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:225 msgid "Create a new record" msgstr "إنشاء سجل جديد" -#: frappe/public/js/frappe/form/controls/link.js:461 -#: frappe/public/js/frappe/form/controls/link.js:463 -#: frappe/public/js/frappe/form/link_selector.js:139 -#: frappe/public/js/frappe/list/list_view.js:507 +#: frappe/public/js/frappe/form/controls/link.js:475 +#: frappe/public/js/frappe/form/controls/link.js:477 +#: frappe/public/js/frappe/form/link_selector.js:147 +#: frappe/public/js/frappe/list/list_view.js:510 #: frappe/public/js/frappe/web_form/web_form_list.js:226 msgid "Create a new {0}" msgstr "انشاء جديد {0}" #: frappe/www/login.html:162 msgid "Create a {0} Account" -msgstr "" +msgstr "أنشئ حسابًا {0}" #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:34 msgid "Create or Edit Print Format" -msgstr "" +msgstr "إنشاء أو تعديل تنسيق الطباعة" #: frappe/workflow/page/workflow_builder/workflow_builder.js:34 msgid "Create or Edit Workflow" -msgstr "" +msgstr "إنشاء أو تعديل سير العمل" -#: frappe/public/js/frappe/list/list_view.js:510 +#: frappe/public/js/frappe/list/list_view.js:513 msgid "Create your first {0}" msgstr "قم بإنشاء أول {0}" #: frappe/workflow/doctype/workflow/workflow.js:16 msgid "Create your workflow visually using the Workflow Builder." -msgstr "" +msgstr "أنشئ سير عملك بشكل مرئي باستخدام أداة إنشاء سير العمل." #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -5787,7 +5840,7 @@ msgstr "أنشأ" #. Label of the created_at (Datetime) field in DocType 'Submission Queue' #: frappe/core/doctype/submission_queue/submission_queue.json msgid "Created At" -msgstr "" +msgstr "تم الإنشاء في" #: frappe/model/meta.py:58 frappe/public/js/frappe/list/base_list.js:811 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:39 @@ -5796,6 +5849,14 @@ msgstr "" msgid "Created By" msgstr "منشئه بواسطه" +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:174 +msgid "Created By You" +msgstr "من صنعك" + +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:175 +msgid "Created By {0}" +msgstr "تم إنشاؤه بواسطة {0}" + #: frappe/workflow/doctype/workflow/workflow.py:65 msgid "Created Custom Field {0} in {1}" msgstr "إنشاء الحقل المخصص {0} في {1}" @@ -5806,7 +5867,7 @@ msgstr "إنشاء الحقل المخصص {0} في {1}" #: frappe/public/js/frappe/model/model.js:125 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:479 msgid "Created On" -msgstr "" +msgstr "منشئه في" #: frappe/public/js/frappe/desk.js:517 #: frappe/public/js/frappe/views/treeview.js:393 @@ -5816,7 +5877,7 @@ msgstr "إنشاء {0}" #: frappe/core/doctype/permission_type/permission_type.py:66 #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py:41 msgid "Creation of this document is only permitted in developer mode." -msgstr "" +msgstr "لا يُسمح بإنشاء هذا المستند إلا في وضع المطور." #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -5834,19 +5895,19 @@ msgstr "تنسيق كرون" #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.py:62 msgid "Cron format is required for job types with Cron frequency." -msgstr "" +msgstr "يُشترط استخدام تنسيق Cron لأنواع الوظائف التي تتطلب تكرار Cron." #: frappe/public/js/frappe/file_uploader/ImageCropper.vue:34 msgid "Crop" -msgstr "" +msgstr "اقتصاص" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Ctrl + Down" -msgstr "" +msgstr "Ctrl + السهم لأسفل" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Ctrl + Up" -msgstr "" +msgstr "Ctrl + لأعلى" #: frappe/templates/includes/comments/comments.html:32 msgid "Ctrl+Enter to add comment" @@ -5874,7 +5935,7 @@ msgstr "على Ctrl + Enter لإضافة تعليق" #: frappe/geo/doctype/currency/currency.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Currency" -msgstr "" +msgstr "العملة" #. Label of the currency_name (Data) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json @@ -5889,26 +5950,26 @@ msgstr "دقة العملة" #. Description of a DocType #: frappe/geo/doctype/currency/currency.json msgid "Currency list stores the currency value, its symbol and fraction unit" -msgstr "" +msgstr "تحتوي قائمة العملات على قيمة العملة ورمزها ووحدة الكسر الخاصة بها." #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json msgid "Current" -msgstr "" +msgstr "تيار" #. Label of the current_job_id (Link) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Current Job ID" -msgstr "" +msgstr "رقم الوظيفة الحالي" #. Label of the current_value (Int) field in DocType 'Document Naming Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Current Value" -msgstr "" +msgstr "القيمة الحالية" #: frappe/public/js/frappe/form/workflow.js:45 msgid "Current status" -msgstr "" +msgstr "الحالة الحالية" #: frappe/public/js/frappe/form/form_viewers.js:5 msgid "Currently Viewing" @@ -5949,13 +6010,13 @@ msgstr "عنوان ورل لقاعدة مخصصة" #. Block' #: frappe/desk/doctype/workspace_custom_block/workspace_custom_block.json msgid "Custom Block Name" -msgstr "" +msgstr "اسم الكتلة المخصصة" #. Label of the custom_blocks_tab (Tab Break) field in DocType 'Workspace' #. Label of the custom_blocks (Table) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Custom Blocks" -msgstr "" +msgstr "كتل مخصصة" #. Label of the css (Code) field in DocType 'Print Format' #. Label of the custom_css (Code) field in DocType 'Web Form' @@ -5973,7 +6034,7 @@ msgstr "التكوين المخصص" #. Label of the custom_delimiters (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Custom Delimiters" -msgstr "" +msgstr "محددات مخصصة" #. Name of a DocType #: frappe/core/doctype/custom_docperm/custom_docperm.json @@ -5983,11 +6044,11 @@ msgstr "DocPerm مخصص" #. Label of the custom_select_doctypes (Table) field in DocType 'User Type' #: frappe/core/doctype/user_type/user_type.json msgid "Custom Document Types (Select Permission)" -msgstr "" +msgstr "أنواع المستندات المخصصة (تحديد الإذن)" #: frappe/core/doctype/user_type/user_type.py:105 msgid "Custom Document Types Limit Exceeded" -msgstr "" +msgstr "تم تجاوز الحد الأقصى لأنواع المستندات المخصصة" #: frappe/desk/desktop.py:524 msgid "Custom Documents" @@ -6000,15 +6061,15 @@ msgstr "المستندات المخصصة" msgid "Custom Field" msgstr "حقل مخصص" -#: frappe/custom/doctype/custom_field/custom_field.py:221 +#: frappe/custom/doctype/custom_field/custom_field.py:222 msgid "Custom Field {0} is created by the Administrator and can only be deleted through the Administrator account." msgstr "يتم إنشاء الحقل المخصص {0} بواسطة المسؤول ولا يمكن حذفه إلا من خلال حساب المسؤول." -#: frappe/custom/doctype/custom_field/custom_field.py:278 +#: frappe/custom/doctype/custom_field/custom_field.py:279 msgid "Custom Fields can only be added to a standard DocType." msgstr "يمكن إضافة الحقول المخصصة فقط إلى نوع DocType قياسي." -#: frappe/custom/doctype/custom_field/custom_field.py:275 +#: frappe/custom/doctype/custom_field/custom_field.py:276 msgid "Custom Fields cannot be added to core DocTypes." msgstr "لا يمكن إضافة الحقول المخصصة إلى DocTypes الأساسية." @@ -6016,7 +6077,7 @@ msgstr "لا يمكن إضافة الحقول المخصصة إلى DocTypes ا #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Custom Footer" -msgstr "" +msgstr "تذييل مخصص" #. Label of the custom_format (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -6027,14 +6088,14 @@ msgstr "تنسيق مخصص" #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Custom Group Search" -msgstr "" +msgstr "بحث مخصص للمجموعات" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:122 msgid "Custom Group Search if filled needs to contain the user placeholder {0}, eg uid={0},ou=users,dc=example,dc=com" -msgstr "" +msgstr "يجب أن يحتوي حقل البحث المخصص للمجموعات، في حال تعبئته، على عنصر نائب للمستخدم {0}، على سبيل المثال uid={0},ou=users,dc=example,dc=com" #: frappe/printing/page/print_format_builder/print_format_builder.js:190 -#: frappe/printing/page/print_format_builder/print_format_builder.js:728 +#: frappe/printing/page/print_format_builder/print_format_builder.js:762 #: frappe/public/js/print_format_builder/PrintFormatControls.vue:162 msgid "Custom HTML" msgstr "مخصصةHTML" @@ -6042,7 +6103,7 @@ msgstr "مخصصةHTML" #. Name of a DocType #: frappe/desk/doctype/custom_html_block/custom_html_block.json msgid "Custom HTML Block" -msgstr "" +msgstr "كتلة HTML مخصصة" #. Label of the custom_html_help (HTML) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -6051,14 +6112,14 @@ msgstr "مخصصةHTML مساعدة" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:114 msgid "Custom LDAP Directoy Selected, please ensure 'LDAP Group Member attribute' and 'Group Object Class' are entered" -msgstr "" +msgstr "تم تحديد دليل LDAP مخصص، يرجى التأكد من إدخال \"سمة عضو مجموعة LDAP\" و\"فئة كائن المجموعة\"." #. Label of the label (Data) field in DocType 'Web Form Field' #. Label of the label (Data) field in DocType 'Web Form List Column' #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_form_list_column/web_form_list_column.json msgid "Custom Label" -msgstr "" +msgstr "ملصق مخصص" #. Label of the custom_menu (Table) field in DocType 'Portal Settings' #: frappe/website/doctype/portal_settings/portal_settings.json @@ -6103,15 +6164,15 @@ msgstr "قائمة الشريط الجانبي المخصص" #. Label of a Link in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Custom Translation" -msgstr "" +msgstr "ترجمة مخصصة" -#: frappe/custom/doctype/custom_field/custom_field.py:424 +#: frappe/custom/doctype/custom_field/custom_field.py:425 msgid "Custom field renamed to {0} successfully." -msgstr "" +msgstr "تمت إعادة تسمية الحقل المخصص إلى {0} بنجاح." -#: frappe/api/v2.py:148 +#: frappe/api/v2.py:172 msgid "Custom get_list method for {0} must return a QueryBuilder object or None, got {1}" -msgstr "" +msgstr "يجب أن تُرجع دالة get_list المخصصة لـ {0} كائن QueryBuilder أو None، وقد تم الحصول على {1}" #. Label of the custom (Check) field in DocType 'DocType' #. Label of the custom (Check) field in DocType 'Website Theme' @@ -6132,37 +6193,37 @@ msgstr "مخصص" msgid "Customization" msgstr "التخصيص" -#: frappe/public/js/frappe/views/workspace/workspace.js:372 +#: frappe/public/js/frappe/views/workspace/workspace.js:420 msgid "Customizations Discarded" -msgstr "" +msgstr "تم تجاهل التخصيصات" -#: frappe/custom/doctype/customize_form/customize_form.js:465 +#: frappe/custom/doctype/customize_form/customize_form.js:475 msgid "Customizations Reset" msgstr "التخصيصات إعادة تعيين" -#: frappe/modules/utils.py:99 +#: frappe/modules/utils.py:121 msgid "Customizations for {0} exported to:
{1}" -msgstr "تم تصدير التخصيصات ل {0} إلى:
{1}" +msgstr "" -#: frappe/printing/page/print/print.js:185 +#: frappe/printing/page/print/print.js:193 #: frappe/public/js/frappe/form/templates/print_layout.html:39 -#: frappe/public/js/frappe/form/toolbar.js:633 +#: frappe/public/js/frappe/form/toolbar.js:636 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:197 msgid "Customize" msgstr "تخصيص" -#: frappe/public/js/frappe/list/list_view.js:1950 +#: frappe/public/js/frappe/list/list_view.js:1958 msgctxt "Button in list view menu" msgid "Customize" msgstr "تخصيص" #: frappe/custom/doctype/customize_form/customize_form.js:89 msgid "Customize Child Table" -msgstr "" +msgstr "تخصيص طاولة الأطفال" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:38 msgid "Customize Dashboard" -msgstr "" +msgstr "تخصيص لوحة التحكم" #. Label of a Link in the Build Workspace #. Name of a DocType @@ -6176,7 +6237,7 @@ msgstr "تخصيص نموذج" #: frappe/custom/doctype/customize_form/customize_form.js:100 msgid "Customize Form - {0}" -msgstr "" +msgstr "تخصيص النموذج - {0}" #. Name of a DocType #: frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -6186,7 +6247,7 @@ msgstr "تخصيص حقل نموذج" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Customize properties, naming, fields and more for standard doctypes" -msgstr "" +msgstr "قم بتخصيص الخصائص والتسمية والحقول والمزيد لأنواع المستندات القياسية" #: frappe/public/js/frappe/views/file/file_view.js:144 msgid "Cut" @@ -6197,14 +6258,14 @@ msgstr "قطع" #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Cyan" -msgstr "" +msgstr "سماوي" #. Option for the 'Method' (Select) field in DocType 'Recorder' #. Option for the 'Request Method' (Select) field in DocType 'Webhook' #: frappe/core/doctype/recorder/recorder.json #: frappe/integrations/doctype/webhook/webhook.json msgid "DELETE" -msgstr "" +msgstr "يمسح" #. Option for the 'Default Sort Order' (Select) field in DocType 'DocType' #. Option for the 'Sort Order' (Select) field in DocType 'Customize Form' @@ -6216,7 +6277,7 @@ msgstr "تنازلي" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "DLE" -msgstr "" +msgstr "DLE" #: frappe/templates/print_formats/standard_macros.html:211 msgid "DRAFT" @@ -6242,13 +6303,13 @@ msgstr "مسودة" #: frappe/public/js/frappe/utils/common.js:407 #: frappe/website/report/website_analytics/website_analytics.js:23 msgid "Daily" -msgstr "" +msgstr "يوميا" #: frappe/templates/emails/upcoming_events.html:8 msgid "Daily Event Digest is sent for Calendar Events where reminders are set." msgstr "يتم إرسال ملخص الأحداث اليومي لأحداث التقويم المطلوب لها تذكير" -#: frappe/desk/doctype/event/event.py:104 +#: frappe/desk/doctype/event/event.py:109 msgid "Daily Events should finish on the Same Day." msgstr "يجب أن تنتهي الأحداث اليومية في نفس اليوم." @@ -6262,7 +6323,7 @@ msgstr "يوميا طويلة" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Daily Maintenance" -msgstr "" +msgstr "الصيانة اليومية" #. Option for the 'Button Color' (Select) field in DocType 'DocField' #. Option for the 'Button Color' (Select) field in DocType 'Custom Field' @@ -6279,7 +6340,7 @@ msgstr "خطر" #. Option for the 'Desk Theme' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Dark" -msgstr "" +msgstr "مظلم" #. Label of the dark_color (Link) field in DocType 'Website Theme' #: frappe/website/doctype/website_theme/website_theme.json @@ -6288,7 +6349,7 @@ msgstr "لون غامق" #: frappe/public/js/frappe/ui/theme_switcher.js:65 msgid "Dark Theme" -msgstr "" +msgstr "الوضع الداكن" #. Label of the dashboard (Check) field in DocType 'User' #. Label of a Link in the Build Workspace @@ -6305,10 +6366,10 @@ msgstr "" #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:606 -#: frappe/public/js/frappe/utils/utils.js:976 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:576 +#: frappe/public/js/frappe/utils/utils.js:959 msgid "Dashboard" -msgstr "" +msgstr "لوحة القيادة" #. Label of a Link in the Build Workspace #. Name of a DocType @@ -6352,7 +6413,7 @@ msgstr "اعدادات اللوحة الرئيسية" #: frappe/public/js/frappe/list/base_list.js:205 msgid "Dashboard View" -msgstr "" +msgstr "عرض لوحة التحكم" #. Label of the tab_break_2 (Tab Break) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -6386,7 +6447,7 @@ msgstr "البيانات" #: frappe/public/js/frappe/form/controls/data.js:59 msgid "Data Clipped" -msgstr "" +msgstr "تم اقتطاع البيانات" #. Name of a DocType #: frappe/core/doctype/data_export/data_export.json @@ -6403,7 +6464,7 @@ msgstr "استيراد البيانات" #. Name of a DocType #: frappe/core/doctype/data_import_log/data_import_log.json msgid "Data Import Log" -msgstr "" +msgstr "سجل استيراد البيانات" #: frappe/core/doctype/data_export/exporter.py:174 msgid "Data Import Template" @@ -6411,7 +6472,7 @@ msgstr "قالب ادخال البيانات" #: frappe/core/doctype/data_import/data_import.py:76 msgid "Data Import is not allowed for {0}. Enable 'Allow Import' in DocType settings." -msgstr "" +msgstr "لا يُسمح باستيراد البيانات لـ {0}. فعّل خيار \"السماح بالاستيراد\" في إعدادات نوع المستند." #: frappe/custom/doctype/customize_form/customize_form.py:619 msgid "Data Too Long" @@ -6422,7 +6483,7 @@ msgstr "البيانات طويلة جدًا" #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Database" -msgstr "" +msgstr "قاعدة البيانات" #. Label of the engine (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -6433,29 +6494,29 @@ msgstr "محرك قاعدة البيانات" #. 'System Console' #: frappe/desk/doctype/system_console/system_console.json msgid "Database Processes" -msgstr "" +msgstr "عمليات قاعدة البيانات" #: frappe/public/js/frappe/doctype/index.js:39 msgid "Database Row Size Utilization" -msgstr "" +msgstr "استخدام حجم صفوف قاعدة البيانات" #. Name of a report #: frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.json msgid "Database Storage Usage By Tables" -msgstr "" +msgstr "استخدام مساحة تخزين قاعدة البيانات حسب الجداول" #: frappe/custom/doctype/customize_form/customize_form.py:251 msgid "Database Table Row Size Limit" -msgstr "" +msgstr "حد حجم صف جدول قاعدة البيانات" #: frappe/public/js/frappe/doctype/index.js:41 msgid "Database Table Row Size Utilization: {0}%, this limits number of fields you can add." -msgstr "" +msgstr "نسبة استخدام حجم صف جدول قاعدة البيانات: {0}%، وهذا يحد من عدد الحقول التي يمكنك إضافتها." #. Label of the database_version (Data) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Database Version" -msgstr "" +msgstr "إصدار قاعدة البيانات" #. Label of the communication_date (Datetime) field in DocType 'Activity Log' #. Label of the communication_date (Datetime) field in DocType 'Communication' @@ -6476,7 +6537,7 @@ msgstr "" #: frappe/public/js/frappe/views/interaction.js:80 #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Date" -msgstr "" +msgstr "تاريخ" #. Label of the date_format (Select) field in DocType 'Language' #. Label of the date_format (Select) field in DocType 'System Settings' @@ -6492,7 +6553,7 @@ msgstr "تنسيق التاريخ" #: frappe/core/doctype/audit_trail/audit_trail.json #: frappe/public/js/frappe/widgets/chart_widget.js:237 msgid "Date Range" -msgstr "" +msgstr "نطاق التاريخ" #. Label of the date_and_number_format (Section Break) field in DocType 'System #. Settings' @@ -6556,17 +6617,17 @@ msgstr "أيام قبل" msgid "Days Before or After" msgstr "أيام قبل أو بعد" -#: frappe/public/js/frappe/request.js:252 +#: frappe/public/js/frappe/request.js:250 msgid "Deadlock Occurred" -msgstr "" +msgstr "حدث طريق مسدود" #: frappe/templates/emails/password_reset.html:1 msgid "Dear" -msgstr "" +msgstr "العزيز" #: frappe/templates/emails/administrator_logged_in.html:1 msgid "Dear System Manager," -msgstr "" +msgstr "عزيزي مدير النظام،" #: frappe/templates/emails/account_deletion_notification.html:1 #: frappe/templates/emails/delete_data_confirmation.html:1 @@ -6580,15 +6641,15 @@ msgstr "عزيزي {0}" #. Label of the debug_log (Code) field in DocType 'Scheduled Job Log' #: frappe/core/doctype/scheduled_job_log/scheduled_job_log.json msgid "Debug Log" -msgstr "" +msgstr "سجل تصحيح الأخطاء" #: frappe/public/js/frappe/views/reports/report_utils.js:318 msgid "Decimal Separator must be '.' when Quoting is set to Non-numeric" -msgstr "" +msgstr "يجب أن تكون الفاصلة العشرية '.' عند ضبط الاقتباس على غير رقمي" #: frappe/public/js/frappe/views/reports/report_utils.js:310 msgid "Decimal Separator must be a single character" -msgstr "" +msgstr "يجب أن يكون فاصل الأعداد العشرية حرفًا واحدًا" #. Label of the default (Small Text) field in DocType 'DocField' #. Option for the 'Button Color' (Select) field in DocType 'DocField' @@ -6609,7 +6670,7 @@ msgstr "" #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Default" -msgstr "" +msgstr "الافتراضي" #: frappe/contacts/doctype/address_template/address_template.py:41 msgid "Default Address Template cannot be deleted" @@ -6619,21 +6680,21 @@ msgstr "لا يمكن حذف القالب الافتراضي العنوان" #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Default Amendment Naming" -msgstr "" +msgstr "تسمية التعديل الافتراضي" #. Label of the default_app (Select) field in DocType 'System Settings' #. Label of the default_app (Select) field in DocType 'User' #: frappe/core/doctype/system_settings/system_settings.json #: frappe/core/doctype/user/user.json msgid "Default App" -msgstr "" +msgstr "التطبيق الافتراضي" #. Label of the default_email_template (Link) field in DocType 'DocType' #. Label of the default_email_template (Link) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Default Email Template" -msgstr "" +msgstr "قالب البريد الإلكتروني الافتراضي" #: frappe/email/doctype/email_account/email_account_list.js:13 msgid "Default Inbox" @@ -6657,7 +6718,7 @@ msgstr "رأس الرسالة الأفتراضي" #: frappe/core/doctype/amended_document_naming_settings/amended_document_naming_settings.json #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Default Naming" -msgstr "" +msgstr "التسمية الافتراضية" #. Label of the default_outgoing (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -6713,7 +6774,7 @@ msgstr "ترتيب الافتراضي" #. Label of the field (Data) field in DocType 'Print Format Field Template' #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json msgid "Default Template For Field" -msgstr "" +msgstr "القالب الافتراضي للحقل" #: frappe/website/doctype/website_theme/website_theme.js:28 msgid "Default Theme" @@ -6722,12 +6783,12 @@ msgstr "الموضوع الافتراضي" #. Label of the default_role (Link) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Default User Role" -msgstr "" +msgstr "دور المستخدم الافتراضي" #. Label of the default_user_type (Link) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Default User Type" -msgstr "" +msgstr "نوع المستخدم الافتراضي" #. Label of the default (Text) field in DocType 'Custom Field' #. Label of the default_value (Data) field in DocType 'Property Setter' @@ -6741,23 +6802,23 @@ msgstr "القيمة الافتراضية" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Default View" -msgstr "" +msgstr "العرض الافتراضي" #. Label of the default_workspace (Link) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Default Workspace" -msgstr "" +msgstr "مساحة العمل الافتراضية" #. Description of the 'Currency' (Link) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Default display currency" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1391 +#: frappe/core/doctype/doctype/doctype.py:1405 msgid "Default for 'Check' type of field {0} must be either '0' or '1'" msgstr "يجب أن يكون الإعداد الافتراضي لنوع حقل "التحقق" {0} إما "0" أو "1"" -#: frappe/core/doctype/doctype/doctype.py:1404 +#: frappe/core/doctype/doctype/doctype.py:1418 msgid "Default value for {0} must be in the list of options." msgstr "يجب أن تكون القيمة الافتراضية لـ {0} في قائمة الخيارات." @@ -6784,28 +6845,28 @@ msgstr "الافتراضات" #: frappe/email/doctype/email_account/email_account.py:243 msgid "Defaults Updated" -msgstr "" +msgstr "تم تحديث الإعدادات الافتراضية" #. Description of a DocType #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Defines actions on states and the next step and allowed roles." -msgstr "" +msgstr "يحدد الإجراءات على الدول والخطوة التالية والأدوار المسموح بها." #. Description of the 'Delete Background Exported Reports After (Hours)' (Int) #. field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Defines how long exported reports sent via email are kept in the system. Older files will be automatically deleted." -msgstr "" +msgstr "يحدد هذا الخيار مدة الاحتفاظ بالتقارير المصدرة المرسلة عبر البريد الإلكتروني في النظام. سيتم حذف الملفات القديمة تلقائيًا." #. Description of a DocType #: frappe/workflow/doctype/workflow/workflow.json msgid "Defines workflow states and rules for a document." -msgstr "" +msgstr "يحدد حالات وقواعد سير العمل لمستند ما." #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json msgid "Delayed" -msgstr "" +msgstr "مؤجل" #. Label of the delete (Check) field in DocType 'Custom DocPerm' #. Label of the delete (Check) field in DocType 'DocPerm' @@ -6814,46 +6875,43 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_permission/user_permission_list.js:189 +#: frappe/core/page/permission_manager/permission_manager_help.html:46 #: frappe/public/js/frappe/form/footer/form_timeline.js:627 #: frappe/public/js/frappe/form/grid.js:66 #: frappe/public/js/frappe/form/grid_row_form.js:44 -#: frappe/public/js/frappe/form/toolbar.js:497 -#: frappe/public/js/frappe/views/reports/report_view.js:1753 +#: frappe/public/js/frappe/form/toolbar.js:500 +#: frappe/public/js/frappe/views/reports/report_view.js:1754 #: frappe/public/js/frappe/views/treeview.js:329 #: frappe/public/js/frappe/web_form/web_form_list.js:283 #: frappe/templates/discussions/reply_card.html:35 #: frappe/templates/discussions/reply_section.html:29 msgid "Delete" -msgstr "" +msgstr "حذف" -#: frappe/public/js/frappe/list/list_view.js:2251 +#: frappe/public/js/frappe/list/list_view.js:2259 msgctxt "Button in list view actions menu" msgid "Delete" -msgstr "" +msgstr "حذف" #: frappe/website/doctype/web_form/templates/web_form.html:52 msgctxt "Button in web form" msgid "Delete" -msgstr "" +msgstr "حذف" #: frappe/www/me.html:65 msgid "Delete Account" -msgstr "" - -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Delete All" -msgstr "" +msgstr "حذف الحساب" #. Label of the delete_background_exported_reports_after (Int) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Delete Background Exported Reports After (Hours)" -msgstr "" +msgstr "حذف التقارير المصدرة في الخلفية بعد (ساعات)" #: frappe/public/js/form_builder/components/Section.vue:196 msgctxt "Title of confirmation dialog" msgid "Delete Column" -msgstr "" +msgstr "حذف العمود" #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.js:10 msgid "Delete Data" @@ -6861,26 +6919,34 @@ msgstr "حذف البيانات" #: frappe/public/js/frappe/views/kanban/kanban_view.js:116 msgid "Delete Kanban Board" -msgstr "" +msgstr "حذف لوحة كانبان" #: frappe/public/js/form_builder/components/Section.vue:125 msgctxt "Title of confirmation dialog" msgid "Delete Section" -msgstr "" +msgstr "حذف القسم" #: frappe/public/js/form_builder/components/Tabs.vue:64 msgctxt "Title of confirmation dialog" msgid "Delete Tab" +msgstr "حذف علامة التبويب" + +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Delete all" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:947 +#: frappe/public/js/frappe/form/grid.js:367 +msgid "Delete all {0} rows" +msgstr "احذف جميع الصفوف {0}" + +#: frappe/public/js/frappe/views/reports/query_report.js:964 msgid "Delete and Generate New" -msgstr "" +msgstr "حذف وإنشاء جديد" #: frappe/public/js/form_builder/components/Section.vue:203 msgctxt "Button text" msgid "Delete column" -msgstr "" +msgstr "حذف العمود" #: frappe/public/js/frappe/form/footer/form_timeline.js:742 msgid "Delete comment?" @@ -6889,42 +6955,50 @@ msgstr "حذف التعليق؟" #: frappe/public/js/form_builder/components/Section.vue:205 msgctxt "Button text" msgid "Delete entire column with fields" -msgstr "" +msgstr "حذف العمود بأكمله مع الحقول" #: frappe/public/js/form_builder/components/Section.vue:134 msgctxt "Button text" msgid "Delete entire section with fields" -msgstr "" +msgstr "حذف القسم بأكمله مع الحقول" #: frappe/public/js/form_builder/components/Tabs.vue:73 msgctxt "Button text" msgid "Delete entire tab with fields" -msgstr "" +msgstr "حذف علامة التبويب بأكملها مع الحقول" + +#: frappe/public/js/frappe/form/grid.js:237 +msgid "Delete row" +msgstr "حذف الصف" #: frappe/public/js/form_builder/components/Section.vue:132 msgctxt "Button text" msgid "Delete section" -msgstr "" +msgstr "حذف القسم" #: frappe/public/js/form_builder/components/Tabs.vue:71 msgctxt "Button text" msgid "Delete tab" -msgstr "" +msgstr "حذف علامة التبويب" #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.py:29 msgid "Delete this record to allow sending to this email address" msgstr "احذف هذا السجل للسماح بالإرسال إلى عنوان البريد الإلكتروني هذا" -#: frappe/public/js/frappe/list/list_view.js:2256 +#: frappe/public/js/frappe/list/list_view.js:2264 msgctxt "Title of confirmation dialog" msgid "Delete {0} item permanently?" -msgstr "" +msgstr "هل تريد حذف العنصر {0} نهائياً؟" -#: frappe/public/js/frappe/list/list_view.js:2262 +#: frappe/public/js/frappe/list/list_view.js:2270 msgctxt "Title of confirmation dialog" msgid "Delete {0} items permanently?" msgstr "حذف {0} العناصر نهائيا؟" +#: frappe/public/js/frappe/form/grid.js:240 +msgid "Delete {0} rows" +msgstr "حذف {0} صفوف" + #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' @@ -6953,9 +7027,9 @@ msgstr "الاسم المحذوف" #: frappe/desk/reportview.py:644 msgid "Deleted all documents successfully" -msgstr "" +msgstr "تم حذف جميع المستندات بنجاح" -#: frappe/public/js/frappe/web_form/web_form.js:211 +#: frappe/public/js/frappe/web_form/web_form.js:207 msgid "Deleted!" msgstr "حذف!" @@ -6965,63 +7039,63 @@ msgstr "حذف {0}" #: frappe/public/js/frappe/list/bulk_operations.js:202 msgid "Deleting {0} records..." -msgstr "" +msgstr "حذف {0} سجلات..." #: frappe/public/js/frappe/model/model.js:692 msgid "Deleting {0}..." -msgstr "" +msgstr "حذف {0}..." #. Label of the deletion_steps (Table) field in DocType 'Personal Data Deletion #. Request' #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json msgid "Deletion Steps" -msgstr "" +msgstr "خطوات الحذف" #: frappe/core/doctype/page/page.py:110 #: frappe/core/doctype/permission_type/permission_type.py:104 #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.py:47 msgid "Deletion of this document is only permitted in developer mode." -msgstr "" +msgstr "لا يُسمح بحذف هذا المستند إلا في وضع المطور." #. Label of the delimiter_options (Data) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Delimiter Options" -msgstr "" +msgstr "خيارات الفاصل" #: frappe/utils/csvutils.py:76 msgid "Delimiter detection failed. Try to enable custom delimiters and adjust the delimiter options as per your data." -msgstr "" +msgstr "فشل اكتشاف الفواصل. حاول تفعيل الفواصل المخصصة وضبط خيارات الفواصل وفقًا لبياناتك." #: frappe/public/js/frappe/views/reports/report_utils.js:306 msgid "Delimiter must be a single character" -msgstr "" +msgstr "يجب أن يكون الفاصل حرفًا واحدًا" #. Label of the delivery_status (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json msgid "Delivery Status" -msgstr "" +msgstr "حالة التسليم" #. Option for the 'Sign ups' (Select) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json #: frappe/templates/includes/oauth_confirmation.html:17 msgid "Deny" -msgstr "" +msgstr "ينكر" #. Label of the department (Data) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json msgid "Department" -msgstr "" +msgstr "قسم" #. Label of the dependencies (Data) field in DocType 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/public/js/frappe/widgets/widget_dialog.js:323 #: frappe/www/attribution.html:29 msgid "Dependencies" -msgstr "" +msgstr "التبعيات" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Dependencies & Licenses" -msgstr "" +msgstr "التبعيات والتراخيص" #. Label of the depends_on (Code) field in DocType 'Custom Field' #. Label of the depends_on (Code) field in DocType 'Customize Form Field' @@ -7036,7 +7110,7 @@ msgstr "أحفاد من" #: frappe/public/js/frappe/ui/filters/filter.js:33 msgid "Descendants Of (inclusive)" -msgstr "" +msgstr "أحفاد (شاملة)" #. Label of the description (Small Text) field in DocType 'Assignment Rule' #. Label of the description (Small Text) field in DocType 'Reminder' @@ -7062,6 +7136,7 @@ msgstr "" #: frappe/automation/doctype/reminder/reminder.json #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/doctype/doctype.json +#: frappe/core/page/permission_manager/permission_manager_help.html:20 #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/event/event.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -7079,18 +7154,18 @@ msgstr "" #: frappe/website/doctype/website_slideshow_item/website_slideshow_item.json #: frappe/www/attribution.html:24 msgid "Description" -msgstr "" +msgstr "وصف" #. Description of the 'Description' (Section Break) field in DocType #. 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Description to inform the user about any action that is going to be performed" -msgstr "" +msgstr "وصف لإعلام المستخدم بأي إجراء سيتم تنفيذه" #. Label of the designation (Data) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json msgid "Designation" -msgstr "" +msgstr "تعيين" #. Label of the desk_access (Check) field in DocType 'Role' #: frappe/core/doctype/role/role.json @@ -7100,12 +7175,12 @@ msgstr "الوصول للمكتب" #. Label of the desk_settings_section (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Desk Settings" -msgstr "" +msgstr "إعدادات المكتب" #. Label of the desk_theme (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Desk Theme" -msgstr "" +msgstr "تصميم المكاتب" #. Name of a role #: frappe/automation/doctype/reminder/reminder.json @@ -7142,22 +7217,27 @@ msgstr "" #: frappe/workflow/doctype/workflow_action/workflow_action.json #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Desk User" -msgstr "" +msgstr "مستخدم المكتب" -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:21 #: frappe/www/me.html:86 msgid "Desktop" -msgstr "" +msgstr "سطح المكتب" #. Name of a DocType #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:571 msgid "Desktop Icon" msgstr "أيقونة سطح المكتب" +#. Name of a DocType +#: frappe/desk/doctype/desktop_layout/desktop_layout.json +msgid "Desktop Layout" +msgstr "تخطيط سطح المكتب" + #. Name of a DocType #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Desktop Settings" -msgstr "" +msgstr "إعدادات سطح المكتب" #. Label of the details_tab (Tab Break) field in DocType 'Module Def' #. Label of the details (Code) field in DocType 'Scheduled Job Log' @@ -7181,19 +7261,19 @@ msgstr "تفاصيل" #. Label of the use_csv_sniffer (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Detect CSV type" -msgstr "" +msgstr "الكشف عن نوع CSV" -#: frappe/core/page/permission_manager/permission_manager.js:544 +#: frappe/core/page/permission_manager/permission_manager.js:545 msgid "Did not add" msgstr "لم تضف" -#: frappe/core/page/permission_manager/permission_manager.js:438 +#: frappe/core/page/permission_manager/permission_manager.js:439 msgid "Did not remove" msgstr "لم تقم بإزالة" #: frappe/public/js/frappe/utils/diffview.js:57 msgid "Diff" -msgstr "" +msgstr "الفرق" #. Description of the 'States' (Section Break) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -7208,7 +7288,7 @@ msgstr "أرقام" #. Label of the ldap_directory_server (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Directory Server" -msgstr "" +msgstr "خادم الدليل" #. Label of the disable_auto_refresh (Check) field in DocType 'List View #. Settings' @@ -7220,19 +7300,19 @@ msgstr "تعطيل التحديث التلقائي" #. 'List View Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "Disable Automatic Recency Filters" -msgstr "" +msgstr "تعطيل فلاتر الحداثة التلقائية" #. Label of the disable_change_log_notification (Check) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Disable Change Log Notification" -msgstr "" +msgstr "تعطيل إشعار سجل التغييرات" #. Label of the disable_comment_count (Check) field in DocType 'List View #. Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "Disable Comment Count" -msgstr "" +msgstr "تعطيل عداد التعليقات" #. Label of the disable_count (Check) field in DocType 'List View Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json @@ -7243,13 +7323,13 @@ msgstr "تعطيل العد" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Disable Document Sharing" -msgstr "" +msgstr "تعطيل مشاركة المستندات" #. Label of the disable_product_suggestion (Check) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Disable Product Suggestion" -msgstr "" +msgstr "تعطيل اقتراحات المنتجات" #: frappe/core/doctype/report/report.js:39 msgid "Disable Report" @@ -7263,7 +7343,7 @@ msgstr "تعطيل مصادقة خادم SMTP" #. Label of the disable_scrolling (Check) field in DocType 'List View Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "Disable Scrolling" -msgstr "" +msgstr "تعطيل التمرير" #. Label of the disable_sidebar_stats (Check) field in DocType 'List View #. Settings' @@ -7285,18 +7365,18 @@ msgstr "تعطيل تذييل البريد الإلكتروني الافتراض #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Disable System Update Notification" -msgstr "" +msgstr "تعطيل إشعار تحديث النظام" #. Label of the disable_user_pass_login (Check) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Disable Username/Password Login" -msgstr "" +msgstr "تعطيل تسجيل الدخول باستخدام اسم المستخدم/كلمة المرور" #. Label of the disable_signup (Check) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Disable signups" -msgstr "" +msgstr "تعطيل عمليات التسجيل" #. Label of the disabled (Check) field in DocType 'Assignment Rule' #. Label of the disabled (Check) field in DocType 'Auto Repeat' @@ -7329,16 +7409,17 @@ msgstr "" #: frappe/website/doctype/about_us_settings/about_us_settings.json #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Disabled" -msgstr "" +msgstr "معطل" #: frappe/email/doctype/email_account/email_account.js:300 msgid "Disabled Auto Reply" msgstr "الرد التلقائي معطل" -#: frappe/public/js/frappe/form/toolbar.js:371 +#: frappe/desk/page/desktop/desktop.html:62 +#: frappe/public/js/frappe/form/toolbar.js:392 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:71 -#: frappe/public/js/frappe/views/workspace/workspace.js:365 -#: frappe/public/js/frappe/web_form/web_form.js:193 +#: frappe/public/js/frappe/views/workspace/workspace.js:413 +#: frappe/public/js/frappe/web_form/web_form.js:189 msgid "Discard" msgstr "تجاهل" @@ -7352,32 +7433,32 @@ msgctxt "Discard Email" msgid "Discard" msgstr "تجاهل" -#: frappe/public/js/frappe/form/form.js:851 +#: frappe/public/js/frappe/form/form.js:880 msgid "Discard {0}" -msgstr "" +msgstr "تجاهل {0}" -#: frappe/public/js/frappe/web_form/web_form.js:190 +#: frappe/public/js/frappe/web_form/web_form.js:186 msgid "Discard?" -msgstr "" +msgstr "تجاهل?" #: frappe/desk/form/save.py:75 msgid "Discarded" -msgstr "" +msgstr "تم التخلص منه" #. Description of the 'Suggested Indexes' (Table) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "Disclaimer: These indexes are suggested based on data and queries performed during this recording. These suggestions may or may not help." -msgstr "" +msgstr "تنويه: هذه الفهارس مُقترحة بناءً على البيانات والاستعلامات التي تم إجراؤها أثناء هذا التسجيل. قد تُفيد هذه الاقتراحات أو لا تُفيد." #. Name of a DocType #: frappe/website/doctype/discussion_reply/discussion_reply.json msgid "Discussion Reply" -msgstr "" +msgstr "ردود المناقشة" #. Name of a DocType #: frappe/website/doctype/discussion_topic/discussion_topic.json msgid "Discussion Topic" -msgstr "" +msgstr "موضوع النقاش" #: frappe/public/js/frappe/form/footer/form_timeline.js:639 #: frappe/templates/discussions/reply_card.html:16 @@ -7413,36 +7494,36 @@ msgstr "العرض يعتمد على" #: frappe/core/doctype/docfield/docfield.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Display Depends On (JS)" -msgstr "" +msgstr "يعتمد العرض على (JS)" #: frappe/public/js/print_format_builder/PrintFormatControls.vue:180 msgid "Divider" -msgstr "" +msgstr "فاصل" #. Label of the do_not_create_new_user (Check) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Do Not Create New User" -msgstr "" +msgstr "لا تقم بإنشاء مستخدم جديد" #. Description of the 'Do Not Create New User' (Check) field in DocType 'LDAP #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Do not create new user if user with email does not exist in the system" -msgstr "" +msgstr "لا تقم بإنشاء مستخدم جديد إذا لم يكن المستخدم الذي لديه بريد إلكتروني موجودًا في النظام" -#: frappe/public/js/frappe/form/grid.js:1216 +#: frappe/public/js/frappe/form/grid.js:1253 msgid "Do not edit headers which are preset in the template" msgstr "لا تقم بتحرير الرؤوس التي يتم ضبطها مسبقا في القالب" -#: frappe/public/js/frappe/router.js:624 +#: frappe/public/js/frappe/router.js:629 msgid "Do not warn me again about {0}" -msgstr "" +msgstr "لا تحذرني مرة أخرى بشأن {0}" #: frappe/core/doctype/system_settings/system_settings.js:71 msgid "Do you still want to proceed?" -msgstr "" +msgstr "هل ما زلت ترغب في المتابعة؟" -#: frappe/public/js/frappe/form/form.js:961 +#: frappe/public/js/frappe/form/form.js:990 msgid "Do you want to cancel all linked documents?" msgstr "هل تريد إلغاء جميع الوثائق المرتبطة؟" @@ -7466,17 +7547,17 @@ msgstr "حالة الوثيقة" #: frappe/core/doctype/docfield/docfield.json #: frappe/custom/doctype/property_setter/property_setter.json msgid "DocField" -msgstr "" +msgstr "DocField" #. Name of a DocType #: frappe/core/doctype/docperm/docperm.json msgid "DocPerm" -msgstr "" +msgstr "DocPerm" #. Name of a DocType #: frappe/core/doctype/docshare/docshare.json msgid "DocShare" -msgstr "" +msgstr "DocShare" #: frappe/workflow/doctype/workflow/workflow.js:264 msgid "DocStatus of the following states have changed:
{0}
\n" @@ -7497,7 +7578,6 @@ msgstr "" #. Label of the dt (Link) field in DocType 'Custom Field' #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' #. Label of the doc_type (Link) field in DocType 'Property Setter' -#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Option for the 'Link Type' (Select) field in DocType 'Workspace' #. Option for the 'Link Type' (Select) field in DocType 'Workspace Link' #. Label of the document_type (Link) field in DocType 'Workspace Quick List' @@ -7520,7 +7600,6 @@ msgstr "" #: frappe/custom/doctype/client_script/client_script.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/property_setter/property_setter.json -#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_quick_list/workspace_quick_list.json @@ -7531,11 +7610,11 @@ msgstr "" #: frappe/public/js/frappe/widgets/widget_dialog.js:164 #: frappe/website/doctype/website_slideshow/website_slideshow.js:18 msgid "DocType" -msgstr "" +msgstr "نوع المستند" -#: frappe/core/doctype/doctype/doctype.py:1592 +#: frappe/core/doctype/doctype/doctype.py:1606 msgid "DocType {0} provided for the field {1} must have atleast one Link field" -msgstr "يجب أن يحتوي DocType {0} المتوفر للحقل {1} على حقل ارتباط واحد على الأقل" +msgstr "" #. Name of a DocType #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' @@ -7553,12 +7632,12 @@ msgstr "حدث DocType" #. Name of a DocType #: frappe/custom/doctype/doctype_layout/doctype_layout.json msgid "DocType Layout" -msgstr "" +msgstr "تخطيط نوع المستند" #. Name of a DocType #: frappe/custom/doctype/doctype_layout_field/doctype_layout_field.json msgid "DocType Layout Field" -msgstr "" +msgstr "حقل تخطيط نوع المستند" #. Name of a DocType #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' @@ -7569,14 +7648,14 @@ msgstr "رابط نوع الوثيقة" #: frappe/public/js/form_builder/components/Field.vue:159 msgid "DocType Missing" -msgstr "" +msgstr "نوع المستند مفقود" #. Name of a DocType #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/custom/doctype/property_setter/property_setter.json msgid "DocType State" -msgstr "" +msgstr "حالة نوع المستند" #. Label of the doc_view (Select) field in DocType 'Workspace Shortcut' #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json @@ -7595,23 +7674,19 @@ msgstr "DOCTYPE لا يمكن تسميتها من قبل المسؤول" #. Description of a DocType #: frappe/core/doctype/doctype/doctype.json msgid "DocType is a Table / Form in the application." -msgstr "" +msgstr "DocType هو جدول / نموذج في التطبيق." #: frappe/integrations/doctype/webhook/webhook.py:83 msgid "DocType must be Submittable for the selected Doc Event" msgstr "يجب تقديم دوكتيب للحدث دوك المحدد" -#: frappe/client.py:406 -msgid "DocType must be a string" -msgstr "" - #: frappe/public/js/form_builder/store.js:154 msgid "DocType must have atleast one field" -msgstr "" +msgstr "يجب أن يحتوي نوع المستند على حقل واحد على الأقل" #: frappe/core/doctype/log_settings/log_settings.py:57 msgid "DocType not supported by Log Settings." -msgstr "" +msgstr "نوع المستند غير مدعوم من قبل إعدادات السجل." #. Description of the 'Document Type' (Link) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -7620,33 +7695,33 @@ msgstr "DOCTYPE على سير العمل هذا الذي ينطبق." #: frappe/public/js/frappe/views/kanban/kanban_settings.js:4 msgid "DocType required" -msgstr "" +msgstr "نوع المستند مطلوب" -#: frappe/modules/utils.py:178 +#: frappe/modules/utils.py:218 msgid "DocType {0} does not exist." -msgstr "" +msgstr "نوع المستند {0} غير موجود." -#: frappe/modules/utils.py:245 +#: frappe/modules/utils.py:288 msgid "DocType {} not found" -msgstr "" +msgstr "لم يتم العثور على نوع المستند {}" -#: frappe/core/doctype/doctype/doctype.py:1043 +#: frappe/core/doctype/doctype/doctype.py:1046 msgid "DocType's name should not start or end with whitespace" msgstr "يجب ألا يبدأ اسم DocType أو ينتهي بمسافة" #: frappe/core/doctype/doctype/doctype.js:67 msgid "DocTypes cannot be modified, please use {0} instead" -msgstr "" +msgstr "لا يمكن تعديل أنواع المستندات، يرجى استخدام {0} بدلاً من ذلك" #. Label of the ref_doctype (Link) field in DocType 'Document Follow' #: frappe/email/doctype/document_follow/document_follow.json #: frappe/public/js/frappe/widgets/widget_dialog.js:682 msgid "Doctype" -msgstr "" +msgstr "DOCTYPE" -#: frappe/core/doctype/doctype/doctype.py:1037 +#: frappe/core/doctype/doctype/doctype.py:1040 msgid "Doctype name is limited to {0} characters ({1})" -msgstr "" +msgstr "يقتصر اسم نوع المستند على {0} حرفًا ({1})" #: frappe/public/js/frappe/list/bulk_operations.js:3 msgid "Doctype required" @@ -7696,7 +7771,7 @@ msgstr "رابط المستند" #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Document Linking" -msgstr "" +msgstr "ربط المستندات" #. Label of the links (Table) field in DocType 'DocType' #. Label of the document_links_section (Section Break) field in DocType @@ -7706,21 +7781,21 @@ msgstr "" msgid "Document Links" msgstr "روابط الوثيقة" -#: frappe/core/doctype/doctype/doctype.py:1226 +#: frappe/core/doctype/doctype/doctype.py:1229 msgid "Document Links Row #{0}: Could not find field {1} in {2} DocType" -msgstr "" +msgstr "صف روابط المستندات #{0}: تعذر العثور على الحقل {1} في نوع المستند {2}" -#: frappe/core/doctype/doctype/doctype.py:1246 +#: frappe/core/doctype/doctype/doctype.py:1249 msgid "Document Links Row #{0}: Invalid doctype or fieldname." -msgstr "" +msgstr "صف روابط المستندات #{0}: نوع المستند أو اسم الحقل غير صالح." -#: frappe/core/doctype/doctype/doctype.py:1209 +#: frappe/core/doctype/doctype/doctype.py:1212 msgid "Document Links Row #{0}: Parent DocType is mandatory for internal links" -msgstr "" +msgstr "صف روابط المستندات #{0}: نوع المستند الرئيسي إلزامي للروابط الداخلية" -#: frappe/core/doctype/doctype/doctype.py:1215 +#: frappe/core/doctype/doctype/doctype.py:1218 msgid "Document Links Row #{0}: Table Fieldname is mandatory for internal links" -msgstr "" +msgstr "صف روابط المستندات #{0}: اسم حقل الجدول إلزامي للروابط الداخلية" #. Label of the reminder_docname (Dynamic Link) field in DocType 'Reminder' #. Label of the share_name (Dynamic Link) field in DocType 'DocShare' @@ -7735,11 +7810,11 @@ msgstr "" #: frappe/email/doctype/document_follow/document_follow.json #: frappe/public/js/frappe/form/form_tour.js:62 msgid "Document Name" -msgstr "" +msgstr "اسم المستند" -#: frappe/client.py:409 -msgid "Document Name must be a string" -msgstr "" +#: frappe/client.py:420 +msgid "Document Name must not be empty" +msgstr "يجب ألا يكون اسم المستند فارغًا" #. Name of a DocType #: frappe/core/doctype/document_naming_rule/document_naming_rule.json @@ -7754,9 +7829,9 @@ msgstr "شرط قاعدة تسمية المستند" #. Name of a DocType #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Document Naming Settings" -msgstr "" +msgstr "إعدادات تسمية المستندات" -#: frappe/model/document.py:512 +#: frappe/model/document.py:511 msgid "Document Queued" msgstr "المستند في قائمة الانتظار" @@ -7773,7 +7848,7 @@ msgstr "تمت استعادة المستند" #: frappe/public/js/frappe/widgets/onboarding_widget.js:415 #: frappe/public/js/frappe/widgets/onboarding_widget.js:434 msgid "Document Saved" -msgstr "" +msgstr "تم حفظ المستند" #. Label of the enable_email_share (Check) field in DocType 'Notification #. Settings' @@ -7784,13 +7859,13 @@ msgstr "مشاركة المستند" #. Name of a DocType #: frappe/core/doctype/document_share_key/document_share_key.json msgid "Document Share Key" -msgstr "" +msgstr "مفتاح مشاركة المستندات" #. Label of the document_share_key_expiry (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Document Share Key Expiry (in Days)" -msgstr "" +msgstr "تاريخ انتهاء صلاحية مفتاح مشاركة المستند (بالأيام)" #. Name of a report #. Label of a Link in the Users Workspace @@ -7860,7 +7935,7 @@ msgstr "عنوان المستند" #: frappe/core/doctype/user_select_document_type/user_select_document_type.json #: frappe/core/page/permission_manager/permission_manager.js:49 #: frappe/core/page/permission_manager/permission_manager.js:218 -#: frappe/core/page/permission_manager/permission_manager.js:499 +#: frappe/core/page/permission_manager/permission_manager.js:500 #: frappe/custom/doctype/doctype_layout/doctype_layout.json #: frappe/desk/doctype/bulk_update/bulk_update.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -7874,17 +7949,17 @@ msgstr "عنوان المستند" #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json #: frappe/workflow/doctype/workflow/workflow.json msgid "Document Type" -msgstr "" +msgstr "نوع الوثيقة" #: frappe/desk/doctype/number_card/number_card.py:60 msgid "Document Type and Function are required to create a number card" -msgstr "" +msgstr "يلزم تحديد نوع المستند ووظيفته لإنشاء بطاقة رقمية" -#: frappe/permissions.py:152 +#: frappe/permissions.py:158 msgid "Document Type is not importable" msgstr "نوع المستند غير قابل للاستيراد" -#: frappe/permissions.py:148 +#: frappe/permissions.py:154 msgid "Document Type is not submittable" msgstr "نوع المستند غير قابل للتقديم" @@ -7905,53 +7980,53 @@ msgstr "أنواع المستندات" #. Label of the select_doctypes (Table) field in DocType 'User Type' #: frappe/core/doctype/user_type/user_type.json msgid "Document Types (Select Permissions Only)" -msgstr "" +msgstr "أنواع المستندات (تحديد الأذونات فقط)" #. Label of the section_break_2 (Section Break) field in DocType 'User Type' #: frappe/core/doctype/user_type/user_type.json msgid "Document Types and Permissions" -msgstr "" +msgstr "أنواع المستندات والصلاحيات" #: frappe/core/doctype/submission_queue/submission_queue.py:163 -#: frappe/model/document.py:2012 +#: frappe/model/document.py:2011 msgid "Document Unlocked" -msgstr "" +msgstr "تم فتح المستند" -#: frappe/database/query.py:541 +#: frappe/database/query.py:554 msgid "Document cannot be used as a filter value" -msgstr "" +msgstr "لا يمكن استخدام المستند كقيمة تصفية" #: frappe/desk/form/document_follow.py:56 msgid "Document follow is not enabled for this user." -msgstr "" +msgstr "خاصية متابعة المستندات غير مفعلة لهذا المستخدم." -#: frappe/public/js/frappe/list/list_view.js:1310 +#: frappe/public/js/frappe/list/list_view.js:1318 msgid "Document has been cancelled" -msgstr "" +msgstr "تم إلغاء المستند" -#: frappe/public/js/frappe/list/list_view.js:1309 +#: frappe/public/js/frappe/list/list_view.js:1317 msgid "Document has been submitted" -msgstr "" +msgstr "تم تقديم المستند" -#: frappe/public/js/frappe/list/list_view.js:1308 +#: frappe/public/js/frappe/list/list_view.js:1316 msgid "Document is in draft state" -msgstr "" +msgstr "المستند في حالة مسودة" #: frappe/public/js/frappe/form/workflow.js:45 msgid "Document is only editable by users with role" -msgstr "" +msgstr "لا يمكن تعديل المستند إلا من قبل المستخدمين الذين لديهم الدور المطلوب." #: frappe/core/doctype/communication/communication.js:182 msgid "Document not Relinked" -msgstr "" +msgstr "لم يتم إعادة ربط المستند" -#: frappe/model/rename_doc.py:229 frappe/public/js/frappe/form/toolbar.js:166 +#: frappe/model/rename_doc.py:229 frappe/public/js/frappe/form/toolbar.js:165 msgid "Document renamed from {0} to {1}" msgstr "تمت إعادة تسمية المستند من {0} إلى {1}" -#: frappe/public/js/frappe/form/toolbar.js:175 +#: frappe/public/js/frappe/form/toolbar.js:174 msgid "Document renaming from {0} to {1} has been queued" -msgstr "" +msgstr "تمت إضافة عملية إعادة تسمية المستند من {0} إلى {1} إلى قائمة الانتظار." #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:397 msgid "Document type is required to create a dashboard chart" @@ -7965,10 +8040,6 @@ msgstr "تمت استعادة المستند {0} بالفعل" msgid "Document {0} has been set to state {1} by {2}" msgstr "تم تعيين المستند {0} على الحالة {1} بواسطة {2}" -#: frappe/client.py:433 -msgid "Document {0} {1} does not exist" -msgstr "" - #. Label of the documentation (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Documentation Link" @@ -7983,7 +8054,7 @@ msgstr "URL التوثيق" #: frappe/public/js/frappe/form/templates/form_dashboard.html:17 msgid "Documents" -msgstr "" +msgstr "وثائق" #: frappe/core/doctype/deleted_document/deleted_document_list.js:25 msgid "Documents restored successfully" @@ -8010,12 +8081,12 @@ msgstr "شبكة النطاق" #. Label of the domain_name (Data) field in DocType 'Email Domain' #: frappe/email/doctype/email_domain/email_domain.json msgid "Domain Name" -msgstr "" +msgstr "اسم النطاق" #. Name of a DocType #: frappe/core/doctype/domain_settings/domain_settings.json msgid "Domain Settings" -msgstr "" +msgstr "إعدادات النطاق" #. Label of the domains_html (HTML) field in DocType 'Domain Settings' #: frappe/core/doctype/domain_settings/domain_settings.json @@ -8051,12 +8122,12 @@ msgstr "لا ترسل رسائل البريد الإلكتروني" #: frappe/core/doctype/docfield/docfield.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Don't encode HTML tags like <script> or just characters like < or >, as they could be intentionally used in this field" -msgstr "" +msgstr "لا تقم بتشفير وسوم HTML مثل <script> أو مجرد أحرف مثل < أو >، لأنها قد تُستخدم عمدًا في هذا المجال." #: frappe/www/login.html:139 frappe/www/login.html:155 #: frappe/www/update-password.html:70 msgid "Don't have an account?" -msgstr "" +msgstr "ليس لديك حساب؟" #: frappe/public/js/frappe/form/form_tour.js:16 #: frappe/public/js/frappe/ui/messages.js:238 @@ -8064,7 +8135,7 @@ msgstr "" #: frappe/public/js/print_format_builder/HTMLEditor.vue:5 #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:52 msgid "Done" -msgstr "" +msgstr "مُنجز" #. Option for the 'Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -8073,22 +8144,22 @@ msgstr "الدونات" #: frappe/public/js/form_builder/components/EditableInput.vue:43 msgid "Double click to edit label" -msgstr "" +msgstr "انقر نقراً مزدوجاً لتحرير التسمية" #: frappe/core/doctype/file/file.js:15 frappe/core/doctype/user/user.js:481 #: frappe/email/doctype/auto_email_report/auto_email_report.js:8 #: frappe/public/js/frappe/form/grid.js:66 msgid "Download" -msgstr "" +msgstr "تحميل" #: frappe/public/js/frappe/views/reports/report_utils.js:247 msgctxt "Export report" msgid "Download" -msgstr "" +msgstr "تحميل" #: frappe/desk/page/backups/backups.js:4 msgid "Download Backups" -msgstr "" +msgstr "تحميل النسخ الاحتياطية" #: frappe/templates/emails/download_data.html:6 msgid "Download Data" @@ -8104,16 +8175,16 @@ msgstr "رابط التحميل" #: frappe/public/js/frappe/list/bulk_operations.js:134 msgid "Download PDF" -msgstr "" +msgstr "تحميل PDF" -#: frappe/public/js/frappe/views/reports/query_report.js:843 +#: frappe/public/js/frappe/views/reports/query_report.js:860 msgid "Download Report" msgstr "تحميل التقرير" #. Label of the download_template (Button) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Download Template" -msgstr "" +msgstr "تحميل الوثيقة" #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.py:61 #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.py:69 @@ -8123,15 +8194,15 @@ msgstr "قم بتنزيل بياناتك" #: frappe/core/doctype/prepared_report/prepared_report.js:49 msgid "Download as CSV" -msgstr "" +msgstr "قم بالتنزيل كملف CSV" #: frappe/contacts/doctype/contact/contact.js:98 msgid "Download vCard" -msgstr "" +msgstr "تنزيل بطاقة vCard" #: frappe/contacts/doctype/contact/contact_list.js:4 msgid "Download vCards" -msgstr "" +msgstr "تنزيل بطاقات vCard" #: frappe/desk/page/setup_wizard/install_fixtures.py:46 msgid "Dr" @@ -8140,38 +8211,38 @@ msgstr "" #: frappe/public/js/frappe/model/indicator.js:73 #: frappe/public/js/frappe/ui/filters/filter.js:537 msgid "Draft" -msgstr "" +msgstr "مشروع" #: frappe/public/js/frappe/views/workspace/blocks/header.js:46 #: frappe/public/js/frappe/views/workspace/blocks/paragraph.js:136 #: frappe/public/js/frappe/views/workspace/blocks/spacer.js:44 #: frappe/public/js/frappe/widgets/base_widget.js:33 msgid "Drag" -msgstr "" +msgstr "يجر" #: frappe/public/js/form_builder/components/Tabs.vue:189 msgid "Drag & Drop a section here from another tab" -msgstr "" +msgstr "اسحب وأفلت قسمًا هنا من علامة تبويب أخرى" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:14 msgid "Drag and drop files here or upload from" -msgstr "" +msgstr "اسحب الملفات وأفلتها هنا أو قم بتحميلها من" #: frappe/public/js/print_format_builder/ConfigureColumns.vue:76 msgid "Drag columns to set order. Column width is set in percentage. The total width should not be more than 100. Columns marked in red will be removed." -msgstr "" +msgstr "اسحب الأعمدة لترتيبها. يتم تحديد عرض العمود كنسبة مئوية. يجب ألا يتجاوز العرض الإجمالي 100. سيتم حذف الأعمدة المميزة باللون الأحمر." #: frappe/printing/page/print_format_builder/print_format_builder_layout.html:3 msgid "Drag elements from the sidebar to add. Drag them back to trash." -msgstr "" +msgstr "اسحب العناصر من الشريط الجانبي لإضافتها. اسحبها مرة أخرى إلى سلة المهملات." #: frappe/public/js/workflow_builder/WorkflowBuilder.vue:296 msgid "Drag to add state" -msgstr "" +msgstr "اسحب لإضافة حالة" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:189 msgid "Drop files here" -msgstr "" +msgstr "قم بإسقاط الملفات هنا" #. Label of the section_break_2 (Section Break) field in DocType 'Navbar #. Settings' @@ -8182,7 +8253,7 @@ msgstr "هبوط قطرة" #. Label of the date (Date) field in DocType 'ToDo' #: frappe/desk/doctype/todo/todo.json msgid "Due Date" -msgstr "" +msgstr "بسبب تاريخ" #. Label of the due_date_based_on (Select) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -8190,33 +8261,41 @@ msgid "Due Date Based On" msgstr "تاريخ الاستحقاق بناء على" #: frappe/public/js/frappe/form/grid_row_form.js:44 -#: frappe/public/js/frappe/form/toolbar.js:455 +#: frappe/public/js/frappe/form/toolbar.js:445 msgid "Duplicate" -msgstr "" +msgstr "مكررة" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.py:53 msgid "Duplicate Entry" -msgstr "" +msgstr "إدخال مكرر" -#: frappe/public/js/frappe/list/list_filter.js:120 +#: frappe/public/js/frappe/list/list_filter.js:137 msgid "Duplicate Filter Name" msgstr "تكرار اسم الفلتر" -#: frappe/model/base_document.py:764 frappe/model/rename_doc.py:111 +#: frappe/model/base_document.py:769 frappe/model/rename_doc.py:111 msgid "Duplicate Name" msgstr "اسم مكرر" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Duplicate Row" -msgstr "" - -#: frappe/public/js/frappe/form/form.js:210 +#: frappe/public/js/frappe/form/form.js:211 msgid "Duplicate current row" -msgstr "" +msgstr "كرر الصف الحالي" #: frappe/public/js/form_builder/components/Field.vue:250 msgid "Duplicate field" -msgstr "" +msgstr "حقل مكرر" + +#: frappe/public/js/frappe/form/grid.js:238 +msgid "Duplicate row" +msgstr "صف مكرر" + +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Duplicate rows" +msgstr "صفوف مكررة" + +#: frappe/public/js/frappe/form/grid.js:241 +msgid "Duplicate {0} rows" +msgstr "صفوف مكررة {0}" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the duration (Float) field in DocType 'Recorder' @@ -8233,12 +8312,12 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Duration" -msgstr "" +msgstr "المدة الزمنية" #. Option for the 'Row Format' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Dynamic" -msgstr "" +msgstr "متحرك" #. Label of the dynamic_filters_section (Section Break) field in DocType #. 'Dashboard Chart' @@ -8292,7 +8371,7 @@ msgstr "قالب ديناميكي" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "ESC" -msgstr "" +msgstr "خروج" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -8305,9 +8384,10 @@ msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:678 #: frappe/public/js/frappe/form/templates/address_list.html:13 #: frappe/public/js/frappe/form/templates/contact_list.html:13 -#: frappe/public/js/frappe/form/toolbar.js:781 -#: frappe/public/js/frappe/views/reports/query_report.js:891 -#: frappe/public/js/frappe/views/reports/query_report.js:1813 +#: frappe/public/js/frappe/form/toolbar.js:214 +#: frappe/public/js/frappe/form/toolbar.js:784 +#: frappe/public/js/frappe/views/reports/query_report.js:908 +#: frappe/public/js/frappe/views/reports/query_report.js:1863 #: frappe/public/js/frappe/widgets/base_widget.js:64 #: frappe/public/js/frappe/widgets/chart_widget.js:299 #: frappe/public/js/frappe/widgets/number_card_widget.js:359 @@ -8316,26 +8396,26 @@ msgstr "" #: frappe/workflow/page/workflow_builder/workflow_builder.js:46 #: frappe/workflow/page/workflow_builder/workflow_builder.js:84 msgid "Edit" -msgstr "" +msgstr "تصحيح" -#: frappe/public/js/frappe/list/list_view.js:2337 +#: frappe/public/js/frappe/list/list_view.js:2345 msgctxt "Button in list view actions menu" msgid "Edit" -msgstr "" +msgstr "تصحيح" #: frappe/website/doctype/web_form/templates/web_form.html:23 msgctxt "Button in web form" msgid "Edit" -msgstr "" +msgstr "تصحيح" -#: frappe/public/js/frappe/form/grid_row.js:350 +#: frappe/public/js/frappe/form/grid_row.js:352 msgctxt "Edit grid row" msgid "Edit" -msgstr "" +msgstr "تصحيح" #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:66 msgid "Edit Address in Form" -msgstr "" +msgstr "تعديل العنوان في النموذج" #: frappe/templates/emails/auto_email_report.html:63 msgid "Edit Auto Email Report Settings" @@ -8343,21 +8423,21 @@ msgstr "تحرير إعدادات تقرير البريد الإلكتروني #: frappe/public/js/frappe/widgets/widget_dialog.js:38 msgid "Edit Chart" -msgstr "" +msgstr "تعديل المخطط البياني" #: frappe/public/js/frappe/widgets/widget_dialog.js:50 msgid "Edit Custom Block" -msgstr "" +msgstr "تعديل الكتلة المخصصة" -#: frappe/printing/page/print_format_builder/print_format_builder.js:727 +#: frappe/printing/page/print_format_builder/print_format_builder.js:761 msgid "Edit Custom HTML" msgstr "تحرير مخصص HTML" -#: frappe/public/js/frappe/form/toolbar.js:652 +#: frappe/public/js/frappe/form/toolbar.js:655 msgid "Edit DocType" msgstr "تعديل القائمة" -#: frappe/public/js/frappe/list/list_view.js:1969 +#: frappe/public/js/frappe/list/list_view.js:1977 msgctxt "Button in list view menu" msgid "Edit DocType" msgstr "تعديل القائمة" @@ -8365,37 +8445,37 @@ msgstr "تعديل القائمة" #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:42 #: frappe/workflow/page/workflow_builder/workflow_builder.js:42 msgid "Edit Existing" -msgstr "" +msgstr "تعديل موجود" #: frappe/public/js/frappe/list/list_sidebar_group_by.js:21 msgid "Edit Filters" -msgstr "" +msgstr "تعديل عامل التصفية" -#: frappe/public/js/frappe/list/list_view.js:1976 +#: frappe/public/js/frappe/list/list_view.js:1984 msgctxt "Edit filters of List View" msgid "Edit Filters" -msgstr "" +msgstr "تعديل عامل التصفية" #: frappe/public/js/print_format_builder/PrintFormat.vue:29 msgid "Edit Footer" -msgstr "" +msgstr "تعديل التذييل" #: frappe/printing/doctype/print_format/print_format.js:29 msgid "Edit Format" msgstr "تحرير تنسيق" -#: frappe/public/js/frappe/form/quick_entry.js:326 +#: frappe/public/js/frappe/form/quick_entry.js:373 msgid "Edit Full Form" -msgstr "" +msgstr "تعديل النموذج الكامل" #: frappe/printing/page/print_format_builder/print_format_builder_field.html:27 #: frappe/public/js/print_format_builder/Field.vue:83 msgid "Edit HTML" -msgstr "" +msgstr "تعديل HTML" #: frappe/public/js/print_format_builder/PrintFormat.vue:9 msgid "Edit Header" -msgstr "" +msgstr "تعديل رأس الصفحة" #: frappe/printing/page/print_format_builder/print_format_builder.js:609 #: frappe/printing/page/print_format_builder/print_format_builder_layout.html:8 @@ -8404,27 +8484,27 @@ msgstr "تحرير العنوان" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:52 msgid "Edit Letter Head" -msgstr "" +msgstr "تعديل رأس الرسالة" #: frappe/public/js/print_format_builder/PrintFormat.vue:35 msgid "Edit Letter Head Footer" -msgstr "" +msgstr "تعديل ترويسة وتذييل الرسالة" #: frappe/public/js/frappe/widgets/widget_dialog.js:42 msgid "Edit Links" -msgstr "" +msgstr "تعديل الروابط" #: frappe/public/js/frappe/widgets/widget_dialog.js:44 msgid "Edit Number Card" -msgstr "" +msgstr "بطاقة رقم التعديل" #: frappe/public/js/frappe/widgets/widget_dialog.js:46 msgid "Edit Onboarding" -msgstr "" +msgstr "تعديل عملية الإعداد" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:24 msgid "Edit Print Format" -msgstr "" +msgstr "تعديل تنسيق الطباعة" #: frappe/www/me.html:38 msgid "Edit Profile" @@ -8436,15 +8516,15 @@ msgstr "تحرير خصائص" #: frappe/public/js/frappe/widgets/widget_dialog.js:48 msgid "Edit Quick List" -msgstr "" +msgstr "تعديل القائمة السريعة" #: frappe/public/js/frappe/widgets/widget_dialog.js:40 msgid "Edit Shortcut" -msgstr "" +msgstr "تحرير الاختصار" -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:29 +#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:21 msgid "Edit Sidebar" -msgstr "" +msgstr "تعديل الشريط الجانبي" #. Label of the edit_values (Button) field in DocType 'Web Page Block' #. Label of the edit_navbar_template_values (Button) field in DocType 'Website @@ -8459,24 +8539,24 @@ msgstr "تحرير القيم" #: frappe/desk/doctype/note/note.js:11 msgid "Edit mode" -msgstr "" +msgstr "وضع التحرير" #: frappe/public/js/form_builder/components/Field.vue:259 msgid "Edit the {0} Doctype" -msgstr "" +msgstr "قم بتحرير نوع المستند {0}" -#: frappe/printing/page/print_format_builder/print_format_builder.js:721 +#: frappe/printing/page/print_format_builder/print_format_builder.js:755 msgid "Edit to add content" msgstr "تعديل لإضافة محتوى" -#: frappe/public/js/frappe/web_form/web_form.js:470 +#: frappe/public/js/frappe/web_form/web_form.js:466 msgctxt "Button in web form" msgid "Edit your response" -msgstr "" +msgstr "عدّل ردك" #: frappe/workflow/doctype/workflow/workflow.js:18 msgid "Edit your workflow visually using the Workflow Builder." -msgstr "" +msgstr "قم بتعديل سير عملك بشكل مرئي باستخدام أداة إنشاء سير العمل." #: frappe/public/js/frappe/views/reports/report_view.js:677 #: frappe/public/js/frappe/widgets/widget_dialog.js:52 @@ -8493,12 +8573,12 @@ msgstr "قابلة للتعديل Grid" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Editing Row" -msgstr "" +msgstr "صف التحرير" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:14 #: frappe/public/js/workflow_builder/workflow_builder.bundle.js:20 msgid "Editing {0}" -msgstr "" +msgstr "تعديل {0}" #. Description of the 'SMS Gateway URL' (Small Text) field in DocType 'SMS #. Settings' @@ -8508,12 +8588,12 @@ msgstr "على سبيل المثال، smsgateway.com / API / send_sms.cgi" #: frappe/rate_limiter.py:152 msgid "Either key or IP flag is required." -msgstr "" +msgstr "إما المفتاح أو علامة IP مطلوبة." #. Label of the element_selector (Data) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Element Selector" -msgstr "" +msgstr "محدد العناصر" #. Option for the 'Type' (Select) field in DocType 'Communication' #. Label of the email (Check) field in DocType 'Custom DocPerm' @@ -8525,6 +8605,7 @@ msgstr "" #. Label of the email_settings (Section Break) field in DocType 'User' #. Label of the email (Check) field in DocType 'User Document Type' #. Label of the email (Data) field in DocType 'User Invitation' +#. Option for the 'Type' (Select) field in DocType 'Event Notifications' #. Label of the email (Data) field in DocType 'Event Participants' #. Label of the email (Data) field in DocType 'Email Group Member' #. Label of the email (Data) field in DocType 'Email Unsubscribe' @@ -8540,12 +8621,14 @@ msgstr "" #: frappe/core/doctype/user/user.json #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_invitation/user_invitation.json +#: frappe/core/page/permission_manager/permission_manager_help.html:56 +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/email_group_member/email_group_member.json #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.json #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/form/success_action.js:85 -#: frappe/public/js/frappe/form/toolbar.js:415 +#: frappe/public/js/frappe/form/toolbar.js:405 #: frappe/templates/includes/comments/comments.html:25 #: frappe/templates/signup.html:9 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json @@ -8553,7 +8636,7 @@ msgstr "" #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json #: frappe/www/login.html:8 frappe/www/login.py:104 msgid "Email" -msgstr "" +msgstr "البريد الإلكتروني" #. Label of the email_account (Link) field in DocType 'Communication' #. Label of the email_account (Link) field in DocType 'User Email' @@ -8573,24 +8656,24 @@ msgstr "حساب البريد الإلكتروني" #: frappe/email/doctype/email_account/email_account.py:343 msgid "Email Account Disabled." -msgstr "" +msgstr "تم تعطيل حساب البريد الإلكتروني." #. Label of the email_account_name (Data) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Email Account Name" msgstr "البريد الإلكتروني اسم الحساب" -#: frappe/core/doctype/user/user.py:787 +#: frappe/core/doctype/user/user.py:790 msgid "Email Account added multiple times" msgstr "تمت إضافة حساب البريد الإلكتروني عدة مرات" #: frappe/email/smtp.py:43 msgid "Email Account not setup. Please create a new Email Account from Settings > Email Account" -msgstr "" +msgstr "لم يتم إعداد حساب البريد الإلكتروني. يُرجى إنشاء حساب بريد إلكتروني جديد من الإعدادات > حساب البريد الإلكتروني" #: frappe/email/doctype/email_account/email_account.py:576 msgid "Email Account {0} Disabled" -msgstr "" +msgstr "تم تعطيل حساب البريد الإلكتروني {0}" #. Label of the email_id (Data) field in DocType 'Address' #. Label of the email_id (Data) field in DocType 'Contact' @@ -8618,7 +8701,7 @@ msgstr "عناوين البريد الإلكتروني" #. Name of a DocType #: frappe/email/doctype/email_domain/email_domain.json msgid "Email Domain" -msgstr "" +msgstr "المجال البريد الإلكتروني" #. Name of a DocType #: frappe/email/doctype/email_flag_queue/email_flag_queue.json @@ -8646,7 +8729,7 @@ msgstr "أرسل عضو المجموعة" #. Label of the email_header (Data) field in DocType 'Notification Log' #: frappe/desk/doctype/notification_log/notification_log.json msgid "Email Header" -msgstr "" +msgstr "رأس البريد الإلكتروني" #. Label of the email_id (Data) field in DocType 'Contact Email' #. Label of the email_id (Data) field in DocType 'User Email' @@ -8656,7 +8739,7 @@ msgstr "" #: frappe/core/doctype/user_email/user_email.json #: frappe/email/doctype/email_rule/email_rule.json msgid "Email ID" -msgstr "" +msgstr "عنوان الايميل" #. Label of the email_ids (Table) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json @@ -8667,7 +8750,7 @@ msgstr "البريد الإلكتروني معرفات" #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:48 #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Email Id" -msgstr "" +msgstr "البريد الإلكتروني" #. Label of the email_inbox (Section Break) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -8686,12 +8769,12 @@ msgstr "البريد الإلكتروني المستلم قائمة الانتظ #: frappe/email/queue.py:161 msgid "Email Queue flushing aborted due to too many failures." -msgstr "" +msgstr "تم إيقاف عملية مسح قائمة انتظار البريد الإلكتروني بسبب كثرة حالات الفشل." #. Description of a DocType #: frappe/email/doctype/email_queue/email_queue.json msgid "Email Queue records." -msgstr "" +msgstr "سجلات قائمة انتظار البريد الإلكتروني." #. Label of the email_reply_help (HTML) field in DocType 'Email Template' #: frappe/email/doctype/email_template/email_template.json @@ -8701,7 +8784,7 @@ msgstr "البريد الالكتروني رد مساعدة" #. Label of the email_retry_limit (Int) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Email Retry Limit" -msgstr "" +msgstr "حد إعادة إرسال البريد الإلكتروني" #. Name of a DocType #: frappe/email/doctype/email_rule/email_rule.json @@ -8754,7 +8837,7 @@ msgstr "قالب البريد الإلكتروني" #. DocType 'Notification Settings' #: frappe/desk/doctype/notification_settings/notification_settings.json msgid "Email Threads on Assigned Document" -msgstr "" +msgstr "سلاسل رسائل البريد الإلكتروني المتعلقة بالمستند المُخصص" #. Label of the email_to (Small Text) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -8776,11 +8859,11 @@ msgstr "تم نقل البريد الإلكتروني إلى المهملات" #: frappe/core/doctype/user/user.js:273 msgid "Email is mandatory to create User Email" -msgstr "" +msgstr "البريد الإلكتروني إلزامي لإنشاء بريد إلكتروني للمستخدم" -#: frappe/public/js/frappe/views/communication.js:813 +#: frappe/public/js/frappe/views/communication.js:882 msgid "Email not sent to {0} (unsubscribed / disabled)" -msgstr "" +msgstr "البريد الإلكتروني لا يرسل إلى {0} (غير مشترك / غيرمفعل)" #: frappe/utils/oauth.py:192 msgid "Email not verified with {0}" @@ -8788,21 +8871,21 @@ msgstr "البريد الإلكتروني غير متحقق من {0}" #: frappe/email/doctype/email_queue/email_queue.js:19 msgid "Email queue is currently suspended. Resume to automatically send other emails." -msgstr "" +msgstr "تم تعليق قائمة انتظار البريد الإلكتروني مؤقتًا. استأنف إرسال رسائل البريد الإلكتروني الأخرى تلقائيًا." #. Label of the section_break_udjs (Section Break) field in DocType 'System #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Emails" -msgstr "" +msgstr "رسائل البريد الإلكتروني" #: frappe/email/doctype/email_account/email_account.js:216 msgid "Emails Pulled" -msgstr "" +msgstr "تم استخراج رسائل البريد الإلكتروني" #: frappe/email/doctype/email_account/email_account.py:934 msgid "Emails are already being pulled from this account." -msgstr "" +msgstr "يتم بالفعل سحب رسائل البريد الإلكتروني من هذا الحساب." #: frappe/email/queue.py:138 msgid "Emails are muted" @@ -8815,19 +8898,19 @@ msgstr "سيتم إرسال رسائل البريد الإلكتروني مع إ #: frappe/website/doctype/web_form/web_form.js:34 msgid "Embed code copied" -msgstr "" +msgstr "تم نسخ رمز التضمين" -#: frappe/database/query.py:2151 +#: frappe/database/query.py:2230 msgid "Empty alias is not allowed" -msgstr "" +msgstr "لا يُسمح باستخدام اسم مستعار فارغ" #: frappe/public/js/form_builder/components/Section.vue:285 msgid "Empty column" -msgstr "" +msgstr "عمود فارغ" -#: frappe/database/query.py:2094 +#: frappe/database/query.py:2172 msgid "Empty string arguments are not allowed" -msgstr "" +msgstr "لا يُسمح باستخدام وسائط السلسلة الفارغة" #. Label of the enable (Check) field in DocType 'Google Calendar' #. Label of the enable (Check) field in DocType 'Google Contacts' @@ -8841,13 +8924,13 @@ msgstr "تمكين" #. Label of the enable_action_confirmation (Check) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Enable Action Confirmation" -msgstr "" +msgstr "تفعيل تأكيد الإجراء" #. Label of the enable_address_autocompletion (Check) field in DocType #. 'Geolocation Settings' #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.json msgid "Enable Address Autocompletion" -msgstr "" +msgstr "تفعيل الإكمال التلقائي للعناوين" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:123 msgid "Enable Allow Auto Repeat for the doctype {0} in Customize Form" @@ -8873,7 +8956,7 @@ msgstr "تمكين تعليقات" #. 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Enable Dynamic Client Registration" -msgstr "" +msgstr "تفعيل تسجيل العملاء الديناميكي" #. Label of the enable_email_notifications (Check) field in DocType #. 'Notification Settings' @@ -8891,7 +8974,7 @@ msgstr "تمكين Google API في إعدادات Google." #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Enable Google indexing" -msgstr "" +msgstr "تفعيل فهرسة جوجل" #. Label of the enable_incoming (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -8922,7 +9005,7 @@ msgstr "تمكين سياسة كلمة المرور" #. Permission for Page and Report' #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json msgid "Enable Prepared Report" -msgstr "" +msgstr "تفعيل التقرير المُعدّ" #. Label of the enable_print_server (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -8933,12 +9016,12 @@ msgstr "تمكين خادم الطباعة" #. Notification Settings' #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json msgid "Enable Push Notification Relay" -msgstr "" +msgstr "تفعيل خاصية إرسال الإشعارات الفورية" #. Label of the enable_rate_limit (Check) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Enable Rate Limit" -msgstr "" +msgstr "تفعيل حد المعدل" #. Label of the enable_raw_printing (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -8956,7 +9039,7 @@ msgstr "تمكين المهام المجدولة" #: frappe/core/doctype/rq_job/rq_job_list.js:32 msgid "Enable Scheduler" -msgstr "" +msgstr "تفعيل المجدول" #. Label of the enable_security (Check) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -8981,7 +9064,7 @@ msgstr "تمكين اثنين من عامل المصادقة" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.py:28 msgid "Enable developer mode to create a standard Print Template" -msgstr "" +msgstr "قم بتمكين وضع المطور لإنشاء قالب طباعة قياسي" #: frappe/website/doctype/web_template/web_template.py:33 msgid "Enable developer mode to create a standard Web Template" @@ -8991,13 +9074,14 @@ msgstr "قم بتمكين وضع المطور لإنشاء قالب ويب قي #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Enable if on click\n" "opens modal." -msgstr "" +msgstr "قم بتفعيل هذا الخيار إذا كان النقر على\n" +"يفتح نافذة منبثقة." #. Label of the enable_view_tracking (Check) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Enable in-app website tracking" -msgstr "" +msgstr "تفعيل تتبع الموقع الإلكتروني داخل التطبيق" #. Label of the enabled (Check) field in DocType 'Language' #. Label of the enabled (Check) field in DocType 'User' @@ -9028,7 +9112,7 @@ msgstr "تمكين" #: frappe/core/doctype/rq_job/rq_job_list.js:38 msgid "Enabled Scheduler" -msgstr "" +msgstr "مُجدول مُفعّل" #: frappe/email/doctype/email_account/email_account.py:1010 msgid "Enabled email inbox for user {0}" @@ -9041,18 +9125,18 @@ msgstr "صندوق الوارد للبريد الإلكتروني المُمكّ #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Enables Calendar and Gantt views." -msgstr "" +msgstr "يُمكّن من عرض التقويم وعرض مخطط جانت." #: frappe/email/doctype/email_account/email_account.js:295 msgid "Enabling auto reply on an incoming email account will send automated replies to all the synchronized emails. Do you wish to continue?" -msgstr "" +msgstr "تفعيل خاصية الرد التلقائي على حساب البريد الإلكتروني الوارد سيرسل ردودًا تلقائية على جميع رسائل البريد الإلكتروني المتزامنة. هل ترغب في المتابعة؟" #. Description of a DocType #. Description of the 'Relay Settings' (Section Break) field in DocType 'Push #. Notification Settings' #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json 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 "" +msgstr "سيؤدي تفعيل هذا إلى تسجيل موقعك على خادم ترحيل مركزي لإرسال إشعارات فورية لجميع التطبيقات المثبتة عبر Firebase Cloud Messaging. يخزن هذا الخادم رموز المستخدم وسجلات الأخطاء فقط، ولا يُحفظ أي رسائل." #. Description of the 'Queue in Background (BETA)' (Check) field in DocType #. 'DocType' @@ -9061,24 +9145,24 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Enabling this will submit documents in background" -msgstr "" +msgstr "سيؤدي تفعيل هذا الخيار إلى إرسال المستندات في الخلفية" #. Label of the encrypt_backup (Check) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Encrypt Backups" -msgstr "" +msgstr "تشفير النسخ الاحتياطية" #: frappe/utils/password.py:196 msgid "Encryption key is in invalid format!" -msgstr "" +msgstr "مفتاح التشفير بتنسيق غير صالح!" #: frappe/utils/password.py:211 msgid "Encryption key is invalid! Please check site_config.json" -msgstr "" +msgstr "مفتاح التشفير غير صالح! يرجى مراجعة ملف site_config.json" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:51 msgid "End" -msgstr "" +msgstr "النهاية" #. Label of the end_date (Date) field in DocType 'Auto Repeat' #. Label of the end_date (Date) field in DocType 'Audit Trail' @@ -9089,7 +9173,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:425 #: frappe/website/doctype/web_page/web_page.json msgid "End Date" -msgstr "" +msgstr "نهاية التاريخ" #. Label of the end_date_field (Select) field in DocType 'Calendar View' #: frappe/desk/doctype/calendar_view/calendar_view.json @@ -9102,20 +9186,20 @@ msgstr "لا يمكن أن يكون تاريخ الانتهاء قبل تاري #: frappe/automation/doctype/auto_repeat/auto_repeat.py:146 msgid "End Date cannot be today." -msgstr "" +msgstr "لا يمكن أن يكون تاريخ الانتهاء هو اليوم." #. Label of the ended_at (Datetime) field in DocType 'RQ Job' #. Label of the ended_at (Datetime) field in DocType 'Submission Queue' #: frappe/core/doctype/rq_job/rq_job.json #: frappe/core/doctype/submission_queue/submission_queue.json msgid "Ended At" -msgstr "" +msgstr "انتهى عند" #. Label of the sb_endpoints_section (Section Break) field in DocType #. 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Endpoints" -msgstr "" +msgstr "نقاط النهاية" #. Label of the ends_on (Datetime) field in DocType 'Event' #: frappe/desk/doctype/event/event.json @@ -9130,27 +9214,27 @@ msgstr "نقطة الطاقة" #. Label of the enqueued_by (Data) field in DocType 'Submission Queue' #: frappe/core/doctype/submission_queue/submission_queue.json msgid "Enqueued By" -msgstr "" +msgstr "تمت إضافته إلى قائمة الانتظار بواسطة" #: frappe/core/doctype/recorder/recorder.py:125 msgid "Enqueued creation of indexes" -msgstr "" +msgstr "تم إدراج إنشاء الفهارس في قائمة الانتظار" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:108 msgid "Ensure the user and group search paths are correct." -msgstr "" +msgstr "تأكد من صحة مسارات البحث الخاصة بالمستخدم والمجموعة." #: frappe/integrations/doctype/google_calendar/google_calendar.py:109 msgid "Enter Client Id and Client Secret in Google Settings." msgstr "أدخل معرف العميل وسر العميل في إعدادات Google." -#: frappe/templates/includes/login/login.js:351 +#: frappe/templates/includes/login/login.js:350 msgid "Enter Code displayed in OTP App." -msgstr "" +msgstr "أدخل الرمز المعروض في تطبيق OTP." -#: frappe/public/js/frappe/views/communication.js:768 +#: frappe/public/js/frappe/views/communication.js:835 msgid "Enter Email Recipient(s) in the To, CC, or BCC fields" -msgstr "" +msgstr "أدخل اسم (أسماء) مستلمي البريد الإلكتروني في حقول \"إلى\" أو \"نسخة\" أو \"نسخة مخفية\"." #. Label of the doc_type (Link) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -9164,7 +9248,7 @@ msgstr "أدخل القيمة" #: frappe/public/js/frappe/form/form_tour.js:60 msgid "Enter a name for this {0}" -msgstr "" +msgstr "أدخل اسمًا لهذا {0}" #. Description of the 'User Defaults' (Table) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -9175,6 +9259,10 @@ msgstr "إدخال الحقول القيمة الافتراضية (مفاتيح) msgid "Enter folder name" msgstr "أدخل اسم المجلد" +#: frappe/public/js/form_builder/components/FieldProperties.vue:65 +msgid "Enter list of Options, each on a new line." +msgstr "أدخل قائمة الخيارات، كل خيار في سطر جديد." + #. Description of the 'Static Parameters' (Table) field in DocType 'SMS #. Settings' #: frappe/core/doctype/sms_settings/sms_settings.json @@ -9203,9 +9291,9 @@ msgstr "اسم الكيان" #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.js:9 msgid "Entity Type" -msgstr "" +msgstr "نوع الكيان" -#: frappe/public/js/frappe/list/base_list.js:1256 +#: frappe/public/js/frappe/list/base_list.js:1273 #: frappe/public/js/frappe/ui/filters/filter.js:16 msgid "Equals" msgstr "تساوي" @@ -9237,12 +9325,12 @@ msgstr "تساوي" #: frappe/integrations/doctype/webhook_request_log/webhook_request_log.json #: frappe/public/js/frappe/ui/messages.js:22 msgid "Error" -msgstr "" +msgstr "خطأ" -#: frappe/public/js/frappe/web_form/web_form.js:264 +#: frappe/public/js/frappe/web_form/web_form.js:260 msgctxt "Title of error message in web form" msgid "Error" -msgstr "" +msgstr "خطأ" #. Name of a DocType #: frappe/core/doctype/error_log/error_log.json @@ -9252,24 +9340,24 @@ msgstr "سجل الأخطاء" #. Label of a Link in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Error Logs" -msgstr "" +msgstr "سجلات الأخطاء" #. Label of the error_message (Text) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json msgid "Error Message" -msgstr "" +msgstr "رسالة خطأ" -#: frappe/public/js/frappe/form/print_utils.js:156 +#: frappe/public/js/frappe/form/print_utils.js:169 msgid "Error connecting to QZ Tray Application...

You need to have QZ Tray application installed and running, to use the Raw Print feature.

Click here to Download and install QZ Tray.
Click here to learn more about Raw Printing." -msgstr "خطأ في الاتصال بـ QZ Tray Application ...

تحتاج إلى تثبيت تطبيق QZ Tray وتشغيله لاستخدام ميزة Raw Print.

انقر هنا لتنزيل وتثبيت QZ Tray .
انقر هنا لمعرفة المزيد عن الطباعة الخام ." +msgstr "" #: frappe/email/doctype/email_domain/email_domain.py:32 msgid "Error connecting via IMAP/POP3: {e}" -msgstr "" +msgstr "خطأ في الاتصال عبر IMAP/POP3: {e}" #: frappe/email/doctype/email_domain/email_domain.py:33 msgid "Error connecting via SMTP: {e}" -msgstr "" +msgstr "خطأ في الاتصال عبر SMTP: {e}" #: frappe/email/doctype/email_domain/email_domain.py:101 msgid "Error has occurred in {0}" @@ -9277,15 +9365,15 @@ msgstr "حدث خطأ في {0}" #: frappe/public/js/frappe/form/script_manager.js:199 msgid "Error in Client Script" -msgstr "" +msgstr "خطأ في برنامج العميل النصي" #: frappe/public/js/frappe/form/script_manager.js:263 msgid "Error in Client Script." -msgstr "" +msgstr "خطأ في برنامج العميل النصي." #: frappe/printing/doctype/letter_head/letter_head.js:21 msgid "Error in Header/Footer Script" -msgstr "" +msgstr "خطأ في نص رأس/تذييل الصفحة" #: frappe/email/doctype/notification/notification.py:677 #: frappe/email/doctype/notification/notification.py:816 @@ -9295,19 +9383,19 @@ msgstr "خطأ في الإخطار" #: frappe/utils/pdf.py:60 msgid "Error in print format on line {0}: {1}" -msgstr "" +msgstr "خطأ في تنسيق الطباعة في السطر {0}: {1}" -#: frappe/api/v2.py:156 +#: frappe/api/v2.py:180 msgid "Error in {0}.get_list: {1}" -msgstr "" +msgstr "خطأ في {0}.get_list: {1}" -#: frappe/database/query.py:437 +#: frappe/database/query.py:440 msgid "Error parsing nested filters: {0}. {1}" -msgstr "" +msgstr "خطأ في تحليل المرشحات المتداخلة: {0}. {1}" -#: frappe/desk/search.py:248 +#: frappe/desk/search.py:255 msgid "Error validating \"Ignore User Permissions\"" -msgstr "" +msgstr "حدث خطأ أثناء التحقق من صحة \"تجاهل أذونات المستخدم\"" #: frappe/email/doctype/email_account/email_account.py:670 msgid "Error while connecting to email account {0}" @@ -9319,25 +9407,31 @@ msgstr "خطأ أثناء تقييم الإشعار {0}. يرجى تصحيح ا #: frappe/email/frappemail.py:173 msgid "Error {0}: {1}" -msgstr "" +msgstr "خطأ {0}: {1}" -#: frappe/model/base_document.py:904 +#: frappe/model/base_document.py:923 msgid "Error: Data missing in table {0}" -msgstr "" +msgstr "خطأ: البيانات مفقودة في الجدول {0}" -#: frappe/model/base_document.py:914 +#: frappe/model/base_document.py:933 msgid "Error: Value missing for {0}: {1}" msgstr "خطأ: قيمة مفقودة ل {0}: {1}" -#: frappe/model/base_document.py:908 +#: frappe/model/base_document.py:927 msgid "Error: {0} Row #{1}: Value missing for: {2}" -msgstr "" +msgstr "خطأ: {0} الصف #{1}: القيمة مفقودة لـ: {2}" #. Label of the errors_generated_in_last_1_day_section (Section Break) field in #. DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Errors" -msgstr "" +msgstr "أخطاء" + +#. Label of the evaluate_as_expression (Check) field in DocType 'Workflow +#. Document State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Evaluate as Expression" +msgstr "التقييم كتعبير" #. Option for the 'Type' (Select) field in DocType 'Communication' #. Name of a DocType @@ -9355,6 +9449,11 @@ msgstr "فئة الحدث" #. Label of the event_frequency (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Event Frequency" +msgstr "تكرار الحدث" + +#. Name of a DocType +#: frappe/desk/doctype/event_notifications/event_notifications.json +msgid "Event Notifications" msgstr "" #. Label of the event_participants (Table) field in DocType 'Event' @@ -9382,11 +9481,11 @@ msgstr "حدث مزامنة مع تقويم Google." msgid "Event Type" msgstr "نوع الحدث" -#: frappe/public/js/frappe/ui/notifications/notifications.js:67 +#: frappe/public/js/frappe/ui/notifications/notifications.js:74 msgid "Events" -msgstr "" +msgstr "الفعاليات" -#: frappe/desk/doctype/event/event.py:278 +#: frappe/desk/doctype/event/event.py:328 msgid "Events in Today's Calendar" msgstr "الأحداث في التقويم اليوم" @@ -9405,9 +9504,10 @@ msgstr "مثال: "الألوان": ["# d1d8dd"، "# ff #. Label of the exact_copies (Int) field in DocType 'Recorder Query' #: frappe/core/doctype/recorder_query/recorder_query.json msgid "Exact Copies" -msgstr "" +msgstr "نسخ طبق الأصل" #. Label of the example (HTML) field in DocType 'Workflow Transition' +#: frappe/core/page/permission_manager/permission_manager_help.html:21 #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Example" msgstr "مثال" @@ -9432,7 +9532,7 @@ msgstr "مثال: 00001" #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Example: Setting this to 24:00 will log out a user if they are not active for 24:00 hours." -msgstr "" +msgstr "مثال: ضبط هذا على 24:00 سيؤدي إلى تسجيل خروج المستخدم إذا لم يكن نشطًا لمدة 24:00 ساعة." #. Description of the 'Description' (Small Text) field in DocType 'Assignment #. Rule' @@ -9447,7 +9547,7 @@ msgstr "تفوق" #: frappe/public/js/frappe/form/controls/password.js:90 msgid "Excellent" -msgstr "" +msgstr "ممتاز" #. Label of the exception (Text) field in DocType 'Data Import Log' #. Label of the exc_info (Code) field in DocType 'RQ Job' @@ -9472,25 +9572,25 @@ msgstr "تنفيذ البرنامج النصي لوحدة التحكم" #: frappe/public/js/frappe/ui/dropdown_console.js:132 msgid "Executing Code" -msgstr "" +msgstr "تنفيذ التعليمات البرمجية" #: frappe/desk/doctype/system_console/system_console.js:18 msgid "Executing..." -msgstr "" +msgstr "جارٍ التنفيذ..." -#: frappe/public/js/frappe/views/reports/query_report.js:2162 +#: frappe/public/js/frappe/views/reports/query_report.js:2223 msgid "Execution Time: {0} sec" msgstr "وقت التنفيذ: {0} ثانية" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Executive" -msgstr "" +msgstr "تنفيذي" #. Label of the existing_role (Link) field in DocType 'Role Replication' #: frappe/core/doctype/role_replication/role_replication.json msgid "Existing Role" -msgstr "" +msgstr "الدور الحالي" #: frappe/public/js/frappe/views/treeview.js:115 #: frappe/public/js/frappe/views/treeview.js:127 @@ -9499,23 +9599,23 @@ msgstr "" msgid "Expand" msgstr "وسعت" -#: frappe/public/js/frappe/form/controls/code.js:186 +#: frappe/public/js/frappe/form/controls/code.js:191 msgctxt "Enlarge code field." msgid "Expand" msgstr "وسعت" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 #: frappe/public/js/frappe/views/treeview.js:133 msgid "Expand All" -msgstr "" +msgstr "توسيع الكل" -#: frappe/database/query.py:684 +#: frappe/database/query.py:706 msgid "Expected 'and' or 'or' operator, found: {0}" -msgstr "" +msgstr "كان من المتوقع وجود عامل الربط \"و\" أو \"أو\"، ولكن تم العثور على: {0}" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:41 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:65 msgid "Experimental" -msgstr "" +msgstr "تجريبي" #. Option for the 'Level' (Select) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json @@ -9541,7 +9641,7 @@ msgstr "تنتهي الإعلام على" #: frappe/core/doctype/communication/communication.json #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Expired" -msgstr "" +msgstr "انتهى" #. Label of the expires_in (Int) field in DocType 'OAuth Bearer Token' #. Label of the expires_in (Int) field in DocType 'Token Cache' @@ -9553,7 +9653,7 @@ msgstr "ينتهي في" #. Label of the expires_on (Date) field in DocType 'Document Share Key' #: frappe/core/doctype/document_share_key/document_share_key.json msgid "Expires On" -msgstr "" +msgstr "تاريخ الانتهاء" #. Label of the lifespan_qrcode_image (Int) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json @@ -9565,20 +9665,21 @@ msgstr "وقت انتهاء صلاحية رمز الاستجابة السريع #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/recorder/recorder_list.js:37 +#: frappe/core/page/permission_manager/permission_manager_help.html:66 #: frappe/public/js/frappe/data_import/data_exporter.js:92 -#: frappe/public/js/frappe/data_import/data_exporter.js:243 -#: frappe/public/js/frappe/views/reports/query_report.js:1850 -#: frappe/public/js/frappe/views/reports/report_view.js:1633 +#: frappe/public/js/frappe/data_import/data_exporter.js:244 +#: frappe/public/js/frappe/views/reports/query_report.js:1899 +#: frappe/public/js/frappe/views/reports/report_view.js:1634 #: frappe/public/js/frappe/widgets/chart_widget.js:315 msgid "Export" msgstr "تصدير" -#: frappe/public/js/frappe/list/list_view.js:2359 +#: frappe/public/js/frappe/list/list_view.js:2387 msgctxt "Button in list view actions menu" msgid "Export" msgstr "تصدير" -#: frappe/public/js/frappe/data_import/data_exporter.js:245 +#: frappe/public/js/frappe/data_import/data_exporter.js:246 msgid "Export 1 record" msgstr "تصدير 1 سجل" @@ -9592,12 +9693,12 @@ msgstr "تصدير تخصيصات" #: frappe/public/js/frappe/data_import/data_exporter.js:14 msgid "Export Data" -msgstr "" +msgstr "تصدير البيانات" #: frappe/core/doctype/data_import/data_import.js:87 #: frappe/public/js/frappe/data_import/import_preview.js:199 msgid "Export Errored Rows" -msgstr "" +msgstr "تصدير الصفوف الخطأ" #. Label of the export_from (Data) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json @@ -9606,7 +9707,7 @@ msgstr "تصدير من" #: frappe/core/doctype/data_import/data_import.js:544 msgid "Export Import Log" -msgstr "" +msgstr "سجل التصدير والاستيراد" #: frappe/public/js/frappe/views/reports/report_utils.js:245 msgctxt "Export report" @@ -9617,45 +9718,49 @@ msgstr "تصدير التقرير: {0}" msgid "Export Type" msgstr "نوع التصدير" -#: frappe/public/js/frappe/views/reports/report_view.js:1644 +#: frappe/public/js/frappe/views/reports/report_view.js:1645 msgid "Export all matching rows?" -msgstr "" +msgstr "هل تريد تصدير جميع الصفوف المطابقة؟" -#: frappe/public/js/frappe/views/reports/report_view.js:1654 +#: frappe/public/js/frappe/views/reports/report_view.js:1655 msgid "Export all {0} rows?" -msgstr "" +msgstr "تصدير جميع الصفوف {0} ؟" #: frappe/public/js/frappe/views/file/file_view.js:154 msgid "Export as zip" -msgstr "" +msgstr "تصدير كملف مضغوط" #: frappe/public/js/frappe/views/reports/report_utils.js:184 msgid "Export in Background" -msgstr "" +msgstr "تصدير في الخلفية" #: frappe/public/js/frappe/utils/tools.js:11 msgid "Export not allowed. You need {0} role to export." msgstr "الصادرات غير مسموح به. تحتاج {0} صلاحية التصدير." +#: frappe/custom/doctype/customize_form/customize_form.js:272 +msgid "Export only customizations assigned to the selected module.
Note: You must set the Module (for export) field on Custom Field and Property Setter records before applying this filter.

Warning: Customizations from other modules will be excluded.

" +msgstr "" + #. Description of the 'Export without main header' (Check) field in DocType #. 'Data Export' #: frappe/core/doctype/data_export/data_export.json msgid "Export the data without any header notes and column descriptions" -msgstr "" +msgstr "قم بتصدير البيانات بدون أي ملاحظات رأسية أو أوصاف للأعمدة" #. Label of the export_without_main_header (Check) field in DocType 'Data #. Export' #: frappe/core/doctype/data_export/data_export.json msgid "Export without main header" -msgstr "" +msgstr "تصدير بدون رأس رئيسي" -#: frappe/public/js/frappe/data_import/data_exporter.js:247 +#: frappe/public/js/frappe/data_import/data_exporter.js:248 msgid "Export {0} records" msgstr "تصدير {0} السجلات" #: frappe/custom/doctype/customize_form/customize_form.js:263 msgid "Exported permissions will be force-synced on every migrate overriding any other customization." -msgstr "" +msgstr "سيتم مزامنة الأذونات المصدرة إجبارياً في كل عملية ترحيل، مما يلغي أي تخصيصات أخرى." #. Label of the expose_recipients (Data) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json @@ -9667,14 +9772,14 @@ msgstr "كشف المستلمين" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Expression" -msgstr "" +msgstr "تعبير" #. Option for the 'Naming Rule' (Select) field in DocType 'DocType' #. Option for the 'Naming Rule' (Select) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Expression (old style)" -msgstr "" +msgstr "التعبير (النمط القديم)" #. Description of the 'Condition' (Data) field in DocType 'Notification #. Recipient' @@ -9685,19 +9790,19 @@ msgstr "التعبير والاختياري" #. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #: frappe/desk/doctype/desktop_icon/desktop_icon.json msgid "External" -msgstr "" +msgstr "خارجي" #. Label of the external_link (Data) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json -#: frappe/public/js/frappe/views/workspace/workspace.js:440 +#: frappe/public/js/frappe/views/workspace/workspace.js:488 msgid "External Link" -msgstr "" +msgstr "رابط خارجي" #. Label of the section_break_18 (Section Break) field in DocType 'Connected #. App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Extra Parameters" -msgstr "" +msgstr "معلمات إضافية" #. Option for the 'Social Login Provider' (Select) field in DocType 'Social #. Login Key' @@ -9709,7 +9814,7 @@ msgstr "الفيسبوك" #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Fail" -msgstr "" +msgstr "يفشل" #. Option for the 'Status' (Select) field in DocType 'Activity Log' #. Option for the 'Status' (Select) field in DocType 'Scheduled Job Log' @@ -9720,36 +9825,41 @@ msgstr "" #: frappe/core/doctype/submission_queue/submission_queue.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Failed" -msgstr "" +msgstr "باءت بالفشل" #. Label of the failed_emails (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Failed Emails" -msgstr "" +msgstr "رسائل البريد الإلكتروني الفاشلة" #. Label of the failed_job_count (Int) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Failed Job Count" -msgstr "" +msgstr "عدد الوظائف الفاشلة" #. Label of the failed_jobs (Int) field in DocType 'System Health Report #. Workers' #: frappe/desk/doctype/system_health_report_workers/system_health_report_workers.json msgid "Failed Jobs" -msgstr "" +msgstr "الوظائف الفاشلة" + +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Failed Login Attempts" +msgstr "محاولات تسجيل دخول فاشلة" #. Label of the failed_logins (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Failed Logins (Last 30 days)" -msgstr "" +msgstr "محاولات تسجيل الدخول الفاشلة (آخر 30 يومًا)" -#: frappe/model/workflow.py:362 +#: frappe/model/workflow.py:383 msgid "Failed Transactions" msgstr "المعاملات الفاشلة" #: frappe/utils/synchronization.py:46 msgid "Failed to aquire lock: {}. Lock may be held by another process." -msgstr "" +msgstr "فشل في الحصول على القفل: {}. قد يكون القفل محتجزًا بواسطة عملية أخرى." #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:362 msgid "Failed to change password." @@ -9762,7 +9872,7 @@ msgstr "فشل في إكمال الإعداد" #: frappe/integrations/doctype/webhook/webhook.py:141 msgid "Failed to compute request body: {}" -msgstr "" +msgstr "فشل في حساب نص الطلب: {}" #: frappe/printing/doctype/network_printer_settings/network_printer_settings.py:46 #: frappe/printing/doctype/network_printer_settings/network_printer_settings.py:48 @@ -9775,96 +9885,96 @@ msgstr "فشل فك الرمز المميز ، يرجى تقديم رمز ممي #: frappe/utils/password.py:210 msgid "Failed to decrypt key {0}" -msgstr "" +msgstr "فشل فك تشفير المفتاح {0}" #: frappe/desk/reportview.py:638 msgid "Failed to delete {0} documents: {1}" -msgstr "" +msgstr "فشل حذف {0} مستندات: {1}" #: frappe/core/doctype/rq_job/rq_job_list.js:42 msgid "Failed to enable scheduler: {0}" -msgstr "" +msgstr "فشل تفعيل المجدول: {0}" #: frappe/email/doctype/notification/notification.py:107 #: frappe/integrations/doctype/webhook/webhook.py:131 msgid "Failed to evaluate conditions: {}" -msgstr "" +msgstr "فشل تقييم الشروط: {}" #: frappe/types/exporter.py:205 msgid "Failed to export python type hints" -msgstr "" +msgstr "فشل تصدير تلميحات أنواع بايثون" #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:249 msgid "Failed to generate names from the series" -msgstr "" +msgstr "فشل في توليد أسماء من السلسلة" #: frappe/core/doctype/document_naming_settings/document_naming_settings.js:75 msgid "Failed to generate preview of series" -msgstr "" +msgstr "فشل إنشاء معاينة للمسلسل" #: frappe/handler.py:77 msgid "Failed to get method for command {0} with {1}" -msgstr "" +msgstr "فشل الحصول على طريقة للأمر {0} مع {1}" -#: frappe/api/v2.py:46 +#: frappe/api/v2.py:61 msgid "Failed to get method {0} with {1}" -msgstr "" +msgstr "فشل الحصول على الطريقة {0} باستخدام {1}" #: frappe/integrations/frappe_providers/frappecloud_billing.py:59 msgid "Failed to get site info" -msgstr "" +msgstr "فشل في الحصول على معلومات الموقع" #: frappe/model/virtual_doctype.py:63 msgid "Failed to import virtual doctype {}, is controller file present?" -msgstr "" +msgstr "فشل استيراد نوع المستند الافتراضي {}، هل ملف وحدة التحكم موجود؟" -#: frappe/utils/image.py:75 +#: frappe/utils/image.py:70 msgid "Failed to optimize image: {0}" -msgstr "" +msgstr "فشل تحسين الصورة: {0}" #: frappe/email/doctype/notification/notification.py:124 msgid "Failed to render message: {}" -msgstr "" +msgstr "فشل عرض الرسالة: {}" #: frappe/email/doctype/notification/notification.py:142 msgid "Failed to render subject: {}" -msgstr "" +msgstr "فشل عرض الموضوع: {}" #: frappe/integrations/frappe_providers/frappecloud_billing.py:94 msgid "Failed to request login to Frappe Cloud" -msgstr "" +msgstr "فشل طلب تسجيل الدخول إلى Frappe Cloud" -#: frappe/email/doctype/email_queue/email_queue.py:300 +#: frappe/email/doctype/email_queue/email_queue.py:301 msgid "Failed to send email with subject:" -msgstr "" +msgstr "فشل إرسال البريد الإلكتروني بالموضوع التالي:" #: frappe/desk/doctype/notification_log/notification_log.py:43 msgid "Failed to send notification email" -msgstr "" +msgstr "فشل إرسال البريد الإلكتروني للإشعار" #: frappe/desk/page/setup_wizard/setup_wizard.py:24 msgid "Failed to update global settings" -msgstr "" +msgstr "فشل تحديث الإعدادات العامة" #: frappe/integrations/frappe_providers/frappecloud_billing.py:74 msgid "Failed while calling API {0}" -msgstr "" +msgstr "فشل استدعاء واجهة برمجة التطبيقات {0}" #. Label of the failing_scheduled_jobs (Table) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Failing Scheduled Jobs (last 7 days)" -msgstr "" +msgstr "المهام المجدولة الفاشلة (آخر 7 أيام)" #: frappe/core/doctype/data_import/data_import.js:485 msgid "Failure" -msgstr "" +msgstr "بالفشل" #. Label of the failure_rate (Percent) field in DocType 'System Health Report #. Failing Jobs' #: frappe/desk/doctype/system_health_report_failing_jobs/system_health_report_failing_jobs.json msgid "Failure Rate" -msgstr "" +msgstr "معدل الفشل" #. Label of the favicon (Attach) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -9876,13 +9986,13 @@ msgstr "أيقونة المفضلة" msgid "Fax" msgstr "فاكس" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:51 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:72 msgid "Feedback" -msgstr "" +msgstr "الملاحظات" #: frappe/desk/page/setup_wizard/install_fixtures.py:29 msgid "Female" -msgstr "" +msgstr "أنثى" #. Label of the fetch_from (Small Text) field in DocType 'DocField' #. Label of the fetch_from (Small Text) field in DocType 'Custom Field' @@ -9910,7 +10020,7 @@ msgstr "إحضار الصور المرفقة من المستند" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Fetch on Save if Empty" -msgstr "" +msgstr "جلب عند الحفظ إذا كان فارغًا" #: frappe/desk/doctype/global_search_settings/global_search_settings.py:61 msgid "Fetching default Global Search documents." @@ -9918,7 +10028,7 @@ msgstr "جلب مستندات البحث العالمي الافتراضية." #: frappe/website/doctype/web_form/web_form.js:168 msgid "Fetching fields from {0}..." -msgstr "" +msgstr "جلب الحقول من {0}..." #. Label of the field (Select) field in DocType 'Assignment Rule' #. Label of the field (Select) field in DocType 'Document Naming Rule @@ -9936,8 +10046,8 @@ msgstr "" #: frappe/desk/doctype/onboarding_step/onboarding_step.json #: frappe/public/js/frappe/list/bulk_operations.js:327 #: frappe/public/js/frappe/list/list_view_permission_restrictions.html:3 -#: frappe/public/js/frappe/views/reports/query_report.js:236 -#: frappe/public/js/frappe/views/reports/query_report.js:1909 +#: frappe/public/js/frappe/views/reports/query_report.js:237 +#: frappe/public/js/frappe/views/reports/query_report.js:1958 #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_form_list_column/web_form_list_column.json msgid "Field" @@ -9947,15 +10057,15 @@ msgstr "حقل" msgid "Field \"route\" is mandatory for Web Views" msgstr "حقل "الطريق" إلزامي للويب المشاهدات" -#: frappe/core/doctype/doctype/doctype.py:1541 +#: frappe/core/doctype/doctype/doctype.py:1555 msgid "Field \"title\" is mandatory if \"Website Search Field\" is set." -msgstr "" +msgstr "يُعد حقل \"العنوان\" إلزاميًا إذا تم تعيين \"حقل البحث في الموقع الإلكتروني\"." #: frappe/desk/doctype/bulk_update/bulk_update.js:17 msgid "Field \"value\" is mandatory. Please specify value to be updated" msgstr "حقل \"قيمة\" إلزامي. يرجى تحديد قيمة ليتم تحديثها" -#: frappe/desk/search.py:255 +#: frappe/desk/search.py:262 msgid "Field {0} not found in {1}" msgstr "" @@ -9964,29 +10074,29 @@ msgstr "" msgid "Field Description" msgstr "وصف الحقل" -#: frappe/core/doctype/doctype/doctype.py:1092 +#: frappe/core/doctype/doctype/doctype.py:1095 msgid "Field Missing" -msgstr "" +msgstr "الحقل مفقود" #. Label of the field_name (Data) field in DocType 'Property Setter' #. Label of the field_name (Select) field in DocType 'Kanban Board' #: frappe/custom/doctype/property_setter/property_setter.json #: frappe/desk/doctype/kanban_board/kanban_board.json msgid "Field Name" -msgstr "" +msgstr "اسم الحقل" #: frappe/public/js/print_format_builder/PrintFormatSection.vue:141 msgid "Field Orientation (Left-Right)" -msgstr "" +msgstr "اتجاه المجال (يسار-يمين)" #: frappe/public/js/print_format_builder/PrintFormatSection.vue:148 msgid "Field Orientation (Top-Down)" -msgstr "" +msgstr "التوجيه الميداني (من الأعلى إلى الأسفل)" #: frappe/public/js/print_format_builder/PrintFormatControls.vue:233 #: frappe/public/js/print_format_builder/utils.js:69 msgid "Field Template" -msgstr "" +msgstr "نموذج الحقل" #. Label of the fieldtype (Select) field in DocType 'Custom Field' #: frappe/custom/doctype/custom_field/custom_field.json @@ -9996,7 +10106,7 @@ msgstr "نوع الحقل" #: frappe/desk/reportview.py:204 msgid "Field not permitted in query" -msgstr "" +msgstr "الحقل غير مسموح به في الاستعلام" #. Description of the 'Workflow State Field' (Data) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -10012,25 +10122,25 @@ msgstr "حقل لتعقب" msgid "Field type cannot be changed for {0}" msgstr "لا يمكن تغيير نوع الحقل ل {0}" -#: frappe/database/database.py:919 +#: frappe/database/database.py:923 msgid "Field {0} does not exist on {1}" -msgstr "" +msgstr "الحقل {0} غير موجود في {1}" #: frappe/desk/form/meta.py:187 msgid "Field {0} is referring to non-existing doctype {1}." -msgstr "" +msgstr "يشير الحقل {0} إلى نوع المستند غير الموجود {1}." -#: frappe/core/doctype/doctype/doctype.py:1669 +#: frappe/core/doctype/doctype/doctype.py:1683 msgid "Field {0} must be a virtual field to support virtual doctype." -msgstr "" +msgstr "يجب أن يكون الحقل {0} حقلاً افتراضياً لدعم نوع المستند الافتراضي." -#: frappe/public/js/frappe/form/form.js:1768 +#: frappe/public/js/frappe/form/form.js:1799 msgid "Field {0} not found." msgstr "الحقل {0} غير موجود." #: frappe/email/doctype/notification/notification.py:564 msgid "Field {0} on document {1} is neither a Mobile number field nor a Customer or User link" -msgstr "" +msgstr "الحقل {0} في المستند {1} ليس حقل رقم جوال ولا رابط عميل أو مستخدم" #. Label of the fieldname (Data) field in DocType 'Report Column' #. Label of the fieldname (Data) field in DocType 'Report Filter' @@ -10046,24 +10156,24 @@ msgstr "" #: frappe/custom/doctype/doctype_layout_field/doctype_layout_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/integrations/doctype/webhook_data/webhook_data.json -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Fieldname" msgstr "اسم الحقل" #: frappe/core/doctype/doctype/doctype.py:272 msgid "Fieldname '{0}' conflicting with a {1} of the name {2} in {3}" -msgstr "" +msgstr "اسم الحقل '{0}' يتعارض مع {1} من الاسم {2} في {3}" -#: frappe/core/doctype/doctype/doctype.py:1091 +#: frappe/core/doctype/doctype/doctype.py:1094 msgid "Fieldname called {0} must exist to enable autonaming" -msgstr "" +msgstr "يجب أن يكون اسم الحقل {0} موجودًا لتمكين التسمية التلقائية" #: frappe/database/schema.py:131 frappe/database/schema.py:408 msgid "Fieldname is limited to 64 characters ({0})" -msgstr "اسم الحقل محدد ب 64 حرف
Fieldname is limited to 64 characters ({0})" +msgstr "يقتصر اسم الحقل على 64 حرفًا ({0})" -#: frappe/custom/doctype/custom_field/custom_field.py:198 +#: frappe/custom/doctype/custom_field/custom_field.py:199 msgid "Fieldname not set for Custom Field" msgstr "أسم الحقل لم يتم تعيينه لحقل مخصص" @@ -10073,13 +10183,13 @@ msgstr "أسم الحقل الذي سيكون DOCTYPE لهذا الحقل الا #: frappe/public/js/form_builder/store.js:175 msgid "Fieldname {0} appears multiple times" -msgstr "" +msgstr "يظهر اسم الحقل {0} عدة مرات" #: frappe/database/schema.py:398 msgid "Fieldname {0} cannot have special characters like {1}" msgstr "FIELDNAME {0} لا يمكن أن يكون أحرف خاصة مثل {1}" -#: frappe/core/doctype/doctype/doctype.py:1942 +#: frappe/core/doctype/doctype/doctype.py:2006 msgid "Fieldname {0} conflicting with meta object" msgstr "أسم الحقل {0} متعارض مع الكلمات الدلائلية" @@ -10121,15 +10231,15 @@ msgstr "الحقول متعددة" #: frappe/core/doctype/file/file.py:441 msgid "Fields `file_name` or `file_url` must be set for File" -msgstr "" +msgstr "يجب تحديد الحقلين `file_name` أو `file_url` للملف" #: frappe/model/db_query.py:167 msgid "Fields must be a list or tuple when as_list is enabled" -msgstr "" +msgstr "يجب أن تكون الحقول عبارة عن قائمة أو صف عند تفعيل as_list" -#: frappe/database/query.py:1011 +#: frappe/database/query.py:1054 msgid "Fields must be a string, list, tuple, pypika Field, or pypika Function" -msgstr "" +msgstr "يجب أن تكون الحقول عبارة عن سلسلة نصية، أو قائمة، أو صف، أو حقل pypika، أو دالة pypika" #. Description of the 'Search Fields' (Data) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -10151,9 +10261,9 @@ msgstr "سيتم تضمين الحقول المفصولة بفواصل (،) في msgid "Fieldtype" msgstr "نوع الحقل" -#: frappe/custom/doctype/custom_field/custom_field.py:194 +#: frappe/custom/doctype/custom_field/custom_field.py:195 msgid "Fieldtype cannot be changed from {0} to {1}" -msgstr "" +msgstr "لا يمكن تغيير نوع الحقل من {0} إلى {1}" #: frappe/custom/doctype/customize_form/customize_form.py:593 msgid "Fieldtype cannot be changed from {0} to {1} in row {2}" @@ -10168,7 +10278,7 @@ msgstr "ملف" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:499 msgid "File \"{0}\" was skipped because of invalid file type" -msgstr "" +msgstr "تم تخطي الملف \"{0}\" بسبب نوع ملف غير صالح" #: frappe/core/doctype/file/utils.py:128 msgid "File '{0}' not found" @@ -10198,7 +10308,7 @@ msgstr "حجم الملف" #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "File Storage" -msgstr "" +msgstr "تخزين الملفات" #. Label of the file_type (Data) field in DocType 'Access Log' #. Label of the file_type (Select) field in DocType 'Data Export' @@ -10227,22 +10337,22 @@ msgstr "لا يمكن أن يحتوي اسم الملف على {0}" msgid "File not attached" msgstr "الملف غير مرفق" -#: frappe/core/doctype/file/file.py:766 frappe/public/js/frappe/request.js:200 +#: frappe/core/doctype/file/file.py:766 frappe/public/js/frappe/request.js:198 #: frappe/utils/file_manager.py:221 msgid "File size exceeded the maximum allowed size of {0} MB" msgstr "تجاوز حجم الملف الحد الأقصى المسموح به لحجم {0} ميغابايت" -#: frappe/public/js/frappe/request.js:198 +#: frappe/public/js/frappe/request.js:196 msgid "File too big" msgstr "الملف كبير جدا" #: frappe/core/doctype/file/file.py:400 msgid "File type of {0} is not allowed" -msgstr "" +msgstr "نوع الملف {0} غير مسموح به" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:636 msgid "File upload failed." -msgstr "" +msgstr "فشل تحميل الملف." #: frappe/core/doctype/file/file.py:387 frappe/core/doctype/file/file.py:458 msgid "File {0} does not exist" @@ -10259,12 +10369,17 @@ msgstr "الملفات" #: frappe/desk/doctype/number_card/number_card.js:208 #: frappe/desk/doctype/number_card/number_card.js:347 #: frappe/email/doctype/auto_email_report/auto_email_report.js:93 -#: frappe/public/js/frappe/list/base_list.js:1336 +#: frappe/public/js/frappe/list/base_list.js:1353 #: frappe/public/js/frappe/ui/filters/filter_list.js:134 #: frappe/website/doctype/web_form/web_form.js:213 msgid "Filter" msgstr "منقي" +#. Label of the filter_area (HTML) field in DocType 'Workspace Sidebar Item' +#: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json +msgid "Filter Area" +msgstr "منطقة التصفية" + #. Label of the filter_data (Section Break) field in DocType 'Auto Email #. Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -10274,7 +10389,7 @@ msgstr "تصفية البيانات" #. Label of the filter_list (HTML) field in DocType 'Data Export' #: frappe/core/doctype/data_export/data_export.json msgid "Filter List" -msgstr "" +msgstr "قائمة تصفية" #. Label of the filter_meta (Text) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -10283,7 +10398,7 @@ msgstr "تصفية ميتا" #. Label of the filter_name (Data) field in DocType 'List Filter' #: frappe/desk/doctype/list_filter/list_filter.json -#: frappe/public/js/frappe/list/list_filter.js:84 +#: frappe/public/js/frappe/list/list_filter.js:101 msgid "Filter Name" msgstr "اسم الفلتر" @@ -10292,33 +10407,37 @@ msgstr "اسم الفلتر" msgid "Filter Values" msgstr "قيم التصفية" -#: frappe/database/query.py:690 +#: frappe/database/query.py:712 msgid "Filter condition missing after operator: {0}" -msgstr "" +msgstr "شرط التصفية مفقود بعد المعامل: {0}" -#: frappe/database/query.py:766 +#: frappe/database/query.py:800 msgid "Filter fields have invalid backtick notation: {0}" -msgstr "" +msgstr "تحتوي حقول التصفية على ترميز علامة اقتباس معكوسة غير صالح: {0}" #: frappe/printing/page/print_format_builder/print_format_builder_sidebar.html:3 msgid "Filter..." -msgstr "" +msgstr "فلتر..." #. Label of the filtered_by (Data) field in DocType 'Personal Data Deletion #. Step' #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json msgid "Filtered By" -msgstr "" +msgstr "تمت التصفية بواسطة" #: frappe/public/js/frappe/data_import/data_exporter.js:33 msgid "Filtered Records" msgstr "السجلات التي تمت تصفيتها" #: frappe/website/doctype/help_article/help_article.py:91 -#: frappe/www/portal.py:55 +#: frappe/www/portal.py:57 msgid "Filtered by \"{0}\"" msgstr "تمت تصفيتها من قبل "{0}"" +#: frappe/public/js/frappe/form/controls/link.js:729 +msgid "Filtered by: {0}." +msgstr "تمت التصفية بواسطة: {0}." + #. Label of the filters (Code) field in DocType 'Access Log' #. Label of the filters_sb (Section Break) field in DocType 'Prepared Report' #. Label of the filters (Small Text) field in DocType 'Prepared Report' @@ -10342,9 +10461,9 @@ msgstr "تمت تصفيتها من قبل "{0}"" #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/list/list_filter.js:18 +#: frappe/public/js/frappe/list/list_filter.js:19 msgid "Filters" -msgstr "" +msgstr "فلاتر" #. Label of the filters_config (Code) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json @@ -10359,7 +10478,7 @@ msgstr "عرض المرشحات" #. Label of the filters_editor (HTML) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Filters Editor" -msgstr "" +msgstr "محرر الفلاتر" #. Label of the filters_json (Code) field in DocType 'Dashboard Chart' #. Label of the filters_json (Code) field in DocType 'Number Card' @@ -10373,10 +10492,6 @@ msgstr "مرشحات JSON" msgid "Filters Section" msgstr "قسم المرشحات" -#: frappe/public/js/frappe/form/controls/link.js:595 -msgid "Filters applied for {0}" -msgstr "المرشحات المطبقة على {0}" - #: frappe/public/js/frappe/views/kanban/kanban_view.js:202 msgid "Filters saved" msgstr "مرشحات حفظ" @@ -10384,24 +10499,24 @@ msgstr "مرشحات حفظ" #. Description of the 'Script' (Code) field in DocType 'Report' #: frappe/core/doctype/report/report.json msgid "Filters will be accessible via filters.

Send output as result = [result], or for old style data = [columns], [result]" -msgstr "يمكن الوصول إلى filters عبر filters .

إرسال الإخراج result = [result] ، أو data = [columns], [result] النمط القديم data = [columns], [result]" +msgstr "" #: frappe/public/js/frappe/ui/filters/filter_list.js:133 msgid "Filters {0}" -msgstr "" +msgstr "الفلاتر {0}" #: frappe/public/js/frappe/views/reports/report_view.js:1423 msgid "Filters:" -msgstr "" +msgstr "عوامل التصفية:" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:616 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:586 msgid "Find '{0}' in ..." -msgstr "" +msgstr "ابحث عن '{0}' في ..." -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:399 #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:401 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:163 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:166 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:403 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:152 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:155 msgid "Find {0} in {1}" msgstr "البحث عن {0} في {1}" @@ -10413,7 +10528,7 @@ msgstr "تم الانتهاء من" #. Label of the report_end_time (Datetime) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json msgid "Finished At" -msgstr "" +msgstr "انتهى في" #. Label of the first_day_of_the_week (Select) field in DocType 'Language' #. Label of the first_day_of_the_week (Select) field in DocType 'System @@ -10421,7 +10536,7 @@ msgstr "" #: frappe/core/doctype/language/language.json #: frappe/core/doctype/system_settings/system_settings.json msgid "First Day of the Week" -msgstr "" +msgstr "اليوم الأول من الأسبوع" #. Label of the first_name (Data) field in DocType 'Contact' #. Label of the first_name (Data) field in DocType 'User' @@ -10449,7 +10564,7 @@ msgstr "أولا قم بتعيين الإسم وحفظ السجل." #: frappe/public/js/workflow_builder/WorkflowBuilder.vue:304 msgid "Fit" -msgstr "" +msgstr "ملائم" #. Label of the flag (Data) field in DocType 'Language' #: frappe/core/doctype/language/language.json @@ -10489,11 +10604,11 @@ msgstr "دقة الرقم العشري" msgid "Fold" msgstr "طية" -#: frappe/core/doctype/doctype/doctype.py:1465 +#: frappe/core/doctype/doctype/doctype.py:1479 msgid "Fold can not be at the end of the form" msgstr "لا يمكن أن تكون الطية في نهاية النموذج" -#: frappe/core/doctype/doctype/doctype.py:1463 +#: frappe/core/doctype/doctype/doctype.py:1477 msgid "Fold must come before a Section Break" msgstr "يجب أن تأتي أضعاف قبل فاصل القسم" @@ -10507,7 +10622,7 @@ msgstr "مجلد" #. Label of the folder_name (Data) field in DocType 'IMAP Folder' #: frappe/email/doctype/imap_folder/imap_folder.json msgid "Folder Name" -msgstr "" +msgstr "اسم المجلد" #: frappe/public/js/frappe/views/file/file_view.js:100 msgid "Folder name should not include '/' (slash)" @@ -10520,24 +10635,24 @@ msgstr "المجلد {0} غير فارغ" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Folio" -msgstr "" +msgstr "فوليو" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:128 -#: frappe/public/js/frappe/form/toolbar.js:912 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:149 +#: frappe/public/js/frappe/form/toolbar.js:945 msgid "Follow" msgstr "إتبع" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:123 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:144 msgid "Followed by" -msgstr "" +msgstr "يليه" #: frappe/email/doctype/auto_email_report/auto_email_report.py:134 msgid "Following Report Filters have missing values:" -msgstr "" +msgstr "تحتوي عوامل تصفية التقارير على قيم مفقودة:" #: frappe/desk/form/document_follow.py:63 msgid "Following document {0}" -msgstr "" +msgstr "المستند التالي {0}" #: frappe/website/doctype/web_form/web_form.py:109 msgid "Following fields are missing:" @@ -10545,11 +10660,11 @@ msgstr "الحقول التالية مفقودة:" #: frappe/public/js/frappe/ui/field_group.js:139 msgid "Following fields have invalid values:" -msgstr "" +msgstr "تحتوي الحقول التالية على قيم غير صالحة:" #: frappe/public/js/frappe/widgets/widget_dialog.js:358 msgid "Following fields have missing values" -msgstr "" +msgstr "الحقول التالية والقيم المفقودة" #: frappe/public/js/frappe/ui/field_group.js:126 msgid "Following fields have missing values:" @@ -10597,38 +10712,38 @@ msgstr "تذييل الصفحة" #. Label of the footer_powered (Small Text) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Footer \"Powered By\"" -msgstr "" +msgstr "تذييل الصفحة \"مدعوم بواسطة\"" #. Label of the footer_source (Select) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Footer Based On" -msgstr "" +msgstr "تذييل مبني على" #. Label of the footer (Text Editor) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Footer Content" -msgstr "" +msgstr "محتوى التذييل" #. Label of the footer_details_section (Section Break) field in DocType #. 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Footer Details" -msgstr "" +msgstr "تفاصيل التذييل" #. Label of the footer (HTML Editor) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Footer HTML" msgstr "تذييل HTML" -#: frappe/printing/doctype/letter_head/letter_head.py:81 +#: frappe/printing/doctype/letter_head/letter_head.py:88 msgid "Footer HTML set from attachment {0}" -msgstr "" +msgstr "تم تعيين كود HTML للتذييل من المرفق {0}" #. Label of the footer_image_section (Section Break) field in DocType 'Letter #. Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Footer Image" -msgstr "" +msgstr "صورة التذييل" #. Label of the footer (Section Break) field in DocType 'Website Settings' #. Label of the footer_items (Table) field in DocType 'Website Settings' @@ -10644,7 +10759,7 @@ msgstr "تذييل الشعار" #. Label of the footer_script (Code) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Footer Script" -msgstr "" +msgstr "نص تذييل الصفحة" #. Label of the footer_template (Link) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -10657,7 +10772,7 @@ msgstr "قالب التذييل" msgid "Footer Template Values" msgstr "قيم قالب التذييل" -#: frappe/printing/page/print/print.js:130 +#: frappe/printing/page/print/print.js:138 msgid "Footer might not be visible as {0} option is disabled" msgstr "" @@ -10670,7 +10785,7 @@ msgstr "سيعرض تذييل الصفحة بشكل صحيح في PDF فقط" #. Label of the for_doctype (Link) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "For DocType" -msgstr "" +msgstr "لنوع المستند" #. Description of the 'Row Name' (Data) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -10680,7 +10795,7 @@ msgstr "لإجراء DocType Link / DocType" #. Label of the for_document (Dynamic Link) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "For Document" -msgstr "" +msgstr "للمستند" #: frappe/core/doctype/user_permission/user_permission_list.js:155 msgid "For Document Type" @@ -10690,15 +10805,6 @@ msgstr "لنوع المستند" msgid "For Example: {} Open" msgstr "على سبيل المثال: {} Open" -#. Description of the 'Options' (Small Text) field in DocType 'DocField' -#. Description of the 'Options' (Small Text) field in DocType 'Customize Form -#. Field' -#: frappe/core/doctype/docfield/docfield.json -#: frappe/custom/doctype/customize_form_field/customize_form_field.json -msgid "For Links, enter the DocType as range.\n" -"For Select, enter list of Options, each on a new line." -msgstr "" - #. Label of the for_user (Link) field in DocType 'List Filter' #. Label of the for_user (Link) field in DocType 'Notification Log' #. Label of the for_user (Data) field in DocType 'Workspace' @@ -10722,20 +10828,16 @@ msgstr "للقيمة" msgid "For a dynamic subject, use Jinja tags like this: {{ doc.name }} Delivered" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2159 +#: frappe/public/js/frappe/views/reports/query_report.js:2220 #: frappe/public/js/frappe/views/reports/report_view.js:102 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)." - -#: frappe/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 "" #: frappe/public/js/frappe/utils/dashboard_utils.js:162 msgid "For example:" -msgstr "" +msgstr "على سبيل المثال:" -#: frappe/printing/page/print_format_builder/print_format_builder.js:752 +#: frappe/printing/page/print_format_builder/print_format_builder.js:786 msgid "For example: If you want to include the document ID, use {0}" msgstr "على سبيل المثال: إذا كنت تريد تضمين الوثيقة ID، استخدم {0}" @@ -10747,7 +10849,7 @@ msgstr "على سبيل المثال: {} فتح" #. Description of the 'Client script' (Code) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "For help see Client Script API and Examples" -msgstr "للحصول على المساعدة ، راجع أمثلة و API Script" +msgstr "" #: frappe/integrations/doctype/google_settings/google_settings.js:7 msgid "For more information, {0}." @@ -10757,13 +10859,13 @@ msgstr "لمزيد من المعلومات ، {0}." #. Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "For multiple addresses, enter the address on different line. e.g. test@test.com ⏎ test1@test.com" -msgstr "" +msgstr "لإدخال عناوين متعددة، أدخل العنوان في سطر منفصل. مثال: test@test.com ⏎ test1@test.com" #: frappe/core/doctype/data_export/exporter.py:197 msgid "For updating, you can update only selective columns." msgstr "لتحديث، يمكنك تحديث الأعمدة انتقائية فقط." -#: frappe/core/doctype/doctype/doctype.py:1786 +#: frappe/core/doctype/doctype/doctype.py:1800 msgid "For {0} at level {1} in {2} in row {3}" msgstr "ل {0} في {1} مستوى في {2} في {3} الصف" @@ -10782,11 +10884,11 @@ msgstr "فرض" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Force Re-route to Default View" -msgstr "" +msgstr "إعادة التوجيه إلى العرض الافتراضي" #: frappe/core/doctype/rq_job/rq_job.js:13 msgid "Force Stop job" -msgstr "" +msgstr "إيقاف الوظيفة بالقوة" #. Label of the force_user_to_reset_password (Int) field in DocType 'System #. Settings' @@ -10798,7 +10900,7 @@ msgstr "إجبار المستخدم على إعادة تعيين كلمة الم #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Force Web Capture Mode for Uploads" -msgstr "" +msgstr "فرض وضع التقاط الويب للتحميلات" #: frappe/www/login.html:37 msgid "Forgot Password?" @@ -10813,22 +10915,23 @@ msgstr "هل نسيت كلمة المرور؟" #: frappe/custom/doctype/client_script/client_script.json #: frappe/custom/doctype/customize_form/customize_form.json #: frappe/desk/doctype/form_tour/form_tour.json -#: frappe/printing/page/print/print.js:97 +#: frappe/printing/page/print/print.js:98 +#: frappe/printing/page/print/print.js:104 #: frappe/website/doctype/web_form/web_form.json msgid "Form" -msgstr "" +msgstr "استمارة" #. Label of the form_builder (HTML) field in DocType 'DocType' #. Label of the form_builder (HTML) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Form Builder" -msgstr "" +msgstr "منشئ النماذج" #. Label of the form_dict (Code) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "Form Dict" -msgstr "" +msgstr "نموذج قاموس" #. Label of the form_settings_section (Section Break) field in DocType #. 'DocType' @@ -10848,12 +10951,12 @@ msgstr "إعدادات النموذج" #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Form Tour" -msgstr "" +msgstr "تشكيل" #. Name of a DocType #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Form Tour Step" -msgstr "" +msgstr "جولات سياحية" #. Option for the 'Request Structure' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -10886,7 +10989,7 @@ msgstr "إلى الأمام" #. Route Redirect' #: frappe/website/doctype/website_route_redirect/website_route_redirect.json msgid "Forward Query Parameters" -msgstr "" +msgstr "معلمات الاستعلام الأمامي" #. Label of the forward_to_email (Data) field in DocType 'Contact Us Settings' #: frappe/website/doctype/contact_us_settings/contact_us_settings.json @@ -10913,11 +11016,11 @@ msgstr "فرابي" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Frappe Blog" -msgstr "" +msgstr "مدونة فرابيه" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Frappe Forum" -msgstr "" +msgstr "منتدى فرابيه" #: frappe/public/js/frappe/ui/toolbar/about.js:8 msgid "Frappe Framework" @@ -10925,36 +11028,36 @@ msgstr "الإطار فرابي" #: frappe/public/js/frappe/ui/theme_switcher.js:59 msgid "Frappe Light" -msgstr "" +msgstr "فرابيه لايت" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Frappe Mail" -msgstr "" +msgstr "بريد فرابيه" #: frappe/email/doctype/email_account/email_account.py:547 msgid "Frappe Mail OAuth Error" -msgstr "" +msgstr "خطأ في مصادقة بريد Frappe" #. Label of the frappe_mail_site (Data) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Frappe Mail Site" -msgstr "" +msgstr "موقع بريد فرابيه" #. Label of a standard help item #. Type: Route #: frappe/hooks.py msgid "Frappe Support" -msgstr "" +msgstr "دعم فرابيه" #: frappe/website/doctype/web_page/web_page.js:92 msgid "Frappe page builder using components" -msgstr "" +msgstr "أداة إنشاء صفحات Frappe باستخدام المكونات" #: frappe/public/js/frappe/file_uploader/ImageCropper.vue:112 msgctxt "Image Cropper" msgid "Free" -msgstr "" +msgstr "حر" #. Label of the frequency (Select) field in DocType 'Auto Repeat' #. Label of the frequency (Select) field in DocType 'Scheduled Job Type' @@ -10983,44 +11086,44 @@ msgstr "تكرر" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Friday" -msgstr "" +msgstr "الجمعة" #. Label of the sender (Data) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json #: frappe/core/doctype/permission_log/permission_log.js:12 #: frappe/public/js/frappe/views/inbox/inbox_view.js:70 msgid "From" -msgstr "" +msgstr "من" -#: frappe/public/js/frappe/views/communication.js:188 +#: frappe/public/js/frappe/views/communication.js:222 msgctxt "Email Sender" msgid "From" -msgstr "" +msgstr "من" #. Label of the from_attach_field (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "From Attach Field" -msgstr "" +msgstr "من حقل الإرفاق" #. Label of the from_date (Date) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/report/website_analytics/website_analytics.js:8 msgid "From Date" -msgstr "" +msgstr "من تاريخ" #. Label of the from_date_field (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "From Date Field" msgstr "من حقل التاريخ" -#: frappe/public/js/frappe/views/reports/query_report.js:1870 +#: frappe/public/js/frappe/views/reports/query_report.js:1919 msgid "From Document Type" msgstr "من نوع المستند" #. Option for the 'Attach Files' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "From Field" -msgstr "" +msgstr "من الميدان" #. Label of the sender_full_name (Data) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -11030,11 +11133,11 @@ msgstr "من الاسم الكامل" #. Label of the from_user (Link) field in DocType 'Notification Log' #: frappe/desk/doctype/notification_log/notification_log.json msgid "From User" -msgstr "" +msgstr "من المستخدم" #: frappe/public/js/frappe/utils/diffview.js:31 msgid "From version" -msgstr "" +msgstr "من الإصدار" #. Option for the 'Width' (Select) field in DocType 'Dashboard Chart Link' #: frappe/desk/doctype/dashboard_chart_link/dashboard_chart_link.json @@ -11054,7 +11157,7 @@ msgstr "ممتلئ" msgid "Full Name" msgstr "الاسم الكامل" -#: frappe/printing/page/print/print.js:81 +#: frappe/printing/page/print/print.js:87 #: frappe/public/js/frappe/form/templates/print_layout.html:42 msgid "Full Page" msgstr "صفحة كاملة" @@ -11067,7 +11170,7 @@ msgstr "العرض الكامل" #. Label of the function (Select) field in DocType 'Number Card' #. Label of the report_function (Select) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json -#: frappe/public/js/frappe/views/reports/query_report.js:246 +#: frappe/public/js/frappe/views/reports/query_report.js:247 #: frappe/public/js/frappe/widgets/widget_dialog.js:699 msgid "Function" msgstr "وظيفة" @@ -11076,17 +11179,17 @@ msgstr "وظيفة" msgid "Function Based On" msgstr "وظيفة على أساس" -#: frappe/__init__.py:465 +#: frappe/__init__.py:463 msgid "Function {0} is not whitelisted." -msgstr "" +msgstr "الدالة {0} غير مدرجة في القائمة البيضاء." -#: frappe/database/query.py:1998 +#: frappe/database/query.py:2076 msgid "Function {0} requires arguments but none were provided" -msgstr "" +msgstr "تتطلب الدالة {0} وسائط، ولكن لم يتم توفير أي منها." #: frappe/public/js/frappe/views/treeview.js:419 msgid "Further sub-groups can only be created under records marked as 'Group'" -msgstr "" +msgstr "لا يمكن إنشاء مجموعات فرعية إضافية إلا ضمن السجلات المصنفة على أنها \"مجموعة\"." #: frappe/core/doctype/communication/communication.js:291 msgid "Fw: {0}" @@ -11095,7 +11198,7 @@ msgstr "FW: {0}" #. Option for the 'Method' (Select) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "GET" -msgstr "" +msgstr "يحصل" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -11105,12 +11208,12 @@ msgstr "بريد جوجل" #. Option for the 'License Type' (Select) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "GNU Affero General Public License" -msgstr "" +msgstr "رخصة جنو أفيرو العامة" #. Option for the 'License Type' (Select) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "GNU General Public License" -msgstr "" +msgstr "رخصة جنو العمومية العامة" #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json @@ -11120,7 +11223,7 @@ msgstr "جانت" #: frappe/public/js/frappe/list/base_list.js:206 msgid "Gantt View" -msgstr "" +msgstr "عرض جانت" #. Label of the gender (Link) field in DocType 'Contact' #. Name of a DocType @@ -11145,29 +11248,29 @@ msgstr "عام" msgid "Generate Keys" msgstr "توليد مفاتيح" -#: frappe/public/js/frappe/views/reports/query_report.js:885 +#: frappe/public/js/frappe/views/reports/query_report.js:902 msgid "Generate New Report" msgstr "توليد تقرير جديد" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:467 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:469 msgid "Generate Random Password" -msgstr "" +msgstr "توليد كلمة مرور عشوائية" #. Label of the generate_separate_documents_for_each_assignee (Check) field in #. DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json msgid "Generate Separate Documents For Each Assignee" -msgstr "" +msgstr "إنشاء مستندات منفصلة لكل مُحال إليه" -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:284 -#: frappe/public/js/frappe/utils/utils.js:1942 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:328 +#: frappe/public/js/frappe/utils/utils.js:2073 msgid "Generate Tracking URL" -msgstr "" +msgstr "إنشاء رابط تتبع" #. Option for the 'Provider' (Select) field in DocType 'Geolocation Settings' #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.json msgid "Geoapify" -msgstr "" +msgstr "Geoapify" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -11181,7 +11284,7 @@ msgstr "تحديد الموقع الجغرافي" #. Name of a DocType #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.json msgid "Geolocation Settings" -msgstr "" +msgstr "إعدادات تحديد الموقع الجغرافي" #: frappe/email/doctype/notification/notification.js:236 msgid "Get Alerts for Today" @@ -11189,7 +11292,7 @@ msgstr "الحصول على تنبيهات لهذا اليوم" #: frappe/desk/page/backups/backups.js:21 msgid "Get Backup Encryption Key" -msgstr "" +msgstr "احصل على مفتاح التشفير الاحتياطي" #. Label of the get_contacts (Button) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -11202,31 +11305,31 @@ msgstr "احصل على الحقول" #: frappe/printing/doctype/letter_head/letter_head.js:32 msgid "Get Header and Footer wkhtmltopdf variables" -msgstr "" +msgstr "استخراج متغيرات رأس وتذييل الصفحة باستخدام wkhtmltopdf" #: frappe/public/js/frappe/form/multi_select_dialog.js:86 msgid "Get Items" -msgstr "" +msgstr "احصل على البنود" #: frappe/integrations/doctype/connected_app/connected_app.js:6 msgid "Get OpenID Configuration" -msgstr "" +msgstr "الحصول على إعدادات OpenID" #: frappe/www/printview.html:22 msgid "Get PDF" -msgstr "" +msgstr "احصل على ملف PDF" #. Description of the 'Try a Naming Series' (Data) field in DocType 'Document #. Naming Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Get a preview of generated names with a series." -msgstr "" +msgstr "احصل على معاينة للأسماء التي تم إنشاؤها باستخدام سلسلة." #. Description of the 'Email Threads on Assigned Document' (Check) field in #. DocType 'Notification Settings' #: frappe/desk/doctype/notification_settings/notification_settings.json msgid "Get notified when an email is received on any of the documents assigned to you." -msgstr "" +msgstr "سيتم إعلامك عند استلام بريد إلكتروني بخصوص أي من المستندات المخصصة لك." #. Description of the 'User Image' (Attach Image) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -11246,7 +11349,7 @@ msgstr "جت هب (GITHUB)" #: frappe/website/doctype/web_page/web_page.js:92 msgid "Github flavoured markdown syntax" -msgstr "" +msgstr "صيغة Markdown بنكهة GitHub" #. Name of a DocType #: frappe/desk/doctype/global_search_doctype/global_search_doctype.json @@ -11271,7 +11374,7 @@ msgstr "اختصارات العالمية" msgid "Global Unsubscribe" msgstr "إلغاء الاشتراك العالمية" -#: frappe/public/js/frappe/form/toolbar.js:876 +#: frappe/public/js/frappe/form/toolbar.js:879 msgid "Go" msgstr "اذهب" @@ -11282,7 +11385,7 @@ msgstr "عد" #: frappe/desk/doctype/notification_settings/notification_settings.js:17 msgid "Go to Notification Settings List" -msgstr "" +msgstr "انتقل إلى قائمة إعدادات الإشعارات" #. Option for the 'Action' (Select) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json @@ -11291,11 +11394,11 @@ msgstr "انتقل إلى صفحة" #: frappe/public/js/workflow_builder/workflow_builder.bundle.js:41 msgid "Go to Workflow" -msgstr "" +msgstr "انتقل إلى سير العمل" #: frappe/desk/doctype/workspace/workspace.js:18 msgid "Go to Workspace" -msgstr "" +msgstr "انتقل إلى مساحة العمل" #: frappe/public/js/frappe/form/form.js:145 msgid "Go to next record" @@ -11312,7 +11415,7 @@ msgstr "انتقل إلى المستند" #. Description of the 'Success URL' (Data) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Go to this URL after completing the form" -msgstr "" +msgstr "انتقل إلى هذا الرابط بعد إكمال النموذج" #: frappe/core/doctype/doctype/doctype.js:54 #: frappe/custom/doctype/client_script/client_script.js:12 @@ -11325,13 +11428,13 @@ msgstr "اذهب إلى {0}" #: frappe/custom/doctype/doctype_layout/doctype_layout.js:42 #: frappe/workflow/doctype/workflow/workflow.js:44 msgid "Go to {0} List" -msgstr "" +msgstr "انتقل إلى قائمة {0}" #: frappe/core/doctype/page/page.js:11 msgid "Go to {0} Page" msgstr "انتقل إلى صفحة {0}" -#: frappe/utils/goal.py:127 frappe/utils/goal.py:134 +#: frappe/utils/goal.py:126 frappe/utils/goal.py:133 msgid "Goal" msgstr "الهدف" @@ -11350,7 +11453,7 @@ msgstr "جوجل تحليلات ID" #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Google Analytics anonymise IP" -msgstr "" +msgstr "يقوم جوجل أناليتكس بإخفاء عنوان IP" #. Label of the sb_00 (Section Break) field in DocType 'Event' #. Label of the google_calendar (Link) field in DocType 'Event' @@ -11439,13 +11542,13 @@ msgstr "محرك جوجل" #. Settings' #: frappe/integrations/doctype/google_settings/google_settings.json msgid "Google Drive Picker" -msgstr "" +msgstr "أداة اختيار جوجل درايف" #. Label of the google_drive_picker_enabled (Check) field in DocType 'Google #. Settings' #: frappe/integrations/doctype/google_settings/google_settings.json msgid "Google Drive Picker Enabled" -msgstr "" +msgstr "تم تفعيل أداة اختيار جوجل درايف" #. Label of the font (Data) field in DocType 'Print Format' #. Label of the google_font (Data) field in DocType 'Website Theme' @@ -11458,7 +11561,7 @@ msgstr "خط جوجل" #. Label of the google_meet_link (Small Text) field in DocType 'Event' #: frappe/desk/doctype/event/event.json msgid "Google Meet Link" -msgstr "" +msgstr "رابط جوجل ميت" #. Label of a Card Break in the Integrations Workspace #: frappe/integrations/workspace/integrations/integrations.json @@ -11489,44 +11592,44 @@ msgstr "منحة نوع" #: frappe/public/js/frappe/form/dashboard.js:34 #: frappe/public/js/frappe/form/templates/form_dashboard.html:10 msgid "Graph" -msgstr "" +msgstr "رسم بياني" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Gray" -msgstr "" +msgstr "رمادي" #: frappe/public/js/frappe/ui/filters/filter.js:23 msgid "Greater Than" -msgstr "" +msgstr "أكبر من" #: frappe/public/js/frappe/ui/filters/filter.js:25 msgid "Greater Than Or Equal To" -msgstr "" +msgstr "أكبر من أو يساوي" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Green" -msgstr "" +msgstr "أخضر" #: frappe/public/js/form_builder/components/controls/TableControl.vue:53 msgid "Grid Empty State" -msgstr "" +msgstr "حالة الشبكة الفارغة" #. Label of the grid_page_length (Int) field in DocType 'DocType' #. Label of the grid_page_length (Int) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Grid Page Length" -msgstr "" +msgstr "طول صفحة الشبكة" #: frappe/public/js/frappe/ui/keyboard.js:127 msgid "Grid Shortcuts" -msgstr "" +msgstr "اختصارات الشبكة" #. Label of the group (Data) field in DocType 'DocType Action' #. Label of the group (Data) field in DocType 'DocType Link' @@ -11535,13 +11638,13 @@ msgstr "" #: frappe/core/doctype/doctype_link/doctype_link.json #: frappe/website/doctype/website_sidebar_item/website_sidebar_item.json msgid "Group" -msgstr "" +msgstr "مجموعة" #. Option for the 'Chart Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/report/website_analytics/website_analytics.js:32 msgid "Group By" -msgstr "" +msgstr "مجموعة من" #. Label of the group_by_based_on (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -11557,19 +11660,19 @@ msgstr "مجموعة حسب النوع" msgid "Group By field is required to create a dashboard chart" msgstr "حقل تجميع حسب مطلوب لإنشاء مخطط لوحة القيادة" -#: frappe/database/query.py:1200 +#: frappe/database/query.py:1242 msgid "Group By must be a string" -msgstr "" +msgstr "يجب أن تكون عبارة Group By سلسلة نصية" #. Label of the ldap_group_objectclass (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Group Object Class" -msgstr "" +msgstr "فئة كائن المجموعة" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Group your custom doctypes under modules" -msgstr "" +msgstr "قم بتجميع أنواع المستندات المخصصة الخاصة بك ضمن وحدات نمطية." #: frappe/public/js/frappe/ui/group_by/group_by.js:428 msgid "Grouped by {0}" @@ -11578,12 +11681,12 @@ msgstr "" #. Option for the 'Method' (Select) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "HEAD" -msgstr "" +msgstr "رأس" #. Option for the 'Provider' (Select) field in DocType 'Geolocation Settings' #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.json msgid "HERE" -msgstr "" +msgstr "هنا" #. Option for the 'Time Format' (Select) field in DocType 'Language' #. Option for the 'Time Format' (Select) field in DocType 'System Settings' @@ -11626,7 +11729,7 @@ msgstr "HH: MM: SS" #: frappe/website/doctype/web_page/web_page.js:92 #: frappe/website/doctype/web_page/web_page.json msgid "HTML" -msgstr "" +msgstr "HTML" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -11637,6 +11740,10 @@ msgstr "" msgid "HTML Editor" msgstr "محرر HTML" +#: frappe/public/js/frappe/views/communication.js:142 +msgid "HTML Message" +msgstr "رسالة HTML" + #. Label of the page (HTML Editor) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json msgid "HTML Page" @@ -11649,7 +11756,7 @@ msgstr "HTML لرأس القسم. اختياري" #: frappe/website/doctype/web_page/web_page.js:92 msgid "HTML with jinja support" -msgstr "" +msgstr "HTML مع دعم Jinja" #. Option for the 'Width' (Select) field in DocType 'Dashboard Chart Link' #: frappe/desk/doctype/dashboard_chart_link/dashboard_chart_link.json @@ -11661,7 +11768,7 @@ msgstr "نصف" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Half Yearly" -msgstr "" +msgstr "نصف سنوي" #. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -11672,7 +11779,7 @@ msgstr "نصف سنوي" #. Label of the handled_emails (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Handled Emails" -msgstr "" +msgstr "معالجة رسائل البريد الإلكتروني" #. Label of the has_attachment (Check) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -11687,7 +11794,7 @@ msgstr "لديه نطاق" #. Label of the has_next_condition (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Has Next Condition" -msgstr "" +msgstr "لديه الشرط التالي" #. Name of a DocType #: frappe/core/doctype/has_role/has_role.json @@ -11698,7 +11805,7 @@ msgstr "له صلاحية" #. Application' #: frappe/core/doctype/installed_application/installed_application.json msgid "Has Setup Wizard" -msgstr "" +msgstr "يحتوي على معالج إعداد" #. Label of the has_web_view (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -11725,19 +11832,19 @@ msgstr "العنوان الرأسي" msgid "Header HTML" msgstr "رأس HTML" -#: frappe/printing/doctype/letter_head/letter_head.py:69 +#: frappe/printing/doctype/letter_head/letter_head.py:76 msgid "Header HTML set from attachment {0}" msgstr "تعيين HTML رأس من المرفق {0}" #. Label of the header_icon (Icon) field in DocType 'Workspace Sidebar' #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json msgid "Header Icon" -msgstr "" +msgstr "أيقونة رأس الصفحة" #. Label of the header_script (Code) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Header Script" -msgstr "" +msgstr "نص رأس الصفحة" #. Label of the sb2 (Section Break) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json @@ -11748,11 +11855,11 @@ msgstr "رأس وفتات الخبز" #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Header, Robots" -msgstr "" +msgstr "رأس الصفحة، الروبوتات" #: frappe/printing/doctype/letter_head/letter_head.js:30 msgid "Header/Footer scripts can be used to add dynamic behaviours." -msgstr "" +msgstr "يمكن استخدام البرامج النصية الخاصة بالرأس/التذييل لإضافة سلوكيات ديناميكية." #. Label of the webhook_headers (Table) field in DocType 'Webhook' #. Label of the headers (Code) field in DocType 'Webhook Request Log' @@ -11761,9 +11868,9 @@ msgstr "" msgid "Headers" msgstr "الترويسات" -#: frappe/email/email_body.py:322 +#: frappe/email/email_body.py:323 msgid "Headers must be a dictionary" -msgstr "" +msgstr "يجب أن تكون العناوين عبارة عن قاموس" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -11786,7 +11893,7 @@ msgstr "خريطة الحرارة" #: frappe/templates/emails/new_user.html:2 msgid "Hello" -msgstr "" +msgstr "مرحبًا" #: frappe/templates/emails/user_invitation.html:2 #: frappe/templates/emails/user_invitation_cancelled.html:2 @@ -11798,11 +11905,11 @@ msgstr "مرحبًا," #. Label of the help (HTML) field in DocType 'Property Setter' #: frappe/core/doctype/server_script/server_script.json #: frappe/custom/doctype/property_setter/property_setter.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:59 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:80 #: frappe/public/js/frappe/form/workflow.js:23 #: frappe/public/js/frappe/utils/help.js:27 msgid "Help" -msgstr "" +msgstr "مساعدة" #. Name of a DocType #. Label of a Link in the Website Workspace @@ -11814,7 +11921,7 @@ msgstr "صفحة المساعدة" #. Label of the help_articles (Int) field in DocType 'Help Category' #: frappe/website/doctype/help_category/help_category.json msgid "Help Articles" -msgstr "" +msgstr "مقالات المساعدة" #. Name of a DocType #. Label of a Link in the Website Workspace @@ -11836,12 +11943,12 @@ msgstr "مساعدة HTML" #. Description of the 'Content' (Text Editor) field in DocType 'Note' #: frappe/desk/doctype/note/note.json msgid "Help: To link to another record in the system, use \"/desk/note/[Note Name]\" as the Link URL. (don't use \"http://\")" -msgstr "" +msgstr "مساعدة: للربط بسجل آخر في النظام، استخدم \"/desk/note/[اسم الملاحظة]\" كعنوان URL للرابط. (لا تستخدم \"http://\")." #. Label of the helpful (Int) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json msgid "Helpful" -msgstr "" +msgstr "متعاون" #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -11851,11 +11958,11 @@ msgstr "هلفتيكا" #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Helvetica Neue" -msgstr "" +msgstr "هيلفيتيكا نيو" -#: frappe/public/js/frappe/utils/utils.js:1939 +#: frappe/public/js/frappe/utils/utils.js:2070 msgid "Here's your tracking URL" -msgstr "" +msgstr "إليك رابط التتبع الخاص بك" #: frappe/www/qrcode.html:9 msgid "Hi {0}" @@ -11887,10 +11994,10 @@ msgstr "مخفي" #. Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Hidden Fields" -msgstr "" +msgstr "الحقول الخفية" -#: frappe/public/js/frappe/views/reports/query_report.js:1672 -msgid "Hidden columns include: {0}" +#: frappe/public/js/frappe/views/reports/query_report.js:1716 +msgid "Hidden columns include:
{0}" msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' @@ -11920,7 +12027,7 @@ msgstr "إخفاء الحدود" #. Label of the hide_buttons (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Hide Buttons" -msgstr "" +msgstr "إخفاء الأزرار" #. Label of the allow_copy (Check) field in DocType 'DocType' #. Label of the allow_copy (Check) field in DocType 'Customize Form' @@ -11947,21 +12054,21 @@ msgstr "إخفاء الأيام" #: frappe/core/doctype/user_permission/user_permission.json #: frappe/core/doctype/user_permission/user_permission_list.js:96 msgid "Hide Descendants" -msgstr "" +msgstr "أحفاد الاختباء" #. Label of the hide_empty_read_only_fields (Check) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Hide Empty Read-Only Fields" -msgstr "" +msgstr "إخفاء الحقول الفارغة للقراءة فقط" #: frappe/www/error.html:62 msgid "Hide Error" -msgstr "" +msgstr "إخفاء الخطأ" #: frappe/printing/page/print_format_builder/print_format_builder.js:488 msgid "Hide Label" -msgstr "" +msgstr "إخفاء التسمية" #. Label of the hide_login (Check) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -11971,12 +12078,12 @@ msgstr "إخفاء تسجيل الدخول" #: frappe/public/js/form_builder/form_builder.bundle.js:43 #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:54 msgid "Hide Preview" -msgstr "" +msgstr "إخفاء المعاينة" #. Description of the 'Hide Buttons' (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Hide Previous, Next and Close button on highlight dialog." -msgstr "" +msgstr "إخفاء أزرار السابق والتالي والإغلاق في مربع حوار التمييز." #. Label of the hide_seconds (Check) field in DocType 'DocField' #. Label of the hide_seconds (Check) field in DocType 'Custom Field' @@ -11990,7 +12097,7 @@ msgstr "إخفاء الثواني" #. Label of the hide_toolbar (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Hide Sidebar, Menu, and Comments" -msgstr "" +msgstr "إخفاء الشريط الجانبي والقائمة والتعليقات" #. Label of the hide_standard_menu (Check) field in DocType 'Portal Settings' #: frappe/website/doctype/portal_settings/portal_settings.json @@ -12014,7 +12121,7 @@ msgstr "إخفاء التفاصيل" #. Label of the hide_footer (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Hide footer" -msgstr "" +msgstr "إخفاء التذييل" #. Label of the hide_footer_in_auto_email_reports (Check) field in DocType #. 'System Settings' @@ -12025,18 +12132,18 @@ msgstr "إخفاء تذييل الصفحة في تقارير البريد الإ #. Label of the hide_footer_signup (Check) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Hide footer signup" -msgstr "" +msgstr "إخفاء التسجيل في أسفل الصفحة" #. Label of the hide_navbar (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Hide navbar" -msgstr "" +msgstr "إخفاء شريط التنقل" #. Option for the 'Priority' (Select) field in DocType 'ToDo' #: frappe/desk/doctype/todo/todo.json #: frappe/public/js/frappe/form/sidebar/assign_to.js:228 msgid "High" -msgstr "" +msgstr "مستوى عالي" #. Description of the 'Priority' (Int) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -12046,7 +12153,7 @@ msgstr "سيتم تطبيق قاعدة الأولوية الأعلى أولاً" #. Label of the highlight (Text) field in DocType 'Company History' #: frappe/website/doctype/company_history/company_history.json msgid "Highlight" -msgstr "" +msgstr "أبرز النقاط" #: frappe/www/update-password.html:301 msgid "Hint: Include symbols, numbers and capital letters in the password" @@ -12056,14 +12163,14 @@ msgstr "تلميح: تضمين الرموز والأرقام والأحرف ال #: frappe/public/js/frappe/file_uploader/FileBrowser.vue:38 #: frappe/public/js/frappe/views/file/file_view.js:67 #: frappe/public/js/frappe/views/file/file_view.js:88 -#: frappe/public/js/frappe/views/pageview.js:161 frappe/templates/doc.html:19 +#: frappe/public/js/frappe/views/pageview.js:166 frappe/templates/doc.html:19 #: frappe/templates/includes/navbar/navbar.html:9 #: frappe/website/doctype/website_settings/website_settings.json #: frappe/website/web_template/primary_navbar/primary_navbar.html:9 #: frappe/www/contact.py:25 frappe/www/login.html:170 frappe/www/me.html:76 #: frappe/www/message.html:29 msgid "Home" -msgstr "" +msgstr "الصفحة الرئيسية" #. Label of the home_page (Data) field in DocType 'Role' #. Label of the home_page (Data) field in DocType 'Website Settings' @@ -12110,7 +12217,7 @@ msgstr "كل ساعة طويلة" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Hourly Maintenance" -msgstr "" +msgstr "الصيانة بالساعة" #. Description of the 'Password Reset Link Generation Limit' (Int) field in #. DocType 'System Settings' @@ -12131,7 +12238,7 @@ msgstr "كيف ينبغي أن يتم تنسيق هذه العملة؟ إذا ل #. Description of the 'Resource Name' (Data) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Human-readable name intended for display to the end user." -msgstr "" +msgstr "اسم سهل القراءة مخصص للعرض للمستخدم النهائي." #. Paragraph text in the Welcome Workspace Workspace #: frappe/core/workspace/welcome_workspace/welcome_workspace.json @@ -12139,32 +12246,32 @@ msgid "I guess you don't have access to any workspace yet, but you can create on msgstr "" #. Label of the id (Data) field in DocType 'User Session Display' -#: frappe/core/doctype/data_import/importer.py:1173 -#: frappe/core/doctype/data_import/importer.py:1179 -#: frappe/core/doctype/data_import/importer.py:1244 -#: frappe/core/doctype/data_import/importer.py:1247 +#: frappe/core/doctype/data_import/importer.py:1174 +#: frappe/core/doctype/data_import/importer.py:1180 +#: frappe/core/doctype/data_import/importer.py:1245 +#: frappe/core/doctype/data_import/importer.py:1248 #: frappe/core/doctype/user_session_display/user_session_display.json #: frappe/desk/report/todo/todo.py:36 frappe/model/meta.py:52 -#: frappe/public/js/frappe/data_import/data_exporter.js:330 -#: frappe/public/js/frappe/data_import/data_exporter.js:345 +#: frappe/public/js/frappe/data_import/data_exporter.js:354 +#: frappe/public/js/frappe/data_import/data_exporter.js:369 #: frappe/public/js/frappe/list/list_settings.js:335 -#: frappe/public/js/frappe/list/list_view.js:387 -#: frappe/public/js/frappe/list/list_view.js:451 -#: frappe/public/js/frappe/list/list_view.js:2409 +#: frappe/public/js/frappe/list/list_view.js:390 +#: frappe/public/js/frappe/list/list_view.js:454 +#: frappe/public/js/frappe/list/list_view.js:2437 #: frappe/public/js/frappe/model/meta.js:208 #: frappe/public/js/frappe/model/model.js:122 msgid "ID" -msgstr "" +msgstr "هوية شخصية" #: frappe/desk/reportview.py:529 #: frappe/public/js/frappe/views/reports/report_view.js:983 msgctxt "Label of name column in report" msgid "ID" -msgstr "" +msgstr "هوية شخصية" #: frappe/public/js/print_format_builder/PrintFormatControls.vue:169 msgid "ID (name)" -msgstr "" +msgstr "الهوية (الاسم)" #. Description of the 'Field Name' (Data) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -12174,13 +12281,13 @@ msgstr "ID (اسم) للكيان الذي هو الملكية التي سيتم #. Description of the 'Section ID' (Data) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "IDs must contain only alphanumeric characters, not contain spaces, and should be unique." -msgstr "" +msgstr "يجب أن تحتوي المعرفات على أحرف وأرقام فقط، ولا تحتوي على مسافات، ويجب أن تكون فريدة." #. Label of the section_break_25 (Section Break) field in DocType 'Email #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "IMAP Details" -msgstr "" +msgstr "تفاصيل IMAP" #. Label of the imap_folder (Data) field in DocType 'Communication' #. Label of the imap_folder (Table) field in DocType 'Email Account' @@ -12189,7 +12296,7 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/imap_folder/imap_folder.json msgid "IMAP Folder" -msgstr "" +msgstr "مجلد IMAP" #. Label of the ip_address (Data) field in DocType 'Activity Log' #. Label of the ip_address (Data) field in DocType 'Comment' @@ -12201,7 +12308,6 @@ msgid "IP Address" msgstr "عنوان IP" #. Option for the 'Type' (Select) field in DocType 'DocField' -#. Label of the icon (Icon) field in DocType 'DocField' #. Label of the icon (Data) field in DocType 'DocType' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' @@ -12222,20 +12328,29 @@ msgstr "عنوان IP" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/integrations/doctype/social_login_key/social_login_key.json -#: frappe/public/js/frappe/views/workspace/workspace.js:472 +#: frappe/public/js/frappe/views/workspace/workspace.js:520 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Icon" msgstr "أيقونة" +#. Label of the icon_image (Attach) field in DocType 'Desktop Icon' +#: frappe/desk/doctype/desktop_icon/desktop_icon.json +msgid "Icon Image" +msgstr "صورة أيقونة" + #. Label of the icon_style (Select) field in DocType 'Desktop Settings' #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Icon Style" -msgstr "" +msgstr "نمط الأيقونة" #. Label of the icon_type (Select) field in DocType 'Desktop Icon' #: frappe/desk/doctype/desktop_icon/desktop_icon.json msgid "Icon Type" -msgstr "" +msgstr "نوع الأيقونة" + +#: frappe/desk/page/desktop/desktop.js:1004 +msgid "Icon is not correctly configured please check the workspace sidebar to it" +msgstr "لم يتم ضبط الأيقونة بشكل صحيح، يرجى مراجعة الشريط الجانبي لمساحة العمل." #. Description of the 'Icon' (Select) field in DocType 'Workflow State' #: frappe/workflow/doctype/workflow_state/workflow_state.json @@ -12268,21 +12383,21 @@ msgstr "إذا تم تحديد تطبيق تصريح المستخدم الصار msgid "If Checked workflow status will not override status in list view" msgstr "إذا ووضع العمل تم الفحص لا تجاوز الوضع في عرض القائمة" -#: frappe/core/doctype/doctype/doctype.py:1798 +#: frappe/core/doctype/doctype/doctype.py:1812 #: frappe/core/report/user_doctype_permissions/user_doctype_permissions.py:45 #: frappe/public/js/frappe/roles_editor.js:68 msgid "If Owner" msgstr "إذا المالك" -#: frappe/core/page/permission_manager/permission_manager_help.html:25 +#: frappe/core/page/permission_manager/permission_manager_help.html:92 msgid "If a Role does not have access at Level 0, then higher levels are meaningless." -msgstr "" +msgstr "إذا لم يكن لدى الدور إمكانية الوصول في المستوى 0، فإن المستويات الأعلى تصبح بلا معنى." #. Description of the 'Enable Action Confirmation' (Check) field in DocType #. 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "If checked, a confirmation will be required before performing workflow actions." -msgstr "" +msgstr "في حال تم تحديد هذا الخيار، سيلزم تأكيد قبل تنفيذ إجراءات سير العمل." #. Description of the 'Is Active' (Check) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -12293,7 +12408,7 @@ msgstr "إذا تم، جميع مهام سير العمل الأخرى تصبح #. Format' #: frappe/printing/doctype/print_format/print_format.json msgid "If checked, negative numeric values of Currency, Quantity or Count would be shown as positive" -msgstr "" +msgstr "في حال تحديد هذا الخيار، ستظهر القيم العددية السالبة للعملة أو الكمية أو العدد على أنها موجبة." #. Description of the 'Skip Authorization' (Check) field in DocType 'OAuth #. Client' @@ -12315,7 +12430,7 @@ msgstr "في حالة التمكين ، يمكن للمستخدم تسجيل ا #. Description of the 'Anonymous responses' (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "If enabled, all responses on the web form will be submitted anonymously" -msgstr "" +msgstr "في حال تفعيل هذه الخاصية، سيتم إرسال جميع الردود على نموذج الويب بشكل مجهول." #. Description of the 'Bypass restricted IP Address check If Two Factor Auth #. Enabled' (Check) field in DocType 'System Settings' @@ -12354,7 +12469,7 @@ msgstr "في حالة التمكين ، سيظهر الإشعار في القا #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "If enabled, the password strength will be enforced based on the Minimum Password Score value. A value of 1 being very weak and 4 being very strong." -msgstr "" +msgstr "في حال تفعيل هذه الخاصية، سيتم تطبيق قوة كلمة المرور بناءً على الحد الأدنى لقيمة نقاط كلمة المرور. القيمة 1 تعني كلمة مرور ضعيفة جدًا، بينما القيمة 4 تعني كلمة مرور قوية جدًا." #. Description of the 'Bypass Two Factor Auth for users who login from #. restricted IP Address' (Check) field in DocType 'System Settings' @@ -12371,7 +12486,7 @@ msgstr "إذا تم تمكينه، فسيتم إشعار المستخدمين ف #. Description of the 'Default Workspace' (Link) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "If left empty, the default workspace will be the last visited workspace" -msgstr "" +msgstr "إذا تُركت فارغة، فستكون مساحة العمل الافتراضية هي مساحة العمل التي تمت زيارتها آخر مرة." #. Description of the 'Port' (Data) field in DocType 'Email Domain' #: frappe/email/doctype/email_domain/email_domain.json @@ -12399,6 +12514,14 @@ msgstr "إذا لم يتم تعيينها، فإن دقة العملة تعتم #. Description of the 'Roles' (Table) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json msgid "If set, only user with these roles can access this chart. If not set, DocType or Report permissions will be used." +msgstr "في حال التعيين، لن يتمكن من الوصول إلى هذا المخطط إلا المستخدمون الذين يملكون هذه الأدوار. أما في حال عدم التعيين، فسيتم استخدام أذونات نوع المستند أو التقرير." + +#: frappe/core/page/permission_manager/permission_manager_help.html:83 +msgid "If the user enables the mask property for the phone number field, the value will be displayed in a masked format (e.g., 811XXXXXXX)." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:63 +msgid "If the user has access to Employee and Report is enabled, they can view Employee-based reports." msgstr "" #. Description of the 'User Type' (Link) field in DocType 'User' @@ -12406,13 +12529,13 @@ msgstr "" msgid "If the user has any role checked, then the user becomes a \"System User\". \"System User\" has access to the desktop" msgstr "إذا كان المستخدم لديه أي دور تم اختياره، فسيصبح المستخدم \"مستخدم النظام\". \"مستخدم النظام\" لديه حق الوصول إلى سطح المكتب" -#: frappe/core/page/permission_manager/permission_manager_help.html:38 +#: frappe/core/page/permission_manager/permission_manager_help.html:105 msgid "If these instructions where not helpful, please add in your suggestions on GitHub Issues." -msgstr "" +msgstr "إذا لم تكن هذه التعليمات مفيدة، فيرجى إضافة اقتراحاتك على قسم المشكلات في GitHub." #: frappe/templates/emails/user_invitation_cancelled.html:8 msgid "If this was a mistake or you need access again, please reach out to your team." -msgstr "" +msgstr "إذا كان هذا خطأً أو كنت بحاجة إلى الوصول مرة أخرى، فيرجى التواصل مع فريقك." #. Description of the 'Fetch on Save if Empty' (Check) field in DocType #. 'DocField' @@ -12424,7 +12547,7 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "If unchecked, the value will always be re-fetched on save." -msgstr "" +msgstr "إذا لم يتم تحديد هذا الخيار، فسيتم دائمًا إعادة جلب القيمة عند الحفظ." #. Label of the if_owner (Check) field in DocType 'Custom DocPerm' #. Label of the if_owner (Check) field in DocType 'DocPerm' @@ -12447,11 +12570,11 @@ msgstr "إذا كنت تحميل سجلات جديدة، وترك \"اسم\" (ID #: frappe/templates/emails/user_invitation.html:19 msgid "If you have any questions, reach out to your system administrator." -msgstr "" +msgstr "إذا كانت لديك أي أسئلة، فتواصل مع مسؤول النظام لديك." #: frappe/utils/password.py:213 msgid "If you have recently restored the site, you may need to copy the site_config.json containing the original encryption key." -msgstr "" +msgstr "إذا قمت مؤخرًا باستعادة الموقع، فقد تحتاج إلى نسخ ملف site_config.json الذي يحتوي على مفتاح التشفير الأصلي." #. Description of the 'Parent Label' (Select) field in DocType 'Top Bar Item' #: frappe/website/doctype/top_bar_item/top_bar_item.json @@ -12465,7 +12588,7 @@ msgstr "إذا كنت تعتقد أن هذا غير المصرح به، الرج #. Description of the 'Delimiter Options' (Data) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "If your CSV uses a different delimiter, add that character here, ensuring no spaces or additional characters are included." -msgstr "" +msgstr "إذا كان ملف CSV الخاص بك يستخدم فاصلًا مختلفًا، فأضف هذا الحرف هنا، مع التأكد من عدم وجود مسافات أو أحرف إضافية." #. Description of the 'Source Text' (Code) field in DocType 'Translation' #: frappe/core/doctype/translation/translation.json @@ -12504,9 +12627,9 @@ msgstr "تجاهل إرفاق ملفات أكثر من هذا الحجم" #. Label of the ignored_apps (Table) field in DocType 'Website Theme' #: frappe/website/doctype/website_theme/website_theme.json msgid "Ignored Apps" -msgstr "التطبيقات التي تم تجاهلها" +msgstr "تطبيقات تم تجاهلها" -#: frappe/model/workflow.py:202 +#: frappe/model/workflow.py:223 msgid "Illegal Document Status for {0}" msgstr "حالة المستند غير القانوني لـ {0}" @@ -12517,7 +12640,7 @@ msgstr "استعلام SQL غير قانوني" #: frappe/utils/jinja.py:127 msgid "Illegal template" -msgstr "" +msgstr "قالب غير قانوني" #. Label of the image (Attach Image) field in DocType 'Contact' #. Option for the 'Type' (Select) field in DocType 'DocField' @@ -12555,7 +12678,7 @@ msgstr "صورة الميدان" #. Label of the footer_image_height (Float) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Image Height" -msgstr "" +msgstr "ارتفاع الصورة" #. Label of the image_link (Attach) field in DocType 'About Us Team Member' #: frappe/website/doctype/about_us_team_member/about_us_team_member.json @@ -12564,33 +12687,33 @@ msgstr "رابط الصورة" #: frappe/public/js/frappe/list/base_list.js:209 msgid "Image View" -msgstr "" +msgstr "عرض الصورة" #. Label of the image_width (Float) field in DocType 'Letter Head' #. Label of the footer_image_width (Float) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Image Width" -msgstr "" +msgstr "عرض الصورة" -#: frappe/core/doctype/doctype/doctype.py:1521 +#: frappe/core/doctype/doctype/doctype.py:1535 msgid "Image field must be a valid fieldname" msgstr "يجب أن يكون حقل الصورة اسم حقل صالحا" -#: frappe/core/doctype/doctype/doctype.py:1523 +#: frappe/core/doctype/doctype/doctype.py:1537 msgid "Image field must be of type Attach Image" msgstr "يجب أن يكون حقل الصورة من النوع إرفاق صورة" #: frappe/core/doctype/file/utils.py:136 msgid "Image link '{0}' is not valid" -msgstr "" +msgstr "رابط الصورة '{0}' غير صالح" #: frappe/core/doctype/file/file.js:112 msgid "Image optimized" -msgstr "" +msgstr "صورة مُحسّنة" #: frappe/core/doctype/file/utils.py:289 msgid "Image: Corrupted Data Stream" -msgstr "" +msgstr "صورة: تدفق بيانات تالف" #: frappe/public/js/frappe/views/image/image_view.js:13 msgid "Images" @@ -12600,23 +12723,23 @@ msgstr "صور" #: frappe/core/doctype/activity_log/activity_log.json #: frappe/core/doctype/user/user.js:379 msgid "Impersonate" -msgstr "" +msgstr "انتحال الشخصية" #: frappe/core/doctype/user/user.js:406 msgid "Impersonate as {0}" -msgstr "" +msgstr "انتحال شخصية {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:357 msgid "Impersonated by {0}" -msgstr "" +msgstr "انتحل شخصيته {0}" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:23 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:13 msgid "Impersonating {0}" msgstr "" #: frappe/core/doctype/log_settings/log_settings.py:56 msgid "Implement `clear_old_logs` method to enable auto error clearing." -msgstr "" +msgstr "قم بتنفيذ طريقة `clear_old_logs` لتمكين مسح الأخطاء تلقائيًا." #. Option for the 'Grant Type' (Select) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json @@ -12628,14 +12751,15 @@ msgstr "ضمني" #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/recorder/recorder_list.js:16 +#: frappe/core/page/permission_manager/permission_manager_help.html:71 #: frappe/email/doctype/email_group/email_group.js:31 msgid "Import" -msgstr "" +msgstr "استيراد" -#: frappe/public/js/frappe/list/list_view.js:1914 +#: frappe/public/js/frappe/list/list_view.js:1922 msgctxt "Button in list view menu" msgid "Import" -msgstr "" +msgstr "استيراد" #: frappe/email/doctype/email_group/email_group.js:14 msgid "Import Email From" @@ -12656,7 +12780,7 @@ msgstr "استيراد ملف الأخطاء والتحذيرات" #. Import' #: frappe/core/doctype/data_import/data_import.json msgid "Import Log" -msgstr "" +msgstr "سجل الاستيراد" #. Label of the import_log_preview (HTML) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -12670,7 +12794,7 @@ msgstr "استيراد معاينة" #: frappe/core/doctype/data_import/data_import.js:41 msgid "Import Progress" -msgstr "" +msgstr "استيراد التقدم" #: frappe/email/doctype/email_group/email_group.js:8 #: frappe/email/doctype/email_group/email_group.js:30 @@ -12706,11 +12830,11 @@ msgstr "يجب أن يحتوي قالب الاستيراد على رأس صف و #: frappe/core/doctype/data_import/data_import.js:171 msgid "Import timed out, please re-try." -msgstr "" +msgstr "انتهت مهلة الاستيراد، يرجى المحاولة مرة أخرى." #: frappe/core/doctype/data_import/data_import.py:71 msgid "Importing {0} is not allowed." -msgstr "" +msgstr "استيراد {0} غير مسموح به." #: frappe/integrations/doctype/google_contacts/google_contacts.js:19 msgid "Importing {0} of {1}" @@ -12718,7 +12842,7 @@ msgstr "استيراد {0} من {1}" #: frappe/core/doctype/data_import/data_import.js:35 msgid "Importing {0} of {1}, {2}" -msgstr "" +msgstr "استيراد {0} من {1} ، {2}" #: frappe/public/js/frappe/ui/filters/filter.js:20 msgid "In" @@ -12768,7 +12892,7 @@ msgstr "في عرض القائمة" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.js:19 msgid "In Minutes" -msgstr "" +msgstr "في دقائق" #. Label of the in_preview (Check) field in DocType 'DocField' #. Label of the in_preview (Check) field in DocType 'Custom Field' @@ -12781,11 +12905,11 @@ msgstr "في المعاينة" #: frappe/core/doctype/data_import/data_import.js:42 msgid "In Progress" -msgstr "" +msgstr "في تَقَدم" #: frappe/database/database.py:288 msgid "In Read Only Mode" -msgstr "" +msgstr "في وضع القراءة فقط" #. Label of the in_reply_to (Link) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -12829,16 +12953,16 @@ msgstr "مسؤل علبة الوارد" #: frappe/public/js/frappe/list/base_list.js:210 msgid "Inbox View" -msgstr "" +msgstr "عرض البريد الوارد" #: frappe/public/js/frappe/views/treeview.js:110 msgid "Include Disabled" -msgstr "" +msgstr "يشمل ذوي الاحتياجات الخاصة" #. Label of the include_name_field (Check) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Include Name Field" -msgstr "" +msgstr "تضمين حقل الاسم" #. Label of the navbar_search (Check) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -12855,15 +12979,15 @@ msgid "Include Web View Link in Email" msgstr "إرسال ارتباط عرض الويب للمستند بالبريد الإلكتروني" #: frappe/public/js/frappe/form/print_utils.js:59 -#: frappe/public/js/frappe/views/reports/query_report.js:1650 +#: frappe/public/js/frappe/views/reports/query_report.js:1690 msgid "Include filters" -msgstr "" +msgstr "تضمين عوامل التصفية" -#: frappe/public/js/frappe/views/reports/query_report.js:1670 +#: frappe/public/js/frappe/views/reports/query_report.js:1712 msgid "Include hidden columns" -msgstr "" +msgstr "تضمين الأعمدة المخفية" -#: frappe/public/js/frappe/views/reports/query_report.js:1642 +#: frappe/public/js/frappe/views/reports/query_report.js:1682 msgid "Include indentation" msgstr "تشمل المسافة البادئة" @@ -12875,32 +12999,32 @@ msgstr "تضمين الرموز والأرقام والأحرف الكبيرة #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Incoming" -msgstr "" +msgstr "الوارد" #. Label of the mailbox_settings (Section Break) field in DocType 'Email #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Incoming (POP/IMAP) Settings" -msgstr "" +msgstr "إعدادات البريد الوارد (POP/IMAP)" #. Label of the incoming_emails_last_7_days_column (Column Break) field in #. DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Incoming Emails (Last 7 days)" -msgstr "" +msgstr "رسائل البريد الإلكتروني الواردة (آخر 7 أيام)" #. Label of the email_server (Data) field in DocType 'Email Account' #. Label of the email_server (Data) field in DocType 'Email Domain' #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_domain/email_domain.json msgid "Incoming Server" -msgstr "" +msgstr "الخادم الوارد" #. Label of the mailbox_settings (Section Break) field in DocType 'Email #. Domain' #: frappe/email/doctype/email_domain/email_domain.json msgid "Incoming Settings" -msgstr "" +msgstr "إعدادات الاستقبال" #: frappe/email/doctype/email_domain/email_domain.py:32 msgid "Incoming email account not correct" @@ -12908,7 +13032,7 @@ msgstr "حساب البريد الإلكتروني الوارد غير صحيح" #: frappe/model/virtual_doctype.py:79 frappe/model/virtual_doctype.py:92 msgid "Incomplete Virtual Doctype Implementation" -msgstr "" +msgstr "تنفيذ غير مكتمل لنوع المستند الافتراضي" #: frappe/auth.py:261 msgid "Incomplete login details" @@ -12930,18 +13054,18 @@ msgstr "مستخدم غير صحيح أو كلمة مرور" msgid "Incorrect Verification code" msgstr "رمز التحقق غير صحيح" -#: frappe/model/document.py:1604 +#: frappe/model/document.py:1603 msgid "Incorrect value in row {0}:" msgstr "" -#: frappe/model/document.py:1606 +#: frappe/model/document.py:1605 msgid "Incorrect value:" msgstr "" #. Label of the indent (Check) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Indent" -msgstr "" +msgstr "مسافة بادئة" #. Label of the search_index (Check) field in DocType 'DocField' #. Label of the index (Int) field in DocType 'Recorder Query' @@ -12962,19 +13086,19 @@ msgstr "فهرس صفحات الويب للبحث" #: frappe/core/doctype/recorder/recorder.py:132 msgid "Index created successfully on column {0} of doctype {1}" -msgstr "" +msgstr "تم إنشاء الفهرس بنجاح على العمود {0} من نوع المستند {1}" #. Label of the indexing_authorization_code (Data) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Indexing authorization code" -msgstr "" +msgstr "رمز تفويض الفهرسة" #. Label of the indexing_refresh_token (Data) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Indexing refresh token" -msgstr "" +msgstr "رمز تحديث الفهرسة" #. Label of the indicator (Select) field in DocType 'Kanban Board Column' #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json @@ -12984,11 +13108,11 @@ msgstr "مؤشر" #. Label of the indicator_color (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Indicator Color" -msgstr "" +msgstr "لون المؤشر" -#: frappe/public/js/frappe/views/workspace/workspace.js:477 +#: frappe/public/js/frappe/views/workspace/workspace.js:525 msgid "Indicator color" -msgstr "" +msgstr "لون المؤشر" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Option for the 'Button Color' (Select) field in DocType 'DocField' @@ -13016,12 +13140,12 @@ msgstr "عدد مزامنة الأولي" #. Option for the 'Database Engine' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "InnoDB" -msgstr "" +msgstr "إنود بي" #. Description of the 'New Role' (Data) field in DocType 'Role Replication' #: frappe/core/doctype/role_replication/role_replication.json msgid "Input existing role name if you would like to extend it with access of another role." -msgstr "" +msgstr "أدخل اسم الدور الحالي إذا كنت ترغب في توسيعه ليشمل صلاحيات دور آخر." #: frappe/core/doctype/data_import/data_import_list.js:35 msgid "Insert" @@ -13029,25 +13153,25 @@ msgstr "إدراج" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Insert Above" -msgstr "" +msgstr "أدخل أعلاه" #. Label of the insert_after (Select) field in DocType 'Custom Field' #: frappe/custom/doctype/custom_field/custom_field.json -#: frappe/public/js/frappe/views/reports/query_report.js:1915 +#: frappe/public/js/frappe/views/reports/query_report.js:1964 msgid "Insert After" msgstr "إدراج بعد" -#: frappe/custom/doctype/custom_field/custom_field.py:252 +#: frappe/custom/doctype/custom_field/custom_field.py:253 msgid "Insert After cannot be set as {0}" msgstr "الإدراج بعد لا يمكن تعيينه ك {0}" -#: frappe/custom/doctype/custom_field/custom_field.py:245 +#: frappe/custom/doctype/custom_field/custom_field.py:246 msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist" msgstr "إدراج بعد الحقل '{0}' المذكورة في الحقل المخصص '{1}'، مع التصنيف '{2}'، غير موجود" #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Insert Below" -msgstr "" +msgstr "أدخل أدناه" #: frappe/public/js/frappe/views/reports/report_view.js:389 msgid "Insert Column Before {0}" @@ -13055,7 +13179,7 @@ msgstr "إدراج عمود قبل {0}" #: frappe/public/js/frappe/form/controls/markdown_editor.js:82 msgid "Insert Image in Markdown" -msgstr "" +msgstr "إدراج صورة في Markdown" #. Option for the 'Import Type' (Select) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -13069,12 +13193,12 @@ msgstr "إدراج نمط" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Instagram" -msgstr "" +msgstr "انستغرام" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:715 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:716 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:683 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:684 msgid "Install {0} from Marketplace" -msgstr "" +msgstr "قم بتثبيت {0} من المتجر" #. Name of a DocType #: frappe/core/doctype/installed_application/installed_application.json @@ -13091,36 +13215,36 @@ msgstr "التطبيقات المثبتة" #: frappe/core/doctype/installed_applications/installed_applications.js:18 #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Installed Apps" -msgstr "" +msgstr "التطبيقات المُثبَّتة" #. Label of the instructions (HTML) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Instructions" msgstr "تعليمات" -#: frappe/templates/includes/login/login.js:261 +#: frappe/templates/includes/login/login.js:259 msgid "Instructions Emailed" -msgstr "" +msgstr "التعليمات مرسلة عبر البريد الإلكتروني" -#: frappe/permissions.py:855 +#: frappe/permissions.py:861 msgid "Insufficient Permission Level for {0}" -msgstr "" +msgstr "مستوى الصلاحية غير كافٍ لـ {0}" -#: frappe/database/query.py:1266 +#: frappe/database/query.py:1308 msgid "Insufficient Permission for {0}" msgstr "عدم كفاية الإذن {0}" #: frappe/desk/reportview.py:363 msgid "Insufficient Permissions for deleting Report" -msgstr "" +msgstr "ليس لديك الصلاحية لحذف التقرير" #: frappe/desk/reportview.py:334 msgid "Insufficient Permissions for editing Report" -msgstr "" +msgstr "ليس لديك الصلاحية لتعديل هذا التقرير" #: frappe/core/doctype/doctype/doctype.py:447 msgid "Insufficient attachment limit" -msgstr "" +msgstr "حد المرفقات غير كافٍ" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Fieldtype' (Select) field in DocType 'Report Column' @@ -13162,7 +13286,7 @@ msgstr "يمكن التكامل استخدام هذا الحقل لتغيير ا #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Inter" -msgstr "" +msgstr "بين" #. Label of the interest (Small Text) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -13172,27 +13296,32 @@ msgstr "الإهتمامات او الفوائد" #. Option for the 'Level' (Select) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json msgid "Intermediate" -msgstr "" +msgstr "متوسط" -#: frappe/public/js/frappe/request.js:235 +#: frappe/public/js/frappe/request.js:233 msgid "Internal Server Error" msgstr "خطأ في الخادم الداخلي" #. Description of a DocType #: frappe/core/doctype/docshare/docshare.json msgid "Internal record of document shares" +msgstr "سجل داخلي لمشاركة المستندات" + +#. Label of the interval (Select) field in DocType 'Event Notifications' +#: frappe/desk/doctype/event_notifications/event_notifications.json +msgid "Interval" msgstr "" #. Label of the intro_video_url (Data) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Intro Video URL" -msgstr "" +msgstr "رابط الفيديو التعريفي" #. Description of the 'Company Introduction' (Text Editor) field in DocType #. 'About Us Settings' #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "Introduce your company to the website visitor." -msgstr "اعرض شركتك لزائرن الموقع الألكتروني" +msgstr "اعرض شركتك لزائري الموقع الإلكتروني" #. Label of the introduction_section (Section Break) field in DocType 'Contact #. Us Settings' @@ -13202,7 +13331,7 @@ msgstr "اعرض شركتك لزائرن الموقع الألكتروني" #: frappe/website/doctype/contact_us_settings/contact_us_settings.json #: frappe/website/doctype/web_form/web_form.json msgid "Introduction" -msgstr "" +msgstr "مقدمة" #. Description of the 'Introduction' (Text Editor) field in DocType 'Contact Us #. Settings' @@ -13213,32 +13342,32 @@ msgstr "المعلومات التمهيدية لصفحة اتصل بنا" #. Label of the introspection_uri (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Introspection URI" -msgstr "" +msgstr "معرّف الموارد الموحد للاستبطان" #. Option for the 'Validity' (Select) field in DocType 'OAuth Authorization #. Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "Invalid" -msgstr "" +msgstr "غير صالحة" #: frappe/public/js/form_builder/utils.js:221 -#: frappe/public/js/frappe/form/grid_row.js:849 -#: frappe/public/js/frappe/form/layout.js:835 +#: frappe/public/js/frappe/form/grid_row.js:848 +#: frappe/public/js/frappe/form/layout.js:809 #: frappe/public/js/frappe/views/reports/report_view.js:715 msgid "Invalid \"depends_on\" expression" msgstr "تعبير "under_on" غير صالح" -#: frappe/public/js/frappe/views/reports/query_report.js:519 +#: frappe/public/js/frappe/views/reports/query_report.js:520 msgid "Invalid \"depends_on\" expression set in filter {0}" msgstr "تم تعيين تعبير "يعتمد على" غير صالح في عامل التصفية {0}" #: frappe/public/js/frappe/form/save.js:219 msgid "Invalid \"mandatory_depends_on\" expression" -msgstr "" +msgstr "تعبير \"mandatory_depends_on\" غير صالح" #: frappe/utils/nestedset.py:178 msgid "Invalid Action" -msgstr "" +msgstr "إجراء غير صالح" #: frappe/utils/csvutils.py:37 msgid "Invalid CSV Format" @@ -13246,19 +13375,19 @@ msgstr "تنسيق CSV غير صالح" #: frappe/integrations/frappe_providers/frappecloud_billing.py:111 msgid "Invalid Code. Please try again." -msgstr "" +msgstr "رمز غير صالح. يرجى المحاولة مرة أخرى." #: frappe/integrations/doctype/webhook/webhook.py:91 msgid "Invalid Condition: {}" -msgstr "" +msgstr "شرط غير صالح: {}" #: frappe/email/smtp.py:136 msgid "Invalid Credentials" -msgstr "" +msgstr "بيانات الاعتماد غير صالحة" #: frappe/email/smtp.py:138 msgid "Invalid Credentials for Email Account: {0}" -msgstr "" +msgstr "بيانات اعتماد غير صالحة لحساب البريد الإلكتروني: {0}" #: frappe/utils/data.py:146 frappe/utils/data.py:309 msgid "Invalid Date" @@ -13266,32 +13395,33 @@ msgstr "تاريخ غير صالح" #: frappe/www/list.py:30 msgid "Invalid DocType" -msgstr "" +msgstr "نوع المستند غير صالح" -#: frappe/database/query.py:342 +#: frappe/database/query.py:345 msgid "Invalid DocType: {0}" -msgstr "" +msgstr "نوع المستند غير صالح: {0}" #: frappe/email/doctype/email_group/email_group.py:51 msgid "Invalid Doctype" -msgstr "" +msgstr "نوع المستند غير صالح" -#: frappe/core/doctype/doctype/doctype.py:1287 +#: frappe/core/doctype/doctype/doctype.py:1292 +#: frappe/core/doctype/doctype/doctype.py:1301 msgid "Invalid Fieldname" -msgstr "" +msgstr "اسم حقل غير صالح" #: frappe/core/doctype/file/file.py:231 msgid "Invalid File URL" -msgstr "" +msgstr "عنوان URL للملف غير صالح" -#: frappe/database/query.py:768 frappe/database/query.py:795 -#: frappe/database/query.py:805 frappe/database/query.py:828 +#: frappe/database/query.py:802 frappe/database/query.py:829 +#: frappe/database/query.py:839 frappe/database/query.py:862 msgid "Invalid Filter" -msgstr "" +msgstr "فلتر غير صالح" #: frappe/public/js/form_builder/store.js:221 msgid "Invalid Filter Format for field {0} of type {1}. Try using filter icon on the field to set it correctly" -msgstr "" +msgstr "تنسيق التصفية غير صالح للحقل {0} من النوع {1}. حاول استخدام أيقونة التصفية على الحقل لضبطه بشكل صحيح." #: frappe/utils/dashboard.py:61 msgid "Invalid Filter Value" @@ -13309,56 +13439,56 @@ msgstr "رابط غير صالح" msgid "Invalid Login Token" msgstr "صالح رمز الدخول" -#: frappe/templates/includes/login/login.js:290 +#: frappe/templates/includes/login/login.js:288 msgid "Invalid Login. Try again." -msgstr "" +msgstr "بيانات تسجيل دخول غير صحيحة. حاول مرة أخرى." #: frappe/email/receive.py:112 frappe/email/receive.py:149 msgid "Invalid Mail Server. Please rectify and try again." msgstr "خادم البريد غير صالحة . يرجى تصحيح و حاول مرة أخرى." -#: frappe/model/naming.py:109 +#: frappe/model/naming.py:107 msgid "Invalid Naming Series: {}" -msgstr "" +msgstr "سلسلة تسمية غير صالحة: {}" #: frappe/core/doctype/data_import/data_import.py:182 #: frappe/core/doctype/prepared_report/prepared_report.py:200 #: frappe/core/doctype/rq_job/rq_job.py:113 #: frappe/core/doctype/rq_job/rq_job.py:122 msgid "Invalid Operation" -msgstr "" +msgstr "عملية غير صالحة" -#: frappe/core/doctype/doctype/doctype.py:1656 -#: frappe/core/doctype/doctype/doctype.py:1664 +#: frappe/core/doctype/doctype/doctype.py:1670 +#: frappe/core/doctype/doctype/doctype.py:1678 msgid "Invalid Option" msgstr "خيار غير صالح" #: frappe/email/smtp.py:103 msgid "Invalid Outgoing Mail Server or Port: {0}" -msgstr "" +msgstr "خادم البريد الصادر أو المنفذ غير صالح: {0}" #: frappe/email/doctype/auto_email_report/auto_email_report.py:208 msgid "Invalid Output Format" msgstr "تنسيق الإخراج غير صالح" -#: frappe/model/base_document.py:126 +#: frappe/model/base_document.py:128 msgid "Invalid Override" -msgstr "" +msgstr "تجاوز غير صالح" #: frappe/integrations/doctype/connected_app/connected_app.py:202 msgid "Invalid Parameters." -msgstr "" +msgstr "معلمات غير صالحة." #: frappe/www/update-password.html:148 frappe/www/update-password.html:169 #: frappe/www/update-password.html:171 frappe/www/update-password.html:272 msgid "Invalid Password" msgstr "رمز مرور خاطئ" -#: frappe/utils/__init__.py:125 +#: frappe/utils/__init__.py:116 msgid "Invalid Phone Number" -msgstr "" +msgstr "رقم هاتف غير صالح" -#: frappe/auth.py:97 frappe/utils/oauth.py:213 frappe/utils/oauth.py:220 +#: frappe/auth.py:97 frappe/utils/oauth.py:213 frappe/utils/oauth.py:222 #: frappe/www/login.py:128 msgid "Invalid Request" msgstr "طلب غير صالح" @@ -13367,20 +13497,20 @@ msgstr "طلب غير صالح" msgid "Invalid Search Field {0}" msgstr "حقل البحث غير صالح {0}" -#: frappe/core/doctype/doctype/doctype.py:1229 +#: frappe/core/doctype/doctype/doctype.py:1232 msgid "Invalid Table Fieldname" -msgstr "" +msgstr "اسم حقل الجدول غير صالح" #: frappe/public/js/workflow_builder/store.js:192 msgid "Invalid Transition" -msgstr "" +msgstr "انتقال غير صالح" #: frappe/core/doctype/file/file.py:242 #: frappe/public/js/frappe/file_uploader/FileUploader.vue:551 #: frappe/public/js/frappe/widgets/widget_dialog.js:602 #: frappe/utils/csvutils.py:226 frappe/utils/csvutils.py:247 msgid "Invalid URL" -msgstr "" +msgstr "URL غير صالح" #: frappe/email/receive.py:157 msgid "Invalid User Name or Support Password. Please rectify and try again." @@ -13388,55 +13518,59 @@ msgstr "اسم المستخدم غير صحيح أو كلمة المرور ال #: frappe/public/js/frappe/ui/field_group.js:137 msgid "Invalid Values" -msgstr "" +msgstr "قيم غير صالحة" #: frappe/integrations/doctype/webhook/webhook.py:120 msgid "Invalid Webhook Secret" -msgstr "" +msgstr "سر Webhook غير صالح" #: frappe/desk/reportview.py:190 msgid "Invalid aggregate function" -msgstr "" +msgstr "دالة تجميع غير صالحة" -#: frappe/database/query.py:2157 +#: frappe/database/query.py:2236 msgid "Invalid alias format: {0}. Alias must be a simple identifier." -msgstr "" +msgstr "تنسيق الاسم المستعار غير صالح: {0}. يجب أن يكون الاسم المستعار مُعرّفًا بسيطًا." #: frappe/core/doctype/user_invitation/user_invitation.py:195 msgid "Invalid app" -msgstr "" +msgstr "تطبيق غير صالح" -#: frappe/database/query.py:2118 frappe/database/query.py:2133 +#: frappe/database/query.py:2197 frappe/database/query.py:2212 msgid "Invalid argument format: {0}. Only quoted string literals or simple field names are allowed." -msgstr "" +msgstr "تنسيق الوسيطة غير صالح: {0}. يُسمح فقط بالسلاسل النصية المقتبسة أو أسماء الحقول البسيطة." -#: frappe/database/query.py:2083 +#: frappe/database/query.py:2161 msgid "Invalid argument type: {0}. Only strings, numbers, dicts, and None are allowed." -msgstr "" +msgstr "نوع الوسيط غير صالح: {0}. يُسمح فقط بالسلاسل النصية والأرقام والقواميس وNone." -#: frappe/database/query.py:801 +#: frappe/database/query.py:835 msgid "Invalid characters in fieldname: {0}. Only letters, numbers, and underscores are allowed." -msgstr "" +msgstr "الأحرف غير الصالحة في اسم الحقل: {0}. يُسمح فقط بالأحرف والأرقام والشرطات السفلية." -#: frappe/database/query.py:971 +#: frappe/database/query.py:1014 msgid "Invalid characters in table name: {0}" -msgstr "" +msgstr "أحرف غير صالحة في اسم الجدول: {0}" #: frappe/public/js/frappe/views/reports/report_view.js:398 msgid "Invalid column" msgstr "عمود غير صالح" -#: frappe/database/query.py:713 +#: frappe/database/query.py:735 msgid "Invalid condition type in nested filters: {0}" -msgstr "" +msgstr "نوع الشرط غير صالح في عوامل التصفية المتداخلة: {0}" -#: frappe/database/query.py:1244 +#: frappe/database/query.py:1286 msgid "Invalid direction in Order By: {0}. Must be 'ASC' or 'DESC'." -msgstr "" +msgstr "اتجاه غير صالح في ترتيب العناصر: {0}. يجب أن يكون 'ASC' أو 'DESC'." -#: frappe/model/document.py:1065 frappe/model/document.py:1079 +#: frappe/model/document.py:1064 frappe/model/document.py:1078 msgid "Invalid docstatus" -msgstr "" +msgstr "حالة المستند غير صالحة" + +#: frappe/model/workflow.py:112 +msgid "Invalid expression in Workflow Update Value: {0}" +msgstr "تعبير غير صالح في قيمة تحديث سير العمل: {0}" #: frappe/public/js/frappe/utils/dashboard_utils.js:229 msgid "Invalid expression set in filter {0}" @@ -13446,23 +13580,23 @@ msgstr "تم تعيين تعبير غير صالح في عامل التصفية msgid "Invalid expression set in filter {0} ({1})" msgstr "تم تعيين تعبير غير صالح في عامل التصفية {0} ({1})" -#: frappe/database/query.py:1886 +#: frappe/database/query.py:1964 msgid "Invalid field format for SELECT: {0}. Field names must be simple, backticked, table-qualified, aliased, or '*'." -msgstr "" +msgstr "تنسيق الحقل غير صالح لـ SELECT: {0}. يجب أن تكون أسماء الحقول بسيطة، أو تحتوي على علامات اقتباس معكوسة، أو مؤهلة بالجدول، أو ذات أسماء مستعارة، أو '*'." -#: frappe/database/query.py:1184 +#: frappe/database/query.py:1227 msgid "Invalid field format in {0}: {1}. Use 'field', 'link_field.field', or 'child_table.field'." -msgstr "" +msgstr "تنسيق الحقل غير صالح في {0}: {1}. استخدم 'field' أو 'link_field.field' أو 'child_table.field'." #: frappe/utils/data.py:2288 msgid "Invalid field name {0}" msgstr "اسم الحقل غير صالح {0}" -#: frappe/database/query.py:1070 +#: frappe/database/query.py:1113 msgid "Invalid field type: {0}" -msgstr "" +msgstr "نوع الحقل غير صالح: {0}" -#: frappe/core/doctype/doctype/doctype.py:1100 +#: frappe/core/doctype/doctype/doctype.py:1103 msgid "Invalid fieldname '{0}' in autoname" msgstr "اسم الحقل غير صالح '{0}' في الااسم تلقائي" @@ -13470,25 +13604,25 @@ msgstr "اسم الحقل غير صالح '{0}' في الااسم تلقائي" msgid "Invalid file path: {0}" msgstr "مسار الملف غير صالح: {0}" -#: frappe/database/query.py:696 +#: frappe/database/query.py:718 msgid "Invalid filter condition: {0}. Expected a list or tuple." -msgstr "" +msgstr "شرط التصفية غير صالح: {0}. كان من المتوقع وجود قائمة أو صف." -#: frappe/database/query.py:791 +#: frappe/database/query.py:825 msgid "Invalid filter field format: {0}. Use 'fieldname' or 'link_fieldname.target_fieldname'." -msgstr "" +msgstr "تنسيق حقل التصفية غير صالح: {0}. استخدم 'fieldname' أو 'link_fieldname.target_fieldname'." #: frappe/public/js/frappe/ui/filters/filter_list.js:201 msgid "Invalid filter: {0}" msgstr "مرشح غير صالح: {0}" -#: frappe/database/query.py:2003 +#: frappe/database/query.py:2081 msgid "Invalid function argument type: {0}. Only strings, numbers, lists, and None are allowed." -msgstr "" +msgstr "نوع وسيط الدالة غير صالح: {0}. يُسمح فقط بالسلاسل النصية والأرقام والقوائم وNone." #: frappe/core/api/user_invitation.py:17 msgid "Invalid input" -msgstr "" +msgstr "إدخال غير صالح" #: frappe/desk/doctype/dashboard/dashboard.py:67 #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:424 @@ -13497,23 +13631,23 @@ msgstr "تمت إضافة json غير صالح في الخيارات المخص #: frappe/core/api/user_invitation.py:115 msgid "Invalid key" -msgstr "" +msgstr "مفتاح غير صالح" -#: frappe/model/naming.py:498 +#: frappe/model/naming.py:496 msgid "Invalid name type (integer) for varchar name column" -msgstr "" +msgstr "نوع اسم غير صالح (عدد صحيح) لعمود اسم varchar" -#: frappe/model/naming.py:62 +#: frappe/model/naming.py:60 msgid "Invalid naming series {}: dot (.) missing" -msgstr "" +msgstr "سلسلة تسمية غير صالحة {}: النقطة (.) مفقودة" -#: frappe/model/naming.py:76 +#: frappe/model/naming.py:74 msgid "Invalid naming series {}: dot (.) missing before the numeric placeholders. Kindly use a format like ABCD.#####." msgstr "" -#: frappe/database/query.py:2075 +#: frappe/database/query.py:2153 msgid "Invalid nested expression: dictionary must represent a function or operator" -msgstr "" +msgstr "تعبير متداخل غير صالح: يجب أن يمثل القاموس دالة أو عاملًا" #: frappe/core/doctype/data_import/importer.py:453 msgid "Invalid or corrupted content for import" @@ -13521,27 +13655,27 @@ msgstr "محتوى غير صالح أو تالف للاستيراد" #: frappe/website/doctype/website_settings/website_settings.py:139 msgid "Invalid redirect regex in row #{}: {}" -msgstr "" +msgstr "تعبير إعادة التوجيه غير صالح في الصف رقم {}: {}" #: frappe/app.py:340 msgid "Invalid request arguments" -msgstr "" +msgstr "وسائط الطلب غير صالحة" #: frappe/app.py:327 msgid "Invalid request body" -msgstr "" +msgstr "نص الطلب غير صالح" #: frappe/core/doctype/user_invitation/user_invitation.py:181 msgid "Invalid role" -msgstr "" +msgstr "دور غير صالح" -#: frappe/database/query.py:744 +#: frappe/database/query.py:776 msgid "Invalid simple filter format: {0}" -msgstr "" +msgstr "تنسيق فلتر بسيط غير صالح: {0}" -#: frappe/database/query.py:673 +#: frappe/database/query.py:695 msgid "Invalid start for filter condition: {0}. Expected a list or tuple." -msgstr "" +msgstr "بداية غير صالحة لشرط التصفية: {0}. كان من المتوقع وجود قائمة أو صف." #: frappe/core/doctype/data_import/importer.py:430 msgid "Invalid template file for import" @@ -13549,33 +13683,33 @@ msgstr "ملف نموذج غير صالح للاستيراد" #: frappe/integrations/doctype/connected_app/connected_app.py:208 msgid "Invalid token state! Check if the token has been created by the OAuth user." -msgstr "" +msgstr "حالة الرمز المميز غير صالحة! تحقق مما إذا كان مستخدم OAuth قد أنشأ الرمز المميز." #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:165 #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:338 msgid "Invalid username or password" msgstr "خطأ في اسم المستخدم أو كلمة مرور" -#: frappe/model/naming.py:176 +#: frappe/model/naming.py:174 msgid "Invalid value specified for UUID: {}" -msgstr "" +msgstr "تم تحديد قيمة غير صالحة لـ UUID: {}" -#: frappe/public/js/frappe/web_form/web_form.js:253 +#: frappe/public/js/frappe/web_form/web_form.js:249 msgctxt "Error message in web form" msgid "Invalid values for fields:" -msgstr "" +msgstr "قيم غير صالحة للحقول:" -#: frappe/printing/page/print/print.js:673 +#: frappe/printing/page/print/print.js:681 msgid "Invalid wkhtmltopdf version" -msgstr "" +msgstr "إصدار غير صالح من wkhtmltopdf" -#: frappe/core/doctype/doctype/doctype.py:1579 +#: frappe/core/doctype/doctype/doctype.py:1593 msgid "Invalid {0} condition" msgstr "حالة {0} غير صالحة" -#: frappe/database/query.py:1964 +#: frappe/database/query.py:2042 msgid "Invalid {0} dictionary format" -msgstr "" +msgstr "تنسيق قاموس غير صالح {0}" #. Option for the 'Style' (Select) field in DocType 'Workflow State' #: frappe/workflow/doctype/workflow_state/workflow_state.json @@ -13584,35 +13718,35 @@ msgstr "معكوس" #: frappe/core/doctype/user_invitation/user_invitation.py:95 msgid "Invitation already accepted" -msgstr "" +msgstr "تم قبول الدعوة بالفعل" #: frappe/core/doctype/user_invitation/user_invitation.py:99 msgid "Invitation already exists" -msgstr "" +msgstr "الدعوة موجودة بالفعل" #: frappe/core/api/user_invitation.py:84 msgid "Invitation cannot be cancelled" -msgstr "" +msgstr "لا يمكن إلغاء الدعوة" #: frappe/core/doctype/user_invitation/user_invitation.py:127 msgid "Invitation is cancelled" -msgstr "" +msgstr "تم إلغاء الدعوة" #: frappe/core/doctype/user_invitation/user_invitation.py:125 msgid "Invitation is expired" -msgstr "" +msgstr "انتهت صلاحية الدعوة" #: frappe/core/api/user_invitation.py:73 frappe/core/api/user_invitation.py:78 msgid "Invitation not found" -msgstr "" +msgstr "لم يتم العثور على الدعوة" #: frappe/core/doctype/user_invitation/user_invitation.py:59 msgid "Invitation to join {0} cancelled" -msgstr "" +msgstr "تم إلغاء دعوة الانضمام {0}" #: frappe/core/doctype/user_invitation/user_invitation.py:76 msgid "Invitation to join {0} expired" -msgstr "" +msgstr "انتهت صلاحية دعوة الانضمام {0}" #: frappe/contacts/doctype/contact/contact.js:30 msgid "Invite as User" @@ -13621,7 +13755,7 @@ msgstr "دعوة كمستخدم" #. Label of the invited_by (Link) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Invited By" -msgstr "" +msgstr "مدعو من قبل" #: frappe/public/js/frappe/ui/filters/filter.js:22 msgid "Is" @@ -13630,7 +13764,7 @@ msgstr "هل" #. Label of the is_active (Check) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Is Active" -msgstr "" +msgstr "نشط" #. Label of the is_attachments_folder (Check) field in DocType 'File' #: frappe/core/doctype/file/file.json @@ -13642,7 +13776,7 @@ msgstr "هو مجلد المرفقات" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Is Calendar and Gantt" -msgstr "" +msgstr "هل التقويم ومخطط جانت" #. Label of the istable (Check) field in DocType 'DocType' #. Label of the is_child_table (Check) field in DocType 'DocType Link' @@ -13667,14 +13801,14 @@ msgstr "قد اكتمل" #. Label of the is_current (Check) field in DocType 'User Session Display' #: frappe/core/doctype/user_session_display/user_session_display.json msgid "Is Current" -msgstr "" +msgstr "هو محدّث" #. Label of the is_custom (Check) field in DocType 'Role' #. Label of the is_custom (Check) field in DocType 'User Document Type' #: frappe/core/doctype/role/role.json #: frappe/core/doctype/user_document_type/user_document_type.json msgid "Is Custom" -msgstr "" +msgstr "جمارك" #. Label of the is_custom_field (Check) field in DocType 'Customize Form Field' #: frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -13694,25 +13828,25 @@ msgstr "افتراضي" #. Label of the is_dynamic_url (Check) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Is Dynamic URL?" -msgstr "" +msgstr "هل هو عنوان URL ديناميكي؟" #. Label of the is_folder (Check) field in DocType 'File' #: frappe/core/doctype/file/file.json msgid "Is Folder" msgstr "هو مجلد" -#: frappe/public/js/frappe/list/list_filter.js:95 +#: frappe/public/js/frappe/list/list_filter.js:112 msgid "Is Global" msgstr "هو عالمي" #: frappe/public/js/frappe/views/treeview.js:418 msgid "Is Group" -msgstr "" +msgstr "هل مجموعة" #. Label of the is_hidden (Check) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Is Hidden" -msgstr "" +msgstr "مخفي تمامًا" #. Label of the is_home_folder (Check) field in DocType 'File' #: frappe/core/doctype/file/file.json @@ -13737,7 +13871,7 @@ msgstr "هو الابتدائية" #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:43 msgid "Is Primary Address" -msgstr "" +msgstr "عنوان IS الأساسي" #. Label of the is_primary_contact (Check) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json @@ -13772,7 +13906,7 @@ msgstr "عام" msgid "Is Published Field" msgstr "ونشرت الميدان" -#: frappe/core/doctype/doctype/doctype.py:1530 +#: frappe/core/doctype/doctype/doctype.py:1544 msgid "Is Published Field must be a valid fieldname" msgstr "\"تم نشر\" الحقل يجب أن يكون اسم حقل صالح" @@ -13780,19 +13914,19 @@ msgstr "\"تم نشر\" الحقل يجب أن يكون اسم حقل صالح" #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/public/js/frappe/widgets/widget_dialog.js:341 msgid "Is Query Report" -msgstr "" +msgstr "تقرير الاستعلام" #. Label of the is_remote_request (Check) field in DocType 'Integration #. Request' #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Is Remote Request?" -msgstr "" +msgstr "هل هذا طلب عن بعد؟" #. Label of the is_setup_complete (Check) field in DocType 'Installed #. Application' #: frappe/core/doctype/installed_application/installed_application.json msgid "Is Setup Complete?" -msgstr "" +msgstr "هل اكتملت عملية الإعداد؟" #. Label of the issingle (Check) field in DocType 'DocType' #. Label of the is_single (Check) field in DocType 'Onboarding Step' @@ -13845,7 +13979,7 @@ msgstr "يستطيع الاعتماد" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/custom/doctype/property_setter/property_setter.json msgid "Is System Generated" -msgstr "" +msgstr "هل تم إنشاؤه بواسطة النظام؟" #. Label of the istable (Check) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -13855,7 +13989,7 @@ msgstr "هو الجدول" #. Label of the is_table_field (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Is Table Field" -msgstr "" +msgstr "حقل جدولي" #. Label of the is_tree (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -13874,12 +14008,12 @@ msgstr "فريد من نوعة" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Is Virtual" -msgstr "" +msgstr "هو افتراضي" #. Label of the is_standard (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Is standard" -msgstr "" +msgstr "معيار" #: frappe/core/doctype/file/utils.py:157 frappe/utils/file_manager.py:311 msgid "It is risky to delete this file: {0}. Please contact your System Manager." @@ -13897,7 +14031,7 @@ msgstr "نوع العنصر" #: frappe/utils/nestedset.py:229 msgid "Item cannot be added to its own descendants" -msgstr "البند لا يمكن أن تضاف الى أحفادها
Item cannot be added to its own descendants" +msgstr "لا يمكن إضافة العنصر إلى عناصره الفرعية" #. Label of the items (Table) field in DocType 'Workspace Sidebar' #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json @@ -13907,12 +14041,12 @@ msgstr "الاصناف" #. Option for the 'Print Format Type' (Select) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "JS" -msgstr "" +msgstr "JS" #. Label of the js_message (HTML) field in DocType 'Custom HTML Block' #: frappe/desk/doctype/custom_html_block/custom_html_block.json msgid "JS Message" -msgstr "" +msgstr "رسالة جافا سكريبت" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the json (Code) field in DocType 'Report' @@ -13925,7 +14059,7 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/integrations/doctype/webhook/webhook.json msgid "JSON" -msgstr "" +msgstr "JSON" #. Label of the webhook_json (Code) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -13934,7 +14068,7 @@ msgstr "طلب JSON الجسم" #: frappe/templates/signup.html:5 msgid "Jane Doe" -msgstr "" +msgstr "جين دو" #. Label of the js (Code) field in DocType 'Website Theme' #: frappe/website/doctype/website_theme/website_theme.json @@ -13972,53 +14106,53 @@ msgstr "جينجا" #: frappe/core/doctype/prepared_report/prepared_report.json #: frappe/core/doctype/rq_job/rq_job.json msgid "Job ID" -msgstr "" +msgstr "رقم الوظيفة" #. Label of the job_id (Link) field in DocType 'Submission Queue' #: frappe/core/doctype/submission_queue/submission_queue.json msgid "Job Id" -msgstr "" +msgstr "معرف الوظيفة" #. Label of the job_info_section (Section Break) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Job Info" -msgstr "" +msgstr "معلومات الوظيفة" #. Label of the job_name (Data) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Job Name" -msgstr "" +msgstr "اسم الوظيفة" #. Label of the job_status_section (Section Break) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Job Status" -msgstr "" +msgstr "حالة الوظيفة" #: frappe/core/doctype/data_import/data_import.js:191 #: frappe/core/doctype/rq_job/rq_job.js:24 msgid "Job Stopped Successfully" -msgstr "" +msgstr "تم إيقاف المهمة بنجاح" #: frappe/core/doctype/rq_job/rq_job.py:121 msgid "Job is in {0} state and can't be cancelled" -msgstr "" +msgstr "الوظيفة في حالة {0} ولا يمكن إلغاؤها" #: frappe/core/doctype/data_import/data_import.py:182 #: frappe/core/doctype/prepared_report/prepared_report.py:200 #: frappe/core/doctype/rq_job/rq_job.py:113 msgid "Job is not running." -msgstr "" +msgstr "المهمة لا تعمل." #: frappe/core/doctype/prepared_report/prepared_report.py:198 msgid "Job stopped successfully" -msgstr "" +msgstr "تم إيقاف المهمة بنجاح" #: frappe/desk/doctype/event/event.js:55 msgid "Join video conference with {0}" -msgstr "" +msgstr "انضم إلى مؤتمر الفيديو باستخدام {0}" -#: frappe/public/js/frappe/form/toolbar.js:431 -#: frappe/public/js/frappe/form/toolbar.js:866 +#: frappe/public/js/frappe/form/toolbar.js:421 +#: frappe/public/js/frappe/form/toolbar.js:869 msgid "Jump to field" msgstr "القفز الى الميدان" @@ -14027,7 +14161,7 @@ msgstr "القفز الى الميدان" #: frappe/public/js/frappe/utils/number_systems.js:53 msgctxt "Number system" msgid "K" -msgstr "" +msgstr "ك" #. Option for the 'Select List View' (Select) field in DocType 'Form Tour' #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' @@ -14042,7 +14176,7 @@ msgstr "لوحة المهام" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/public/js/frappe/widgets/widget_dialog.js:511 msgid "Kanban Board" -msgstr "" +msgstr "لوح كانبان" #. Name of a DocType #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json @@ -14058,26 +14192,26 @@ msgstr "اسم لوح كانبان" #: frappe/public/js/frappe/views/kanban/kanban_view.js:279 msgctxt "Button in kanban view menu" msgid "Kanban Settings" -msgstr "" +msgstr "إعدادات كانبان" #: frappe/public/js/frappe/list/base_list.js:207 msgid "Kanban View" -msgstr "" +msgstr "عرض كانبان" #. Label of the keep_closed (Check) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Keep Closed" -msgstr "" +msgstr "أبقِهِ مغلقاً" #. Description of a DocType #: frappe/core/doctype/activity_log/activity_log.json msgid "Keep track of all update feeds" -msgstr "" +msgstr "تابع جميع التحديثات" #. Description of a DocType #: frappe/core/doctype/communication/communication.json msgid "Keeps track of all communications" -msgstr "" +msgstr "يتولى تتبع جميع الاتصالات" #. Label of the defkey (Data) field in DocType 'DefaultValue' #. Label of the key (Data) field in DocType 'Document Share Key' @@ -14106,12 +14240,12 @@ msgstr "اختصارات لوحة المفاتيح" #. Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "Keycloak" -msgstr "" +msgstr "عباءة المفاتيح" #: frappe/public/js/frappe/utils/number_systems.js:37 msgctxt "Number system" msgid "Kh" -msgstr "" +msgstr "خ" #: frappe/website/doctype/help_article/help_article.py:80 #: frappe/website/doctype/help_article/templates/help_article_list.html:2 @@ -14133,19 +14267,19 @@ msgstr "محرر قاعدة المعرفة" #: frappe/public/js/frappe/utils/number_systems.js:49 msgctxt "Number system" msgid "L" -msgstr "" +msgstr "ل" #. Label of the ldap_auth_section (Section Break) field in DocType 'LDAP #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Auth" -msgstr "" +msgstr "مصادقة LDAP" #. Label of the ldap_custom_settings_section (Section Break) field in DocType #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Custom Settings" -msgstr "" +msgstr "إعدادات LDAP المخصصة" #. Label of the ldap_email_field (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -14183,7 +14317,7 @@ msgstr "تعيينات LDAP" #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Group Member attribute" -msgstr "" +msgstr "سمة عضو مجموعة LDAP" #. Label of the ldap_last_name_field (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -14198,7 +14332,7 @@ msgstr "حقل الاسم الأوسط LDAP" #. Label of the ldap_mobile_field (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Mobile Field" -msgstr "" +msgstr "حقل LDAP المحمول" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:163 msgid "LDAP Not Installed" @@ -14216,13 +14350,13 @@ msgstr "LDAP بحث سلسلة" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:130 msgid "LDAP Search String must be enclosed in '()' and needs to contian the user placeholder {0}, eg sAMAccountName={0}" -msgstr "" +msgstr "يجب وضع سلسلة بحث LDAP بين قوسين '()' ويجب أن تحتوي على عنصر نائب المستخدم {0}، على سبيل المثال sAMAccountName={0}" #. Label of the ldap_search_and_paths_section (Section Break) field in DocType #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Search and Paths" -msgstr "" +msgstr "البحث في LDAP والمسارات" #. Label of the ldap_security (Section Break) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -14233,7 +14367,7 @@ msgstr "أمان LDAP" #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP Server Settings" -msgstr "" +msgstr "إعدادات خادم LDAP" #. Label of the ldap_server_url (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -14266,16 +14400,16 @@ msgstr "لم يتم تمكين LDAP." #. Label of the ldap_search_path_group (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP search path for Groups" -msgstr "" +msgstr "مسار بحث LDAP للمجموعات" #. Label of the ldap_search_path_user (Data) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "LDAP search path for Users" -msgstr "" +msgstr "مسار بحث LDAP للمستخدمين" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:102 msgid "LDAP settings incorrect. validation response was: {0}" -msgstr "" +msgstr "إعدادات LDAP غير صحيحة. كانت استجابة التحقق: {0}" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Label of the label (Data) field in DocType 'DocField' @@ -14341,7 +14475,7 @@ msgstr "التسمية تعليمات" msgid "Label and Type" msgstr "التسمية و النوع" -#: frappe/custom/doctype/custom_field/custom_field.py:146 +#: frappe/custom/doctype/custom_field/custom_field.py:147 msgid "Label is mandatory" msgstr "التسمية إلزامية" @@ -14364,7 +14498,7 @@ msgstr "المناظر الطبيعيه" #: frappe/core/doctype/translation/translation.json #: frappe/core/doctype/user/user.json #: frappe/core/web_form/edit_profile/edit_profile.json -#: frappe/printing/page/print/print.js:118 +#: frappe/printing/page/print/print.js:126 #: frappe/public/js/frappe/form/templates/print_layout.html:11 msgid "Language" msgstr "اللغة" @@ -14383,33 +14517,41 @@ msgstr "اسم اللغة" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Last 10 active users" -msgstr "" +msgstr "آخر 10 مستخدمين نشطين" #: frappe/public/js/frappe/ui/filters/filter.js:627 msgid "Last 14 Days" -msgstr "" +msgstr "آخر 14 يومًا" #: frappe/public/js/frappe/ui/filters/filter.js:631 msgid "Last 30 Days" -msgstr "" +msgstr "آخر 30 يومًا" #: frappe/public/js/frappe/ui/filters/filter.js:651 msgid "Last 6 Months" -msgstr "" +msgstr "آخر 6 أشهر" #: frappe/public/js/frappe/ui/filters/filter.js:623 msgid "Last 7 Days" -msgstr "" +msgstr "آخر 7 أيام" #: frappe/public/js/frappe/ui/filters/filter.js:635 msgid "Last 90 Days" -msgstr "" +msgstr "آخر 90 يومًا" #. Label of the last_active (Datetime) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Last Active" msgstr "آخر تواجد في" +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:163 +msgid "Last Edited by You" +msgstr "آخر تعديل بواسطة" + +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:164 +msgid "Last Edited by {0}" +msgstr "آخر تعديل بواسطة {0}" + #. Label of the last_execution (Datetime) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Last Execution" @@ -14418,7 +14560,7 @@ msgstr "آخر تنفيذ" #. Label of the last_heartbeat (Datetime) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Last Heartbeat" -msgstr "" +msgstr "آخر نبضة قلب" #. Label of the last_ip (Read Only) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -14437,7 +14579,7 @@ msgstr "آخر تسجيل دخول" #: frappe/email/doctype/notification/notification.js:32 msgid "Last Modified Date" -msgstr "" +msgstr "تاريخ آخر تعديل" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:242 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:480 @@ -14475,18 +14617,18 @@ msgstr "الربع الأخير" #. Label of the last_received_at (Datetime) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Last Received At" -msgstr "" +msgstr "آخر تاريخ للاستلام" #. Label of the last_reset_password_key_generated_on (Datetime) field in #. DocType 'User' #: frappe/core/doctype/user/user.json msgid "Last Reset Password Key Generated On" -msgstr "" +msgstr "تم إنشاء مفتاح إعادة تعيين كلمة المرور الأخير في" #. Label of the datetime_last_run (Datetime) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Last Run" -msgstr "" +msgstr "الجولة الأخيرة" #. Label of the last_sync_on (Datetime) field in DocType 'Google Contacts' #: frappe/integrations/doctype/google_contacts/google_contacts.json @@ -14501,7 +14643,7 @@ msgstr "آخر مزامنة في" #. Label of the last_updated (Datetime) field in DocType 'User Session Display' #: frappe/core/doctype/user_session_display/user_session_display.json msgid "Last Updated" -msgstr "" +msgstr "آخر تحديث" #: frappe/model/meta.py:57 frappe/public/js/frappe/model/meta.js:213 #: frappe/public/js/frappe/model/model.js:130 @@ -14534,17 +14676,22 @@ msgstr "العام الماضي" msgid "Last synced {0}" msgstr "آخر مزامنة {0}" +#. Label of the layout (Code) field in DocType 'Desktop Layout' +#: frappe/desk/doctype/desktop_layout/desktop_layout.json +msgid "Layout" +msgstr "" + #: frappe/custom/doctype/customize_form/customize_form.js:194 msgid "Layout Reset" -msgstr "" +msgstr "إعادة ضبط التخطيط" #: frappe/custom/doctype/customize_form/customize_form.js:186 msgid "Layout will be reset to standard layout, are you sure you want to do this?" -msgstr "" +msgstr "سيتم إعادة ضبط التخطيط إلى التخطيط القياسي، هل أنت متأكد من رغبتك في القيام بذلك؟" #: frappe/website/web_template/section_with_features/section_with_features.html:26 msgid "Learn more" -msgstr "" +msgstr "يتعلم أكثر" #. Description of the 'Repeat Till' (Date) field in DocType 'Event' #: frappe/desk/doctype/event/event.json @@ -14559,11 +14706,17 @@ msgstr "ترك هذه المحادثة" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Ledger" -msgstr "" +msgstr "دفتر الأستاذ" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json @@ -14579,12 +14732,12 @@ msgstr "ترك" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Left Bottom" -msgstr "" +msgstr "أسفل اليسار" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Left Center" -msgstr "" +msgstr "وسط اليسار" #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.py:58 msgid "Left this conversation" @@ -14593,7 +14746,7 @@ msgstr "تركت هذه المحادثة" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Legal" -msgstr "" +msgstr "قانوني" #. Label of the length (Int) field in DocType 'DocField' #. Label of the length (Int) field in DocType 'Custom Field' @@ -14602,11 +14755,11 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Length" -msgstr "" +msgstr "طول" #: frappe/public/js/frappe/ui/chart.js:11 msgid "Length of passed data array is greater than value of maximum allowed label points!" -msgstr "" +msgstr "طول مصفوفة البيانات المُمررة أكبر من قيمة الحد الأقصى المسموح به لنقاط التسمية!" #: frappe/database/schema.py:138 msgid "Length of {0} should be between 1 and 1000" @@ -14614,19 +14767,19 @@ msgstr "يجب أن يكون طول {0} بين 1 و 1000" #: frappe/public/js/frappe/widgets/chart_widget.js:729 msgid "Less" -msgstr "" +msgstr "أقل" #: frappe/public/js/frappe/ui/filters/filter.js:24 msgid "Less Than" -msgstr "" +msgstr "أقل من" #: frappe/public/js/frappe/ui/filters/filter.js:26 msgid "Less Than Or Equal To" -msgstr "" +msgstr "أقل من أو يساوي" #: frappe/public/js/frappe/widgets/onboarding_widget.js:434 msgid "Let us continue with the onboarding" -msgstr "" +msgstr "لنكمل عملية الإعداد" #: frappe/public/js/frappe/views/workspace/blocks/onboarding.js:94 #: frappe/public/js/frappe/widgets/onboarding_widget.js:597 @@ -14639,7 +14792,7 @@ msgstr "دعونا تجنب الكلمات المكررة وشخصيات" #: frappe/desk/page/setup_wizard/setup_wizard.js:474 msgid "Let's set up your account" -msgstr "" +msgstr "لنقم بإنشاء حسابك" #: frappe/public/js/frappe/widgets/onboarding_widget.js:263 #: frappe/public/js/frappe/widgets/onboarding_widget.js:304 @@ -14657,7 +14810,7 @@ msgstr "رسالة" #. Name of a DocType #: frappe/core/doctype/report/report.json #: frappe/printing/doctype/letter_head/letter_head.json -#: frappe/printing/page/print/print.js:141 +#: frappe/printing/page/print/print.js:149 #: frappe/public/js/frappe/form/print_utils.js:50 #: frappe/public/js/frappe/form/templates/print_layout.html:16 #: frappe/public/js/frappe/list/bulk_operations.js:52 @@ -14684,11 +14837,11 @@ msgstr "اسم ترئيس الرسالة" #: frappe/printing/doctype/letter_head/letter_head.js:30 msgid "Letter Head Scripts" -msgstr "" +msgstr "أوراق كتابة الرسائل" -#: frappe/printing/doctype/letter_head/letter_head.py:49 +#: frappe/printing/doctype/letter_head/letter_head.py:56 msgid "Letter Head cannot be both disabled and default" -msgstr "" +msgstr "لا يمكن تعطيل رأس الرسالة وجعله افتراضيًا في نفس الوقت" #. Description of the 'Header HTML' (HTML Editor) field in DocType 'Letter #. Head' @@ -14708,13 +14861,13 @@ msgstr "ترئيس الرسالة كصيغة HTML" msgid "Level" msgstr "المستوى" -#: frappe/core/page/permission_manager/permission_manager.js:517 +#: frappe/core/page/permission_manager/permission_manager.js:518 msgid "Level 0 is for document level permissions, higher levels for field level permissions." msgstr "المستوى 0 مخصص لأذونات مستوى المستند ، ومستويات أعلى للأذونات على مستوى الحقل." #: frappe/public/js/frappe/file_uploader/FileUploader.vue:94 msgid "Library" -msgstr "" +msgstr "مكتبة" #. Label of the license (Markdown Editor) field in DocType 'Package' #: frappe/core/doctype/package/package.json frappe/www/attribution.html:36 @@ -14724,19 +14877,19 @@ msgstr "رخصة" #. Label of the license_type (Select) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "License Type" -msgstr "" +msgstr "نوع الترخيص" #. Option for the 'Desk Theme' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Light" -msgstr "" +msgstr "ضوء" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Light Blue" -msgstr "" +msgstr "أزرق فاتح" #. Label of the light_color (Link) field in DocType 'Website Theme' #: frappe/website/doctype/website_theme/website_theme.json @@ -14745,11 +14898,11 @@ msgstr "لون فاتح" #: frappe/public/js/frappe/ui/theme_switcher.js:60 msgid "Light Theme" -msgstr "" +msgstr "الوضع الفاتح" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json -#: frappe/public/js/frappe/list/base_list.js:1256 +#: frappe/public/js/frappe/list/base_list.js:1273 #: frappe/public/js/frappe/ui/filters/filter.js:18 msgid "Like" msgstr "مثل" @@ -14766,16 +14919,16 @@ msgstr "أحب بواسطة" #. Label of the likes (Int) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json msgid "Likes" -msgstr "" +msgstr "اعجابات" #. Label of the limit (Int) field in DocType 'Bulk Update' #: frappe/desk/doctype/bulk_update/bulk_update.json msgid "Limit" msgstr "حد" -#: frappe/database/query.py:299 +#: frappe/database/query.py:302 msgid "Limit must be a non-negative integer" -msgstr "" +msgstr "يجب أن يكون الحد عددًا صحيحًا غير سالب" #. Option for the 'Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -14813,7 +14966,7 @@ msgstr "خط" #: frappe/website/doctype/web_template_field/web_template_field.json #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Link" -msgstr "" +msgstr "حلقة الوصل" #. Label of the tab_break_18 (Tab Break) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -14823,13 +14976,13 @@ msgstr "بطاقات الارتباط" #. Label of the link_count (Int) field in DocType 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json msgid "Link Count" -msgstr "" +msgstr "عدد الروابط" #. Label of the link_details_section (Section Break) field in DocType #. 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json msgid "Link Details" -msgstr "" +msgstr "تفاصيل الرابط" #. Label of the link_doctype (Link) field in DocType 'Activity Log' #. Label of the link_doctype (Link) field in DocType 'Communication Link' @@ -14854,7 +15007,7 @@ msgstr "انتهت صلاحية الرابط" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Link Field Results Limit" -msgstr "" +msgstr "حد نتائج حقل الارتباط" #. Label of the link_fieldname (Data) field in DocType 'DocType Link' #: frappe/core/doctype/doctype_link/doctype_link.json @@ -14870,7 +15023,7 @@ msgstr "اسم الحقل الرابط" #: frappe/custom/doctype/customize_form/customize_form.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Link Filters" -msgstr "" +msgstr "فلاتر الروابط" #. Label of the link_name (Dynamic Link) field in DocType 'Activity Log' #. Label of the link_name (Dynamic Link) field in DocType 'Communication Link' @@ -14899,7 +15052,7 @@ msgstr "لينك تيتل" #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/views/workspace/workspace.js:432 +#: frappe/public/js/frappe/views/workspace/workspace.js:480 #: frappe/public/js/frappe/widgets/widget_dialog.js:281 #: frappe/public/js/frappe/widgets/widget_dialog.js:427 msgid "Link To" @@ -14907,7 +15060,7 @@ msgstr "رابط ل" #: frappe/public/js/frappe/widgets/widget_dialog.js:363 msgid "Link To in Row" -msgstr "" +msgstr "رابط إلى في الصف" #. Label of the link_type (Select) field in DocType 'Desktop Icon' #. Label of the link_type (Select) field in DocType 'Workspace' @@ -14917,23 +15070,23 @@ msgstr "" #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/views/workspace/workspace.js:424 +#: frappe/public/js/frappe/views/workspace/workspace.js:472 #: frappe/public/js/frappe/widgets/widget_dialog.js:273 msgid "Link Type" -msgstr "" +msgstr "نوع الرابط" #: frappe/public/js/frappe/widgets/widget_dialog.js:359 msgid "Link Type in Row" -msgstr "" +msgstr "نوع الرابط في الصف" #: frappe/website/doctype/about_us_settings/about_us_settings.js:6 msgid "Link for About Us Page is \"/about\"." -msgstr "" +msgstr "رابط صفحة \"نبذة عنا\" هو \"/about\"." #. Description of the 'Home Page' (Data) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Link that is the website home page. Standard Links (home, login, products, blog, about, contact)" -msgstr "" +msgstr "رابط الصفحة الرئيسية للموقع. روابط قياسية (الرئيسية، تسجيل الدخول، المنتجات، المدونة، نبذة عنا، اتصل بنا)" #. Description of the 'URL' (Data) field in DocType 'Top Bar Item' #: frappe/website/doctype/top_bar_item/top_bar_item.json @@ -14960,6 +15113,7 @@ msgstr "" #. Label of the links_section (Tab Break) field in DocType 'DocType' #. Label of the links (Table) field in DocType 'Customize Form' #. Label of the links (Table) field in DocType 'Event' +#. Label of the links_tab (Tab Break) field in DocType 'Event' #. Label of the links (Table) field in DocType 'Sidebar Item Group' #. Label of the links (Table) field in DocType 'Workspace' #: frappe/contacts/doctype/address/address.js:39 @@ -14981,8 +15135,8 @@ msgstr "الروابط" #: frappe/custom/doctype/client_script/client_script.json #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:92 -#: frappe/public/js/frappe/utils/utils.js:953 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:86 +#: frappe/public/js/frappe/utils/utils.js:950 msgid "List" msgstr "قائمة" @@ -14990,12 +15144,12 @@ msgstr "قائمة" #. 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "List / Search Settings" -msgstr "" +msgstr "قائمة / إعدادات البحث" #. Label of the list_columns (Table) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "List Columns" -msgstr "" +msgstr "أعمدة القائمة" #. Name of a DocType #: frappe/desk/doctype/list_filter/list_filter.json @@ -15012,21 +15166,21 @@ msgstr "تصفية القائمة" msgid "List Settings" msgstr "إعدادات القائمة" -#: frappe/public/js/frappe/list/list_view.js:2067 +#: frappe/public/js/frappe/list/list_view.js:2075 msgctxt "Button in list view menu" msgid "List Settings" msgstr "إعدادات القائمة" #: frappe/public/js/frappe/list/base_list.js:203 msgid "List View" -msgstr "" +msgstr "عرض منسدل" #. Name of a DocType #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "List View Settings" msgstr "إعدادات عرض القائمة" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:223 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:230 msgid "List a document type" msgstr "قائمة نوع مستند" @@ -15041,21 +15195,21 @@ msgstr "القائمة كما [{ "التسمية": _ ( "وظائ #. 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "List of email addresses, separated by comma or new line." -msgstr "" +msgstr "قائمة عناوين البريد الإلكتروني، مفصولة بفاصلة أو سطر جديد." #. Description of a DocType #: frappe/core/doctype/patch_log/patch_log.json msgid "List of patches executed" -msgstr "" +msgstr "قائمة التصحيحات المنفذة" #. Label of the list_setting_message (HTML) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "List setting message" -msgstr "" +msgstr "رسالة إعداد القائمة" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:586 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:556 msgid "Lists" -msgstr "" +msgstr "القوائم" #. Option for the 'Rule' (Select) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -15071,36 +15225,36 @@ msgstr "تحميل المزيد" #: frappe/public/js/frappe/form/footer/form_timeline.js:215 msgctxt "Form timeline" msgid "Load More Communications" -msgstr "" +msgstr "تحميل المزيد من الاتصالات" #: frappe/public/js/frappe/file_uploader/TreeNode.vue:45 msgid "Load more" -msgstr "" +msgstr "تحميل المزيد" #: frappe/core/page/permission_manager/permission_manager.js:172 #: frappe/public/js/frappe/form/controls/multicheck.js:13 #: frappe/public/js/frappe/form/linked_with.js:13 #: frappe/public/js/frappe/list/base_list.js:510 -#: frappe/public/js/frappe/list/list_view.js:364 +#: frappe/public/js/frappe/list/list_view.js:367 #: frappe/public/js/frappe/ui/listing.html:16 -#: frappe/public/js/frappe/views/reports/query_report.js:1119 +#: frappe/public/js/frappe/views/reports/query_report.js:1136 msgid "Loading" msgstr "تحميل" #: frappe/public/js/frappe/widgets/widget_dialog.js:107 msgid "Loading Filters..." -msgstr "" +msgstr "جارٍ تحميل عوامل التصفية..." #: frappe/core/doctype/data_import/data_import.js:283 msgid "Loading import file..." -msgstr "" +msgstr "جارٍ تحميل ملف الاستيراد ..." #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Loading versions..." -msgstr "" +msgstr "جارٍ تحميل الإصدارات..." #: frappe/public/js/frappe/file_uploader/TreeNode.vue:45 -#: frappe/public/js/frappe/form/sidebar/share.js:51 +#: frappe/public/js/frappe/form/sidebar/share.js:57 #: frappe/public/js/frappe/list/base_list.js:1063 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:91 #: frappe/public/js/frappe/views/kanban/kanban_board.html:11 @@ -15111,9 +15265,10 @@ msgid "Loading..." msgstr "تحميل ..." #. Label of the location (Data) field in DocType 'User' -#: frappe/core/doctype/user/user.json +#. Label of the location (Data) field in DocType 'Event' +#: frappe/core/doctype/user/user.json frappe/desk/doctype/event/event.json msgid "Location" -msgstr "" +msgstr "الموقع" #. Label of the log (Code) field in DocType 'Package Import' #: frappe/core/doctype/package_import/package_import.json @@ -15123,7 +15278,7 @@ msgstr "سجل" #. Label of the log_api_requests (Check) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Log API Requests" -msgstr "" +msgstr "طلبات واجهة برمجة تطبيقات تسجيل الطلبات" #. Label of the log_data_section (Section Break) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json @@ -15133,16 +15288,16 @@ msgstr "تسجيل البيانات" #. Label of the ref_doctype (Link) field in DocType 'Logs To Clear' #: frappe/core/doctype/logs_to_clear/logs_to_clear.json msgid "Log DocType" -msgstr "" +msgstr "نوع مستند السجل" #: frappe/templates/emails/login_with_email_link.html:27 msgid "Log In To {0}" -msgstr "" +msgstr "سجّل الدخول إلى {0}" #. Label of the log_index (Int) field in DocType 'Data Import Log' #: frappe/core/doctype/data_import_log/data_import_log.json msgid "Log Index" -msgstr "" +msgstr "فهرس السجل" #. Name of a DocType #: frappe/core/doctype/log_setting_user/log_setting_user.json @@ -15164,7 +15319,7 @@ msgstr "تسجيل الدخول للوصول إلى هذه الصفحة." #: frappe/hooks.py #: frappe/website/doctype/website_settings/website_settings.py:182 msgid "Log out" -msgstr "" +msgstr "تسجيل الخروج" #: frappe/handler.py:120 msgid "Logged Out" @@ -15184,6 +15339,11 @@ msgstr "تسجيل الخروج" msgid "Login" msgstr "دخول" +#. Label of a chart in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Login Activity" +msgstr "نشاط تسجيل الدخول" + #. Label of the login_after (Int) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Login After" @@ -15196,7 +15356,7 @@ msgstr "تسجيل الدخول قبل" #: frappe/public/js/frappe/desk.js:256 msgid "Login Failed please try again" -msgstr "" +msgstr "فشل تسجيل الدخول، يرجى المحاولة مرة أخرى" #: frappe/email/doctype/email_account/email_account.py:144 msgid "Login Id is required" @@ -15206,17 +15366,17 @@ msgstr "مطلوب معرف تسجيل الدخول" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Login Methods" -msgstr "" +msgstr "طرق تسجيل الدخول" #. Label of the misc_section (Section Break) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Login Page" -msgstr "" +msgstr "صفحة تسجيل الدخول" #: frappe/www/login.py:156 msgid "Login To {0}" -msgstr "" +msgstr "تسجيل الدخول إلى {0}" #: frappe/twofactor.py:260 msgid "Login Verification Code from {}" @@ -15228,11 +15388,11 @@ msgstr "تسجيل الدخول وعرض في المتصفح" #: frappe/website/doctype/web_form/web_form.js:387 msgid "Login is required to see web form list view. Enable {0} to see list settings" -msgstr "" +msgstr "يلزم تسجيل الدخول لعرض قائمة نماذج الويب. فعّل {0} لعرض إعدادات القائمة." #: frappe/templates/includes/login/login.js:69 msgid "Login link sent to your email" -msgstr "" +msgstr "تم إرسال رابط تسجيل الدخول إلى بريدك الإلكتروني" #: frappe/auth.py:345 frappe/auth.py:348 msgid "Login not allowed at this time" @@ -15241,7 +15401,7 @@ msgstr "تسجيل الدخول غير مسموح في هذا الوقت" #. Label of the login_required (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Login required" -msgstr "" +msgstr "تسجيل الدخول مطلوب" #: frappe/twofactor.py:164 msgid "Login session expired, refresh page to retry" @@ -15253,23 +15413,23 @@ msgstr "سجل الدخول للتعليق" #: frappe/templates/includes/comments/comments.html:6 msgid "Login to start a new discussion" -msgstr "" +msgstr "سجل الدخول لبدء مناقشة جديدة" #: frappe/www/login.html:64 msgid "Login to {0}" -msgstr "" +msgstr "سجّل الدخول إلى {0}" -#: frappe/templates/includes/login/login.js:319 +#: frappe/templates/includes/login/login.js:318 msgid "Login token required" -msgstr "" +msgstr "رمز تسجيل الدخول مطلوب" #: frappe/www/login.html:126 frappe/www/login.html:205 msgid "Login with Email Link" -msgstr "" +msgstr "تسجيل الدخول باستخدام رابط البريد الإلكتروني" #: frappe/www/login.html:116 msgid "Login with Frappe Cloud" -msgstr "" +msgstr "سجّل الدخول باستخدام Frappe Cloud" #: frappe/www/login.html:49 msgid "Login with LDAP" @@ -15279,36 +15439,36 @@ msgstr "تسجيل الدخول مع LDAP" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Login with email link" -msgstr "" +msgstr "تسجيل الدخول باستخدام رابط البريد الإلكتروني" #. Label of the login_with_email_link_expiry (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Login with email link expiry (in minutes)" -msgstr "" +msgstr "تسجيل الدخول باستخدام رابط البريد الإلكتروني (مدة الصلاحية بالدقائق)" #: frappe/auth.py:150 msgid "Login with username and password is not allowed." -msgstr "" +msgstr "لا يُسمح بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور." #: frappe/www/login.html:100 msgid "Login with {0}" -msgstr "" +msgstr "سجّل الدخول باستخدام {0}" #. Label of the logo_uri (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Logo URI" -msgstr "" +msgstr "شعار URI" #. Label of the logo_url (Data) field in DocType 'Desktop Icon' #: frappe/desk/doctype/desktop_icon/desktop_icon.json msgid "Logo URL" -msgstr "" +msgstr "رابط الشعار" #. Option for the 'Operation' (Select) field in DocType 'Activity Log' #: frappe/core/doctype/activity_log/activity_log.json frappe/www/me.html:91 msgid "Logout" -msgstr "خروج" +msgstr "تسجيل خروج" #: frappe/core/doctype/user/user.js:195 msgid "Logout All Sessions" @@ -15326,20 +15486,19 @@ msgid "Logout From All Devices After Changing Password" msgstr "تسجيل الخروج من جميع الأجهزة بعد تغيير كلمة المرور" #. Group in User's connections -#. Label of a Card Break in the Users Workspace -#: frappe/core/doctype/user/user.json frappe/core/workspace/users/users.json +#: frappe/core/doctype/user/user.json msgid "Logs" msgstr "السجلات" #. Name of a DocType #: frappe/core/doctype/logs_to_clear/logs_to_clear.json msgid "Logs To Clear" -msgstr "" +msgstr "سجلات للتنظيف" #. Label of the logs_to_clear (Table) field in DocType 'Log Settings' #: frappe/core/doctype/log_settings/log_settings.json msgid "Logs to Clear" -msgstr "" +msgstr "سجلات للتنظيف" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -15356,27 +15515,27 @@ msgstr "يبدو أنك لم تغير القيمة" #: frappe/www/third_party_apps.html:59 msgid "Looks like you haven’t added any third party apps." -msgstr "" +msgstr "يبدو أنك لم تقم بإضافة أي تطبيقات خارجية." -#: frappe/public/js/frappe/ui/notifications/notifications.js:346 +#: frappe/public/js/frappe/ui/notifications/notifications.js:355 msgid "Looks like you haven’t received any notifications." -msgstr "" +msgstr "يبدو أنك لم تتلق أي إشعارات." #. Option for the 'Priority' (Select) field in DocType 'ToDo' #: frappe/desk/doctype/todo/todo.json #: frappe/public/js/frappe/form/sidebar/assign_to.js:220 msgid "Low" -msgstr "" +msgstr "منخفض" #: frappe/public/js/frappe/utils/number_systems.js:13 msgctxt "Number system" msgid "M" -msgstr "" +msgstr "م" #. Option for the 'License Type' (Select) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "MIT License" -msgstr "" +msgstr "رخصة MIT" #: frappe/desk/page/setup_wizard/install_fixtures.py:48 msgid "Madam" @@ -15400,18 +15559,18 @@ msgstr "القسم الرئيسي (تخفيض السعر)" #. Name of a role #: frappe/contacts/doctype/contact/contact.json msgid "Maintenance Manager" -msgstr "" +msgstr "مدير الصيانة" #. Name of a role #: frappe/contacts/doctype/address/address.json #: frappe/contacts/doctype/contact/contact.json msgid "Maintenance User" -msgstr "" +msgstr "عضو الصيانة" #. Label of the major (Int) field in DocType 'Package Release' #: frappe/core/doctype/package_release/package_release.json msgid "Major" -msgstr "" +msgstr "رئيسي" #. Label of the show_name_in_global_search (Check) field in DocType 'DocType' #. Label of the show_name_in_global_search (Check) field in DocType 'Customize @@ -15432,13 +15591,13 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Make Attachments Public by Default" -msgstr "" +msgstr "اجعل المرفقات عامة افتراضيًا" #. Description of the 'Disable Username/Password Login' (Check) field in #. DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Make sure to configure a Social Login Key before disabling to prevent lockout" -msgstr "" +msgstr "تأكد من إعداد مفتاح تسجيل الدخول عبر وسائل التواصل الاجتماعي قبل تعطيله لتجنب حظر المستخدم." #: frappe/utils/password_strength.py:92 msgid "Make use of longer keyboard patterns" @@ -15454,11 +15613,11 @@ msgstr "يجعل الصفحة عامة" #: frappe/desk/page/setup_wizard/install_fixtures.py:28 msgid "Male" -msgstr "" +msgstr "ذكر" #: frappe/www/me.html:56 msgid "Manage 3rd party apps" -msgstr "" +msgstr "إدارة تطبيقات الطرف الثالث" #. Label of the reqd (Check) field in DocType 'DocField' #. Label of the mandatory (Check) field in DocType 'Report Filter' @@ -15471,7 +15630,7 @@ msgstr "" #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Mandatory" -msgstr "" +msgstr "إلزامي" #. Label of the mandatory_depends_on (Code) field in DocType 'Custom Field' #. Label of the mandatory_depends_on (Code) field in DocType 'Customize Form @@ -15486,7 +15645,7 @@ msgstr "إلزامي يعتمد على" #. Label of the mandatory_depends_on (Code) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Mandatory Depends On (JS)" -msgstr "" +msgstr "يعتمد الإلزامي على (JS)" #: frappe/website/doctype/web_form/web_form.py:537 msgid "Mandatory Information missing:" @@ -15494,7 +15653,7 @@ msgstr "معلومات إلزامية مفقود:" #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:120 msgid "Mandatory field: set role for" -msgstr "الحقل إلزامي :تعيين الدور ل\\n
\\nMandatory field: set role for" +msgstr "حقل إلزامي: تحديد دور لـ" #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:124 msgid "Mandatory field: {0}" @@ -15508,10 +15667,10 @@ msgstr "الحقول الالزامية في جدول {0} صف رقم {1} مطل msgid "Mandatory fields required in {0}" msgstr "الحقول الإلزامية المطلوبة في {0}" -#: frappe/public/js/frappe/web_form/web_form.js:258 +#: frappe/public/js/frappe/web_form/web_form.js:254 msgctxt "Error message in web form" msgid "Mandatory fields required:" -msgstr "" +msgstr "الحقول الإلزامية المطلوبة:" #: frappe/core/doctype/data_export/exporter.py:142 msgid "Mandatory:" @@ -15529,16 +15688,16 @@ msgstr "خريطة الأعمدة" #: frappe/public/js/frappe/list/base_list.js:212 msgid "Map View" -msgstr "" +msgstr "عرض الخريطة" #: frappe/public/js/frappe/data_import/import_preview.js:294 msgid "Map columns from {0} to fields in {1}" -msgstr "" +msgstr "قم بربط الأعمدة من {0} بالحقول في {1}" #. Description of the 'Dynamic Route' (Check) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json msgid "Map route parameters into form variables. Example /project/<name>" -msgstr "تعيين معلمات الطريق في متغيرات النموذج. مثال /project/<name>" +msgstr "" #: frappe/core/doctype/data_import/importer.py:923 msgid "Mapping column {0} to field {1}" @@ -15547,32 +15706,32 @@ msgstr "تعيين العمود {0} إلى الحقل {1}" #. Label of the margin_bottom (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Margin Bottom" -msgstr "" +msgstr "هامش سفلي" #. Label of the margin_left (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Margin Left" -msgstr "" +msgstr "الهامش الأيسر" #. Label of the margin_right (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Margin Right" -msgstr "" +msgstr "الهامش الأيمن" #. Label of the margin_top (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Margin Top" -msgstr "" +msgstr "هامش علوي" #. Label of the mariadb_variables_section (Section Break) field in DocType #. 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "MariaDB Variables" -msgstr "" +msgstr "متغيرات MariaDB" -#: frappe/public/js/frappe/ui/notifications/notifications.js:46 +#: frappe/public/js/frappe/ui/notifications/notifications.js:49 msgid "Mark all as read" -msgstr "" +msgstr "وضع علامة \"مقروءة\" على الكل" #: frappe/core/doctype/communication/communication.js:78 #: frappe/core/doctype/communication/communication_list.js:19 @@ -15617,20 +15776,23 @@ msgstr "محددة كدعايات" #: frappe/website/doctype/utm_medium/utm_medium.json #: frappe/website/doctype/utm_source/utm_source.json msgid "Marketing Manager" -msgstr "" +msgstr "مدير التسويق" #. Label of the mask (Check) field in DocType 'Custom DocPerm' #. Label of the mask (Check) field in DocType 'DocField' #. Label of the mask (Check) field in DocType 'DocPerm' +#. Label of the mask (Check) field in DocType 'Customize Form Field' #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/docperm/docperm.json +#: frappe/core/page/permission_manager/permission_manager_help.html:81 +#: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Mask" msgstr "قناع" #: frappe/desk/page/setup_wizard/install_fixtures.py:50 msgid "Master" -msgstr "" +msgstr "سيد" #. Description of the 'Limit' (Int) field in DocType 'Bulk Update' #: frappe/desk/doctype/bulk_update/bulk_update.json @@ -15647,12 +15809,12 @@ msgstr "الحد الأقصى للمرفقات" #. Label of the max_file_size (Int) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Max File Size (MB)" -msgstr "" +msgstr "الحد الأقصى لحجم الملف (ميغابايت)" #. Label of the max_height (Data) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Max Height" -msgstr "" +msgstr "أقصى ارتفاع" #. Label of the max_length (Int) field in DocType 'Web Form Field' #: frappe/website/doctype/web_form_field/web_form_field.json @@ -15662,7 +15824,7 @@ msgstr "الحد الاقصى للطول" #. Label of the max_report_rows (Int) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Max Report Rows" -msgstr "" +msgstr "أقصى عدد من صفوف التقرير" #. Label of the max_value (Int) field in DocType 'Web Form Field' #: frappe/website/doctype/web_form_field/web_form_field.json @@ -15672,21 +15834,21 @@ msgstr "القيمة القصوى" #. Label of the max_attachment_size (Int) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Max attachment size" -msgstr "" +msgstr "أقصى حجم للملحق" #. Label of the max_auto_email_report_per_user (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Max auto email report per user" -msgstr "" +msgstr "الحد الأقصى لتقرير البريد الإلكتروني التلقائي لكل مستخدم" #. Label of the max_signups_allowed_per_hour (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Max signups allowed per hour" -msgstr "" +msgstr "الحد الأقصى المسموح به للتسجيلات في الساعة" -#: frappe/core/doctype/doctype/doctype.py:1357 +#: frappe/core/doctype/doctype/doctype.py:1371 msgid "Max width for type Currency is 100px in row {0}" msgstr "عرض ماكس لنوع العملة هو 100px في الصف {0}" @@ -15697,61 +15859,68 @@ msgstr "أقصى" #: frappe/core/doctype/file/file.py:342 msgid "Maximum Attachment Limit of {0} has been reached for {1} {2}." -msgstr "" +msgstr "تم الوصول إلى الحد الأقصى للربط {0} لـ {1} {2}." #: frappe/public/js/frappe/form/sidebar/attachments.js:38 msgid "Maximum attachment limit of {0} has been reached." -msgstr "" +msgstr "تم الوصول إلى الحد الأقصى للمرفقات {0} ." #: frappe/model/rename_doc.py:689 msgid "Maximum {0} rows allowed" msgstr "الحد الأقصى {0} الصفوف المسموح" +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json +msgid "Maybe" +msgstr "" + #: frappe/public/js/frappe/list/base_list.js:947 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:168 msgid "Me" msgstr "أنا" #: frappe/core/page/permission_manager/permission_manager_help.html:14 -msgid "Meaning of Submit, Cancel, Amend" +msgid "Meaning of Different Permission Types" msgstr "" #. Option for the 'Priority' (Select) field in DocType 'ToDo' #. Label of the medium (Data) field in DocType 'Web Page View' #: frappe/desk/doctype/todo/todo.json #: frappe/public/js/frappe/form/sidebar/assign_to.js:224 -#: frappe/public/js/frappe/utils/utils.js:1889 +#: frappe/public/js/frappe/utils/utils.js:2020 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/report/website_analytics/website_analytics.js:40 msgid "Medium" -msgstr "" +msgstr "متوسط" #. Option for the 'Type' (Select) field in DocType 'Communication' #. Option for the 'Event Category' (Select) field in DocType 'Event' #: frappe/core/doctype/communication/communication.json #: frappe/desk/doctype/event/event.json msgid "Meeting" -msgstr "" +msgstr "لقاء" #: frappe/email/doctype/notification/notification.js:210 #: frappe/integrations/doctype/webhook/webhook.js:96 msgid "Meets Condition?" -msgstr "" +msgstr "هل يستوفي الشروط؟" #. Group in Email Group's connections #: frappe/email/doctype/email_group/email_group.json msgid "Members" -msgstr "" +msgstr "أعضاء" #. Label of the cache_memory_usage (Data) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Memory Usage" -msgstr "" +msgstr "استخدام الذاكرة" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:63 msgid "Memory Usage in MB" -msgstr "" +msgstr "استخدام الذاكرة بالميغابايت" #. Option for the 'Type' (Select) field in DocType 'Notification Log' #: frappe/desk/doctype/notification_log/notification_log.json @@ -15764,19 +15933,19 @@ msgstr "أشير" msgid "Mentions" msgstr "يذكر" -#: frappe/public/js/frappe/ui/page.html:25 -#: frappe/public/js/frappe/ui/page.js:167 +#: frappe/public/js/frappe/ui/page.html:47 +#: frappe/public/js/frappe/ui/page.js:175 msgid "Menu" msgstr "الخيارات" -#: frappe/public/js/frappe/form/toolbar.js:253 +#: frappe/public/js/frappe/form/toolbar.js:270 #: frappe/public/js/frappe/model/model.js:705 msgid "Merge with existing" -msgstr "" +msgstr "دمج مع الحالي" #: frappe/utils/nestedset.py:320 msgid "Merging is only possible between Group-to-Group or Leaf Node-to-Leaf Node" -msgstr "الدمج مسموح فقط بين مجموعة ومجموعة أو فرع وفرع
Merging is only possible between Group-to-Group or Leaf Node-to-Leaf Node" +msgstr "لا يمكن الدمج إلا بين المجموعات أو بين العقد الورقية" #. Label of the message (Text) field in DocType 'Auto Repeat' #. Label of the content (Text Editor) field in DocType 'Activity Log' @@ -15803,13 +15972,13 @@ msgstr "الدمج مسموح فقط بين مجموعة ومجموعة أو ف #: frappe/email/doctype/notification/notification.js:215 #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/ui/messages.js:182 -#: frappe/public/js/frappe/views/communication.js:117 +#: frappe/public/js/frappe/views/communication.js:135 #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json #: frappe/www/message.html:3 msgid "Message" msgstr "رسالة" -#: frappe/public/js/frappe/ui/messages.js:274 frappe/utils/messages.py:78 +#: frappe/public/js/frappe/ui/messages.js:274 frappe/utils/messages.py:81 msgctxt "Default title of the message dialog" msgid "Message" msgstr "رسالة" @@ -15833,14 +16002,14 @@ msgstr "معامل الرسالة" #: frappe/templates/includes/contact.js:36 msgid "Message Sent" -msgstr "" +msgstr "تم ارسال الرسالة" #. Label of the message_type (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Message Type" -msgstr "" +msgstr "نوع الرسالة" -#: frappe/public/js/frappe/views/communication.js:947 +#: frappe/public/js/frappe/views/communication.js:1018 msgid "Message clipped" msgstr "رسالة قص" @@ -15855,7 +16024,7 @@ msgstr "رسالة لا الإعداد" #. Description of the 'Success message' (Text) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Message to be displayed on successful completion" -msgstr "" +msgstr "رسالة ستظهر عند إتمام العملية بنجاح" #. Label of the message_id (Code) field in DocType 'Unhandled Email' #: frappe/email/doctype/unhandled_email/unhandled_email.json @@ -15865,12 +16034,12 @@ msgstr "معرف الرسالة" #. Label of the messages (Code) field in DocType 'Data Import Log' #: frappe/core/doctype/data_import_log/data_import_log.json msgid "Messages" -msgstr "" +msgstr "رسائل" #. Label of the meta_section (Section Break) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Meta" -msgstr "" +msgstr "ميتا" #: frappe/website/doctype/web_page/web_page.js:124 msgid "Meta Description" @@ -15899,12 +16068,12 @@ msgstr "وصف الميتا" #. Label of the meta_image (Attach Image) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Meta image" -msgstr "" +msgstr "صورة ميتا" #. Label of the meta_title (Data) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Meta title" -msgstr "" +msgstr "عنوان ميتا" #: frappe/website/doctype/web_page/web_page.js:110 msgid "Meta title for SEO" @@ -15916,7 +16085,7 @@ msgstr "عنوان Meta لـ SEO" #: frappe/core/doctype/error_log/error_log.json #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Metadata" -msgstr "" +msgstr "البيانات الوصفية" #. Label of the method (Data) field in DocType 'Access Log' #. Label of the method (Data) field in DocType 'API Request Log' @@ -15937,18 +16106,18 @@ msgstr "" msgid "Method" msgstr "طريقة" -#: frappe/__init__.py:467 +#: frappe/__init__.py:465 msgid "Method Not Allowed" -msgstr "" +msgstr "الطريقة غير مسموح بها" #: frappe/desk/doctype/number_card/number_card.py:74 msgid "Method is required to create a number card" -msgstr "" +msgstr "يلزم استخدام طريقة لإنشاء بطاقة رقمية" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Mid Center" -msgstr "" +msgstr "منتصف المركز" #. Label of the middle_name (Data) field in DocType 'Contact' #. Label of the middle_name (Data) field in DocType 'User' @@ -15960,7 +16129,7 @@ msgstr "الاسم الأوسط" #. Label of a field in the edit-profile Web Form #: frappe/core/web_form/edit_profile/edit_profile.json msgid "Middle Name (Optional)" -msgstr "" +msgstr "الاسم الأوسط (اختياري)" #. Name of a DocType #: frappe/automation/doctype/milestone/milestone.json @@ -15988,7 +16157,7 @@ msgstr "الحد الأدنى من كلمة المرور" #. Label of the minor (Int) field in DocType 'Package Release' #: frappe/core/doctype/package_release/package_release.json msgid "Minor" -msgstr "" +msgstr "صغير" #: frappe/public/js/frappe/form/controls/duration.js:30 msgctxt "Duration" @@ -15998,17 +16167,17 @@ msgstr "الدقائق" #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Minutes After" -msgstr "" +msgstr "بعد دقائق" #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Minutes Before" -msgstr "" +msgstr "قبل دقائق" #. Label of the minutes_offset (Int) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Minutes Offset" -msgstr "" +msgstr "فرق الدقائق" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:103 #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:108 @@ -16016,7 +16185,7 @@ msgstr "" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:125 #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:335 msgid "Misconfigured" -msgstr "" +msgstr "إعدادات خاطئة" #: frappe/desk/page/setup_wizard/install_fixtures.py:49 msgid "Miss" @@ -16024,11 +16193,11 @@ msgstr "" #: frappe/desk/form/meta.py:197 msgid "Missing DocType" -msgstr "" +msgstr "نوع المستند مفقود" -#: frappe/core/doctype/doctype/doctype.py:1541 +#: frappe/core/doctype/doctype/doctype.py:1555 msgid "Missing Field" -msgstr "" +msgstr "حقل مفقود" #: frappe/public/js/frappe/form/save.js:192 msgid "Missing Fields" @@ -16036,26 +16205,26 @@ msgstr "حقول مفقودة" #: frappe/email/doctype/auto_email_report/auto_email_report.py:133 msgid "Missing Filters Required" -msgstr "" +msgstr "الفلاتر المفقودة مطلوبة" #: frappe/desk/form/assign_to.py:110 msgid "Missing Permission" -msgstr "" +msgstr "إذن مفقود" #: frappe/www/update-password.html:134 frappe/www/update-password.html:141 msgid "Missing Value" -msgstr "" +msgstr "القيمة المفقودة" #: frappe/public/js/frappe/ui/field_group.js:124 #: frappe/public/js/frappe/widgets/widget_dialog.js:374 #: frappe/public/js/workflow_builder/store.js:97 #: frappe/workflow/doctype/workflow/workflow.js:71 msgid "Missing Values Required" -msgstr "" +msgstr "قيم مفقودة مطلوبة" #: frappe/www/login.py:107 msgid "Mobile" -msgstr "" +msgstr "متحرك" #. Label of the mobile_no (Data) field in DocType 'Contact' #. Label of the mobile_no (Data) field in DocType 'User' @@ -16074,7 +16243,7 @@ msgstr "رقم الهاتف المحمول" #. Label of the modal_trigger (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Modal Trigger" -msgstr "" +msgstr "مشغل مشروط" #. Label of the module (Data) field in DocType 'Block Module' #. Label of the module (Link) field in DocType 'DocType' @@ -16111,7 +16280,7 @@ msgstr "" #: frappe/email/doctype/notification/notification.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json -#: frappe/public/js/frappe/utils/utils.js:960 +#: frappe/public/js/frappe/utils/utils.js:953 #: frappe/website/doctype/web_form/web_form.json #: frappe/website/doctype/web_template/web_template.json #: frappe/website/doctype/website_theme/website_theme.json @@ -16129,7 +16298,7 @@ msgstr "وحدة" #: frappe/custom/doctype/property_setter/property_setter.json #: frappe/website/doctype/web_page/web_page.json msgid "Module (for export)" -msgstr "" +msgstr "وحدة (للتصدير)" #. Name of a DocType #. Label of a Link in the Build Workspace @@ -16142,7 +16311,7 @@ msgstr "تعريف وحدة برمجية" #. Label of the module_html (HTML) field in DocType 'Module Profile' #: frappe/core/doctype/module_profile/module_profile.json msgid "Module HTML" -msgstr "" +msgstr "وحدة HTML" #. Label of the module_name (Data) field in DocType 'Module Def' #: frappe/core/doctype/module_def/module_def.json @@ -16158,28 +16327,27 @@ msgstr "وحدة Onboarding" #. Name of a DocType #. Label of the module_profile (Link) field in DocType 'User' -#. Label of a Link in the Users Workspace #: frappe/core/doctype/module_profile/module_profile.json -#: frappe/core/doctype/user/user.json frappe/core/workspace/users/users.json +#: frappe/core/doctype/user/user.json msgid "Module Profile" -msgstr "" +msgstr "ملف تعريف الوحدة" #. Label of the module_profile_name (Data) field in DocType 'Module Profile' #: frappe/core/doctype/module_profile/module_profile.json msgid "Module Profile Name" -msgstr "" +msgstr "اسم ملف تعريف الوحدة" #: frappe/desk/doctype/module_onboarding/module_onboarding.py:73 msgid "Module onboarding progress reset" -msgstr "" +msgstr "إعادة ضبط تقدم عملية إعداد الوحدة" #: frappe/custom/doctype/customize_form/customize_form.js:250 msgid "Module to Export" msgstr "وحدة لتصدير" -#: frappe/modules/utils.py:280 +#: frappe/modules/utils.py:323 msgid "Module {} not found" -msgstr "" +msgstr "الوحدة {} غير موجودة" #. Group in Package's connections #. Label of a Card Break in the Build Workspace @@ -16207,12 +16375,12 @@ msgstr "وحدات HTML" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Monday" -msgstr "" +msgstr "يوم الاثنين" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Monitor logs for errors, background jobs, communications, and user activity" -msgstr "" +msgstr "راقب السجلات بحثًا عن الأخطاء، والمهام التي تتم في الخلفية، والاتصالات، ونشاط المستخدم" #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -16221,7 +16389,7 @@ msgstr "معدل النصوص والشروط" #: frappe/public/js/frappe/views/calendar/calendar.js:275 msgid "Month" -msgstr "" +msgstr "شهر" #. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat' #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' @@ -16241,7 +16409,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:409 #: frappe/website/report/website_analytics/website_analytics.js:25 msgid "Monthly" -msgstr "" +msgstr "شهريا" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -16265,7 +16433,7 @@ msgstr "أكثر" #. Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "More Info" -msgstr "" +msgstr "المزيد من المعلومات" #. Label of the more_info (Section Break) field in DocType 'Contact' #. Label of the additional_info (Section Break) field in DocType 'Activity Log' @@ -16292,22 +16460,22 @@ msgstr "المزيد من المقالات حول {0}" msgid "More content for the bottom of the page." msgstr "المزيد من المحتوى لأسفل الصفحة." -#: frappe/public/js/frappe/ui/sort_selector.js:193 +#: frappe/public/js/frappe/ui/sort_selector.js:199 msgid "Most Used" msgstr "الأكثر استخداما" #: frappe/utils/password.py:75 msgid "Most probably your password is too long." -msgstr "" +msgstr "على الأرجح أن كلمة مرورك طويلة جدًا." #: frappe/core/doctype/communication/communication.js:86 #: frappe/core/doctype/communication/communication.js:194 #: frappe/core/doctype/communication/communication.js:212 #: frappe/public/js/frappe/form/grid_row_form.js:44 msgid "Move" -msgstr "" +msgstr "حرك" -#: frappe/public/js/frappe/form/grid_row.js:194 +#: frappe/public/js/frappe/form/grid_row.js:196 msgid "Move To" msgstr "الانتقال إلى" @@ -16317,46 +16485,46 @@ msgstr "ارسال الى سلة المحذوفات" #: frappe/public/js/form_builder/components/Section.vue:295 msgid "Move current and all subsequent sections to a new tab" -msgstr "" +msgstr "انقل القسم الحالي وجميع الأقسام اللاحقة إلى علامة تبويب جديدة" -#: frappe/public/js/frappe/form/form.js:178 +#: frappe/public/js/frappe/form/form.js:179 msgid "Move cursor to above row" -msgstr "" +msgstr "حرك المؤشر إلى الصف العلوي" -#: frappe/public/js/frappe/form/form.js:182 +#: frappe/public/js/frappe/form/form.js:183 msgid "Move cursor to below row" -msgstr "" +msgstr "حرك المؤشر إلى الصف السفلي" -#: frappe/public/js/frappe/form/form.js:186 +#: frappe/public/js/frappe/form/form.js:187 msgid "Move cursor to next column" -msgstr "" +msgstr "انقل المؤشر إلى العمود التالي" -#: frappe/public/js/frappe/form/form.js:190 +#: frappe/public/js/frappe/form/form.js:191 msgid "Move cursor to previous column" -msgstr "" +msgstr "انقل المؤشر إلى العمود السابق" #: frappe/public/js/form_builder/components/Section.vue:294 msgid "Move sections to new tab" -msgstr "" +msgstr "انقل الأقسام إلى علامة تبويب جديدة" #: frappe/public/js/form_builder/components/Field.vue:242 msgid "Move the current field and the following fields to a new column" -msgstr "" +msgstr "انقل الحقل الحالي والحقول التالية إلى عمود جديد" -#: frappe/public/js/frappe/form/grid_row.js:169 +#: frappe/public/js/frappe/form/grid_row.js:171 msgid "Move to Row Number" msgstr "الانتقال إلى رقم الصف" #. Description of the 'Next on Click' (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Move to next step when clicked inside highlighted area." -msgstr "" +msgstr "انتقل إلى الخطوة التالية عند النقر داخل المنطقة المحددة." #. Description of the 'Parent Element Selector' (Data) field in DocType 'Form #. Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Mozilla doesn't support :has() so you can pass parent selector here as workaround" -msgstr "" +msgstr "لا يدعم متصفح موزيلا الدالة :has()، لذا يمكنك تمرير مُحدِّد الأصل هنا كحل بديل." #: frappe/desk/page/setup_wizard/install_fixtures.py:43 msgid "Mr" @@ -16384,7 +16552,7 @@ msgstr "يجب أن يكون عنوان URL الخاص بجداول بيانات #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Must be enclosed in '()' and include '{0}', which is a placeholder for the user/login name. i.e. (&(objectclass=user)(uid={0}))" -msgstr "" +msgstr "يجب أن يكون محصورًا بين قوسين '()' وأن يتضمن '{0}'، وهو عنصر نائب لاسم المستخدم/اسم تسجيل الدخول. مثال: (&(objectclass=user)(uid={0}))" #. Description of the 'Image Field' (Data) field in DocType 'DocType' #. Description of the 'Image Field' (Data) field in DocType 'Customize Form' @@ -16419,7 +16587,7 @@ msgstr "حسابي" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:57 msgid "My Device" -msgstr "" +msgstr "جهازي" #. Option for the 'Database Engine' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -16434,7 +16602,7 @@ msgstr "" #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "NOTE: This box is due for depreciation. Please re-setup LDAP to work with the newer settings" -msgstr "" +msgstr "ملاحظة: هذا الجهاز على وشك التلف. يُرجى إعادة إعداد LDAP ليتوافق مع الإعدادات الأحدث." #. Label of the fieldname (Data) field in DocType 'DocField' #. Label of the fieldname (Data) field in DocType 'Customize Form Field' @@ -16451,17 +16619,17 @@ msgstr "" #: frappe/public/js/frappe/views/file/file_view.js:97 #: frappe/website/doctype/website_slideshow/website_slideshow.js:25 msgid "Name" -msgstr "" +msgstr "اسم" #: frappe/integrations/doctype/webhook/webhook.js:29 msgid "Name (Doc Name)" -msgstr "" +msgstr "الاسم (اسم الطبيب)" #: frappe/desk/utils.py:24 msgid "Name already taken, please set a new name" -msgstr "" +msgstr "الاسم مستخدم بالفعل، يرجى اختيار اسم جديد" -#: frappe/model/naming.py:512 +#: frappe/model/naming.py:510 msgid "Name cannot contain special characters like {0}" msgstr "الإسم لا يمكن أن يحتوي على أحرف خاصة مثل {0}" @@ -16473,7 +16641,7 @@ msgstr "اسم نوع الوثيقة (DOCTYPE) تريد هذا الحقل لتك msgid "Name of the new Print Format" msgstr "اسم الشكل الجديد طباعة" -#: frappe/model/naming.py:507 +#: frappe/model/naming.py:505 msgid "Name of {0} cannot be {1}" msgstr "اسم {0} لا يمكن أن يكون {1}" @@ -16504,15 +16672,15 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Naming Rule" -msgstr "" +msgstr "قاعدة التسمية" #. Label of the naming_series_tab (Tab Break) field in DocType 'Document Naming #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Naming Series" -msgstr "" +msgstr "سلسلة التسمية" -#: frappe/model/naming.py:268 +#: frappe/model/naming.py:266 msgid "Naming Series mandatory" msgstr "تسمية سلسلة إلزامية" @@ -16536,11 +16704,6 @@ msgstr "عنصر Navbar" msgid "Navbar Settings" msgstr "إعدادات Navbar" -#. Label of the navbar_style (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Navbar Style" -msgstr "" - #. Label of the navbar_template (Link) field in DocType 'Website Settings' #. Label of the navbar_template_section (Section Break) field in DocType #. 'Website Settings' @@ -16554,41 +16717,46 @@ msgstr "قالب نافبار" msgid "Navbar Template Values" msgstr "قيم قالب نافبار" -#: frappe/public/js/frappe/list/list_view.js:1388 +#: frappe/public/js/frappe/list/list_view.js:1396 msgctxt "Description of a list view shortcut" msgid "Navigate list down" msgstr "انتقل القائمة لأسفل" -#: frappe/public/js/frappe/list/list_view.js:1395 +#: frappe/public/js/frappe/list/list_view.js:1403 msgctxt "Description of a list view shortcut" msgid "Navigate list up" msgstr "انتقل القائمة لأعلى" -#: frappe/public/js/frappe/ui/page.js:180 +#: frappe/public/js/frappe/ui/page.js:188 msgid "Navigate to main content" -msgstr "" +msgstr "انتقل إلى المحتوى الرئيسي" + +#. Label of the form_navigation_buttons (Check) field in DocType 'User' +#: frappe/core/doctype/user/user.json +msgid "Navigation Buttons" +msgstr "أزرار التنقل" #. Label of the navigation_settings_section (Section Break) field in DocType #. 'User' #: frappe/core/doctype/user/user.json msgid "Navigation Settings" -msgstr "" +msgstr "إعدادات التنقل" -#: frappe/public/js/frappe/list/list_view.js:486 +#: frappe/public/js/frappe/list/list_view.js:489 msgid "Need Help?" -msgstr "" +msgstr "هل تحتاج إلى مساعدة؟" -#: frappe/desk/doctype/workspace/workspace.py:356 +#: frappe/desk/doctype/workspace/workspace.py:336 msgid "Need Workspace Manager role to edit private workspace of other users" -msgstr "" +msgstr "أحتاج إلى دور مدير مساحة العمل لتحرير مساحة العمل الخاصة بالمستخدمين الآخرين" -#: frappe/model/document.py:837 +#: frappe/model/document.py:836 msgid "Negative Value" msgstr "قيمة سالبة" -#: frappe/database/query.py:665 +#: frappe/database/query.py:687 msgid "Nested filters must be provided as a list or tuple." -msgstr "" +msgstr "يجب توفير عوامل التصفية المتداخلة كقائمة أو مجموعة." #: frappe/utils/nestedset.py:94 msgid "Nested set error. Please contact the Administrator." @@ -16597,17 +16765,18 @@ msgstr "خطأ مجموعة متداخلة . يرجى الاتصال بمدير #. Name of a DocType #: frappe/printing/doctype/network_printer_settings/network_printer_settings.json msgid "Network Printer Settings" -msgstr "" +msgstr "إعدادات طابعة الشبكة" #. Option for the 'Show External Link Warning' (Select) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Never" -msgstr "" +msgstr "أبداً" #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: frappe/core/doctype/success_action/success_action.js:57 +#: frappe/core/doctype/version/version.py:242 #: frappe/core/page/dashboard_view/dashboard_view.js:173 #: frappe/desk/doctype/todo/todo.js:46 #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json @@ -16616,7 +16785,7 @@ msgstr "" #: frappe/public/js/frappe/views/treeview.js:473 #: frappe/website/doctype/web_form/templates/web_list.html:15 msgid "New" -msgstr "" +msgstr "جديد" #: frappe/public/js/frappe/views/interaction.js:15 msgid "New Activity" @@ -16624,31 +16793,31 @@ msgstr "نشاط جديد" #: frappe/public/js/frappe/form/templates/address_list.html:3 #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:5 -#: frappe/public/js/frappe/utils/address_and_contact.js:71 +#: frappe/public/js/frappe/utils/address_and_contact.js:87 msgid "New Address" -msgstr "" +msgstr "عنوان جديد" #: frappe/public/js/frappe/widgets/widget_dialog.js:58 msgid "New Chart" -msgstr "" +msgstr "مخطط جديد" #: frappe/public/js/frappe/form/templates/contact_list.html:3 msgid "New Contact" -msgstr "" +msgstr "جهة اتصال جديدة" #: frappe/public/js/frappe/widgets/widget_dialog.js:70 msgid "New Custom Block" -msgstr "" +msgstr "كتلة مخصصة جديدة" -#: frappe/printing/page/print/print.js:327 -#: frappe/printing/page/print/print.js:374 +#: frappe/printing/page/print/print.js:335 +#: frappe/printing/page/print/print.js:382 msgid "New Custom Print Format" msgstr "تنسيق طباعة مخصص جديد" #. Label of the new_document_form (Check) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "New Document Form" -msgstr "" +msgstr "نموذج مستند جديد" #: frappe/desk/doctype/notification_log/notification_log.py:154 msgid "New Document Shared {0}" @@ -16666,7 +16835,7 @@ msgstr "حساب بريد إلكتروني جديد" #: frappe/public/js/frappe/form/footer/form_timeline.js:47 msgid "New Event" -msgstr "" +msgstr "حدث جديد" #: frappe/public/js/frappe/views/file/file_view.js:94 msgid "New Folder" @@ -16678,7 +16847,7 @@ msgstr "مجلس كانبان جديدة" #: frappe/public/js/frappe/widgets/widget_dialog.js:62 msgid "New Links" -msgstr "" +msgstr "روابط جديدة" #: frappe/desk/doctype/notification_log/notification_log.py:152 msgid "New Mention on {0}" @@ -16690,7 +16859,7 @@ msgstr "رسالة جديدة من موقع الاتصال الصفحة" #. Label of the new_name (Read Only) field in DocType 'Deleted Document' #: frappe/core/doctype/deleted_document/deleted_document.json -#: frappe/public/js/frappe/form/toolbar.js:229 +#: frappe/public/js/frappe/form/toolbar.js:246 #: frappe/public/js/frappe/model/model.js:713 msgid "New Name" msgstr "اسم جديد" @@ -16701,25 +16870,25 @@ msgstr "إخطار جديد" #: frappe/public/js/frappe/widgets/widget_dialog.js:64 msgid "New Number Card" -msgstr "" +msgstr "بطاقة رقم جديدة" #: frappe/public/js/frappe/widgets/widget_dialog.js:66 msgid "New Onboarding" -msgstr "" +msgstr "عملية انضمام جديدة" #: frappe/core/doctype/user/user.js:183 frappe/www/update-password.html:43 msgid "New Password" msgstr "كلمة مرور جديدة" -#: frappe/printing/page/print/print.js:299 -#: frappe/printing/page/print/print.js:353 +#: frappe/printing/page/print/print.js:307 +#: frappe/printing/page/print/print.js:361 #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:61 msgid "New Print Format Name" msgstr "اسم تنسيق طباعة جديد" #: frappe/public/js/frappe/widgets/widget_dialog.js:68 msgid "New Quick List" -msgstr "" +msgstr "قائمة سريعة جديدة" #: frappe/public/js/frappe/views/reports/report_view.js:1380 msgid "New Report name" @@ -16728,29 +16897,29 @@ msgstr "اسم التقرير الجديد" #. Label of the new_role (Data) field in DocType 'Role Replication' #: frappe/core/doctype/role_replication/role_replication.json msgid "New Role" -msgstr "" +msgstr "دور جديد" #: frappe/public/js/frappe/widgets/widget_dialog.js:60 msgid "New Shortcut" -msgstr "" +msgstr "اختصار جديد" #. Label of the new_users (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "New Users (Last 30 days)" -msgstr "" +msgstr "المستخدمون الجدد (آخر 30 يومًا)" -#: frappe/core/doctype/version/version_view.html:15 -#: frappe/core/doctype/version/version_view.html:77 +#: frappe/core/doctype/version/version_view.html:75 +#: frappe/core/doctype/version/version_view.html:140 msgid "New Value" -msgstr "" +msgstr "قيمة جديدة" #: frappe/workflow/page/workflow_builder/workflow_builder.js:61 msgid "New Workflow Name" -msgstr "" +msgstr "اسم سير العمل الجديد" -#: frappe/public/js/frappe/views/workspace/workspace.js:404 +#: frappe/public/js/frappe/views/workspace/workspace.js:452 msgid "New Workspace" -msgstr "" +msgstr "مساحة عمل جديدة" #. Description of the 'Allowed Public Client Origins' (Small Text) field in #. DocType 'OAuth Settings' @@ -16764,16 +16933,16 @@ msgstr "" #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "New line separated list of scope values." -msgstr "" +msgstr "قائمة قيم النطاق مفصولة بسطر جديد." #. Description of the 'Contacts' (Small Text) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "New lines separated list of strings representing ways to contact people responsible for this client, typically email addresses." -msgstr "" +msgstr "تم فصل قائمة السلاسل النصية التي تمثل طرق الاتصال بالأشخاص المسؤولين عن هذا العميل، وعادةً ما تكون عناوين البريد الإلكتروني، بخطوط جديدة." #: frappe/www/update-password.html:92 msgid "New password cannot be same as old password" -msgstr "" +msgstr "لا يمكن أن تكون كلمة المرور الجديدة هي نفسها كلمة المرور القديمة" #: frappe/utils/change_log.py:389 msgid "New updates are available" @@ -16783,7 +16952,7 @@ msgstr "تحديثات جديدة متاحة" #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "New users will have to be manually registered by system managers." -msgstr "" +msgstr "سيتعين على مديري النظام تسجيل المستخدمين الجدد يدويًا." #. Description of the 'Set Value' (Small Text) field in DocType 'Property #. Setter' @@ -16791,32 +16960,32 @@ msgstr "" msgid "New value to be set" msgstr "القيمة الجديدة التي سيتم تحديدها" -#: frappe/public/js/frappe/form/quick_entry.js:179 -#: frappe/public/js/frappe/form/toolbar.js:48 -#: frappe/public/js/frappe/form/toolbar.js:217 -#: frappe/public/js/frappe/form/toolbar.js:232 -#: frappe/public/js/frappe/form/toolbar.js:594 +#: frappe/public/js/frappe/form/quick_entry.js:190 +#: frappe/public/js/frappe/form/toolbar.js:47 +#: frappe/public/js/frappe/form/toolbar.js:234 +#: frappe/public/js/frappe/form/toolbar.js:249 +#: frappe/public/js/frappe/form/toolbar.js:597 #: frappe/public/js/frappe/model/model.js:612 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:191 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:192 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:250 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:251 -#: frappe/public/js/frappe/views/breadcrumbs.js:217 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:178 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:179 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:228 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:229 +#: frappe/public/js/frappe/views/breadcrumbs.js:232 #: frappe/public/js/frappe/views/treeview.js:366 #: frappe/public/js/frappe/widgets/widget_dialog.js:72 #: frappe/website/doctype/web_form/web_form.py:439 msgid "New {0}" msgstr "{0} جديد" -#: frappe/public/js/frappe/views/reports/query_report.js:393 +#: frappe/public/js/frappe/views/reports/query_report.js:394 msgid "New {0} Created" msgstr "جديد {0} تم إنشاؤه" -#: frappe/public/js/frappe/views/reports/query_report.js:385 +#: frappe/public/js/frappe/views/reports/query_report.js:386 msgid "New {0} {1} added to Dashboard {2}" msgstr "تمت إضافة {0} {1} جديد إلى لوحة التحكم {2}" -#: frappe/public/js/frappe/views/reports/query_report.js:390 +#: frappe/public/js/frappe/views/reports/query_report.js:391 msgid "New {0} {1} created" msgstr "تم إنشاء {0} {1} جديد" @@ -16828,9 +16997,9 @@ msgstr "جديد {0}: {1}" msgid "New {} releases for the following apps are available" msgstr "تتوفر {} إصدارات جديدة للتطبيقات التالية" -#: frappe/core/doctype/user/user.py:853 +#: frappe/core/doctype/user/user.py:856 msgid "Newly created user {0} has no roles enabled." -msgstr "" +msgstr "المستخدم الذي تم إنشاؤه حديثًا {0} ليس لديه أي أدوار مفعلة." #. Name of a role #: frappe/email/doctype/email_group/email_group.json @@ -16847,28 +17016,28 @@ msgstr "مدير النشرة الإخبارية" #: frappe/templates/includes/slideshow.html:38 frappe/website/utils.py:262 #: frappe/website/web_template/slideshow/slideshow.html:44 msgid "Next" -msgstr "" +msgstr "التالي" -#: frappe/public/js/frappe/ui/slides.js:359 +#: frappe/public/js/frappe/ui/slides.js:373 msgctxt "Go to next slide" msgid "Next" -msgstr "" +msgstr "التالي" #: frappe/public/js/frappe/ui/filters/filter.js:683 msgid "Next 14 Days" -msgstr "" +msgstr "الأيام الأربعة عشر القادمة" #: frappe/public/js/frappe/ui/filters/filter.js:687 msgid "Next 30 Days" -msgstr "" +msgstr "الثلاثين يومًا القادمة" #: frappe/public/js/frappe/ui/filters/filter.js:703 msgid "Next 6 Months" -msgstr "" +msgstr "الـ ٦ أشهر المقبلة" #: frappe/public/js/frappe/ui/filters/filter.js:679 msgid "Next 7 Days" -msgstr "" +msgstr "الأيام السبعة القادمة" #. Label of the next_action_email_template (Link) field in DocType 'Workflow #. Document State' @@ -16876,32 +17045,36 @@ msgstr "" msgid "Next Action Email Template" msgstr "التالي عمل قالب البريد الإلكتروني" +#: frappe/core/doctype/success_action/success_action.js:44 +msgid "Next Actions" +msgstr "الخطوات التالية" + #. Label of the next_actions_html (HTML) field in DocType 'Success Action' #: frappe/core/doctype/success_action/success_action.json msgid "Next Actions HTML" msgstr "العمليات القادمة HTML" -#: frappe/public/js/frappe/form/toolbar.js:336 +#: frappe/public/js/frappe/form/toolbar.js:357 msgid "Next Document" msgstr "" #. Label of the next_execution (Datetime) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Next Execution" -msgstr "" +msgstr "التنفيذ التالي" #. Label of the next_form_tour (Link) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Next Form Tour" -msgstr "" +msgstr "جولة النموذج التالي" #: frappe/public/js/frappe/ui/filters/filter.js:695 msgid "Next Month" -msgstr "" +msgstr "الشهر التالي" #: frappe/public/js/frappe/ui/filters/filter.js:699 msgid "Next Quarter" -msgstr "" +msgstr "الربع التالي" #. Label of the next_schedule_date (Date) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -16910,7 +17083,7 @@ msgstr "تاريخ الجدول التالي" #: frappe/automation/doctype/auto_repeat/auto_repeat_schedule.html:6 msgid "Next Scheduled Date" -msgstr "" +msgstr "الموعد المحدد التالي" #. Label of the next_state (Link) field in DocType 'Workflow Transition' #: frappe/workflow/doctype/workflow_transition/workflow_transition.json @@ -16920,61 +17093,65 @@ msgstr "الحالية التالية" #. Label of the next_step_condition (Code) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Next Step Condition" -msgstr "" +msgstr "شرط الخطوة التالية" #. Label of the next_sync_token (Password) field in DocType 'Google Calendar' #. Label of the next_sync_token (Password) field in DocType 'Google Contacts' #: frappe/integrations/doctype/google_calendar/google_calendar.json #: frappe/integrations/doctype/google_contacts/google_contacts.json msgid "Next Sync Token" -msgstr "" +msgstr "رمز المزامنة التالي" #: frappe/public/js/frappe/ui/filters/filter.js:691 msgid "Next Week" -msgstr "" +msgstr "الأسبوع التالي" #: frappe/public/js/frappe/ui/filters/filter.js:707 msgid "Next Year" -msgstr "" +msgstr "السنة القادمة" #: frappe/public/js/frappe/form/workflow.js:45 msgid "Next actions" -msgstr "" +msgstr "الخطوات التالية" #. Label of the next_on_click (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Next on Click" -msgstr "" +msgstr "انقر التالي" #. Option for the 'Standard' (Select) field in DocType 'Page' #. Option for the 'Is Standard' (Select) field in DocType 'Report' +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' #. Option for the 'Require Trusted Certificate' (Select) field in DocType 'LDAP #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: frappe/core/doctype/page/page.json frappe/core/doctype/report/report.json +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/notification/notification.py:102 #: frappe/email/doctype/notification/notification.py:104 #: frappe/integrations/doctype/ldap_settings/ldap_settings.json #: frappe/integrations/doctype/webhook/webhook.py:132 #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/form_builder/utils.js:341 -#: frappe/public/js/frappe/form/controls/link.js:573 +#: frappe/public/js/frappe/form/controls/link.js:574 #: frappe/public/js/frappe/list/base_list.js:949 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:170 -#: frappe/public/js/frappe/views/reports/query_report.js:1695 +#: frappe/public/js/frappe/views/reports/query_report.js:47 #: frappe/website/doctype/help_article/templates/help_article.html:26 msgid "No" -msgstr "" +msgstr "لا" #: frappe/public/js/frappe/ui/filters/filter.js:545 msgctxt "Checkbox is not checked" msgid "No" -msgstr "" +msgstr "لا" #: frappe/public/js/frappe/ui/messages.js:37 msgctxt "Dismiss confirmation dialog" msgid "No" -msgstr "" +msgstr "لا" #: frappe/www/third_party_apps.html:56 msgid "No Active Sessions" @@ -16997,11 +17174,11 @@ msgstr "اي نسخة" #: frappe/public/js/frappe/utils/datatable.js:10 #: frappe/public/js/frappe/widgets/chart_widget.js:57 msgid "No Data" -msgstr "" +msgstr "لا توجد بيانات" #: frappe/public/js/frappe/widgets/quick_list_widget.js:134 msgid "No Data..." -msgstr "" +msgstr "لا توجد بيانات..." #: frappe/public/js/frappe/views/inbox/inbox_view.js:176 msgid "No Email Account" @@ -17009,11 +17186,11 @@ msgstr "ليس لديك حساب البريد الإلكتروني" #: frappe/public/js/frappe/views/inbox/inbox_view.js:196 msgid "No Email Accounts Assigned" -msgstr "" +msgstr "لم يتم تخصيص أي حسابات بريد إلكتروني" #: frappe/email/doctype/email_group/email_group.py:50 msgid "No Email field found in {0}" -msgstr "" +msgstr "لم يتم العثور على حقل البريد الإلكتروني في {0}" #: frappe/public/js/frappe/views/inbox/inbox_view.js:183 msgid "No Emails" @@ -17031,9 +17208,9 @@ msgstr "لا توجد فلاتر" msgid "No Google Calendar Event to sync." msgstr "لا يوجد حدث تقويم Google للمزامنة." -#: frappe/public/js/frappe/ui/capture.js:262 +#: frappe/public/js/frappe/ui/capture.js:263 msgid "No Images" -msgstr "" +msgstr "لا توجد صور" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:366 msgid "No LDAP User found for email: {0}" @@ -17048,25 +17225,25 @@ msgstr "لم يتم العثور على مستخدم LDAP للبريد الإل #: frappe/public/js/workflow_builder/components/StateNode.vue:47 #: frappe/public/js/workflow_builder/store.js:51 msgid "No Label" -msgstr "" +msgstr "بدون ملصق" -#: frappe/printing/page/print/print.js:768 -#: frappe/printing/page/print/print.js:849 +#: frappe/printing/page/print/print.js:782 +#: frappe/printing/page/print/print.js:863 #: frappe/public/js/frappe/list/bulk_operations.js:98 #: frappe/public/js/frappe/list/bulk_operations.js:170 #: frappe/utils/weasyprint.py:52 msgid "No Letterhead" -msgstr "" +msgstr "بدون ترويسة" -#: frappe/model/naming.py:489 +#: frappe/model/naming.py:487 msgid "No Name Specified for {0}" msgstr "لا يوجد اسم محدد لـ {0}" -#: frappe/public/js/frappe/ui/notifications/notifications.js:346 +#: frappe/public/js/frappe/ui/notifications/notifications.js:355 msgid "No New notifications" -msgstr "" +msgstr "لا توجد إشعارات جديدة" -#: frappe/core/doctype/doctype/doctype.py:1778 +#: frappe/core/doctype/doctype/doctype.py:1792 msgid "No Permissions Specified" msgstr "لا الأذونات المحددة" @@ -17084,51 +17261,51 @@ msgstr "لا توجد مخططات مسموح بها في لوحة المعلو #: frappe/printing/doctype/print_settings/print_settings.js:13 msgid "No Preview" -msgstr "" +msgstr "لا يوجد معاينة" -#: frappe/printing/page/print/print.js:772 +#: frappe/printing/page/print/print.js:786 msgid "No Preview Available" -msgstr "" +msgstr "لا تتوفر معاينة" -#: frappe/printing/page/print/print.js:927 +#: frappe/printing/page/print/print.js:941 msgid "No Printer is Available." msgstr "لا يوجد طابعة متاحة." #: frappe/core/doctype/rq_worker/rq_worker_list.js:3 msgid "No RQ Workers connected. Try restarting the bench." -msgstr "" +msgstr "لا يوجد عمال RQ متصلون. حاول إعادة تشغيل المنصة." -#: frappe/public/js/frappe/form/link_selector.js:135 +#: frappe/public/js/frappe/form/link_selector.js:143 msgid "No Results" msgstr "لا يوجد نتائج" #: frappe/public/js/frappe/ui/toolbar/search.js:51 msgid "No Results found" -msgstr "" +msgstr "لم يتم العثور على نتائج" -#: frappe/core/doctype/user/user.py:854 +#: frappe/core/doctype/user/user.py:857 msgid "No Roles Specified" -msgstr "" +msgstr "لم يتم تحديد أي أدوار" #: frappe/public/js/frappe/views/kanban/kanban_view.js:358 msgid "No Select Field Found" -msgstr "" +msgstr "لم يتم العثور على حقل اختيار" #: frappe/core/doctype/recorder/recorder.py:179 msgid "No Suggestions" -msgstr "" +msgstr "لا توجد اقتراحات" #: frappe/desk/reportview.py:710 msgid "No Tags" msgstr "لا علامات" -#: frappe/public/js/frappe/ui/notifications/notifications.js:473 +#: frappe/public/js/frappe/ui/notifications/notifications.js:482 msgid "No Upcoming Events" -msgstr "" +msgstr "لا توجد فعاليات قادمة" #: frappe/public/js/frappe/form/templates/address_list.html:43 msgid "No address added yet." -msgstr "" +msgstr "لم تتم إضافة أي عنوان بعد." #: frappe/email/doctype/notification/notification.js:246 msgid "No alerts for today" @@ -17136,27 +17313,27 @@ msgstr "لا تنبيهات لهذا اليوم" #: frappe/core/doctype/recorder/recorder.py:178 msgid "No automatic optimization suggestions available." -msgstr "" +msgstr "لا توجد اقتراحات للتحسين التلقائي متاحة." #: frappe/public/js/frappe/form/save.js:36 msgid "No changes in document" msgstr "لا توجد تغييرات في المستند" -#: frappe/public/js/frappe/views/workspace/workspace.js:707 +#: frappe/public/js/frappe/views/workspace/workspace.js:756 msgid "No changes made" -msgstr "" +msgstr "لم يتم إجراء أي تغييرات" #: frappe/model/rename_doc.py:369 msgid "No changes made because old and new name are the same." -msgstr "" +msgstr "لم يتم إجراء أي تغييرات لأن الاسم القديم والجديد متطابقان." #: frappe/custom/doctype/doctype_layout/doctype_layout.js:59 msgid "No changes to sync" -msgstr "" +msgstr "لم يتم إجراء أي تغييرات على المزامنة" #: frappe/core/doctype/data_import/importer.py:298 msgid "No changes to update" -msgstr "" +msgstr "لا توجد تغييرات للتحديث" #: frappe/templates/includes/comments/comments.html:4 msgid "No comments yet." @@ -17164,7 +17341,7 @@ msgstr "لا تعليقات بعد." #: frappe/public/js/frappe/form/templates/contact_list.html:91 msgid "No contacts added yet." -msgstr "" +msgstr "لم تتم إضافة أي جهات اتصال حتى الآن." #: frappe/automation/doctype/auto_repeat/auto_repeat.py:469 msgid "No contacts linked to document" @@ -17172,11 +17349,11 @@ msgstr "لا جهات اتصال مرتبطة بالمستند" #: frappe/website/doctype/web_form/web_form.js:180 msgid "No currency fields in {0}" -msgstr "" +msgstr "لا توجد حقول عملة في {0}" #: frappe/desk/query_report.py:382 msgid "No data to export" -msgstr "" +msgstr "لا توجد بيانات للتصدير" #: frappe/contacts/doctype/address/address.py:245 msgid "No default Address Template found. Please create a new one from Setup > Printing and Branding > Address Template." @@ -17192,15 +17369,15 @@ msgstr "لا يوجد حساب بريد إلكتروني مرتبط بالمست #: frappe/core/api/user_invitation.py:17 msgid "No email addresses to invite" -msgstr "" +msgstr "لا توجد عناوين بريد إلكتروني لدعوتها" #: frappe/core/doctype/data_import/data_import.js:504 msgid "No failed logs" -msgstr "" +msgstr "لا توجد سجلات فاشلة" #: frappe/public/js/frappe/views/kanban/kanban_view.js:385 msgid "No fields found that can be used as a Kanban Column. Use the Customize Form to add a Custom Field of type \"Select\"." -msgstr "" +msgstr "لم يتم العثور على أي حقول يمكن استخدامها كعمود في لوحة كانبان. استخدم نموذج التخصيص لإضافة حقل مخصص من نوع \"تحديد\"." #: frappe/utils/file_manager.py:143 msgid "No file attached" @@ -17209,11 +17386,11 @@ msgstr "أي ملف مرفق" #: frappe/public/js/frappe/list/base_list.js:1076 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:100 msgid "No filters found" -msgstr "" +msgstr "لم يتم العثور على مرشحات" #: frappe/public/js/frappe/ui/filters/filter_list.js:299 msgid "No filters selected" -msgstr "" +msgstr "لم يتم تحديد أي فلاتر" #: frappe/desk/form/utils.py:109 msgid "No further records" @@ -17242,7 +17419,7 @@ msgstr "عدد الأعمدة" #. Label of the no_of_requested_sms (Int) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "No of Requested SMS" -msgstr "" +msgstr "عدد الرسائل النصية المطلوبة" #. Label of the no_of_rows (Int) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -17252,13 +17429,13 @@ msgstr "عدد الصفوف (بحد أقصى 500)" #. Label of the no_of_sent_sms (Int) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "No of Sent SMS" -msgstr "" +msgstr "عدد الرسائل النصية المرسلة" -#: frappe/__init__.py:622 frappe/client.py:113 frappe/client.py:155 +#: frappe/__init__.py:620 frappe/client.py:119 frappe/client.py:161 msgid "No permission for {0}" -msgstr "لا يوجد صلاحية لـ {0}
No permission for {0}" +msgstr "لا يوجد إذن لـ {0}" -#: frappe/public/js/frappe/form/form.js:1145 +#: frappe/public/js/frappe/form/form.js:1174 msgctxt "{0} = verb, {1} = object" msgid "No permission to '{0}' {1}" msgstr "لا توجد صلاحية ل '{0} ' {1}" @@ -17267,7 +17444,7 @@ msgstr "لا توجد صلاحية ل '{0} ' {1}" msgid "No permission to read {0}" msgstr "ليس هناك إذن لقراءة {0}" -#: frappe/share.py:216 +#: frappe/share.py:221 msgid "No permission to {0} {1} {2}" msgstr "لا يوجد تصريح إلى {0} {1} {2}" @@ -17281,62 +17458,63 @@ msgstr "لا توجد سجلات في {0}" #: frappe/public/js/frappe/list/list_sidebar_stat.html:11 msgid "No records tagged." -msgstr "" +msgstr "لا توجد سجلات مصنفة." -#: frappe/public/js/frappe/data_import/data_exporter.js:225 +#: frappe/public/js/frappe/data_import/data_exporter.js:226 msgid "No records will be exported" msgstr "لن يتم تصدير سجلات" #: frappe/public/js/frappe/form/grid.js:66 msgid "No rows" -msgstr "" +msgstr "لا توجد صفوف" -#: frappe/public/js/frappe/list/list_view.js:2376 +#: frappe/public/js/frappe/list/list_view.js:2404 msgid "No rows selected" -msgstr "" +msgstr "لم يتم تحديد أي صفوف" #: frappe/email/doctype/notification/notification.py:137 msgid "No subject" -msgstr "" +msgstr "لا يوجد موضوع" #: frappe/www/printview.py:464 msgid "No template found at path: {0}" msgstr "لم يتم العثور على نموذج في المسار: {0}" -#: frappe/core/page/permission_manager/permission_manager.js:362 +#: frappe/core/page/permission_manager/permission_manager.js:363 msgid "No user has the role {0}" msgstr "" #: frappe/public/js/frappe/form/controls/multiselect_list.js:276 +#: frappe/public/js/frappe/utils/utils.js:988 msgid "No values to show" -msgstr "" +msgstr "لا توجد قيم لعرضها" #: frappe/website/web_template/discussions/discussions.html:2 msgid "No {0}" -msgstr "" +msgstr "لا {0}" #: frappe/public/js/frappe/web_form/web_form_list.js:234 msgid "No {0} found" -msgstr "" +msgstr "لم يتم العثور على {0}" -#: frappe/public/js/frappe/list/list_view.js:500 +#: frappe/public/js/frappe/list/list_view.js:503 msgid "No {0} found with matching filters. Clear filters to see all {0}." -msgstr "" +msgstr "لم يتم العثور على {0} مع عوامل التصفية المختارة. امسح عوامل التصفية لرؤية كل {0}." #: frappe/public/js/frappe/views/inbox/inbox_view.js:171 msgid "No {0} mail" msgstr "لا {0} الإلكتروني" #: frappe/public/js/form_builder/utils.js:117 -#: frappe/public/js/frappe/form/grid_row.js:257 +#: frappe/public/js/frappe/form/grid_row.js:259 msgctxt "Title of the 'row number' column" msgid "No." -msgstr "" +msgstr "لا." #. Option for the 'Provider' (Select) field in DocType 'Geolocation Settings' #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.json msgid "Nomatim" -msgstr "" +msgstr "نوماتيم" #. Label of the non_negative (Check) field in DocType 'DocField' #. Label of the non_negative (Check) field in DocType 'Custom Field' @@ -17364,21 +17542,21 @@ msgstr "لا شيء: نهاية سير العمل" #. Label of the normalized_copies (Int) field in DocType 'Recorder Query' #: frappe/core/doctype/recorder_query/recorder_query.json msgid "Normalized Copies" -msgstr "" +msgstr "نسخ موحدة" #. Label of the normalized_query (Data) field in DocType 'Recorder Query' #: frappe/core/doctype/recorder_query/recorder_query.json msgid "Normalized Query" -msgstr "" +msgstr "استعلام مُنمذج" -#: frappe/core/doctype/user/user.py:1076 -#: frappe/templates/includes/login/login.js:257 frappe/utils/oauth.py:298 +#: frappe/core/doctype/user/user.py:1079 +#: frappe/templates/includes/login/login.js:255 frappe/utils/oauth.py:300 msgid "Not Allowed" -msgstr "" +msgstr "غير مسموح" -#: frappe/templates/includes/login/login.js:259 +#: frappe/templates/includes/login/login.js:257 msgid "Not Allowed: Disabled User" -msgstr "" +msgstr "غير مسموح: مستخدم معطل" #: frappe/public/js/frappe/ui/filters/filter.js:36 msgid "Not Ancestors Of" @@ -17399,7 +17577,7 @@ msgstr "لم يتم العثور على" #. Label of the not_helpful (Int) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json msgid "Not Helpful" -msgstr "" +msgstr "غير مفيد" #: frappe/public/js/frappe/ui/filters/filter.js:21 msgid "Not In" @@ -17416,28 +17594,28 @@ msgstr "غير مرتبط بأي سجل" #. Label of the not_nullable (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Not Nullable" -msgstr "" +msgstr "غير قابل للإلغاء" -#: frappe/__init__.py:549 frappe/app.py:383 frappe/desk/calendar.py:28 +#: frappe/__init__.py:547 frappe/app.py:383 frappe/desk/calendar.py:28 #: frappe/public/js/frappe/web_form/webform_script.js:15 #: frappe/website/doctype/web_form/web_form.py:779 #: frappe/website/page_renderers/not_permitted_page.py:22 #: frappe/www/login.py:193 frappe/www/qrcode.py:22 frappe/www/qrcode.py:25 #: frappe/www/qrcode.py:37 msgid "Not Permitted" -msgstr "" +msgstr "لا يسمح" -#: frappe/desk/query_report.py:631 +#: frappe/desk/query_report.py:630 msgid "Not Permitted to read {0}" -msgstr "" +msgstr "غير مسموح بقراءة {0}" #: frappe/website/doctype/web_form/web_form_list.js:7 #: frappe/website/doctype/web_page/web_page_list.js:7 msgid "Not Published" msgstr "لم تنشر" -#: frappe/public/js/frappe/form/toolbar.js:298 -#: frappe/public/js/frappe/form/toolbar.js:849 +#: frappe/public/js/frappe/form/toolbar.js:316 +#: frappe/public/js/frappe/form/toolbar.js:852 #: frappe/public/js/frappe/model/indicator.js:28 #: frappe/public/js/frappe/views/kanban/kanban_view.js:183 #: frappe/public/js/frappe/views/reports/report_view.js:203 @@ -17471,23 +17649,23 @@ msgstr "غير محدد" msgid "Not a valid Comma Separated Value (CSV File)" msgstr "ليس صالحا القيمة المفصولة بفواصل ( CSV ملف)" -#: frappe/core/doctype/user/user.py:304 +#: frappe/core/doctype/user/user.py:307 msgid "Not a valid User Image." msgstr "ليست صورة مستخدم صالحة." -#: frappe/model/workflow.py:117 +#: frappe/model/workflow.py:135 msgid "Not a valid Workflow Action" msgstr "ليس إجراء سير عمل صالح" -#: frappe/templates/includes/login/login.js:255 +#: frappe/templates/includes/login/login.js:253 msgid "Not a valid user" -msgstr "" +msgstr "مستخدم غير صالح" #: frappe/workflow/doctype/workflow/workflow_list.js:7 msgid "Not active" -msgstr "" +msgstr "غير نشطة" -#: frappe/permissions.py:389 +#: frappe/permissions.py:395 msgid "Not allowed for {0}: {1}" msgstr "غير مسموح لـ {0}: {1}" @@ -17497,7 +17675,7 @@ msgstr "غير مسموح بإرفاق مستند {0} ، يرجى تمكين ا #: frappe/core/doctype/doctype/doctype.py:337 msgid "Not allowed to create custom Virtual DocType." -msgstr "" +msgstr "غير مسموح بإنشاء نوع مستند افتراضي مخصص." #: frappe/www/printview.py:165 msgid "Not allowed to print cancelled documents" @@ -17507,11 +17685,11 @@ msgstr "لا يسمح لطباعة الوثائق الملغاة" msgid "Not allowed to print draft documents" msgstr "لا يسمح لطباعة مسودات الوثائق" -#: frappe/permissions.py:219 +#: frappe/permissions.py:225 msgid "Not allowed via controller permission check" -msgstr "" +msgstr "غير مسموح به عبر فحص أذونات وحدة التحكم" -#: frappe/public/js/frappe/request.js:147 frappe/website/js/website.js:94 +#: frappe/public/js/frappe/request.js:145 frappe/website/js/website.js:94 msgid "Not found" msgstr "لم يتم العثور على" @@ -17524,14 +17702,14 @@ msgid "Not in Developer Mode! Set in site_config.json or make 'Custom' DocType." msgstr "ليس في وضع المطور! يقع في site_config.json أو جعل DOCTYPE \"مخصص\"." #: frappe/core/doctype/system_settings/system_settings.py:234 -#: frappe/public/js/frappe/request.js:159 -#: frappe/public/js/frappe/request.js:170 -#: frappe/public/js/frappe/request.js:175 +#: frappe/public/js/frappe/request.js:157 +#: frappe/public/js/frappe/request.js:168 +#: frappe/public/js/frappe/request.js:173 #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:67 -#: frappe/utils/messages.py:158 frappe/website/doctype/web_form/web_form.py:792 +#: frappe/utils/messages.py:161 frappe/website/doctype/web_form/web_form.py:792 #: frappe/website/js/website.js:97 msgid "Not permitted" -msgstr "" +msgstr "غير مسموح به" #: frappe/public/js/frappe/list/list_view.js:53 msgid "Not permitted to view {0}" @@ -17539,13 +17717,13 @@ msgstr "غير مسموح بمشاهدة {0}" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:623 msgid "Not permitted. {0}." -msgstr "" +msgstr "غير مسموح. {0}." #. Name of a DocType #: frappe/automation/doctype/auto_repeat/auto_repeat.py:438 #: frappe/desk/doctype/note/note.json msgid "Note" -msgstr "" +msgstr "ملاحظات" #. Name of a DocType #: frappe/desk/doctype/note_seen_by/note_seen_by.json @@ -17556,13 +17734,13 @@ msgstr "ملاحظة يراها" msgid "Note:" msgstr "ملحوظة:" -#: frappe/public/js/frappe/utils/utils.js:774 +#: frappe/public/js/frappe/utils/utils.js:776 msgid "Note: Changing the Page Name will break previous URL to this page." msgstr "ملاحظة: يؤدي تغيير اسم الصفحة إلى كسر عنوان ورل السابق لهذه الصفحة." #: frappe/core/doctype/user/user.js:35 msgid "Note: Etc timezones have their signs reversed." -msgstr "" +msgstr "ملاحظة: يتم عكس إشارات المناطق الزمنية الأخرى." #. Description of the 'sb0' (Section Break) field in DocType 'Website #. Slideshow' @@ -17578,30 +17756,30 @@ msgstr "ملاحظة: سيتم السماح جلسات متعددة في حال #: frappe/core/doctype/user/user.js:394 msgid "Note: This will be shared with user." -msgstr "" +msgstr "ملاحظة: سيتم مشاركة هذا مع المستخدم." #: frappe/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 "" +msgstr "ملاحظة: سيتم تنفيذ طلبك لحذف الحساب خلال {0} ساعة." #: frappe/core/doctype/data_export/exporter.py:183 msgid "Notes:" msgstr "ملاحظات:" -#: frappe/public/js/frappe/ui/notifications/notifications.js:523 +#: frappe/public/js/frappe/ui/notifications/notifications.js:532 msgid "Nothing New" -msgstr "" +msgstr "لا شيء جديد" #: frappe/public/js/frappe/form/undo_manager.js:43 msgid "Nothing left to redo" -msgstr "" +msgstr "لم يتبق شيء لإعادة فعله" #: frappe/public/js/frappe/form/undo_manager.js:33 msgid "Nothing left to undo" -msgstr "" +msgstr "لم يتبق شيء للتراجع عنه" #: frappe/public/js/frappe/list/base_list.js:365 -#: frappe/public/js/frappe/views/reports/query_report.js:105 +#: frappe/public/js/frappe/views/reports/query_report.js:106 #: frappe/templates/includes/list/list.html:9 #: frappe/website/doctype/help_article/templates/help_article_list.html:21 msgid "Nothing to show" @@ -17612,13 +17790,15 @@ msgid "Nothing to update" msgstr "لا شيء للتحديث" #. Label of the notification (Tab Break) field in DocType 'Auto Repeat' +#. Option for the 'Type' (Select) field in DocType 'Event Notifications' #. Name of a DocType #: frappe/automation/doctype/auto_repeat/auto_repeat.json #: frappe/core/doctype/communication/mixins.py:142 +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:258 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:294 msgid "Notification" -msgstr "" +msgstr "إعلام" #. Name of a DocType #: frappe/desk/doctype/notification_log/notification_log.json @@ -17632,46 +17812,43 @@ msgstr "مستلم الإعلام" #. Name of a DocType #: frappe/desk/doctype/notification_settings/notification_settings.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:38 +#: frappe/public/js/frappe/ui/notifications/notifications.js:41 msgid "Notification Settings" -msgstr "" +msgstr "إعدادات الإشعار" #. Name of a DocType #: frappe/desk/doctype/notification_subscribed_document/notification_subscribed_document.json msgid "Notification Subscribed Document" msgstr "وثيقة الاشتراك المكتوبة" -#. Label of a chart in the System Workspace -#: frappe/core/workspace/system/system.json -msgid "Notification Summary" -msgstr "" - #: frappe/public/js/frappe/form/templates/timeline_message_box.html:8 msgid "Notification sent to" -msgstr "" +msgstr "تم إرسال الإشعار إلى" #: frappe/email/doctype/notification/notification.py:561 msgid "Notification: customer {0} has no Mobile number set" -msgstr "" +msgstr "إشعار: العميل {0} ليس لديه رقم جوال مُسجل" #: frappe/email/doctype/notification/notification.py:547 msgid "Notification: document {0} has no {1} number set (field: {2})" -msgstr "" +msgstr "إشعار: المستند {0} لا يحتوي على مجموعة أرقام {1} (الحقل: {2})" #: frappe/email/doctype/notification/notification.py:556 msgid "Notification: user {0} has no Mobile number set" -msgstr "" +msgstr "إشعار: المستخدم {0} ليس لديه رقم جوال مُسجل" #. Label of the notifications (Check) field in DocType 'User' -#: frappe/core/doctype/user/user.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:61 -#: frappe/public/js/frappe/ui/notifications/notifications.js:218 +#. Label of the notifications_tab (Tab Break) field in DocType 'Event' +#. Label of the notifications (Table) field in DocType 'Event' +#: frappe/core/doctype/user/user.json frappe/desk/doctype/event/event.json +#: frappe/public/js/frappe/ui/notifications/notifications.js:68 +#: frappe/public/js/frappe/ui/notifications/notifications.js:227 msgid "Notifications" msgstr "إخطارات" -#: frappe/public/js/frappe/ui/notifications/notifications.js:330 +#: frappe/public/js/frappe/ui/notifications/notifications.js:339 msgid "Notifications Disabled" -msgstr "" +msgstr "تم تعطيل الإشعارات" #. Description of the 'Default Outgoing' (Check) field in DocType 'Email #. Account' @@ -17734,7 +17911,7 @@ msgstr "رابط بطاقة الرقم" #. Card' #: frappe/desk/doctype/workspace_number_card/workspace_number_card.json msgid "Number Card Name" -msgstr "" +msgstr "رقم البطاقة اسم البطاقة" #. Label of the number_cards_tab (Tab Break) field in DocType 'Workspace' #. Label of the number_cards (Table) field in DocType 'Workspace' @@ -17765,16 +17942,16 @@ msgstr "عدد المجموعات" #. Label of the number_of_queries (Int) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "Number of Queries" -msgstr "" +msgstr "عدد الاستفسارات" #: frappe/core/doctype/doctype/doctype.py:444 #: frappe/public/js/frappe/doctype/index.js:66 msgid "Number of attachment fields are more than {}, limit updated to {}." -msgstr "" +msgstr "عدد حقول المرفقات أكبر من {}، تم تحديث الحد إلى {}." #: frappe/core/doctype/system_settings/system_settings.py:189 msgid "Number of backups must be greater than zero." -msgstr "" +msgstr "يجب أن يكون عدد النسخ الاحتياطية أكبر من الصفر." #. Description of the 'Columns' (Int) field in DocType 'Customize Form Field' #: frappe/custom/doctype/customize_form_field/customize_form_field.json @@ -17792,22 +17969,22 @@ msgstr "عدد الأعمدة للحقل في قائمة عرض أو الشبك #. DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Number of days after which the document Web View link shared on email will be expired" -msgstr "" +msgstr "عدد الأيام التي بعدها تنتهي صلاحية رابط عرض المستند على الويب الذي تمت مشاركته عبر البريد الإلكتروني." #. Label of the cache_keys (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Number of keys" -msgstr "" +msgstr "عدد المفاتيح" #. Label of the onsite_backups (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Number of onsite backups" -msgstr "" +msgstr "عدد النسخ الاحتياطية الموجودة في الموقع" #. Option for the 'Method' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "OAuth" -msgstr "" +msgstr "OAuth" #. Name of a DocType #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json @@ -17834,11 +18011,11 @@ msgstr "معرف عميل OAuth" #. Name of a DocType #: frappe/integrations/doctype/oauth_client_role/oauth_client_role.json msgid "OAuth Client Role" -msgstr "" +msgstr "دور عميل OAuth" #: frappe/email/oauth.py:30 msgid "OAuth Error" -msgstr "" +msgstr "خطأ في OAuth" #. Name of a DocType #. Label of a Link in the Integrations Workspace @@ -17850,25 +18027,25 @@ msgstr "إعدادات موفرOAuth" #. Name of a DocType #: frappe/integrations/doctype/oauth_scope/oauth_scope.json msgid "OAuth Scope" -msgstr "" +msgstr "نطاق OAuth" #. Name of a DocType #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "OAuth Settings" -msgstr "" +msgstr "إعدادات OAuth" #: frappe/email/doctype/email_account/email_account.js:250 msgid "OAuth has been enabled but not authorised. Please use \"Authorise API Access\" button to do the same." -msgstr "" +msgstr "تم تفعيل OAuth ولكن لم يتم منح الإذن. يرجى استخدام زر \"منح الإذن بالوصول إلى واجهة برمجة التطبيقات\" للقيام بذلك." #. Option for the 'Method' (Select) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "OPTIONS" -msgstr "" +msgstr "خيارات" #: frappe/public/js/form_builder/components/Tabs.vue:190 msgid "OR" -msgstr "" +msgstr "أو" #. Option for the 'Two Factor Authentication method' (Select) field in DocType #. 'System Settings' @@ -17885,7 +18062,7 @@ msgstr "اسم جهة مكتب المدعي العام" #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "OTP SMS Template" -msgstr "" +msgstr "نموذج رسالة نصية قصيرة لرمز التحقق لمرة واحدة" #: frappe/core/doctype/system_settings/system_settings.py:168 msgid "OTP SMS Template must contain {0} placeholder to insert the OTP." @@ -17893,7 +18070,7 @@ msgstr "" #: frappe/twofactor.py:459 msgid "OTP Secret Reset - {0}" -msgstr "" +msgstr "إعادة تعيين رمز التحقق لمرة واحدة - {0}" #: frappe/twofactor.py:478 msgid "OTP Secret has been reset. Re-registration will be required on next login." @@ -17905,15 +18082,15 @@ msgstr "تمت إعادة تعيين سر مكتب المدعي العام. سو msgid "OTP placeholder should be defined as {{ otp }} " msgstr "" -#: frappe/templates/includes/login/login.js:355 +#: frappe/templates/includes/login/login.js:354 msgid "OTP setup using OTP App was not completed. Please contact Administrator." -msgstr "" +msgstr "لم يكتمل إعداد رمز التحقق لمرة واحدة (OTP) باستخدام تطبيق OTP. يرجى الاتصال بالمسؤول." #. Label of the occurrences (Int) field in DocType 'System Health Report #. Errors' #: frappe/desk/doctype/system_health_report_errors/system_health_report_errors.json msgid "Occurrences" -msgstr "" +msgstr "الأحداث" #. Option for the 'SSL/TLS Mode' (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -17933,29 +18110,29 @@ msgstr "مكتب 365" #: frappe/core/doctype/server_script/server_script.js:36 msgid "Official Documentation" -msgstr "" +msgstr "الوثائق الرسمية" #. Label of the offset_x (Int) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Offset X" -msgstr "" +msgstr "إزاحة X" #. Label of the offset_y (Int) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Offset Y" -msgstr "" +msgstr "إزاحة Y" -#: frappe/database/query.py:304 +#: frappe/database/query.py:307 msgid "Offset must be a non-negative integer" -msgstr "" +msgstr "يجب أن يكون الإزاحة عددًا صحيحًا غير سالب" #: frappe/www/update-password.html:38 msgid "Old Password" msgstr "كلمة المرور القديمة" -#: frappe/custom/doctype/custom_field/custom_field.py:413 +#: frappe/custom/doctype/custom_field/custom_field.py:414 msgid "Old and new fieldnames are same." -msgstr "" +msgstr "أسماء الحقول القديمة والجديدة هي نفسها." #. Description of the 'Number of Backups' (Int) field in DocType 'System #. Settings' @@ -17967,72 +18144,72 @@ msgstr "سيتم حذف النسخ الاحتياطية القديمة تلقا #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Oldest Unscheduled Job" -msgstr "" +msgstr "أقدم وظيفة غير مجدولة" #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json msgid "On Hold" -msgstr "" +msgstr "معلق" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Authorization" -msgstr "" +msgstr "عند تفويض الدفع" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Charge Processed" -msgstr "" +msgstr "تمت معالجة رسوم الدفع" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Failed" -msgstr "" +msgstr "في حالة فشل الدفع" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Mandate Acquisition Processed" -msgstr "" +msgstr "تمت معالجة عملية الحصول على تفويض الدفع" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Mandate Charge Processed" -msgstr "" +msgstr "تمت معالجة رسوم تفويض الدفع" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "On Payment Paid" -msgstr "" +msgstr "بعد سداد المبلغ" #. Description of the 'Is Dynamic URL?' (Check) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "On checking this option, URL will be treated like a jinja template string" -msgstr "" +msgstr "عند تحديد هذا الخيار، سيتم التعامل مع عنوان URL كسلسلة قالب Jinja" #: frappe/public/js/frappe/ui/filters/filter.js:66 #: frappe/public/js/frappe/ui/filters/filter.js:72 msgid "On or After" -msgstr "" +msgstr "في أو بعد" #: frappe/public/js/frappe/ui/filters/filter.js:65 #: frappe/public/js/frappe/ui/filters/filter.js:71 msgid "On or Before" -msgstr "" +msgstr "في أو قبل" -#: frappe/public/js/frappe/views/communication.js:957 +#: frappe/public/js/frappe/views/communication.js:1028 msgid "On {0}, {1} wrote:" -msgstr "" +msgstr "في {0}، كتب {1} :" #. Label of the onboard (Check) field in DocType 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/public/js/frappe/widgets/widget_dialog.js:335 msgid "Onboard" -msgstr "" +msgstr "صعد على متنها" #: frappe/public/js/frappe/widgets/widget_dialog.js:232 msgid "Onboarding Name" -msgstr "" +msgstr "اسم الإعداد" #. Name of a DocType #: frappe/desk/doctype/onboarding_permission/onboarding_permission.json @@ -18042,7 +18219,7 @@ msgstr "إذن على متن الطائرة" #. Label of the onboarding_status (Small Text) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Onboarding Status" -msgstr "" +msgstr "حالة الانضمام" #. Name of a DocType #: frappe/desk/doctype/onboarding_step/onboarding_step.json @@ -18056,7 +18233,7 @@ msgstr "خريطة خطوة Onboarding" #: frappe/public/js/frappe/widgets/onboarding_widget.js:264 msgid "Onboarding complete" -msgstr "" +msgstr "اكتملت عملية الإعداد" #. Description of the 'Is Submittable' (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -18064,9 +18241,9 @@ msgstr "" msgid "Once submitted, submittable documents cannot be changed. They can only be Cancelled and Amended." msgstr "بمجرد إرسالها ، لا يمكن تغيير المستندات المقدمة. يمكن إلغاؤها وتعديلها فقط." -#: frappe/core/page/permission_manager/permission_manager_help.html:35 +#: frappe/core/page/permission_manager/permission_manager_help.html:102 msgid "Once you have set this, the users will only be able access documents (eg. Blog Post) where the link exists (eg. Blogger)." -msgstr "" +msgstr "بمجرد ضبط هذا، سيتمكن المستخدمون فقط من الوصول إلى المستندات (مثل منشور المدونة) حيث يوجد الرابط (مثل Blogger)." #: frappe/www/complete_signup.html:7 msgid "One Last Step" @@ -18080,11 +18257,11 @@ msgstr "كلمة المرور لمرة واحدة (OTP) رمز التسجيل م msgid "One of" msgstr "واحد من" -#: frappe/client.py:217 +#: frappe/client.py:223 msgid "Only 200 inserts allowed in one request" msgstr "فقط 200 إدراج سمحت في طلب واحد" -#: frappe/email/doctype/email_queue/email_queue.py:90 +#: frappe/email/doctype/email_queue/email_queue.py:91 msgid "Only Administrator can delete Email Queue" msgstr "يمكن فقط للمسؤول حذف قائمة انتظار البريد الإلكتروني" @@ -18105,7 +18282,7 @@ msgstr "يسمح فقط للمسؤول باستخدام Recorder" msgid "Only Allow Edit For" msgstr "السماح بالتحرير فقط لـ" -#: frappe/core/doctype/doctype/doctype.py:1635 +#: frappe/core/doctype/doctype/doctype.py:1649 msgid "Only Options allowed for Data field are:" msgstr "الخيارات المسموح بها لحقل البيانات فقط هي:" @@ -18116,31 +18293,31 @@ msgstr "فقط إرسال السجلات التي تم تحديثها في آخ #: frappe/core/doctype/file/file.py:167 msgid "Only System Managers can make this file public." -msgstr "" +msgstr "لا يمكن إلا لمديري النظام جعل هذا الملف عامًا." #: frappe/desk/doctype/workspace/workspace.js:32 msgid "Only Workspace Manager can edit public workspaces" -msgstr "" +msgstr "لا يمكن تعديل مساحات العمل العامة إلا بواسطة مدير مساحة العمل" #. Label of the only_allow_system_managers_to_upload_public_files (Check) field #. in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Only allow System Managers to upload public files" -msgstr "" +msgstr "لا تسمح إلا لمديري النظام بتحميل الملفات العامة" -#: frappe/modules/utils.py:68 +#: frappe/modules/utils.py:80 msgid "Only allowed to export customizations in developer mode" -msgstr "" +msgstr "يُسمح بتصدير التخصيصات فقط في وضع المطور." -#: frappe/model/document.py:1288 +#: frappe/model/document.py:1287 msgid "Only draft documents can be discarded" -msgstr "" +msgstr "لا يمكن التخلص إلا من مسودات الوثائق" #. Label of the only_for (Link) field in DocType 'Workspace Link' #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/public/js/frappe/widgets/widget_dialog.js:328 msgid "Only for" -msgstr "" +msgstr "فقط لـ" #: frappe/core/doctype/data_export/exporter.py:192 msgid "Only mandatory fields are necessary for new records. You can delete non-mandatory columns if you wish." @@ -18153,11 +18330,11 @@ msgstr "يمكن تعيين {0} واحد فقط على أنه أساسي." #: frappe/desk/reportview.py:360 msgid "Only reports of type Report Builder can be deleted" -msgstr "" +msgstr "لا يمكن حذف سوى التقارير من نوع \"منشئ التقارير\"." #: frappe/desk/reportview.py:331 msgid "Only reports of type Report Builder can be edited" -msgstr "" +msgstr "لا يمكن تعديل سوى التقارير من نوع \"منشئ التقارير\"." #: frappe/custom/doctype/customize_form/customize_form.py:131 msgid "Only standard DocTypes are allowed to be customized from Customize Form." @@ -18165,19 +18342,19 @@ msgstr "يُسمح بتخصيص أنواع DocTypes القياسية فقط من #: frappe/model/delete_doc.py:283 msgid "Only the Administrator can delete a standard DocType." -msgstr "" +msgstr "لا يمكن حذف نوع المستند القياسي إلا من قبل المسؤول." #: frappe/desk/form/assign_to.py:198 msgid "Only the assignee can complete this to-do." -msgstr "" +msgstr "لا يمكن إكمال هذه المهمة إلا من قبل الشخص المُكلف بها." #: frappe/email/doctype/auto_email_report/auto_email_report.py:108 msgid "Only {0} emailed reports are allowed per user." -msgstr "" +msgstr "يُسمح فقط بإرسال {0} تقرير عبر البريد الإلكتروني لكل مستخدم." -#: frappe/templates/includes/login/login.js:291 +#: frappe/templates/includes/login/login.js:289 msgid "Oops! Something went wrong." -msgstr "" +msgstr "عفواً! حدث خطأ ما." #. Option for the 'Status' (Select) field in DocType 'Contact' #. Option for the 'Status' (Select) field in DocType 'Communication' @@ -18191,15 +18368,15 @@ msgstr "" #: frappe/desk/doctype/event/event.json frappe/desk/doctype/todo/todo.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Open" -msgstr "" +msgstr "فتح" #: frappe/desk/doctype/todo/todo_list.js:14 msgctxt "Access" msgid "Open" -msgstr "" +msgstr "فتح" -#: frappe/desk/page/desktop/desktop.js:217 -#: frappe/desk/page/desktop/desktop.js:226 +#: frappe/desk/page/desktop/desktop.js:470 +#: frappe/desk/page/desktop/desktop.js:479 #: frappe/public/js/frappe/ui/keyboard.js:207 #: frappe/public/js/frappe/ui/keyboard.js:217 msgid "Open Awesomebar" @@ -18209,7 +18386,7 @@ msgstr "افتح شريط ممتاز" #: frappe/public/js/frappe/form/templates/timeline_message_box.html:96 #: frappe/public/js/frappe/form/templates/timeline_message_box.html:97 msgid "Open Communication" -msgstr "" +msgstr "التواصل المفتوح" #: frappe/templates/emails/new_notification.html:10 msgid "Open Document" @@ -18235,9 +18412,13 @@ msgstr "افتح مستند مرجعي" msgid "Open Settings" msgstr "أفتح الإعدادات" +#: frappe/public/js/frappe/form/toolbar.js:472 +msgid "Open Sidebar" +msgstr "افتح الشريط الجانبي" + #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Open Source Applications for the Web" -msgstr "" +msgstr "تطبيقات مفتوحة المصدر للويب" #. Label of the open_in_new_tab (Check) field in DocType 'Top Bar Item' #: frappe/website/doctype/top_bar_item/top_bar_item.json @@ -18247,32 +18428,32 @@ msgstr "افتح URL في علامة تبويب جديدة" #. Description of the 'Quick Entry' (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Open a dialog with mandatory fields to create a new record quickly. There must be at least one mandatory field to show in dialog." -msgstr "" +msgstr "افتح نافذة حوار تحتوي على حقول إلزامية لإنشاء سجل جديد بسرعة. يجب أن تحتوي النافذة على حقل إلزامي واحد على الأقل." -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:238 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:245 msgid "Open a module or tool" msgstr "فتح وحدة نمطية أو أداة" #: frappe/public/js/frappe/ui/keyboard.js:367 msgid "Open console" -msgstr "" +msgstr "وحدة تحكم مفتوحة" #: frappe/public/js/print_format_builder/Preview.vue:17 msgid "Open in a new tab" -msgstr "" +msgstr "افتح في علامة تبويب جديدة" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:243 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:250 msgid "Open in new tab" -msgstr "" +msgstr "افتح في علامة تبويب جديدة" -#: frappe/public/js/frappe/list/list_view.js:1441 +#: frappe/public/js/frappe/list/list_view.js:1449 msgctxt "Description of a list view shortcut" msgid "Open list item" msgstr "فتح عنصر القائمة" #: frappe/core/doctype/error_log/error_log.js:15 msgid "Open reference document" -msgstr "" +msgstr "افتح المستند المرجعي" #: frappe/www/qrcode.html:13 msgid "Open your authentication app on your mobile phone." @@ -18280,32 +18461,32 @@ msgstr "افتح تطبيق المصادقة على هاتفك الجوال." #: frappe/desk/doctype/todo/todo_list.js:17 #: frappe/public/js/frappe/form/templates/form_links.html:18 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:314 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:315 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:326 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:327 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:337 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:338 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:347 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:348 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:368 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:369 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:288 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:289 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:300 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:301 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:311 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:312 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:321 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:322 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:340 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:341 msgid "Open {0}" msgstr "مفتوحة {0}" #. Label of the openid_configuration (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "OpenID Configuration" -msgstr "" +msgstr "تكوين OpenID" #: frappe/integrations/doctype/connected_app/connected_app.js:15 msgid "OpenID Configuration fetched successfully!" -msgstr "" +msgstr "تم جلب إعدادات OpenID بنجاح!" #. Option for the 'Directory Server' (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "OpenLDAP" -msgstr "" +msgstr "OpenLDAP" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -18315,25 +18496,25 @@ msgstr "افتتح" #. Label of the operation (Select) field in DocType 'Activity Log' #: frappe/core/doctype/activity_log/activity_log.json msgid "Operation" -msgstr "" +msgstr "عملية" #: frappe/utils/data.py:2219 msgid "Operator must be one of {0}" msgstr "يجب أن يكون المشغل واحدا من {0}" -#: frappe/database/query.py:2031 +#: frappe/database/query.py:2109 msgid "Operator {0} requires exactly 2 arguments (left and right operands)" -msgstr "" +msgstr "يتطلب المعامل {0} وسيطين بالضبط (المعامل الأيسر والمعامل الأيمن)" #: frappe/core/doctype/file/file.js:34 #: frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.js:8 #: frappe/public/js/frappe/file_uploader/FilePreview.vue:31 msgid "Optimize" -msgstr "" +msgstr "تحسين" #: frappe/core/doctype/file/file.js:110 msgid "Optimizing image..." -msgstr "" +msgstr "جارٍ تحسين الصورة..." #: frappe/custom/doctype/custom_field/custom_field.js:100 msgid "Option 1" @@ -18347,7 +18528,7 @@ msgstr "الخيار 2" msgid "Option 3" msgstr "الخيار 3" -#: frappe/core/doctype/doctype/doctype.py:1653 +#: frappe/core/doctype/doctype/doctype.py:1667 msgid "Option {0} for field {1} is not a child table" msgstr "الخيار {0} للحقل {1} ليس جدولًا فرعيًا" @@ -18381,7 +18562,7 @@ msgstr "اختياري: سيتم إرسال التنبية إذا كان هذا msgid "Options" msgstr "خيارات" -#: frappe/core/doctype/doctype/doctype.py:1381 +#: frappe/core/doctype/doctype/doctype.py:1395 msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'" msgstr "'الارتباط الحيوي \"نوع من الخيارات الميدانية يجب أن يشير إلى رابط حقل آخر مع خيارات باسم' DOCTYPE '" @@ -18390,23 +18571,23 @@ msgstr "'الارتباط الحيوي \"نوع من الخيارات الميد msgid "Options Help" msgstr "خيارات مساعدة" -#: frappe/core/doctype/doctype/doctype.py:1682 +#: frappe/core/doctype/doctype/doctype.py:1696 msgid "Options for Rating field can range from 3 to 10" -msgstr "" +msgstr "يمكن أن تتراوح خيارات حقل التقييم من 3 إلى 10" #: frappe/custom/doctype/custom_field/custom_field.js:96 msgid "Options for select. Each option on a new line." msgstr "خيارات للاختيار. كل خيار على سطر جديد." -#: frappe/core/doctype/doctype/doctype.py:1398 +#: frappe/core/doctype/doctype/doctype.py:1412 msgid "Options for {0} must be set before setting the default value." msgstr "يجب تعيين خيارات {0} قبل تعيين القيمة الافتراضية." #: frappe/public/js/form_builder/store.js:182 msgid "Options is required for field {0} of type {1}" -msgstr "" +msgstr "الخيارات مطلوبة للحقل {0} من النوع {1}" -#: frappe/model/base_document.py:972 +#: frappe/model/base_document.py:989 msgid "Options not set for link field {0}" msgstr "خيارات لم يتم تعيين لحقل الرابط {0}" @@ -18415,16 +18596,16 @@ msgstr "خيارات لم يتم تعيين لحقل الرابط {0}" #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Orange" -msgstr "" +msgstr "البرتقالي" #. Label of the order (Code) field in DocType 'Kanban Board Column' #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Order" msgstr "طلب" -#: frappe/database/query.py:1216 +#: frappe/database/query.py:1258 msgid "Order By must be a string" -msgstr "" +msgstr "يجب أن يكون ترتيب الطلب سلسلة نصية" #. Label of the sb0 (Section Break) field in DocType 'About Us Settings' #. Label of the company_history (Table) field in DocType 'About Us Settings' @@ -18442,10 +18623,14 @@ msgstr "عنوان تاريخ المنظمة" msgid "Orientation" msgstr "توجيه" -#: frappe/core/doctype/version/version_view.html:14 -#: frappe/core/doctype/version/version_view.html:76 +#: frappe/core/doctype/version/version.py:241 +msgid "Original" +msgstr "إبداعي" + +#: frappe/core/doctype/version/version_view.html:74 +#: frappe/core/doctype/version/version_view.html:139 msgid "Original Value" -msgstr "" +msgstr "القيمة الأصلية" #. Option for the 'Address Type' (Select) field in DocType 'Address' #. Option for the 'Type' (Select) field in DocType 'Communication' @@ -18462,41 +18647,41 @@ msgstr "آخر" #. Label of the outgoing_tab (Tab Break) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Outgoing" -msgstr "" +msgstr "الصادر" #. Label of the outgoing_mail_settings (Section Break) field in DocType 'Email #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Outgoing (SMTP) Settings" -msgstr "" +msgstr "إعدادات البريد الصادر (SMTP)" #. Label of the outgoing_emails_column (Column Break) field in DocType 'System #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Outgoing Emails (Last 7 days)" -msgstr "" +msgstr "رسائل البريد الإلكتروني الصادرة (آخر 7 أيام)" #. Label of the smtp_server (Data) field in DocType 'Email Account' #. Label of the smtp_server (Data) field in DocType 'Email Domain' #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_domain/email_domain.json msgid "Outgoing Server" -msgstr "" +msgstr "خادم الإرسال" #. Label of the outgoing_mail_settings (Section Break) field in DocType 'Email #. Domain' #: frappe/email/doctype/email_domain/email_domain.json msgid "Outgoing Settings" -msgstr "" +msgstr "إعدادات الاتصال الصادر" #: frappe/email/doctype/email_domain/email_domain.py:33 msgid "Outgoing email account not correct" -msgstr "البريد الالكتروني الصادر غير صحيح
Outgoing email account not correct" +msgstr "حساب البريد الإلكتروني الصادر غير صحيح" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Outlook.com" -msgstr "" +msgstr "Outlook.com" #. Label of the output (Code) field in DocType 'Permission Inspector' #. Label of the output (Code) field in DocType 'System Console' @@ -18509,34 +18694,36 @@ msgstr "الناتج" #: frappe/public/js/frappe/form/templates/form_dashboard.html:5 msgid "Overview" -msgstr "" +msgstr "نظرة عامّة" #. Option for the 'Method' (Select) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "PATCH" -msgstr "" +msgstr "رقعة" #. Option for the 'Format' (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json -#: frappe/printing/page/print/print.js:85 +#: frappe/printing/page/print/print.js:91 #: frappe/public/js/frappe/form/templates/print_layout.html:44 -#: frappe/public/js/frappe/views/reports/query_report.js:1834 +#: frappe/public/js/frappe/views/reports/query_report.js:1884 msgid "PDF" -msgstr "" +msgstr "ملف PDF" #: frappe/utils/print_format.py:147 frappe/utils/print_format.py:191 msgid "PDF Generation in Progress" -msgstr "" +msgstr "إنشاء ملف PDF قيد التنفيذ" #. Label of the pdf_generator (Select) field in DocType 'Print Format' +#. Label of the pdf_generator (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "PDF Generator" -msgstr "" +msgstr "مولد ملفات PDF" #. Label of the pdf_page_height (Float) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "PDF Page Height (in mm)" -msgstr "" +msgstr "ارتفاع صفحة ملف PDF (بالملليمتر)" #. Label of the pdf_page_size (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -18546,7 +18733,7 @@ msgstr "حجم صفحة صيغة PDF" #. Label of the pdf_page_width (Float) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "PDF Page Width (in mm)" -msgstr "" +msgstr "عرض صفحة ملف PDF (بالملليمتر)" #. Label of the pdf_settings (Section Break) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json @@ -18561,32 +18748,32 @@ msgstr "فشل توليد قوات الدفاع الشعبي" msgid "PDF generation failed because of broken image links" msgstr "فشل الجيل PDF بسبب الروابط صورة مكسورة" -#: frappe/printing/page/print/print.js:675 +#: frappe/printing/page/print/print.js:683 msgid "PDF generation may not work as expected." -msgstr "" +msgstr "قد لا تعمل عملية إنشاء ملفات PDF كما هو متوقع." -#: frappe/printing/page/print/print.js:593 +#: frappe/printing/page/print/print.js:601 msgid "PDF printing via \"Raw Print\" is not supported." -msgstr "" +msgstr "لا يتم دعم طباعة ملفات PDF عبر \"الطباعة الخام\"." #. Label of the pid (Data) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "PID" -msgstr "" +msgstr "PID" #. Option for the 'Method' (Select) field in DocType 'Recorder' #. Option for the 'Request Method' (Select) field in DocType 'Webhook' #: frappe/core/doctype/recorder/recorder.json #: frappe/integrations/doctype/webhook/webhook.json msgid "POST" -msgstr "" +msgstr "بريد" #. Option for the 'Method' (Select) field in DocType 'Recorder' #. Option for the 'Request Method' (Select) field in DocType 'Webhook' #: frappe/core/doctype/recorder/recorder.json #: frappe/integrations/doctype/webhook/webhook.json msgid "PUT" -msgstr "" +msgstr "يضع" #. Label of the package (Link) field in DocType 'Module Def' #. Name of a DocType @@ -18597,34 +18784,34 @@ msgstr "" #: frappe/core/doctype/package_release/package_release.json #: frappe/core/workspace/build/build.json frappe/www/attribution.html:34 msgid "Package" -msgstr "" +msgstr "طَرد" #. Name of a DocType #. Label of a Link in the Build Workspace #: frappe/core/doctype/package_import/package_import.json #: frappe/core/workspace/build/build.json msgid "Package Import" -msgstr "" +msgstr "استيراد الحزمة" #. Label of the package_name (Data) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "Package Name" -msgstr "" +msgstr "اسم الحزمة" #. Name of a DocType #: frappe/core/doctype/package_release/package_release.json msgid "Package Release" -msgstr "" +msgstr "إصدار الحزمة" #. Label of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Packages" -msgstr "" +msgstr "الطرود" #. Description of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Packages are lightweight apps (collection of Module Defs) that can be created, imported, or released right from the UI" -msgstr "" +msgstr "الحزم هي تطبيقات خفيفة الوزن (مجموعة من تعريفات الوحدات) يمكن إنشاؤها أو استيرادها أو إصدارها مباشره من واجهة المستخدم" #. Label of the page (Link) field in DocType 'Custom Role' #. Name of a DocType @@ -18655,7 +18842,7 @@ msgstr "الصفحة" #: frappe/public/js/print_format_builder/PrintFormatSection.vue:63 #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Page Break" -msgstr "" +msgstr "فاصل صفحات" #. Option for the 'Content Type' (Select) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.js:92 @@ -18675,11 +18862,11 @@ msgstr "صفحة HTML" #: frappe/public/js/frappe/list/bulk_operations.js:73 msgid "Page Height (in mm)" -msgstr "" +msgstr "ارتفاع الصفحة (بالمليمتر)" #: frappe/public/js/print_format_builder/PrintFormatControls.vue:5 msgid "Page Margins" -msgstr "" +msgstr "هوامش الصفحة" #. Label of the page_name (Data) field in DocType 'Page' #: frappe/core/doctype/page/page.json @@ -18690,12 +18877,12 @@ msgstr "اسم الصفحة" #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:63 msgid "Page Number" -msgstr "" +msgstr "رقم الصفحة" #. Label of the page_route (Small Text) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Page Route" -msgstr "" +msgstr "مسار الصفحة" #. Label of the view_link_in_email (Section Break) field in DocType 'Print #. Settings' @@ -18709,25 +18896,25 @@ msgstr "اختصارات الصفحة" #: frappe/public/js/frappe/list/bulk_operations.js:66 msgid "Page Size" -msgstr "" +msgstr "حجم الصفحة" #. Label of the page_title (Data) field in DocType 'About Us Settings' #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "Page Title" -msgstr "" +msgstr "عنوان الصفحة" #: frappe/public/js/frappe/list/bulk_operations.js:80 msgid "Page Width (in mm)" -msgstr "" +msgstr "عرض الصفحة (بالمليمتر)" #: frappe/www/qrcode.py:35 msgid "Page has expired!" msgstr "انتهت صلاحية الصفحة!" -#: frappe/printing/doctype/print_settings/print_settings.py:70 +#: frappe/printing/doctype/print_settings/print_settings.py:71 #: frappe/public/js/frappe/list/bulk_operations.js:106 msgid "Page height and width cannot be zero" -msgstr "" +msgstr "لا يمكن أن يكون ارتفاع الصفحة وعرضها صفرًا" #: frappe/public/js/frappe/views/container.js:52 frappe/www/404.html:23 msgid "Page not found" @@ -18736,80 +18923,80 @@ msgstr "لم يتم العثور على الصفحة" #. Description of a DocType #: frappe/website/doctype/web_page/web_page.json msgid "Page to show on the website\n" -msgstr "" +msgstr "الصفحة المراد عرضها على الموقع الإلكتروني\n" #: frappe/public/html/print_template.html:25 #: frappe/public/js/frappe/views/reports/print_tree.html:89 -#: frappe/public/js/frappe/web_form/web_form.js:288 +#: frappe/public/js/frappe/web_form/web_form.js:284 #: frappe/templates/print_formats/standard.html:34 msgid "Page {0} of {1}" -msgstr "" +msgstr "الصفحة {0} من {1}" #. Label of the parameter (Data) field in DocType 'SMS Parameter' #: frappe/core/doctype/sms_parameter/sms_parameter.json msgid "Parameter" -msgstr "" +msgstr "المعلمة" #: frappe/public/js/frappe/model/model.js:142 -#: frappe/public/js/frappe/views/workspace/workspace.js:448 +#: frappe/public/js/frappe/views/workspace/workspace.js:496 msgid "Parent" msgstr "رقم الاب" #. Label of the parent_doctype (Link) field in DocType 'DocType Link' #: frappe/core/doctype/doctype_link/doctype_link.json msgid "Parent DocType" -msgstr "" +msgstr "نوع المستند الأصلي" #. Label of the parent_document_type (Link) field in DocType 'Dashboard Chart' #. Label of the parent_document_type (Link) field in DocType 'Number Card' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/number_card/number_card.json msgid "Parent Document Type" -msgstr "" +msgstr "نوع المستند الرئيسي" #: frappe/desk/doctype/number_card/number_card.py:66 msgid "Parent Document Type is required to create a number card" -msgstr "" +msgstr "يلزم تحديد نوع المستند الرئيسي لإنشاء بطاقة رقمية" #. Label of the parent_element_selector (Data) field in DocType 'Form Tour #. Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Parent Element Selector" -msgstr "" +msgstr "محدد العنصر الأب" #. Label of the parent_fieldname (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Parent Field" -msgstr "" +msgstr "الحقل الأب" #. Label of the nsm_parent_field (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json -#: frappe/core/doctype/doctype/doctype.py:948 +#: frappe/core/doctype/doctype/doctype.py:951 msgid "Parent Field (Tree)" msgstr "حقل الأصل (شجرة)" -#: frappe/core/doctype/doctype/doctype.py:954 +#: frappe/core/doctype/doctype/doctype.py:957 msgid "Parent Field must be a valid fieldname" msgstr "يجب أن يكون حقل الأصل اسمًا صالحًا للحقل" #. Label of the parent_icon (Link) field in DocType 'Desktop Icon' #: frappe/desk/doctype/desktop_icon/desktop_icon.json msgid "Parent Icon" -msgstr "" +msgstr "أيقونة الوالدين" #. Label of the parent_label (Select) field in DocType 'Top Bar Item' #: frappe/website/doctype/top_bar_item/top_bar_item.json msgid "Parent Label" msgstr "الإسم الأصل" -#: frappe/core/doctype/doctype/doctype.py:1212 +#: frappe/core/doctype/doctype/doctype.py:1215 msgid "Parent Missing" -msgstr "" +msgstr "أحد الوالدين مفقود" #. Label of the parent_page (Link) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Parent Page" -msgstr "" +msgstr "الصفحة الرئيسية" #: frappe/core/doctype/data_export/exporter.py:24 msgid "Parent Table" @@ -18817,7 +19004,7 @@ msgstr "الجدول الرئيسي" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:404 msgid "Parent document type is required to create a dashboard chart" -msgstr "" +msgstr "يلزم نوع المستند الرئيسي لإنشاء مخطط لوحة المعلومات" #: frappe/core/doctype/data_export/exporter.py:253 msgid "Parent is the name of the document to which the data will get added to." @@ -18825,32 +19012,32 @@ msgstr "الأصل هو اسم المستند الذي ستتم إضافة ال #: frappe/public/js/frappe/ui/group_by/group_by.js:253 msgid "Parent-to-child or child-to-different-child grouping is not allowed." -msgstr "" +msgstr "لا يُسمح بتجميع الأطفال من الوالدين أو من طفل إلى طفل آخر." -#: frappe/permissions.py:835 +#: frappe/permissions.py:841 msgid "Parentfield not specified in {0}: {1}" -msgstr "" +msgstr "لم يتم تحديد الحقل الأصل في {0}: {1}" -#: frappe/client.py:470 +#: frappe/client.py:519 msgid "Parenttype, Parent and Parentfield are required to insert a child record" -msgstr "" +msgstr "يلزم تحديد Parenttype و Parent و Parentfield لإدراج سجل فرعي" #. Label of the partial (Check) field in DocType 'Personal Data Deletion Step' #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json msgid "Partial" -msgstr "" +msgstr "جزئي" #. Option for the 'Status' (Select) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Partial Success" -msgstr "" +msgstr "نجاح جزئي" #. Option for the 'Status' (Select) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json msgid "Partially Sent" -msgstr "" +msgstr "تم إرسال جزء منه" -#. Label of the participants (Section Break) field in DocType 'Event' +#. Label of the participants_tab (Tab Break) field in DocType 'Event' #: frappe/desk/doctype/event/event.js:30 frappe/desk/doctype/event/event.json msgid "Participants" msgstr "المشاركين" @@ -18859,7 +19046,7 @@ msgstr "المشاركين" #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Pass" -msgstr "" +msgstr "يمر" #. Option for the 'Status' (Select) field in DocType 'Contact' #: frappe/contacts/doctype/contact/contact.json @@ -18887,11 +19074,11 @@ msgstr "غير فعال" msgid "Password" msgstr "كلمة السر" -#: frappe/core/doctype/user/user.py:1141 +#: frappe/core/doctype/user/user.py:1144 msgid "Password Email Sent" -msgstr "" +msgstr "تم إرسال كلمة المرور عبر البريد الإلكتروني" -#: frappe/core/doctype/user/user.py:497 +#: frappe/core/doctype/user/user.py:500 msgid "Password Reset" msgstr "إعادة تعيين كلمة المرور" @@ -18900,9 +19087,9 @@ msgstr "إعادة تعيين كلمة المرور" msgid "Password Reset Link Generation Limit" msgstr "حد إنشاء ارتباط إعادة تعيين كلمة المرور" -#: frappe/public/js/frappe/form/grid_row.js:896 +#: frappe/public/js/frappe/form/grid_row.js:895 msgid "Password cannot be filtered" -msgstr "" +msgstr "لا يمكن تصفية كلمة المرور" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:360 msgid "Password changed successfully." @@ -18919,39 +19106,39 @@ msgstr "كلمة المرور مطلوبة أو اختر كلمة المرور" #: frappe/www/update-password.html:94 msgid "Password is valid. 👍" -msgstr "" +msgstr "كلمة المرور صحيحة. 👍" #: frappe/public/js/frappe/desk.js:212 msgid "Password missing in Email Account" -msgstr "" +msgstr "كلمة المرور مفقودة في حساب البريد الإلكتروني" #: frappe/utils/password.py:47 msgid "Password not found for {0} {1} {2}" -msgstr "" +msgstr "لم يتم العثور على كلمة المرور لـ {0} {1} {2}" -#: frappe/core/doctype/user/user.py:1307 +#: frappe/core/doctype/user/user.py:1310 msgid "Password requirements not met" -msgstr "" +msgstr "لم يتم استيفاء متطلبات كلمة المرور" -#: frappe/core/doctype/user/user.py:1140 +#: frappe/core/doctype/user/user.py:1143 msgid "Password reset instructions have been sent to {}'s email" -msgstr "" +msgstr "تم إرسال تعليمات إعادة تعيين كلمة المرور إلى البريد الإلكتروني الخاص بـ {}" #: frappe/www/update-password.html:191 msgid "Password set" -msgstr "" +msgstr "تعيين كلمة المرور" #: frappe/auth.py:264 msgid "Password size exceeded the maximum allowed size" -msgstr "" +msgstr "تجاوز حجم كلمة المرور الحد الأقصى المسموح به" -#: frappe/core/doctype/user/user.py:926 +#: frappe/core/doctype/user/user.py:929 msgid "Password size exceeded the maximum allowed size." -msgstr "" +msgstr "تجاوز حجم كلمة المرور الحد الأقصى المسموح به." #: frappe/www/update-password.html:93 msgid "Passwords do not match" -msgstr "" +msgstr "كلمة المرور غير مطابقة" #: frappe/core/doctype/user/user.js:203 msgid "Passwords do not match!" @@ -18975,7 +19162,7 @@ msgstr "سجل التصحيح" #: frappe/modules/patch_handler.py:136 msgid "Patch type {} not found in patches.txt" -msgstr "" +msgstr "لم يتم العثور على نوع التصحيح {} في ملف patches.txt" #. Label of the path (Data) field in DocType 'API Request Log' #. Label of the path (Small Text) field in DocType 'Package Release' @@ -19007,23 +19194,23 @@ msgstr "المسار إلى شهادة الخادم" msgid "Path to private Key File" msgstr "الطريق إلى ملف مفتاح خاص" -#: frappe/modules/utils.py:209 +#: frappe/modules/utils.py:252 msgid "Path {0} is not within module {1}" -msgstr "" +msgstr "المسار {0} ليس ضمن الوحدة {1}" #: frappe/website/path_resolver.py:230 msgid "Path {0} it not a valid path" -msgstr "" +msgstr "المسار {0} ليس مسارًا صالحًا" #. Label of the payload_count (Int) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Payload Count" -msgstr "" +msgstr "عدد الحمولة" #. Label of the peak_memory_usage (Int) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json msgid "Peak Memory Usage" -msgstr "" +msgstr "ذروة استخدام الذاكرة" #. Option for the 'Status' (Select) field in DocType 'Data Import' #. Option for the 'Contribution Status' (Select) field in DocType 'Translation' @@ -19035,7 +19222,7 @@ msgstr "" #: frappe/core/doctype/user_invitation/user_invitation.json #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json msgid "Pending" -msgstr "" +msgstr "معلق" #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' @@ -19046,13 +19233,13 @@ msgstr "ما زال يحتاج بتصدير" #. Label of the pending_emails (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Pending Emails" -msgstr "" +msgstr "رسائل البريد الإلكتروني المعلقة" #. Label of the pending_jobs (Int) field in DocType 'System Health Report #. Queue' #: frappe/desk/doctype/system_health_report_queue/system_health_report_queue.json msgid "Pending Jobs" -msgstr "" +msgstr "الوظائف المعلقة" #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' @@ -19067,7 +19254,7 @@ msgstr "في انتظار التحقق" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Percent" -msgstr "" +msgstr "في المئة" #. Option for the 'Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -19078,7 +19265,7 @@ msgstr "النسبة المئوية" #. Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Period" -msgstr "" +msgstr "فترة" #. Label of the permlevel (Int) field in DocType 'DocField' #. Label of the permlevel (Int) field in DocType 'Customize Form Field' @@ -19092,15 +19279,15 @@ msgstr "مستوى الصلاحيات" msgid "Permanent" msgstr "دائم" -#: frappe/public/js/frappe/form/form.js:1031 +#: frappe/public/js/frappe/form/form.js:1060 msgid "Permanently Cancel {0}?" msgstr "الغاء دائم {0} ؟" -#: frappe/public/js/frappe/form/form.js:1077 +#: frappe/public/js/frappe/form/form.js:1106 msgid "Permanently Discard {0}?" -msgstr "" +msgstr "هل تريد حذف {0}نهائياً؟" -#: frappe/public/js/frappe/form/form.js:864 +#: frappe/public/js/frappe/form/form.js:893 msgid "Permanently Submit {0}?" msgstr "إرسال دائم {0} ؟" @@ -19108,39 +19295,38 @@ msgstr "إرسال دائم {0} ؟" msgid "Permanently delete {0}?" msgstr "حذف بشكل دائم {0} ؟" -#: frappe/core/doctype/user_type/user_type.py:84 frappe/database/query.py:914 +#: frappe/core/page/permission_manager/permission_manager_help.html:19 +msgid "Permission" +msgstr "" + +#: frappe/core/doctype/user_type/user_type.py:84 frappe/database/query.py:957 msgid "Permission Error" msgstr "خطأ في الإذن" #. Name of a DocType #: frappe/core/doctype/permission_inspector/permission_inspector.json msgid "Permission Inspector" -msgstr "" +msgstr "مفتش التراخيص" #. Label of the permlevel (Int) field in DocType 'Custom Field' -#: frappe/core/page/permission_manager/permission_manager.js:513 +#: frappe/core/page/permission_manager/permission_manager.js:514 #: frappe/custom/doctype/custom_field/custom_field.json msgid "Permission Level" msgstr "مستوى الصلاحيات" -#: frappe/core/page/permission_manager/permission_manager_help.html:22 +#: frappe/core/page/permission_manager/permission_manager_help.html:89 msgid "Permission Levels" -msgstr "" +msgstr "مستويات الأذونات" #. Name of a DocType #: frappe/core/doctype/permission_log/permission_log.json msgid "Permission Log" -msgstr "" - -#. Label of a shortcut in the Users Workspace -#: frappe/core/workspace/users/users.json -msgid "Permission Manager" -msgstr "" +msgstr "سجل الأذونات" #. Option for the 'Script Type' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Permission Query" -msgstr "" +msgstr "استعلام عن الإذن" #. Label of the permission_rules (Section Break) field in DocType 'Custom Role' #: frappe/core/doctype/custom_role/custom_role.json @@ -19154,11 +19340,11 @@ msgstr "إذن قوانين" #: frappe/core/doctype/permission_inspector/permission_inspector.json #: frappe/core/doctype/permission_type/permission_type.json msgid "Permission Type" -msgstr "" +msgstr "نوع الإذن" #: frappe/core/doctype/permission_type/permission_type.py:40 msgid "Permission Type '{0}' is reserved. Please choose another name." -msgstr "" +msgstr "نوع الإذن '{0}' محجوز. يرجى اختيار اسم آخر." #. Label of the section_break_4 (Section Break) field in DocType 'Custom #. DocPerm' @@ -19167,7 +19353,6 @@ msgstr "" #. Label of the permissions (Table) field in DocType 'DocType' #. Label of the permissions_tab (Tab Break) field in DocType 'DocType' #. Label of the permissions (Section Break) field in DocType 'System Settings' -#. Label of a Card Break in the Users Workspace #. Label of the permissions (Section Break) field in DocType 'Customize Form #. Field' #: frappe/core/doctype/custom_docperm/custom_docperm.json @@ -19178,35 +19363,34 @@ msgstr "" #: frappe/core/doctype/user/user.js:136 frappe/core/doctype/user/user.js:145 #: frappe/core/doctype/user/user.js:154 #: frappe/core/page/permission_manager/permission_manager.js:221 -#: frappe/core/workspace/users/users.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Permissions" msgstr "الصلاحيات" -#: frappe/core/doctype/doctype/doctype.py:1869 -#: frappe/core/doctype/doctype/doctype.py:1879 +#: frappe/core/doctype/doctype/doctype.py:1933 +#: frappe/core/doctype/doctype/doctype.py:1943 msgid "Permissions Error" -msgstr "" +msgstr "خطأ في الأذونات" #: frappe/core/page/permission_manager/permission_manager_help.html:10 msgid "Permissions are automatically applied to Standard Reports and searches." -msgstr "" +msgstr "يتم تطبيق الأذونات تلقائيًا على التقارير القياسية وعمليات البحث." #: frappe/core/page/permission_manager/permission_manager_help.html:5 msgid "Permissions are set on Roles and Document Types (called DocTypes) by setting rights like Read, Write, Create, Delete, Submit, Cancel, Amend, Report, Import, Export, Print, Email and Set User Permissions." -msgstr "" +msgstr "يتم تعيين الأذونات على الأدوار وأنواع المستندات (تسمى DocTypes) عن طريق تعيين حقوق مثل القراءة والكتابة والإنشاء والحذف والإرسال والإلغاء والتعديل والإبلاغ والاستيراد والتصدير والطباعة وإرسال البريد الإلكتروني وتعيين أذونات المستخدم." -#: frappe/core/page/permission_manager/permission_manager_help.html:26 +#: frappe/core/page/permission_manager/permission_manager_help.html:93 msgid "Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles." -msgstr "" +msgstr "تُعرف الصلاحيات في المستويات الأعلى بصلاحيات مستوى الحقل. لكل حقل مستوى صلاحية مُحدد، وتُطبق عليه القواعد المُحددة في ذلك المستوى. يُفيد هذا في حال رغبتك في إخفاء حقل مُعين أو جعله للقراءة فقط لأدوار مُحددة." -#: frappe/core/page/permission_manager/permission_manager_help.html:24 +#: frappe/core/page/permission_manager/permission_manager_help.html:91 msgid "Permissions at level 0 are Document Level permissions, i.e. they are primary for access to the document." -msgstr "" +msgstr "الأذونات في المستوى 0 هي أذونات على مستوى المستند، أي أنها أساسية للوصول إلى المستند." #: frappe/core/page/permission_manager/permission_manager_help.html:6 msgid "Permissions get applied on Users based on what Roles they are assigned." -msgstr "" +msgstr "يتم تطبيق الأذونات على المستخدمين بناءً على الأدوار المخصصة لهم." #. Name of a report #. Label of a Link in the Users Workspace @@ -19219,7 +19403,7 @@ msgstr "المستندات يسمح للمستخدم" #. Action' #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Permitted Roles" -msgstr "" +msgstr "الأدوار المسموح بها" #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -19234,7 +19418,7 @@ msgstr "طلب حذف البيانات الشخصية" #. Name of a DocType #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json msgid "Personal Data Deletion Step" -msgstr "" +msgstr "خطوة حذف البيانات الشخصية" #. Name of a DocType #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json @@ -19263,20 +19447,20 @@ msgstr "طلب تنزيل البيانات الشخصية" #: frappe/website/doctype/contact_us_settings/contact_us_settings.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Phone" -msgstr "" +msgstr "هاتف" #. Label of the phone_no (Data) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json msgid "Phone No." msgstr "رقم الهاتف" -#: frappe/utils/__init__.py:124 +#: frappe/utils/__init__.py:115 msgid "Phone Number {0} set in field {1} is not valid." -msgstr "" +msgstr "رقم الهاتف {0} المُدخل في الحقل {1} غير صالح." #: frappe/public/js/frappe/form/print_utils.js:68 -#: frappe/public/js/frappe/views/reports/report_view.js:1570 -#: frappe/public/js/frappe/views/reports/report_view.js:1573 +#: frappe/public/js/frappe/views/reports/report_view.js:1571 +#: frappe/public/js/frappe/views/reports/report_view.js:1574 msgid "Pick Columns" msgstr "اختيار الأعمدة" @@ -19295,7 +19479,7 @@ msgstr "رمز Pin" #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Pink" -msgstr "" +msgstr "لون القرنفل" #. Label of the placeholder (Data) field in DocType 'DocField' #. Label of the placeholder (Data) field in DocType 'Custom Field' @@ -19306,12 +19490,12 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Placeholder" -msgstr "" +msgstr "عنصر نائب" #. Option for the 'Message Type' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Plain Text" -msgstr "" +msgstr "نص عادي" #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -19320,11 +19504,11 @@ msgstr "مصنع" #: frappe/email/doctype/email_account/email_account.py:544 msgid "Please Authorize OAuth for Email Account {0}" -msgstr "" +msgstr "يرجى تفويض OAuth لحساب البريد الإلكتروني {0}" #: frappe/email/oauth.py:29 msgid "Please Authorize OAuth for Email Account {}" -msgstr "" +msgstr "يرجى تفويض OAuth لحساب البريد الإلكتروني {}" #: frappe/website/doctype/website_theme/website_theme.py:77 msgid "Please Duplicate this Website Theme to customize." @@ -19334,7 +19518,7 @@ msgstr "يرجى تكرار هذا الموقع موضوع لتخصيص." msgid "Please Install the ldap3 library via pip to use ldap functionality." msgstr "الرجاء تثبيت مكتبة ldap3 عبر النقطة لاستخدام وظيفة ldap." -#: frappe/public/js/frappe/views/reports/query_report.js:308 +#: frappe/public/js/frappe/views/reports/query_report.js:309 msgid "Please Set Chart" msgstr "يرجى وضع الرسم البياني" @@ -19350,7 +19534,7 @@ msgstr "الرجاء إضافة موضوع إلى بريدك الإلكترون msgid "Please add a valid comment." msgstr "الرجاء إضافة تعليق صالح." -#: frappe/core/doctype/user/user.py:1123 +#: frappe/core/doctype/user/user.py:1126 msgid "Please ask your administrator to verify your sign-up" msgstr "الرجاء اطلب من المشرف التأكد من تسجيلك" @@ -19358,33 +19542,33 @@ msgstr "الرجاء اطلب من المشرف التأكد من تسجيلك" msgid "Please attach a file first." msgstr "يرجى إرفاق ملف الأول." -#: frappe/printing/doctype/letter_head/letter_head.py:82 +#: frappe/printing/doctype/letter_head/letter_head.py:89 msgid "Please attach an image file to set HTML for Footer." -msgstr "" +msgstr "يرجى إرفاق ملف صورة لتعيين كود HTML للتذييل." -#: frappe/printing/doctype/letter_head/letter_head.py:70 +#: frappe/printing/doctype/letter_head/letter_head.py:77 msgid "Please attach an image file to set HTML for Letter Head." -msgstr "" +msgstr "يرجى إرفاق ملف صورة لتعيين كود HTML لرأس الرسالة." #: frappe/core/doctype/package_import/package_import.py:39 msgid "Please attach the package" -msgstr "" +msgstr "يرجى إرفاق الطرد" #: frappe/utils/dashboard.py:58 msgid "Please check the filter values set for Dashboard Chart: {}" msgstr "يرجى التحقق من قيم المرشح المحددة لمخطط لوحة المعلومات: {}" -#: frappe/model/base_document.py:1052 +#: frappe/model/base_document.py:1069 msgid "Please check the value of \"Fetch From\" set for field {0}" msgstr "يرجى التحقق من قيمة مجموعة "الجلب من" للحقل {0}" -#: frappe/core/doctype/user/user.py:1121 +#: frappe/core/doctype/user/user.py:1124 msgid "Please check your email for verification" msgstr "يرجى التحقق من بريدك الالكتروني للتحقق" #: frappe/email/smtp.py:134 msgid "Please check your email login credentials." -msgstr "" +msgstr "يرجى التحقق من بيانات تسجيل الدخول إلى بريدك الإلكتروني." #: frappe/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." @@ -19392,15 +19576,15 @@ msgstr "يرجى التحقق من عنوان بريدك الإلكتروني ا #: frappe/desk/doctype/workspace/workspace.js:23 msgid "Please click Edit on the Workspace for best results" -msgstr "" +msgstr "للحصول على أفضل النتائج، يرجى النقر على \"تحرير\" في مساحة العمل" #: frappe/core/doctype/data_import/data_import.js:164 msgid "Please click on 'Export Errored Rows', fix the errors and import again." -msgstr "" +msgstr "يرجى النقر على \"تصدير الصفوف التي بها أخطاء\"، وإصلاح الأخطاء، ثم الاستيراد مرة أخرى." #: frappe/twofactor.py:286 msgid "Please click on the following link and follow the instructions on the page. {0}" -msgstr "" +msgstr "يرجى النقر على الرابط التالي واتباع التعليمات الموجودة على الصفحة. {0}" #: frappe/templates/emails/password_reset.html:2 msgid "Please click on the following link to set your new password" @@ -19410,9 +19594,9 @@ msgstr "الرجاء الضغط على الرابط التالي لتعيين ك msgid "Please confirm your action to {0} this document." msgstr "يرجى تأكيد الإجراء الخاص بك إلى {0} هذا المستند." -#: frappe/printing/page/print/print.js:677 +#: frappe/printing/page/print/print.js:685 msgid "Please contact your system manager to install correct version." -msgstr "" +msgstr "يرجى الاتصال بمدير النظام لتثبيت الإصدار الصحيح." #: frappe/desk/doctype/number_card/number_card.js:45 msgid "Please create Card first" @@ -19424,7 +19608,7 @@ msgstr "يرجى إنشاء الرسم البياني أولا" #: frappe/desk/form/meta.py:193 msgid "Please delete the field from {0} or add the required doctype." -msgstr "" +msgstr "يرجى حذف الحقل من {0} أو إضافة نوع المستند المطلوب." #: frappe/core/doctype/data_export/exporter.py:184 msgid "Please do not change the template headings." @@ -19436,16 +19620,16 @@ msgstr "يرجى تكرار هذه إلى إجراء تغييرات" #: frappe/core/doctype/system_settings/system_settings.py:182 msgid "Please enable atleast one Social Login Key or LDAP or Login With Email Link before disabling username/password based login." -msgstr "" +msgstr "يرجى تفعيل مفتاح تسجيل دخول اجتماعي واحد على الأقل أو LDAP أو تسجيل الدخول باستخدام رابط البريد الإلكتروني قبل تعطيل تسجيل الدخول باستخدام اسم المستخدم/كلمة المرور." #: frappe/desk/doctype/notification_log/notification_log.js:45 #: frappe/email/doctype/auto_email_report/auto_email_report.js:17 -#: frappe/printing/page/print/print.js:697 -#: frappe/printing/page/print/print.js:733 +#: frappe/printing/page/print/print.js:705 +#: frappe/printing/page/print/print.js:747 #: frappe/public/js/frappe/list/bulk_operations.js:161 -#: frappe/public/js/frappe/utils/utils.js:1577 +#: frappe/public/js/frappe/utils/utils.js:1700 msgid "Please enable pop-ups" -msgstr "" +msgstr "يرجى تمكين النوافذ المنبثقة" #: frappe/public/js/frappe/microtemplate.js:162 #: frappe/public/js/frappe/microtemplate.js:177 @@ -19454,9 +19638,9 @@ msgstr "يرجى تمكين النوافذ المنبثقة في متصفحك" #: frappe/integrations/google_oauth.py:55 msgid "Please enable {} before continuing." -msgstr "" +msgstr "يرجى تفعيل {} قبل المتابعة." -#: frappe/utils/oauth.py:220 +#: frappe/utils/oauth.py:222 msgid "Please ensure that your profile has an email address" msgstr "يرجى التأكد من أن التعريف الخاص بك لديه عنوان البريد الإلكتروني" @@ -19482,7 +19666,7 @@ msgstr "الرجاء إدخال العميل السري قبل تمكين تسج #: frappe/integrations/doctype/connected_app/connected_app.py:54 msgid "Please enter OpenID Configuration URL" -msgstr "" +msgstr "الرجاء إدخال عنوان URL لتكوين OpenID" #: frappe/integrations/doctype/social_login_key/social_login_key.py:85 msgid "Please enter Redirect URL" @@ -19490,11 +19674,11 @@ msgstr "الرجاء إدخال عنوان ورل لإعادة التوجيه" #: frappe/templates/includes/comments/comments.html:163 msgid "Please enter a valid email address." -msgstr "" +msgstr "يرجى إدخال عنوان بريد إلكتروني صالح." #: frappe/templates/includes/contact.js:15 msgid "Please enter both your email and message so that we can get back to you. Thanks!" -msgstr "" +msgstr "يرجى إدخال بريدك الإلكتروني ورسالتك حتى نتمكن من التواصل معك. شكرًا!" #: frappe/www/update-password.html:259 msgid "Please enter the password" @@ -19511,11 +19695,11 @@ msgstr "الرجاء إدخال أرقام جوال صالحة" #: frappe/www/update-password.html:142 msgid "Please enter your new password." -msgstr "" +msgstr "يرجى إدخال كلمة المرور الجديدة." #: frappe/www/update-password.html:135 msgid "Please enter your old password." -msgstr "" +msgstr "الرجاء إدخال كلمة المرور القديمة." #: frappe/automation/doctype/auto_repeat/auto_repeat.py:444 msgid "Please find attached {0}: {1}" @@ -19524,21 +19708,21 @@ msgstr "يرجى الاطلاع على المرفق {0}: {1}" #: frappe/templates/includes/comments/comments.py:42 #: frappe/templates/includes/comments/comments.py:45 msgid "Please login to post a comment." -msgstr "" +msgstr "الرجاء تسجيل الدخول لإضافة تعليق." #: frappe/core/doctype/communication/communication.py:186 msgid "Please make sure the Reference Communication Docs are not circularly linked." msgstr "يرجى التأكد من أن وثائق الاتصال المرجعية غير مرتبطة بشكل دائري." -#: frappe/model/document.py:1037 +#: frappe/model/document.py:1036 msgid "Please refresh to get the latest document." msgstr "يرجى تحديث للحصول على أحدث وثيقة." -#: frappe/printing/page/print/print.js:594 +#: frappe/printing/page/print/print.js:602 msgid "Please remove the printer mapping in Printer Settings and try again." -msgstr "" +msgstr "يرجى إزالة تعيين الطابعة في إعدادات الطابعة والمحاولة مرة أخرى." -#: frappe/public/js/frappe/form/form.js:359 +#: frappe/public/js/frappe/form/form.js:360 msgid "Please save before attaching." msgstr "الرجاء حفظ قبل إرفاق." @@ -19552,9 +19736,9 @@ msgstr "الرجاء حفظ المستند قبل إزالة المهمة" #: frappe/automation/doctype/auto_repeat/auto_repeat.js:89 msgid "Please save the form before previewing the message" -msgstr "" +msgstr "يرجى حفظ النموذج قبل معاينة الرسالة" -#: frappe/public/js/frappe/views/reports/report_view.js:1722 +#: frappe/public/js/frappe/views/reports/report_view.js:1723 msgid "Please save the report first" msgstr "يرجى حفظ التقرير الأول" @@ -19574,21 +19758,21 @@ msgstr "يرجى اختيار نوع الكيان أولا" msgid "Please select Minimum Password Score" msgstr "يرجى تحديد الحد الأدنى لسجل كلمة المرور" -#: frappe/public/js/frappe/views/reports/query_report.js:1215 +#: frappe/public/js/frappe/views/reports/query_report.js:1232 msgid "Please select X and Y fields" -msgstr "" +msgstr "الرجاء تحديد الحقلين X وY" #: frappe/public/js/form_builder/components/Field.vue:158 msgid "Please select a DocType in options before setting filters" -msgstr "" +msgstr "يرجى تحديد نوع المستند في الخيارات قبل ضبط عوامل التصفية" -#: frappe/utils/__init__.py:131 +#: frappe/utils/__init__.py:122 msgid "Please select a country code for field {1}." -msgstr "" +msgstr "يرجى تحديد رمز الدولة للحقل {1}." #: frappe/public/js/frappe/file_uploader/FileUploader.vue:527 msgid "Please select a file first." -msgstr "" +msgstr "يرجى اختيار ملف أولاً." #: frappe/utils/file_manager.py:50 msgid "Please select a file or url" @@ -19622,31 +19806,31 @@ msgstr "الرجاء تحديد نوع المستند." #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Please select the LDAP Directory being used" -msgstr "" +msgstr "يرجى تحديد دليل LDAP المستخدم" #: frappe/website/doctype/website_settings/website_settings.js:100 msgid "Please select {0}" -msgstr "" +msgstr "الرجاء اختيار {0}" #: frappe/contacts/doctype/contact/contact.py:298 msgid "Please set Email Address" msgstr "يرجى وضع عنوان البريد الإلكتروني" -#: frappe/printing/page/print/print.js:608 +#: frappe/printing/page/print/print.js:616 msgid "Please set a printer mapping for this print format in the Printer Settings" msgstr "يرجى تعيين تعيين طابعة لتنسيق الطباعة هذا في "إعدادات الطابعة"" -#: frappe/public/js/frappe/views/reports/query_report.js:1438 +#: frappe/public/js/frappe/views/reports/query_report.js:1455 msgid "Please set filters" -msgstr "" +msgstr "يرجى تعيين المرشحات" #: frappe/email/doctype/auto_email_report/auto_email_report.py:271 msgid "Please set filters value in Report Filter table." msgstr "الرجاء تعيين قيمة عوامل التصفية في جدول تصفية التقرير." -#: frappe/model/naming.py:580 +#: frappe/model/naming.py:578 msgid "Please set the document name" -msgstr "" +msgstr "يرجى تحديد اسم المستند" #: frappe/desk/doctype/dashboard/dashboard.py:120 msgid "Please set the following documents in this Dashboard as standard first." @@ -19664,33 +19848,33 @@ msgstr "يرجى إعداد سمز قبل تعيينه كطريقة المصاد msgid "Please setup a message first" msgstr "يرجى إعداد رسالة أولاً" -#: frappe/core/doctype/user/user.py:462 +#: frappe/core/doctype/user/user.py:465 msgid "Please setup default outgoing Email Account from Settings > Email Account" -msgstr "" +msgstr "يرجى إعداد حساب البريد الإلكتروني الصادر الافتراضي من الإعدادات > حساب البريد الإلكتروني" #: frappe/email/doctype/email_account/email_account.py:432 msgid "Please setup default outgoing Email Account from Tools > Email Account" -msgstr "" +msgstr "يرجى إعداد حساب البريد الإلكتروني الصادر الافتراضي من الأدوات > حساب البريد الإلكتروني" #: frappe/public/js/frappe/model/model.js:774 msgid "Please specify" -msgstr "" +msgstr "رجاء حدد" -#: frappe/permissions.py:809 +#: frappe/permissions.py:815 msgid "Please specify a valid parent DocType for {0}" -msgstr "" +msgstr "يرجى تحديد نوع المستند الأصل الصحيح لـ {0}" #: frappe/email/doctype/notification/notification.py:165 msgid "Please specify at least 10 minutes due to the trigger cadence of the scheduler" -msgstr "" +msgstr "يرجى تحديد مدة لا تقل عن 10 دقائق نظرًا لتردد تشغيل المجدول" #: frappe/email/doctype/notification/notification.py:172 msgid "Please specify the field from which to attach files" -msgstr "" +msgstr "يرجى تحديد الحقل الذي سيتم إرفاق الملفات منه" #: frappe/email/doctype/notification/notification.py:162 msgid "Please specify the minutes offset" -msgstr "" +msgstr "يرجى تحديد فرق الدقائق" #: frappe/email/doctype/notification/notification.py:156 msgid "Please specify which date field must be checked" @@ -19698,54 +19882,54 @@ msgstr "يرجى تحديد حقل التاريخ الذي يجب التحقق #: frappe/email/doctype/notification/notification.py:160 msgid "Please specify which datetime field must be checked" -msgstr "" +msgstr "يرجى تحديد حقل التاريخ والوقت الذي يجب التحقق منه" #: frappe/email/doctype/notification/notification.py:169 msgid "Please specify which value field must be checked" msgstr "يرجى تحديد حقل القيمة الذي يجب التحقق منه" -#: frappe/public/js/frappe/request.js:187 +#: frappe/public/js/frappe/request.js:185 #: frappe/public/js/frappe/views/translation_manager.js:102 msgid "Please try again" msgstr "حاول مرة اخرى" #: frappe/integrations/google_oauth.py:58 msgid "Please update {} before continuing." -msgstr "" +msgstr "يرجى تحديث {} قبل المتابعة." #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:335 msgid "Please use a valid LDAP search filter" -msgstr "" +msgstr "يرجى استخدام عامل تصفية بحث LDAP صالح" #: frappe/templates/emails/file_backup_notification.html:4 msgid "Please use following links to download file backup." -msgstr "" +msgstr "يرجى استخدام الروابط التالية لتنزيل نسخة احتياطية من الملف." #: frappe/utils/password.py:217 msgid "Please visit https://frappecloud.com/docs/sites/migrate-an-existing-site#encryption-key for more information." -msgstr "" +msgstr "يرجى زيارة https://frappecloud.com/docs/sites/migrate-an-existing-site#encryption-key لمزيد من المعلومات." #. Label of the policy_uri (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Policy URI" -msgstr "" +msgstr "معرّف سياسة الموارد الموحدة" #. Option for the 'SocketIO Transport Mode' (Select) field in DocType 'System #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Polling" -msgstr "" +msgstr "استطلاعات الرأي" #. Label of the popover_element (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Popover Element" -msgstr "" +msgstr "عنصر البوبون" #. Label of the ondemand_description (HTML Editor) field in DocType 'Form Tour #. Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Popover or Modal Description" -msgstr "" +msgstr "وصف النافذة المنبثقة أو النافذة المشروطة" #. Label of the smtp_port (Data) field in DocType 'Email Account' #. Label of the incoming_port (Data) field in DocType 'Email Account' @@ -19760,7 +19944,7 @@ msgstr "المنفذ" #: frappe/www/me.html:81 msgid "Portal" -msgstr "" +msgstr "البوابة" #. Label of the menu (Table) field in DocType 'Portal Settings' #: frappe/website/doctype/portal_settings/portal_settings.json @@ -19796,7 +19980,7 @@ msgstr "بعد" #: frappe/templates/discussions/reply_section.html:40 msgid "Post it here, our mentors will help you out." -msgstr "" +msgstr "انشرها هنا، وسيساعدك مرشدونا." #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -19807,12 +19991,12 @@ msgstr "بريدي" #: frappe/contacts/doctype/address/address.json #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:41 msgid "Postal Code" -msgstr "" +msgstr "الرمز البريدي" #. Label of the posting_timestamp (Datetime) field in DocType 'Changelog Feed' #: frappe/desk/doctype/changelog_feed/changelog_feed.json msgid "Posting Timestamp" -msgstr "" +msgstr "تاريخ النشر" #. Label of the precision (Select) field in DocType 'DocField' #. Label of the precision (Select) field in DocType 'Custom Field' @@ -19825,11 +20009,11 @@ msgstr "" msgid "Precision" msgstr "دقة" -#: frappe/core/doctype/doctype/doctype.py:1691 +#: frappe/core/doctype/doctype/doctype.py:1705 msgid "Precision ({0}) for {1} cannot be greater than its length ({2})." -msgstr "" +msgstr "لا يمكن أن تكون الدقة ({0}) لـ {1} أكبر من طولها ({2})." -#: frappe/core/doctype/doctype/doctype.py:1415 +#: frappe/core/doctype/doctype/doctype.py:1429 msgid "Precision should be between 1 and 6" msgstr "وينبغي أن تكون الدقة بين 1 و 6" @@ -19839,7 +20023,7 @@ msgstr "بدائل يمكن التنبؤ بها مثل '@' بدلا من #: frappe/desk/page/setup_wizard/install_fixtures.py:34 msgid "Prefer not to say" -msgstr "" +msgstr "تقضيل عدم الافصاح" #. Label of the is_primary_address (Check) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -19870,7 +20054,7 @@ msgstr "أعد التقرير" #. Name of a report #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.json msgid "Prepared Report Analytics" -msgstr "" +msgstr "تحليلات التقارير المُعدة" #. Name of a role #: frappe/core/doctype/prepared_report/prepared_report.json @@ -19879,21 +20063,21 @@ msgstr "إعداد تقرير المستخدم" #: frappe/desk/query_report.py:309 msgid "Prepared report render failed" -msgstr "" +msgstr "فشل عرض التقرير المُعدّ" -#: frappe/public/js/frappe/views/reports/query_report.js:478 +#: frappe/public/js/frappe/views/reports/query_report.js:479 msgid "Preparing Report" msgstr "إعداد التقرير" -#: frappe/public/js/frappe/views/communication.js:425 +#: frappe/public/js/frappe/views/communication.js:484 msgid "Prepend the template to the email message" -msgstr "" +msgstr "قم بإضافة القالب إلى رسالة البريد الإلكتروني" #: frappe/public/js/frappe/ui/keyboard.js:139 msgid "Press Alt Key to trigger additional shortcuts in Menu and Sidebar" -msgstr "" +msgstr "اضغط على مفتاح Alt لتشغيل اختصارات إضافية في القائمة وشريط جانبي" -#: frappe/public/js/frappe/list/list_filter.js:87 +#: frappe/public/js/frappe/list/list_filter.js:104 msgid "Press Enter to save" msgstr "اضغط على إنتر للحفظ" @@ -19911,9 +20095,9 @@ msgstr "اضغط على إنتر للحفظ" #: frappe/printing/doctype/print_style/print_style.json #: frappe/public/js/frappe/form/controls/markdown_editor.js:17 #: frappe/public/js/frappe/form/controls/markdown_editor.js:31 -#: frappe/public/js/frappe/ui/capture.js:236 +#: frappe/public/js/frappe/ui/capture.js:237 msgid "Preview" -msgstr "" +msgstr "معاينة" #. Label of the preview_html (HTML) field in DocType 'File' #: frappe/core/doctype/file/file.json @@ -19927,25 +20111,25 @@ msgstr "عرض الرسالة" #: frappe/public/js/form_builder/form_builder.bundle.js:83 msgid "Preview Mode" -msgstr "" +msgstr "وضع المعاينة" #. Label of the series_preview (Text) field in DocType 'Document Naming #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Preview of generated names" -msgstr "" +msgstr "معاينة للأسماء المُولّدة" #: frappe/public/js/frappe/views/render_preview.js:19 msgid "Preview on {0}" -msgstr "" +msgstr "معاينة على {0}" #: frappe/public/js/print_format_builder/Preview.vue:103 msgid "Preview type" -msgstr "" +msgstr "نوع المعاينة" #: frappe/email/doctype/email_group/email_group.js:81 msgid "Preview:" -msgstr "" +msgstr "معاينة:" #: frappe/public/js/frappe/form/form_tour.js:15 #: frappe/public/js/frappe/web_form/web_form.js:97 @@ -19955,18 +20139,18 @@ msgstr "" msgid "Previous" msgstr "سابق" -#: frappe/public/js/frappe/ui/slides.js:351 +#: frappe/public/js/frappe/ui/slides.js:365 msgctxt "Go to previous slide" msgid "Previous" msgstr "سابق" -#: frappe/public/js/frappe/form/toolbar.js:328 +#: frappe/public/js/frappe/form/toolbar.js:349 msgid "Previous Document" msgstr "" -#: frappe/public/js/frappe/form/form.js:2232 +#: frappe/public/js/frappe/form/form.js:2263 msgid "Previous Submission" -msgstr "" +msgstr "التقديم السابق" #. Option for the 'Button Color' (Select) field in DocType 'DocField' #. Option for the 'Button Color' (Select) field in DocType 'Custom Field' @@ -19991,24 +20175,24 @@ msgstr "لون أصلي" #: frappe/public/js/frappe/form/templates/contact_list.html:23 msgid "Primary Contact" -msgstr "" +msgstr "جهة الاتصال الرئيسية" #: frappe/public/js/frappe/form/templates/contact_list.html:69 msgid "Primary Email" -msgstr "" +msgstr "البريد الإلكتروني الرئيسي" #: frappe/public/js/frappe/form/templates/contact_list.html:49 msgid "Primary Mobile" -msgstr "" +msgstr "الهاتف المحمول الأساسي" #: frappe/public/js/frappe/form/templates/contact_list.html:41 msgid "Primary Phone" -msgstr "" +msgstr "رقم الهاتف الرئيسي" #: frappe/database/mariadb/schema.py:156 frappe/database/postgres/schema.py:202 #: frappe/database/sqlite/schema.py:141 msgid "Primary key of doctype {0} can not be changed as there are existing values." -msgstr "" +msgstr "لا يمكن تغيير المفتاح الأساسي لنوع المستند {0} لوجود قيم موجودة." #. Label of the print (Check) field in DocType 'Custom DocPerm' #. Label of the print (Check) field in DocType 'DocPerm' @@ -20017,22 +20201,22 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/success_action/success_action.js:58 #: frappe/core/doctype/user_document_type/user_document_type.json -#: frappe/printing/page/print/print.js:79 +#: frappe/core/page/permission_manager/permission_manager_help.html:51 +#: frappe/printing/page/print/print.js:85 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:106 #: frappe/public/js/frappe/form/success_action.js:81 #: frappe/public/js/frappe/form/templates/print_layout.html:46 -#: frappe/public/js/frappe/form/toolbar.js:393 -#: frappe/public/js/frappe/form/toolbar.js:405 #: frappe/public/js/frappe/list/bulk_operations.js:95 -#: frappe/public/js/frappe/views/reports/query_report.js:1819 +#: frappe/public/js/frappe/views/reports/query_report.js:1869 #: frappe/public/js/frappe/views/reports/report_view.js:1533 #: frappe/public/js/frappe/views/treeview.js:492 frappe/www/printview.html:18 msgid "Print" -msgstr "" +msgstr "طباعة" -#: frappe/public/js/frappe/list/list_view.js:2243 +#: frappe/public/js/frappe/list/list_view.js:2251 msgctxt "Button in list view actions menu" msgid "Print" -msgstr "" +msgstr "طباعة" #: frappe/public/js/frappe/list/bulk_operations.js:48 msgid "Print Documents" @@ -20047,8 +20231,9 @@ msgstr "طباعة الوثائق" #: frappe/core/workspace/build/build.json #: frappe/email/doctype/notification/notification.json #: frappe/printing/doctype/print_format/print_format.json -#: frappe/printing/page/print/print.js:108 -#: frappe/printing/page/print/print.js:886 +#: frappe/printing/page/print/print.js:116 +#: frappe/printing/page/print/print.js:900 +#: frappe/public/js/frappe/form/print_utils.js:31 #: frappe/public/js/frappe/list/bulk_operations.js:59 #: frappe/website/doctype/web_form/web_form.json msgid "Print Format" @@ -20060,27 +20245,27 @@ msgstr "تنسيق الطباعة" #: frappe/printing/page/print_format_builder/print_format_builder.js:67 #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:4 msgid "Print Format Builder" -msgstr "" +msgstr "منشئ تنسيق الطباعة" #. Label of the print_format_builder_beta (Check) field in DocType 'Print #. Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Print Format Builder Beta" -msgstr "" +msgstr "أداة إنشاء تنسيق الطباعة (نسخة تجريبية)" #: frappe/utils/pdf.py:64 msgid "Print Format Error" -msgstr "" +msgstr "خطأ في تنسيق الطباعة" #. Name of a DocType #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json msgid "Print Format Field Template" -msgstr "" +msgstr "قالب حقل تنسيق الطباعة" #. Label of the print_format_for (Select) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Print Format For" -msgstr "" +msgstr "تنسيق الطباعة لـ" #. Label of the print_format_help (HTML) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -20092,9 +20277,9 @@ msgstr "تنسيق الطباعة مساعدة" msgid "Print Format Type" msgstr "نوع تنسيق الطباعة" -#: frappe/public/js/frappe/views/reports/query_report.js:1608 +#: frappe/public/js/frappe/views/reports/query_report.js:1644 msgid "Print Format not found" -msgstr "" +msgstr "لم يتم العثور على تنسيق الطباعة" #: frappe/www/printview.py:443 msgid "Print Format {0} is disabled" @@ -20104,7 +20289,7 @@ msgstr "تم تعطيل تنسيق الطباعة {0}" #. Label of the print_heading (Data) field in DocType 'Print Heading' #: frappe/printing/doctype/print_heading/print_heading.json msgid "Print Heading" -msgstr "" +msgstr "طباعة العنوان" #. Label of the print_hide (Check) field in DocType 'DocField' #. Label of the print_hide (Check) field in DocType 'Custom Field' @@ -20125,11 +20310,11 @@ msgstr "اخفاء الطباعة" msgid "Print Hide If No Value" msgstr "طباعة إخفاء إذا لا قيمة" -#: frappe/public/js/frappe/views/communication.js:159 +#: frappe/public/js/frappe/views/communication.js:186 msgid "Print Language" msgstr "لغة الطباعة" -#: frappe/public/js/frappe/form/print_utils.js:225 +#: frappe/public/js/frappe/form/print_utils.js:238 msgid "Print Sent to the printer!" msgstr "طباعة المرسلة إلى الطابعة!" @@ -20142,8 +20327,8 @@ msgstr "ملقم الطباعة" #. Name of a DocType #: frappe/printing/doctype/print_settings/print_settings.json #: frappe/printing/doctype/print_style/print_style.js:6 -#: frappe/printing/page/print/print.js:174 -#: frappe/public/js/frappe/form/print_utils.js:99 +#: frappe/printing/page/print/print.js:182 +#: frappe/public/js/frappe/form/print_utils.js:112 #: frappe/public/js/frappe/form/templates/print_layout.html:35 msgid "Print Settings" msgstr "إعدادات الطباعة" @@ -20155,7 +20340,7 @@ msgstr "إعدادات الطباعة" #: frappe/printing/doctype/print_settings/print_settings.json #: frappe/printing/doctype/print_style/print_style.json msgid "Print Style" -msgstr "" +msgstr "الطباعة ستايل" #. Label of the print_style_name (Data) field in DocType 'Print Style' #: frappe/printing/doctype/print_style/print_style.json @@ -20182,20 +20367,20 @@ msgstr "طباعة العرض" msgid "Print Width of the field, if the field is a column in a table" msgstr "حقل عرض الطباعة، إذا كان الحقل عمود في الجدول" -#: frappe/public/js/frappe/form/form.js:171 +#: frappe/public/js/frappe/form/form.js:172 msgid "Print document" -msgstr "" +msgstr "مستند الطباعة" #. Label of the with_letterhead (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Print with letterhead" msgstr "طباعة مع ترويسة" -#: frappe/printing/page/print/print.js:895 +#: frappe/printing/page/print/print.js:909 msgid "Printer" msgstr "طابعة" -#: frappe/printing/page/print/print.js:872 +#: frappe/printing/page/print/print.js:886 msgid "Printer Mapping" msgstr "تعيين الطابعة" @@ -20205,13 +20390,13 @@ msgstr "تعيين الطابعة" msgid "Printer Name" msgstr "اسم الطابعة" -#: frappe/printing/page/print/print.js:864 +#: frappe/printing/page/print/print.js:878 msgid "Printer Settings" msgstr "إعدادات الطابعة" -#: frappe/printing/page/print/print.js:607 +#: frappe/printing/page/print/print.js:615 msgid "Printer mapping not set." -msgstr "" +msgstr "لم يتم تعيين إعدادات الطابعة." #: frappe/utils/print_format.py:294 msgid "Printing failed" @@ -20229,7 +20414,7 @@ msgstr "فشلت الطباعة" #: frappe/public/js/frappe/form/sidebar/assign_to.js:214 #: frappe/website/doctype/web_page/web_page.json msgid "Priority" -msgstr "" +msgstr "أفضلية" #. Label of the private (Check) field in DocType 'Custom HTML Block' #. Option for the 'Event Type' (Select) field in DocType 'Event' @@ -20246,23 +20431,23 @@ msgstr "خاص" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Private Files (MB)" -msgstr "" +msgstr "الملفات الخاصة (ميغابايت)" #: frappe/templates/emails/file_backup_notification.html:6 msgid "Private Files Backup:" -msgstr "" +msgstr "نسخ احتياطي للملفات الخاصة:" #. Description of the 'Auto Reply Message' (Text Editor) field in DocType #. 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "ProTip: Add Reference: {{ reference_doctype }} {{ reference_name }} to send document reference" -msgstr "ProTip: إضافة Reference: {{ reference_doctype }} {{ reference_name }} لإرسال وثيقة مرجعية" +msgstr "" #: frappe/core/doctype/document_naming_rule/document_naming_rule.js:22 msgid "Proceed" -msgstr "" +msgstr "يتابع" -#: frappe/public/js/frappe/views/reports/query_report.js:943 +#: frappe/public/js/frappe/views/reports/query_report.js:960 msgid "Proceed Anyway" msgstr "المتابعة على أية حال" @@ -20281,12 +20466,12 @@ msgstr "" #. Group in User's connections #: frappe/core/doctype/user/user.json msgid "Profile" -msgstr "" +msgstr "حساب تعريفي" #. Label of a field in the edit-profile Web Form #: frappe/core/web_form/edit_profile/edit_profile.json msgid "Profile Picture" -msgstr "" +msgstr "صورة الملف الشخصي" #. Success message of the edit-profile Web Form #: frappe/core/web_form/edit_profile/edit_profile.json @@ -20295,19 +20480,19 @@ msgstr "تم تحديث المَلف الشخصي بنجاح." #: frappe/public/js/frappe/socketio_client.js:82 msgid "Progress" -msgstr "" +msgstr "تقدم" #: frappe/public/js/frappe/views/kanban/kanban_view.js:422 msgid "Project" -msgstr "" +msgstr "مشروع" #. Label of the property (Data) field in DocType 'Property Setter' -#: frappe/core/doctype/version/version_view.html:13 -#: frappe/core/doctype/version/version_view.html:38 -#: frappe/core/doctype/version/version_view.html:75 +#: frappe/core/doctype/version/version_view.html:73 +#: frappe/core/doctype/version/version_view.html:101 +#: frappe/core/doctype/version/version_view.html:138 #: frappe/custom/doctype/property_setter/property_setter.json msgid "Property" -msgstr "" +msgstr "ممتلكات" #. Label of the property_depends_on_section (Section Break) field in DocType #. 'Customize Form Field' @@ -20326,7 +20511,7 @@ msgstr "الملكية واضعة" #. Description of a DocType #: frappe/custom/doctype/property_setter/property_setter.json msgid "Property Setter overrides a standard DocType or Field property" -msgstr "" +msgstr "يقوم مُعدِّل الخاصية بتجاوز خاصية DocType أو Field القياسية" #. Label of the property_type (Data) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -20339,11 +20524,11 @@ msgstr "نوع الملكية" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Protect Attached Files" -msgstr "" +msgstr "حماية الملفات المرفقة" #: frappe/core/doctype/file/file.py:533 msgid "Protected File" -msgstr "" +msgstr "ملف محمي" #. Description of the 'Allowed File Extensions' (Small Text) field in DocType #. 'System Settings' @@ -20374,7 +20559,7 @@ msgstr "اسم المزود" #: frappe/desk/doctype/note/note_list.js:6 #: frappe/desk/doctype/workspace/workspace.json #: frappe/public/js/frappe/views/interaction.js:78 -#: frappe/public/js/frappe/views/workspace/workspace.js:454 +#: frappe/public/js/frappe/views/workspace/workspace.js:502 msgid "Public" msgstr "جمهور" @@ -20382,11 +20567,11 @@ msgstr "جمهور" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Public Files (MB)" -msgstr "" +msgstr "الملفات العامة (ميغابايت)" #: frappe/templates/emails/file_backup_notification.html:5 msgid "Public Files Backup:" -msgstr "" +msgstr "النسخ الاحتياطي للملفات العامة:" #. Label of the publish (Check) field in DocType 'Package Release' #: frappe/core/doctype/package_release/package_release.json @@ -20414,22 +20599,22 @@ msgstr "نشرت" #. Label of a number card in the Website Workspace #: frappe/website/workspace/website/website.json msgid "Published Web Forms" -msgstr "" +msgstr "نماذج الويب المنشورة" #. Label of a number card in the Website Workspace #: frappe/website/workspace/website/website.json msgid "Published Web Pages" -msgstr "" +msgstr "صفحات الويب المنشورة" #. Label of the publishing_dates_section (Section Break) field in DocType 'Web #. Page' #: frappe/website/doctype/web_page/web_page.json msgid "Publishing Dates" -msgstr "" +msgstr "تواريخ النشر" #: frappe/email/doctype/email_account/email_account.js:208 msgid "Pull Emails" -msgstr "" +msgstr "سحب رسائل البريد الإلكتروني" #. Label of the pull_from_google_calendar (Check) field in DocType 'Google #. Calendar' @@ -20455,43 +20640,43 @@ msgstr "سحبت من اتصالات جوجل" #: frappe/email/doctype/email_account/email_account.js:209 msgid "Pulling emails..." -msgstr "" +msgstr "جارٍ استخراج رسائل البريد الإلكتروني..." #. Name of a role #: frappe/contacts/doctype/contact/contact.json msgid "Purchase Manager" -msgstr "" +msgstr "مدير المشتريات" #. Name of a role #: frappe/contacts/doctype/contact/contact.json msgid "Purchase Master Manager" -msgstr "" +msgstr "المدير الرئيسي للمشتريات" #. Name of a role #: frappe/contacts/doctype/address/address.json #: frappe/contacts/doctype/contact/contact.json #: frappe/geo/doctype/currency/currency.json msgid "Purchase User" -msgstr "" +msgstr "عضو الشراء" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Purple" -msgstr "" +msgstr "أرجواني" #. Name of a DocType #. Label of a Link in the Integrations Workspace #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json #: frappe/integrations/workspace/integrations/integrations.json msgid "Push Notification Settings" -msgstr "" +msgstr "إعدادات الإشعارات الفورية" #. Label of a Card Break in the Integrations Workspace #: frappe/integrations/workspace/integrations/integrations.json msgid "Push Notifications" -msgstr "" +msgstr "الإشعارات الفورية" #. Label of the push_to_google_calendar (Check) field in DocType 'Google #. Calendar' @@ -20507,14 +20692,14 @@ msgstr "اضغط على جهات اتصال Google" #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.js:23 msgid "Put on Hold" -msgstr "" +msgstr "تم تعليق العملية" #. Option for the 'Type' (Select) field in DocType 'System Console' #. Option for the 'Condition Type' (Select) field in DocType 'Notification' #: frappe/desk/doctype/system_console/system_console.json #: frappe/email/doctype/notification/notification.json msgid "Python" -msgstr "" +msgstr "بايثون" #: frappe/www/qrcode.html:3 msgid "QR Code" @@ -20524,9 +20709,9 @@ msgstr "رمز الاستجابة السريعة" msgid "QR Code for Login Verification" msgstr "رمز الاستجابة السريعة لتسجيل الدخول" -#: frappe/public/js/frappe/form/print_utils.js:234 +#: frappe/public/js/frappe/form/print_utils.js:247 msgid "QZ Tray Failed:" -msgstr "" +msgstr "فشل درج QZ:" #. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat' #. Option for the 'Time Interval' (Select) field in DocType 'Dashboard Chart' @@ -20538,7 +20723,7 @@ msgstr "" #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/public/js/frappe/utils/common.js:410 msgid "Quarterly" -msgstr "" +msgstr "فصلي" #. Label of the query (Data) field in DocType 'Recorder Query' #. Label of the query (Code) field in DocType 'Report' @@ -20563,7 +20748,7 @@ msgstr "خيارات الاستعلام" #: frappe/integrations/doctype/connected_app/connected_app.json #: frappe/integrations/doctype/query_parameters/query_parameters.json msgid "Query Parameters" -msgstr "" +msgstr "معلمات الاستعلام" #. Option for the 'Report Type' (Select) field in DocType 'Report' #: frappe/core/doctype/report/report.json @@ -20573,48 +20758,48 @@ msgstr "الاستعلام عن" #: frappe/core/doctype/recorder/recorder.py:188 msgid "Query analysis complete. Check suggested indexes." -msgstr "" +msgstr "اكتمل تحليل الاستعلام. تحقق من الفهارس المقترحة." #: frappe/utils/safe_exec.py:497 msgid "Query must be of SELECT or read-only WITH type." -msgstr "" +msgstr "يجب أن يكون الاستعلام من نوع SELECT أو نوع WITH للقراءة فقط." #. Label of the queue (Select) field in DocType 'RQ Job' #. Label of the queue (Data) field in DocType 'System Health Report Queue' #: frappe/core/doctype/rq_job/rq_job.json #: frappe/desk/doctype/system_health_report_queue/system_health_report_queue.json msgid "Queue" -msgstr "" +msgstr "طابور" -#: frappe/utils/background_jobs.py:738 +#: frappe/utils/background_jobs.py:737 msgid "Queue Overloaded" -msgstr "" +msgstr "قائمة الانتظار مكتظة" #. Label of the queue_status (Table) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Queue Status" -msgstr "" +msgstr "حالة قائمة الانتظار" #. Label of the queue_type (Select) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Queue Type(s)" -msgstr "" +msgstr "نوع (أنواع) قائمة الانتظار" #. Label of the queue_in_background (Check) field in DocType 'DocType' #. Label of the queue_in_background (Check) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Queue in Background (BETA)" -msgstr "" +msgstr "قائمة الانتظار في الخلفية (إصدار تجريبي)" -#: frappe/utils/background_jobs.py:563 +#: frappe/utils/background_jobs.py:562 msgid "Queue should be one of {0}" msgstr "يجب أن تكون قائمة الانتظار واحدة من {0}" #. Label of the queue (Data) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Queue(s)" -msgstr "" +msgstr "قائمة الانتظار (قوائم الانتظار)" #. Option for the 'Status' (Select) field in DocType 'Prepared Report' #. Option for the 'Status' (Select) field in DocType 'Submission Queue' @@ -20628,16 +20813,16 @@ msgstr "قائمة الانتظار" #. Label of the queued_at (Datetime) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json msgid "Queued At" -msgstr "" +msgstr "في قائمة الانتظار" #. Label of the queued_by (Data) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json msgid "Queued By" -msgstr "" +msgstr "تمت إضافته إلى قائمة الانتظار بواسطة" #: frappe/core/doctype/submission_queue/submission_queue.py:186 msgid "Queued for Submission. You can track the progress over {0}." -msgstr "" +msgstr "تمت إضافته إلى قائمة الانتظار للإرسال. يمكنك تتبع التقدم عبر {0}." #: frappe/desk/page/backups/backups.py:96 msgid "Queued for backup. You will receive an email with the download link" @@ -20646,38 +20831,38 @@ msgstr "قائمة الانتظار للنسخ الاحتياطي. سوف تتل #. Label of the queues (Data) field in DocType 'System Health Report Workers' #: frappe/desk/doctype/system_health_report_workers/system_health_report_workers.json msgid "Queues" -msgstr "" +msgstr "الطوابير" -#: frappe/desk/doctype/bulk_update/bulk_update.py:85 +#: frappe/desk/doctype/bulk_update/bulk_update.py:86 msgid "Queuing {0} for Submission" -msgstr "" +msgstr "جارٍ وضع {0} في قائمة الانتظار للإرسال" #. Label of the quick_entry (Check) field in DocType 'DocType' #. Label of the quick_entry (Check) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Quick Entry" -msgstr "" +msgstr "إدخال سريع" #: frappe/core/page/permission_manager/permission_manager_help.html:3 msgid "Quick Help for Setting Permissions" -msgstr "" +msgstr "مساعدة سريعة لضبط الأذونات" #. Label of the quick_list_filter (Code) field in DocType 'Workspace Quick #. List' #: frappe/desk/doctype/workspace_quick_list/workspace_quick_list.json msgid "Quick List Filter" -msgstr "" +msgstr "تصفية القائمة السريعة" #. Label of the quick_lists_tab (Tab Break) field in DocType 'Workspace' #. Label of the quick_lists (Table) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Quick Lists" -msgstr "" +msgstr "قوائم سريعة" #: frappe/public/js/frappe/views/reports/report_utils.js:314 msgid "Quoting must be between 0 and 3" -msgstr "" +msgstr "يجب أن يكون الاقتباس بين 0 و 3" #. Label of the raw_information_log_section (Section Break) field in DocType #. 'Access Log' @@ -20688,29 +20873,29 @@ msgstr "سجل معلومات RAW" #. Name of a DocType #: frappe/core/doctype/rq_job/rq_job.json msgid "RQ Job" -msgstr "" +msgstr "وظيفة RQ" #. Name of a DocType #: frappe/core/doctype/rq_worker/rq_worker.json msgid "RQ Worker" -msgstr "" +msgstr "عامل RQ" #. Option for the 'Naming Rule' (Select) field in DocType 'DocType' #. Option for the 'Naming Rule' (Select) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Random" -msgstr "" +msgstr "عشوائي" #: frappe/website/report/website_analytics/website_analytics.js:20 msgid "Range" -msgstr "" +msgstr "نطاق" #. Label of the rate_limiting_section (Section Break) field in DocType 'Server #. Script' #: frappe/core/doctype/server_script/server_script.json msgid "Rate Limiting" -msgstr "" +msgstr "تحديد معدل الاستخدام" #. Label of the rate_limit_email_link_login (Int) field in DocType 'System #. Settings' @@ -20727,7 +20912,7 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Rating" -msgstr "" +msgstr "تقييم" #. Label of the raw_commands (Code) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -20740,6 +20925,15 @@ msgstr "أوامر الخام" msgid "Raw Email" msgstr "البريد الإلكتروني الخام" +#: frappe/core/doctype/communication/email.py:95 +msgid "Raw HTML can be used only with Email Templates having 'Use HTML' checked. Proceeding with plain text email." +msgstr "لا يمكن استخدام لغة HTML الخام إلا مع قوالب البريد الإلكتروني التي تم تحديد خيار \"استخدام HTML\" فيها. سيتم إرسال بريد إلكتروني بنص عادي." + +#. Description of the 'Send As Raw HTML' (Check) field in DocType 'Email Queue' +#: frappe/email/doctype/email_queue/email_queue.json +msgid "Raw HTML emails are rendered as complete Jinja templates. Otherwise, emails are wrapped in the standard.html email template, which inserts brand_logo, header and footer." +msgstr "يتم عرض رسائل البريد الإلكتروني بتنسيق HTML الخام كقوالب Jinja كاملة. أما في الحالات الأخرى، فيتم تغليف رسائل البريد الإلكتروني في قالب standard.html، الذي يُدرج شعار العلامة التجارية والرأس والتذييل." + #. Label of the raw_printing (Check) field in DocType 'Print Format' #. Label of the raw_printing_section (Section Break) field in DocType 'Print #. Settings' @@ -20748,25 +20942,25 @@ msgstr "البريد الإلكتروني الخام" msgid "Raw Printing" msgstr "الطباعة الخام" -#: frappe/printing/page/print/print.js:179 +#: frappe/printing/page/print/print.js:187 msgid "Raw Printing Setting" -msgstr "" +msgstr "إعدادات الطباعة الخام" #: frappe/public/js/frappe/form/templates/print_layout.html:37 msgid "Raw Printing Settings" -msgstr "" +msgstr "إعدادات الطباعة الخام" #: frappe/desk/doctype/console_log/console_log.js:6 msgid "Re-Run in Console" -msgstr "" +msgstr "أعد التشغيل في وحدة التحكم" #: frappe/email/doctype/email_account/email_account.py:726 msgid "Re:" -msgstr "" +msgstr "يكرر:" #: frappe/core/doctype/communication/communication.js:268 #: frappe/public/js/frappe/form/footer/form_timeline.js:601 -#: frappe/public/js/frappe/views/communication.js:361 +#: frappe/public/js/frappe/views/communication.js:419 msgid "Re: {0}" msgstr "رد: {0}" @@ -20777,11 +20971,12 @@ msgstr "رد: {0}" #. Label of the read (Check) field in DocType 'User Document Type' #. Label of the read (Check) field in DocType 'Notification Log' #. Option for the 'Action' (Select) field in DocType 'Email Flag Queue' -#: frappe/client.py:453 frappe/core/doctype/communication/communication.json +#: frappe/client.py:502 frappe/core/doctype/communication/communication.json #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:31 #: frappe/desk/doctype/notification_log/notification_log.json #: frappe/email/doctype/email_flag_queue/email_flag_queue.json #: frappe/public/js/frappe/form/templates/set_sharing.html:2 @@ -20816,12 +21011,12 @@ msgstr "قراءة يعتمد فقط على" #. Label of the read_only_depends_on (Code) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Read Only Depends On (JS)" -msgstr "" +msgstr "يعتمد على القراءة فقط (JS)" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:18 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:8 #: frappe/templates/includes/navbar/navbar_items.html:97 msgid "Read Only Mode" -msgstr "" +msgstr "وضع القراءة فقط" #. Label of the read_by_recipient (Check) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -20836,48 +21031,48 @@ msgstr "قراءة من قبل المتلقي" #: frappe/desk/doctype/note/note.js:10 msgid "Read mode" -msgstr "" +msgstr "وضع القراءة" #: frappe/utils/safe_exec.py:99 msgid "Read the documentation to know more" -msgstr "" +msgstr "اقرأ الوثائق لمعرفة المزيد" #. Label of the readme (Markdown Editor) field in DocType 'Package' #: frappe/core/doctype/package/package.json msgid "Readme" -msgstr "" +msgstr "اقرأني" #. Label of the realtime_socketio_section (Section Break) field in DocType #. 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Realtime (SocketIO)" -msgstr "" +msgstr "الوقت الحقيقي (SocketIO)" #. Label of the reason (Long Text) field in DocType 'Unhandled Email' #: frappe/email/doctype/unhandled_email/unhandled_email.json msgid "Reason" -msgstr "" +msgstr "سبب" -#: frappe/public/js/frappe/views/reports/query_report.js:897 +#: frappe/public/js/frappe/views/reports/query_report.js:914 msgid "Rebuild" msgstr "إعادة بناء" #: frappe/public/js/frappe/views/treeview.js:511 msgid "Rebuild Tree" -msgstr "" +msgstr "إعادة بناء الشجرة" #: frappe/utils/nestedset.py:177 msgid "Rebuilding of tree is not supported for {}" -msgstr "" +msgstr "إعادة بناء الشجرة غير مدعومة لـ {}" #. Option for the 'Sent or Received' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json msgid "Received" -msgstr "" +msgstr "تلقيت" #: frappe/integrations/doctype/token_cache/token_cache.py:49 msgid "Received an invalid token type." -msgstr "" +msgstr "تم استلام نوع رمز غير صالح." #. Label of the receiver_by_document_field (Select) field in DocType #. 'Notification Recipient' @@ -20900,9 +21095,9 @@ msgstr "معامل المستقبل" msgid "Recent years are easy to guess." msgstr "السنوات الأخيرة من السهل تخمين." -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:576 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:546 msgid "Recents" -msgstr "" +msgstr "آخر الأخبار" #. Label of the recipients (Table) field in DocType 'Email Queue' #. Label of the recipient (Data) field in DocType 'Email Queue Recipient' @@ -20917,7 +21112,7 @@ msgstr "مستلم" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Recipient Account Field" -msgstr "" +msgstr "حقل حساب المستلم" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -20940,43 +21135,43 @@ msgstr "مسجل" #. Name of a DocType #: frappe/core/doctype/recorder_query/recorder_query.json msgid "Recorder Query" -msgstr "" +msgstr "استعلام المُسجِّل" #. Name of a DocType #: frappe/core/doctype/recorder_suggested_index/recorder_suggested_index.json msgid "Recorder Suggested Index" -msgstr "" +msgstr "فهرس مقترح للمسجل" #: frappe/core/doctype/user_permission/user_permission_help.html:2 msgid "Records for following doctypes will be filtered" -msgstr "" +msgstr "سيتم تصفية السجلات لأنواع المستندات التالية" -#: frappe/core/doctype/doctype/doctype.py:1623 +#: frappe/core/doctype/doctype/doctype.py:1637 msgid "Recursive Fetch From" -msgstr "" +msgstr "جلب متكرر من" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Red" -msgstr "" +msgstr "أحمر" #. Label of the redirect_http_status (Select) field in DocType 'Website Route #. Redirect' #: frappe/website/doctype/website_route_redirect/website_route_redirect.json msgid "Redirect HTTP Status" -msgstr "" +msgstr "حالة إعادة التوجيه HTTP" #. Label of the redirect_to_path (Data) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Redirect To Path" -msgstr "" +msgstr "إعادة التوجيه إلى المسار" #. Label of the redirect_uri (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Redirect URI" -msgstr "" +msgstr "عنوان إعادة التوجيه" #. Label of the redirect_uri_bound_to_authorization_code (Data) field in #. DocType 'OAuth Authorization Code' @@ -21001,30 +21196,30 @@ msgstr "إعادة توجيه URL" #: frappe/core/doctype/system_settings/system_settings.json #: frappe/core/doctype/user/user.json msgid "Redirect to the selected app after login" -msgstr "" +msgstr "إعادة التوجيه إلى التطبيق المحدد بعد تسجيل الدخول" #. Description of the 'Welcome URL' (Data) field in DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json msgid "Redirect to this URL after successful confirmation." -msgstr "" +msgstr "سيتم إعادة توجيهك إلى هذا الرابط بعد تأكيد العملية بنجاح." #. Label of the redirects_tab (Tab Break) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Redirects" -msgstr "" +msgstr "إعادة التوجيه" #: frappe/sessions.py:149 msgid "Redis cache server not running. Please contact Administrator / Tech support" msgstr "مخبأ خادم رديس يست قيد التشغيل. الرجاء الاتصال بمسؤول / الدعم الفني" -#: frappe/public/js/frappe/form/toolbar.js:563 +#: frappe/public/js/frappe/form/toolbar.js:566 msgid "Redo" -msgstr "" +msgstr "إعادة" #: frappe/public/js/frappe/form/form.js:165 -#: frappe/public/js/frappe/form/toolbar.js:571 +#: frappe/public/js/frappe/form/toolbar.js:574 msgid "Redo last action" -msgstr "" +msgstr "أعد تنفيذ الإجراء الأخير" #. Label of the ref_doctype (Link) field in DocType 'Report' #: frappe/core/doctype/report/report.json @@ -21033,7 +21228,7 @@ msgstr "المرجع DOCTYPE" #: frappe/desk/doctype/form_tour/form_tour.js:38 msgid "Referance Doctype and Dashboard Name both can't be used at the same time." -msgstr "" +msgstr "لا يمكن استخدام نوع المستند المرجعي واسم لوحة المعلومات في نفس الوقت." #. Label of the linked_with (Section Break) field in DocType 'Address' #. Label of the contact_details (Section Break) field in DocType 'Contact' @@ -21055,22 +21250,22 @@ msgstr "" #: frappe/integrations/doctype/integration_request/integration_request.json #: frappe/public/js/frappe/views/interaction.js:54 msgid "Reference" -msgstr "" +msgstr "مرجع" #. Label of the date_changed (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Reference Date" -msgstr "" +msgstr "المرجع تاريخ" #. Label of the datetime_changed (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Reference Datetime" -msgstr "" +msgstr "التاريخ والوقت المرجعيان" #. Label of the reference_docname (Dynamic Link) field in DocType 'Event' #: frappe/desk/doctype/event/event.json msgid "Reference Doc" -msgstr "" +msgstr "المستند المرجعي" #. Label of the reference_name (Data) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json @@ -21119,7 +21314,7 @@ msgstr "مرجع Doctype" #: frappe/desk/doctype/onboarding_step/onboarding_step.json #: frappe/integrations/doctype/webhook_request_log/webhook_request_log.json msgid "Reference Document" -msgstr "" +msgstr "وثيقة مرجعية" #. Label of the reference_docname (Dynamic Link) field in DocType 'Document #. Share Key' @@ -21128,7 +21323,7 @@ msgstr "" #: frappe/core/doctype/document_share_key/document_share_key.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Reference Document Name" -msgstr "" +msgstr "اسم المستند المرجعي" #. Label of the reference_doctype (Link) field in DocType 'Auto Repeat' #. Label of the reference_doctype (Link) field in DocType 'Activity Log' @@ -21171,7 +21366,7 @@ msgstr "" #: frappe/website/doctype/portal_menu_item/portal_menu_item.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Reference Document Type" -msgstr "" +msgstr "مرجع نوع الوثيقة" #. Label of the reference_name (Dynamic Link) field in DocType 'Activity Log' #. Label of the reference_name (Dynamic Link) field in DocType 'Comment' @@ -21196,7 +21391,7 @@ msgstr "" #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Reference Name" -msgstr "" +msgstr "اسم الإشارة" #. Label of the reference_owner (Read Only) field in DocType 'Activity Log' #. Label of the reference_owner (Data) field in DocType 'Comment' @@ -21238,18 +21433,18 @@ msgstr "إشارة: {0} {1}" msgid "Referrer" msgstr "المرجع" -#: frappe/printing/page/print/print.js:87 frappe/public/js/frappe/desk.js:168 +#: frappe/printing/page/print/print.js:93 frappe/public/js/frappe/desk.js:168 #: frappe/public/js/frappe/desk.js:552 -#: frappe/public/js/frappe/form/form.js:1213 +#: frappe/public/js/frappe/form/form.js:1242 #: frappe/public/js/frappe/form/templates/print_layout.html:6 #: frappe/public/js/frappe/list/base_list.js:67 -#: frappe/public/js/frappe/views/reports/query_report.js:1808 +#: frappe/public/js/frappe/views/reports/query_report.js:1858 #: frappe/public/js/frappe/views/treeview.js:498 #: frappe/public/js/frappe/widgets/chart_widget.js:291 #: frappe/public/js/frappe/widgets/number_card_widget.js:352 #: frappe/public/js/print_format_builder/Preview.vue:24 msgid "Refresh" -msgstr "" +msgstr "تحديث" #: frappe/core/page/dashboard_view/dashboard_view.js:177 msgid "Refresh All" @@ -21260,9 +21455,9 @@ msgstr "تحديث كافة" msgid "Refresh Google Sheet" msgstr "قم بتحديث ورقة Google" -#: frappe/printing/page/print/print.js:390 +#: frappe/printing/page/print/print.js:398 msgid "Refresh Print Preview" -msgstr "" +msgstr "تحديث معاينة الطباعة" #. Label of the refresh_token (Password) field in DocType 'Google Calendar' #. Label of the refresh_token (Password) field in DocType 'Google Contacts' @@ -21275,10 +21470,10 @@ msgstr "" msgid "Refresh Token" msgstr "تحديث رمز" -#: frappe/public/js/frappe/list/list_view.js:537 +#: frappe/public/js/frappe/list/list_view.js:540 msgctxt "Document count in list view" msgid "Refreshing" -msgstr "" +msgstr "منعش" #: frappe/core/doctype/system_settings/system_settings.js:57 #: frappe/core/doctype/user/user.js:369 @@ -21286,7 +21481,7 @@ msgstr "" msgid "Refreshing..." msgstr "يحديث ..." -#: frappe/core/doctype/user/user.py:1083 +#: frappe/core/doctype/user/user.py:1086 msgid "Registered but disabled" msgstr "سجل لكن المعوقين" @@ -21295,28 +21490,28 @@ msgstr "سجل لكن المعوقين" #: frappe/core/doctype/communication/communication.json #: frappe/core/doctype/translation/translation.json msgid "Rejected" -msgstr "" +msgstr "مرفوض" #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.py:30 msgid "Relay Server URL missing" -msgstr "" +msgstr "عنوان URL لخادم الترحيل مفقود" #. Label of the section_break_qgjr (Section Break) field in DocType 'Push #. Notification Settings' #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json msgid "Relay Settings" -msgstr "" +msgstr "إعدادات المرحل" #. Group in Package's connections #: frappe/core/doctype/package/package.json msgid "Release" -msgstr "" +msgstr "يطلق" #. Label of the release_notes (Markdown Editor) field in DocType 'Package #. Release' #: frappe/core/doctype/package_release/package_release.json msgid "Release Notes" -msgstr "" +msgstr "ملاحظات الإصدار" #: frappe/core/doctype/communication/communication.js:48 #: frappe/core/doctype/communication/communication.js:159 @@ -21332,24 +21527,22 @@ msgstr "الاتصالات إعادة ربط" msgid "Relinked" msgstr "إعادة ربط" -#. Label of a standard navbar item -#. Type: Action -#: frappe/custom/doctype/customize_form/customize_form.js:120 frappe/hooks.py -#: frappe/public/js/frappe/form/toolbar.js:480 +#: frappe/custom/doctype/customize_form/customize_form.js:120 +#: frappe/public/js/frappe/form/toolbar.js:483 msgid "Reload" msgstr "تحديث" #: frappe/public/js/frappe/form/controls/attach.js:16 msgid "Reload File" -msgstr "" +msgstr "إعادة تحميل الملف" #: frappe/public/js/frappe/list/base_list.js:249 msgid "Reload List" -msgstr "" +msgstr "أعد تحميل القائمة" -#: frappe/public/js/frappe/views/reports/query_report.js:100 +#: frappe/public/js/frappe/views/reports/query_report.js:101 msgid "Reload Report" -msgstr "" +msgstr "تقرير إعادة التحميل" #. Label of the remember_last_selected_value (Check) field in DocType #. 'DocField' @@ -21364,38 +21557,38 @@ msgstr "تذكر آخر مختارة القيمة" #: frappe/automation/doctype/reminder/reminder.json #: frappe/public/js/frappe/form/reminders.js:33 msgid "Remind At" -msgstr "" +msgstr "تذكير في" -#: frappe/public/js/frappe/form/toolbar.js:512 +#: frappe/public/js/frappe/form/toolbar.js:515 msgid "Remind Me" -msgstr "" +msgstr "ذكّرني" #: frappe/public/js/frappe/form/reminders.js:13 msgid "Remind Me In" -msgstr "" +msgstr "ذكرني في" #. Name of a DocType #: frappe/automation/doctype/reminder/reminder.json msgid "Reminder" -msgstr "" +msgstr "تذكير" #: frappe/automation/doctype/reminder/reminder.py:39 msgid "Reminder cannot be created in past." -msgstr "" +msgstr "لا يمكن إنشاء تذكير في الماضي." #: frappe/public/js/frappe/form/reminders.js:96 msgid "Reminder set at {0}" -msgstr "" +msgstr "تم ضبط التذكير على {0}" #: frappe/public/js/frappe/form/templates/form_sidebar.html:14 #: frappe/public/js/frappe/ui/filters/edit_filter.html:4 #: frappe/public/js/frappe/ui/group_by/group_by.html:4 msgid "Remove" -msgstr "" +msgstr "حذف" #: frappe/core/doctype/rq_job/rq_job_list.js:8 msgid "Remove Failed Jobs" -msgstr "" +msgstr "إزالة المهام الفاشلة" #: frappe/printing/page/print_format_builder/print_format_builder.js:493 msgid "Remove Field" @@ -21411,53 +21604,53 @@ msgstr "إزالة كافة التخصيصات ؟" #: frappe/public/js/form_builder/components/Section.vue:286 msgid "Remove all fields in the column" -msgstr "" +msgstr "قم بإزالة جميع الحقول في العمود" #: frappe/public/js/form_builder/components/Section.vue:278 #: frappe/public/js/frappe/utils/datatable.js:9 #: frappe/public/js/print_format_builder/PrintFormatSection.vue:120 msgid "Remove column" -msgstr "" +msgstr "إزالة العمود" #: frappe/public/js/form_builder/components/Field.vue:265 msgid "Remove field" -msgstr "" +msgstr "إزالة الحقل" #: frappe/public/js/form_builder/components/Section.vue:279 msgid "Remove last column" -msgstr "" +msgstr "قم بإزالة العمود الأخير" #: frappe/public/js/print_format_builder/PrintFormatSection.vue:130 msgid "Remove page break" -msgstr "" +msgstr "قم بإزالة فاصل الصفحات" #: frappe/public/js/form_builder/components/Section.vue:266 #: frappe/public/js/print_format_builder/PrintFormatSection.vue:135 msgid "Remove section" -msgstr "" +msgstr "إزالة القسم" #: frappe/public/js/form_builder/components/Tabs.vue:140 msgid "Remove tab" -msgstr "" +msgstr "إزالة علامة التبويب" #. Option for the 'Status' (Select) field in DocType 'Permission Log' #: frappe/core/doctype/permission_log/permission_log.json msgid "Removed" -msgstr "" +msgstr "تمت إزالته" #: frappe/custom/doctype/custom_field/custom_field.js:138 -#: frappe/public/js/frappe/form/toolbar.js:265 -#: frappe/public/js/frappe/form/toolbar.js:269 -#: frappe/public/js/frappe/form/toolbar.js:468 +#: frappe/public/js/frappe/form/toolbar.js:282 +#: frappe/public/js/frappe/form/toolbar.js:286 +#: frappe/public/js/frappe/form/toolbar.js:458 #: frappe/public/js/frappe/model/model.js:723 #: frappe/public/js/frappe/views/treeview.js:311 msgid "Rename" -msgstr "" +msgstr "إعادة تسمية" #: frappe/custom/doctype/custom_field/custom_field.js:117 #: frappe/custom/doctype/custom_field/custom_field.js:137 msgid "Rename Fieldname" -msgstr "" +msgstr "إعادة تسمية اسم الحقل" #: frappe/public/js/frappe/model/model.js:710 msgid "Rename {0}" @@ -21469,21 +21662,21 @@ msgstr "إعادة تسمية الملفات ورمز استبدالها في و #: frappe/public/js/print_format_builder/PrintFormatSection.vue:17 msgid "Render labels to the left and values to the right in this section" -msgstr "" +msgstr "اعرض التسميات على اليسار والقيم على اليمين في هذا القسم" #: frappe/core/doctype/communication/communication.js:43 #: frappe/desk/doctype/todo/todo.js:36 msgid "Reopen" -msgstr "" +msgstr "إعادة فتح" -#: frappe/public/js/frappe/form/toolbar.js:580 +#: frappe/public/js/frappe/form/toolbar.js:583 msgid "Repeat" msgstr "كرر" #. Label of the repeat_header_footer (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Repeat Header and Footer" -msgstr "" +msgstr "تكرار رأس وتذييل الصفحة" #. Label of the repeat_on (Select) field in DocType 'Event' #: frappe/desk/doctype/event/event.json @@ -21503,7 +21696,7 @@ msgstr "كرر يوم" #. Label of the repeat_on_days (Table) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json msgid "Repeat on Days" -msgstr "" +msgstr "كرر ذلك في الأيام" #. Label of the repeat_on_last_day (Check) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -21523,29 +21716,29 @@ msgstr "كما يكرر "AAA" من السهل تخمين" msgid "Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"" msgstr "يكرر مثل "abcabcabc" ليست سوى أصعب قليلا لتخمين من "اي بي سي"" -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:174 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:196 msgid "Repeats {0}" msgstr "يكرر {0}" #: frappe/core/doctype/role_replication/role_replication.js:7 #: frappe/core/doctype/role_replication/role_replication.js:14 msgid "Replicate" -msgstr "" +msgstr "تكرار" #: frappe/core/doctype/role_replication/role_replication.js:8 msgid "Replicating..." -msgstr "" +msgstr "جارٍ التكرار..." #: frappe/core/doctype/role_replication/role_replication.js:13 msgid "Replication completed." -msgstr "" +msgstr "اكتملت عملية النسخ." #. Option for the 'Status' (Select) field in DocType 'Contact' #. Option for the 'Status' (Select) field in DocType 'Communication' #: frappe/contacts/doctype/contact/contact.json #: frappe/core/doctype/communication/communication.json msgid "Replied" -msgstr "" +msgstr "رد" #. Label of the reply (Text Editor) field in DocType 'Discussion Reply' #: frappe/core/doctype/communication/communication.js:57 @@ -21586,6 +21779,7 @@ msgstr "الرد على الجميع" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/report/report.json #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json +#: frappe/core/page/permission_manager/permission_manager_help.html:61 #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.js:8 #: frappe/core/workspace/build/build.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -21600,12 +21794,11 @@ msgstr "الرد على الجميع" #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format/print_format.py:104 -#: frappe/public/js/frappe/form/print_utils.js:31 -#: frappe/public/js/frappe/request.js:616 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:104 -#: frappe/public/js/frappe/utils/utils.js:949 +#: frappe/public/js/frappe/request.js:614 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:95 +#: frappe/public/js/frappe/utils/utils.js:947 msgid "Report" -msgstr "" +msgstr "تقرير" #. Option for the 'Report Type' (Select) field in DocType 'Report' #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' @@ -21672,20 +21865,20 @@ msgstr "مدير التقارير" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:39 #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/number_card/number_card.json -#: frappe/public/js/frappe/views/reports/query_report.js:1995 +#: frappe/public/js/frappe/views/reports/query_report.js:2048 msgid "Report Name" msgstr "تقرير الاسم" #: frappe/desk/doctype/number_card/number_card.py:70 msgid "Report Name, Report Field and Fucntion are required to create a number card" -msgstr "" +msgstr "يلزم إدخال اسم التقرير وحقل التقرير ووظيفته لإنشاء بطاقة رقمية" #. Label of the report_ref_doctype (Link) field in DocType 'Workspace Link' #. Label of the report_ref_doctype (Link) field in DocType 'Workspace Shortcut' #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json msgid "Report Ref DocType" -msgstr "" +msgstr "رقم التقرير نوع المستند" #. Label of the report_reference_doctype (Data) field in DocType 'Onboarding #. Step' @@ -21704,15 +21897,11 @@ msgstr "نوع التقرير" #: frappe/public/js/frappe/list/base_list.js:204 msgid "Report View" -msgstr "" +msgstr "عرض التقرير" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:44 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:63 msgid "Report bug" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1844 -msgid "Report cannot be set for Single types" -msgstr "لا يمكن تعيين التقرير لأنواع واحدة" +msgstr "الإبلاغ عن خطأ" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:208 #: frappe/desk/doctype/number_card/number_card.js:194 @@ -21724,19 +21913,19 @@ msgstr "لا يحتوي التقرير على بيانات ، يرجى تعدي msgid "Report has no numeric fields, please change the Report Name" msgstr "لا يحتوي التقرير على حقول رقمية ، يُرجى تغيير اسم التقرير" -#: frappe/public/js/frappe/views/reports/query_report.js:1024 +#: frappe/public/js/frappe/views/reports/query_report.js:1041 msgid "Report initiated, click to view status" -msgstr "" +msgstr "تم إنشاء التقرير، انقر لعرض الحالة" #: frappe/email/doctype/auto_email_report/auto_email_report.py:110 msgid "Report limit reached" -msgstr "" +msgstr "تم الوصول إلى الحد الأقصى للإبلاغات" #: frappe/core/doctype/prepared_report/prepared_report.py:248 msgid "Report timed out." -msgstr "" +msgstr "انتهت مهلة التقرير." -#: frappe/desk/query_report.py:686 +#: frappe/desk/query_report.py:685 msgid "Report updated successfully" msgstr "تم تحديث التقرير بنجاح" @@ -21744,18 +21933,18 @@ msgstr "تم تحديث التقرير بنجاح" msgid "Report was not saved (there were errors)" msgstr "لم يتم حفظ التقرير (كانت هناك أخطاء)" -#: frappe/public/js/frappe/views/reports/query_report.js:2033 +#: frappe/public/js/frappe/views/reports/query_report.js:2086 msgid "Report with more than 10 columns looks better in Landscape mode." msgstr "التقرير مع أكثر من 10 أعمدة تبدو أفضل في وضع أفقي." -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:286 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:287 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:262 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:263 msgid "Report {0}" msgstr "تقرير {0}" #: frappe/desk/reportview.py:367 msgid "Report {0} deleted" -msgstr "" +msgstr "تم حذف التقرير {0}" #: frappe/desk/query_report.py:55 msgid "Report {0} is disabled" @@ -21763,7 +21952,7 @@ msgstr "تقرير غير مفعلة {0}" #: frappe/desk/reportview.py:344 msgid "Report {0} saved" -msgstr "" +msgstr "تم حفظ التقرير {0}" #: frappe/public/js/frappe/views/reports/report_view.js:20 msgid "Report:" @@ -21772,31 +21961,31 @@ msgstr "أبلغ عن:" #. Label of the prepared_report_section (Section Break) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:591 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:561 msgid "Reports" -msgstr "" +msgstr "تقارير" #: frappe/patches/v14_0/update_workspace2.py:50 msgid "Reports & Masters" msgstr "التقارير والماجستير" -#: frappe/public/js/frappe/views/reports/query_report.js:940 +#: frappe/public/js/frappe/views/reports/query_report.js:957 msgid "Reports already in Queue" msgstr "التقارير موجودة بالفعل في قائمة الانتظار" #. Description of a DocType #: frappe/core/doctype/user/user.json msgid "Represents a User in the system." -msgstr "" +msgstr "يمثل مستخدمًا في النظام." #. Description of a DocType #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json msgid "Represents the states allowed in one document and role assigned to change the state." -msgstr "" +msgstr "يمثل هذا النص الحالات المسموح بها في وثيقة واحدة والدور المخصص لتغيير الحالة." #: frappe/integrations/doctype/webhook/webhook.js:101 msgid "Request Body" -msgstr "" +msgstr "نص الطلب" #. Label of the data (Code) field in DocType 'Integration Request' #. Title of the request-data Web Form @@ -21810,44 +21999,44 @@ msgstr "طلب البيانات" #. Request' #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Request Description" -msgstr "" +msgstr "وصف الطلب" #. Label of the request_headers (Code) field in DocType 'Recorder' #. Label of the request_headers (Code) field in DocType 'Integration Request' #: frappe/core/doctype/recorder/recorder.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Request Headers" -msgstr "" +msgstr "رؤوس الطلب" #. Label of the request_id (Data) field in DocType 'Integration Request' #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Request ID" -msgstr "" +msgstr "رقم الطلب" #. Label of the rate_limit_count (Int) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Request Limit" -msgstr "" +msgstr "حد الطلبات" #. Label of the request_method (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Request Method" -msgstr "" +msgstr "طريقة الطلب" #. Label of the request_structure (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Request Structure" msgstr "طلب هيكل" -#: frappe/public/js/frappe/request.js:231 +#: frappe/public/js/frappe/request.js:229 msgid "Request Timed Out" msgstr "طلب مهلة" #. Label of the timeout (Int) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json -#: frappe/public/js/frappe/request.js:244 +#: frappe/public/js/frappe/request.js:242 msgid "Request Timeout" -msgstr "" +msgstr "انتهت مهلة الطلب" #. Label of the request_url (Small Text) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -21857,12 +22046,12 @@ msgstr "طلب عنوان ورل" #. Title of the request-to-delete-data Web Form #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json msgid "Request for Account Deletion" -msgstr "" +msgstr "طلب حذف الحساب" #. Label of the requested_numbers (Code) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "Requested Numbers" -msgstr "" +msgstr "الأرقام المطلوبة" #. Label of the require_trusted_certificate (Select) field in DocType 'LDAP #. Settings' @@ -21874,13 +22063,13 @@ msgstr "طلب شهادة موثوق بها" #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Requires any valid fdn path. i.e. ou=groups,dc=example,dc=com" -msgstr "" +msgstr "يتطلب أي مسار fdn صالح. على سبيل المثال: ou=groups,dc=example,dc=com" #. Description of the 'LDAP search path for Users' (Data) field in DocType #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Requires any valid fdn path. i.e. ou=users,dc=example,dc=com" -msgstr "" +msgstr "يتطلب أي مسار fdn صالح. على سبيل المثال: ou=users,dc=example,dc=com" #: frappe/core/doctype/communication/communication.js:279 msgid "Res: {0}" @@ -21891,16 +22080,16 @@ msgstr "الدقة: {0}" #: frappe/desk/doctype/module_onboarding/module_onboarding.js:17 #: frappe/website/doctype/portal_settings/portal_settings.js:19 msgid "Reset" -msgstr "" +msgstr "إعادة تعيين" #: frappe/custom/doctype/customize_form/customize_form.js:136 msgid "Reset All Customizations" -msgstr "" +msgstr "إعادة ضبط جميع التخصيصات" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:21 #: frappe/public/js/workflow_builder/workflow_builder.bundle.js:37 msgid "Reset Changes" -msgstr "" +msgstr "إعادة ضبط التغييرات" #: frappe/public/js/frappe/widgets/chart_widget.js:306 msgid "Reset Chart" @@ -21908,7 +22097,7 @@ msgstr "إعادة تعيين المخطط" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:39 msgid "Reset Dashboard Customizations" -msgstr "" +msgstr "إعادة ضبط تخصيصات لوحة التحكم" #: frappe/public/js/frappe/list/list_settings.js:228 msgid "Reset Fields" @@ -21920,7 +22109,7 @@ msgstr "إعادة تعيين كلمة مرور LDAP" #: frappe/custom/doctype/customize_form/customize_form.js:128 msgid "Reset Layout" -msgstr "" +msgstr "إعادة ضبط التخطيط" #: frappe/core/doctype/user/user.js:228 msgid "Reset OTP Secret" @@ -21941,13 +22130,13 @@ msgstr "إعادة تعيين كلمة المرور الرئيسية" #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Reset Password Link Expiry Duration" -msgstr "" +msgstr "مدة انتهاء صلاحية رابط إعادة تعيين كلمة المرور" #. Label of the reset_password_template (Link) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Reset Password Template" -msgstr "" +msgstr "نموذج إعادة تعيين كلمة المرور" #: frappe/core/page/permission_manager/permission_manager.js:116 msgid "Reset Permissions for {0}?" @@ -21955,15 +22144,15 @@ msgstr "إعادة تعيين أذونات ل {0} ؟" #: frappe/public/js/form_builder/components/Field.vue:111 msgid "Reset To Default" -msgstr "" +msgstr "إعادة الضبط إلى الإعدادات الافتراضية" #: frappe/public/js/frappe/utils/datatable.js:8 msgid "Reset sorting" -msgstr "" +msgstr "إعادة ترتيب الفرز" -#: frappe/public/js/frappe/form/grid_row.js:433 +#: frappe/public/js/frappe/form/grid_row.js:435 msgid "Reset to default" -msgstr "" +msgstr "إعادة الضبط إلى الوضع الافتراضي" #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:19 msgid "Reset to defaults" @@ -21976,27 +22165,27 @@ msgstr "اعد ضبط كلمه السر" #. Label of the resource_tab (Tab Break) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Resource" -msgstr "" +msgstr "مورد" #. Label of the resource_documentation (Data) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Resource Documentation" -msgstr "" +msgstr "وثائق الموارد" #. Label of the resource_name (Data) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Resource Name" -msgstr "" +msgstr "اسم المورد" #. Label of the resource_policy_uri (Data) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Resource Policy URI" -msgstr "" +msgstr "معرّف موارد سياسة الموارد" #. Label of the resource_tos_uri (Data) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Resource TOS URI" -msgstr "" +msgstr "مورد TOS URI" #. Label of the response (Text Editor) field in DocType 'Email Template' #. Label of the response_html (Code) field in DocType 'Email Template' @@ -22012,29 +22201,29 @@ msgstr "الإستجابة" #. Label of the response_headers (Code) field in DocType 'Integration Request' #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Response Headers" -msgstr "" +msgstr "رؤوس الاستجابة" #. Label of the response_type (Select) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Response Type" msgstr "نوع الاستجابة" -#: frappe/public/js/frappe/ui/notifications/notifications.js:445 +#: frappe/public/js/frappe/ui/notifications/notifications.js:454 msgid "Rest of the day" -msgstr "" +msgstr "بقية اليوم" #: frappe/core/doctype/deleted_document/deleted_document.js:11 #: frappe/core/doctype/deleted_document/deleted_document_list.js:48 msgid "Restore" msgstr "استعادة" -#: frappe/core/page/permission_manager/permission_manager.js:559 +#: frappe/core/page/permission_manager/permission_manager.js:560 msgid "Restore Original Permissions" msgstr "استعادة ضوابط الأصل" #: frappe/website/doctype/portal_settings/portal_settings.js:20 msgid "Restore to default settings?" -msgstr "استعادة الإعدادات الافتراضية؟\\n
\\n?Restore to default settings" +msgstr "هل تريد استعادة الإعدادات الافتراضية؟" #. Label of the restored (Check) field in DocType 'Deleted Document' #: frappe/core/doctype/deleted_document/deleted_document.json @@ -22050,6 +22239,11 @@ msgstr "استعادة المستند المحذوف" msgid "Restrict IP" msgstr "تقييد IP" +#. Label of the restrict_removal (Check) field in DocType 'Desktop Icon' +#: frappe/desk/doctype/desktop_icon/desktop_icon.json +msgid "Restrict Removal" +msgstr "تقييد الإزالة" + #. Label of the restrict_to_domain (Link) field in DocType 'DocType' #. Label of the restrict_to_domain (Link) field in DocType 'Module Def' #. Label of the restrict_to_domain (Link) field in DocType 'Page' @@ -22077,10 +22271,10 @@ msgctxt "Title of message showing restrictions in list view" msgid "Restrictions" msgstr "قيود" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:455 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:470 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:457 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:472 msgid "Result" -msgstr "" +msgstr "نتيجة" #: frappe/email/doctype/email_queue/email_queue_list.js:27 msgid "Resume Sending" @@ -22091,11 +22285,11 @@ msgstr "استئناف إرسال" #: frappe/desk/page/setup_wizard/setup_wizard.js:297 #: frappe/email/doctype/email_queue/email_queue.json msgid "Retry" -msgstr "" +msgstr "إعادة المحاولة" #: frappe/email/doctype/email_queue/email_queue_list.js:47 msgid "Retry Sending" -msgstr "" +msgstr "إعادة محاولة الإرسال" #: frappe/www/qrcode.html:15 msgid "Return to the Verification screen and enter the code displayed by your authentication app" @@ -22108,7 +22302,7 @@ msgstr "إعادة الطول إلى {0} لـ "{1}" في "{2}&quo #. Label of the revocation_uri (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Revocation URI" -msgstr "" +msgstr "معرّف الموارد الموحد للإلغاء" #: frappe/www/third_party_apps.html:47 msgid "Revoke" @@ -22125,9 +22319,15 @@ msgstr "إلغاء" msgid "Rich Text" msgstr "نص منسق" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json @@ -22143,12 +22343,12 @@ msgstr "حق" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Right Bottom" -msgstr "" +msgstr "أسفل اليمين" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "Right Center" -msgstr "" +msgstr "وسط اليمين" #. Label of the robots_txt (Code) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -22162,8 +22362,6 @@ msgstr "ملف robots.txt" #. Name of a DocType #. Label of the role (Link) field in DocType 'User Role' #. Label of the role (Link) field in DocType 'User Type' -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace #. Label of the role (Link) field in DocType 'Onboarding Permission' #. Label of the role (Link) field in DocType 'ToDo' #. Label of the role (Link) field in DocType 'OAuth Client Role' @@ -22178,8 +22376,7 @@ msgstr "ملف robots.txt" #: frappe/core/doctype/user_type/user_type.json #: frappe/core/doctype/user_type/user_type.py:110 #: frappe/core/page/permission_manager/permission_manager.js:219 -#: frappe/core/page/permission_manager/permission_manager.js:506 -#: frappe/core/workspace/users/users.json +#: frappe/core/page/permission_manager/permission_manager.js:507 #: frappe/desk/doctype/onboarding_permission/onboarding_permission.json #: frappe/desk/doctype/todo/todo.json #: frappe/integrations/doctype/oauth_client_role/oauth_client_role.json @@ -22190,11 +22387,11 @@ msgstr "صلاحية" #: frappe/core/doctype/role/role.js:8 msgid "Role 'All' will be given to all system + website users." -msgstr "" +msgstr "سيتم منح دور \"الكل\" لجميع مستخدمي النظام والموقع الإلكتروني." #: frappe/core/doctype/role/role.js:13 msgid "Role 'Desk User' will be given to all system users." -msgstr "" +msgstr "سيتم منح دور \"مستخدم سطح المكتب\" لجميع مستخدمي النظام." #. Label of the role_name (Data) field in DocType 'Role' #. Label of the role_profile (Data) field in DocType 'Role Profile' @@ -22223,7 +22420,7 @@ msgstr "اذونات الصلاحيات" msgid "Role Permissions Manager" msgstr "مدير ضوابط الصلاحيات" -#: frappe/public/js/frappe/list/list_view.js:1936 +#: frappe/public/js/frappe/list/list_view.js:1944 msgctxt "Button in list view menu" msgid "Role Permissions Manager" msgstr "مدير ضوابط الصلاحيات" @@ -22231,23 +22428,21 @@ msgstr "مدير ضوابط الصلاحيات" #. Name of a DocType #. Label of the role_profile_name (Link) field in DocType 'User' #. Label of the role_profile (Link) field in DocType 'User Role Profile' -#. Label of a Link in the Users Workspace #: frappe/core/doctype/role_profile/role_profile.json #: frappe/core/doctype/user/user.json #: frappe/core/doctype/user_role_profile/user_role_profile.json -#: frappe/core/workspace/users/users.json msgid "Role Profile" msgstr "الملف الشخصي" #. Label of the role_profiles (Table MultiSelect) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Role Profiles" -msgstr "" +msgstr "نبذة عن الأدوار" #. Name of a DocType #: frappe/core/doctype/role_replication/role_replication.json msgid "Role Replication" -msgstr "" +msgstr "تكرار الدور" #. Label of the role_and_level (Section Break) field in DocType 'Custom #. DocPerm' @@ -22257,9 +22452,9 @@ msgstr "" msgid "Role and Level" msgstr "مستوى الصلاحية" -#: frappe/core/doctype/user/user.py:403 +#: frappe/core/doctype/user/user.py:406 msgid "Role has been set as per the user type {0}" -msgstr "" +msgstr "تم تحديد الدور وفقًا لنوع المستخدم {0}" #. Label of the roles (Table) field in DocType 'Page' #. Label of the roles (Table) field in DocType 'Report' @@ -22290,7 +22485,7 @@ msgstr "الصلاحيات" #. Label of the roles_permissions_tab (Tab Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Roles & Permissions" -msgstr "" +msgstr "الأدوار والصلاحيات" #. Label of the roles (Table) field in DocType 'Role Profile' #. Label of the roles (Table) field in DocType 'User' @@ -22314,7 +22509,7 @@ msgstr "أدوار Html" #: frappe/core/page/permission_manager/permission_manager_help.html:7 msgid "Roles can be set for users from their User page." -msgstr "" +msgstr "يمكن تحديد الأدوار للمستخدمين من صفحة المستخدم الخاصة بهم." #: frappe/utils/nestedset.py:293 msgid "Root {0} cannot be deleted" @@ -22328,7 +22523,7 @@ msgstr "جولة روبن" #. Label of the rounding_method (Select) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Rounding Method" -msgstr "" +msgstr "طريقة التقريب" #. Label of the route (Data) field in DocType 'DocType' #. Option for the 'Action Type' (Select) field in DocType 'DocType Action' @@ -22354,7 +22549,7 @@ msgstr "" #: frappe/website/doctype/web_page/web_page.json #: frappe/website/doctype/website_sidebar_item/website_sidebar_item.json msgid "Route" -msgstr "" +msgstr "مسار" #. Name of a DocType #: frappe/desk/doctype/route_history/route_history.json @@ -22364,7 +22559,7 @@ msgstr "سجل الطريق" #. Label of the route_options (Code) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Route Options" -msgstr "" +msgstr "خيارات المسار" #. Label of the route_redirects (Table) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -22374,38 +22569,38 @@ msgstr "إعادة توجيه الطريق" #. Description of the 'Home Page' (Data) field in DocType 'Role' #: frappe/core/doctype/role/role.json msgid "Route: Example \"/app\"" -msgstr "" +msgstr "المسار: مثال \"/app\"" -#: frappe/model/base_document.py:953 frappe/model/document.py:822 +#: frappe/model/base_document.py:972 frappe/model/document.py:821 msgid "Row" msgstr "صف" -#: frappe/core/doctype/version/version_view.html:74 +#: frappe/core/doctype/version/version_view.html:137 msgid "Row #" -msgstr "" +msgstr "صف #" -#: frappe/core/doctype/doctype/doctype.py:1866 -#: frappe/core/doctype/doctype/doctype.py:1876 -msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype" -msgstr "" +#: frappe/core/doctype/doctype/doctype.py:1930 +#: frappe/core/doctype/doctype/doctype.py:1940 +msgid "Row # {0}: Non-administrator users cannot add the role {1} to a custom DocType." +msgstr "الصف رقم {0}: لا يمكن للمستخدمين غير الإداريين إضافة الدور {1} إلى نوع مستند مخصص." -#: frappe/model/base_document.py:1083 +#: frappe/model/base_document.py:1100 msgid "Row #{0}:" msgstr "الصف # {0}:" #: frappe/core/doctype/doctype/doctype.py:505 msgid "Row #{}: Fieldname is required" -msgstr "" +msgstr "الصف رقم {}: اسم الحقل مطلوب" #. Label of the row_format (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Row Format" -msgstr "" +msgstr "تنسيق الصف" #. Label of the row_indexes (Code) field in DocType 'Data Import Log' #: frappe/core/doctype/data_import_log/data_import_log.json msgid "Row Indexes" -msgstr "" +msgstr "فهارس الصفوف" #. Label of the row_name (Data) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -22414,15 +22609,15 @@ msgstr "اسم الصف" #: frappe/core/doctype/data_import/data_import.js:509 msgid "Row Number" -msgstr "" +msgstr "رقم الصف" -#: frappe/core/doctype/version/version_view.html:69 +#: frappe/core/doctype/version/version_view.html:132 msgid "Row Values Changed" -msgstr "" +msgstr "تم تغيير قيم الصفوف" #: frappe/core/doctype/data_import/data_import.js:393 msgid "Row {0}" -msgstr "" +msgstr "الصف {0}" #: frappe/custom/doctype/customize_form/customize_form.py:357 msgid "Row {0}: Not allowed to disable Mandatory for standard fields" @@ -22435,14 +22630,14 @@ msgstr "صف {0}: غير مسموح لتمكين السماح إرسال على #. Label of the rows_added_section (Section Break) field in DocType 'Audit #. Trail' #: frappe/core/doctype/audit_trail/audit_trail.json -#: frappe/core/doctype/version/version_view.html:33 +#: frappe/core/doctype/version/version_view.html:96 msgid "Rows Added" msgstr "واضاف الصفوف" #. Label of the rows_removed_section (Section Break) field in DocType 'Audit #. Trail' #: frappe/core/doctype/audit_trail/audit_trail.json -#: frappe/core/doctype/version/version_view.html:33 +#: frappe/core/doctype/version/version_view.html:96 msgid "Rows Removed" msgstr "الصفوف إزالتها" @@ -22452,7 +22647,7 @@ msgstr "الصفوف إزالتها" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Rows Threshold for Grid Search" -msgstr "" +msgstr "عتبة الصفوف للبحث الشبكي" #. Label of the rule (Select) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -22465,14 +22660,14 @@ msgstr "قاعدة" msgid "Rule Conditions" msgstr "شروط القاعدة" -#: frappe/permissions.py:681 +#: frappe/permissions.py:687 msgid "Rule for this doctype, role, permlevel and if-owner combination already exists." -msgstr "" +msgstr "توجد بالفعل قاعدة لهذا النوع من المستندات، والدور، ومستوى الصلاحية، ومجموعة المالك." #. Group in DocType's connections #: frappe/core/doctype/doctype/doctype.json msgid "Rules" -msgstr "" +msgstr "القواعد" #. Description of the 'Transitions' (Table) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -22503,11 +22698,11 @@ msgstr "تشغيل المهام المجدولة الا إذا دققت" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:57 msgid "Runtime in Minutes" -msgstr "" +msgstr "مدة التشغيل بالدقائق" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:57 msgid "Runtime in Seconds" -msgstr "" +msgstr "مدة التشغيل بالثواني" #. Option for the 'Type' (Select) field in DocType 'Communication' #. Option for the 'Two Factor Authentication method' (Select) field in DocType @@ -22527,7 +22722,7 @@ msgstr "SMS بوابة URL" #. Name of a DocType #: frappe/core/doctype/sms_log/sms_log.json msgid "SMS Log" -msgstr "" +msgstr "سجل الرسائل النصية القصيرة" #. Name of a DocType #: frappe/core/doctype/sms_parameter/sms_parameter.json @@ -22539,24 +22734,24 @@ msgstr "SMS متغيرات" #: frappe/core/doctype/sms_settings/sms_settings.json #: frappe/integrations/workspace/integrations/integrations.json msgid "SMS Settings" -msgstr "" +msgstr "SMS إعدادات" #: frappe/core/doctype/sms_settings/sms_settings.py:114 msgid "SMS sent successfully" -msgstr "" +msgstr "تم إرسال الرسالة النصية القصيرة بنجاح" -#: frappe/templates/includes/login/login.js:369 +#: frappe/templates/includes/login/login.js:368 msgid "SMS was not sent. Please contact Administrator." -msgstr "" +msgstr "لم يتم إرسال الرسالة النصية. يرجى الاتصال بالمسؤول." #: frappe/email/doctype/email_account/email_account.py:212 msgid "SMTP Server is required" -msgstr "" +msgstr "يلزم وجود خادم SMTP" #. Option for the 'Type' (Select) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json msgid "SQL" -msgstr "" +msgstr "SQL" #. Description of the 'Condition' (Small Text) field in DocType 'Bulk Update' #: frappe/desk/doctype/bulk_update/bulk_update.json @@ -22567,21 +22762,21 @@ msgstr "شروط SQL. على سبيل المثال: الحالة = "فتح& #: frappe/core/doctype/recorder/recorder.js:85 #: frappe/core/doctype/recorder_query/recorder_query.json msgid "SQL Explain" -msgstr "" +msgstr "شرح SQL" #. Label of the sql_output (HTML) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json msgid "SQL Output" -msgstr "" +msgstr "مخرجات SQL" #. Label of the sql_queries (Table) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "SQL Queries" -msgstr "" +msgstr "استعلامات SQL" -#: frappe/database/query.py:1876 +#: frappe/database/query.py:1954 msgid "SQL functions are not allowed as strings in SELECT: {0}. Use dict syntax like {{'COUNT': '*'}} instead." -msgstr "" +msgstr "لا يُسمح باستخدام دوال SQL كسلاسل نصية في عبارة SELECT: {0}. استخدم صيغة القاموس مثل {{'COUNT': '*'}} بدلاً من ذلك." #. Label of the ssl_tls_mode (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json @@ -22590,24 +22785,24 @@ msgstr "وضع SSL / TLS" #: frappe/public/js/frappe/color_picker/color_picker.js:20 msgid "SWATCHES" -msgstr "" +msgstr "عينات" #. Name of a role #: frappe/contacts/doctype/contact/contact.json msgid "Sales Manager" -msgstr "" +msgstr "مدير المبيعات" #. Name of a role #: frappe/contacts/doctype/contact/contact.json msgid "Sales Master Manager" -msgstr "" +msgstr "المدير الرئيسي للمبيعات" #. Name of a role #: frappe/contacts/doctype/address/address.json #: frappe/contacts/doctype/contact/contact.json #: frappe/geo/doctype/currency/currency.json msgid "Sales User" -msgstr "" +msgstr "عضو المبيعات" #. Option for the 'Social Login Provider' (Select) field in DocType 'Social #. Login Key' @@ -22646,48 +22841,49 @@ msgstr "عينة" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Saturday" -msgstr "" +msgstr "السبت" #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: cypress/integration/web_form.js:52 #: frappe/core/doctype/data_import/data_import.js:119 +#: frappe/desk/page/desktop/desktop.html:65 #: frappe/email/doctype/notification/notification.json -#: frappe/printing/page/print/print.js:923 +#: frappe/printing/page/print/print.js:937 #: frappe/printing/page/print_format_builder/print_format_builder.js:160 #: frappe/public/js/frappe/form/footer/form_timeline.js:678 -#: frappe/public/js/frappe/form/quick_entry.js:185 +#: frappe/public/js/frappe/form/quick_entry.js:196 #: frappe/public/js/frappe/list/list_settings.js:37 #: frappe/public/js/frappe/list/list_settings.js:245 -#: frappe/public/js/frappe/list/list_view.js:1998 -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:267 +#: frappe/public/js/frappe/list/list_view.js:2006 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:252 #: frappe/public/js/frappe/utils/common.js:452 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:45 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:189 #: frappe/public/js/frappe/views/kanban/kanban_view.js:357 -#: frappe/public/js/frappe/views/reports/query_report.js:1987 -#: frappe/public/js/frappe/views/reports/report_view.js:1739 -#: frappe/public/js/frappe/views/workspace/workspace.js:350 +#: frappe/public/js/frappe/views/reports/query_report.js:2040 +#: frappe/public/js/frappe/views/reports/report_view.js:1740 +#: frappe/public/js/frappe/views/workspace/workspace.js:398 #: frappe/public/js/frappe/widgets/base_widget.js:142 #: frappe/public/js/frappe/widgets/quick_list_widget.js:120 #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:15 #: frappe/public/js/workflow_builder/workflow_builder.bundle.js:33 msgid "Save" -msgstr "" +msgstr "حفظ" #: frappe/workflow/doctype/workflow/workflow.js:143 msgid "Save Anyway" msgstr "حفظ على أي حال" #: frappe/public/js/frappe/views/reports/report_view.js:1384 -#: frappe/public/js/frappe/views/reports/report_view.js:1746 +#: frappe/public/js/frappe/views/reports/report_view.js:1747 msgid "Save As" msgstr "حفظ باسم" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:63 msgid "Save Customizations" -msgstr "" +msgstr "حفظ التخصيصات" -#: frappe/public/js/frappe/views/reports/query_report.js:1990 +#: frappe/public/js/frappe/views/reports/query_report.js:2043 msgid "Save Report" msgstr "احفظ التقرير" @@ -22698,27 +22894,27 @@ msgstr "حفظ المرشحات" #. Label of the save_on_complete (Check) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Save on Completion" -msgstr "" +msgstr "وفر عند الانتهاء" #: frappe/public/js/frappe/form/form_tour.js:295 msgid "Save the document." -msgstr "" +msgstr "احفظ المستند." #: frappe/model/rename_doc.py:106 -#: frappe/printing/page/print_format_builder/print_format_builder.js:858 -#: frappe/public/js/frappe/form/toolbar.js:297 +#: frappe/printing/page/print_format_builder/print_format_builder.js:892 +#: frappe/public/js/frappe/form/toolbar.js:315 #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:917 -#: frappe/public/js/frappe/views/workspace/workspace.js:729 +#: frappe/public/js/frappe/views/workspace/workspace.js:778 msgid "Saved" msgstr "حفظ" -#: frappe/public/js/frappe/list/list_filter.js:20 +#: frappe/public/js/frappe/list/list_filter.js:21 msgid "Saved Filters" -msgstr "" +msgstr "حفظ الفلاتر" #: frappe/public/js/frappe/list/list_settings.js:41 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:47 -#: frappe/public/js/frappe/views/workspace/workspace.js:362 +#: frappe/public/js/frappe/views/workspace/workspace.js:410 msgid "Saving" msgstr "حفظ" @@ -22727,21 +22923,21 @@ msgctxt "Freeze message while saving a document" msgid "Saving" msgstr "حفظ" -#: frappe/public/js/frappe/list/list_view.js:2009 +#: frappe/public/js/frappe/list/list_view.js:2017 msgid "Saving Changes..." -msgstr "" +msgstr "جارٍ حفظ التغييرات..." -#: frappe/custom/doctype/customize_form/customize_form.js:411 +#: frappe/custom/doctype/customize_form/customize_form.js:421 msgid "Saving Customization..." -msgstr "" +msgstr "حفظ التخصيص..." #: frappe/public/js/frappe/ui/sidebar/sidebar_editor.js:58 msgid "Saving Sidebar" -msgstr "" +msgstr "حفظ الشريط الجانبي" #: frappe/desk/doctype/module_onboarding/module_onboarding.js:8 msgid "Saving this will export this document as well as the steps linked here as json." -msgstr "" +msgstr "سيؤدي حفظ هذا الملف إلى تصدير هذا المستند بالإضافة إلى الخطوات المذكورة هنا بصيغة json." #: frappe/public/js/form_builder/store.js:233 #: frappe/public/js/print_format_builder/store.js:36 @@ -22751,7 +22947,7 @@ msgstr "إنقاذ..." #: frappe/public/js/frappe/scanner/index.js:72 msgid "Scan QRCode" -msgstr "" +msgstr "امسح رمز الاستجابة السريعة" #: frappe/www/qrcode.html:14 msgid "Scan the QR Code and enter the resulting code displayed." @@ -22760,11 +22956,11 @@ msgstr "مسح رمز الاستجابة السريعة وأدخل رمز الن #. Label of the section_break_10 (Tab Break) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json msgid "Schedule" -msgstr "" +msgstr "جدول" #: frappe/public/js/frappe/views/communication.js:88 msgid "Schedule Send At" -msgstr "" +msgstr "جدولة الإرسال في" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #. Option for the 'Status' (Select) field in DocType 'Scheduled Job Log' @@ -22776,7 +22972,7 @@ msgstr "من المقرر" #. Label of the scheduled_against (Link) field in DocType 'Scheduler Event' #: frappe/core/doctype/scheduler_event/scheduler_event.json msgid "Scheduled Against" -msgstr "" +msgstr "مُجدول ضد" #. Label of the scheduled_job_type (Link) field in DocType 'Scheduled Job Log' #: frappe/core/doctype/scheduled_job_log/scheduled_job_log.json @@ -22801,7 +22997,7 @@ msgstr "نوع الوظيفة المجدولة" #. Label of a Link in the Build Workspace #: frappe/core/workspace/build/build.json msgid "Scheduled Jobs Logs" -msgstr "" +msgstr "سجلات المهام المجدولة" #: frappe/core/doctype/server_script/server_script.py:157 msgid "Scheduled execution for script {0} has updated" @@ -22815,7 +23011,7 @@ msgstr "من المقرر أن ترسل" #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Scheduler" -msgstr "" +msgstr "جدولة" #. Label of the scheduler_event (Link) field in DocType 'Scheduled Job Type' #. Name of a DocType @@ -22828,33 +23024,33 @@ msgstr "حدث المجدول" #: frappe/core/doctype/data_import/data_import.py:124 msgid "Scheduler Inactive" -msgstr "" +msgstr "المجدول غير نشط" #. Label of the scheduler_status (Data) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Scheduler Status" -msgstr "" +msgstr "حالة جدولة المهام" #: frappe/utils/scheduler.py:247 msgid "Scheduler can not be re-enabled when maintenance mode is active." -msgstr "" +msgstr "لا يمكن إعادة تفعيل المجدول عندما يكون وضع الصيانة نشطًا." #: frappe/core/doctype/data_import/data_import.py:124 msgid "Scheduler is inactive. Cannot import data." -msgstr "" +msgstr "المجدول غير نشط. لا يمكن استيراد البيانات." #: frappe/core/doctype/rq_job/rq_job_list.js:28 msgid "Scheduler: Active" -msgstr "" +msgstr "المجدول: نشط" #: frappe/core/doctype/rq_job/rq_job_list.js:30 msgid "Scheduler: Inactive" -msgstr "" +msgstr "المجدول: غير نشط" #. Label of the scope (Data) field in DocType 'OAuth Scope' #: frappe/integrations/doctype/oauth_scope/oauth_scope.json msgid "Scope" -msgstr "" +msgstr "نِطَاق" #. Label of the sb_scope_section (Section Break) field in DocType 'Connected #. App' @@ -22874,7 +23070,7 @@ msgstr "نطاقات" #. Label of the scopes_supported (Small Text) field in DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Scopes Supported" -msgstr "" +msgstr "النطاقات المدعومة" #. Label of the report_script (Code) field in DocType 'Report' #. Label of the script (Code) field in DocType 'Server Script' @@ -22909,24 +23105,24 @@ msgstr "نوع البرنامج النصي" #. Description of a DocType #: frappe/website/doctype/website_script/website_script.json msgid "Script to attach to all web pages." -msgstr "" +msgstr "نص برمجي لإرفاقه بجميع صفحات الويب." #. Label of a Card Break in the Build Workspace #. Label of the scripting_tab (Tab Break) field in DocType 'Web Page' #: frappe/core/workspace/build/build.json #: frappe/website/doctype/web_page/web_page.json msgid "Scripting" -msgstr "" +msgstr "كتابة البرامج النصية" #. Label of the section_break_6 (Section Break) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Scripting / Style" -msgstr "" +msgstr "كتابة النصوص / الأسلوب" #. Label of the scripts_section (Section Break) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json msgid "Scripts" -msgstr "" +msgstr "النصوص" #. Label of the search_section (Section Break) field in DocType 'System #. Settings' @@ -22935,13 +23131,13 @@ msgstr "" #: frappe/public/js/frappe/form/link_selector.js:46 #: frappe/public/js/frappe/list/list_sidebar_stat.html:4 #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:20 -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:246 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:282 #: frappe/public/js/frappe/ui/toolbar/search.js:49 #: frappe/public/js/frappe/ui/toolbar/search.js:68 #: frappe/templates/discussions/search.html:2 #: frappe/templates/includes/search_template.html:26 msgid "Search" -msgstr "" +msgstr "البحث" #. Label of the search_bar (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -22955,7 +23151,7 @@ msgstr "شريط البحث" msgid "Search Fields" msgstr "البحث الحقول" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:253 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:260 msgid "Search Help" msgstr "مساعدة البحث" @@ -22967,41 +23163,41 @@ msgstr "أولويات البحث" #: frappe/public/js/frappe/file_uploader/FileBrowser.vue:132 msgid "Search Results" -msgstr "" +msgstr "نتائج البحث" #: frappe/public/js/frappe/file_uploader/FileBrowser.vue:13 msgid "Search by filename or extension" -msgstr "" +msgstr "ابحث باستخدام اسم الملف أو امتداده" -#: frappe/core/doctype/doctype/doctype.py:1482 +#: frappe/core/doctype/doctype/doctype.py:1496 msgid "Search field {0} is not valid" msgstr "حقل البحث {0} غير صالح" #: frappe/public/js/print_format_builder/PrintFormatControls.vue:87 msgid "Search fields" -msgstr "" +msgstr "حقول البحث" #: frappe/public/js/form_builder/components/AddFieldButton.vue:19 msgid "Search fieldtypes..." -msgstr "" +msgstr "ابحث عن أنواع الحقول..." #: frappe/public/js/frappe/ui/toolbar/search.js:50 #: frappe/public/js/frappe/ui/toolbar/search.js:69 msgid "Search for anything" msgstr "البحث عن أي شيء" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:367 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:374 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:372 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:378 msgid "Search for {0}" -msgstr "" +msgstr "ابحث عن {0}" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:228 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:235 msgid "Search in a document type" msgstr "بحث في نوع الوثيقة" #: frappe/public/js/form_builder/components/SearchBox.vue:8 msgid "Search properties..." -msgstr "" +msgstr "ابحث عن العقارات..." #: frappe/templates/includes/search_box.html:8 msgid "Search results for" @@ -23020,7 +23216,7 @@ msgstr "جاري البحث ..." #: frappe/public/js/frappe/form/controls/duration.js:35 msgctxt "Duration" msgid "Seconds" -msgstr "" +msgstr "ثوانٍ" #. Option for the 'Type' (Select) field in DocType 'Web Template' #: frappe/public/js/form_builder/components/Section.vue:263 @@ -23050,32 +23246,32 @@ msgstr "قسم العنوان" #. Label of the section_id (Data) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Section ID" -msgstr "" +msgstr "معرف القسم" #: frappe/public/js/form_builder/components/Section.vue:28 #: frappe/public/js/print_format_builder/PrintFormatSection.vue:8 msgid "Section Title" -msgstr "" +msgstr "عنوان القسم" #: frappe/public/js/form_builder/components/Section.vue:217 #: frappe/public/js/form_builder/components/Section.vue:240 msgid "Section must have at least one column" -msgstr "" +msgstr "يجب أن يحتوي القسم على عمود واحد على الأقل" #. Label of the sb3 (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Security Settings" msgstr "إعدادات الأمان" -#: frappe/public/js/frappe/ui/notifications/notifications.js:340 +#: frappe/public/js/frappe/ui/notifications/notifications.js:349 msgid "See all Activity" -msgstr "" +msgstr "عرض جميع الأنشطة" -#: frappe/public/js/frappe/views/reports/query_report.js:866 +#: frappe/public/js/frappe/views/reports/query_report.js:883 msgid "See all past reports." msgstr "عرض جميع التقارير السابقة" -#: frappe/public/js/frappe/form/form.js:1247 +#: frappe/public/js/frappe/form/form.js:1276 #: frappe/website/doctype/contact_us_settings/contact_us_settings.js:4 msgid "See on Website" msgstr "ترى على الموقع" @@ -23083,7 +23279,7 @@ msgstr "ترى على الموقع" #: frappe/website/doctype/web_form/templates/web_form.html:160 msgctxt "Button in web form" msgid "See previous responses" -msgstr "" +msgstr "راجع الردود السابقة" #: frappe/integrations/doctype/slack_webhook_url/slack_webhook_url.py:49 msgid "See the document at {0}" @@ -23125,24 +23321,26 @@ msgstr "ينظر من خلال الجدول" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/report_column/report_column.json #: frappe/core/doctype/report_filter/report_filter.json +#: frappe/core/page/permission_manager/permission_manager_help.html:26 #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json -#: frappe/printing/page/print/print.js:661 +#: frappe/printing/page/print/print.js:669 #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Select" -msgstr "" +msgstr "حدد" -#: frappe/public/js/frappe/data_import/data_exporter.js:149 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:8 +#: frappe/public/js/frappe/data_import/data_exporter.js:150 #: frappe/public/js/frappe/form/controls/multicheck.js:167 #: frappe/public/js/frappe/form/controls/multiselect_list.js:6 -#: frappe/public/js/frappe/form/grid_row.js:497 -#: frappe/public/js/frappe/views/reports/report_view.js:1605 +#: frappe/public/js/frappe/form/grid_row.js:499 +#: frappe/public/js/frappe/views/reports/report_view.js:1606 msgid "Select All" -msgstr "" +msgstr "حدد الكل" -#: frappe/public/js/frappe/views/communication.js:168 -#: frappe/public/js/frappe/views/communication.js:592 +#: frappe/public/js/frappe/views/communication.js:202 +#: frappe/public/js/frappe/views/communication.js:653 #: frappe/public/js/frappe/views/interaction.js:93 #: frappe/public/js/frappe/views/interaction.js:155 msgid "Select Attachments" @@ -23158,17 +23356,17 @@ msgid "Select Column" msgstr "حدد العمود" #: frappe/printing/page/print_format_builder/print_format_builder_field.html:42 -#: frappe/public/js/frappe/form/print_utils.js:73 +#: frappe/public/js/frappe/form/print_utils.js:74 msgid "Select Columns" msgstr "تحديد الأعمدة" #: frappe/desk/page/setup_wizard/setup_wizard.js:399 msgid "Select Country" -msgstr "" +msgstr "اختر البلد" #: frappe/desk/page/setup_wizard/setup_wizard.js:415 msgid "Select Currency" -msgstr "" +msgstr "اختر العملة" #. Label of the dashboard_name (Link) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json @@ -23202,43 +23400,43 @@ msgstr "حدد نوع الوثيقة" msgid "Select Document Type or Role to start." msgstr "حدد نوع الوثيقة أو دور للبدء." -#: frappe/core/page/permission_manager/permission_manager_help.html:34 +#: frappe/core/page/permission_manager/permission_manager_help.html:101 msgid "Select Document Types to set which User Permissions are used to limit access." -msgstr "" +msgstr "حدد أنواع المستندات لتعيين أذونات المستخدم التي يتم استخدامها لتقييد الوصول." #: frappe/public/js/form_builder/components/controls/FetchFromControl.vue:33 #: frappe/public/js/frappe/doctype/index.js:207 -#: frappe/public/js/frappe/form/toolbar.js:871 +#: frappe/public/js/frappe/form/toolbar.js:874 msgid "Select Field" msgstr "اختر المجال" #: frappe/public/js/frappe/ui/group_by/group_by.html:35 #: frappe/public/js/frappe/ui/group_by/group_by.js:141 msgid "Select Field..." -msgstr "" +msgstr "اختر المجال..." -#: frappe/public/js/frappe/form/grid_row.js:489 +#: frappe/public/js/frappe/form/grid_row.js:491 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:181 msgid "Select Fields" msgstr "حدد الحقول" #: frappe/public/js/frappe/list/list_settings.js:234 msgid "Select Fields (Up to {0})" -msgstr "" +msgstr "تحديد الحقول (حتى {0})" -#: frappe/public/js/frappe/data_import/data_exporter.js:147 +#: frappe/public/js/frappe/data_import/data_exporter.js:148 msgid "Select Fields To Insert" msgstr "حدد الحقول المطلوب إدراجها" -#: frappe/public/js/frappe/data_import/data_exporter.js:148 +#: frappe/public/js/frappe/data_import/data_exporter.js:149 msgid "Select Fields To Update" msgstr "حدد الحقول المراد تحديثها" -#: frappe/public/js/frappe/list/list_view.js:1994 +#: frappe/public/js/frappe/list/list_view.js:2002 msgid "Select Filters" msgstr "اختر المرشحات" -#: frappe/desk/doctype/event/event.py:107 +#: frappe/desk/doctype/event/event.py:112 msgid "Select Google Calendar to which event should be synced." msgstr "حدد تقويم Google للحدث الذي يجب مزامنته." @@ -23248,11 +23446,11 @@ msgstr "حدد جهات اتصال Google التي يجب مزامنتها مع #: frappe/public/js/frappe/ui/group_by/group_by.html:10 msgid "Select Group By..." -msgstr "" +msgstr "حدد التجميع حسب..." #: frappe/public/js/frappe/list/list_view_select.js:167 msgid "Select Kanban" -msgstr "" +msgstr "حدد كانبان" #: frappe/desk/page/setup_wizard/setup_wizard.js:391 msgid "Select Language" @@ -23261,28 +23459,28 @@ msgstr "اختار اللغة" #. Label of the list_name (Select) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Select List View" -msgstr "" +msgstr "عرض قائمة التحديد" -#: frappe/public/js/frappe/data_import/data_exporter.js:158 +#: frappe/public/js/frappe/data_import/data_exporter.js:159 msgid "Select Mandatory" msgstr "حدد إلزامية" -#: frappe/custom/doctype/customize_form/customize_form.js:280 +#: frappe/custom/doctype/customize_form/customize_form.js:290 msgid "Select Module" msgstr "اختر وحدة" -#: frappe/printing/page/print/print.js:189 -#: frappe/printing/page/print/print.js:644 +#: frappe/printing/page/print/print.js:197 +#: frappe/printing/page/print/print.js:652 msgid "Select Network Printer" -msgstr "" +msgstr "حدد طابعة الشبكة" #. Label of the page_name (Link) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Select Page" -msgstr "" +msgstr "اختر الصفحة" #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:68 -#: frappe/public/js/frappe/views/communication.js:151 +#: frappe/public/js/frappe/views/communication.js:178 msgid "Select Print Format" msgstr "حدد تنسيق طباعة" @@ -23293,7 +23491,7 @@ msgstr "حدد تنسيق طباعة إلى تحرير" #. Label of the report_name (Link) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Select Report" -msgstr "" +msgstr "حدد التقرير" #: frappe/printing/page/print_format_builder/print_format_builder.js:631 msgid "Select Table Columns for {0}" @@ -23301,7 +23499,7 @@ msgstr "تحديد الأعمدة الجدول ل{0}" #: frappe/desk/page/setup_wizard/setup_wizard.js:408 msgid "Select Time Zone" -msgstr "" +msgstr "اختر المنطقة الزمنية" #. Label of the transaction_type (Autocomplete) field in DocType 'Document #. Naming Settings' @@ -23311,18 +23509,18 @@ msgstr "حدد المعاملات" #: frappe/workflow/page/workflow_builder/workflow_builder.js:68 msgid "Select Workflow" -msgstr "" +msgstr "حدد سير العمل" #. Label of the workspace_name (Link) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Select Workspace" -msgstr "" +msgstr "حدد مساحة العمل" #. Label of the select_workspaces_section (Section Break) field in DocType #. 'Workspace Settings' #: frappe/desk/doctype/workspace_settings/workspace_settings.json msgid "Select Workspaces" -msgstr "" +msgstr "حدد مساحات العمل" #: frappe/website/doctype/website_settings/website_settings.js:23 msgid "Select a Brand Image first." @@ -23334,27 +23532,27 @@ msgstr "أختر DocType لتنشئ تنسيق جديد" #: frappe/public/js/form_builder/components/Sidebar.vue:53 msgid "Select a field to edit its properties." -msgstr "" +msgstr "حدد حقلاً لتعديل خصائصه." #: frappe/public/js/frappe/views/treeview.js:358 msgid "Select a group {0} first." -msgstr "" +msgstr "حدد مجموعة {0} أولاً." -#: frappe/core/doctype/doctype/doctype.py:1977 +#: frappe/core/doctype/doctype/doctype.py:2041 msgid "Select a valid Sender Field for creating documents from Email" msgstr "حدد حقل مرسل صالحًا لإنشاء المستندات من البريد الإلكتروني" -#: frappe/core/doctype/doctype/doctype.py:1961 +#: frappe/core/doctype/doctype/doctype.py:2025 msgid "Select a valid Subject field for creating documents from Email" msgstr "حدد حقل موضوع صالحًا لإنشاء المستندات من البريد الإلكتروني" #: frappe/public/js/frappe/form/form_tour.js:321 msgid "Select an Image" -msgstr "" +msgstr "اختر صورة" #: frappe/printing/page/print_format_builder/print_format_builder_start.html:2 msgid "Select an existing format to edit or start a new format." -msgstr "" +msgstr "حدد تنسيقًا موجودًا لتعديله أو ابدأ تنسيقًا جديدًا." #. Description of the 'Brand Image' (Attach Image) field in DocType 'Website #. Settings' @@ -23370,13 +23568,13 @@ msgstr "اختر أتلست سجل 1 للطباعة" msgid "Select atleast 2 actions" msgstr "حدد على الأقل 2 الإجراءات" -#: frappe/public/js/frappe/list/list_view.js:1455 +#: frappe/public/js/frappe/list/list_view.js:1463 msgctxt "Description of a list view shortcut" msgid "Select list item" msgstr "حدد عنصر القائمة" -#: frappe/public/js/frappe/list/list_view.js:1407 -#: frappe/public/js/frappe/list/list_view.js:1423 +#: frappe/public/js/frappe/list/list_view.js:1415 +#: frappe/public/js/frappe/list/list_view.js:1431 msgctxt "Description of a list view shortcut" msgid "Select multiple list items" msgstr "حدد عناصر قائمة متعددة" @@ -23391,7 +23589,7 @@ msgstr "اختر سجلات التعيين" #: frappe/public/js/frappe/list/bulk_operations.js:260 msgid "Select records for removing assignment" -msgstr "" +msgstr "حدد السجلات لإزالة التعيين" #. Description of the 'Insert After' (Select) field in DocType 'Custom Field' #: frappe/custom/doctype/custom_field/custom_field.json @@ -23400,7 +23598,7 @@ msgstr "حدد التسمية بعد الذي تريد إدراج حقل جدي #: frappe/public/js/frappe/utils/diffview.js:102 msgid "Select two versions to view the diff." -msgstr "" +msgstr "اختر نسختين لعرض الفرق." #: frappe/public/js/frappe/form/link_selector.js:24 #: frappe/public/js/frappe/form/multi_select_dialog.js:80 @@ -23410,18 +23608,18 @@ msgstr "" msgid "Select {0}" msgstr "حدد {0}" -#: frappe/model/workflow.py:120 +#: frappe/model/workflow.py:138 msgid "Self approval is not allowed" msgstr "الموافقة الذاتية غير مسموح بها" #: frappe/www/contact.html:41 msgid "Send" -msgstr "" +msgstr "إرسال" #: frappe/public/js/frappe/views/communication.js:26 msgctxt "Send Email" msgid "Send" -msgstr "" +msgstr "إرسال" #. Description of the 'Minutes Offset' (Int) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -23440,6 +23638,11 @@ msgstr "إرسال بعد" msgid "Send Alert On" msgstr "إرسال تنبيه في" +#. Label of the raw_html (Check) field in DocType 'Email Queue' +#: frappe/email/doctype/email_queue/email_queue.json +msgid "Send As Raw HTML" +msgstr "إرسال كـ HTML خام" + #. Label of the send_email_alert (Check) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Send Email Alert" @@ -23448,7 +23651,7 @@ msgstr "إرسال تنبيه عبر البريد الإلكتروني" #. Label of the send_email (Check) field in DocType 'Workflow Document State' #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json msgid "Send Email On State" -msgstr "" +msgstr "إرسال بريد إلكتروني في الولاية" #. Description of the 'Send Print as PDF' (Check) field in DocType 'Print #. Settings' @@ -23460,7 +23663,7 @@ msgstr "إرسال البريد الإلكتروني المرفقات طباعة #. Transition' #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Send Email To Creator" -msgstr "" +msgstr "أرسل بريدًا إلكترونيًا إلى المُنشئ" #. Label of the send_me_a_copy (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -23485,14 +23688,14 @@ msgstr "إرسال إخطارات لمواضيع البريد الإلكترون #: frappe/email/doctype/auto_email_report/auto_email_report.js:21 msgid "Send Now" -msgstr "" +msgstr "أرسل الآن" #. Label of the send_print_as_pdf (Check) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Send Print as PDF" msgstr "إرسال الطباعة بصيغة PDF" -#: frappe/public/js/frappe/views/communication.js:141 +#: frappe/public/js/frappe/views/communication.js:168 msgid "Send Read Receipt" msgstr "إرسال مقروءة إيصال" @@ -23521,7 +23724,7 @@ msgstr "إرسال تنبيه إذا تاريخ توافق مع قيمة هذا #. 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Send alert if datetime matches this field's value" -msgstr "" +msgstr "أرسل تنبيهًا إذا تطابق التاريخ والوقت مع قيمة هذا الحقل" #. Description of the 'Value Changed' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -23543,7 +23746,7 @@ msgstr "إرسال أيام قبل أو بعد التاريخ المرجعي" #. Document State' #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json msgid "Send email when document transitions to the state." -msgstr "" +msgstr "إرسال بريد إلكتروني عند انتقال المستند إلى الولاية." #. Description of the 'Forward To Email Address' (Data) field in DocType #. 'Contact Us Settings' @@ -23553,9 +23756,9 @@ msgstr "إرسال الاستفسارات إلى عنوان البريد الإ #: frappe/templates/includes/login/login.js:72 frappe/www/login.html:220 msgid "Send login link" -msgstr "" +msgstr "أرسل رابط تسجيل الدخول" -#: frappe/public/js/frappe/views/communication.js:135 +#: frappe/public/js/frappe/views/communication.js:162 msgid "Send me a copy" msgstr "أرسل لي نسخة" @@ -23580,47 +23783,47 @@ msgstr "إرسال رسالة إلغاء الاشتراك في البريد ال #: frappe/email/doctype/email_queue/email_queue.json #: frappe/email/doctype/notification/notification.json msgid "Sender" -msgstr "" +msgstr "مرسل" #. Label of the sender_email (Data) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Sender Email" -msgstr "" +msgstr "البريد الإلكتروني المرسل" #. Label of the sender_field (Data) field in DocType 'DocType' #. Label of the sender_field (Data) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Sender Email Field" -msgstr "" +msgstr "حقل البريد الإلكتروني للمرسل" -#: frappe/core/doctype/doctype/doctype.py:1980 +#: frappe/core/doctype/doctype/doctype.py:2044 msgid "Sender Field should have Email in options" msgstr "يجب أن يحتوي حقل المرسل على البريد الإلكتروني في الخيارات" #. Label of the sender_name (Data) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "Sender Name" -msgstr "" +msgstr "اسم المرسل" #. Label of the sender_name_field (Data) field in DocType 'DocType' #. Label of the sender_name_field (Data) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Sender Name Field" -msgstr "" +msgstr "حقل اسم المرسل" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Sendgrid" -msgstr "" +msgstr "سيندغريد" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #. Option for the 'Status' (Select) field in DocType 'Email Queue' #: frappe/core/doctype/communication/communication.json #: frappe/email/doctype/email_queue/email_queue.json msgid "Sending" -msgstr "" +msgstr "إرسال" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #. Option for the 'Sent or Received' (Select) field in DocType 'Communication' @@ -23637,12 +23840,12 @@ msgstr "أرسلت" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_domain/email_domain.json msgid "Sent Folder Name" -msgstr "" +msgstr "اسم المجلد المرسل" #. Label of the sent_on (Date) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "Sent On" -msgstr "" +msgstr "تم الإرسال" #. Label of the read_receipt (Check) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -23652,7 +23855,7 @@ msgstr "أرسلت مقروءة إيصال" #. Label of the sent_to (Code) field in DocType 'SMS Log' #: frappe/core/doctype/sms_log/sms_log.json msgid "Sent To" -msgstr "" +msgstr "أُرسل إلى" #. Label of the sent_or_received (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -23672,7 +23875,7 @@ msgstr "فاصل" #. Label of the sequence_id (Float) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "Sequence Id" -msgstr "" +msgstr "معرف التسلسل" #. Label of the naming_series_options (Text) field in DocType 'Document Naming #. Settings' @@ -23682,13 +23885,13 @@ msgstr "قائمة متسلسلة لهذه العملية" #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:115 msgid "Series Updated for {}" -msgstr "" +msgstr "تم تحديث السلسلة لـ {}" #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:223 msgid "Series counter for {} updated to {} successfully" -msgstr "" +msgstr "تم تحديث عداد السلسلة لـ {} إلى {} بنجاح" -#: frappe/core/doctype/doctype/doctype.py:1124 +#: frappe/core/doctype/doctype/doctype.py:1127 #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:170 msgid "Series {0} already used in {1}" msgstr "الترقيم المتسلسل {0} مستخدم بالفعل في {1}" @@ -23698,7 +23901,7 @@ msgstr "الترقيم المتسلسل {0} مستخدم بالفعل في {1}" msgid "Server Action" msgstr "عمل الخادم" -#: frappe/app.py:399 frappe/public/js/frappe/request.js:611 +#: frappe/app.py:399 frappe/public/js/frappe/request.js:609 #: frappe/www/error.html:36 frappe/www/error.py:15 msgid "Server Error" msgstr "خطأ في الخادم" @@ -23719,19 +23922,23 @@ msgstr "خادم النصي" #: frappe/utils/safe_exec.py:98 msgid "Server Scripts are disabled. Please enable server scripts from bench configuration." -msgstr "" +msgstr "تم تعطيل البرامج النصية للخادم. يرجى تفعيل البرامج النصية للخادم من إعدادات لوحة التحكم." #: frappe/core/doctype/server_script/server_script.js:39 msgid "Server Scripts feature is not available on this site." -msgstr "" +msgstr "ميزة البرامج النصية للخادم غير متوفرة على هذا الموقع." -#: frappe/public/js/frappe/request.js:254 +#: frappe/public/js/frappe/file_uploader/FileUploader.vue:641 +msgid "Server error during upload. The file might be corrupted." +msgstr "حدث خطأ في الخادم أثناء التحميل. قد يكون الملف تالفاً." + +#: frappe/public/js/frappe/request.js:252 msgid "Server failed to process this request because of a concurrent conflicting request. Please try again." -msgstr "" +msgstr "فشل الخادم في معالجة هذا الطلب بسبب وجود طلب متزامن متعارض. يرجى المحاولة مرة أخرى." -#: frappe/public/js/frappe/request.js:246 +#: frappe/public/js/frappe/request.js:244 msgid "Server was too busy to process this request. Please try again." -msgstr "" +msgstr "كان الخادم مشغولاً للغاية بحيث لم يتمكن من معالجة هذا الطلب. يرجى المحاولة مرة أخرى." #. Label of the service (Select) field in DocType 'Email Account' #. Label of the integration_request_service (Data) field in DocType @@ -23739,13 +23946,13 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Service" -msgstr "" +msgstr "خدمة" #. Label of the session_created (Datetime) field in DocType 'User Session #. Display' #: frappe/core/doctype/user_session_display/user_session_display.json msgid "Session Created" -msgstr "" +msgstr "تم إنشاء الجلسة" #. Name of a DocType #: frappe/core/doctype/session_default/session_default.json @@ -23757,16 +23964,14 @@ msgstr "الجلسة الافتراضية" msgid "Session Default Settings" msgstr "إعدادات الجلسة الافتراضية" -#. Label of a standard navbar item -#. Type: Action #. Label of the session_defaults (Table) field in DocType 'Session Default #. Settings' #: frappe/core/doctype/session_default_settings/session_default_settings.json -#: frappe/hooks.py frappe/public/js/frappe/ui/toolbar/toolbar.js:266 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:251 msgid "Session Defaults" msgstr "الجلسة الافتراضية" -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:251 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:236 msgid "Session Defaults Saved" msgstr "تم حفظ الإعدادات الافتراضية للجلسة" @@ -23777,7 +23982,7 @@ msgstr "انتهت الجلسة" #. Label of the session_expiry (Data) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Session Expiry (idle timeout)" -msgstr "" +msgstr "انتهاء صلاحية الجلسة (مهلة الخمول)" #: frappe/core/doctype/system_settings/system_settings.py:125 msgid "Session Expiry must be in format {0}" @@ -23786,7 +23991,7 @@ msgstr "يجب أن يكون انتهاء الجلسة بالتنسيق {0}" #. Label of the sessions_tab (Tab Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Sessions" -msgstr "" +msgstr "الجلسات" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:400 #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:487 @@ -23807,7 +24012,7 @@ msgstr "مجموعة" msgid "Set Banner from Image" msgstr "تعيين ترويسة من الصورة" -#: frappe/public/js/frappe/views/reports/query_report.js:200 +#: frappe/public/js/frappe/views/reports/query_report.js:201 msgid "Set Chart" msgstr "مجموعة الرسم البياني" @@ -23833,19 +24038,19 @@ msgstr "ضبط المرشحات" msgid "Set Filters for {0}" msgstr "تعيين عوامل التصفية لـ {0}" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 msgid "Set Level" -msgstr "" +msgstr "ضبط المستوى" #: frappe/core/doctype/user_type/user_type.py:92 msgid "Set Limit" -msgstr "" +msgstr "تحديد الحد" #. Description of the 'Setup Series for transactions' (Section Break) field in #. DocType 'Document Naming Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Set Naming Series options on your transactions." -msgstr "" +msgstr "قم بتعيين خيارات سلسلة التسمية في معاملاتك." #. Label of the new_password (Password) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -23866,7 +24071,7 @@ msgstr "تعيين أذونات" #: frappe/printing/page/print_format_builder/print_format_builder.js:471 msgid "Set Properties" -msgstr "" +msgstr "تعيين الخصائص" #. Label of the property_section (Section Break) field in DocType #. 'Notification' @@ -23876,10 +24081,10 @@ msgstr "" msgid "Set Property After Alert" msgstr "تعيين الملكية بعد تنبيه" -#: frappe/public/js/frappe/form/link_selector.js:207 -#: frappe/public/js/frappe/form/link_selector.js:208 +#: frappe/public/js/frappe/form/link_selector.js:216 +#: frappe/public/js/frappe/form/link_selector.js:217 msgid "Set Quantity" -msgstr "" +msgstr "ضبط الكمية" #. Label of the set_role_for (Select) field in DocType 'Role Permission for #. Page and Report' @@ -23897,14 +24102,14 @@ msgstr "تعيين صلاحيات المستخدم" msgid "Set Value" msgstr "تعيين القيمة" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:96 -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:155 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:103 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:162 msgid "Set all private" -msgstr "" +msgstr "اجعل جميع الإعدادات خاصة" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:96 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:103 msgid "Set all public" -msgstr "" +msgstr "تعيين جميع البيانات العامة" #: frappe/printing/doctype/print_format/print_format.js:50 msgid "Set as Default" @@ -23919,11 +24124,11 @@ msgstr "تعيين كالموضوع الافتراضي" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Set by user" -msgstr "" +msgstr "يتم تعيينه بواسطة المستخدم" #: frappe/public/js/frappe/utils/dashboard_utils.js:162 msgid "Set dynamic filter values in JavaScript for the required fields here." -msgstr "" +msgstr "قم بتعيين قيم التصفية الديناميكية في جافا سكريبت للحقول المطلوبة هنا." #. Description of the 'Precision' (Select) field in DocType 'Custom Field' #. Description of the 'Precision' (Select) field in DocType 'Customize Form @@ -23938,17 +24143,17 @@ msgstr "تعيين الدقة غير القياسية لحقل تعويم أو #. Description of the 'Precision' (Select) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Set non-standard precision for a Float, Currency or Percent field" -msgstr "" +msgstr "قم بتعيين دقة غير قياسية لحقل من نوع Float أو Currency أو Percent" #. Label of the set_only_once (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Set only once" -msgstr "" +msgstr "قم بالتعيين مرة واحدة فقط" #. Description of the 'Max attachment size' (Int) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Set size in MB" -msgstr "" +msgstr "حدد الحجم بالميغابايت" #. Description of the 'Filters Configuration' (Code) field in DocType 'Number #. Card' @@ -24006,12 +24211,12 @@ msgstr "إعداد النظام الخاص بك" #: frappe/core/doctype/doctype/doctype.json frappe/core/doctype/user/user.json #: frappe/integrations/workspace/integrations/integrations.json #: frappe/public/js/frappe/form/templates/print_layout.html:25 -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:224 -#: frappe/public/js/frappe/views/workspace/workspace.js:376 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:209 +#: frappe/public/js/frappe/views/workspace/workspace.js:424 #: frappe/website/doctype/web_form/web_form.json #: frappe/website/doctype/web_page/web_page.json frappe/www/me.html:20 msgid "Settings" -msgstr "" +msgstr "إعدادات" #. Label of the settings_dropdown (Table) field in DocType 'Navbar Settings' #: frappe/core/doctype/navbar_settings/navbar_settings.json @@ -24021,33 +24226,33 @@ msgstr "قائمة الإعدادات المنسدلة" #. Description of a DocType #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Settings for Contact Us Page" -msgstr "" +msgstr "إعدادات صفحة اتصل بنا" #. Description of a DocType #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "Settings for the About Us Page" -msgstr "" +msgstr "إعدادات صفحة \"نبذة عنا\"" #. Option for the 'Show in Module Section' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:611 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:581 msgid "Setup" msgstr "الإعدادات" -#: frappe/core/page/permission_manager/permission_manager_help.html:27 +#: frappe/core/page/permission_manager/permission_manager_help.html:94 msgid "Setup > Customize Form" -msgstr "" +msgstr "الإعداد > تخصيص النموذج" #: frappe/core/page/permission_manager/permission_manager_help.html:8 msgid "Setup > User" -msgstr "" +msgstr "الإعداد > المستخدم" -#: frappe/core/page/permission_manager/permission_manager_help.html:33 +#: frappe/core/page/permission_manager/permission_manager_help.html:100 msgid "Setup > User Permissions" -msgstr "" +msgstr "الإعدادات > أذونات المستخدم" -#: frappe/public/js/frappe/views/reports/query_report.js:1856 -#: frappe/public/js/frappe/views/reports/report_view.js:1717 +#: frappe/public/js/frappe/views/reports/query_report.js:1905 +#: frappe/public/js/frappe/views/reports/report_view.js:1718 msgid "Setup Auto Email" msgstr "الإعداد التلقائي البريد الإلكتروني" @@ -24061,11 +24266,11 @@ msgstr "الإعداد كاملة" #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Setup Series for transactions" -msgstr "" +msgstr "سلسلة الإعداد للمعاملات" #: frappe/desk/page/setup_wizard/setup_wizard.js:236 msgid "Setup failed" -msgstr "" +msgstr "فشل الإعداد" #. Label of the share (Check) field in DocType 'Custom DocPerm' #. Label of the share (Check) field in DocType 'DocPerm' @@ -24076,21 +24281,22 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:76 #: frappe/desk/doctype/notification_log/notification_log.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:112 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:133 #: frappe/public/js/frappe/form/templates/set_sharing.html:5 msgid "Share" msgstr "مشاركة" -#: frappe/public/js/frappe/form/sidebar/share.js:108 +#: frappe/public/js/frappe/form/sidebar/share.js:114 msgid "Share With" msgstr "مشاركة مع" #: frappe/public/js/frappe/form/templates/set_sharing.html:63 msgid "Share this document with" -msgstr "" +msgstr "شارك هذا المستند مع" -#: frappe/public/js/frappe/form/sidebar/share.js:45 +#: frappe/public/js/frappe/form/sidebar/share.js:51 msgid "Share {0} with" msgstr "مشاركة {0} مع" @@ -24110,7 +24316,7 @@ msgstr "الشحن" #: frappe/public/js/frappe/form/templates/address_list.html:31 msgid "Shipping Address" -msgstr "" +msgstr "عنوان الشحن" #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -24143,33 +24349,27 @@ msgstr "تبين" #: frappe/core/doctype/system_settings/system_settings.json #: frappe/core/doctype/user/user.json msgid "Show Absolute Datetime in Timeline" -msgstr "" +msgstr "عرض التاريخ والوقت المطلقين في المخطط الزمني" #. Label of the absolute_value (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Show Absolute Values" -msgstr "" +msgstr "عرض القيم المطلقة" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:93 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:114 msgid "Show All" -msgstr "" - -#. Label of the show_app_icons_as_folder (Check) field in DocType 'Desktop -#. Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Show App Icons As Folder" -msgstr "" +msgstr "عرض الكل" #. Label of the show_arrow (Check) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Show Arrow" -msgstr "" +msgstr "إظهار السهم" #. Label of the show_auth_server_metadata (Check) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Show Auth Server Metadata" -msgstr "" +msgstr "عرض بيانات تعريف خادم المصادقة" #: frappe/desk/doctype/calendar_view/calendar_view.js:10 msgid "Show Calendar" @@ -24178,7 +24378,7 @@ msgstr "إظهار التقويم" #. Label of the symbol_on_right (Check) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json msgid "Show Currency Symbol on Right Side" -msgstr "" +msgstr "إظهار رمز العملة على الجانب الأيمن" #. Label of the show_dashboard (Check) field in DocType 'DocField' #. Label of the show_dashboard (Check) field in DocType 'Custom Field' @@ -24197,22 +24397,22 @@ msgstr "عرض المستند" #: frappe/www/error.html:42 frappe/www/error.html:65 msgid "Show Error" -msgstr "" +msgstr "إظهار الخطأ" #. Label of the show_external_link_warning (Select) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Show External Link Warning" -msgstr "" +msgstr "إظهار تحذير الروابط الخارجية" -#: frappe/public/js/frappe/form/layout.js:603 +#: frappe/public/js/frappe/form/layout.js:597 msgid "Show Fieldname (click to copy on clipboard)" -msgstr "" +msgstr "إظهار اسم الحقل (انقر للنسخ إلى الحافظة)" #. Label of the first_document (Check) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Show First Document Tour" -msgstr "" +msgstr "جولة عرض المستند الأول" #. Option for the 'Action' (Select) field in DocType 'Onboarding Step' #. Label of the show_form_tour (Check) field in DocType 'Onboarding Step' @@ -24234,7 +24434,7 @@ msgstr "إظهار الشكل الكامل؟" #. Label of the show_full_number (Check) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json msgid "Show Full Number" -msgstr "" +msgstr "إظهار الرقم الكامل" #: frappe/public/js/frappe/ui/keyboard.js:234 msgid "Show Keyboard Shortcuts" @@ -24244,27 +24444,27 @@ msgstr "إظهار اختصارات لوحة المفاتيح" #: frappe/desk/doctype/kanban_board/kanban_board.json #: frappe/public/js/frappe/views/kanban/kanban_settings.js:30 msgid "Show Labels" -msgstr "" +msgstr "عرض التصنيفات" #. Label of the show_language_picker (Check) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Show Language Picker" -msgstr "" +msgstr "إظهار منتقي اللغة" #. Label of the line_breaks (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Show Line Breaks after Sections" msgstr "فواصل عرض الخط بعد الأقسام" -#: frappe/public/js/frappe/form/toolbar.js:443 +#: frappe/public/js/frappe/form/toolbar.js:433 msgid "Show Links" -msgstr "" +msgstr "عرض الروابط" #. Label of the show_failed_logs (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Show Only Failed Logs" -msgstr "" +msgstr "عرض سجلات الأخطاء فقط" #. Label of the show_percentage_stats (Check) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json @@ -24280,7 +24480,7 @@ msgstr "مشاهدة ضوابط" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:18 #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:54 msgid "Show Preview" -msgstr "" +msgstr "عرض معاينة" #. Label of the show_preview_popup (Check) field in DocType 'DocType' #. Label of the show_preview_popup (Check) field in DocType 'Customize Form' @@ -24292,17 +24492,17 @@ msgstr "إظهار معاينة المنبثقة" #. Label of the show_processlist (Check) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json msgid "Show Processlist" -msgstr "" +msgstr "عرض قائمة العمليات" #. Label of the show_protected_resource_metadata (Check) field in DocType #. 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Show Protected Resource Metadata" -msgstr "" +msgstr "عرض بيانات تعريف الموارد المحمية" #: frappe/core/doctype/error_log/error_log.js:9 msgid "Show Related Errors" -msgstr "" +msgstr "عرض الأخطاء ذات الصلة" #. Label of the show_report (Button) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json @@ -24325,7 +24525,7 @@ msgstr "مشاهدة الشريط الجانبي" #. DocType 'OAuth Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Show Social Login Key as Authorization Server" -msgstr "" +msgstr "عرض مفتاح تسجيل الدخول عبر وسائل التواصل الاجتماعي كخادم مصادقة" #. Label of the show_tags (Check) field in DocType 'List View Settings' #: frappe/desk/doctype/list_view_settings/list_view_settings.json @@ -24343,7 +24543,7 @@ msgstr "اظهار العنوان" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Show Title in Link Fields" -msgstr "" +msgstr "عرض العنوان في حقول الروابط" #: frappe/public/js/frappe/views/reports/report_view.js:1523 msgid "Show Totals" @@ -24351,17 +24551,17 @@ msgstr "مشاهدة المجاميع" #: frappe/desk/doctype/form_tour/form_tour.js:116 msgid "Show Tour" -msgstr "" +msgstr "جولة تعريفية" #: frappe/core/doctype/data_import/data_import.js:474 msgid "Show Traceback" -msgstr "" +msgstr "عرض تتبع الأخطاء" #. Label of the show_values_over_chart (Check) field in DocType 'Dashboard #. Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json msgid "Show Values over Chart" -msgstr "" +msgstr "عرض القيم فوق الرسم البياني" #: frappe/public/js/frappe/data_import/import_preview.js:204 msgid "Show Warnings" @@ -24375,15 +24575,15 @@ msgstr "عرض عطلة نهاية الاسبوع" #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Show account deletion link in My Account page" -msgstr "" +msgstr "إظهار رابط حذف الحساب في صفحة حسابي" -#: frappe/core/doctype/version/version.js:6 +#: frappe/core/doctype/version/version.js:3 msgid "Show all Versions" msgstr "عرض كل الإصدارات" #: frappe/public/js/frappe/form/footer/form_timeline.js:69 msgid "Show all activity" -msgstr "" +msgstr "عرض جميع الأنشطة" #. Label of the show_as_cc (Small Text) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json @@ -24393,13 +24593,13 @@ msgstr "كما تظهر سم مكعب" #. Label of the show_attachments (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Show attachments" -msgstr "" +msgstr "عرض المرفقات" #. Label of the show_footer_on_login (Check) field in DocType 'Website #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Show footer on login" -msgstr "" +msgstr "عرض التذييل عند تسجيل الدخول" #. Description of the 'Show Full Form?' (Check) field in DocType 'Onboarding #. Step' @@ -24416,7 +24616,7 @@ msgstr "تظهر في القسم وحدة" #. Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "Show in Resource Metadata" -msgstr "" +msgstr "عرض في بيانات تعريف الموارد" #. Label of the show_in_filter (Check) field in DocType 'Web Form Field' #: frappe/website/doctype/web_form_field/web_form_field.json @@ -24426,12 +24626,12 @@ msgstr "اعرض في الفلتر" #. Label of the show_document_link (Check) field in DocType 'Slack Webhook URL' #: frappe/integrations/doctype/slack_webhook_url/slack_webhook_url.json msgid "Show link to document" -msgstr "" +msgstr "عرض رابط المستند" #. Label of the show_list (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Show list" -msgstr "" +msgstr "عرض القائمة" #: frappe/public/js/frappe/form/layout.js:283 #: frappe/public/js/frappe/form/layout.js:301 @@ -24441,7 +24641,7 @@ msgstr "إظهار مزيد من التفاصيل" #. Label of the show_on_timeline (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Show on Timeline" -msgstr "" +msgstr "عرض على الجدول الزمني" #. Description of the 'Stats Time Interval' (Select) field in DocType 'Number #. Card' @@ -24452,7 +24652,7 @@ msgstr "إظهار فرق النسبة المئوية وفقًا لهذا الف #. Label of the show_sidebar (Check) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Show sidebar" -msgstr "" +msgstr "إظهار الشريط الجانبي" #. Description of the 'Title Prefix' (Data) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -24461,7 +24661,7 @@ msgstr "اظهار العنوان في نافذة المتصفح كما \"باد #: frappe/public/js/frappe/widgets/onboarding_widget.js:148 msgid "Show {0} List" -msgstr "" +msgstr "عرض قائمة {0}" #: frappe/public/js/frappe/views/reports/report_view.js:500 msgid "Showing only Numeric fields from Report" @@ -24469,7 +24669,7 @@ msgstr "عرض حقول رقمية فقط من التقرير" #: frappe/public/js/frappe/data_import/import_preview.js:153 msgid "Showing only first {0} rows out of {1}" -msgstr "" +msgstr "عرض أول {0} صف فقط من أصل {1}" #. Label of the list_sidebar (Check) field in DocType 'User' #. Label of the form_sidebar (Check) field in DocType 'User' @@ -24486,12 +24686,12 @@ msgstr "الشريط الجانبي" #: frappe/desk/doctype/sidebar_item_group/sidebar_item_group.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Sidebar Item Group" -msgstr "" +msgstr "مجموعة عناصر الشريط الجانبي" #. Name of a DocType #: frappe/desk/doctype/sidebar_item_group_link/sidebar_item_group_link.json msgid "Sidebar Item Group Link" -msgstr "" +msgstr "رابط مجموعة عناصر الشريط الجانبي" #. Label of the sidebar_items (Table) field in DocType 'Website Sidebar' #: frappe/website/doctype/website_sidebar/website_sidebar.json @@ -24511,15 +24711,15 @@ msgstr "الشريط الجانبي وتعليقات" #. Label of the sign_out (Button) field in DocType 'User Session Display' #: frappe/core/doctype/user_session_display/user_session_display.json msgid "Sign Out" -msgstr "" +msgstr "تسجيل الخروج" #. Label of the sign_up_and_confirmation_section (Section Break) field in #. DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json msgid "Sign Up and Confirmation" -msgstr "" +msgstr "التسجيل والتأكيد" -#: frappe/core/doctype/user/user.py:1076 +#: frappe/core/doctype/user/user.py:1079 msgid "Sign Up is disabled" msgstr "تم تعطيل الاشتراك" @@ -24531,7 +24731,7 @@ msgstr "سجل" #. Label of the sign_ups (Select) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "Sign ups" -msgstr "" +msgstr "التسجيلات" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -24591,20 +24791,20 @@ msgstr "أنواع واحد يكون سجل واحد فقط لا الجداول #: frappe/database/database.py:285 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 "" +msgstr "الموقع يعمل في وضع القراءة فقط لأغراض الصيانة أو التحديث، ولا يمكن تنفيذ هذا الإجراء حاليًا. يرجى المحاولة مرة أخرى لاحقًا." #: frappe/public/js/frappe/views/file/file_view.js:371 msgid "Size" -msgstr "" +msgstr "حجم" #. Label of the size (Float) field in DocType 'System Health Report Tables' #: frappe/desk/doctype/system_health_report_tables/system_health_report_tables.json msgid "Size (MB)" -msgstr "" +msgstr "الحجم (ميغابايت)" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:629 msgid "Size exceeds the maximum allowed file size." -msgstr "" +msgstr "حجم الملف يتجاوز الحد الأقصى المسموح به." #: frappe/public/js/frappe/widgets/onboarding_widget.js:82 #: frappe/public/js/onboarding_tours/onboarding_tours.js:18 @@ -24628,7 +24828,7 @@ msgstr "تخطي الخطوة" #. Label of the skipped (Check) field in DocType 'Patch Log' #: frappe/core/doctype/patch_log/patch_log.json msgid "Skipped" -msgstr "" +msgstr "تم التخطي" #: frappe/core/doctype/data_import/importer.py:951 msgid "Skipping Duplicate Column {0}" @@ -24642,13 +24842,13 @@ msgstr "تخطي العمود بلا عنوان" msgid "Skipping column {0}" msgstr "عمود التخطي {0}" -#: frappe/modules/utils.py:179 +#: frappe/modules/utils.py:219 msgid "Skipping fixture syncing for doctype {0} from file {1}" -msgstr "" +msgstr "تجاوز مزامنة البيانات لنوع المستند {0} من الملف {1}" #: frappe/core/doctype/data_import/data_import.js:39 msgid "Skipping {0} of {1}, {2}" -msgstr "" +msgstr "تجاوز {0} من {1}، {2}" #. Label of the skype (Data) field in DocType 'Contact Us Settings' #: frappe/website/doctype/contact_us_settings/contact_us_settings.json @@ -24674,7 +24874,7 @@ msgstr "خطأ Slack Webhook" #: frappe/integrations/doctype/slack_webhook_url/slack_webhook_url.json #: frappe/integrations/workspace/integrations/integrations.json msgid "Slack Webhook URL" -msgstr "" +msgstr "رابط ويب هوك سلاك" #. Label of the slideshow (Link) field in DocType 'Web Page' #. Option for the 'Content Type' (Select) field in DocType 'Web Page' @@ -24695,7 +24895,7 @@ msgstr "اسم العرض" #. Description of a DocType #: frappe/website/doctype/website_slideshow/website_slideshow.json msgid "Slideshow like display for the website" -msgstr "" +msgstr "عرض شرائح للموقع الإلكتروني" #. Label of the slug (Data) field in DocType 'UTM Campaign' #. Label of the slug (Data) field in DocType 'UTM Medium' @@ -24704,7 +24904,7 @@ msgstr "" #: frappe/website/doctype/utm_medium/utm_medium.json #: frappe/website/doctype/utm_source/utm_source.json msgid "Slug" -msgstr "" +msgstr "سبيكة" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -24733,7 +24933,7 @@ msgstr "أصغر وحدة تعميم جزء (عملة). على سبيل المث #: frappe/printing/doctype/letter_head/letter_head.js:32 msgid "Snippet and more variables: {0}" -msgstr "" +msgstr "مقتطف برمجي ومتغيرات أخرى: {0}" #. Name of a DocType #: frappe/website/doctype/social_link_settings/social_link_settings.json @@ -24768,13 +24968,13 @@ msgstr "تسجيل الدخول الاجتماعي" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "SocketIO Ping Check" -msgstr "" +msgstr "فحص اتصال SocketIO" #. Label of the socketio_transport_mode (Select) field in DocType 'System #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "SocketIO Transport Mode" -msgstr "" +msgstr "وضع نقل SocketIO" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -24784,26 +24984,26 @@ msgstr "لينة المرتجعة" #. Label of the software_id (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Software ID" -msgstr "" +msgstr "معرف البرنامج" #. Label of the software_version (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Software Version" -msgstr "" +msgstr "إصدار البرنامج" #. Option for the 'Icon Style' (Select) field in DocType 'Desktop Settings' #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Solid" -msgstr "" +msgstr "صلب" #: frappe/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 "قد تُقتطع بعض الأعمدة عند الطباعة إلى ملف PDF. حاول ألا يتجاوز عدد الأعمدة 10." #. Description of the 'Sent Folder Name' (Data) field in DocType 'Email Domain' #: frappe/email/doctype/email_domain/email_domain.json msgid "Some mailboxes require a different Sent Folder Name e.g. \"INBOX.Sent\"" -msgstr "" +msgstr "تتطلب بعض صناديق البريد اسم مجلد \"المرسلة\" مختلفًا، على سبيل المثال \"INBOX.Sent\"." #: frappe/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." @@ -24817,25 +25017,25 @@ msgstr "حدث خطأ ما" msgid "Something went wrong during the token generation. Click on {0} to generate a new one." msgstr "حدث خطأ ما أثناء الجيل المميز. انقر على {0} لإنشاء واحدة جديدة." -#: frappe/templates/includes/login/login.js:293 +#: frappe/templates/includes/login/login.js:292 msgid "Something went wrong." -msgstr "" +msgstr "حدث خطأ ما." -#: frappe/public/js/frappe/views/pageview.js:122 +#: frappe/public/js/frappe/views/pageview.js:127 msgid "Sorry! I could not find what you were looking for." msgstr "عذراَ ! , لا يمكن العثورعلى ما تبحث عنه." -#: frappe/public/js/frappe/views/pageview.js:130 +#: frappe/public/js/frappe/views/pageview.js:135 msgid "Sorry! You are not permitted to view this page." msgstr "عذراَ !, غير مسموح لك مشاهدة هذه الصفحة." #: frappe/public/js/frappe/utils/datatable.js:6 msgid "Sort Ascending" -msgstr "" +msgstr "فرز تصاعدي" #: frappe/public/js/frappe/utils/datatable.js:7 msgid "Sort Descending" -msgstr "" +msgstr "فرز تنازلي" #. Label of the sort_field (Select) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -24849,34 +25049,34 @@ msgstr "نوع الحقل" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Sort Options" -msgstr "" +msgstr "خيارات الفرز" #. Label of the sort_order (Select) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json msgid "Sort Order" msgstr "ترتيب" -#: frappe/core/doctype/doctype/doctype.py:1565 +#: frappe/core/doctype/doctype/doctype.py:1579 msgid "Sort field {0} must be a valid fieldname" msgstr "يجب أن يكون حقل نوع {0} لFIELDNAME صحيح" #. Label of the source (Data) field in DocType 'Web Page View' #. Label of the source (Small Text) field in DocType 'Website Route Redirect' -#: frappe/public/js/frappe/utils/utils.js:1872 +#: frappe/public/js/frappe/utils/utils.js:2003 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/doctype/website_route_redirect/website_route_redirect.json #: frappe/website/report/website_analytics/website_analytics.js:38 msgid "Source" -msgstr "" +msgstr "المصدر" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Source Code" -msgstr "" +msgstr "شفرة المصدر" #. Label of the source_name (Data) field in DocType 'Dashboard Chart Source' #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.json msgid "Source Name" -msgstr "" +msgstr "اسم المصدر" #. Label of the source_text (Code) field in DocType 'Translation' #: frappe/core/doctype/translation/translation.json @@ -24889,7 +25089,7 @@ msgstr "النص المصدر" #: frappe/public/js/frappe/views/workspace/blocks/spacer.js:23 #: frappe/public/js/print_format_builder/PrintFormatControls.vue:174 msgid "Spacer" -msgstr "" +msgstr "فاصل" #. Option for the 'Email Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -24899,57 +25099,58 @@ msgstr "بريد مؤذي" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "SparkPost" -msgstr "" +msgstr "سبارك بوست" #. Description of the 'Asynchronous' (Check) field in DocType 'Workflow #. Transition Task' #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Spawns actions in a background job" -msgstr "" +msgstr "يُنشئ إجراءات في مهمة خلفية" #: frappe/custom/doctype/custom_field/custom_field.js:83 msgid "Special Characters are not allowed" msgstr "لا يسمح أحرف خاصة" -#: frappe/model/naming.py:68 +#: frappe/model/naming.py:66 msgid "Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}" msgstr "{0} الأحرف الخاصة باستثناء "-" ، "#" ، "." ، "/" ، "{{" و "}}" غير مسموح في سلسلة التسمية" #. Description of the 'Timeout (In Seconds)' (Int) field in DocType 'Report' #: frappe/core/doctype/report/report.json msgid "Specify a custom timeout, default timeout is 1500 seconds" -msgstr "" +msgstr "حدد مهلة مخصصة، المهلة الافتراضية هي 1500 ثانية" #. Description of the 'Allowed embedding domains' (Small Text) field in DocType #. 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Specify the domains or origins that are permitted to embed this form. Enter one domain per line (e.g., https://example.com). If no domains are specified, the form can only be embedded on the same origin." -msgstr "" +msgstr "حدد النطاقات أو المصادر المسموح لها بتضمين هذا النموذج. أدخل نطاقًا واحدًا في كل سطر (مثال: https://example.com). في حال عدم تحديد أي نطاقات، لا يمكن تضمين النموذج إلا على نفس المصدر." #. Label of the splash_image (Attach Image) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Splash Image" -msgstr "" +msgstr "صورة الغلاف" #: frappe/desk/reportview.py:458 #: frappe/public/js/frappe/web_form/web_form_list.js:176 #: frappe/templates/print_formats/standard_macros.html:44 msgid "Sr" -msgstr "" +msgstr "ر.ت" #: frappe/public/js/print_format_builder/Field.vue:143 #: frappe/public/js/print_format_builder/Field.vue:164 msgid "Sr No." -msgstr "" +msgstr "الرقم التسلسلي" #. Label of the stack_html (HTML) field in DocType 'Recorder Query' #: frappe/core/doctype/recorder/recorder.js:82 #: frappe/core/doctype/recorder_query/recorder_query.json msgid "Stack Trace" -msgstr "" +msgstr "تتبع المكدس" #. Label of the standard (Select) field in DocType 'Page' #. Label of the standard (Check) field in DocType 'Desktop Icon' +#. Label of the standard (Check) field in DocType 'Workspace Sidebar' #. Label of the standard (Select) field in DocType 'Print Format' #. Label of the standard (Check) field in DocType 'Print Format Field Template' #. Label of the standard (Check) field in DocType 'Print Style' @@ -24957,6 +25158,7 @@ msgstr "" #: frappe/core/doctype/page/page.json #: frappe/core/doctype/user_type/user_type_list.js:5 #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json #: frappe/printing/doctype/print_style/print_style.json @@ -24966,7 +25168,7 @@ msgstr "اساسي" #: frappe/model/delete_doc.py:119 msgid "Standard DocType can not be deleted." -msgstr "" +msgstr "لا يمكن حذف نوع المستند القياسي." #: frappe/core/doctype/doctype/doctype.py:230 msgid "Standard DocType cannot have default print format, use Customize Form" @@ -24978,7 +25180,7 @@ msgstr "المعيار غير محدد" #: frappe/core/page/permission_manager/permission_manager.js:132 msgid "Standard Permissions" -msgstr "" +msgstr "الأذونات القياسية" #: frappe/printing/doctype/print_format/print_format.py:82 msgid "Standard Print Format cannot be updated" @@ -24990,11 +25192,11 @@ msgstr "لا يمكن تغيير نمط الطباعة القياسي. الرج #: frappe/desk/reportview.py:357 msgid "Standard Reports cannot be deleted" -msgstr "" +msgstr "لا يمكن حذف التقارير القياسية" #: frappe/desk/reportview.py:328 msgid "Standard Reports cannot be edited" -msgstr "" +msgstr "لا يمكن تعديل التقارير القياسية" #. Label of the standard_menu_items (Section Break) field in DocType 'Portal #. Settings' @@ -25004,11 +25206,11 @@ msgstr "قائمة الشريط الجانبي الرئيسية" #: frappe/website/doctype/web_form/web_form.js:40 msgid "Standard Web Forms can not be modified, duplicate the Web Form instead." -msgstr "" +msgstr "لا يمكن تعديل نماذج الويب القياسية، لذا قم بتكرار نموذج الويب بدلاً من ذلك." #: frappe/website/doctype/web_page/web_page.js:92 msgid "Standard rich text editor with controls" -msgstr "" +msgstr "محرر نصوص منسقة قياسي مزود بعناصر تحكم" #: frappe/core/doctype/role/role.py:46 msgid "Standard roles cannot be disabled" @@ -25020,14 +25222,14 @@ msgstr "الصلاحيات القياسية لا يمكن إعادة تسميت #: frappe/core/doctype/user_type/user_type.py:61 msgid "Standard user type {0} can not be deleted." -msgstr "" +msgstr "لا يمكن حذف نوع المستخدم القياسي {0} ." #: frappe/core/doctype/recorder/recorder_list.js:87 #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:45 -#: frappe/printing/page/print/print.js:328 -#: frappe/printing/page/print/print.js:375 +#: frappe/printing/page/print/print.js:336 +#: frappe/printing/page/print/print.js:383 msgid "Start" -msgstr "" +msgstr "بداية" #. Label of the start_date (Date) field in DocType 'Auto Repeat' #. Label of the start_date (Date) field in DocType 'Audit Trail' @@ -25038,7 +25240,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:418 #: frappe/website/doctype/web_page/web_page.json msgid "Start Date" -msgstr "" +msgstr "تاريخ البدء" #. Label of the start_date_field (Select) field in DocType 'Calendar View' #: frappe/desk/doctype/calendar_view/calendar_view.json @@ -25047,20 +25249,20 @@ msgstr "تاريخ البدء الحقل" #: frappe/core/doctype/data_import/data_import.js:111 msgid "Start Import" -msgstr "" +msgstr "بدء الاستيراد" #: frappe/core/doctype/recorder/recorder_list.js:201 msgid "Start Recording" -msgstr "" +msgstr "ابدأ التسجيل" #. Label of the birth_date (Datetime) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Start Time" -msgstr "" +msgstr "بداية الوقت" #: frappe/templates/includes/comments/comments.html:8 msgid "Start a new discussion" -msgstr "" +msgstr "ابدأ نقاش جديد" #: frappe/core/doctype/data_export/exporter.py:22 msgid "Start entering data below this line" @@ -25083,7 +25285,7 @@ msgstr "بدأت" #. Label of the started_at (Datetime) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Started At" -msgstr "" +msgstr "بدأ في" #: frappe/desk/page/setup_wizard/setup_wizard.js:286 msgid "Starting Frappe ..." @@ -25105,11 +25307,11 @@ msgstr "يبدأ يوم" #: frappe/workflow/doctype/workflow_state/workflow_state.json #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "State" -msgstr "" +msgstr "حالة" #: frappe/public/js/workflow_builder/components/Properties.vue:26 msgid "State Properties" -msgstr "" +msgstr "ممتلكات الدولة" #. Label of the state (Data) field in DocType 'Address' #. Label of the state (Data) field in DocType 'Contact Us Settings' @@ -25135,7 +25337,7 @@ msgstr "ثابت معلمات" #. Label of the statistics_section (Section Break) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Statistics" -msgstr "" +msgstr "إحصائيات" #. Label of the stats_section (Section Break) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json @@ -25197,13 +25399,13 @@ msgstr "الفاصل الزمني للإحصائيات" #: frappe/integrations/doctype/integration_request/integration_request.json #: frappe/integrations/doctype/oauth_bearer_token/oauth_bearer_token.json #: frappe/public/js/frappe/list/list_settings.js:357 -#: frappe/public/js/frappe/list/list_view.js:2415 +#: frappe/public/js/frappe/list/list_view.js:2443 #: frappe/public/js/frappe/views/reports/report_view.js:974 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Status" -msgstr "" +msgstr "الحالة" #: frappe/www/update-password.html:188 msgid "Status Updated" @@ -25211,7 +25413,7 @@ msgstr "تم تحديث الحالة" #: frappe/email/doctype/email_queue/email_queue.js:37 msgid "Status Updated. The email will be picked up in the next scheduled run." -msgstr "" +msgstr "تم تحديث الحالة. سيتم استلام البريد الإلكتروني في الجولة المجدولة التالية." #: frappe/www/message.html:24 msgid "Status: {0}" @@ -25235,39 +25437,39 @@ msgstr "خطوات التحقق من تسجيل الدخول" #. Label of the sticky (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Sticky" -msgstr "" +msgstr "لزج" #: frappe/core/doctype/recorder/recorder_list.js:87 msgid "Stop" -msgstr "" +msgstr "قف" #. Label of the stopped (Check) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Stopped" -msgstr "" +msgstr "توقف" #. Label of the db_storage_usage (Float) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Storage Usage (MB)" -msgstr "" +msgstr "استخدام مساحة التخزين (ميغابايت)" #. Label of the top_db_tables (Table) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Storage Usage By Table" -msgstr "" +msgstr "استخدام التخزين حسب الجدول" #. Label of the store_attached_pdf_document (Check) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Store Attached PDF Document" -msgstr "" +msgstr "قم بتخزين مستند PDF المرفق" #: frappe/core/doctype/user/user.js:504 msgid "Store the API secret securely. It won't be displayed again." -msgstr "" +msgstr "احفظ سر واجهة برمجة التطبيقات (API) بشكل آمن. لن يتم عرضه مرة أخرى." #. Description of the 'Last Known Versions' (Text) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -25278,7 +25480,7 @@ msgstr "يخزن JSON من الإصدارات المعروفة الأخيرة م #. in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Stores the datetime when the last reset password key was generated." -msgstr "" +msgstr "يخزن التاريخ والوقت اللذين تم فيهما إنشاء مفتاح إعادة تعيين كلمة المرور الأخير." #: frappe/utils/password_strength.py:97 msgid "Straight rows of keys are easy to guess" @@ -25288,11 +25490,11 @@ msgstr "صفوف متتالية من مفاتيح سهلة للتخمين" #. DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Strip EXIF tags from uploaded images" -msgstr "" +msgstr "قم بإزالة بيانات EXIF من الصور التي تم تحميلها" #: frappe/public/js/frappe/form/controls/password.js:89 msgid "Strong" -msgstr "" +msgstr "قوي" #. Label of the custom_css (Tab Break) field in DocType 'Web Page' #. Label of the style (Select) field in DocType 'Workflow State' @@ -25349,10 +25551,10 @@ msgstr "مجال فرعي" #: frappe/email/doctype/email_template/email_template.json #: frappe/email/doctype/notification/notification.js:214 #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/views/communication.js:110 +#: frappe/public/js/frappe/views/communication.js:128 #: frappe/public/js/frappe/views/inbox/inbox_view.js:63 msgid "Subject" -msgstr "" +msgstr "موضوع" #. Label of the subject_field (Data) field in DocType 'DocType' #. Label of the subject_field (Data) field in DocType 'Customize Form' @@ -25363,14 +25565,14 @@ msgstr "" msgid "Subject Field" msgstr "حقل الموضوع" -#: frappe/core/doctype/doctype/doctype.py:1970 +#: frappe/core/doctype/doctype/doctype.py:2034 msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor" msgstr "يجب أن يكون نوع حقل الموضوع بيانات ، نص ، نص طويل ، نص صغير ، محرر نص" #. Name of a DocType #: frappe/core/doctype/submission_queue/submission_queue.json msgid "Submission Queue" -msgstr "" +msgstr "قائمة الانتظار للإرسال" #. Label of the submit (Check) field in DocType 'Custom DocPerm' #. Label of the submit (Check) field in DocType 'DocPerm' @@ -25384,72 +25586,72 @@ msgstr "" #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_permission/user_permission_list.js:138 #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/form/quick_entry.js:225 +#: frappe/public/js/frappe/form/quick_entry.js:268 #: frappe/public/js/frappe/form/templates/set_sharing.html:4 -#: frappe/public/js/frappe/ui/capture.js:307 +#: frappe/public/js/frappe/ui/capture.js:308 #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json msgid "Submit" -msgstr "" +msgstr "تسجيل" -#: frappe/public/js/frappe/list/list_view.js:2310 +#: frappe/public/js/frappe/list/list_view.js:2318 msgctxt "Button in list view actions menu" msgid "Submit" -msgstr "" +msgstr "تسجيل" #: frappe/website/doctype/web_form/templates/web_form.html:47 msgctxt "Button in web form" msgid "Submit" -msgstr "" +msgstr "تسجيل" #: frappe/public/js/frappe/ui/dialog.js:64 msgctxt "Primary action in dialog" msgid "Submit" -msgstr "" +msgstr "تسجيل" #: frappe/public/js/frappe/ui/messages.js:97 msgctxt "Primary action of prompt dialog" msgid "Submit" -msgstr "" +msgstr "تسجيل" #: frappe/public/js/frappe/desk.js:227 msgctxt "Submit password for Email Account" msgid "Submit" -msgstr "" +msgstr "تسجيل" #. Label of the submit_after_import (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Submit After Import" msgstr "إرسال بعد الاستيراد" -#: frappe/core/page/permission_manager/permission_manager_help.html:39 +#: frappe/core/page/permission_manager/permission_manager_help.html:106 msgid "Submit an Issue" -msgstr "" +msgstr "تقديم مشكلة" #: frappe/website/doctype/web_form/templates/web_form.html:163 msgctxt "Button in web form" msgid "Submit another response" -msgstr "" +msgstr "أرسل ردًا آخر" #. Label of the button_label (Data) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Submit button label" -msgstr "" +msgstr "تسمية زر الإرسال" #. Label of the submit_on_creation (Check) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json #: frappe/automation/doctype/auto_repeat/auto_repeat.py:132 msgid "Submit on Creation" -msgstr "" +msgstr "تقديم طلب إنشاء" #: frappe/public/js/frappe/widgets/onboarding_widget.js:395 msgid "Submit this document to complete this step." msgstr "أرسل هذا المستند لإكمال هذه الخطوة." -#: frappe/public/js/frappe/form/form.js:1233 +#: frappe/public/js/frappe/form/form.js:1262 msgid "Submit this document to confirm" msgstr "إرسال هذه الوثيقة إلى تأكيد" -#: frappe/public/js/frappe/list/list_view.js:2315 +#: frappe/public/js/frappe/list/list_view.js:2323 msgctxt "Title of confirmation dialog" msgid "Submit {0} documents?" msgstr "إرسال {0} وثائق؟" @@ -25460,7 +25662,7 @@ msgstr "إرسال {0} وثائق؟" #: frappe/public/js/frappe/ui/filters/filter.js:538 #: frappe/website/doctype/web_form/templates/web_form.html:143 msgid "Submitted" -msgstr "" +msgstr "مسجلة" #: frappe/workflow/doctype/workflow/workflow.py:104 msgid "Submitted Document cannot be converted back to draft. Transition row {0}" @@ -25475,7 +25677,7 @@ msgctxt "Freeze message while submitting a document" msgid "Submitting" msgstr "تقديم" -#: frappe/desk/doctype/bulk_update/bulk_update.py:88 +#: frappe/desk/doctype/bulk_update/bulk_update.py:89 msgid "Submitting {0}" msgstr "تقديم {0}" @@ -25492,7 +25694,7 @@ msgstr "عنوان فرعي" #. Option for the 'Icon Style' (Select) field in DocType 'Desktop Settings' #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Subtle" -msgstr "" +msgstr "دقيق" #. Option for the 'Status' (Select) field in DocType 'Activity Log' #. Option for the 'Status' (Select) field in DocType 'Data Import' @@ -25510,17 +25712,17 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/bulk_update/bulk_update.js:31 -#: frappe/public/js/frappe/form/grid.js:1193 +#: frappe/public/js/frappe/form/grid.js:1230 #: frappe/public/js/frappe/views/translation_manager.js:21 -#: frappe/templates/includes/login/login.js:230 -#: frappe/templates/includes/login/login.js:236 -#: frappe/templates/includes/login/login.js:269 -#: frappe/templates/includes/login/login.js:277 +#: frappe/templates/includes/login/login.js:228 +#: frappe/templates/includes/login/login.js:234 +#: frappe/templates/includes/login/login.js:267 +#: frappe/templates/includes/login/login.js:275 #: frappe/templates/pages/integrations/gcalendar-success.html:9 #: frappe/workflow/doctype/workflow_action/workflow_action.py:171 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Success" -msgstr "" +msgstr "نجاح" #. Name of a DocType #: frappe/core/doctype/success_action/success_action.json @@ -25535,7 +25737,7 @@ msgstr "رسالة النجاح" #. Label of the success_uri (Data) field in DocType 'Token Cache' #: frappe/integrations/doctype/token_cache/token_cache.json msgid "Success URI" -msgstr "" +msgstr "عنوان URL للنجاح" #. Label of the success_url (Data) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json @@ -25545,19 +25747,19 @@ msgstr "رابط النجاح" #. Label of the success_message (Text) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Success message" -msgstr "" +msgstr "رسائل النجاح" #. Label of the success_title (Data) field in DocType 'Web Form' #: frappe/website/doctype/web_form/web_form.json msgid "Success title" -msgstr "" +msgstr "عنوان النجاح" #. Label of the successful_job_count (Int) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Successful Job Count" -msgstr "" +msgstr "عدد الوظائف الناجحة" -#: frappe/model/workflow.py:363 +#: frappe/model/workflow.py:384 msgid "Successful Transactions" msgstr "المعاملات الناجحة" @@ -25572,19 +25774,19 @@ msgstr "تم التحديث بنجاح" #: frappe/core/doctype/data_import/data_import.js:449 msgid "Successfully imported {0}" -msgstr "" +msgstr "تم استيراد {0}بنجاح" #: frappe/core/doctype/data_import/data_import.js:150 msgid "Successfully imported {0} out of {1} records." -msgstr "" +msgstr "تم استيراد {0} بنجاح من أصل {1} سجل." #: frappe/desk/doctype/form_tour/form_tour.py:87 msgid "Successfully reset onboarding status for all users." -msgstr "" +msgstr "تمت إعادة ضبط حالة الإعداد بنجاح لجميع المستخدمين." -#: frappe/core/doctype/user/user.py:1478 +#: frappe/core/doctype/user/user.py:1481 msgid "Successfully signed out" -msgstr "" +msgstr "تم تسجيل الخروج بنجاح" #: frappe/public/js/frappe/views/translation_manager.js:22 msgid "Successfully updated translations" @@ -25592,22 +25794,22 @@ msgstr "تم تحديث الترجمات بنجاح" #: frappe/core/doctype/data_import/data_import.js:457 msgid "Successfully updated {0}" -msgstr "" +msgstr "تم التحديث بنجاح {0}" #: frappe/core/doctype/data_import/data_import.js:155 msgid "Successfully updated {0} out of {1} records." -msgstr "" +msgstr "تم تحديث {0} بنجاح من أصل {1} سجل." #: frappe/core/doctype/recorder/recorder.js:15 msgid "Suggest Optimizations" -msgstr "" +msgstr "اقتراح تحسينات" #. Label of the suggested_indexes (Table) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "Suggested Indexes" -msgstr "" +msgstr "الفهارس المقترحة" -#: frappe/core/doctype/user/user.py:771 +#: frappe/core/doctype/user/user.py:774 msgid "Suggested Username: {0}" msgstr "اسم المستخدم اقترح: {0}" @@ -25642,28 +25844,28 @@ msgstr "ملخص" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Sunday" -msgstr "" +msgstr "الأحد" #: frappe/email/doctype/email_queue/email_queue_list.js:27 msgid "Suspend Sending" msgstr "تعليق إرسال" -#: frappe/public/js/frappe/ui/capture.js:276 +#: frappe/public/js/frappe/ui/capture.js:277 msgid "Switch Camera" -msgstr "" +msgstr "كاميرا التبديل" #: frappe/public/js/frappe/desk.js:96 #: frappe/public/js/frappe/ui/theme_switcher.js:11 msgid "Switch Theme" -msgstr "" +msgstr "تبديل المظهر" #: frappe/templates/includes/navbar/navbar_login.html:17 msgid "Switch To Desk" msgstr "التبديل إلى مكتب" -#: frappe/public/js/frappe/ui/capture.js:281 +#: frappe/public/js/frappe/ui/capture.js:282 msgid "Switching Camera" -msgstr "" +msgstr "تبديل الكاميرا" #. Label of the symbol (Data) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json @@ -25688,7 +25890,7 @@ msgstr "مزامنة جهات الاتصال" #. Label of the sync_as_public (Check) field in DocType 'Google Calendar' #: frappe/integrations/doctype/google_calendar/google_calendar.json msgid "Sync events from Google as public" -msgstr "" +msgstr "مزامنة الأحداث من جوجل كأحداث عامة" #: frappe/custom/doctype/customize_form/customize_form.js:256 msgid "Sync on Migrate" @@ -25696,7 +25898,7 @@ msgstr "المزامنة على ترحيل" #: frappe/integrations/doctype/google_calendar/google_calendar.py:312 msgid "Sync token was invalid and has been reset, Retry syncing." -msgstr "" +msgstr "رمز المزامنة غير صالح وتمت إعادة تعيينه، جارٍ إعادة محاولة المزامنة." #. Label of the sync_with_google_calendar (Check) field in DocType 'Event' #: frappe/desk/doctype/event/event.json @@ -25710,11 +25912,11 @@ msgstr "مزامنة مع جهات اتصال Google" #: frappe/custom/doctype/doctype_layout/doctype_layout.js:46 msgid "Sync {0} Fields" -msgstr "" +msgstr "مزامنة {0} الحقول" #: frappe/custom/doctype/doctype_layout/doctype_layout.js:100 msgid "Synced Fields" -msgstr "" +msgstr "الحقول المتزامنة" #: frappe/integrations/doctype/google_calendar/google_calendar.js:31 #: frappe/integrations/doctype/google_contacts/google_contacts.js:31 @@ -25727,12 +25929,10 @@ msgstr "مزامنة {0} من {1}" #: frappe/utils/data.py:2620 msgid "Syntax Error" -msgstr "" +msgstr "خطأ في بناء الجملة" #. Option for the 'Show in Module Section' (Select) field in DocType 'DocType' -#. Name of a Workspace #: frappe/core/doctype/doctype/doctype.json -#: frappe/core/workspace/system/system.json msgid "System" msgstr "نظام" @@ -25742,50 +25942,50 @@ msgstr "نظام" msgid "System Console" msgstr "وحدة تحكم النظام" -#: frappe/custom/doctype/custom_field/custom_field.py:409 +#: frappe/custom/doctype/custom_field/custom_field.py:410 msgid "System Generated Fields can not be renamed" -msgstr "" +msgstr "لا يمكن إعادة تسمية الحقول التي أنشأها النظام" #. Label of a standard help item #. Type: Route #: frappe/hooks.py msgid "System Health" -msgstr "" +msgstr "صحة النظام" #. Name of a DocType #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "System Health Report" -msgstr "" +msgstr "تقرير صحة النظام" #. Name of a DocType #: frappe/desk/doctype/system_health_report_errors/system_health_report_errors.json msgid "System Health Report Errors" -msgstr "" +msgstr "أخطاء تقرير صحة النظام" #. Name of a DocType #: frappe/desk/doctype/system_health_report_failing_jobs/system_health_report_failing_jobs.json msgid "System Health Report Failing Jobs" -msgstr "" +msgstr "تقرير حالة النظام: الوظائف الفاشلة" #. Name of a DocType #: frappe/desk/doctype/system_health_report_queue/system_health_report_queue.json msgid "System Health Report Queue" -msgstr "" +msgstr "قائمة انتظار تقارير صحة النظام" #. Name of a DocType #: frappe/desk/doctype/system_health_report_tables/system_health_report_tables.json msgid "System Health Report Tables" -msgstr "" +msgstr "جداول تقرير صحة النظام" #. Name of a DocType #: frappe/desk/doctype/system_health_report_workers/system_health_report_workers.json msgid "System Health Report Workers" -msgstr "" +msgstr "تقرير صحة النظام للعاملين" #. Label of a Card Break in the Build Workspace #: frappe/core/workspace/build/build.json msgid "System Logs" -msgstr "" +msgstr "سجلات النظام" #. Name of a role #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -25869,6 +26069,7 @@ msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.json #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/desk/doctype/desktop_layout/desktop_layout.json #: frappe/desk/doctype/desktop_settings/desktop_settings.json #: frappe/desk/doctype/event/event.json #: frappe/desk/doctype/form_tour/form_tour.json @@ -25938,11 +26139,11 @@ msgstr "" #: frappe/workflow/doctype/workflow_state/workflow_state.json #: frappe/workflow/doctype/workflow_transition_tasks/workflow_transition_tasks.json msgid "System Manager" -msgstr "" +msgstr "مدير النظام" #: frappe/desk/page/backups/backups.js:38 msgid "System Manager privileges required." -msgstr "" +msgstr "يلزم الحصول على صلاحيات مدير النظام." #. Option for the 'Channel' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -25957,7 +26158,12 @@ msgstr "صفحة النظام" #. Name of a DocType #: frappe/core/doctype/system_settings/system_settings.json msgid "System Settings" -msgstr "" +msgstr "إعدادات النظام" + +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "System Users" +msgstr "مستخدمو النظام" #. Description of the 'Allow Roles' (Table MultiSelect) field in DocType #. 'Module Onboarding' @@ -25968,12 +26174,18 @@ msgstr "يسمح لمديري النظام بشكل افتراضي" #: frappe/public/js/frappe/utils/number_systems.js:5 msgctxt "Number system" msgid "T" -msgstr "" +msgstr "تي" #. Label of the tos_uri (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "TOS URI" -msgstr "" +msgstr "عنوان URL لشروط الخدمة" + +#. Label of the navigate_to_tab (Autocomplete) field in DocType 'Workspace +#. Sidebar Item' +#: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json +msgid "Tab" +msgstr "فاتورة غير مدفوعة" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' @@ -25982,11 +26194,11 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Tab Break" -msgstr "" +msgstr "فاصل علامات الجدولة" #: frappe/public/js/form_builder/components/Tabs.vue:135 msgid "Tab Label" -msgstr "" +msgstr "علامة تبويب" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the table (Data) field in DocType 'Recorder Suggested Index' @@ -26010,18 +26222,18 @@ msgstr "جدول" msgid "Table Break" msgstr "فاصل الجدول" -#: frappe/core/doctype/version/version_view.html:73 +#: frappe/core/doctype/version/version_view.html:136 msgid "Table Field" -msgstr "" +msgstr "حقل الجدول" #. Label of the table_fieldname (Data) field in DocType 'DocType Link' #: frappe/core/doctype/doctype_link/doctype_link.json msgid "Table Fieldname" -msgstr "" +msgstr "اسم حقل الجدول" -#: frappe/core/doctype/doctype/doctype.py:1218 +#: frappe/core/doctype/doctype/doctype.py:1221 msgid "Table Fieldname Missing" -msgstr "" +msgstr "اسم حقل الجدول مفقود" #. Label of the table_html (HTML) field in DocType 'Version' #: frappe/core/doctype/version/version.json @@ -26037,31 +26249,31 @@ msgstr "جدول HTML" msgid "Table MultiSelect" msgstr "الجدول MultiSelect" -#: frappe/desk/search.py:271 +#: frappe/desk/search.py:278 msgid "Table MultiSelect requires a table with at least one Link field, but none was found in {0}" -msgstr "" +msgstr "يتطلب اختيار الجدول المتعدد وجود جدول يحتوي على حقل رابط واحد على الأقل، ولكن لم يتم العثور على أي منها في {0}" #: frappe/custom/doctype/customize_form/customize_form.js:229 msgid "Table Trimmed" -msgstr "" +msgstr "طاولة مُهذبة" -#: frappe/public/js/frappe/form/grid.js:1192 +#: frappe/public/js/frappe/form/grid.js:1229 msgid "Table updated" msgstr "الجدول محدث" -#: frappe/model/document.py:1627 +#: frappe/model/document.py:1626 msgid "Table {0} cannot be empty" msgstr "جدول {0} لا يمكن أن يكون فارغا" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Tabloid" -msgstr "" +msgstr "صحيفة شعبية" #. Name of a DocType #: frappe/desk/doctype/tag/tag.json msgid "Tag" -msgstr "" +msgstr "بطاقة شعار" #. Name of a DocType #: frappe/desk/doctype/tag_link/tag_link.json @@ -26069,17 +26281,17 @@ msgid "Tag Link" msgstr "علامة الارتباط" #: frappe/model/meta.py:59 -#: frappe/public/js/frappe/form/templates/form_sidebar.html:102 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:123 #: frappe/public/js/frappe/list/base_list.js:813 #: frappe/public/js/frappe/list/base_list.js:996 -#: frappe/public/js/frappe/list/bulk_operations.js:430 +#: frappe/public/js/frappe/list/bulk_operations.js:444 #: frappe/public/js/frappe/model/meta.js:215 #: frappe/public/js/frappe/model/model.js:133 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:233 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:240 msgid "Tags" msgstr "بطاقات" -#: frappe/public/js/frappe/ui/capture.js:220 +#: frappe/public/js/frappe/ui/capture.js:221 msgid "Take Photo" msgstr "تصوير" @@ -26088,14 +26300,14 @@ msgstr "تصوير" #: frappe/website/doctype/portal_menu_item/portal_menu_item.json #: frappe/website/doctype/website_route_redirect/website_route_redirect.json msgid "Target" -msgstr "" +msgstr "الهدف" #. Label of the task (Select) field in DocType 'Workflow Transition Task' #: frappe/desk/doctype/todo/todo_calendar.js:19 #: frappe/desk/doctype/todo/todo_calendar.js:25 #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Task" -msgstr "" +msgstr "مهمة" #. Label of the tasks (Table) field in DocType 'Workflow Transition Tasks' #: frappe/workflow/doctype/workflow_transition_tasks/workflow_transition_tasks.json @@ -26119,13 +26331,13 @@ msgstr "عنوان أعضاء الفريق" #. Settings' #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "Team Members Subtitle" -msgstr "" +msgstr "أعضاء الفريق (ترجمة)" #. Label of the telemetry_section (Section Break) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Telemetry" -msgstr "" +msgstr "القياس عن بعد" #. Label of the template (Link) field in DocType 'Auto Repeat' #. Label of the template (Code) field in DocType 'Address Template' @@ -26136,7 +26348,7 @@ msgstr "" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json #: frappe/website/doctype/web_template/web_template.json msgid "Template" -msgstr "" +msgstr "قالب" #: frappe/core/doctype/data_import/importer.py:483 #: frappe/core/doctype/data_import/importer.py:610 @@ -26147,7 +26359,7 @@ msgstr "خطأ في القالب" #. Template' #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json msgid "Template File" -msgstr "" +msgstr "ملف القالب" #. Label of the template_options (Code) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -26161,26 +26373,26 @@ msgstr "تحذيرات القالب" #: frappe/public/js/frappe/views/workspace/blocks/paragraph.js:78 msgid "Templates" -msgstr "" +msgstr "القوالب" -#: frappe/core/doctype/user/user.py:1089 +#: frappe/core/doctype/user/user.py:1092 msgid "Temporarily Disabled" msgstr "موقوف مؤقتا" #: frappe/core/doctype/translation/test_translation.py:47 #: frappe/core/doctype/translation/test_translation.py:54 msgid "Test Data" -msgstr "" +msgstr "بيانات الاختبار" #. Label of the test_job_id (Data) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Test Job ID" -msgstr "" +msgstr "معرّف مهمة الاختبار" #: frappe/core/doctype/translation/test_translation.py:49 #: frappe/core/doctype/translation/test_translation.py:57 msgid "Test Spanish" -msgstr "" +msgstr "اختبار اللغة الإسبانية" #: frappe/core/doctype/file/test_file.py:379 msgid "Test_Folder" @@ -26233,11 +26445,13 @@ msgstr "شكرا" msgid "Thank you for reaching out to us. We will get back to you at the earliest.\n\n\n" "Your query:\n\n" "{0}" -msgstr "" +msgstr "نشكرك على تواصلك معنا. سنرد عليك في أقرب وقت ممكن.\n\n\n" +"استفسارك:\n\n" +"{0}" #: frappe/website/doctype/web_form/templates/web_form.html:147 msgid "Thank you for spending your valuable time to fill this form" -msgstr "" +msgstr "نشكرك على تخصيص وقتك الثمين لملء هذا النموذج" #: frappe/templates/emails/auto_reply.html:1 msgid "Thank you for your email" @@ -26249,17 +26463,17 @@ msgstr "شكرا لك على ملاحظاتك!" #: frappe/templates/includes/contact.js:36 msgid "Thank you for your message" -msgstr "" +msgstr "شكراً لرسائلكم" #: frappe/templates/emails/new_user.html:16 msgid "Thanks" -msgstr "" +msgstr "شكرًا" #: frappe/templates/emails/auto_repeat_fail.html:3 msgid "The Auto Repeat for this document has been disabled." msgstr "تم تعطيل التكرار التلقائي لهذا المستند." -#: frappe/public/js/frappe/form/grid.js:1215 +#: frappe/public/js/frappe/form/grid.js:1252 msgid "The CSV format is case sensitive" msgstr "تنسيق كسف حساس لحالة الأحرف" @@ -26272,23 +26486,23 @@ msgstr "" #: frappe/email/doctype/notification/notification.py:224 msgid "The Condition '{0}' is invalid" -msgstr "" +msgstr "الشرط '{0}' غير صالح" #: frappe/core/doctype/file/file.py:230 msgid "The File URL you've entered is incorrect" -msgstr "" +msgstr "عنوان URL للملف الذي أدخلته غير صحيح" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:112 msgid "The Next Scheduled Date cannot be later than the End Date." -msgstr "" +msgstr "لا يمكن أن يكون تاريخ الموعد التالي بعد تاريخ الانتهاء." #: frappe/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 "" +msgstr "مفتاح عنوان URL لخادم Push Relay (`push_relay_server_url`) مفقود في إعدادات موقعك" #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:367 msgid "The User record for this request has been auto-deleted due to inactivity by system admins." -msgstr "" +msgstr "تم حذف سجل المستخدم لهذا الطلب تلقائيًا بسبب عدم نشاط مسؤولي النظام." #: frappe/public/js/frappe/desk.js:162 msgid "The application has been updated to a new version, please refresh this page" @@ -26298,7 +26512,7 @@ msgstr "تم تحديث التطبيق إلى الإصدار الجديد، ير #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "The application name will be used in the Login page." -msgstr "" +msgstr "سيتم استخدام اسم التطبيق في صفحة تسجيل الدخول." #: frappe/public/js/frappe/views/interaction.js:323 msgid "The attachments could not be correctly linked to the new document" @@ -26311,9 +26525,9 @@ msgid "The browser API key obtained from the Google Cloud Console under
Click here to download:
{0}

This link will expire in {1} hours." msgstr "" -#: frappe/core/doctype/user/user.py:1047 +#: frappe/core/doctype/user/user.py:1050 msgid "The reset password link has been expired" -msgstr "" +msgstr "انتهت صلاحية رابط إعادة تعيين كلمة المرور." -#: frappe/core/doctype/user/user.py:1049 +#: frappe/core/doctype/user/user.py:1052 msgid "The reset password link has either been used before or is invalid" -msgstr "" +msgstr "تم استخدام رابط إعادة تعيين كلمة المرور من قبل أو أنه غير صالح" -#: frappe/app.py:391 frappe/public/js/frappe/request.js:149 +#: frappe/app.py:391 frappe/public/js/frappe/request.js:147 msgid "The resource you are looking for is not available" -msgstr "المصدر الذي تبحث عنه غير متاح\\n
\\nThe resource you are looking for is not available" +msgstr "المورد الذي تبحث عنه غير متوفر" #: frappe/core/doctype/user_type/user_type.py:114 msgid "The role {0} should be a custom role." -msgstr "" +msgstr "يجب أن يكون الدور {0} دورًا مخصصًا." #: frappe/core/doctype/audit_trail/audit_trail.py:46 msgid "The selected document {0} is not a {1}." -msgstr "" +msgstr "المستند المحدد {0} ليس {1}." -#: frappe/utils/response.py:338 +#: frappe/utils/response.py:343 msgid "The system is being updated. Please refresh again after a few moments." -msgstr "" +msgstr "يجري تحديث النظام. يرجى إعادة تحميل الصفحة بعد لحظات." #: frappe/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 "يوفر النظام العديد من الأدوار المحددة مسبقًا. يمكنك إضافة أدوار جديدة لضبط الصلاحيات بشكل أدق." #: frappe/core/doctype/user_type/user_type.py:97 msgid "The total number of user document types limit has been crossed." +msgstr "تم تجاوز الحد الأقصى لعدد أنواع مستندات المستخدم." + +#: frappe/core/page/permission_manager/permission_manager_help.html:43 +msgid "The user can create a new Item but cannot edit existing items." msgstr "" +#: frappe/core/page/permission_manager/permission_manager_help.html:48 +msgid "The user can delete Draft / Cancelled documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:68 +msgid "The user can export report data." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:73 +msgid "The user can import new records or update existing data for the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:28 +msgid "The user can select a Customer in Sales Order but cannot open the Customer master." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:78 +msgid "The user can share document access with another user." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:38 +msgid "The user can update a customer or any other fields in an existing Sales Order but cannot create a new Sales Order." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:33 +msgid "The user can view Sales Invoices but cannot modify any field values in them." +msgstr "" + +#: frappe/model/base_document.py:817 +msgid "The value of the field {0} is too long in the {1} document. To resolve this issue, please reduce the value length or change the {0} field Type to Long Text using customize form, and then try again." +msgstr "قيمة الحقل {0} طويلة جدًا في المستند {1} . لحل هذه المشكلة، يُرجى تقليل طول القيمة أو تغيير نوع الحقل {0} إلى \"نص طويل\" باستخدام نموذج التخصيص، ثم المحاولة مرة أخرى." + #: frappe/public/js/frappe/form/controls/data.js:25 msgid "The value you pasted was {0} characters long. Max allowed characters is {1}." -msgstr "" +msgstr "القيمة التي قمت بلصقها تتكون من {0} حرفًا. الحد الأقصى المسموح به من الأحرف هو {1}." #. Description of the 'Condition' (Small Text) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -26495,7 +26753,7 @@ msgstr "موضوع" #: frappe/public/js/frappe/ui/theme_switcher.js:130 msgid "Theme Changed" -msgstr "" +msgstr "تم تغيير المظهر" #. Label of the bootstrap_theme_section (Tab Break) field in DocType 'Website #. Theme' @@ -26510,26 +26768,26 @@ msgstr "عنوان URL الموضوع" #: frappe/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 "توجد مستندات ذات حالات سير عمل غير موجودة في سير العمل الحالي. يُنصح بإضافة هذه الحالات إلى سير العمل وتغييرها قبل حذفها." -#: frappe/public/js/frappe/ui/notifications/notifications.js:473 +#: frappe/public/js/frappe/ui/notifications/notifications.js:482 msgid "There are no upcoming events for you." -msgstr "" +msgstr "لا توجد فعاليات قادمة لك." #: frappe/website/web_template/discussions/discussions.html:3 msgid "There are no {0} for this {1}, why don't you start one!" -msgstr "" +msgstr "لا يوجد {0} لهذا {1}، فلماذا لا تبدأ أنت واحداً!" -#: frappe/public/js/frappe/views/reports/query_report.js:976 +#: frappe/public/js/frappe/views/reports/query_report.js:993 msgid "There are {0} with the same filters already in the queue:" -msgstr "" +msgstr "يوجد {0} بنفس عوامل التصفية الموجودة بالفعل في قائمة الانتظار:" #: frappe/website/doctype/web_form/web_form.js:81 #: frappe/website/doctype/web_form/web_form.js:334 msgid "There can be only 9 Page Break fields in a Web Form" -msgstr "" +msgstr "لا يمكن أن يحتوي نموذج الويب إلا على 9 حقول فاصلة للصفحات" -#: frappe/core/doctype/doctype/doctype.py:1458 +#: frappe/core/doctype/doctype/doctype.py:1472 msgid "There can be only one Fold in a form" msgstr "يمكن أن يكون هناك واحد فقط طية في شكل" @@ -26541,21 +26799,21 @@ msgstr "يوجد خطأ في قالب العناوين {0}" msgid "There is no data to be exported" msgstr "لا توجد بيانات ليتم تصديرها" -#: frappe/model/workflow.py:170 +#: frappe/model/workflow.py:191 msgid "There is no task called \"{}\"" -msgstr "" +msgstr "لا توجد مهمة تسمى \"{}\"" -#: frappe/public/js/frappe/ui/notifications/notifications.js:523 +#: frappe/public/js/frappe/ui/notifications/notifications.js:532 msgid "There is nothing new to show you right now." -msgstr "" +msgstr "لا يوجد شيء جديد لأعرضه لكم الآن." #: frappe/core/doctype/file/file.py:650 frappe/utils/file_manager.py:372 msgid "There is some problem with the file url: {0}" msgstr "هناك بعض المشاكل مع رابط الملف: {0}" -#: frappe/public/js/frappe/views/reports/query_report.js:973 +#: frappe/public/js/frappe/views/reports/query_report.js:990 msgid "There is {0} with the same filters already in the queue:" -msgstr "" +msgstr "يوجد {0} بنفس عوامل التصفية الموجودة بالفعل في قائمة الانتظار:" #: frappe/core/page/permission_manager/permission_manager.py:166 msgid "There must be atleast one permission rule." @@ -26569,7 +26827,7 @@ msgstr "كان هناك خطأ في بناء هذه الصفحة" msgid "There was an error saving filters" msgstr "كان هناك خطأ في حفظ المرشحات" -#: frappe/public/js/frappe/form/sidebar/attachments.js:237 +#: frappe/public/js/frappe/form/sidebar/attachments.js:216 msgid "There were errors" msgstr "كانت هناك أخطاء" @@ -26577,11 +26835,11 @@ msgstr "كانت هناك أخطاء" msgid "There were errors while creating the document. Please try again." msgstr "كانت هناك أخطاء أثناء إنشاء المستند. حاول مرة اخرى." -#: frappe/public/js/frappe/views/communication.js:834 +#: frappe/public/js/frappe/views/communication.js:903 msgid "There were errors while sending email. Please try again." -msgstr "" +msgstr "كانت هناك أخطاء أثناء إرسال البريد الإلكتروني. يرجى المحاولة مرة أخرى." -#: frappe/model/naming.py:502 +#: frappe/model/naming.py:500 msgid "There were some errors setting the name, please contact the administrator" msgstr "كانت هناك بعض الأخطاء التي تحدد الاسم، يرجى الاتصال بالمشرف" @@ -26589,19 +26847,19 @@ msgstr "كانت هناك بعض الأخطاء التي تحدد الاسم، #. 'Navbar Settings' #: frappe/core/doctype/navbar_settings/navbar_settings.json msgid "These announcements will appear inside a dismissible alert below the Navbar." -msgstr "" +msgstr "ستظهر هذه الإعلانات داخل تنبيه قابل للإغلاق أسفل شريط التنقل." #. Description of the 'Metadata' (Section Break) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "These fields are used to provide resource server metadata to clients querying the \"well known protected resource\" end point." -msgstr "" +msgstr "تُستخدم هذه الحقول لتوفير بيانات تعريف خادم الموارد للعملاء الذين يستعلمون عن نقطة النهاية \"المورد المحمي المعروف\"." #. Description of the 'LDAP Custom Settings' (Section Break) field in DocType #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "These settings are required if 'Custom' LDAP Directory is used" -msgstr "" +msgstr "هذه الإعدادات مطلوبة في حالة استخدام دليل LDAP \"المخصص\"." #. Description of the 'Defaults' (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -26628,33 +26886,33 @@ msgstr "وهذا المجلس كانبان يكون القطاع الخاص" #: frappe/public/js/frappe/ui/filters/filter.js:665 msgid "This Month" -msgstr "" +msgstr "الشهر الجاري" #: frappe/core/doctype/file/file.py:406 msgid "This PDF cannot be uploaded as it contains unsafe content." -msgstr "" +msgstr "لا يمكن تحميل ملف PDF هذا لاحتوائه على محتوى غير آمن." #: frappe/public/js/frappe/ui/filters/filter.js:669 msgid "This Quarter" -msgstr "" +msgstr "ربع السنة الجاري" #: frappe/public/js/frappe/ui/filters/filter.js:661 msgid "This Week" -msgstr "" +msgstr "هذا الأسبوع" #: frappe/public/js/frappe/ui/filters/filter.js:673 msgid "This Year" -msgstr "" +msgstr "هذا العام" #: frappe/custom/doctype/customize_form/customize_form.js:220 msgid "This action is irreversible. Do you wish to continue?" -msgstr "" +msgstr "هذا الإجراء غير قابل للتراجع. هل ترغب في المتابعة؟" -#: frappe/__init__.py:545 +#: frappe/__init__.py:543 msgid "This action is only allowed for {}" msgstr "هذا الإجراء مسموح به فقط لـ {}" -#: frappe/public/js/frappe/form/toolbar.js:128 +#: frappe/public/js/frappe/form/toolbar.js:127 #: frappe/public/js/frappe/model/model.js:706 msgid "This cannot be undone" msgstr "هذا لا يمكن التراجع عنها" @@ -26662,7 +26920,7 @@ msgstr "هذا لا يمكن التراجع عنها" #: frappe/desk/doctype/number_card/number_card.js:484 msgctxt "Number Card" msgid "This card is visible only to Administrator and System Managers by default. Set a DocType to share with users who have read access." -msgstr "" +msgstr "لا تظهر هذه البطاقة افتراضيًا إلا للمسؤولين ومديري النظام. حدد نوع المستند لمشاركته مع المستخدمين الذين لديهم صلاحية القراءة." #. Description of the 'Is Public' (Check) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json @@ -26676,35 +26934,35 @@ msgstr "سيكون هذا المخطط متاحًا لجميع المستخدم #: frappe/custom/doctype/customize_form/customize_form.js:212 msgid "This doctype has no orphan fields to trim" -msgstr "" +msgstr "لا يحتوي هذا النوع من المستندات على حقول يتيمة لحذفها" -#: frappe/core/doctype/doctype/doctype.py:1069 +#: frappe/core/doctype/doctype/doctype.py:1072 msgid "This doctype has pending migrations, run 'bench migrate' before modifying the doctype to avoid losing changes." -msgstr "" +msgstr "يحتوي هذا النوع من المستندات على عمليات ترحيل معلقة، قم بتشغيل الأمر 'bench migrate' قبل تعديل نوع المستند لتجنب فقدان التغييرات." #: frappe/model/delete_doc.py:155 msgid "This document can not be deleted right now as it's being modified by another user. Please try again after some time." -msgstr "" +msgstr "لا يمكن حذف هذا المستند الآن لأنه قيد التعديل من قبل مستخدم آخر. يرجى المحاولة مرة أخرى بعد قليل." #: frappe/core/doctype/submission_queue/submission_queue.py:171 msgid "This document has already been queued for submission. You can track the progress over {0}." -msgstr "" +msgstr "تمت إضافة هذا المستند إلى قائمة الانتظار للإرسال. يمكنك متابعة التقدم عبر {0}." #: frappe/www/confirm_workflow_action.html:8 msgid "This document has been modified after the email was sent." msgstr "تم تعديل هذا المستند بعد إرسال البريد الإلكتروني." -#: frappe/public/js/frappe/form/form.js:1317 +#: frappe/public/js/frappe/form/form.js:1346 msgid "This document has unsaved changes which might not appear in final PDF.
Consider saving the document before printing." msgstr "" -#: frappe/public/js/frappe/form/form.js:1105 +#: frappe/public/js/frappe/form/form.js:1134 msgid "This document is already amended, you cannot ammend it again" msgstr "تم تعديل هذا المستند بالفعل ، ولا يمكنك تعديله مرة أخرى" -#: frappe/model/document.py:509 +#: frappe/model/document.py:508 msgid "This document is currently locked and queued for execution. Please try again after some time." -msgstr "" +msgstr "هذا المستند مغلق حاليًا ومُدرج في قائمة الانتظار للتنفيذ. يُرجى المحاولة مرة أخرى بعد فترة." #: frappe/templates/emails/auto_repeat_fail.html:7 msgid "This email is autogenerated" @@ -26713,11 +26971,12 @@ msgstr "تم إنشاء هذا البريد الإلكتروني تلقائيا" #: frappe/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 "" +msgstr "لا يمكن استخدام هذه الميزة لعدم توفر بعض المتطلبات.\n" +"\t\t\t\tيرجى التواصل مع مدير النظام لتفعيلها عن طريق تثبيت pycups!" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:41 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:65 msgid "This feature is brand new and still experimental" -msgstr "" +msgstr "هذه الميزة جديدة تمامًا وما زالت تجريبية." #. Description of the 'Depends On' (Code) field in DocType 'Customize Form #. Field' @@ -26726,27 +26985,30 @@ msgid "This field will appear only if the fieldname defined here has value OR th "myfield\n" "eval:doc.myfield=='My Value'\n" "eval:doc.age>18" -msgstr "" +msgstr "سيظهر هذا الحقل فقط إذا كان اسم الحقل المحدد هنا يحتوي على قيمة أو إذا كانت القواعد صحيحة (أمثلة):\n" +"myfield\n" +"eval:doc.myfield=='My Value'\n" +"eval:doc.age>18" #: frappe/core/doctype/file/file.py:532 msgid "This file is attached to a protected document and cannot be deleted." -msgstr "" +msgstr "هذا الملف مرفق بمستند محمي ولا يمكن حذفه." #: frappe/public/js/frappe/file_uploader/FilePreview.vue:83 msgid "This file is public and can be accessed by anyone, even without logging in. Mark it private to limit access." -msgstr "" +msgstr "هذا الملف عام ويمكن لأي شخص الوصول إليه، حتى بدون تسجيل الدخول. قم بجعله خاصًا لتقييد الوصول إليه." #: frappe/core/doctype/file/file.js:20 msgid "This file is public. It can be accessed without authentication." -msgstr "" +msgstr "هذا الملف عام. يمكن الوصول إليه بدون مصادقة." -#: frappe/public/js/frappe/form/form.js:1211 +#: frappe/public/js/frappe/form/form.js:1240 msgid "This form has been modified after you have loaded it" msgstr "تم تعديل هذا النموذج بعد أن كنت قد تحميلها" -#: frappe/public/js/frappe/form/form.js:2275 +#: frappe/public/js/frappe/form/form.js:2306 msgid "This form is not editable due to a Workflow." -msgstr "" +msgstr "هذا النموذج غير قابل للتعديل بسبب سير العمل." #. Description of the 'Is Default' (Check) field in DocType 'Address Template' #: frappe/contacts/doctype/address_template/address_template.json @@ -26755,7 +27017,7 @@ msgstr "ويستخدم هذا الشكل إذا لم يتم العثور على #: frappe/integrations/doctype/geolocation_settings/geolocation_settings.py:52 msgid "This geolocation provider is not supported yet." -msgstr "" +msgstr "لا يتم دعم مزود خدمة تحديد الموقع الجغرافي هذا حاليًا." #. Description of the 'Header' (HTML Editor) field in DocType 'Website #. Slideshow' @@ -26763,7 +27025,7 @@ msgstr "" msgid "This goes above the slideshow." msgstr "هذا يذهب فوق عرض الشرائح." -#: frappe/public/js/frappe/views/reports/query_report.js:2219 +#: frappe/public/js/frappe/views/reports/query_report.js:2280 msgid "This is a background report. Please set the appropriate filters and then generate a new one." msgstr "هذا هو تقرير الخلفية. يرجى تعيين المرشحات المناسبة ثم إنشاء واحدة جديدة." @@ -26781,7 +27043,7 @@ msgstr "هذا هو كلمة شائعة جدا." #: frappe/core/doctype/rq_job/rq_job.js:9 msgid "This is a virtual doctype and data is cleared periodically." -msgstr "" +msgstr "هذا نوع مستند افتراضي، ويتم مسح البيانات بشكل دوري." #: frappe/templates/emails/auto_reply.html:5 msgid "This is an automatically generated reply" @@ -26805,23 +27067,23 @@ msgstr "تم تنشيط هذا الرابط بالفعل للتحقق منه." msgid "This link is invalid or expired. Please make sure you have pasted correctly." msgstr "هذا الرابط غير صالح أو منتهية الصلاحية. من فضلك تأكد من ولصق بشكل صحيح." -#: frappe/printing/page/print/print.js:450 +#: frappe/printing/page/print/print.js:458 msgid "This may get printed on multiple pages" msgstr "قد تتم طباعة هذا على صفحات متعددة" -#: frappe/utils/goal.py:121 +#: frappe/utils/goal.py:120 msgid "This month" msgstr "هذا الشهر" -#: frappe/public/js/frappe/views/reports/query_report.js:1052 +#: frappe/public/js/frappe/views/reports/query_report.js:1069 msgid "This report contains {0} rows and is too big to display in browser, you can {1} this report instead." -msgstr "" +msgstr "يحتوي هذا التقرير على {0} صفوف وهو كبير جدًا بحيث لا يمكن عرضه في المتصفح، يمكنك {1} هذا التقرير بدلاً من ذلك." #: frappe/templates/emails/auto_email_report.html:57 msgid "This report was generated on {0}" msgstr "تم إنشاء هذا التقرير في {0}" -#: frappe/public/js/frappe/views/reports/query_report.js:864 +#: frappe/public/js/frappe/views/reports/query_report.js:881 msgid "This report was generated {0}." msgstr "تم إنشاء هذا التقرير {0}." @@ -26831,29 +27093,29 @@ msgstr "لم تتم الموافقة على هذا الطلب من قبل الم #: frappe/templates/includes/navbar/navbar_items.html:95 msgid "This site is in read only mode, full functionality will be restored soon." -msgstr "" +msgstr "هذا الموقع في وضع القراءة فقط، وسيتم استعادة جميع وظائفه قريباً." #: frappe/core/doctype/doctype/doctype.js:73 msgid "This site is running in developer mode. Any change made here will be updated in code." -msgstr "" +msgstr "هذا الموقع يعمل في وضع المطورين. أي تغيير يتم إجراؤه هنا سيتم تحديثه في الكود." #: frappe/www/attribution.html:11 msgid "This software is built on top of many open source packages." -msgstr "" +msgstr "تم بناء هذا البرنامج بالاعتماد على العديد من حزم البرامج مفتوحة المصدر." #: frappe/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 "سيتم استخدام هذا العنوان كعنوان لصفحة الويب وكذلك في العلامات الوصفية" -#: frappe/public/js/frappe/form/controls/base_input.js:129 +#: frappe/public/js/frappe/form/controls/base_input.js:141 msgid "This value is fetched from {0}'s {1} field" -msgstr "" +msgstr "يتم جلب هذه القيمة من حقل {0}الخاص بـ {1}" #. Description of the 'Max Report Rows' (Int) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "This value specifies the max number of rows that can be rendered in report view." -msgstr "" +msgstr "تحدد هذه القيمة الحد الأقصى لعدد الصفوف التي يمكن عرضها في عرض التقرير." #: frappe/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" @@ -26881,15 +27143,15 @@ msgstr "سيؤدي هذا إلى إزالة بياناتك نهائيًا." #: frappe/desk/doctype/form_tour/form_tour.js:103 msgid "This will reset this tour and show it to all users. Are you sure?" -msgstr "" +msgstr "سيؤدي هذا إلى إعادة ضبط هذه الجولة وعرضها لجميع المستخدمين. هل أنت متأكد؟" #: frappe/core/doctype/data_import/data_import.js:182 #: frappe/core/doctype/prepared_report/prepared_report.js:68 #: frappe/core/doctype/rq_job/rq_job.js:15 msgid "This will terminate the job immediately and might be dangerous, are you sure?" -msgstr "" +msgstr "سيؤدي هذا إلى إنهاء العمل فوراً وقد يكون خطيراً، هل أنت متأكد؟" -#: frappe/core/doctype/user/user.py:1322 +#: frappe/core/doctype/user/user.py:1325 msgid "Throttled" msgstr "مخنوق" @@ -26912,7 +27174,7 @@ msgstr "URL المصغرة" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Thursday" -msgstr "" +msgstr "الخميس" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the time (Datetime) field in DocType 'Recorder' @@ -26920,6 +27182,7 @@ msgstr "" #. Option for the 'Fieldtype' (Select) field in DocType 'Report Filter' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' +#. Label of the time (Time) field in DocType 'Event Notifications' #. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field' #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/recorder/recorder.json @@ -26927,6 +27190,7 @@ msgstr "" #: frappe/core/doctype/report_filter/report_filter.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Time" msgstr "زمن" @@ -26941,7 +27205,7 @@ msgstr "تنسيق الوقت" #. Label of the time_interval (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json msgid "Time Interval" -msgstr "" +msgstr "الفاصل الزمني" #. Label of the timeseries (Check) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -26956,12 +27220,12 @@ msgstr "سلسلة زمنية بناء على" #. Label of the time_taken (Duration) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Time Taken" -msgstr "" +msgstr "الوقت المستغرق" #. Label of the rate_limit_seconds (Int) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Time Window (Seconds)" -msgstr "" +msgstr "نافذة زمنية (بالثواني)" #. Label of the time_zone (Select) field in DocType 'System Settings' #. Label of the time_zone (Autocomplete) field in DocType 'User' @@ -26988,13 +27252,13 @@ msgstr "تنسيق الوقت" #. Label of the time_in_queries (Float) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "Time in Queries" -msgstr "" +msgstr "الوقت في الاستعلامات" #. Description of the 'Expiry time of QR Code Image Page' (Int) field in #. DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Time in seconds to retain QR code image on server. Min:240" -msgstr "الوقت في ثوان للاحتفاظ صورة رمز الاستجابة السريعة على الخادم. الحد الأدنى: 240" +msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:413 msgid "Time series based on is required to create a dashboard chart" @@ -27007,21 +27271,16 @@ msgstr "يجب أن يكون الوقت {0} بالتنسيق: {1}" #. Option for the 'Status' (Select) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Timed Out" -msgstr "" - -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Timeless Launchpad" -msgstr "" +msgstr "انتهت مهلة الجلسة" #: frappe/public/js/frappe/ui/theme_switcher.js:64 msgid "Timeless Night" -msgstr "" +msgstr "ليلة خالدة" #. Label of the timeline (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Timeline" -msgstr "" +msgstr "الجدول الزمني" #. Label of the timeline_doctype (Link) field in DocType 'Activity Log' #: frappe/core/doctype/activity_log/activity_log.json @@ -27045,23 +27304,23 @@ msgstr "الجدول الزمني وصلات" msgid "Timeline Name" msgstr "اسم الزمني" -#: frappe/core/doctype/doctype/doctype.py:1553 +#: frappe/core/doctype/doctype/doctype.py:1567 msgid "Timeline field must be a Link or Dynamic Link" msgstr "يجب أن يكون حقل المخطط الزمني رابطا أو رابطا ديناميا" -#: frappe/core/doctype/doctype/doctype.py:1549 +#: frappe/core/doctype/doctype/doctype.py:1563 msgid "Timeline field must be a valid fieldname" msgstr "يجب أن يكون حقل المخطط الزمني اسم حقل صالحا" #. Label of the timeout (Duration) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "Timeout" -msgstr "" +msgstr "نفذ الوقت" #. Label of the timeout (Int) field in DocType 'Report' #: frappe/core/doctype/report/report.json msgid "Timeout (In Seconds)" -msgstr "" +msgstr "مهلة زمنية (بالثواني)" #. Label of the timeseries (Check) field in DocType 'Dashboard Chart Source' #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.json @@ -27081,7 +27340,7 @@ msgstr "الطابع الزمني" #: frappe/desk/doctype/system_console/system_console.js:41 msgid "Tip: Try the new dropdown console using" -msgstr "" +msgstr "نصيحة: جرّب وحدة التحكم المنسدلة الجديدة باستخدام" #. Label of the title (Data) field in DocType 'DocType State' #. Label of the method (Data) field in DocType 'Error Log' @@ -27120,7 +27379,7 @@ msgstr "" #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json #: frappe/email/doctype/email_group/email_group.json -#: frappe/public/js/frappe/views/workspace/workspace.js:407 +#: frappe/public/js/frappe/views/workspace/workspace.js:455 #: frappe/website/doctype/discussion_topic/discussion_topic.json #: frappe/website/doctype/help_article/help_article.json #: frappe/website/doctype/portal_menu_item/portal_menu_item.json @@ -27129,7 +27388,7 @@ msgstr "" #: frappe/website/doctype/website_sidebar/website_sidebar.json #: frappe/website/doctype/website_sidebar_item/website_sidebar_item.json msgid "Title" -msgstr "" +msgstr "اللقب" #. Label of the title_field (Data) field in DocType 'DocType' #. Label of the title_field (Data) field in DocType 'Customize Form' @@ -27143,7 +27402,7 @@ msgstr "حقل العنوان" msgid "Title Prefix" msgstr "عنوان الاختصار" -#: frappe/core/doctype/doctype/doctype.py:1490 +#: frappe/core/doctype/doctype/doctype.py:1504 msgid "Title field must be a valid fieldname" msgstr "يجب أن يكون حقل العنوان حقل اسم صالح" @@ -27156,18 +27415,18 @@ msgstr "عنوان الصفحة" #: frappe/core/doctype/permission_log/permission_log.js:12 #: frappe/public/js/frappe/views/inbox/inbox_view.js:70 msgid "To" -msgstr "" +msgstr "إلى" #: frappe/public/js/frappe/views/communication.js:53 msgctxt "Email Recipients" msgid "To" -msgstr "" +msgstr "إلى" #. Label of the to_date (Date) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/report/website_analytics/website_analytics.js:14 msgid "To Date" -msgstr "" +msgstr "إلى تاريخ" #. Label of the to_date_field (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -27195,7 +27454,7 @@ msgstr "" #: frappe/email/doctype/auto_email_report/auto_email_report.py:109 msgid "To allow more reports update limit in System Settings." -msgstr "" +msgstr "للسماح بتحديث عدد التقارير المسموح بها في إعدادات النظام." #. Label of the section_break_10 (Section Break) field in DocType #. 'Communication' @@ -27207,7 +27466,7 @@ msgstr "لوCC" #. Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "To begin the date range at the start of the chosen period. For example, if 'Year' is selected as the period, the report will start from January 1st of the current year." -msgstr "" +msgstr "لبدء نطاق التاريخ من بداية الفترة المختارة. على سبيل المثال، إذا تم اختيار \"السنة\" كفترة، فسيبدأ التقرير من 1 يناير من السنة الحالية." #: frappe/automation/doctype/auto_repeat/auto_repeat.js:35 msgid "To configure Auto Repeat, enable \"Allow Auto Repeat\" from {0}." @@ -27219,23 +27478,23 @@ msgstr "لتمكينه ، اتبع التعليمات في الرابط التا #: frappe/core/doctype/server_script/server_script.js:40 msgid "To enable server scripts, read the {0}." -msgstr "" +msgstr "لتمكين البرامج النصية للخادم، اقرأ {0}." #: frappe/desk/doctype/onboarding_step/onboarding_step.js:18 msgid "To export this step as JSON, link it in a Onboarding document and save the document." -msgstr "" +msgstr "لتصدير هذه الخطوة بصيغة JSON، قم بربطها في مستند الإعداد واحفظ المستند." #: frappe/email/doctype/email_account/email_account.js:126 msgid "To generate password click {0}" -msgstr "" +msgstr "لإنشاء كلمة مرور، انقر على {0}" -#: frappe/public/js/frappe/views/reports/query_report.js:865 +#: frappe/public/js/frappe/views/reports/query_report.js:882 msgid "To get the updated report, click on {0}." msgstr "للحصول على التقرير المحدّث ، انقر على {0}." #: frappe/email/doctype/email_account/email_account.js:139 msgid "To know more click {0}" -msgstr "" +msgstr "للمزيد من المعلومات، انقر {0}" #. Description of the 'Console' (Code) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json @@ -27244,7 +27503,7 @@ msgstr "" #: frappe/core/doctype/user_type/user_type.py:291 msgid "To set the role {0} in the user {1}, kindly set the {2} field as {3} in one of the {4} record." -msgstr "" +msgstr "لتعيين الدور {0} في المستخدم {1}، يرجى تعيين الحقل {2} كـ {3} في أحد سجلات {4} ." #: frappe/integrations/doctype/google_calendar/google_calendar.js:8 msgid "To use Google Calendar, enable {0}." @@ -27267,7 +27526,7 @@ msgstr "" #: frappe/public/js/frappe/utils/diffview.js:44 msgid "To version" -msgstr "" +msgstr "إلى الإصدار" #. Name of a DocType #. Name of a report @@ -27282,31 +27541,14 @@ msgstr "قائمة المهام" msgid "Today" msgstr "اليوم" -#: frappe/public/js/frappe/views/reports/report_view.js:1566 +#: frappe/public/js/frappe/views/reports/report_view.js:1567 msgid "Toggle Chart" msgstr "تبديل الرسم البياني" -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py -msgid "Toggle Full Width" -msgstr "" - #: frappe/public/js/frappe/views/file/file_view.js:33 msgid "Toggle Grid View" msgstr "تبديل عرض الشبكة" -#: frappe/public/js/frappe/ui/page.js:206 -#: frappe/public/js/frappe/ui/page.js:208 -msgid "Toggle Sidebar" -msgstr "تبديل الشريط الجانبي" - -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py -msgid "Toggle Theme" -msgstr "" - #. Option for the 'Response Type' (Select) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Token" @@ -27315,23 +27557,23 @@ msgstr "رمز" #. Name of a DocType #: frappe/integrations/doctype/token_cache/token_cache.json msgid "Token Cache" -msgstr "" +msgstr "ذاكرة التخزين المؤقت للرموز المميزة" #. Label of the token_endpoint_auth_method (Select) field in DocType 'OAuth #. Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Token Endpoint Auth Method" -msgstr "" +msgstr "طريقة مصادقة نقطة نهاية الرمز المميز" #. Label of the token_type (Data) field in DocType 'Token Cache' #: frappe/integrations/doctype/token_cache/token_cache.json msgid "Token Type" -msgstr "" +msgstr "نوع الرمز المميز" #. Label of the token_uri (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Token URI" -msgstr "" +msgstr "رمز URI" #: frappe/utils/oauth.py:213 msgid "Token is missing" @@ -27339,26 +27581,30 @@ msgstr "رمز مفقود" #: frappe/public/js/frappe/ui/filters/filter.js:738 msgid "Tomorrow" -msgstr "" +msgstr "غداً" #: frappe/desk/doctype/bulk_update/bulk_update.py:68 -#: frappe/model/workflow.py:310 +#: frappe/model/workflow.py:331 msgid "Too Many Documents" -msgstr "" +msgstr "عدد كبير جداً من المستندات" #: frappe/rate_limiter.py:101 msgid "Too Many Requests" msgstr "طلبات كثيرة جدا" -#: frappe/database/database.py:474 +#: frappe/database/database.py:480 msgid "Too many changes to database in single action." -msgstr "" +msgstr "تغييرات كثيرة جداً في قاعدة البيانات في إجراء واحد." -#: frappe/utils/background_jobs.py:737 +#: frappe/utils/background_jobs.py:736 msgid "Too many queued background jobs ({0}). Please retry after some time." -msgstr "" +msgstr "عدد كبير جدًا من المهام الخلفية في قائمة الانتظار ({0}). يرجى إعادة المحاولة بعد فترة." -#: frappe/core/doctype/user/user.py:1090 +#: frappe/templates/includes/login/login.js:291 +msgid "Too many requests. Please try again later." +msgstr "عدد الطلبات كبير جدًا. يرجى المحاولة مرة أخرى لاحقًا." + +#: frappe/core/doctype/user/user.py:1093 msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour" msgstr "وقعت الكثير من المستخدمين في الآونة الأخيرة، وذلك هو تعطيل التسجيل. يرجى المحاولة مرة أخرى في ساعة" @@ -27370,7 +27616,7 @@ msgstr "أعلى" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.js:13 msgid "Top 10" -msgstr "" +msgstr "أفضل 10" #. Name of a DocType #: frappe/website/doctype/top_bar_item/top_bar_item.json @@ -27388,18 +27634,18 @@ msgstr "قطع الشريط العلوي" #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:245 msgid "Top Center" -msgstr "" +msgstr "أعلى المنتصف" #. Label of the top_errors (Table) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Top Errors" -msgstr "" +msgstr "أبرز الأخطاء" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:244 msgid "Top Left" -msgstr "" +msgstr "أعلى اليسار" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Page Number' (Select) field in DocType 'Print Format' @@ -27407,40 +27653,40 @@ msgstr "" #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/print_format_builder/PrintFormatControls.vue:246 msgid "Top Right" -msgstr "" +msgstr "أعلى اليمين" #. Label of the topic (Link) field in DocType 'Discussion Reply' #: frappe/website/doctype/discussion_reply/discussion_reply.json msgid "Topic" msgstr "موضوع" -#: frappe/desk/query_report.py:622 -#: frappe/public/js/frappe/views/reports/print_grid.html:45 -#: frappe/public/js/frappe/views/reports/query_report.js:1354 -#: frappe/public/js/frappe/views/reports/report_view.js:1547 +#: frappe/desk/query_report.py:621 +#: frappe/public/js/frappe/views/reports/print_grid.html:50 +#: frappe/public/js/frappe/views/reports/query_report.js:1371 +#: frappe/public/js/frappe/views/reports/report_view.js:1548 msgid "Total" -msgstr "" +msgstr "الاجمالي غير شامل الضريبة" #. Label of the total_background_workers (Int) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Total Background Workers" -msgstr "" +msgstr "عمال الخلفية الكاملة" #. Label of the total_errors (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Total Errors (last 1 day)" -msgstr "" +msgstr "إجمالي الأخطاء (آخر يوم واحد)" -#: frappe/public/js/frappe/ui/capture.js:259 +#: frappe/public/js/frappe/ui/capture.js:260 msgid "Total Images" -msgstr "" +msgstr "إجمالي الصور" #. Label of the total_outgoing_emails (Int) field in DocType 'System Health #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Total Outgoing Emails" -msgstr "" +msgstr "إجمالي رسائل البريد الإلكتروني الصادرة" #. Label of the total_subscribers (Int) field in DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json @@ -27450,18 +27696,18 @@ msgstr "إجمالي عدد المشتركين" #. Label of the total_users (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Total Users" -msgstr "" +msgstr "إجمالي المستخدمين" #. Label of the total_working_time (Duration) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Total Working Time" -msgstr "" +msgstr "إجمالي وقت العمل" #. Description of the 'Initial Sync Count' (Select) field in DocType 'Email #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Total number of emails to sync in initial sync process" -msgstr "" +msgstr "إجمالي عدد رسائل البريد الإلكتروني المراد مزامنتها في عملية المزامنة الأولية" #: frappe/public/js/print_format_builder/ConfigureColumns.vue:12 msgid "Total:" @@ -27469,7 +27715,7 @@ msgstr "الاجمالي غير شامل الضريبة:" #: frappe/public/js/frappe/views/reports/report_view.js:1252 msgid "Totals" -msgstr "" +msgstr "المجاميع" #: frappe/public/js/frappe/views/reports/report_view.js:1227 msgid "Totals Row" @@ -27478,12 +27724,12 @@ msgstr "الصف الكلي" #. Label of the trace_id (Data) field in DocType 'Error Log' #: frappe/core/doctype/error_log/error_log.json msgid "Trace ID" -msgstr "" +msgstr "معرف التتبع" #. Label of the traceback (Code) field in DocType 'Patch Log' #: frappe/core/doctype/patch_log/patch_log.json msgid "Traceback" -msgstr "" +msgstr "تتبع الأخطاء" #. Label of the track_changes (Check) field in DocType 'DocType' #. Label of the track_changes (Check) field in DocType 'Customize Form' @@ -27510,7 +27756,7 @@ msgstr "المسار رأيت" #. Label of the track_steps (Check) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Track Steps" -msgstr "" +msgstr "تتبع الخطوات" #. Label of the track_views (Check) field in DocType 'DocType' #. Label of the track_views (Check) field in DocType 'Customize Form' @@ -27530,11 +27776,11 @@ msgstr "" #. Description of a DocType #: frappe/automation/doctype/milestone_tracker/milestone_tracker.json msgid "Track milestones for any document" -msgstr "" +msgstr "تتبع المراحل الرئيسية لأي مستند" -#: frappe/public/js/frappe/utils/utils.js:1936 +#: frappe/public/js/frappe/utils/utils.js:2067 msgid "Tracking URL generated and copied to clipboard" -msgstr "" +msgstr "تم إنشاء رابط التتبع ونسخه إلى الحافظة" #: frappe/desk/page/setup_wizard/install_fixtures.py:31 msgid "Transgender" @@ -27542,7 +27788,7 @@ msgstr "" #: frappe/public/js/workflow_builder/components/Properties.vue:19 msgid "Transition Properties" -msgstr "" +msgstr "خصائص الانتقال" #. Label of the transition_rules (Section Break) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -27552,7 +27798,7 @@ msgstr "الانتقال قوانين" #. Label of the transition_tasks (Link) field in DocType 'Workflow Transition' #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Transition Tasks" -msgstr "" +msgstr "مهام الانتقال" #. Label of the transitions (Table) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json @@ -27568,20 +27814,20 @@ msgstr "التحولات" msgid "Translatable" msgstr "للترجمة" -#: frappe/public/js/frappe/views/reports/query_report.js:2274 +#: frappe/public/js/frappe/views/reports/query_report.js:2341 msgid "Translate Data" -msgstr "" +msgstr "ترجمة البيانات" #. Label of the translated_doctype (Check) field in DocType 'DocType' #. Label of the translated_doctype (Check) field in DocType 'Customize Form' #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Translate Link Fields" -msgstr "" +msgstr "ترجمة حقول الروابط" -#: frappe/public/js/frappe/views/reports/report_view.js:1662 +#: frappe/public/js/frappe/views/reports/report_view.js:1663 msgid "Translate values" -msgstr "" +msgstr "ترجمة القيم" #: frappe/public/js/frappe/views/translation_manager.js:11 msgid "Translate {0}" @@ -27604,7 +27850,7 @@ msgstr "ترجمة" #. Name of a role #: frappe/core/doctype/translation/translation.json msgid "Translator" -msgstr "" +msgstr "مترجم" #. Option for the 'Email Status' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -27615,13 +27861,13 @@ msgstr "قمامة، يدمر، يهدم" #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:96 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:89 msgid "Tree" msgstr "شجرة" #: frappe/public/js/frappe/list/base_list.js:211 msgid "Tree View" -msgstr "" +msgstr "عرض الشجرة" #. Description of the 'Is Tree' (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -27643,7 +27889,7 @@ msgstr "الزناد العمل الأساسي" #: frappe/tests/test_translate.py:55 msgid "Trigger caching" -msgstr "" +msgstr "تخزين المشغلات مؤقتًا" #. Description of the 'Trigger Method' (Data) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -27652,22 +27898,22 @@ msgstr "الزناد على الطرق الصحيحة مثل "before_insert #: frappe/custom/doctype/customize_form/customize_form.js:144 msgid "Trim Table" -msgstr "" +msgstr "طاولة التشذيب" #: frappe/public/js/frappe/widgets/onboarding_widget.js:318 msgid "Try Again" -msgstr "" +msgstr "حاول ثانية" #. Label of the try_naming_series (Data) field in DocType 'Document Naming #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Try a Naming Series" -msgstr "" +msgstr "جرب سلسلة تسمية" -#: frappe/printing/page/print/print.js:204 -#: frappe/printing/page/print/print.js:210 +#: frappe/printing/page/print/print.js:212 +#: frappe/printing/page/print/print.js:218 msgid "Try the new Print Designer" -msgstr "" +msgstr "جرّب مصمم الطباعة الجديد" #: frappe/utils/password_strength.py:106 msgid "Try to avoid repeated words and characters" @@ -27691,7 +27937,7 @@ msgstr "محاولة استخدام نمط لوحة المفاتيح أطول م #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Tuesday" -msgstr "" +msgstr "الثلاثاء" #. Label of the two_factor_auth (Check) field in DocType 'Role' #. Label of the two_factor_authentication (Section Break) field in DocType @@ -27711,6 +27957,7 @@ msgstr "أسلوب اثنان عامل المصادقة" #. Label of the fieldtype (Select) field in DocType 'Customize Form Field' #. Label of the type (Data) field in DocType 'Console Log' #. Label of the type (Select) field in DocType 'Dashboard Chart' +#. Label of the type (Select) field in DocType 'Event Notifications' #. Label of the type (Select) field in DocType 'Notification Log' #. Label of the type (Select) field in DocType 'Number Card' #. Label of the type (Select) field in DocType 'System Console' @@ -27724,6 +27971,7 @@ msgstr "أسلوب اثنان عامل المصادقة" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/console_log/console_log.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/desk/doctype/notification_log/notification_log.json #: frappe/desk/doctype/number_card/number_card.json #: frappe/desk/doctype/system_console/system_console.json @@ -27732,16 +27980,16 @@ msgstr "أسلوب اثنان عامل المصادقة" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/public/js/frappe/views/file/file_view.js:371 -#: frappe/public/js/frappe/views/workspace/workspace.js:413 +#: frappe/public/js/frappe/views/workspace/workspace.js:461 #: frappe/public/js/frappe/widgets/widget_dialog.js:404 #: frappe/website/doctype/web_template/web_template.json #: frappe/www/attribution.html:35 msgid "Type" -msgstr "" +msgstr "النوع" #: frappe/public/js/frappe/form/controls/comment.js:81 msgid "Type a reply / comment" -msgstr "" +msgstr "اكتب رداً / تعليقاً" #: frappe/templates/includes/search_template.html:51 msgid "Type something in the search box to search" @@ -27751,11 +27999,11 @@ msgstr "اكتب شيئا في مربع البحث للبحث" #: frappe/templates/discussions/reply_section.html:53 #: frappe/templates/discussions/topic_modal.html:11 msgid "Type title" -msgstr "" +msgstr "اكتب العنوان" #: frappe/templates/discussions/discussions.js:341 msgid "Type your reply here..." -msgstr "" +msgstr "أدخل ردك هنا..." #: frappe/core/doctype/data_export/exporter.py:143 msgid "Type:" @@ -27766,7 +28014,7 @@ msgstr "النوع:" #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "UI Tour" -msgstr "" +msgstr "جولة واجهة المستخدم" #. Label of the uid (Int) field in DocType 'Communication' #. Label of the uid (Data) field in DocType 'Email Flag Queue' @@ -27782,14 +28030,14 @@ msgstr "رمز المستخدم" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/imap_folder/imap_folder.json msgid "UIDNEXT" -msgstr "" +msgstr "يو آي دي نكست" #. Label of the uidvalidity (Data) field in DocType 'Email Account' #. Label of the uidvalidity (Data) field in DocType 'IMAP Folder' #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/imap_folder/imap_folder.json msgid "UIDVALIDITY" -msgstr "" +msgstr "UIDVALIDITY" #. Option for the 'Email Sync Option' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -27830,30 +28078,30 @@ msgstr "عنوان URL للتوثيق أو المساعدة" #: frappe/core/doctype/file/file.py:241 msgid "URL must start with http:// or https://" -msgstr "" +msgstr "يجب أن يبدأ عنوان URL بـ http:// أو https://" #. Description of the 'Resource Documentation' (Data) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "URL of a human-readable page with info that developers might need." -msgstr "" +msgstr "رابط لصفحة سهلة القراءة تحتوي على معلومات قد يحتاجها المطورون." #. Description of the 'Client URI' (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "URL of a web page providing information about the client." -msgstr "" +msgstr "عنوان URL لصفحة ويب تقدم معلومات عن العميل." #. Description of the 'Resource TOS URI' (Data) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "URL of human-readable page with info about the protected resource's terms of service." -msgstr "" +msgstr "رابط صفحة قابلة للقراءة البشرية تحتوي على معلومات حول شروط خدمة المورد المحمي." #. Description of the 'Resource Policy URI' (Data) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "URL of human-readable page with info on requirements about how the client can use the data." -msgstr "" +msgstr "رابط لصفحة سهلة القراءة تحتوي على معلومات حول متطلبات كيفية استخدام العميل للبيانات." #: frappe/website/doctype/web_page/web_page.js:84 msgid "URL of the page" @@ -27862,17 +28110,17 @@ msgstr "عنوان URL للصفحة" #. Description of the 'Policy URI' (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "URL that points to a human-readable policy document for the client. Should be shown to end-user before authorizing." -msgstr "" +msgstr "رابط URL يشير إلى وثيقة سياسة سهلة القراءة للعميل. يجب عرضها للمستخدم النهائي قبل المصادقة." #. Description of the 'TOS URI' (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "URL that points to a human-readable terms of service document for the client. Should be shown to end-user before authorizing." -msgstr "" +msgstr "رابط URL يُشير إلى وثيقة شروط الخدمة سهلة القراءة للعميل. يجب عرضها للمستخدم النهائي قبل المصادقة." #. Description of the 'Logo URI' (Data) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "URL that references a logo for the client." -msgstr "" +msgstr "رابط URL يشير إلى شعار العميل." #. Description of the 'URL' (Data) field in DocType 'Website Slideshow Item' #: frappe/website/doctype/website_slideshow_item/website_slideshow_item.json @@ -27882,32 +28130,32 @@ msgstr "عنوان URL للانتقال إليه عند النقر فوق صور #. Name of a DocType #: frappe/website/doctype/utm_campaign/utm_campaign.json msgid "UTM Campaign" -msgstr "" +msgstr "حملة UTM" #. Name of a DocType #: frappe/website/doctype/utm_medium/utm_medium.json msgid "UTM Medium" -msgstr "" +msgstr "وسط UTM" #. Name of a DocType #: frappe/website/doctype/utm_source/utm_source.json msgid "UTM Source" -msgstr "" +msgstr "مصدر UTM" #. Option for the 'Naming Rule' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "UUID" -msgstr "" +msgstr "UUID" #: frappe/desk/form/document_follow.py:79 msgid "Un-following document {0}" -msgstr "" +msgstr "إلغاء متابعة المستند {0}" #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:67 msgid "Unable to find DocType {0}" msgstr "تعذر العثور على نوع الملف {0}" -#: frappe/public/js/frappe/ui/capture.js:338 +#: frappe/public/js/frappe/ui/capture.js:339 msgid "Unable to load camera." msgstr "تعذر تحميل الكاميرا." @@ -27923,9 +28171,9 @@ msgstr "تعذر فتح الملف المرفق. هل تم تصديره ك CSV؟ msgid "Unable to read file format for {0}" msgstr "تعذر قراءة تنسيق الملف {0}" -#: frappe/core/doctype/communication/email.py:180 +#: frappe/core/doctype/communication/email.py:204 msgid "Unable to send mail because of a missing email account. Please setup default Email Account from Settings > Email Account" -msgstr "" +msgstr "لا يمكن إرسال البريد الإلكتروني بسبب عدم وجود حساب بريد إلكتروني. يُرجى إعداد حساب البريد الإلكتروني الافتراضي من الإعدادات > حساب البريد الإلكتروني" #: frappe/public/js/frappe/views/calendar/calendar.js:450 msgid "Unable to update event" @@ -27942,22 +28190,22 @@ msgstr "إلغاء تعيين الشرط" #: frappe/app.py:399 msgid "Uncaught Exception" -msgstr "" +msgstr "استثناء غير معالج" -#: frappe/public/js/frappe/form/toolbar.js:114 +#: frappe/public/js/frappe/form/toolbar.js:113 msgid "Unchanged" msgstr "دون تغيير" -#: frappe/public/js/frappe/form/toolbar.js:551 +#: frappe/public/js/frappe/form/toolbar.js:554 msgid "Undo" -msgstr "" +msgstr "تراجع" -#: frappe/public/js/frappe/form/toolbar.js:559 +#: frappe/public/js/frappe/form/toolbar.js:562 msgid "Undo last action" -msgstr "" +msgstr "التراجع عن الإجراء الأخير" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:131 -#: frappe/public/js/frappe/form/toolbar.js:912 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:152 +#: frappe/public/js/frappe/form/toolbar.js:945 msgid "Unfollow" msgstr "الغاء المتابعة" @@ -27969,7 +28217,7 @@ msgstr "البريد الإلكتروني غير معالج" #. Label of the unhandled_emails (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Unhandled Emails" -msgstr "" +msgstr "رسائل البريد الإلكتروني غير المعالجة" #. Label of the unique (Check) field in DocType 'DocField' #. Label of the unique (Check) field in DocType 'Custom Field' @@ -27989,7 +28237,7 @@ msgstr "" #: frappe/website/report/website_analytics/website_analytics.js:60 msgid "Unknown" -msgstr "" +msgstr "غير معروف" #: frappe/public/js/frappe/model/model.js:209 msgid "Unknown Column: {0}" @@ -27997,7 +28245,7 @@ msgstr "عمود غير معروف: {0}" #: frappe/utils/data.py:1255 msgid "Unknown Rounding Method: {}" -msgstr "" +msgstr "طريقة التقريب غير معروفة: {}" #: frappe/auth.py:322 msgid "Unknown User" @@ -28005,16 +28253,16 @@ msgstr "مستخدم غير معروف" #: frappe/utils/csvutils.py:54 msgid "Unknown file encoding. Tried to use: {0}" -msgstr "" +msgstr "ترميز ملف غير معروف. تمت محاولة استخدام: {0}" #: frappe/core/doctype/submission_queue/submission_queue.js:7 msgid "Unlock Reference Document" -msgstr "" +msgstr "فتح مستند مرجعي" #: frappe/public/js/frappe/form/footer/form_timeline.js:633 #: frappe/website/doctype/web_form/web_form.js:86 msgid "Unpublish" -msgstr "" +msgstr "إلغاء النشر" #. Option for the 'Action' (Select) field in DocType 'Email Flag Queue' #: frappe/email/doctype/email_flag_queue/email_flag_queue.json @@ -28029,13 +28277,14 @@ msgstr "إرسال الإشعارات غير المقروءة" #: frappe/utils/safe_exec.py:498 msgid "Unsafe SQL query" -msgstr "" +msgstr "استعلام SQL غير آمن" -#: frappe/public/js/frappe/data_import/data_exporter.js:159 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:9 +#: frappe/public/js/frappe/data_import/data_exporter.js:160 #: frappe/public/js/frappe/form/controls/multicheck.js:167 -#: frappe/public/js/frappe/views/reports/report_view.js:1605 +#: frappe/public/js/frappe/views/reports/report_view.js:1606 msgid "Unselect All" -msgstr "" +msgstr "إلغاء تحديد الكل" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -28054,7 +28303,7 @@ msgstr "طريقة إلغاء الاشتراك" #. Label of the unsubscribe_params (Code) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json msgid "Unsubscribe Params" -msgstr "" +msgstr "إلغاء الاشتراك في المعلمات" #. Label of the unsubscribed (Check) field in DocType 'Contact' #. Label of the unsubscribed (Check) field in DocType 'User' @@ -28066,13 +28315,13 @@ msgstr "" msgid "Unsubscribed" msgstr "إلغاء اشتراكك" -#: frappe/database/query.py:1055 +#: frappe/database/query.py:1098 msgid "Unsupported function or operator: {0}" -msgstr "" +msgstr "دالة أو عامل غير مدعوم: {0}" -#: frappe/database/query.py:1967 +#: frappe/database/query.py:2045 msgid "Unsupported {0}: {1}" -msgstr "" +msgstr "غير مدعوم {0}: {1}" #: frappe/public/js/frappe/data_import/import_preview.js:72 msgid "Untitled Column" @@ -28090,7 +28339,7 @@ msgstr "الملفات غير المضغوطة {0}" msgid "Unzipping files..." msgstr "فك ضغط الملفات ..." -#: frappe/desk/doctype/event/event.py:273 +#: frappe/desk/doctype/event/event.py:323 msgid "Upcoming Events for Today" msgstr "الأحداث القادمة لهذا اليوم" @@ -28098,21 +28347,21 @@ msgstr "الأحداث القادمة لهذا اليوم" #: frappe/core/doctype/data_import/data_import_list.js:36 #: frappe/core/doctype/document_naming_settings/document_naming_settings.json #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:23 -#: frappe/custom/doctype/customize_form/customize_form.js:438 +#: frappe/custom/doctype/customize_form/customize_form.js:448 #: frappe/desk/doctype/bulk_update/bulk_update.js:15 #: frappe/printing/page/print_format_builder/print_format_builder.js:447 #: frappe/printing/page/print_format_builder/print_format_builder.js:507 #: frappe/printing/page/print_format_builder/print_format_builder.js:678 -#: frappe/printing/page/print_format_builder/print_format_builder.js:765 -#: frappe/public/js/frappe/form/grid_row.js:427 +#: frappe/printing/page/print_format_builder/print_format_builder.js:799 +#: frappe/public/js/frappe/form/grid_row.js:429 msgid "Update" -msgstr "" +msgstr "تحديث" #. Label of the update_amendment_naming (Button) field in DocType 'Document #. Naming Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Update Amendment Naming" -msgstr "" +msgstr "تحديث تسمية التعديل" #. Option for the 'Import Type' (Select) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -28128,26 +28377,26 @@ msgstr "تحديث الحقل" #: frappe/core/doctype/installed_applications/installed_applications.js:6 #: frappe/core/doctype/installed_applications/installed_applications.js:13 msgid "Update Hooks Resolution Order" -msgstr "" +msgstr "تحديث ترتيب حل مشكلة الخطافات" #: frappe/core/doctype/installed_applications/installed_applications.js:45 msgid "Update Order" -msgstr "" +msgstr "تحديث الطلب" #: frappe/desk/page/setup_wizard/setup_wizard.js:494 msgid "Update Password" -msgstr "" +msgstr "تحديث كلمة المرور" #. Title of the edit-profile Web Form #: frappe/core/web_form/edit_profile/edit_profile.json msgid "Update Profile" -msgstr "" +msgstr "تحديث الملف الشخصي" #. Label of the update_series (Section Break) field in DocType 'Document Naming #. Settings' #: frappe/core/doctype/document_naming_settings/document_naming_settings.json msgid "Update Series Counter" -msgstr "" +msgstr "تحديث عداد السلسلة" #. Label of the update_series_start (Button) field in DocType 'Document Naming #. Settings' @@ -28173,18 +28422,18 @@ msgstr "تحديث القيمة" #: frappe/utils/change_log.py:381 msgid "Update from Frappe Cloud" -msgstr "" +msgstr "تحديث من Frappe Cloud" -#: frappe/public/js/frappe/list/bulk_operations.js:375 +#: frappe/public/js/frappe/list/bulk_operations.js:387 msgid "Update {0} records" -msgstr "" +msgstr "تحديث {0} سجلات" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Option for the 'Status' (Select) field in DocType 'Permission Log' #: frappe/core/doctype/comment/comment.json #: frappe/core/doctype/permission_log/permission_log.json #: frappe/desk/doctype/workspace_settings/workspace_settings.py:41 -#: frappe/public/js/frappe/web_form/web_form.js:451 +#: frappe/public/js/frappe/web_form/web_form.js:447 msgid "Updated" msgstr "محدّث" @@ -28196,11 +28445,11 @@ msgstr "تم التحديث بنجاح" msgid "Updated To A New Version 🎉" msgstr "تم التحديث إلى إصدار جديد 🎉" -#: frappe/public/js/frappe/list/bulk_operations.js:372 +#: frappe/public/js/frappe/list/bulk_operations.js:384 msgid "Updated successfully" msgstr "تم التحديث بنجاح" -#: frappe/utils/response.py:337 +#: frappe/utils/response.py:342 msgid "Updating" msgstr "يتم التحديث" @@ -28211,38 +28460,38 @@ msgstr "يتم التحديث" #: frappe/email/doctype/email_queue/email_queue_list.js:49 msgid "Updating Email Queue Statuses. The emails will be picked up in the next scheduled run." -msgstr "" +msgstr "جارٍ تحديث حالات قائمة انتظار البريد الإلكتروني. سيتم استلام رسائل البريد الإلكتروني في عملية التشغيل المجدولة التالية." #: frappe/core/doctype/document_naming_rule/document_naming_rule.js:17 msgid "Updating counter may lead to document name conflicts if not done properly" -msgstr "" +msgstr "قد يؤدي تحديث العداد إلى تعارضات في أسماء المستندات إذا لم يتم بشكل صحيح." #: frappe/desk/page/setup_wizard/setup_wizard.py:23 msgid "Updating global settings" -msgstr "" +msgstr "تحديث الإعدادات العامة" #: frappe/core/doctype/document_naming_settings/document_naming_settings.js:59 msgid "Updating naming series options" -msgstr "" +msgstr "تحديث خيارات سلسلة التسمية" -#: frappe/public/js/frappe/form/toolbar.js:147 +#: frappe/public/js/frappe/form/toolbar.js:146 msgid "Updating related fields..." -msgstr "" +msgstr "جارٍ تحديث الحقول ذات الصلة..." -#: frappe/desk/doctype/bulk_update/bulk_update.py:95 +#: frappe/desk/doctype/bulk_update/bulk_update.py:117 msgid "Updating {0}" msgstr "تحديث {0}" #: frappe/core/doctype/data_import/data_import.js:36 msgid "Updating {0} of {1}, {2}" -msgstr "" +msgstr "تحديث {0} من {1} ، {2}" -#: frappe/public/js/billing.bundle.js:131 +#: frappe/public/js/billing.bundle.js:133 msgid "Upgrade plan" -msgstr "" +msgstr "خطة الترقية" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:145 -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:146 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:152 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:153 #: frappe/public/js/frappe/form/grid.js:66 #: frappe/public/js/frappe/form/templates/form_sidebar.html:13 msgid "Upload" @@ -28250,15 +28499,15 @@ msgstr "تحميل" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:93 msgid "Upload Image" -msgstr "" +msgstr "تحميل صورة" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:215 msgid "Upload file" -msgstr "" +msgstr "تحميل الملف" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:218 msgid "Upload {0} files" -msgstr "" +msgstr "تحميل {0} ملفات" #. Label of the uploaded_to_dropbox (Check) field in DocType 'File' #: frappe/core/doctype/file/file.json @@ -28275,7 +28524,7 @@ msgstr "تم الرفع إلى Google Drive" #: frappe/desk/doctype/onboarding_step/onboarding_step.json #, python-format msgid "Use % for any non empty value." -msgstr "" +msgstr "استخدم علامة النسبة المئوية (%) لأي قيمة غير فارغة." #. Label of the ascii_encode_password (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -28286,12 +28535,13 @@ msgstr "استخدم ترميز ASCII لكلمة المرور" #. Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Use First Day of Period" -msgstr "" +msgstr "استخدمي في اليوم الأول من الدورة الشهرية" #. Label of the use_html (Check) field in DocType 'Email Template' #: frappe/email/doctype/email_template/email_template.json +#: frappe/public/js/frappe/views/communication.js:116 msgid "Use HTML" -msgstr "" +msgstr "استخدم لغة HTML" #. Label of the use_imap (Check) field in DocType 'Email Account' #. Label of the use_imap (Check) field in DocType 'Email Domain' @@ -28330,7 +28580,7 @@ msgstr "استخدام SSL" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_domain/email_domain.json msgid "Use STARTTLS" -msgstr "" +msgstr "استخدم STARTTLS" #. Label of the use_tls (Check) field in DocType 'Email Account' #. Label of the use_tls (Check) field in DocType 'Email Domain' @@ -28341,7 +28591,7 @@ msgstr "استخدام TLS" #: frappe/utils/password_strength.py:191 msgid "Use a few uncommon words together." -msgstr "" +msgstr "استخدم بعض الكلمات غير الشائعة معًا." #: frappe/utils/password_strength.py:44 msgid "Use a few words, avoid common phrases." @@ -28350,20 +28600,20 @@ msgstr ".استخدم كلمات قليلة، وتجنب العبارات الش #. Label of the login_id_is_different (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Use different Email ID" -msgstr "" +msgstr "استخدم معرف بريد إلكتروني مختلف" #. Description of the 'Detect CSV type' (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json msgid "Use if the default settings don't seem to detect your data correctly" -msgstr "" +msgstr "استخدم هذا الخيار إذا لم تتمكن الإعدادات الافتراضية من اكتشاف بياناتك بشكل صحيح." #: frappe/model/db_query.py:509 msgid "Use of sub-query or function is restricted" msgstr "استخدام الاستعلام الفرعي أو وظيفة مقيدة" -#: frappe/printing/page/print/print.js:311 +#: frappe/printing/page/print/print.js:319 msgid "Use the new Print Format Builder" -msgstr "" +msgstr "استخدم أداة إنشاء تنسيق الطباعة الجديدة" #. Description of the 'Title Field' (Data) field in DocType 'Customize Form' #: frappe/custom/doctype/customize_form/customize_form.json @@ -28374,12 +28624,12 @@ msgstr "استخدام هذا FIELDNAME لتوليد عنوان" #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Use this, for example, if all sent emails should also be send to an archive." -msgstr "" +msgstr "استخدم هذا، على سبيل المثال، إذا كان ينبغي أيضًا إرسال جميع رسائل البريد الإلكتروني المرسلة إلى الأرشيف." #. Label of the used_oauth (Check) field in DocType 'User Email' #: frappe/core/doctype/user_email/user_email.json msgid "Used OAuth" -msgstr "" +msgstr "تم استخدام OAuth" #. Label of the user (Link) field in DocType 'Assignment Rule User' #. Label of the user (Link) field in DocType 'Auto Repeat User' @@ -28395,9 +28645,8 @@ msgstr "" #. Label of the user (Link) field in DocType 'User Group Member' #. Label of the user (Link) field in DocType 'User Invitation' #. Label of the user (Link) field in DocType 'User Permission' -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace #. Label of the user (Link) field in DocType 'Dashboard Settings' +#. Label of the user (Link) field in DocType 'Desktop Layout' #. Label of the user (Link) field in DocType 'Note Seen By' #. Label of the user (Link) field in DocType 'Notification Settings' #. Label of the user (Link) field in DocType 'Route History' @@ -28424,11 +28673,11 @@ msgstr "" #: frappe/core/doctype/user_group_member/user_group_member.json #: frappe/core/doctype/user_invitation/user_invitation.json #: frappe/core/doctype/user_permission/user_permission.json -#: frappe/core/page/permission_manager/permission_manager.js:366 +#: frappe/core/page/permission_manager/permission_manager.js:367 #: frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.js:8 #: frappe/core/report/user_doctype_permissions/user_doctype_permissions.js:8 -#: frappe/core/workspace/users/users.json #: frappe/desk/doctype/dashboard_settings/dashboard_settings.json +#: frappe/desk/doctype/desktop_layout/desktop_layout.json #: frappe/desk/doctype/note_seen_by/note_seen_by.json #: frappe/desk/doctype/notification_settings/notification_settings.json #: frappe/desk/doctype/route_history/route_history.json @@ -28443,21 +28692,21 @@ msgstr "" #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "User" -msgstr "" +msgstr "المستعمل" #: frappe/core/doctype/has_role/has_role.py:25 msgid "User '{0}' already has the role '{1}'" -msgstr "المستخدم{0} يملك بالفعل الدور {1}
User '{0}' already has the role '{1}'" +msgstr "المستخدم '{0}' لديه بالفعل الدور '{1}'" #. Name of a DocType #: frappe/core/doctype/report/user_activity_report.json msgid "User Activity Report" -msgstr "" +msgstr "تقرير نشاط المستخدمين" #. Name of a DocType #: frappe/core/doctype/report/user_activity_report_without_sort.json msgid "User Activity Report Without Sort" -msgstr "" +msgstr "تقرير نشاط المستخدم بدون فرز" #. Label of the user_agent (Small Text) field in DocType 'User Session Display' #. Label of the user_agent (Data) field in DocType 'Web Page View' @@ -28478,7 +28727,7 @@ msgstr "المستخدم لا يستطيع أن يبحث" #: frappe/public/js/frappe/desk.js:550 msgid "User Changed" -msgstr "" +msgstr "المستخدمون الذين قاموا بالتغيير" #. Label of the defaults (Table) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -28488,21 +28737,21 @@ msgstr "المستخدم الافتراضي" #. Label of the user_details_tab (Tab Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "User Details" -msgstr "" +msgstr "تفاصيل المستخدم" #. Name of a report #: frappe/core/report/user_doctype_permissions/user_doctype_permissions.json msgid "User Doctype Permissions" -msgstr "" +msgstr "أذونات نوع مستند المستخدم" #. Name of a DocType #: frappe/core/doctype/user_document_type/user_document_type.json msgid "User Document Type" -msgstr "" +msgstr "نوع مستند المستخدم" #: frappe/core/doctype/user_type/user_type.py:98 msgid "User Document Types Limit Exceeded" -msgstr "" +msgstr "تم تجاوز الحد الأقصى لأنواع مستندات المستخدم" #. Name of a DocType #: frappe/core/doctype/user_email/user_email.json @@ -28517,12 +28766,12 @@ msgstr "مراسلات المستخدم" #. Name of a DocType #: frappe/core/doctype/user_group/user_group.json msgid "User Group" -msgstr "" +msgstr "مجموعة المستخدمين" #. Name of a DocType #: frappe/core/doctype/user_group_member/user_group_member.json msgid "User Group Member" -msgstr "" +msgstr "عضو في مجموعة المستخدمين" #. Label of the user_group_members (Table MultiSelect) field in DocType 'User #. Group' @@ -28548,11 +28797,11 @@ msgstr "تعريف المستخدم" #. Label of the user_id_field (Select) field in DocType 'User Type' #: frappe/core/doctype/user_type/user_type.json msgid "User Id Field" -msgstr "" +msgstr "حقل معرف المستخدم" #: frappe/core/doctype/user_type/user_type.py:283 msgid "User Id Field is mandatory in the user type {0}" -msgstr "" +msgstr "حقل معرف المستخدم إلزامي في نوع المستخدم {0}" #. Label of the user_image (Attach Image) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -28562,11 +28811,11 @@ msgstr "صورة المستخدم" #. Name of a DocType #: frappe/core/doctype/user_invitation/user_invitation.json msgid "User Invitation" -msgstr "" +msgstr "دعوة المستخدم" -#: frappe/public/js/frappe/ui/sidebar/sidebar.html:50 +#: frappe/public/js/frappe/ui/sidebar/sidebar.html:51 msgid "User Menu" -msgstr "" +msgstr "قائمة المستخدم" #. Label of the user_name (Data) field in DocType 'Personal Data Download #. Request' @@ -28580,53 +28829,53 @@ msgid "User Permission" msgstr "إذن المستخدم" #. Label of a Link in the Users Workspace -#: frappe/core/page/permission_manager/permission_manager_help.html:30 +#: frappe/core/page/permission_manager/permission_manager_help.html:97 #: frappe/core/workspace/users/users.json -#: frappe/public/js/frappe/views/reports/query_report.js:1974 -#: frappe/public/js/frappe/views/reports/report_view.js:1765 +#: frappe/public/js/frappe/views/reports/query_report.js:2027 +#: frappe/public/js/frappe/views/reports/report_view.js:1766 msgid "User Permissions" msgstr "ضوابط المستخدم" -#: frappe/public/js/frappe/list/list_view.js:1925 +#: frappe/public/js/frappe/list/list_view.js:1933 msgctxt "Button in list view menu" msgid "User Permissions" msgstr "ضوابط المستخدم" -#: frappe/core/page/permission_manager/permission_manager_help.html:32 +#: frappe/core/page/permission_manager/permission_manager_help.html:99 msgid "User Permissions are used to limit users to specific records." -msgstr "" +msgstr "تُستخدم أذونات المستخدم لتقييد وصول المستخدمين إلى سجلات محددة." #: frappe/core/doctype/user_permission/user_permission_list.js:124 msgid "User Permissions created successfully" -msgstr "" +msgstr "تم إنشاء أذونات المستخدم بنجاح" #. Name of a DocType #. Label of the erpnext_role (Link) field in DocType 'LDAP Group Mapping' #: frappe/core/doctype/user_role/user_role.json #: frappe/integrations/doctype/ldap_group_mapping/ldap_group_mapping.json msgid "User Role" -msgstr "" +msgstr "دور المستخدم" #. Name of a DocType #: frappe/core/doctype/user_role_profile/user_role_profile.json msgid "User Role Profile" -msgstr "" +msgstr "ملف تعريف دور المستخدم" #. Name of a DocType #: frappe/core/doctype/user_select_document_type/user_select_document_type.json msgid "User Select Document Type" -msgstr "" +msgstr "يختار المستخدم نوع المستند" #. Name of a DocType #: frappe/core/doctype/user_session_display/user_session_display.json msgid "User Session Display" -msgstr "" +msgstr "عرض جلسة المستخدم" #. Label of a standard navbar item #. Type: Action #: frappe/hooks.py msgid "User Settings" -msgstr "" +msgstr "إعدادات المستخدم" #. Name of a DocType #: frappe/core/doctype/user_social_login/user_social_login.json @@ -28651,7 +28900,7 @@ msgstr "نوع المستخدم" #: frappe/core/doctype/user_type/user_type.json #: frappe/core/doctype/user_type_module/user_type_module.json msgid "User Type Module" -msgstr "" +msgstr "وحدة نوع المستخدم" #. Description of the 'Allow Login using Mobile Number' (Check) field in #. DocType 'System Settings' @@ -28665,17 +28914,17 @@ msgstr "يمكن للمستخدم تسجيل الدخول باستخدام مع msgid "User can login using Email id or User Name" msgstr "يمكن للمستخدم تسجيل الدخول باستخدام معرف البريد الإلكتروني أو اسم المستخدم" -#: frappe/templates/includes/login/login.js:292 +#: frappe/templates/includes/login/login.js:290 msgid "User does not exist." -msgstr "" +msgstr "المستخدم غير موجود." #: frappe/core/doctype/user_type/user_type.py:83 msgid "User does not have permission to create the new {0}" -msgstr "" +msgstr "لا يملك المستخدم إذنًا لإنشاء {0}الجديد" #: frappe/core/doctype/user_invitation/user_invitation.py:102 msgid "User is disabled" -msgstr "" +msgstr "المستخدم معطل" #: frappe/core/doctype/docshare/docshare.py:56 msgid "User is mandatory for Share" @@ -28693,61 +28942,61 @@ msgstr "إذن المستخدم موجود بالفعل" #: frappe/www/login.py:171 msgid "User with email address {0} does not exist" -msgstr "" +msgstr "المستخدم ذو عنوان البريد الإلكتروني {0} غير موجود" #: frappe/integrations/doctype/ldap_settings/ldap_settings.py:225 msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you." -msgstr "" +msgstr "المستخدم ذو البريد الإلكتروني: {0} غير موجود في النظام. يُرجى طلب إنشاء حساب المستخدم من مسؤول النظام." -#: frappe/core/doctype/user/user.py:576 +#: frappe/core/doctype/user/user.py:579 msgid "User {0} cannot be deleted" msgstr "المستخدم {0} لا يمكن حذف" -#: frappe/core/doctype/user/user.py:366 +#: frappe/core/doctype/user/user.py:369 msgid "User {0} cannot be disabled" msgstr "المستخدم {0} لا يمكن تعطيل" -#: frappe/core/doctype/user/user.py:649 +#: frappe/core/doctype/user/user.py:652 msgid "User {0} cannot be renamed" msgstr "المستخدم {0} لا يمكن إعادة تسمية" -#: frappe/permissions.py:142 +#: frappe/permissions.py:146 msgid "User {0} does not have access to this document" msgstr "المستخدم {0} ليس لديه حق الوصول إلى هذا المستند" -#: frappe/permissions.py:165 +#: frappe/permissions.py:171 msgid "User {0} does not have doctype access via role permission for document {1}" msgstr "لا يملك المستخدم {0} حق الوصول إلى النمط عبر إذن دور للمستند {1}" -#: frappe/desk/doctype/workspace/workspace.py:306 +#: frappe/desk/doctype/workspace/workspace.py:285 msgid "User {0} does not have the permission to create a Workspace." -msgstr "" +msgstr "المستخدم {0} ليس لديه إذن لإنشاء مساحة عمل." #: frappe/templates/emails/data_deletion_approval.html:1 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:112 msgid "User {0} has requested for data deletion" msgstr "طلب المستخدم {0} حذف البيانات" -#: frappe/core/doctype/user/user.py:1449 +#: frappe/core/doctype/user/user.py:1452 msgid "User {0} impersonated as {1}" -msgstr "" +msgstr "انتحل المستخدم {0} شخصية المستخدم {1}" -#: frappe/utils/oauth.py:298 +#: frappe/utils/oauth.py:300 msgid "User {0} is disabled" -msgstr "" +msgstr "المستخدم {0} تم تعطيل" #: frappe/sessions.py:243 msgid "User {0} is disabled. Please contact your System Manager." -msgstr "" +msgstr "المستخدم {0} معطل. يرجى الاتصال بمدير النظام." #: frappe/desk/form/assign_to.py:104 msgid "User {0} is not permitted to access this document." -msgstr "" +msgstr "المستخدم {0} غير مسموح له بالوصول إلى هذا المستند." #. Label of the userinfo_uri (Data) field in DocType 'Connected App' #: frappe/integrations/doctype/connected_app/connected_app.json msgid "Userinfo URI" -msgstr "" +msgstr "عنوان URI لمعلومات المستخدم" #. Label of the username (Data) field in DocType 'User' #. Label of the username (Data) field in DocType 'User Social Login' @@ -28757,18 +29006,17 @@ msgstr "" msgid "Username" msgstr "اسم االمستخدم" -#: frappe/core/doctype/user/user.py:738 +#: frappe/core/doctype/user/user.py:741 msgid "Username {0} already exists" msgstr "اسم المستخدم {0} موجود بالفعل" #. Label of the users (Table MultiSelect) field in DocType 'Assignment Rule' #. Name of a Workspace -#. Label of a Card Break in the Users Workspace #. Label of the users_section (Section Break) field in DocType 'System Health #. Report' #: frappe/automation/doctype/assignment_rule/assignment_rule.json -#: frappe/core/page/permission_manager/permission_manager.js:366 -#: frappe/core/page/permission_manager/permission_manager.js:405 +#: frappe/core/page/permission_manager/permission_manager.js:367 +#: frappe/core/page/permission_manager/permission_manager.js:406 #: frappe/core/workspace/users/users.json #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Users" @@ -28781,11 +29029,11 @@ msgstr "المستخدمين" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Users are only able to delete attached files if the document is either in draft or if the document is canceled and they are also able to delete the document." -msgstr "" +msgstr "لا يستطيع المستخدمون حذف الملفات المرفقة إلا إذا كان المستند في حالة مسودة أو إذا تم إلغاء المستند، كما يمكنهم حذف المستند أيضًا." #: frappe/public/js/frappe/ui/theme_switcher.js:70 msgid "Uses system's theme to switch between light and dark mode" -msgstr "" +msgstr "يستخدم سمة النظام للتبديل بين الوضع الفاتح والوضع الداكن" #: frappe/public/js/frappe/desk.js:154 msgid "Using this console may allow attackers to impersonate you and steal your information. Do not enter or paste code that you do not understand." @@ -28795,12 +29043,12 @@ msgstr "قد يسمح استخدام وحدة التحكم هذه للمهاجم #. Workers' #: frappe/desk/doctype/system_health_report_workers/system_health_report_workers.json msgid "Utilization" -msgstr "" +msgstr "الاستخدام" #. Label of the utilization_percent (Percent) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Utilization %" -msgstr "" +msgstr "نسبة الاستخدام" #. Option for the 'Validity' (Select) field in DocType 'OAuth Authorization #. Code' @@ -28811,11 +29059,11 @@ msgstr "صالح" #: frappe/templates/includes/login/login.js:52 #: frappe/templates/includes/login/login.js:65 msgid "Valid Login id required." -msgstr "" +msgstr "يلزم وجود معرف تسجيل دخول صالح." #: frappe/templates/includes/login/login.js:39 msgid "Valid email and name required" -msgstr "" +msgstr "يلزم تقديم بريد إلكتروني واسم صحيحين" #. Label of the validate_action (Check) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json @@ -28826,7 +29074,7 @@ msgstr "تحقق من صحة الحقل" #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "Validate Frappe Mail Settings" -msgstr "" +msgstr "التحقق من صحة إعدادات بريد Frappe" #. Label of the validate_ssl_certificate (Check) field in DocType 'Email #. Account' @@ -28837,9 +29085,9 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_domain/email_domain.json msgid "Validate SSL Certificate" -msgstr "" +msgstr "التحقق من صحة شهادة SSL" -#: frappe/public/js/frappe/web_form/web_form.js:384 +#: frappe/public/js/frappe/web_form/web_form.js:380 msgid "Validation Error" msgstr "خطئ في التحقق" @@ -28868,12 +29116,12 @@ msgstr "الصلاحية" #: frappe/integrations/doctype/query_parameters/query_parameters.json #: frappe/integrations/doctype/webhook_header/webhook_header.json #: frappe/public/js/frappe/list/bulk_operations.js:336 -#: frappe/public/js/frappe/list/bulk_operations.js:398 +#: frappe/public/js/frappe/list/bulk_operations.js:410 #: frappe/public/js/frappe/list/list_view_permission_restrictions.html:4 #: frappe/website/doctype/web_form/web_form.js:213 #: frappe/website/doctype/website_meta_tag/website_meta_tag.json msgid "Value" -msgstr "" +msgstr "القيمة" #. Label of the value_based_on (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -28883,7 +29131,7 @@ msgstr "القيمة بناء على" #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json msgid "Value Change" -msgstr "" +msgstr "قيمة التغير" #. Label of the value_changed (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -28895,15 +29143,19 @@ msgstr "تم تغير القيمة" msgid "Value To Be Set" msgstr "قيمة ليتم تعيينها" -#: frappe/model/base_document.py:1159 frappe/model/document.py:878 +#: frappe/model/base_document.py:820 +msgid "Value Too Long" +msgstr "القيمة طويلة جدًا" + +#: frappe/model/base_document.py:1176 frappe/model/document.py:877 msgid "Value cannot be changed for {0}" msgstr "لا يمكن تغير القيمة ل {0}" -#: frappe/model/document.py:824 +#: frappe/model/document.py:823 msgid "Value cannot be negative for" msgstr "لا يمكن أن تكون القيمة سالبة لـ" -#: frappe/model/document.py:828 +#: frappe/model/document.py:827 msgid "Value cannot be negative for {0}: {1}" msgstr "لا يمكن أن تكون القيمة سالبة لـ {0}: {1}" @@ -28915,7 +29167,7 @@ msgstr "يمكن أن تكون قيمة حقل التحقق إما 0 أو 1" msgid "Value for field {0} is too long in {1}. Length should be lesser than {2} characters" msgstr "قيمة الحقل {0} طويلة جدًا في {1}. يجب أن يكون الطول أقل من {2} حرف" -#: frappe/model/base_document.py:526 +#: frappe/model/base_document.py:531 msgid "Value for {0} cannot be a list" msgstr "القيمة {0} لا يمكن أن تكون قائمة" @@ -28933,14 +29185,20 @@ msgstr "يجب أن تكون القيمة واحدة من {0}" #. 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Value of \"None\" implies a public client. In such a case Client Secret is not given to the client and token exchange makes use of PKCE." -msgstr "" +msgstr "تشير قيمة \"لا شيء\" إلى عميل عام. في هذه الحالة، لا يتم إعطاء سر العميل للعميل، ويستخدم تبادل الرموز المميزة بروتوكول PKCE." #. Label of the value_to_validate (Data) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Value to Validate" msgstr "قيمة للتحقق من صحتها" -#: frappe/model/base_document.py:1229 +#. Description of the 'Update Value' (Data) field in DocType 'Workflow Document +#. State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Value to set when this workflow state is applied. Use plain text (e.g. Approved) or an expression if “Evaluate as Expression” is enabled." +msgstr "القيمة التي يتم تحديدها عند تطبيق حالة سير العمل هذه. استخدم نصًا عاديًا (مثل \"موافق عليه\") أو تعبيرًا إذا كانت خاصية \"التقييم كتعبير\" مفعلة." + +#: frappe/model/base_document.py:1246 msgid "Value too big" msgstr "قيمة كبيرة جدا" @@ -28957,30 +29215,30 @@ msgstr "يجب أن تكون القيمة {0} بتنسيق المدة الصال msgid "Value {0} must in {1} format" msgstr "يجب أن تكون القيمة {0} بتنسيق {1}" -#: frappe/core/doctype/version/version_view.html:9 +#: frappe/core/doctype/version/version_view.html:59 msgid "Values Changed" -msgstr "" +msgstr "القيم التي تم تغييرها" #. Option for the 'Font' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "Verdana" msgstr "فيردانا" -#: frappe/templates/includes/login/login.js:333 +#: frappe/templates/includes/login/login.js:332 msgid "Verification" -msgstr "" +msgstr "تَحَقّق" -#: frappe/templates/includes/login/login.js:336 frappe/twofactor.py:366 +#: frappe/templates/includes/login/login.js:335 frappe/twofactor.py:366 msgid "Verification Code" -msgstr "" +msgstr "رمز التحقق" #: frappe/templates/emails/delete_data_confirmation.html:10 msgid "Verification Link" msgstr "رابط التحقق" -#: frappe/templates/includes/login/login.js:383 +#: frappe/templates/includes/login/login.js:382 msgid "Verification code email not sent. Please contact Administrator." -msgstr "" +msgstr "لم يتم إرسال رمز التحقق عبر البريد الإلكتروني. يرجى التواصل مع المسؤول." #: frappe/twofactor.py:248 msgid "Verification code has been sent to your registered email address." @@ -28992,7 +29250,7 @@ msgid "Verified" msgstr "التحقق" #: frappe/public/js/frappe/ui/messages.js:359 -#: frappe/templates/includes/login/login.js:337 +#: frappe/templates/includes/login/login.js:336 msgid "Verify" msgstr "تأكد من" @@ -29002,7 +29260,7 @@ msgstr "التحقق من كلمة المرور" #: frappe/templates/includes/login/login.js:171 msgid "Verifying..." -msgstr "" +msgstr "تحقق..." #. Name of a DocType #: frappe/core/doctype/version/version.json @@ -29021,28 +29279,28 @@ msgstr "رابط الفيديو" #. Label of the view_name (Select) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "View" -msgstr "" +msgstr "عرض" #: frappe/core/doctype/success_action/success_action.js:60 #: frappe/public/js/frappe/form/success_action.js:89 msgid "View All" msgstr "عرض الكل" -#: frappe/public/js/frappe/form/toolbar.js:613 +#: frappe/public/js/frappe/form/toolbar.js:616 msgid "View Audit Trail" -msgstr "" +msgstr "عرض سجل التدقيق" #: frappe/core/doctype/user/user.js:149 msgid "View Doctype Permissions" -msgstr "" +msgstr "عرض أذونات نوع المستند" #: frappe/core/doctype/file/file.js:4 msgid "View File" -msgstr "" +msgstr "عرض الملف" -#: frappe/public/js/frappe/ui/notifications/notifications.js:251 +#: frappe/public/js/frappe/ui/notifications/notifications.js:260 msgid "View Full Log" -msgstr "" +msgstr "عرض السجل كاملاً" #: frappe/public/js/frappe/views/treeview.js:486 #: frappe/public/js/frappe/widgets/quick_list_widget.js:258 @@ -29077,25 +29335,22 @@ msgstr "عرض التقرير" msgid "View Settings" msgstr "عرض إعدادات" -#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js:7 +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js:11 msgid "View Sidebar" -msgstr "" +msgstr "عرض الشريط الجانبي" #. Label of the view_switcher (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "View Switcher" -msgstr "" +msgstr "مبدل العرض" -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py #: frappe/website/doctype/website_settings/website_settings.js:16 msgid "View Website" msgstr "مشاهدة الموقع" -#: frappe/core/page/permission_manager/permission_manager.js:395 +#: frappe/core/page/permission_manager/permission_manager.js:396 msgid "View all {0} users" -msgstr "" +msgstr "عرض جميع المستخدمين {0}" #: frappe/www/confirm_workflow_action.html:12 msgid "View document" @@ -29109,10 +29364,10 @@ msgstr "عرض التقرير في المتصفح" msgid "View this in your browser" msgstr "عرض هذا في متصفحك" -#: frappe/public/js/frappe/web_form/web_form.js:478 +#: frappe/public/js/frappe/web_form/web_form.js:474 msgctxt "Button in web form" msgid "View your response" -msgstr "" +msgstr "اطلع على ردك" #: frappe/automation/doctype/auto_repeat/auto_repeat.js:43 #: frappe/desk/doctype/calendar_view/calendar_view_list.js:10 @@ -29130,33 +29385,33 @@ msgstr "تمت المشاهدة بواسطة" #: frappe/core/doctype/doctype/doctype.json #: frappe/core/workspace/build/build.json msgid "Views" -msgstr "" +msgstr "المشاهدات" #. Label of the is_virtual (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Virtual" -msgstr "" +msgstr "افتراضي" #: frappe/model/virtual_doctype.py:76 msgid "Virtual DocType {} requires a static method called {} found {}" -msgstr "" +msgstr "يتطلب نوع المستند الافتراضي {} طريقة ثابتة تسمى {} تم العثور عليها {}" #: frappe/model/virtual_doctype.py:89 msgid "Virtual DocType {} requires overriding an instance method called {} found {}" -msgstr "" +msgstr "يتطلب نوع المستند الافتراضي {} تجاوز طريقة مثيل تسمى {} تم العثور عليها {}" -#: frappe/core/doctype/doctype/doctype.py:1672 +#: frappe/core/doctype/doctype/doctype.py:1686 msgid "Virtual tables must be virtual fields" -msgstr "" +msgstr "يجب أن تكون الجداول الافتراضية حقولًا افتراضية" #. Label of the visibility_section (Section Break) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json msgid "Visibility" -msgstr "" +msgstr "الرؤية" #: frappe/public/js/frappe/form/templates/timeline_message_box.html:41 msgid "Visible to website/portal users." -msgstr "" +msgstr "مرئي لمستخدمي الموقع الإلكتروني/البوابة." #. Option for the 'Type' (Select) field in DocType 'Communication' #: frappe/core/doctype/communication/communication.json @@ -29165,7 +29420,7 @@ msgstr "زيارة" #: frappe/desk/doctype/desktop_settings/desktop_settings.js:6 msgid "Visit Desktop" -msgstr "" +msgstr "قم بزيارة سطح المكتب" #: frappe/website/doctype/website_route_meta/website_route_meta.js:7 msgid "Visit Web Page" @@ -29174,16 +29429,16 @@ msgstr "زيارة صفحة الويب" #. Label of the visitor_id (Data) field in DocType 'Web Page View' #: frappe/website/doctype/web_page_view/web_page_view.json msgid "Visitor ID" -msgstr "" +msgstr "معرف الزائر" #: frappe/templates/discussions/reply_section.html:39 msgid "Want to discuss?" -msgstr "" +msgstr "هل ترغب في المناقشة؟" #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json msgid "Warehouse" -msgstr "" +msgstr "المستودعات" #. Option for the 'Button Color' (Select) field in DocType 'DocField' #. Option for the 'Button Color' (Select) field in DocType 'Custom Field' @@ -29193,18 +29448,18 @@ msgstr "" #: frappe/core/doctype/docfield/docfield.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json -#: frappe/public/js/frappe/router.js:613 +#: frappe/public/js/frappe/router.js:618 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Warning" -msgstr "" +msgstr "تحذير" #: frappe/custom/doctype/customize_form/customize_form.js:217 msgid "Warning: DATA LOSS IMMINENT! Proceeding will permanently delete following database columns from doctype {0}:" -msgstr "" +msgstr "تحذير: فقدان البيانات وشيك! سيؤدي المتابعة إلى حذف أعمدة قاعدة البيانات التالية نهائيًا من نوع المستند {0}:" -#: frappe/core/doctype/doctype/doctype.py:1140 +#: frappe/core/doctype/doctype/doctype.py:1143 msgid "Warning: Naming is not set" -msgstr "" +msgstr "تحذير: لم يتم تحديد التسمية" #: frappe/public/js/frappe/model/meta.js:190 msgid "Warning: Unable to find {0} in any table related to {1}" @@ -29213,11 +29468,11 @@ msgstr "تحذير: تعذر العثور على {0} في أي جدول متعل #. Description of the 'Counter' (Int) field in DocType 'Document Naming Rule' #: frappe/core/doctype/document_naming_rule/document_naming_rule.json msgid "Warning: Updating counter may lead to document name conflicts if not done properly" -msgstr "" +msgstr "تحذير: قد يؤدي تحديث العداد إلى تعارضات في أسماء المستندات إذا لم يتم بشكل صحيح." #: frappe/core/doctype/doctype/doctype.py:458 msgid "Warning: Usage of 'format:' is discouraged." -msgstr "" +msgstr "تحذير: يُنصح بعدم استخدام \"format:\"." #: frappe/website/doctype/help_article/templates/help_article.html:24 msgid "Was this article helpful?" @@ -29225,16 +29480,16 @@ msgstr "هل كان المقال مساعدا؟!" #: frappe/public/js/frappe/widgets/onboarding_widget.js:127 msgid "Watch Tutorial" -msgstr "" +msgstr "شاهد البرنامج التعليمي" #. Option for the 'Action' (Select) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Watch Video" -msgstr "" +msgstr "شاهد الفيديو" #: frappe/desk/doctype/workspace/workspace.js:34 msgid "We do not allow editing of this document. Simply click the Edit button on the workspace page to make your workspace editable and customize it as you wish" -msgstr "" +msgstr "لا نسمح بتعديل هذا المستند. ما عليك سوى النقر على زر \"تعديل\" في صفحة مساحة العمل لجعل مساحة عملك قابلة للتعديل وتخصيصها كما تشاء." #: frappe/templates/emails/delete_data_confirmation.html:2 msgid "We have received a request for deletion of {0} data associated with: {1}" @@ -29246,15 +29501,15 @@ msgstr "لقد تلقينا طلبًا منك لتنزيل بيانات {0} ال #: frappe/www/attribution.html:12 msgid "We would like to thank the authors of these packages for their contribution." -msgstr "" +msgstr "نود أن نشكر مؤلفي هذه الحزم على مساهمتهم." #: frappe/www/contact.py:57 msgid "We've received your query!" -msgstr "" +msgstr "لقد تلقينا استفسارك!" #: frappe/public/js/frappe/form/controls/password.js:87 msgid "Weak" -msgstr "" +msgstr "ضعيف" #. Name of a DocType #: frappe/website/doctype/web_form/web_form.json @@ -29274,7 +29529,7 @@ msgstr "الحقول نموذج ويب" #. Name of a DocType #: frappe/website/doctype/web_form_list_column/web_form_list_column.json msgid "Web Form List Column" -msgstr "" +msgstr "عمود قائمة نماذج الويب" #. Name of a DocType #: frappe/website/doctype/web_page/web_page.json @@ -29286,9 +29541,9 @@ msgstr "صفحة على الإنترنت" msgid "Web Page Block" msgstr "كتلة صفحة الويب" -#: frappe/public/js/frappe/utils/utils.js:1864 +#: frappe/public/js/frappe/utils/utils.js:1995 msgid "Web Page URL" -msgstr "" +msgstr "رابط صفحة الويب" #. Name of a DocType #: frappe/website/doctype/web_page_view/web_page_view.json @@ -29314,7 +29569,7 @@ msgstr "قيم قالب الويب" #: frappe/utils/jinja_globals.py:48 msgid "Web Template is not specified" -msgstr "" +msgstr "لم يتم تحديد قالب الويب" #. Label of the web_view (Tab Break) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -29329,7 +29584,7 @@ msgstr "عرض ويب" #: frappe/integrations/doctype/webhook_request_log/webhook_request_log.json #: frappe/integrations/workspace/integrations/integrations.json msgid "Webhook" -msgstr "" +msgstr "رابط الويب" #. Label of the sb_webhook_data (Section Break) field in DocType 'Webhook' #. Name of a DocType @@ -29358,12 +29613,12 @@ msgstr "طلب ويبهوك" #: frappe/core/workspace/build/build.json #: frappe/integrations/doctype/webhook_request_log/webhook_request_log.json msgid "Webhook Request Log" -msgstr "" +msgstr "سجل طلبات Webhook" #. Label of the webhook_secret (Password) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Webhook Secret" -msgstr "" +msgstr "سرّ الويب هوك" #. Label of the sb_security (Section Break) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -29373,21 +29628,21 @@ msgstr "Webhook الأمن" #. Label of the sb_condition (Section Break) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "Webhook Trigger" -msgstr "" +msgstr "مُشغِّل Webhook" #. Label of the webhook_url (Data) field in DocType 'Slack Webhook URL' #: frappe/integrations/doctype/slack_webhook_url/slack_webhook_url.json msgid "Webhook URL" -msgstr "" +msgstr "رابط الويب هوك" #. Group in Module Def's connections #. Name of a Workspace #: frappe/core/doctype/module_def/module_def.json -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:37 +#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:32 #: frappe/public/js/frappe/ui/toolbar/about.js:11 #: frappe/website/workspace/website/website.json msgid "Website" -msgstr "" +msgstr "الموقع" #. Name of a report #: frappe/website/report/website_analytics/website_analytics.json @@ -29409,7 +29664,7 @@ msgstr "تحليلات الموقع" #: frappe/website/doctype/website_slideshow/website_slideshow.json #: frappe/website/doctype/website_theme/website_theme.json msgid "Website Manager" -msgstr "" +msgstr "مدير الموقع" #. Name of a DocType #: frappe/website/doctype/website_meta_tag/website_meta_tag.json @@ -29431,23 +29686,23 @@ msgstr "إعادة توجيه مسار الموقع" #: frappe/website/doctype/website_script/website_script.json #: frappe/website/workspace/website/website.json msgid "Website Script" -msgstr "" +msgstr "نص الموقع البرمجي" #. Label of the website_search_field (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Website Search Field" -msgstr "" +msgstr "حقل البحث في الموقع الإلكتروني" -#: frappe/core/doctype/doctype/doctype.py:1537 +#: frappe/core/doctype/doctype/doctype.py:1551 msgid "Website Search Field must be a valid fieldname" -msgstr "" +msgstr "يجب أن يكون حقل البحث في الموقع اسم حقل صالحًا" #. Name of a DocType #. Label of a Link in the Website Workspace #: frappe/website/doctype/website_settings/website_settings.json #: frappe/website/workspace/website/website.json msgid "Website Settings" -msgstr "" +msgstr "إعدادات الموقع" #. Label of the website_sidebar (Link) field in DocType 'Web Form' #. Label of the website_sidebar (Link) field in DocType 'Web Page' @@ -29480,7 +29735,7 @@ msgstr "موقع السلعة عرض شرائح" #: frappe/website/doctype/website_theme/website_theme.json #: frappe/website/workspace/website/website.json msgid "Website Theme" -msgstr "" +msgstr "شكل الموقع" #. Name of a DocType #: frappe/website/doctype/website_theme_ignore_app/website_theme_ignore_app.json @@ -29496,23 +29751,28 @@ msgstr "موضوع الموقع صورة" #. Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "Website Theme image link" -msgstr "" +msgstr "رابط صورة قالب الموقع" #. Label of a number card in the Website Workspace #: frappe/website/workspace/website/website.json msgid "Website Themes Available" -msgstr "" +msgstr "قوالب مواقع الويب المتاحة" + +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Website Users" +msgstr "مستخدمو الموقع الإلكتروني" #. Label of a chart in the Website Workspace #: frappe/website/workspace/website/website.json msgid "Website Visits" -msgstr "" +msgstr "زيارات الموقع الإلكتروني" #. Option for the 'SocketIO Transport Mode' (Select) field in DocType 'System #. Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Websocket" -msgstr "" +msgstr "Websocket" #. Option for the 'Day' (Select) field in DocType 'Assignment Rule Day' #. Option for the 'Day' (Select) field in DocType 'Auto Repeat Day' @@ -29528,7 +29788,7 @@ msgstr "" #: frappe/desk/doctype/event/event.json #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "Wednesday" -msgstr "" +msgstr "الأربعاء" #: frappe/public/js/frappe/views/calendar/calendar.js:276 msgid "Week" @@ -29559,7 +29819,7 @@ msgstr "أيام الأسبوع" #: frappe/public/js/frappe/utils/common.js:408 #: frappe/website/report/website_analytics/website_analytics.js:24 msgid "Weekly" -msgstr "" +msgstr "الأسبوعية" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -29570,7 +29830,7 @@ msgstr "أسبوعي طويل" #: frappe/desk/page/setup_wizard/setup_wizard.js:384 msgid "Welcome" -msgstr "" +msgstr "مرحباً" #. Label of the welcome_email_template (Link) field in DocType 'System #. Settings' @@ -29583,24 +29843,24 @@ msgstr "ترحيب قالب البريد الإلكتروني" #. Label of the welcome_url (Data) field in DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json msgid "Welcome URL" -msgstr "" +msgstr "رابط الترحيب" #. Name of a Workspace #: frappe/core/workspace/welcome_workspace/welcome_workspace.json msgid "Welcome Workspace" -msgstr "" +msgstr "مساحة عمل ترحيبية" -#: frappe/core/doctype/user/user.py:454 +#: frappe/core/doctype/user/user.py:457 msgid "Welcome email sent" msgstr "رسالة الترحيب تم أرسالها" -#: frappe/core/doctype/user/user.py:515 +#: frappe/core/doctype/user/user.py:518 msgid "Welcome to {0}" -msgstr "" +msgstr "أهلا وسهلا بك إلى {0}" -#: frappe/public/js/frappe/ui/notifications/notifications.js:73 +#: frappe/public/js/frappe/ui/notifications/notifications.js:80 msgid "What's New" -msgstr "" +msgstr "ما الجديد" #. Description of the 'Allow Guests to Upload Files' (Check) field in DocType #. 'System Settings' @@ -29618,11 +29878,7 @@ msgstr "عند إرسال مستند باستخدام البريد الإلكت #. DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json 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 "" - -#: frappe/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." -msgstr "" +msgstr "عند تحميل الملفات، يجب فرض استخدام خاصية التقاط الصور عبر الإنترنت. في حال عدم تحديد هذا الخيار، سيتم استخدام كاميرا الهاتف المحمول تلقائيًا عند اكتشاف استخدام الهاتف." #. Description of the 'DocType View' (Select) field in DocType 'Workspace #. Shortcut' @@ -29641,14 +29897,14 @@ msgstr "ما هي طريقة عرض DocType المرتبطة التي يجب أ #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/dashboard_chart_link/dashboard_chart_link.json -#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:8 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:14 #: frappe/public/js/print_format_builder/ConfigureColumns.vue:11 msgid "Width" msgstr "عرض" #: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:2 msgid "Widths can be set in px or %." -msgstr "" +msgstr "يمكن تحديد العرض بالبكسل أو النسبة المئوية." #. Label of the wildcard_filter (Check) field in DocType 'Report Filter' #: frappe/core/doctype/report_filter/report_filter.json @@ -29659,7 +29915,7 @@ msgstr "مرشح البدل" #. Filter' #: frappe/core/doctype/report_filter/report_filter.json msgid "Will add \"%\" before and after the query" -msgstr "" +msgstr "سأضيف علامة \"%\" قبل الاستعلام وبعده" #: frappe/desk/page/setup_wizard/setup_wizard.js:485 msgid "Will be your login ID" @@ -29673,7 +29929,7 @@ msgstr "سيتم عرض فقط إذا تم تمكين عناوين المقطع" #. in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Will run scheduled jobs only once a day for inactive sites. Set it to 0 to avoid automatically disabling the scheduler." -msgstr "" +msgstr "سيتم تشغيل المهام المجدولة مرة واحدة فقط يوميًا للمواقع غير النشطة. اضبط القيمة على 0 لتجنب تعطيل المجدول تلقائيًا." #: frappe/public/js/frappe/form/print_utils.js:45 msgid "With Letter head" @@ -29683,12 +29939,12 @@ msgstr "مع رئيس رسالة" #. Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Worker Information" -msgstr "" +msgstr "معلومات العامل" #. Label of the worker_name (Data) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_worker/rq_worker.json msgid "Worker Name" -msgstr "" +msgstr "اسم العامل" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Group in DocType's connections @@ -29698,13 +29954,13 @@ msgstr "" #: frappe/public/js/workflow_builder/store.js:129 #: frappe/workflow/doctype/workflow/workflow.json msgid "Workflow" -msgstr "" +msgstr "سير العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_action/workflow_action.json #: frappe/workflow/doctype/workflow_action/workflow_action.py:446 msgid "Workflow Action" -msgstr "" +msgstr "إجراء سير العمل" #. Name of a DocType #. Description of a DocType @@ -29721,7 +29977,7 @@ msgstr "سير العمل اسم العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_action_permitted_role/workflow_action_permitted_role.json msgid "Workflow Action Permitted Role" -msgstr "" +msgstr "الدور المسموح به في إجراءات سير العمل" #. Description of the 'Is Optional State' (Check) field in DocType 'Workflow #. Document State' @@ -29733,7 +29989,7 @@ msgstr "لم يتم إنشاء إجراء سير العمل للحالات ال #: frappe/workflow/doctype/workflow/workflow.js:25 #: frappe/workflow/page/workflow_builder/workflow_builder.js:4 msgid "Workflow Builder" -msgstr "" +msgstr "منشئ سير العمل" #. Label of the workflow_builder_id (Data) field in DocType 'Workflow Document #. State' @@ -29742,26 +29998,30 @@ msgstr "" #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Workflow Builder ID" -msgstr "" +msgstr "معرّف منشئ سير العمل" #: frappe/workflow/doctype/workflow/workflow.js:11 msgid "Workflow Builder allows you to create workflows visually. You can drag and drop states and link them to create transitions. Also you can update their properties from the sidebar." -msgstr "" +msgstr "تتيح لك أداة إنشاء سير العمل إنشاء سير العمل بشكل مرئي. يمكنك سحب وإفلات الحالات وربطها لإنشاء انتقالات. كما يمكنك تحديث خصائصها من الشريط الجانبي." #. Label of the workflow_data (JSON) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Workflow Data" -msgstr "" +msgstr "بيانات سير العمل" #: frappe/public/js/workflow_builder/components/Properties.vue:44 msgid "Workflow Details" -msgstr "" +msgstr "تفاصيل سير العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json msgid "Workflow Document State" msgstr "سير العمل الوثيقة الدولة" +#: frappe/model/workflow.py:113 +msgid "Workflow Evaluation Error" +msgstr "خطأ في تقييم سير العمل" + #. Label of the workflow_name (Data) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Workflow Name" @@ -29772,33 +30032,33 @@ msgstr "اسم سير العمل" #: frappe/workflow/doctype/workflow_action/workflow_action.json #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Workflow State" -msgstr "" +msgstr "حالة سير العمل" #. Label of the workflow_state_field (Data) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Workflow State Field" msgstr "حقل حالة سير العمل" -#: frappe/model/workflow.py:64 +#: frappe/model/workflow.py:67 msgid "Workflow State not set" msgstr "لم يتم تعيين حالة سير العمل" -#: frappe/model/workflow.py:260 frappe/model/workflow.py:268 +#: frappe/model/workflow.py:281 frappe/model/workflow.py:289 msgid "Workflow State transition not allowed from {0} to {1}" msgstr "انتقال حالة سير العمل غير مسموح به من {0} إلى {1}" #: frappe/workflow/doctype/workflow/workflow.js:140 msgid "Workflow States Don't Exist" -msgstr "" +msgstr "حالات سير العمل غير موجودة" -#: frappe/model/workflow.py:384 +#: frappe/model/workflow.py:405 msgid "Workflow Status" msgstr "حالة سير العمل" #. Option for the 'Script Type' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Workflow Task" -msgstr "" +msgstr "مهمة سير العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_transition/workflow_transition.json @@ -29808,39 +30068,36 @@ msgstr "الانتقال سير العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Workflow Transition Task" -msgstr "" +msgstr "مهمة انتقال سير العمل" #. Name of a DocType #: frappe/workflow/doctype/workflow_transition_tasks/workflow_transition_tasks.json msgid "Workflow Transition Tasks" -msgstr "" +msgstr "مهام تحويل سير العمل" #. Description of a DocType #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Workflow state represents the current state of a document." -msgstr "" +msgstr "تمثل حالة سير العمل الحالة الحالية للمستند." #: frappe/public/js/workflow_builder/store.js:83 msgid "Workflow updated successfully" -msgstr "" +msgstr "تم تحديث سير العمل بنجاح" #. Label of the workspace_section (Section Break) field in DocType 'User' #. Label of a Link in the Build Workspace -#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Name of a DocType #. Option for the 'Type' (Select) field in DocType 'Workspace' #. Option for the 'Link Type' (Select) field in DocType 'Workspace Sidebar #. Item' #: frappe/core/doctype/user/user.json frappe/core/workspace/build/build.json -#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:100 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:601 -#: frappe/public/js/frappe/utils/utils.js:968 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:92 +#: frappe/public/js/frappe/utils/utils.js:956 #: frappe/public/js/frappe/views/workspace/workspace.js:10 msgid "Workspace" -msgstr "" +msgstr "مساحة العمل" #: frappe/public/js/frappe/router.js:180 msgid "Workspace {0} does not exist" @@ -29849,91 +30106,90 @@ msgstr "" #. Name of a DocType #: frappe/desk/doctype/workspace_chart/workspace_chart.json msgid "Workspace Chart" -msgstr "" +msgstr "مخطط مساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_custom_block/workspace_custom_block.json msgid "Workspace Custom Block" -msgstr "" +msgstr "كتلة مخصصة لمساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_link/workspace_link.json msgid "Workspace Link" -msgstr "" +msgstr "رابط مساحة العمل" #. Name of a role #: frappe/desk/doctype/custom_html_block/custom_html_block.json #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_settings/workspace_settings.json msgid "Workspace Manager" -msgstr "" +msgstr "مدير مساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_number_card/workspace_number_card.json msgid "Workspace Number Card" -msgstr "" +msgstr "بطاقة رقم مساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_quick_list/workspace_quick_list.json msgid "Workspace Quick List" -msgstr "" +msgstr "قائمة سريعة لمساحة العمل" -#. Label of a standard navbar item -#. Type: Action #. Name of a DocType #: frappe/desk/doctype/workspace_settings/workspace_settings.json -#: frappe/hooks.py msgid "Workspace Settings" -msgstr "" +msgstr "إعدادات مساحة العمل" #. Label of the workspace_setup_completed (Check) field in DocType 'Workspace #. Settings' #: frappe/desk/doctype/workspace_settings/workspace_settings.json msgid "Workspace Setup Completed" -msgstr "" +msgstr "تم الانتهاء من إعداد مساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json msgid "Workspace Shortcut" -msgstr "" +msgstr "اختصار مساحة العمل" +#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Name of a DocType #: frappe/desk/doctype/desktop_icon/desktop_icon.js:17 +#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json msgid "Workspace Sidebar" -msgstr "" +msgstr "شريط جانبي لمساحة العمل" #. Name of a DocType #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Workspace Sidebar Item" -msgstr "" +msgstr "عنصر الشريط الجانبي لمساحة العمل" #. Label of the workspace_visibility_json (JSON) field in DocType 'Workspace #. Settings' #: frappe/desk/doctype/workspace_settings/workspace_settings.json msgid "Workspace Visibility" -msgstr "" +msgstr "رؤية مساحة العمل" -#: frappe/public/js/frappe/views/workspace/workspace.js:553 +#: frappe/public/js/frappe/views/workspace/workspace.js:602 msgid "Workspace {0} created" -msgstr "" +msgstr "تم إنشاء مساحة العمل {0}" #. Option for the 'View' (Select) field in DocType 'Form Tour' #: frappe/desk/doctype/form_tour/form_tour.json msgid "Workspaces" -msgstr "" +msgstr "مساحات العمل" #: frappe/public/js/frappe/form/footer/form_timeline.js:757 msgid "Would you like to publish this comment? This means it will become visible to website/portal users." -msgstr "" +msgstr "هل ترغب بنشر هذا التعليق؟ هذا يعني أنه سيصبح مرئياً لمستخدمي الموقع الإلكتروني/البوابة." #: frappe/public/js/frappe/form/footer/form_timeline.js:761 msgid "Would you like to unpublish this comment? This means it will no longer be visible to website/portal users." -msgstr "" +msgstr "هل ترغب في حذف هذا التعليق؟ هذا يعني أنه لن يكون مرئيًا لمستخدمي الموقع/البوابة الإلكترونية." #: frappe/desk/page/setup_wizard/setup_wizard.py:41 msgid "Wrapping up" -msgstr "" +msgstr "تغليف" #. Label of the write (Check) field in DocType 'Custom DocPerm' #. Label of the write (Check) field in DocType 'DocPerm' @@ -29943,11 +30199,12 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:36 #: frappe/public/js/frappe/form/templates/set_sharing.html:3 msgid "Write" msgstr "الكتابة" -#: frappe/model/base_document.py:1055 +#: frappe/model/base_document.py:1072 msgid "Wrong Fetch From value" msgstr "إحضار خاطئ من القيمة" @@ -29963,11 +30220,11 @@ msgstr "X الميدان" #. Option for the 'Format' (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json msgid "XLSX" -msgstr "" +msgstr "XLSX" -#: frappe/public/js/frappe/file_uploader/FileUploader.vue:641 +#: frappe/public/js/frappe/file_uploader/FileUploader.vue:644 msgid "XMLHttpRequest Error" -msgstr "" +msgstr "خطأ في طلب XMLHttp" #. Label of the y_axis (Table) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -29980,7 +30237,7 @@ msgstr "حقول محور Y" #. Label of the y_field (Select) field in DocType 'Dashboard Chart Field' #: frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.json -#: frappe/public/js/frappe/views/reports/query_report.js:1255 +#: frappe/public/js/frappe/views/reports/query_report.js:1272 msgid "Y Field" msgstr "Y الميدان" @@ -29992,14 +30249,14 @@ msgstr "بريد ياهو" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Yandex.Mail" -msgstr "" +msgstr "ياندكس.ميل" #. Label of the heatmap_year (Select) field in DocType 'Dashboard Chart' #. Label of the year (Data) field in DocType 'Company History' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/doctype/company_history/company_history.json msgid "Year" -msgstr "" +msgstr "عام" #. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat' #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' @@ -30017,21 +30274,25 @@ msgstr "" #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/public/js/frappe/utils/common.js:412 msgid "Yearly" -msgstr "" +msgstr "سنويا" #. Option for the 'Color' (Select) field in DocType 'DocType State' #. Option for the 'Indicator' (Select) field in DocType 'Kanban Board Column' #: frappe/core/doctype/doctype_state/doctype_state.json #: frappe/desk/doctype/kanban_board_column/kanban_board_column.json msgid "Yellow" -msgstr "" +msgstr "أصفر" #. Option for the 'Standard' (Select) field in DocType 'Page' #. Option for the 'Is Standard' (Select) field in DocType 'Report' +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' #. Option for the 'Require Trusted Certificate' (Select) field in DocType 'LDAP #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: frappe/core/doctype/page/page.json frappe/core/doctype/report/report.json +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/notification/notification.py:97 #: frappe/email/doctype/notification/notification.py:102 #: frappe/email/doctype/notification/notification.py:104 @@ -30040,10 +30301,10 @@ msgstr "" #: frappe/integrations/doctype/webhook/webhook.py:132 #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/form_builder/utils.js:336 -#: frappe/public/js/frappe/form/controls/link.js:573 +#: frappe/public/js/frappe/form/controls/link.js:574 #: frappe/public/js/frappe/list/base_list.js:949 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:170 -#: frappe/public/js/frappe/views/reports/query_report.js:1695 +#: frappe/public/js/frappe/views/reports/query_report.js:47 #: frappe/website/doctype/help_article/templates/help_article.html:25 msgid "Yes" msgstr "نعم" @@ -30060,7 +30321,7 @@ msgstr "نعم" #: frappe/public/js/frappe/ui/filters/filter.js:726 msgid "Yesterday" -msgstr "" +msgstr "الأمسِ" #: frappe/public/js/frappe/utils/user.js:33 msgctxt "Name of the current user. For example: You edited this 5 hours ago." @@ -30069,39 +30330,39 @@ msgstr "أنت" #: frappe/public/js/frappe/form/footer/form_timeline.js:463 msgid "You Liked" -msgstr "" +msgstr "أعجبك" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:271 msgid "You added 1 row to {0}" -msgstr "" +msgstr "أضفت صفًا واحدًا إلى {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:249 msgid "You added {0} rows to {1}" -msgstr "" +msgstr "أضفت {0} صفوفًا إلى {1}" -#: frappe/public/js/frappe/router.js:642 +#: frappe/public/js/frappe/router.js:647 msgid "You are about to open an external link. To confirm, click the link again." -msgstr "" +msgstr "أنت على وشك فتح رابط خارجي. للتأكيد، انقر على الرابط مرة أخرى." #: frappe/public/js/frappe/dom.js:435 msgid "You are connected to internet." msgstr "أنت متصل بالإنترنت." -#: frappe/public/js/frappe/ui/toolbar/navbar.html:22 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:12 msgid "You are impersonating as another user." msgstr "" #: frappe/integrations/frappe_providers/frappecloud_billing.py:28 msgid "You are not allowed to access this resource" -msgstr "" +msgstr "لا يُسمح لك بالوصول إلى هذا المورد" -#: frappe/permissions.py:437 +#: frappe/permissions.py:443 msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in field {3}" msgstr "لا يسمح لك بالوصول إلى هذا السجل {0} لأنه مرتبط بـ {1} '{2}' في الحقل {3}" -#: frappe/permissions.py:426 +#: frappe/permissions.py:432 msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in row {3}, field {4}" -msgstr "" +msgstr "لا يُسمح لك بالوصول إلى هذا السجل {0} لأنه مرتبط بالسجل {1} '{2}' في الصف {3}، الحقل {4}" #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:68 msgid "You are not allowed to create columns" @@ -30117,12 +30378,12 @@ msgstr "لا يسمح لك بحذف موضوع الموقع القياسي" #: frappe/core/doctype/report/report.py:396 msgid "You are not allowed to edit the report." -msgstr "" +msgstr "لا يُسمح لك بتعديل التقرير." #: frappe/core/doctype/data_import/exporter.py:121 #: frappe/core/doctype/data_import/exporter.py:125 #: frappe/desk/reportview.py:447 frappe/desk/reportview.py:450 -#: frappe/permissions.py:632 +#: frappe/permissions.py:638 msgid "You are not allowed to export {} doctype" msgstr "غير مسموح لك بتصدير النمط {}" @@ -30130,10 +30391,14 @@ msgstr "غير مسموح لك بتصدير النمط {}" msgid "You are not allowed to print this report" msgstr "لا يسمح لك بطباعة هذا التقرير" -#: frappe/public/js/frappe/views/communication.js:778 +#: frappe/public/js/frappe/views/communication.js:845 msgid "You are not allowed to send emails related to this document" msgstr "لا يسمح لك بإرسال رسائل البريد الإلكتروني ذات الصلة بهذه الوثيقة" +#: frappe/desk/doctype/event/event.py:251 +msgid "You are not allowed to update the status of this event." +msgstr "" + #: frappe/website/doctype/web_form/web_form.py:633 msgid "You are not allowed to update this Web Form Document" msgstr "لا يسمح لك بتحديث الوثيقة نموذج الويب هذه" @@ -30144,48 +30409,48 @@ msgstr "أنت غير متصل بالإنترنت. أعد المحاولة بع #: frappe/public/js/frappe/web_form/webform_script.js:22 msgid "You are not permitted to access this page without login." -msgstr "" +msgstr "لا يُسمح لك بالوصول إلى هذه الصفحة بدون تسجيل الدخول." #: frappe/www/desk.py:27 msgid "You are not permitted to access this page." msgstr "لا يسمح لك بالوصول إلى هذه الصفحة." -#: frappe/__init__.py:464 +#: frappe/__init__.py:462 msgid "You are not permitted to access this resource. Login to access" -msgstr "" +msgstr "لا يُسمح لك بالوصول إلى هذا المورد. سجّل الدخول للوصول إليه." #: frappe/public/js/frappe/form/sidebar/document_follow.js:131 msgid "You are now following this document. You will receive daily updates via email. You can change this in User Settings." msgstr "أنت الآن تتبع هذا المستند. سوف تتلقى التحديثات اليومية عبر البريد الإلكتروني. يمكنك تغيير هذا في إعدادات المستخدم." -#: frappe/core/doctype/installed_applications/installed_applications.py:125 +#: frappe/core/doctype/installed_applications/installed_applications.py:126 msgid "You are only allowed to update order, do not remove or add apps." -msgstr "" +msgstr "يُسمح لك بتحديث الطلب فقط، ولا يُسمح لك بإزالة التطبيقات أو إضافتها." #: frappe/email/doctype/email_account/email_account.js:284 msgid "You are selecting Sync Option as ALL, It will resync all read as well as unread message from server. This may also cause the duplication of Communication (emails)." -msgstr "" +msgstr "باختيارك خيار المزامنة \"الكل\"، سيتم إعادة مزامنة جميع الرسائل المقروءة وغير المقروءة من الخادم. قد يؤدي ذلك أيضاً إلى تكرار الرسائل الإلكترونية." #: frappe/public/js/frappe/form/footer/form_timeline.js:414 msgctxt "Form timeline" msgid "You attached {0}" -msgstr "" +msgstr "لقد قمت بإرفاق {0}" -#: frappe/printing/page/print_format_builder/print_format_builder.js:749 +#: frappe/printing/page/print_format_builder/print_format_builder.js:783 msgid "You can add dynamic properties from the document by using Jinja templating." msgstr "يمكنك إضافة خصائص ديناميكية من المستند باستخدام Jinja templating ." #: frappe/printing/doctype/letter_head/letter_head.js:32 msgid "You can also access wkhtmltopdf variables (valid only in PDF print):" -msgstr "" +msgstr "يمكنك أيضًا الوصول إلى متغيرات wkhtmltopdf (صالحة فقط في طباعة PDF):" #: frappe/templates/emails/new_user.html:22 msgid "You can also copy-paste following link in your browser" -msgstr "" +msgstr "يمكنك أيضًا نسخ الرابط التالي ولصقه في متصفحك" #: frappe/templates/emails/download_data.html:9 msgid "You can also copy-paste this" -msgstr "" +msgstr "يمكنك أيضًا نسخ هذا ولصقه" #: frappe/templates/emails/delete_data_confirmation.html:11 msgid "You can also copy-paste this {0} to your browser" @@ -30193,47 +30458,43 @@ msgstr "يمكنك أيضًا نسخ {0} هذا ولصقه في متصفحك" #: frappe/templates/emails/user_invitation_expired.html:8 msgid "You can ask your team to resend the invitation if you'd still like to join." -msgstr "" - -#: frappe/core/page/permission_manager/permission_manager_help.html:17 -msgid "You can change Submitted documents by cancelling them and then, amending them." -msgstr "" +msgstr "يمكنك أن تطلب من فريقك إعادة إرسال الدعوة إذا كنت لا تزال ترغب في الانضمام." #: frappe/public/js/frappe/logtypes.js:21 msgid "You can change the retention policy from {0}." -msgstr "" +msgstr "يمكنك تغيير سياسة الاحتفاظ من {0}." #: frappe/public/js/frappe/widgets/onboarding_widget.js:194 msgid "You can continue with the onboarding after exploring this page" -msgstr "" +msgstr "يمكنك متابعة عملية الإعداد بعد استكشاف هذه الصفحة" #: frappe/model/delete_doc.py:179 msgid "You can disable this {0} instead of deleting it." -msgstr "" +msgstr "يمكنك تعطيل هذا {0} بدلاً من حذفه." #: frappe/core/doctype/file/file.py:768 msgid "You can increase the limit from System Settings." -msgstr "" +msgstr "يمكنك زيادة الحد من إعدادات النظام." #: frappe/utils/synchronization.py:48 msgid "You can manually remove the lock if you think it's safe: {}" -msgstr "" +msgstr "يمكنك إزالة القفل يدويًا إذا كنت تعتقد أنه آمن: {}" #: frappe/public/js/frappe/form/controls/markdown_editor.js:75 msgid "You can only insert images in Markdown fields" -msgstr "" +msgstr "لا يمكنك إدراج الصور إلا في حقول Markdown" #: frappe/public/js/frappe/list/bulk_operations.js:42 msgid "You can only print upto {0} documents at a time" -msgstr "" +msgstr "لا يمكنك طباعة أكثر من {0} مستندًا في المرة الواحدة" #: frappe/core/doctype/user_type/user_type.py:104 msgid "You can only set the 3 custom doctypes in the Document Types table." -msgstr "" +msgstr "يمكنك فقط تعيين أنواع المستندات المخصصة الثلاثة في جدول أنواع المستندات." #: frappe/handler.py:184 msgid "You can only upload JPG, PNG, GIF, PDF, TXT, CSV or Microsoft documents." -msgstr "" +msgstr "يمكنك فقط تحميل ملفات بصيغ JPG، PNG، GIF، PDF، TXT، CSV أو مستندات Microsoft." #: frappe/core/doctype/data_export/exporter.py:199 msgid "You can only upload upto 5000 records in one go. (may be less in some cases)" @@ -30241,7 +30502,7 @@ msgstr "يمكنك تحميل فقط حتى 5000 دفعة واحدة. (قد ي #: frappe/website/doctype/web_page/web_page.js:92 msgid "You can select one from the following," -msgstr "" +msgstr "يمكنك اختيار واحد مما يلي،" #. Description of the 'Rate limit for email link login' (Int) field in DocType #. 'System Settings' @@ -30253,13 +30514,13 @@ msgstr "" msgid "You can try changing the filters of your report." msgstr "يمكنك محاولة تغيير عوامل تصفية تقريرك." -#: frappe/core/page/permission_manager/permission_manager_help.html:27 +#: frappe/core/page/permission_manager/permission_manager_help.html:94 msgid "You can use Customize Form to set levels on fields." -msgstr "" +msgstr "يمكنك استخدام \"تخصيص النموذج\" لتعيين مستويات الحقول." #: frappe/public/js/frappe/form/link_selector.js:30 msgid "You can use wildcard %" -msgstr "" +msgstr "يمكنك استخدام علامة البدل %" #: frappe/custom/doctype/customize_form/customize_form.py:394 msgid "You can't set 'Options' for field {0}" @@ -30272,57 +30533,56 @@ msgstr "لا يمكنك تعيين 'ترانزلاتابل' للحقل { #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:74 msgctxt "Form timeline" msgid "You cancelled this document" -msgstr "" +msgstr "لقد ألغيت هذا المستند" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:61 msgctxt "Form timeline" msgid "You cancelled this document {1}" -msgstr "" +msgstr "لقد ألغيت هذا المستند {1}" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.py:417 msgid "You cannot create a dashboard chart from single DocTypes" msgstr "لا يمكنك إنشاء مخطط لوحة معلومات من أنواع DocTypes الفردية" +#: frappe/share.py:246 +msgid "You cannot share `{0}` on {1} `{2}` as you do not have `{0}` permission on `{1}`" +msgstr "لا يمكنك مشاركة `{0}` على ` {1} ` و`{2}` لأنك لا تملك إذن `{0}` على `{1}`" + #: frappe/custom/doctype/customize_form/customize_form.py:390 msgid "You cannot unset 'Read Only' for field {0}" msgstr "لا يمكنك ضبط \"للقراءة فقط\" للحقل {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:125 msgid "You changed the value of {0}" -msgstr "" +msgstr "لقد قمت بتغيير قيمة {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:114 msgid "You changed the value of {0} {1}" -msgstr "" +msgstr "لقد قمت بتغيير قيمة {0} {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:196 msgid "You changed the values for {0}" -msgstr "" +msgstr "لقد قمت بتغيير القيم لـ {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:185 msgid "You changed the values for {0} {1}" -msgstr "" +msgstr "لقد قمت بتغيير القيم لـ {0} {1}" #: frappe/public/js/frappe/form/footer/form_timeline.js:443 msgctxt "Form timeline" msgid "You changed {0} to {1}" -msgstr "" +msgstr "لقد قمت بتغيير {0} إلى {1}" #: frappe/public/js/frappe/form/footer/form_timeline.js:140 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:152 msgid "You created this" -msgstr "" +msgstr "أنت أنشأت هذا المستند" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:345 msgctxt "Form timeline" msgid "You created this document {0}" -msgstr "" +msgstr "لقد أنشأت هذا المستند {0}" -#: frappe/client.py:420 -msgid "You do not have Read or Select Permissions for {}" -msgstr "" - -#: frappe/public/js/frappe/request.js:177 +#: frappe/public/js/frappe/request.js:175 msgid "You do not have enough permissions to access this resource. Please contact your manager to get access." msgstr "ليس لديك الأذونات الكافية للوصول إلى هذا المورد. الرجاء الاتصال بالمدير للحصول علي الوصول." @@ -30332,17 +30592,21 @@ msgstr "لا يوجد لديك الصلاحية الكافية لاتمام هذ #: frappe/core/doctype/data_import/data_import.py:83 msgid "You do not have import permission for {0}" -msgstr "" +msgstr "ليس لديك إذن استيراد لـ {0}" -#: frappe/database/query.py:910 +#: frappe/database/query.py:943 +msgid "You do not have permission to access child table field: {0}" +msgstr "ليس لديك إذن بالوصول إلى حقل الجدول الفرعي: {0}" + +#: frappe/database/query.py:953 msgid "You do not have permission to access field: {0}" -msgstr "" +msgstr "ليس لديك إذن بالوصول إلى الحقل: {0}" -#: frappe/desk/query_report.py:969 +#: frappe/desk/query_report.py:968 msgid "You do not have permission to access {0}: {1}." -msgstr "" +msgstr "ليس لديك إذن بالوصول إلى {0}: {1}." -#: frappe/public/js/frappe/form/form.js:963 +#: frappe/public/js/frappe/form/form.js:992 msgid "You do not have permissions to cancel all linked documents." msgstr "ليس لديك أذونات لإلغاء كافة المستندات المرتبطة." @@ -30352,7 +30616,7 @@ msgstr "ليس لديك حق الوصول إلى التقرير: {0}" #: frappe/website/doctype/web_form/web_form.py:840 msgid "You don't have permission to access the {0} DocType." -msgstr "" +msgstr "ليس لديك إذن للوصول إلى نوع المستند {0} ." #: frappe/utils/response.py:291 frappe/utils/response.py:295 msgid "You don't have permission to access this file" @@ -30368,7 +30632,7 @@ msgstr "ليس لديك الأذونات للوصول إلى هذا المستن #: frappe/templates/emails/new_message.html:1 msgid "You have a new message from:" -msgstr "" +msgstr "لقد تلقيت رسالة جديدة من:" #: frappe/handler.py:120 msgid "You have been successfully logged out" @@ -30376,15 +30640,15 @@ msgstr "لقد تم تسجيل بنجاح" #: frappe/custom/doctype/customize_form/customize_form.py:247 msgid "You have hit the row size limit on database table: {0}" -msgstr "" +msgstr "لقد وصلت إلى الحد الأقصى لحجم الصف في جدول قاعدة البيانات: {0}" -#: frappe/public/js/frappe/list/bulk_operations.js:412 +#: frappe/public/js/frappe/list/bulk_operations.js:426 msgid "You have not entered a value. The field will be set to empty." -msgstr "" +msgstr "لم تُدخل قيمة. سيتم تعيين الحقل فارغًا." #: frappe/twofactor.py:446 msgid "You have to enable Two Factor Auth from System Settings." -msgstr "" +msgstr "يجب عليك تفعيل المصادقة الثنائية من إعدادات النظام." #: frappe/public/js/frappe/model/create_new.js:328 msgid "You have unsaved changes in this form. Please save before you continue." @@ -30396,49 +30660,48 @@ msgstr "لديك غير مرئي {0}" #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:192 msgid "You haven't added any Dashboard Charts or Number Cards yet." -msgstr "" +msgstr "لم تقم بإضافة أي مخططات لوحة معلومات أو بطاقات أرقام حتى الآن." -#: frappe/public/js/frappe/list/list_view.js:504 +#: frappe/public/js/frappe/list/list_view.js:507 msgid "You haven't created a {0} yet" -msgstr "" +msgstr "لم تقم بإنشاء {0} بعد" #: frappe/rate_limiter.py:166 msgid "You hit the rate limit because of too many requests. Please try after sometime." -msgstr "" +msgstr "لقد تجاوزت الحد المسموح به بسبب كثرة الطلبات. يرجى المحاولة مرة أخرى بعد فترة." #: frappe/public/js/frappe/form/footer/form_timeline.js:151 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:141 msgid "You last edited this" -msgstr "" +msgstr "آخر مرة قمت فيها بتعديل" #: frappe/public/js/frappe/widgets/widget_dialog.js:352 msgid "You must add atleast one link." -msgstr "" +msgstr "يجب عليك إضافة رابط واحد على الأقل." #: frappe/website/doctype/web_form/web_form.py:836 msgid "You must be logged in to use this form." -msgstr "" +msgstr "يجب عليك تسجيل الدخول لاستخدام هذا النموذج." #: frappe/website/doctype/web_form/web_form.py:677 msgid "You must login to submit this form" msgstr "يجب عليك تسجيل الدخول لإرسال هذا النموذج" -#: frappe/model/document.py:391 +#: frappe/model/document.py:390 msgid "You need the '{0}' permission on {1} {2} to perform this action." -msgstr "" +msgstr "أنت بحاجة إلى إذن '{0}' على {1} {2} لتنفيذ هذا الإجراء." #: frappe/desk/doctype/workspace/workspace.py:129 -#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py:75 +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py:71 msgid "You need to be Workspace Manager to delete a public workspace." -msgstr "" +msgstr "يجب أن تكون مدير مساحة العمل لحذف مساحة عمل عامة." #: frappe/desk/doctype/workspace/workspace.py:78 msgid "You need to be Workspace Manager to edit this document" -msgstr "" +msgstr "يجب أن تكون مدير مساحة العمل لتعديل هذا المستند" -#: frappe/www/attribution.py:16 +#: frappe/www/attribution.py:15 msgid "You need to be a system user to access this page." -msgstr "" +msgstr "يجب أن تكون مستخدمًا للنظام للوصول إلى هذه الصفحة." #: frappe/website/doctype/web_form/web_form.py:92 msgid "You need to be in developer mode to edit a Standard Web Form" @@ -30458,7 +30721,7 @@ msgstr "تحتاج إلى تسجيل الدخول للوصول إلى هذه {0} #: frappe/public/js/frappe/widgets/links_widget.js:63 msgid "You need to create these first:" -msgstr "" +msgstr "يجب عليك إنشاء هذه أولاً:" #: frappe/www/login.html:76 msgid "You need to enable JavaScript for your app to work." @@ -30474,36 +30737,36 @@ msgstr "تحتاج إلى تثبيت pycups لاستخدام هذه الميزة #: frappe/core/doctype/recorder/recorder.js:38 msgid "You need to select indexes you want to add first." -msgstr "" +msgstr "عليك أولاً تحديد الفهارس التي تريد إضافتها." #: frappe/email/doctype/email_account/email_account.py:160 msgid "You need to set one IMAP folder for {0}" -msgstr "" +msgstr "يجب عليك تعيين مجلد IMAP واحد لـ {0}" #: frappe/model/rename_doc.py:391 msgid "You need write permission on {0} {1} to merge" -msgstr "" +msgstr "أنت بحاجة إلى إذن الكتابة على {0} {1} للدمج" #: frappe/model/rename_doc.py:386 msgid "You need write permission on {0} {1} to rename" -msgstr "" +msgstr "أنت بحاجة إلى إذن الكتابة على {0} {1} لإعادة التسمية" -#: frappe/client.py:452 +#: frappe/client.py:501 msgid "You need {0} permission to fetch values from {1} {2}" -msgstr "" +msgstr "أنت بحاجة إلى إذن {0} لجلب القيم من {1} {2}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:316 msgid "You removed 1 row from {0}" -msgstr "" +msgstr "لقد حذفت صفًا واحدًا من {0}" #: frappe/public/js/frappe/form/footer/form_timeline.js:419 msgctxt "Form timeline" msgid "You removed attachment {0}" -msgstr "" +msgstr "لقد قمت بإزالة المرفق {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:294 msgid "You removed {0} rows from {1}" -msgstr "" +msgstr "لقد حذفت {0} صفًا من {1}" #: frappe/public/js/frappe/widgets/onboarding_widget.js:520 msgid "You seem good to go!" @@ -30511,7 +30774,7 @@ msgstr "يبدو أنك على ما يرام!" #: frappe/templates/includes/contact.js:20 msgid "You seem to have written your name instead of your email. Please enter a valid email address so that we can get back." -msgstr "" +msgstr "يبدو أنك كتبت اسمك بدلاً من بريدك الإلكتروني. يرجى إدخال بريد إلكتروني صحيح حتى نتمكن من التواصل معك." #: frappe/public/js/frappe/list/bulk_operations.js:31 msgid "You selected Draft or Cancelled documents" @@ -30520,12 +30783,12 @@ msgstr "لقد حددت مسودة أو مستندات تم إلغاؤها" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:48 msgctxt "Form timeline" msgid "You submitted this document" -msgstr "" +msgstr "لقد قمت بتقديم هذا المستند" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:35 msgctxt "Form timeline" msgid "You submitted this document {0}" -msgstr "" +msgstr "لقد قمت بإرسال هذا المستند {0}" #: frappe/public/js/frappe/form/sidebar/document_follow.js:144 msgid "You unfollowed this document" @@ -30533,23 +30796,23 @@ msgstr "لقد قمت بإلغاء متابعة هذا المستند" #: frappe/public/js/frappe/form/footer/form_timeline.js:183 msgid "You viewed this" -msgstr "" +msgstr "لقد شاهدت هذا" -#: frappe/public/js/frappe/router.js:653 +#: frappe/public/js/frappe/router.js:658 msgid "You will be redirected to:" -msgstr "" +msgstr "سيتم تحويلك إلى:" #: frappe/core/doctype/user_invitation/user_invitation.py:113 msgid "You've been invited to join {0}" -msgstr "" +msgstr "لقد تمت دعوتك للانضمام {0}" #: frappe/templates/emails/user_invitation.html:5 msgid "You've been invited to join {0}." -msgstr "" +msgstr "لقد تمت دعوتك للانضمام إلى {0}." #: frappe/public/js/frappe/desk.js:547 msgid "You've logged in as another user from another tab. Refresh this page to continue using system." -msgstr "" +msgstr "لقد قمت بتسجيل الدخول كمستخدم آخر من علامة تبويب أخرى. قم بتحديث هذه الصفحة لمتابعة استخدام النظام." #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "YouTube" @@ -30557,7 +30820,7 @@ msgstr "موقع YouTube" #: frappe/core/doctype/prepared_report/prepared_report.js:57 msgid "Your CSV file is being generated and will appear in the Attachments section once ready. Additionally, you will get notified when the file is available for download." -msgstr "" +msgstr "يتم إنشاء ملف CSV الخاص بك وسيظهر في قسم المرفقات فور جاهزيته. كما ستتلقى إشعارًا عند توفر الملف للتنزيل." #: frappe/desk/page/setup_wizard/setup_wizard.js:397 msgid "Your Country" @@ -30573,7 +30836,7 @@ msgstr "اسمك" #: frappe/public/js/frappe/list/bulk_operations.js:132 msgid "Your PDF is ready for download" -msgstr "" +msgstr "ملف PDF الخاص بك جاهز للتنزيل" #: frappe/patches/v14_0/update_workspace2.py:34 msgid "Your Shortcuts" @@ -30582,7 +30845,7 @@ msgstr "اختصاراتك" #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:145 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:151 msgid "Your account has been deleted" -msgstr "" +msgstr "تم حذف حسابك" #: frappe/auth.py:520 msgid "Your account has been locked and will resume after {0} seconds" @@ -30594,11 +30857,11 @@ msgstr "تمت إزالة واجبك في {0} {1} بواسطة {2}" #: frappe/core/doctype/file/file.js:78 msgid "Your browser does not support the audio element." -msgstr "" +msgstr "متصفحك لا يدعم عنصر الصوت." #: frappe/core/doctype/file/file.js:60 msgid "Your browser does not support the video element." -msgstr "" +msgstr "متصفحك لا يدعم عنصر الفيديو." #: frappe/templates/pages/integrations/gcalendar-success.html:11 msgid "Your connection request to Google Calendar was successfully accepted" @@ -30610,19 +30873,19 @@ msgstr "عنوان بريدك الإلكتروني" #: frappe/desk/utils.py:105 msgid "Your exported report: {0}" -msgstr "" +msgstr "تقريرك المُصدَّر: {0}" -#: frappe/public/js/frappe/web_form/web_form.js:452 +#: frappe/public/js/frappe/web_form/web_form.js:448 msgid "Your form has been successfully updated" -msgstr "" +msgstr "تم تحديث النموذج الخاص بك بنجاح" #: frappe/templates/emails/user_invitation_cancelled.html:5 msgid "Your invitation to join {0} has been cancelled by the site administrator." -msgstr "" +msgstr "تم إلغاء دعوتك للانضمام إلى {0} من قبل مدير الموقع." #: frappe/templates/emails/user_invitation_expired.html:5 msgid "Your invitation to join {0} has expired." -msgstr "" +msgstr "انتهت صلاحية دعوتك للانضمام إلى {0} ." #: frappe/templates/emails/new_user.html:6 msgid "Your login id is" @@ -30630,11 +30893,11 @@ msgstr "معرف تسجيل الدخول الخاص بك هو" #: frappe/www/update-password.html:192 msgid "Your new password has been set successfully." -msgstr "" +msgstr "تم تعيين كلمة المرور الجديدة بنجاح." #: frappe/www/update-password.html:172 msgid "Your old password is incorrect." -msgstr "" +msgstr "كلمة مرورك القديمة غير صحيحة." #. Description of the 'Email Footer Address' (Small Text) field in DocType #. 'System Settings' @@ -30648,19 +30911,19 @@ msgstr "وقد وردت الاستعلام الخاص بك. سوف نقوم با #: frappe/desk/query_report.py:343 frappe/desk/reportview.py:399 msgid "Your report is being generated in the background. You will receive an email on {0} with a download link once it is ready." -msgstr "" +msgstr "يتم إنشاء تقريرك في الخلفية. ستتلقى رسالة بريد إلكتروني على {0} تحتوي على رابط التنزيل بمجرد أن يصبح التقرير جاهزًا." #: frappe/app.py:377 msgid "Your session has expired, please login again to continue." msgstr "انتهت صلاحية الجلسة، يرجى تسجيل الدخول مرة أخرى للمتابعة." -#: frappe/public/js/frappe/ui/toolbar/navbar.html:17 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:7 msgid "Your site is undergoing maintenance or being updated." msgstr "" #: frappe/templates/emails/verification_code.html:1 msgid "Your verification code is {0}" -msgstr "" +msgstr "رمز التحقق الخاص بك هو {0}" #: frappe/utils/data.py:1557 msgid "Zero" @@ -30674,15 +30937,15 @@ msgstr "صفر يعني إرسال التحديثات في أي وقت" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:363 msgid "[Action taken by {0}]" -msgstr "" +msgstr "[تم اتخاذ الإجراء بواسطة {0}]" -#: frappe/database/database.py:361 +#: frappe/database/database.py:367 msgid "`as_iterator` only works with `as_list=True` or `as_dict=True`" -msgstr "" +msgstr "لا يعمل `as_iterator` إلا مع `as_list=True` أو `as_dict=True`" #: frappe/utils/background_jobs.py:121 msgid "`job_id` paramater is required for deduplication." -msgstr "" +msgstr "المعامل `job_id` مطلوب لإزالة التكرار." #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -30695,14 +30958,14 @@ msgstr "أدخل_بعد" msgid "amend" msgstr "تعديل" -#: frappe/public/js/frappe/utils/utils.js:394 frappe/utils/data.py:1563 +#: frappe/public/js/frappe/utils/utils.js:396 frappe/utils/data.py:1563 msgid "and" -msgstr "" +msgstr "و" #: frappe/public/js/frappe/ui/sort_selector.html:5 #: frappe/public/js/frappe/ui/sort_selector.js:48 msgid "ascending" -msgstr "" +msgstr "صعودًا" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -30711,14 +30974,14 @@ msgstr "أزرق" #: frappe/public/js/frappe/form/workflow.js:35 msgid "by Role" -msgstr "" +msgstr "حسب الدور" #. Label of the profile (Code) field in DocType 'Recorder' #: frappe/core/doctype/recorder/recorder.json msgid "cProfile Output" -msgstr "" +msgstr "مخرجات cProfile" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:323 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:297 msgid "calendar" msgstr "التقويم" @@ -30734,9 +30997,11 @@ msgid "canceled" msgstr "ألغيت" #. Option for the 'PDF Generator' (Select) field in DocType 'Print Format' +#. Option for the 'PDF Generator' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "chrome" -msgstr "" +msgstr "الكروم" #: frappe/templates/includes/list/filters.html:19 msgid "clear" @@ -30744,7 +31009,7 @@ msgstr "واضح" #: frappe/public/js/frappe/form/templates/timeline_message_box.html:34 msgid "commented" -msgstr "" +msgstr "علّق" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -30755,10 +31020,10 @@ msgstr "إنشاء" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "cyan" -msgstr "" +msgstr "سماوي" #: frappe/public/js/frappe/form/controls/duration.js:219 -#: frappe/public/js/frappe/utils/utils.js:1163 +#: frappe/public/js/frappe/utils/utils.js:1192 msgctxt "Days (Field: Duration)" msgid "d" msgstr "د" @@ -30784,7 +31049,7 @@ msgstr "DD-MM-YYYY" #: frappe/core/doctype/language/language.json #: frappe/core/doctype/system_settings/system_settings.json msgid "dd.mm.yyyy" -msgstr "" +msgstr "يوم/شهر/سنة" #. Option for the 'Date Format' (Select) field in DocType 'Language' #. Option for the 'Date Format' (Select) field in DocType 'System Settings' @@ -30803,7 +31068,7 @@ msgstr "الافتراضي" #. Option for the 'Status' (Select) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json msgid "deferred" -msgstr "" +msgstr "مؤجل" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -30814,9 +31079,9 @@ msgstr "حذف" #: frappe/public/js/frappe/ui/sort_selector.html:5 #: frappe/public/js/frappe/ui/sort_selector.js:48 msgid "descending" -msgstr "" +msgstr "تنازلي" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:225 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:232 msgid "document type..., e.g. customer" msgstr "نوع الوثيقة ...، على سبيل المثال العملاء" @@ -30826,7 +31091,7 @@ msgstr "نوع الوثيقة ...، على سبيل المثال العملاء" msgid "e.g. \"Support\", \"Sales\", \"Jerry Yang\"" msgstr "على سبيل المثال، \"الدعم \"،\" المبيعات \"،\" أحمد صالح \"" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:250 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:257 msgid "e.g. (55 + 434) / 4 or =Math.sin(Math.PI/2)..." msgstr "على سبيل المثال، (55 + 434) / 4 أو = Math.sin(Math.PI / 2) ..." @@ -30857,7 +31122,7 @@ msgstr "على سبيل المثال:" #. Option for the 'Code Editor Type' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "emacs" -msgstr "" +msgstr "إيماكس" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -30866,20 +31131,24 @@ msgstr "" #: frappe/core/doctype/permission_inspector/permission_inspector.json #: frappe/website/doctype/social_link_settings/social_link_settings.json msgid "email" -msgstr "" +msgstr "البريد الإلكتروني" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:344 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:318 msgid "email inbox" msgstr "البريد الوارد" -#: frappe/permissions.py:431 frappe/permissions.py:442 -#: frappe/public/js/frappe/form/controls/link.js:585 +#: frappe/permissions.py:437 frappe/permissions.py:448 +msgid "empty" +msgstr "فارغة" + +#: frappe/public/js/frappe/form/controls/link.js:594 +msgctxt "Comparison value is empty" msgid "empty" msgstr "فارغة" #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:41 msgid "esc" -msgstr "" +msgstr "خروج" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -30902,7 +31171,7 @@ msgstr "باءت بالفشل" #. Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json msgid "fairlogin" -msgstr "" +msgstr "fairlogin" #. Option for the 'Status' (Select) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json @@ -30912,7 +31181,7 @@ msgstr "تم الانتهاء من" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "gray" -msgstr "" +msgstr "رمادي" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -30922,19 +31191,19 @@ msgstr "أخضر" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "grey" -msgstr "" +msgstr "رمادي" #: frappe/utils/backups.py:399 msgid "gzip not found in PATH! This is required to take a backup." -msgstr "" +msgstr "لم يتم العثور على gzip في PATH! هذا مطلوب لإنشاء نسخة احتياطية." #: frappe/public/js/frappe/form/controls/duration.js:220 -#: frappe/public/js/frappe/utils/utils.js:1167 +#: frappe/public/js/frappe/utils/utils.js:1196 msgctxt "Hours (Field: Duration)" msgid "h" msgstr "ح" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:334 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:308 msgid "hub" msgstr "محور" @@ -30949,9 +31218,23 @@ msgstr "رمز" msgid "import" msgstr "استيراد" +#: frappe/public/js/frappe/form/controls/link.js:631 +#: frappe/public/js/frappe/form/controls/link.js:636 +#: frappe/public/js/frappe/form/controls/link.js:649 +#: frappe/public/js/frappe/form/controls/link.js:656 +msgid "is disabled" +msgstr "معاق" + +#: frappe/public/js/frappe/form/controls/link.js:630 +#: frappe/public/js/frappe/form/controls/link.js:637 +#: frappe/public/js/frappe/form/controls/link.js:650 +#: frappe/public/js/frappe/form/controls/link.js:655 +msgid "is enabled" +msgstr "تم التفعيل" + #: frappe/templates/signup.html:11 frappe/www/login.html:11 msgid "jane@example.com" -msgstr "" +msgstr "jane@example.com" #: frappe/public/js/frappe/utils/pretty_date.js:46 msgid "just now" @@ -30959,12 +31242,12 @@ msgstr "الآن فقط" #: frappe/desk/desktop.py:255 frappe/desk/query_report.py:292 msgid "label" -msgstr "" +msgstr "ملصق" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "light-blue" -msgstr "" +msgstr "أزرق فاتح" #. Option for the 'Social Link Type' (Select) field in DocType 'Social Link #. Settings' @@ -30978,26 +31261,21 @@ msgstr "تسجيل الدخول" #: frappe/website/doctype/web_form/web_form.js:382 msgid "login_required" -msgstr "" +msgstr "تسجيل الدخول مطلوب" #. Option for the 'Queue' (Select) field in DocType 'RQ Job' #. Option for the 'Queue Type(s)' (Select) field in DocType 'RQ Worker' #: frappe/core/doctype/rq_job/rq_job.json #: frappe/core/doctype/rq_worker/rq_worker.json msgid "long" -msgstr "" +msgstr "طويل" #: frappe/public/js/frappe/form/controls/duration.js:221 -#: frappe/public/js/frappe/utils/utils.js:1171 +#: frappe/public/js/frappe/utils/utils.js:1200 msgctxt "Minutes (Field: Duration)" msgid "m" msgstr "م" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "macOS Launchpad" -msgstr "" - #: frappe/model/rename_doc.py:215 msgid "merged {0} into {1}" msgstr "تم دمج {0} إلى {1}" @@ -31016,15 +31294,15 @@ msgstr "شهر-يوم-سنة" msgid "mm/dd/yyyy" msgstr "شهر/يوم/سنة" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:240 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:247 msgid "module name..." msgstr "اسم الوحدة برمجية ..." -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:182 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:171 msgid "new" msgstr "جديد" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:220 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:227 msgid "new type of document" msgstr "نوع جديد من الوثيقة" @@ -31036,12 +31314,12 @@ msgstr "محاولات فاشلة لا" #. Label of the nonce (Data) field in DocType 'OAuth Authorization Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "nonce" -msgstr "" +msgstr "نونسي" #. Label of the notified (Check) field in DocType 'Reminder' #: frappe/automation/doctype/reminder/reminder.json msgid "notified" -msgstr "" +msgstr "تم إخطاري" #: frappe/public/js/frappe/utils/pretty_date.js:25 msgid "now" @@ -31049,17 +31327,17 @@ msgstr "الآن" #: frappe/public/js/frappe/form/grid_pagination.js:116 msgid "of" -msgstr "" +msgstr "ل" #. Label of the old_parent (Data) field in DocType 'File' #: frappe/core/doctype/file/file.json msgid "old_parent" -msgstr "" +msgstr "الوالد_القديم" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "on_cancel" -msgstr "" +msgstr "إلغاء" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -31069,27 +31347,27 @@ msgstr "على التغيير" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "on_submit" -msgstr "" +msgstr "on_submit" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "on_trash" -msgstr "" +msgstr "on_trash" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "on_update" -msgstr "" +msgstr "تحديث" #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "on_update_after_submit" -msgstr "" +msgstr "on_update_after_submit" -#: frappe/public/js/frappe/utils/utils.js:391 frappe/www/login.html:90 +#: frappe/public/js/frappe/utils/utils.js:393 frappe/www/login.html:90 #: frappe/www/login.py:112 msgid "or" -msgstr "" +msgstr "أو" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -31099,13 +31377,13 @@ msgstr "البرتقالي" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json msgid "pink" -msgstr "" +msgstr "لون القرنفل" #. Option for the 'Code challenge method' (Select) field in DocType 'OAuth #. Authorization Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "plain" -msgstr "" +msgstr "سهل" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -31116,7 +31394,7 @@ msgstr "طباعة" #. Label of the processlist (HTML) field in DocType 'System Console' #: frappe/desk/doctype/system_console/system_console.json msgid "processlist" -msgstr "" +msgstr "قائمة العمليات" #. Option for the 'Indicator Color' (Select) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -31159,7 +31437,7 @@ msgid "restored {0} as {1}" msgstr "استعادة {0} ك {1}" #: frappe/public/js/frappe/form/controls/duration.js:222 -#: frappe/public/js/frappe/utils/utils.js:1175 +#: frappe/public/js/frappe/utils/utils.js:1204 msgctxt "Seconds (Field: Duration)" msgid "s" msgstr "س" @@ -31168,7 +31446,7 @@ msgstr "س" #. Authorization Code' #: frappe/integrations/doctype/oauth_authorization_code/oauth_authorization_code.json msgid "s256" -msgstr "" +msgstr "s256" #. Option for the 'Status' (Select) field in DocType 'RQ Job' #: frappe/core/doctype/rq_job/rq_job.json @@ -31192,7 +31470,7 @@ msgstr "مشاركة" #: frappe/core/doctype/rq_job/rq_job.json #: frappe/core/doctype/rq_worker/rq_worker.json msgid "short" -msgstr "" +msgstr "قصير" #: frappe/public/js/frappe/widgets/number_card_widget.js:310 msgid "since last month" @@ -31217,25 +31495,25 @@ msgstr "بدأت" #: frappe/desk/page/setup_wizard/setup_wizard.js:201 msgid "starting the setup..." -msgstr "" +msgstr "بدء الإعداد..." #. Description of the 'Group Object Class' (Data) field in DocType 'LDAP #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "string value, i.e. group" -msgstr "" +msgstr "قيمة السلسلة، أي المجموعة" #. Description of the 'LDAP Group Member attribute' (Data) field in DocType #. 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "string value, i.e. member" -msgstr "" +msgstr "قيمة السلسلة، أي العضو" #. Description of the 'Custom Group Search' (Data) field in DocType 'LDAP #. Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "string value, i.e. {0} or uid={0},ou=users,dc=example,dc=com" -msgstr "" +msgstr "قيمة نصية، مثل {0} أو uid={0},ou=users,dc=example,dc=com" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -31243,37 +31521,37 @@ msgstr "" msgid "submit" msgstr "تسجيل" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:235 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:242 msgid "tag name..., e.g. #tag" msgstr "اسم العلامة ... ، على سبيل المثال #tag" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:230 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:237 msgid "text in document type" msgstr "النص في نوع الوثيقة" #: frappe/public/js/frappe/form/controls/data.js:36 msgid "this form" -msgstr "" +msgstr "هذا النموذج" #: frappe/tests/test_translate.py:174 msgid "this shouldn't break" -msgstr "" +msgstr "لا ينبغي أن ينكسر هذا" #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:41 msgid "to close" -msgstr "" +msgstr "للإغلاق" #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:41 msgid "to navigate" -msgstr "" +msgstr "للتنقل" #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:41 msgid "to select" -msgstr "" +msgstr "للاختيار" #: frappe/templates/emails/download_data.html:9 msgid "to your browser" -msgstr "" +msgstr "إلى متصفحك" #. Option for the 'Social Link Type' (Select) field in DocType 'Social Link #. Settings' @@ -31283,11 +31561,11 @@ msgstr "تويتر" #: frappe/public/js/frappe/change_log.html:7 msgid "updated to {0}" -msgstr "" +msgstr "تم التحديث إلى {0}" #: frappe/public/js/frappe/ui/filters/filter.js:360 msgid "use % as wildcard" -msgstr "" +msgstr "استخدم % كحرف بدل" #: frappe/public/js/frappe/ui/filters/filter.js:359 msgid "values separated by commas" @@ -31296,7 +31574,7 @@ msgstr "قيم مفصولة بفواصل" #. Label of the version_table (HTML) field in DocType 'Audit Trail' #: frappe/core/doctype/audit_trail/audit_trail.json msgid "version_table" -msgstr "" +msgstr "جدول الإصدارات" #: frappe/automation/doctype/assignment_rule/assignment_rule.py:382 msgid "via Assignment Rule" @@ -31304,7 +31582,7 @@ msgstr "عبر قاعدة التنازل" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:264 msgid "via Auto Repeat" -msgstr "" +msgstr "عبر خاصية التكرار التلقائي" #: frappe/core/doctype/data_import/importer.py:271 #: frappe/core/doctype/data_import/importer.py:292 @@ -31314,7 +31592,7 @@ msgstr "عبر استيراد البيانات" #. Description of the 'Add Video Conferencing' (Check) field in DocType 'Event' #: frappe/desk/doctype/event/event.json msgid "via Google Meet" -msgstr "" +msgstr "عبر جوجل ميت" #: frappe/email/doctype/notification/notification.py:410 msgid "via Notification" @@ -31327,36 +31605,38 @@ msgstr "عبر {0}" #. Option for the 'Code Editor Type' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "vim" -msgstr "" +msgstr "همة" #. Option for the 'Code Editor Type' (Select) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "vscode" -msgstr "" +msgstr "في إس كود" #: frappe/templates/includes/oauth_confirmation.html:5 msgid "wants to access the following details from your account" -msgstr "" +msgstr "يرغب في الوصول إلى التفاصيل التالية من حسابك" #. Description of the 'Popover Element' (Check) field in DocType 'Form Tour #. Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json msgid "when clicked on element it will focus popover if present." -msgstr "" +msgstr "عند النقر على العنصر، سيتم التركيز على النافذة المنبثقة إن وجدت." #. Option for the 'PDF Generator' (Select) field in DocType 'Print Format' +#. Option for the 'PDF Generator' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "wkhtmltopdf" -msgstr "" +msgstr "wkhtmltopdf" -#: frappe/printing/page/print/print.js:681 +#: frappe/printing/page/print/print.js:689 msgid "wkhtmltopdf 0.12.x (with patched qt)." -msgstr "" +msgstr "wkhtmltopdf 0.12.x (مع qt المعدل)." #. Option for the 'Doc Event' (Select) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json msgid "workflow_transition" -msgstr "" +msgstr "انتقال سير العمل" #. Option for the 'Permission Type' (Select) field in DocType 'Permission #. Inspector' @@ -31378,25 +31658,25 @@ msgstr "في الامس" #: frappe/core/doctype/language/language.json #: frappe/core/doctype/system_settings/system_settings.json msgid "yyyy-mm-dd" -msgstr "" +msgstr "yyyy-mm-dd" #: frappe/desk/doctype/event/event.js:87 #: frappe/public/js/frappe/form/footer/form_timeline.js:547 msgid "{0}" -msgstr "" +msgstr "{0}" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:217 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:204 msgid "{0} ${skip_list ? \"\" : type}" -msgstr "" +msgstr "{0} ${skip_list ? \"\" : type}" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:229 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:209 msgid "{0} ${type}" -msgstr "" +msgstr "{0} ${type}" #: frappe/public/js/frappe/data_import/data_exporter.js:80 #: frappe/public/js/frappe/views/gantt/gantt_view.js:54 msgid "{0} ({1})" -msgstr "" +msgstr "{0} ({1})" #: frappe/public/js/frappe/data_import/data_exporter.js:77 msgid "{0} ({1}) (1 row mandatory)" @@ -31404,12 +31684,12 @@ msgstr "{0} ({1}) (صف واحد إلزامي)" #: frappe/public/js/frappe/views/gantt/gantt_view.js:53 msgid "{0} ({1}) - {2}%" -msgstr "" +msgstr "{0} ({1}) - {2}%" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:446 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:450 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:448 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:452 msgid "{0} = {1}" -msgstr "" +msgstr "{0} = {1}" #: frappe/public/js/frappe/views/calendar/calendar.js:30 msgid "{0} Calendar" @@ -31420,13 +31700,13 @@ msgid "{0} Chart" msgstr "{0} الرسم البياني" #: frappe/core/page/dashboard_view/dashboard_view.js:67 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:391 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:392 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:361 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:362 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:12 msgid "{0} Dashboard" msgstr "{0} لوحة المعلومات" -#: frappe/public/js/frappe/form/grid_row.js:486 +#: frappe/public/js/frappe/form/grid_row.js:488 #: frappe/public/js/frappe/list/list_settings.js:225 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:178 msgid "{0} Fields" @@ -31442,7 +31722,7 @@ msgstr "{0} مزامنة جهات اتصال Google." #: frappe/public/js/frappe/form/footer/form_timeline.js:464 msgid "{0} Liked" -msgstr "" +msgstr "{0} أعجبني" #: frappe/public/js/frappe/widgets/chart_widget.js:358 frappe/www/portal.html:8 msgid "{0} List" @@ -31450,7 +31730,7 @@ msgstr "قائمة {0}" #: frappe/public/js/frappe/list/list_settings.js:33 msgid "{0} List View Settings" -msgstr "" +msgstr "{0} إعدادات عرض القائمة" #: frappe/public/js/frappe/utils/pretty_date.js:37 msgid "{0} M" @@ -31458,23 +31738,23 @@ msgstr "{0} م" #: frappe/public/js/frappe/views/map/map_view.js:14 msgid "{0} Map" -msgstr "" +msgstr "{0} خريطة" -#: frappe/public/js/frappe/form/quick_entry.js:122 +#: frappe/public/js/frappe/form/quick_entry.js:135 msgid "{0} Name" msgstr "{0} الاسم" -#: frappe/model/base_document.py:1259 +#: frappe/model/base_document.py:1276 msgid "{0} Not allowed to change {1} after submission from {2} to {3}" -msgstr "" +msgstr "{0} غير مسموح بتغيير {1} بعد الإرسال من {2} إلى {3}" #: frappe/public/js/frappe/widgets/chart_widget.js:366 msgid "{0} Report" msgstr "{0} تقرير" -#: frappe/public/js/frappe/views/reports/query_report.js:967 +#: frappe/public/js/frappe/views/reports/query_report.js:984 msgid "{0} Reports" -msgstr "" +msgstr "{0} تقارير" #: frappe/public/js/frappe/views/kanban/kanban_settings.js:26 msgid "{0} Settings" @@ -31485,17 +31765,17 @@ msgid "{0} Tree" msgstr "{0} شجرة" #: frappe/public/js/frappe/form/footer/form_timeline.js:128 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:130 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:152 msgid "{0} Web page views" msgstr "{0} مشاهدات الصفحة" -#: frappe/public/js/frappe/form/link_selector.js:225 +#: frappe/public/js/frappe/form/link_selector.js:234 msgid "{0} added" msgstr "{0} أضيف" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:273 msgid "{0} added 1 row to {1}" -msgstr "" +msgstr "تمت إضافة صف واحد إلى {1}{0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:251 msgid "{0} added {1} rows to {2}" @@ -31515,7 +31795,7 @@ msgstr "{0} تم إلغاء الاشتراك في {1} {2}" #: frappe/utils/data.py:1764 msgid "{0} and {1}" -msgstr "" +msgstr "{0} و {1}" #: frappe/public/js/frappe/form/sidebar/form_sidebar_users.js:72 msgid "{0} are currently {1}" @@ -31536,67 +31816,70 @@ msgstr "{0} تعيين {1}: {2}" #: frappe/public/js/frappe/form/footer/form_timeline.js:415 msgctxt "Form timeline" msgid "{0} attached {1}" -msgstr "" +msgstr "{0} أرفق {1}" #: frappe/core/doctype/system_settings/system_settings.py:159 msgid "{0} can not be more than {1}" -msgstr "" +msgstr "لا يمكن أن يكون {0} أكبر من {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:77 msgid "{0} cancelled this document" -msgstr "" +msgstr "تم إلغاء هذا المستند {0}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:68 msgctxt "Form timeline" msgid "{0} cancelled this document {1}" -msgstr "" +msgstr "{0} ألغى هذا المستند {1}" -#: frappe/model/document.py:583 +#: frappe/model/document.py:582 msgid "{0} cannot be amended because it is not cancelled. Please cancel the document before creating an amendment." -msgstr "" +msgstr "لا يمكن تعديل {0} لأنه لم يتم إلغاؤه. يرجى إلغاء المستند قبل إجراء أي تعديل." #: frappe/public/js/form_builder/store.js:190 msgid "{0} cannot be hidden and mandatory without any default value" -msgstr "" +msgstr "لا يمكن إخفاء {0} وهو إلزامي بدون أي قيمة افتراضية" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:128 msgid "{0} changed the value of {1}" -msgstr "" +msgstr "{0} غيّر قيمة {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:119 msgid "{0} changed the value of {1} {2}" -msgstr "" +msgstr "{0} غيّر قيمة {1} {2}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:199 msgid "{0} changed the values for {1}" -msgstr "" +msgstr "{0} غيّر القيم لـ {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:190 msgid "{0} changed the values for {1} {2}" -msgstr "" +msgstr "{0} غيّر القيم لـ {1} {2}" #: frappe/public/js/frappe/form/footer/form_timeline.js:444 msgctxt "Form timeline" msgid "{0} changed {1} to {2}" -msgstr "" +msgstr "{0} غيّر {1} إلى {2}" -#: frappe/core/doctype/doctype/doctype.py:1620 +#: frappe/core/doctype/doctype/doctype.py:1634 msgid "{0} contains an invalid Fetch From expression, Fetch From can't be self-referential." -msgstr "" +msgstr "{0} يحتوي على تعبير Fetch From غير صالح، لا يمكن أن يكون Fetch From مرجعيًا ذاتيًا." + +#: frappe/public/js/frappe/form/controls/link.js:669 +msgid "{0} contains {1}" +msgstr "{0} يحتوي على {1}" #: frappe/public/js/frappe/views/interaction.js:261 msgid "{0} created successfully" msgstr "تم إنشاء {0} بنجاح" #: frappe/public/js/frappe/form/footer/form_timeline.js:141 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:153 msgid "{0} created this" -msgstr "" +msgstr "{0} أنشأ هذا المستند" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:348 msgctxt "Form timeline" msgid "{0} created this document {1}" -msgstr "" +msgstr "أنشأ {0} هذا المستند {1}" #: frappe/public/js/frappe/utils/pretty_date.js:33 msgid "{0} d" @@ -31606,26 +31889,34 @@ msgstr "{0} د" msgid "{0} days ago" msgstr "قبل {0} أيام" +#: frappe/public/js/frappe/form/controls/link.js:671 +msgid "{0} does not contain {1}" +msgstr "لا يحتوي {0} على {1}" + #: frappe/website/doctype/website_settings/website_settings.py:96 #: frappe/website/doctype/website_settings/website_settings.py:116 msgid "{0} does not exist in row {1}" msgstr "{0} غير موجود في الصف {1}" +#: frappe/public/js/frappe/form/controls/link.js:644 +msgid "{0} equals {1}" +msgstr "{0} يساوي {1}" + #: frappe/database/mariadb/schema.py:141 frappe/database/postgres/schema.py:187 msgid "{0} field cannot be set as unique in {1}, as there are non-unique existing values" msgstr "لا يمكن أن يحتوي اسم الحقل {0} على أحرف خاصة مثل {1}" #: frappe/core/doctype/data_import/importer.py:1070 msgid "{0} format could not be determined from the values in this column. Defaulting to {1}." -msgstr "" +msgstr "تعذر تحديد تنسيق {0} من القيم الموجودة في هذا العمود. سيتم استخدام التنسيق الافتراضي {1}." #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:101 msgid "{0} from {1} to {2}" -msgstr "" +msgstr "{0} من {1} إلى {2}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:170 msgid "{0} from {1} to {2} in row #{3}" -msgstr "" +msgstr "{0} من {1} إلى {2} في الصف #{3}" #: frappe/public/js/frappe/utils/pretty_date.js:29 msgid "{0} h" @@ -31635,9 +31926,9 @@ msgstr "{0} ح" msgid "{0} has already assigned default value for {1}." msgstr "{0} قام بالفعل بتعيين القيمة الافتراضية لـ {1}." -#: frappe/database/query.py:1158 +#: frappe/database/query.py:1202 msgid "{0} has invalid backtick notation: {1}" -msgstr "" +msgstr "يحتوي الرمز {0} على صيغة علامة اقتباس معكوسة غير صالحة: {1}" #: frappe/email/queue.py:124 msgid "{0} has left the conversation in {1} {2}" @@ -31649,22 +31940,34 @@ msgstr "{0} قبل ساعات" #: frappe/website/doctype/web_form/templates/web_form.html:155 msgid "{0} if you are not redirected within {1} seconds" -msgstr "" +msgstr "{0} إذا لم تتم إعادة توجيهك خلال {1} ثانية" #: frappe/website/doctype/website_settings/website_settings.py:102 #: frappe/website/doctype/website_settings/website_settings.py:122 msgid "{0} in row {1} cannot have both URL and child items" msgstr "{0} في الصف {1} لا يمكن أن يكون لها عنوان URL وبنود فرعية في نفس الوقت" -#: frappe/core/doctype/doctype/doctype.py:949 +#: frappe/public/js/frappe/form/controls/link.js:710 +msgid "{0} is a descendant of {1}" +msgstr "{0} هو سليل {1}" + +#: frappe/core/doctype/doctype/doctype.py:952 msgid "{0} is a mandatory field" msgstr "{0} حقل إلزامي" #: frappe/core/doctype/file/file.py:576 msgid "{0} is a not a valid zip file" -msgstr "" +msgstr "{0} ليس ملفًا مضغوطًا صالحًا" -#: frappe/core/doctype/doctype/doctype.py:1633 +#: frappe/public/js/frappe/form/controls/link.js:674 +msgid "{0} is after {1}" +msgstr "{0} يأتي بعد {1}" + +#: frappe/public/js/frappe/form/controls/link.js:712 +msgid "{0} is an ancestor of {1}" +msgstr "{0} هو سلف {1}" + +#: frappe/core/doctype/doctype/doctype.py:1647 msgid "{0} is an invalid Data field." msgstr "{0} هو حقل بيانات غير صالح." @@ -31672,50 +31975,77 @@ msgstr "{0} هو حقل بيانات غير صالح." msgid "{0} is an invalid email address in 'Recipients'" msgstr "{0} هو عنوان بريد إلكتروني غير صالح في "المستلمين"" +#: frappe/public/js/frappe/form/controls/link.js:679 +msgid "{0} is before {1}" +msgstr "{0} يسبق {1}" + +#: frappe/public/js/frappe/form/controls/link.js:708 +msgid "{0} is between {1}" +msgstr "{0} يقع بين {1}" + +#: frappe/public/js/frappe/form/controls/link.js:705 #: frappe/public/js/frappe/views/reports/report_view.js:1464 msgid "{0} is between {1} and {2}" -msgstr "" +msgstr "{0} يقع بين {1} و {2}" #: frappe/public/js/frappe/form/sidebar/form_sidebar_users.js:41 #: frappe/public/js/frappe/form/sidebar/form_sidebar_users.js:69 msgid "{0} is currently {1}" msgstr "{0} حاليًا {1}" +#: frappe/public/js/frappe/form/controls/link.js:642 +#: frappe/public/js/frappe/form/controls/link.js:660 +msgid "{0} is disabled" +msgstr "{0} معطل" + +#: frappe/public/js/frappe/form/controls/link.js:641 +#: frappe/public/js/frappe/form/controls/link.js:661 +msgid "{0} is enabled" +msgstr "{0} مُفعّل" + #: frappe/public/js/frappe/views/reports/report_view.js:1433 msgid "{0} is equal to {1}" -msgstr "" +msgstr "{0} يساوي {1}" +#: frappe/public/js/frappe/form/controls/link.js:686 #: frappe/public/js/frappe/views/reports/report_view.js:1453 msgid "{0} is greater than or equal to {1}" -msgstr "" +msgstr "{0} أكبر من أو يساوي {1}" +#: frappe/public/js/frappe/form/controls/link.js:676 #: frappe/public/js/frappe/views/reports/report_view.js:1443 msgid "{0} is greater than {1}" -msgstr "" +msgstr "{0} أكبر من {1}" +#: frappe/public/js/frappe/form/controls/link.js:691 #: frappe/public/js/frappe/views/reports/report_view.js:1458 msgid "{0} is less than or equal to {1}" -msgstr "" +msgstr "{0} أقل من أو يساوي {1}" +#: frappe/public/js/frappe/form/controls/link.js:681 #: frappe/public/js/frappe/views/reports/report_view.js:1448 msgid "{0} is less than {1}" -msgstr "" +msgstr "{0} أقل من {1}" #: frappe/public/js/frappe/views/reports/report_view.js:1483 msgid "{0} is like {1}" -msgstr "" +msgstr "{0} يشبه {1}" #: frappe/email/doctype/email_account/email_account.py:193 msgid "{0} is mandatory" -msgstr "" +msgstr "{0} إلزامي" -#: frappe/database/query.py:826 +#: frappe/database/query.py:860 msgid "{0} is not a child table of {1}" -msgstr "" +msgstr "الجدول {0} ليس جدولًا فرعيًا للجدول {1}" + +#: frappe/public/js/frappe/form/controls/link.js:714 +msgid "{0} is not a descendant of {1}" +msgstr "{0} ليس من سلالة {1}" #: frappe/core/doctype/document_naming_rule/document_naming_rule.py:50 msgid "{0} is not a field of doctype {1}" -msgstr "" +msgstr "{0} ليس حقلاً من نوع المستند {1}" #: frappe/www/printview.py:380 msgid "{0} is not a raw printing format." @@ -31723,44 +32053,44 @@ msgstr "{0} ليس تنسيق طباعة خامًا." #: frappe/public/js/frappe/views/calendar/calendar.js:82 msgid "{0} is not a valid Calendar. Redirecting to default Calendar." -msgstr "" +msgstr "{0} ليس تقويمًا صالحًا. إعادة التوجيه إلى التقويم الافتراضي." #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.py:67 msgid "{0} is not a valid Cron expression." -msgstr "" +msgstr "{0} ليس تعبيرًا صالحًا في Cron." -#: frappe/public/js/frappe/form/controls/dynamic_link.js:23 +#: frappe/public/js/frappe/form/controls/dynamic_link.js:25 msgid "{0} is not a valid DocType for Dynamic Link" msgstr "{0} ليس نوع DocType صالحًا للارتباط الديناميكي" #: frappe/email/doctype/email_group/email_group.py:140 -#: frappe/utils/__init__.py:198 frappe/utils/__init__.py:213 +#: frappe/utils/__init__.py:189 frappe/utils/__init__.py:204 msgid "{0} is not a valid Email Address" -msgstr "{0} بريد الكتروني غير صالح
{0} is not a valid Email Address" +msgstr "{0} ليس عنوان بريد إلكتروني صالحًا" #: frappe/geo/doctype/country/country.py:30 msgid "{0} is not a valid ISO 3166 ALPHA-2 code." -msgstr "" +msgstr "{0} ليس رمز ISO 3166 ALPHA-2 صالحًا." -#: frappe/utils/__init__.py:176 +#: frappe/utils/__init__.py:167 msgid "{0} is not a valid Name" msgstr "{0} ليس اسمًا صالحًا" -#: frappe/utils/__init__.py:155 +#: frappe/utils/__init__.py:146 msgid "{0} is not a valid Phone Number" msgstr "{0} ليس رقم هاتف صالحًا" -#: frappe/model/workflow.py:245 +#: frappe/model/workflow.py:266 msgid "{0} is not a valid Workflow State. Please update your Workflow and try again." msgstr "{0} ليست حالة سير عمل صالحة. يرجى تحديث سير العمل والمحاولة مرة أخرى." -#: frappe/permissions.py:824 +#: frappe/permissions.py:830 msgid "{0} is not a valid parent DocType for {1}" -msgstr "" +msgstr "{0} ليس نوع مستند أصليًا صالحًا لـ {1}" -#: frappe/permissions.py:844 +#: frappe/permissions.py:850 msgid "{0} is not a valid parentfield for {1}" -msgstr "" +msgstr "{0} ليس حقلاً أصلياً صالحاً لـ {1}" #: frappe/email/doctype/auto_email_report/auto_email_report.py:117 msgid "{0} is not a valid report format. Report format should one of the following {1}" @@ -31768,64 +32098,85 @@ msgstr "{0} ليس تنسيق تقرير صالحًا. يجب أن يكون تن #: frappe/core/doctype/file/file.py:556 msgid "{0} is not a zip file" -msgstr "" +msgstr "{0} ليس ملفًا مضغوطًا" #: frappe/core/doctype/user_invitation/user_invitation.py:182 msgid "{0} is not an allowed role for {1}" -msgstr "" +msgstr "الدور {0} غير مسموح به لـ {1}" +#: frappe/public/js/frappe/form/controls/link.js:716 +msgid "{0} is not an ancestor of {1}" +msgstr "{0} ليس سلفًا لـ {1}" + +#: frappe/public/js/frappe/form/controls/link.js:663 #: frappe/public/js/frappe/views/reports/report_view.js:1438 msgid "{0} is not equal to {1}" -msgstr "" +msgstr "{0} لا يساوي {1}" #: frappe/public/js/frappe/views/reports/report_view.js:1485 msgid "{0} is not like {1}" -msgstr "" +msgstr "{0} لا يشبه {1}" +#: frappe/public/js/frappe/form/controls/link.js:667 #: frappe/public/js/frappe/views/reports/report_view.js:1479 msgid "{0} is not one of {1}" -msgstr "" +msgstr "{0} ليس واحدا من {1}" +#: frappe/public/js/frappe/form/controls/link.js:697 #: frappe/public/js/frappe/views/reports/report_view.js:1489 msgid "{0} is not set" -msgstr "" +msgstr "لم يتم تعيين {0}" #: frappe/printing/doctype/print_format/print_format.py:176 msgid "{0} is now default print format for {1} doctype" msgstr "{0} هو الآن تنسيق الطباعة الافتراضي لنوع المستند {1}" +#: frappe/public/js/frappe/form/controls/link.js:684 +msgid "{0} is on or after {1}" +msgstr "{0} يقع في أو بعد {1}" + +#: frappe/public/js/frappe/form/controls/link.js:689 +msgid "{0} is on or before {1}" +msgstr "{0} موجود في أو قبل {1}" + +#: frappe/public/js/frappe/form/controls/link.js:665 #: frappe/public/js/frappe/views/reports/report_view.js:1472 msgid "{0} is one of {1}" -msgstr "" +msgstr "{0} هو أحد {1}" #: frappe/email/doctype/email_account/email_account.py:304 -#: frappe/model/naming.py:226 +#: frappe/model/naming.py:224 #: frappe/printing/doctype/print_format/print_format.py:101 #: frappe/printing/doctype/print_format/print_format.py:104 #: frappe/utils/csvutils.py:156 msgid "{0} is required" -msgstr "" +msgstr "{0} مطلوب" +#: frappe/public/js/frappe/form/controls/link.js:694 #: frappe/public/js/frappe/views/reports/report_view.js:1488 msgid "{0} is set" -msgstr "" +msgstr "تم تعيين {0}" +#: frappe/public/js/frappe/form/controls/link.js:718 #: frappe/public/js/frappe/views/reports/report_view.js:1467 msgid "{0} is within {1}" -msgstr "" +msgstr "{0} يقع ضمن {1}" -#: frappe/public/js/frappe/list/list_view.js:1844 +#: frappe/public/js/frappe/form/controls/link.js:699 +msgid "{0} is {1}" +msgstr "{0} هو {1}" + +#: frappe/public/js/frappe/list/list_view.js:1852 msgid "{0} items selected" msgstr "{0} العناصر المحددة" -#: frappe/core/doctype/user/user.py:1458 +#: frappe/core/doctype/user/user.py:1461 msgid "{0} just impersonated as you. They gave this reason: {1}" -msgstr "" +msgstr "قام {0} بانتحال شخصيتك. وقد ذكروا السبب التالي: {1}" #: frappe/public/js/frappe/form/footer/form_timeline.js:152 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:142 msgid "{0} last edited this" -msgstr "" +msgstr "{0} آخر تعديل لهذا" #: frappe/core/doctype/activity_log/feed.py:13 msgid "{0} logged in" @@ -31851,41 +32202,41 @@ msgstr "قبل {0} دقائق" msgid "{0} months ago" msgstr "قبل {0} أشهر" -#: frappe/model/document.py:1861 +#: frappe/model/document.py:1860 msgid "{0} must be after {1}" msgstr "{0} يجب أن يكون بعد {1}" -#: frappe/model/document.py:1613 +#: frappe/model/document.py:1612 msgid "{0} must be beginning with '{1}'" msgstr "" -#: frappe/model/document.py:1615 +#: frappe/model/document.py:1614 msgid "{0} must be equal to '{1}'" msgstr "" -#: frappe/model/document.py:1611 +#: frappe/model/document.py:1610 msgid "{0} must be none of {1}" msgstr "" -#: frappe/model/document.py:1609 frappe/utils/csvutils.py:161 +#: frappe/model/document.py:1608 frappe/utils/csvutils.py:161 msgid "{0} must be one of {1}" msgstr "{0} يجب أن يكون واحدا من {1}" -#: frappe/model/base_document.py:977 +#: frappe/model/base_document.py:994 msgid "{0} must be set first" msgstr "يجب تعيين {0} أولا" -#: frappe/model/base_document.py:830 +#: frappe/model/base_document.py:849 msgid "{0} must be unique" msgstr "{0} يجب أن تكون فريدة من نوعها" -#: frappe/model/document.py:1617 +#: frappe/model/document.py:1616 msgid "{0} must be {1} {2}" msgstr "" #: frappe/core/doctype/language/language.py:79 msgid "{0} must begin and end with a letter and can only contain letters, hyphen or underscore." -msgstr "" +msgstr "يجب أن يبدأ وينتهي العنصر {0} بحرف ولا يمكن أن يحتوي إلا على أحرف أو واصلة أو شرطة سفلية." #: frappe/workflow/doctype/workflow/workflow.py:91 msgid "{0} not a valid State" @@ -31896,18 +32247,18 @@ msgid "{0} not allowed to be renamed" msgstr "{0} غير مسموح بإعادة تسميته" #: frappe/core/doctype/report/report.py:432 -#: frappe/public/js/frappe/list/list_view.js:1221 +#: frappe/public/js/frappe/list/list_view.js:1229 msgid "{0} of {1}" msgstr "{0} من {1}" -#: frappe/public/js/frappe/list/list_view.js:1223 +#: frappe/public/js/frappe/list/list_view.js:1231 msgid "{0} of {1} ({2} rows with children)" msgstr "{0} من {1} ({2} صفوف تحتوي على أطفال)" #: frappe/utils/data.py:1565 msgctxt "Money in words" msgid "{0} only." -msgstr "" +msgstr "{0} فقط." #: frappe/utils/data.py:1746 msgid "{0} or {1}" @@ -31919,56 +32270,56 @@ msgstr "تم حذف السجل {0}" #: frappe/public/js/frappe/logtypes.js:22 msgid "{0} records are not automatically deleted." -msgstr "" +msgstr "لا يتم حذف السجلات {0} تلقائيًا." #: frappe/public/js/frappe/logtypes.js:29 msgid "{0} records are retained for {1} days." -msgstr "" +msgstr "يتم الاحتفاظ بسجلات {0} لمدة {1} أيام." #: frappe/core/doctype/user_permission/user_permission_list.js:179 msgid "{0} records deleted" msgstr "{0} تم حذف السجلات" -#: frappe/public/js/frappe/data_import/data_exporter.js:229 +#: frappe/public/js/frappe/data_import/data_exporter.js:230 msgid "{0} records will be exported" msgstr "سيتم تصدير {0} السجلات" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:318 msgid "{0} removed 1 row from {1}" -msgstr "" +msgstr "{0} حذف صف واحد من {1}" #: frappe/public/js/frappe/form/footer/form_timeline.js:420 msgctxt "Form timeline" msgid "{0} removed attachment {1}" -msgstr "" +msgstr "{0} أزال المرفق {1}" #: frappe/desk/doctype/todo/todo.py:58 msgid "{0} removed their assignment." -msgstr "" +msgstr "قام {0} بإزالة مهمتهم." #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:296 msgid "{0} removed {1} rows from {2}" -msgstr "" +msgstr "{0} حذف {1} صفًا من {2}" #: frappe/public/js/frappe/roles_editor.js:64 msgid "{0} role does not have permission on any doctype" -msgstr "" +msgstr "لا يملك الدور {0} صلاحية الوصول إلى أي نوع من أنواع المستندات" -#: frappe/model/document.py:1852 +#: frappe/model/document.py:1851 msgid "{0} row #{1}:" -msgstr "" +msgstr "{0} صف #{1}:" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:304 msgctxt "User removed rows from child table" msgid "{0} rows from {1}" -msgstr "" +msgstr "{0} صفوف من {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:259 msgctxt "User added rows to child table" msgid "{0} rows to {1}" -msgstr "" +msgstr "{0} صفوف إلى {1}" -#: frappe/desk/query_report.py:701 +#: frappe/desk/query_report.py:700 msgid "{0} saved successfully" msgstr "تم حفظ {0} بنجاح" @@ -31976,7 +32327,7 @@ msgstr "تم حفظ {0} بنجاح" msgid "{0} self assigned this task: {1}" msgstr "{0} تم تعيين هذه المهمة بنفسها: {1}" -#: frappe/share.py:229 +#: frappe/share.py:262 msgid "{0} shared a document {1} {2} with you" msgstr "{0} شارك مستند {1} {2} معك" @@ -31990,7 +32341,7 @@ msgstr "{0} مشاركة هذه الوثيقة مع {1}" #: frappe/core/doctype/doctype/doctype.py:318 msgid "{0} should be indexed because it's referred in dashboard connections" -msgstr "" +msgstr "يجب فهرسة {0} لأنه يُشار إليه في اتصالات لوحة التحكم" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:149 msgid "{0} should not be same as {1}" @@ -31998,12 +32349,12 @@ msgstr "{0} يجب ألا يكون مطابقًا لـ {1}" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:51 msgid "{0} submitted this document" -msgstr "" +msgstr "قام {0} بتقديم هذا المستند" #: frappe/public/js/frappe/form/footer/version_timeline_content_builder.js:42 msgctxt "Form timeline" msgid "{0} submitted this document {1}" -msgstr "" +msgstr "{0} أرسل هذا المستند {1}" #: frappe/email/doctype/email_group/email_group.py:71 #: frappe/email/doctype/email_group/email_group.py:142 @@ -32034,7 +32385,7 @@ msgstr "{0} القيم المحددة" #: frappe/public/js/frappe/form/footer/form_timeline.js:184 msgid "{0} viewed this" -msgstr "" +msgstr "{0} شاهد هذا" #: frappe/public/js/frappe/utils/pretty_date.js:35 msgid "{0} w" @@ -32044,7 +32395,7 @@ msgstr "{0} ث" msgid "{0} weeks ago" msgstr "قبل {0} أسبوع /أسابيع" -#: frappe/core/page/permission_manager/permission_manager.js:378 +#: frappe/core/page/permission_manager/permission_manager.js:379 msgid "{0} with the role {1}" msgstr "" @@ -32056,7 +32407,7 @@ msgstr "{0} ص" msgid "{0} years ago" msgstr "قبل {0} سنة" -#: frappe/public/js/frappe/form/link_selector.js:219 +#: frappe/public/js/frappe/form/link_selector.js:228 msgid "{0} {1} added" msgstr "تمت إضافة {0} {1}" @@ -32064,11 +32415,11 @@ msgstr "تمت إضافة {0} {1}" msgid "{0} {1} added to Dashboard {2}" msgstr "تمت إضافة {0} {1} إلى لوحة التحكم {2}" -#: frappe/model/base_document.py:763 frappe/model/rename_doc.py:110 +#: frappe/model/base_document.py:768 frappe/model/rename_doc.py:110 msgid "{0} {1} already exists" msgstr "{0} {1} موجود بالفعل" -#: frappe/model/base_document.py:1088 +#: frappe/model/base_document.py:1105 msgid "{0} {1} cannot be \"{2}\". It should be one of \"{3}\"" msgstr "{0} {1} لا يمكن أن يكون {{}}. يجب أن تكون واحدة من \"{3}\"" @@ -32080,11 +32431,11 @@ msgstr "{0} {1} لا يمكن أن يكون تفريعة لأن لديه تفر msgid "{0} {1} does not exist, select a new target to merge" msgstr "{0} {1} غير موجود ، حدد هدفا جديدا لدمج" -#: frappe/public/js/frappe/form/form.js:954 +#: frappe/public/js/frappe/form/form.js:983 msgid "{0} {1} is linked with the following submitted documents: {2}" msgstr "{0} {1} مرتبط بالمستندات المرسلة التالية: {2}" -#: frappe/model/document.py:278 frappe/permissions.py:586 +#: frappe/model/document.py:277 frappe/permissions.py:592 msgid "{0} {1} not found" msgstr "{0} {1} غير موجود" @@ -32092,7 +32443,7 @@ msgstr "{0} {1} غير موجود" msgid "{0} {1}: Submitted Record cannot be deleted. You must {2} Cancel {3} it first." msgstr "{0} {1}: لا يمكن حذف السجل المقدم. يجب عليك {2} إلغاء {3} أولاً." -#: frappe/model/base_document.py:1220 +#: frappe/model/base_document.py:1237 msgid "{0}, Row {1}" msgstr "{0}، الصف {1}" @@ -32100,146 +32451,162 @@ msgstr "{0}، الصف {1}" msgid "{0}/{1} complete | Please leave this tab open until completion." msgstr "{0}/{1} مكتمل | يرجى ترك علامة التبويب هذه مفتوحة حتى الانتهاء." -#: frappe/model/base_document.py:1225 +#: frappe/model/base_document.py:1242 msgid "{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}" msgstr "{0}: '{1}' ({3}) سيتم اقتطاعه، حيث أن الحد الأقصى المسموح به هو {2}" -#: frappe/core/doctype/doctype/doctype.py:1835 -msgid "{0}: Cannot set Amend without Cancel" -msgstr "{0}: لا يمكن تعيين تعديل بدون إلغاء" - -#: frappe/core/doctype/doctype/doctype.py:1853 -msgid "{0}: Cannot set Assign Amend if not Submittable" -msgstr "{0}: لا يمكن تعيين معدل إذا لم يتم إرساله" - -#: frappe/core/doctype/doctype/doctype.py:1851 -msgid "{0}: Cannot set Assign Submit if not Submittable" -msgstr "{0} : لا يمكن تحديد تعيين بالتأكيد إذا لم يكن قابل للتأكيد" - -#: frappe/core/doctype/doctype/doctype.py:1830 -msgid "{0}: Cannot set Cancel without Submit" -msgstr "{0}: لا يمكن تعيين إلغاء بدون إرسال" - -#: frappe/core/doctype/doctype/doctype.py:1837 -msgid "{0}: Cannot set Import without Create" -msgstr "{0} : لا يمكن تحديد استيراد دون إنشاء" - -#: frappe/core/doctype/doctype/doctype.py:1833 -msgid "{0}: Cannot set Submit, Cancel, Amend without Write" -msgstr "{0} : لا يمكن تحديد تأكيد ، الغاء ، تعديل دون كتابة" - -#: frappe/core/doctype/doctype/doctype.py:1857 -msgid "{0}: Cannot set import as {1} is not importable" -msgstr "{0}: لا يمكن تعيين استيراد كما {1} غير قابل للاستيراد" - #: frappe/automation/doctype/auto_repeat/auto_repeat.py:436 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}: فشل في إرفاق وثيقة متكررة جديدة. لتمكين إرفاق المستند في رسالة البريد الإلكتروني لإشعار التكرار التلقائي ، قم بتمكين {1} في إعدادات الطباعة" -#: frappe/core/doctype/doctype/doctype.py:1441 +#: frappe/core/doctype/doctype/doctype.py:1455 msgid "{0}: Field '{1}' cannot be set as Unique as it has non-unique values" msgstr "{0}: لا يمكن تعيين الحقل '{1}' على أنه فريد لأنه يحتوي على قيم غير فريدة" -#: frappe/core/doctype/doctype/doctype.py:1349 +#: frappe/core/doctype/doctype/doctype.py:1363 msgid "{0}: Field {1} in row {2} cannot be hidden and mandatory without default" msgstr "{0}: الحقل {1} في الصف {2} لا يمكن إخفاؤه وإجباره دون التقصير" -#: frappe/core/doctype/doctype/doctype.py:1308 +#: frappe/core/doctype/doctype/doctype.py:1322 msgid "{0}: Field {1} of type {2} cannot be mandatory" msgstr "{0}: الحقل {1} من النوع {2} لا يمكن أن يكون إلزاميًا" -#: frappe/core/doctype/doctype/doctype.py:1296 +#: frappe/core/doctype/doctype/doctype.py:1310 msgid "{0}: Fieldname {1} appears multiple times in rows {2}" msgstr "{0}: اسم الحقل {1} يظهر عدة مرات في الصفوف {2}" -#: frappe/core/doctype/doctype/doctype.py:1428 +#: frappe/core/doctype/doctype/doctype.py:1442 msgid "{0}: Fieldtype {1} for {2} cannot be unique" msgstr "{0}: لا يمكن أن يكون Fieldtype {1} لـ {2} فريدًا" -#: frappe/core/doctype/doctype/doctype.py:1790 +#: frappe/core/doctype/doctype/doctype.py:1804 msgid "{0}: No basic permissions set" msgstr "{0} : لم يتم تحديد صلاحيات أساسية" -#: frappe/core/doctype/doctype/doctype.py:1804 +#: frappe/core/doctype/doctype/doctype.py:1818 msgid "{0}: Only one rule allowed with the same Role, Level and {1}" msgstr "{0} قاعدة واحدة فقط سمح لها نفس الدور، المستوى و{1}" -#: frappe/core/doctype/doctype/doctype.py:1330 +#: frappe/core/doctype/doctype/doctype.py:1344 msgid "{0}: Options must be a valid DocType for field {1} in row {2}" msgstr "{0}: يجب أن تكون الخيارات نوع DocType صالحًا للحقل {1} في الصف {2}" -#: frappe/core/doctype/doctype/doctype.py:1319 +#: frappe/core/doctype/doctype/doctype.py:1333 msgid "{0}: Options required for Link or Table type field {1} in row {2}" msgstr "{0}: الخيارات المطلوبة لحقل نوع الرابط أو الجدول {1} في الصف {2}" -#: frappe/core/doctype/doctype/doctype.py:1337 +#: frappe/core/doctype/doctype/doctype.py:1351 msgid "{0}: Options {1} must be the same as doctype name {2} for the field {3}" msgstr "{0}: يجب أن تكون الخيارات {1} هي نفس اسم النمط العقلي {2} للحقل {3}" #: frappe/public/js/frappe/form/workflow.js:45 msgid "{0}: Other permission rules may also apply" -msgstr "" +msgstr "{0}: قد تُطبق قواعد أذونات أخرى أيضًا" -#: frappe/core/doctype/doctype/doctype.py:1819 +#: frappe/core/doctype/doctype/doctype.py:1833 msgid "{0}: Permission at level 0 must be set before higher levels are set" msgstr "{0} : صلاحيات على مستوى 0 يجب تحديده قبل أن يتم تحديد صلاحيات أعلى" +#: frappe/core/doctype/doctype/doctype.py:1910 +msgid "{0}: The 'Amend' permission cannot be granted for a non-submittable DocType." +msgstr "{0}: لا يمكن منح إذن \"التعديل\" لنوع مستند غير قابل للإرسال." + +#: frappe/core/doctype/doctype/doctype.py:1858 +msgid "{0}: The 'Amend' permission cannot be granted without the 'Create' permission." +msgstr "{0}: لا يمكن منح إذن \"التعديل\" بدون إذن \"الإنشاء\"." + +#: frappe/core/doctype/doctype/doctype.py:1845 +msgid "{0}: The 'Cancel' permission cannot be granted without the 'Submit' permission." +msgstr "{0}: لا يمكن منح إذن \"الإلغاء\" بدون إذن \"الإرسال\"." + +#: frappe/core/doctype/doctype/doctype.py:1892 +msgid "{0}: The 'Export' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "{0}: تمت إزالة إذن \"التصدير\" لأنه لا يمكن منحه لنوع مستند \"واحد\"." + +#: frappe/core/doctype/doctype/doctype.py:1918 +msgid "{0}: The 'Import' permission cannot be granted for a non-importable DocType." +msgstr "{0}: لا يمكن منح إذن \"الاستيراد\" لنوع مستند غير قابل للاستيراد." + +#: frappe/core/doctype/doctype/doctype.py:1864 +msgid "{0}: The 'Import' permission cannot be granted without the 'Create' permission." +msgstr "{0}: لا يمكن منح إذن \"الاستيراد\" بدون إذن \"الإنشاء\"." + +#: frappe/core/doctype/doctype/doctype.py:1884 +msgid "{0}: The 'Import' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "{0}: تمت إزالة إذن \"الاستيراد\" لأنه لا يمكن منحه لنوع مستند \"واحد\"." + +#: frappe/core/doctype/doctype/doctype.py:1876 +msgid "{0}: The 'Report' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "{0}: تمت إزالة إذن \"التقرير\" لأنه لا يمكن منحه لنوع مستند \"واحد\"." + +#: frappe/core/doctype/doctype/doctype.py:1903 +msgid "{0}: The 'Submit' permission cannot be granted for a non-submittable DocType." +msgstr "{0}: لا يمكن منح إذن \"الإرسال\" لنوع مستند غير قابل للإرسال." + +#: frappe/core/doctype/doctype/doctype.py:1852 +msgid "{0}: The 'Submit', 'Cancel', and 'Amend' permissions cannot be granted without the 'Write' permission." +msgstr "{0}: لا يمكن منح أذونات \"الإرسال\" و\"الإلغاء\" و\"التعديل\" بدون إذن \"الكتابة\"." + #: frappe/public/js/frappe/form/controls/data.js:51 msgid "{0}: You can increase the limit for the field if required via {1}" -msgstr "" +msgstr "{0}: يمكنك زيادة الحد الأقصى للحقل إذا لزم الأمر عبر {1}" -#: frappe/core/doctype/doctype/doctype.py:1283 +#: frappe/core/doctype/doctype/doctype.py:1297 +msgid "{0}: fieldname cannot be set to reserved field {1} in DocType" +msgstr "{0}: لا يمكن تعيين اسم الحقل إلى الحقل المحجوز {1} في نوع المستند" + +#: frappe/core/doctype/doctype/doctype.py:1288 msgid "{0}: fieldname cannot be set to reserved keyword {1}" -msgstr "" +msgstr "{0}: لا يمكن تعيين اسم الحقل إلى كلمة محجوزة {1}" #: frappe/contacts/doctype/address/address.js:35 #: frappe/contacts/doctype/contact/contact.js:88 msgid "{0}: {1}" -msgstr "" +msgstr "{0}: {1}" #: frappe/workflow/doctype/workflow_action/workflow_action.py:172 msgid "{0}: {1} is set to state {2}" msgstr "{0}: تم تعيين {1} على الحالة {2}" -#: frappe/public/js/frappe/views/reports/query_report.js:1313 +#: frappe/public/js/frappe/views/reports/query_report.js:1330 msgid "{0}: {1} vs {2}" msgstr "{0}: {1} ضد {2}" -#: frappe/core/doctype/doctype/doctype.py:1449 +#: frappe/core/doctype/doctype/doctype.py:1463 msgid "{0}:Fieldtype {1} for {2} cannot be indexed" msgstr "{0}: لا يمكن فهرسة Fieldtype {1} لـ {2}" -#: frappe/public/js/frappe/form/quick_entry.js:195 +#: frappe/public/js/frappe/form/quick_entry.js:222 msgid "{1} saved" -msgstr "" +msgstr "تم الحفظ {1}" #: frappe/public/js/frappe/utils/datatable.js:12 msgid "{count} cell copied" -msgstr "" +msgstr "تم نسخ الخلية {count}" #: frappe/public/js/frappe/utils/datatable.js:13 msgid "{count} cells copied" -msgstr "" +msgstr "تم نسخ {count} خلية" #: frappe/public/js/frappe/utils/datatable.js:16 msgid "{count} row selected" -msgstr "" +msgstr "تم تحديد الصف {count}" #: frappe/public/js/frappe/utils/datatable.js:17 msgid "{count} rows selected" -msgstr "" +msgstr "تم تحديد {count} صف" -#: frappe/core/doctype/doctype/doctype.py:1503 +#: frappe/core/doctype/doctype/doctype.py:1517 msgid "{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}." msgstr "{{{0}}} غير صالح كأسم حقل. يجب أن يكون {{field_name}}." -#: frappe/public/js/frappe/form/form.js:524 +#: frappe/public/js/frappe/form/form.js:525 msgid "{} Complete" msgstr "{} اكتمال" #: frappe/utils/data.py:2614 msgid "{} Invalid python code on line {}" -msgstr "" +msgstr "{} كود بايثون غير صالح في السطر {}" #: frappe/utils/data.py:2623 msgid "{} Possibly invalid python code.
{}" @@ -32247,16 +32614,16 @@ msgstr "" #: frappe/core/doctype/log_settings/log_settings.py:54 msgid "{} does not support automated log clearing." -msgstr "" +msgstr "لا يدعم {} مسح السجلات تلقائيًا." #: frappe/core/doctype/audit_trail/audit_trail.py:41 msgid "{} field cannot be empty." -msgstr "" +msgstr "لا يمكن أن يكون الحقل {} فارغًا." #: frappe/email/doctype/email_account/email_account.py:223 #: frappe/email/doctype/email_account/email_account.py:231 msgid "{} has been disabled. It can only be enabled if {} is checked." -msgstr "" +msgstr "تم تعطيل {}، ولا يمكن تفعيله إلا إذا تم تحديد {}." #: frappe/utils/data.py:145 msgid "{} is not a valid date string." @@ -32264,18 +32631,18 @@ msgstr "{} ليست سلسلة تاريخ صالحة." #: frappe/commands/utils.py:564 msgid "{} not found in PATH! This is required to access the console." -msgstr "" +msgstr "{} غير موجود في متغير PATH! هذا مطلوب للوصول إلى وحدة التحكم." #: frappe/database/db_manager.py:99 msgid "{} not found in PATH! This is required to restore the database." -msgstr "" +msgstr "{} غير موجود في PATH! هذا مطلوب لاستعادة قاعدة البيانات." #: frappe/utils/backups.py:466 msgid "{} not found in PATH! This is required to take a backup." -msgstr "" +msgstr "{} غير موجود في متغير PATH! هذا مطلوب لإنشاء نسخة احتياطية." #: frappe/public/js/frappe/file_uploader/FileBrowser.vue:5 #: frappe/public/js/frappe/file_uploader/WebLink.vue:4 msgid "← Back to upload files" -msgstr "" +msgstr "← العودة إلى صفحة تحميل الملفات" diff --git a/frappe/locale/fa.po b/frappe/locale/fa.po index 1a5f81a23d..690c2779dd 100644 --- a/frappe/locale/fa.po +++ b/frappe/locale/fa.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2026-01-01 22:27\n" +"PO-Revision-Date: 2026-01-07 23:51\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Persian\n" "MIME-Version: 1.0\n" @@ -552,7 +552,18 @@ msgid "
*  *  *  *  *\n"
 "* - Any value\n"
 "/ - Step values\n"
 "
\n" -msgstr "" +msgstr "
* * * * *\n"
+"┬ ┬ ┬ ┬ ┬\n"
+"│ │ │ │ │\n"
+"│ │ │ │ └ روز هفته (0 - 6) (0 یکشنبه است)\n"
+"│ │ │ └───── ماه (1 - 12)\n"
+"│ │ └─────── روز ماه (1 - 31)\n"
+"│ └───────────────── ساعت (0 - 23)\n"
+"└───────────────────── دقیقه (0 - 59)\n\n"
+"---\n\n"
+"* - هر مقداری\n"
+"/ - مقادیر گام\n"
+"
\n" #. Content of the 'Example' (HTML) field in DocType 'Workflow Transition' #: frappe/workflow/doctype/workflow_transition/workflow_transition.json @@ -5421,7 +5432,7 @@ msgstr "گزینه‌های تماس، مانند «پرسمان فروش، در #. Label of the contacts (Small Text) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Contacts" -msgstr "مخاطب" +msgstr "مخاطبین" #: frappe/utils/change_log.py:362 msgid "Contains {0} security fix" @@ -6088,7 +6099,7 @@ msgstr "گزارش سفارشی" #: frappe/desk/desktop.py:525 msgid "Custom Reports" -msgstr "گزارش های سفارشی" +msgstr "گزارش‌های سفارشی" #. Name of a DocType #: frappe/core/doctype/custom_role/custom_role.json @@ -12026,7 +12037,7 @@ msgstr "پنهان کردن پاورقی" #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json msgid "Hide footer in auto email reports" -msgstr "پاورقی را در گزارش های ایمیل خودکار مخفی کنید" +msgstr "پاورقی را در گزارش‌های ایمیل خودکار مخفی کنید" #. Label of the hide_footer_signup (Check) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json @@ -16366,7 +16377,7 @@ msgstr "موزیلا از :has() پشتیبانی نمی‌کند، بنابرا #: frappe/desk/page/setup_wizard/install_fixtures.py:43 msgid "Mr" -msgstr "" +msgstr "آقا" #: frappe/desk/page/setup_wizard/install_fixtures.py:47 msgid "Mrs" @@ -18159,7 +18170,7 @@ msgstr "فقط یک {0} را می‌توان به عنوان اصلی تنظیم #: frappe/desk/reportview.py:360 msgid "Only reports of type Report Builder can be deleted" -msgstr "فقط گزارش هایی از نوع Report Builder قابل حذف هستند" +msgstr "فقط گزارش‌هایی از نوع Report Builder قابل حذف هستند" #: frappe/desk/reportview.py:331 msgid "Only reports of type Report Builder can be edited" @@ -21780,11 +21791,11 @@ msgstr "گزارش:" #: frappe/core/doctype/system_settings/system_settings.json #: frappe/public/js/frappe/ui/toolbar/search_utils.js:591 msgid "Reports" -msgstr "گزارش ها" +msgstr "گزارش‌ها" #: frappe/patches/v14_0/update_workspace2.py:50 msgid "Reports & Masters" -msgstr "گزارش ها و مستندات" +msgstr "گزارش‌ها و مستندات" #: frappe/public/js/frappe/views/reports/query_report.js:940 msgid "Reports already in Queue" @@ -23079,7 +23090,7 @@ msgstr "مشاهده تمام فعالیت ها" #: frappe/public/js/frappe/views/reports/query_report.js:866 msgid "See all past reports." -msgstr "مشاهده تمام گزارش های گذشته" +msgstr "مشاهده تمام گزارش‌های گذشته" #: frappe/public/js/frappe/form/form.js:1247 #: frappe/website/doctype/contact_us_settings/contact_us_settings.js:4 @@ -24996,11 +25007,11 @@ msgstr "سبک چاپ استاندارد قابل تغییر نیست. لطفا #: frappe/desk/reportview.py:357 msgid "Standard Reports cannot be deleted" -msgstr "گزارش های استاندارد را نمی‌توان حذف کرد" +msgstr "گزارش‌های استاندارد را نمی‌توان حذف کرد" #: frappe/desk/reportview.py:328 msgid "Standard Reports cannot be edited" -msgstr "گزارش های استاندارد قابل ویرایش نیستند" +msgstr "گزارش‌های استاندارد قابل ویرایش نیستند" #. Label of the standard_menu_items (Section Break) field in DocType 'Portal #. Settings' @@ -31485,7 +31496,7 @@ msgstr "گزارش {0}" #: frappe/public/js/frappe/views/reports/query_report.js:967 msgid "{0} Reports" -msgstr "{0} گزارش ها" +msgstr "{0} گزارش‌ها" #: frappe/public/js/frappe/views/kanban/kanban_settings.js:26 msgid "{0} Settings" diff --git a/frappe/locale/hu.po b/frappe/locale/hu.po index f1459937ca..2f372a1705 100644 --- a/frappe/locale/hu.po +++ b/frappe/locale/hu.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-24 20:23\n" +"PO-Revision-Date: 2026-01-19 02:39\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -32,7 +32,7 @@ msgstr "\"Cégtörténet\"" #: frappe/core/doctype/data_export/exporter.py:202 msgid "\"Parent\" signifies the parent table in which this row must be added" -msgstr "\"Szülő\" jelenti azt a szülő táblát, amelyhez ezt a sort hozzá kell adni" +msgstr "\"Szülő\" jelenti azt a fő táblát, amelyhez ezt a sort hozzá kell adni" #. Description of the 'Team Members Heading' (Data) field in DocType 'About Us #. Settings' @@ -133,7 +133,15 @@ msgid "0 - too guessable: risky password.\n" "3 - safely unguessable: moderate protection from offline slow-hash scenario.\n" "
\n" "4 - very unguessable: strong protection from offline slow-hash scenario." -msgstr "" +msgstr "0 - túl kitalálható: kockázatos jelszó.\n" +"
\n" +"1 - nagyon kitalálható: védelem a korlátozott online támadások ellen. \n" +"
\n" +"2 - némileg kitalálható: védelem a nem korlátozott online támadások ellen.\n" +"
\n" +"3 - biztonságosan kitalálhatatlan: mérsékelt védelem az offline lassú hash forgatókönyv ellen.\n" +"
\n" +"4 - nagyon kitalálhatatlan: erős védelem az offline lassú hash forgatókönyv ellen." #. Description of the 'Priority' (Int) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json @@ -590,10 +598,10 @@ msgstr "

Email válasz példa

\n\n" "A {{ name }} tranzakció túllépte az esedékességi határidőt. Kérjük, tegye meg a szükséges intézkedéseket.\n\n" "Részletek\n\n" "- Ügyfél: {{ customer }}\n" -"- Amount: {{ grand_total }}\n" +"- Összeg: {{ grand_total }}\n" "\n\n" "

Hogyan kaphatom meg a mezőneveket?

\n\n" -"

Az e-mail sablonban használható mezőnevek annak a dokumentumnak a mezői, amelyből az e-mailt küldi. Bármely dokumentum mezőit megtudhatja a Beállítások > Formanyomtatványnézet testreszabása és a dokumentum típusának kiválasztása (pl. Értékesítési számla) segítségével.

\n\n" +"

Az e-mail sablonban használható mezőnevek annak a dokumentumnak a mezői, amelyből az e-mailt küldi. Bármely dokumentum mezőit megtudhatja a Beállítások > Űrlap Testraszabás és a dokumentum típusának kiválasztása (pl. Értékesítési számla) segítségével.

\n\n" "

Sablonkészítés

\n\n" "

A sablonok összeállítása a Jinja Templating Language segítségével történik. Ha többet szeretne megtudni a Jinjáról, olvassa el ezt a dokumentációt.

\n" @@ -890,7 +898,7 @@ msgstr "API" #. Label of the api_access (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "API Access" -msgstr "API hozzáférés" +msgstr "API Hozzáférés" #. Label of the api_endpoint (Data) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json @@ -918,7 +926,7 @@ msgstr "Az API végpont argumentumainak érvényes JSON-ként kell lenniük" #: frappe/integrations/doctype/google_settings/google_settings.json #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json msgid "API Key" -msgstr "API kulcs" +msgstr "API Kulcs" #. Description of the 'Authentication' (Section Break) field in DocType 'Push #. Notification Settings' @@ -959,7 +967,7 @@ msgstr "API Kérés Napló" #: frappe/email/doctype/email_account/email_account.json #: frappe/integrations/doctype/push_notification_settings/push_notification_settings.json msgid "API Secret" -msgstr "API Secret" +msgstr "API Jelszó" #. Option for the 'Default Sort Order' (Select) field in DocType 'DocType' #. Option for the 'Sort Order' (Select) field in DocType 'Customize Form' @@ -1462,7 +1470,7 @@ msgstr "Új Fül Hozzáadása" #: frappe/utils/password_strength.py:191 msgid "Add numbers or special characters." -msgstr "" +msgstr "Számok vagy speciális karakterek hozzáadása." #: frappe/public/js/print_format_builder/PrintFormatSection.vue:125 msgid "Add page break" @@ -1610,7 +1618,7 @@ msgstr "Címek és Kapcsolatok" #. Description of a DocType #: frappe/custom/doctype/client_script/client_script.json msgid "Adds a custom client script to a DocType" -msgstr "Egyéni ügyfélszkript hozzáadása egy DocType-hoz" +msgstr "Egyéni kliens szkript hozzáadása egy DocType-hoz" #. Description of a DocType #: frappe/custom/doctype/custom_field/custom_field.json @@ -2676,7 +2684,7 @@ msgstr "Kérdez" #: frappe/public/js/frappe/form/templates/form_sidebar.html:68 msgid "Assign" -msgstr "" +msgstr "Hozzárendel" #. Label of the assign_condition (Code) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -3432,7 +3440,7 @@ msgstr "Háttérnyomtatás (>25 dokumentum esetén szükséges)" #: frappe/core/doctype/system_settings/system_settings.json #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Background Workers" -msgstr "Háttér Munkások" +msgstr "Háttérmunkások" #: frappe/desk/page/backups/backups.js:28 msgid "Backup Encryption Key" @@ -4465,7 +4473,7 @@ msgstr "Levélfej Módosítása" #. Label of the change_password (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Change Password" -msgstr "Változtass Jelszót" +msgstr "Jelszó Módosítás" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:27 msgid "Change Print Format" @@ -4870,7 +4878,7 @@ msgstr "Ügyfél Metaadatok" #: frappe/custom/doctype/doctype_layout/doctype_layout.json #: frappe/website/doctype/web_page/web_page.js:103 msgid "Client Script" -msgstr "Ügyfél Szkript" +msgstr "Kliens Szkript" #. Label of the client_secret (Password) field in DocType 'Connected App' #. Label of the client_secret (Password) field in DocType 'Google Settings' @@ -5212,7 +5220,7 @@ msgstr "A közneveket és vezetékneveket könnyű kitalálni." #: frappe/utils/password_strength.py:190 msgid "Common words are easy to guess." -msgstr "" +msgstr "Gyakori szavakat könnyű kitalálni." #. Name of a DocType #. Option for the 'Communication Type' (Select) field in DocType @@ -5907,7 +5915,7 @@ msgstr "Új Kanban Tábla Létrehozása" #: frappe/public/js/frappe/list/list_filter.js:101 msgid "Create Saved Filter" -msgstr "" +msgstr "Szűrő Mentése" #: frappe/core/doctype/user/user.js:271 msgid "Create User Email" @@ -5961,7 +5969,7 @@ msgstr "Hozzon létre munkafolyamatot vizuálisan a Munkafolyamat Készítő seg #: frappe/core/doctype/comment/comment.json #: frappe/public/js/frappe/views/file/file_view.js:371 msgid "Created" -msgstr "Létrehozva" +msgstr "Létrehozva ekkor" #. Label of the created_at (Datetime) field in DocType 'Submission Queue' #: frappe/core/doctype/submission_queue/submission_queue.json @@ -9152,7 +9160,7 @@ msgstr "Közösségi Bejelentkezés Engedélyezése" #: frappe/website/doctype/website_settings/website_settings.js:139 msgid "Enable Tracking Page Views" -msgstr "Oldalmegtekintések Követésének Engedélyezése" +msgstr "Oldalmegtekintés Számának Követése" #. Label of the enable_two_factor_auth (Check) field in DocType 'System #. Settings' @@ -11109,7 +11117,7 @@ msgstr "Frappe Framework" #: frappe/public/js/frappe/ui/theme_switcher.js:59 msgid "Frappe Light" -msgstr "Frappe Light" +msgstr "Frappe Világos" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -12020,7 +12028,7 @@ msgstr "Súgó HTML" #. Description of the 'Content' (Text Editor) field in DocType 'Note' #: frappe/desk/doctype/note/note.json msgid "Help: To link to another record in the system, use \"/desk/note/[Note Name]\" as the Link URL. (don't use \"http://\")" -msgstr "" +msgstr "Segítség: A rendszer egy másik rekordjára való hivatkozáshoz használja a \"/desk/note/[jegyzet neve]\" URL-címet a hivatkozás URL-jeként. (ne használja a \"http://\" előtagot)" #. Label of the helpful (Int) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json @@ -12515,7 +12523,7 @@ msgstr "Ha engedélyezve van, a dokumentum módosításai nyomon követésre ker #. Description of the 'Track Views' (Check) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "If enabled, document views are tracked, this can happen multiple times" -msgstr "Ha engedélyezve van, a dokumentum megtekintések nyomon követésre kerülnek, ez többször is megtörténhet" +msgstr "Ha engedélyezve van, a dokumentum megtekintések száma nyomon követésre kerül" #. Description of the 'Only allow System Managers to upload public files' #. (Check) field in DocType 'System Settings' @@ -14695,7 +14703,7 @@ msgstr "Utoljára Módosította" #: frappe/model/meta.py:56 frappe/public/js/frappe/model/meta.js:212 #: frappe/public/js/frappe/model/model.js:126 msgid "Last Updated On" -msgstr "Utoljára Módosítva ekkor" +msgstr "Frissítve ekkor" #. Label of the last_user (Link) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -15194,12 +15202,12 @@ msgstr "Listaszűrő" #: frappe/custom/doctype/customize_form/customize_form.json #: frappe/website/doctype/web_form/web_form.json msgid "List Settings" -msgstr "Lista Beállításai" +msgstr "Lista Beállítások" #: frappe/public/js/frappe/list/list_view.js:2067 msgctxt "Button in list view menu" msgid "List Settings" -msgstr "Lista Beállításai" +msgstr "Lista Beállítások" #: frappe/public/js/frappe/list/base_list.js:203 msgid "List View" @@ -15208,7 +15216,7 @@ msgstr "Lista Nézet" #. Name of a DocType #: frappe/desk/doctype/list_view_settings/list_view_settings.json msgid "List View Settings" -msgstr "Lista Nézet Beállításai" +msgstr "Listanézet Beállítások" #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:223 msgid "List a document type" @@ -16463,7 +16471,7 @@ msgstr "További információk" #: frappe/core/doctype/user/user.json #: frappe/core/web_form/edit_profile/edit_profile.json msgid "More Information" -msgstr "Több Információ" +msgstr "További információk" #: frappe/website/doctype/help_article/templates/help_article.html:19 #: frappe/website/doctype/help_article/templates/help_article.html:33 @@ -16478,7 +16486,7 @@ msgstr "További tartalom az oldal aljára." #: frappe/public/js/frappe/ui/sort_selector.js:193 msgid "Most Used" -msgstr "Legtöbbet használt" +msgstr "Leggyakrabban használt" #: frappe/utils/password.py:75 msgid "Most probably your password is too long." @@ -17493,7 +17501,7 @@ msgstr "Nem találtunk sablont a következő elérési útvonalon: {0}" #: frappe/core/page/permission_manager/permission_manager.js:362 msgid "No user has the role {0}" -msgstr "" +msgstr "Egyetlen felhasználónak sincs szerepköre {0}" #: frappe/public/js/frappe/form/controls/multiselect_list.js:276 msgid "No values to show" @@ -19119,7 +19127,7 @@ msgstr "Jelszó nem található ehhez: {0} {1} {2}" #: frappe/core/doctype/user/user.py:1307 msgid "Password requirements not met" -msgstr "" +msgstr "Jelszókövetelmények nem teljesültek" #: frappe/core/doctype/user/user.py:1140 msgid "Password reset instructions have been sent to {}'s email" @@ -19318,7 +19326,7 @@ msgstr "Jogosultsági Szintek" #. Name of a DocType #: frappe/core/doctype/permission_log/permission_log.json msgid "Permission Log" -msgstr "Engedélynapló" +msgstr "Jogosultság Napló" #. Label of a shortcut in the Users Workspace #: frappe/core/workspace/users/users.json @@ -21039,7 +21047,7 @@ msgstr "Olvass El" #. 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Realtime (SocketIO)" -msgstr "Valós Idejű (SocketIO)" +msgstr "Valós idejű kommunikáció (SocketIO)" #. Label of the reason (Long Text) field in DocType 'Unhandled Email' #: frappe/email/doctype/unhandled_email/unhandled_email.json @@ -21466,13 +21474,13 @@ msgstr "Token Frissítése" #: frappe/public/js/frappe/list/list_view.js:537 msgctxt "Document count in list view" msgid "Refreshing" -msgstr "Újratöltés" +msgstr "Frissítés" #: frappe/core/doctype/system_settings/system_settings.js:57 #: frappe/core/doctype/user/user.js:369 #: frappe/desk/page/setup_wizard/setup_wizard.js:211 msgid "Refreshing..." -msgstr "Újratöltés..." +msgstr "Frissítés..." #: frappe/core/doctype/user/user.py:1083 msgid "Registered but disabled" @@ -22902,7 +22910,7 @@ msgstr "Mentve" #: frappe/public/js/frappe/list/list_filter.js:20 msgid "Saved Filters" -msgstr "Elmentett szűrők" +msgstr "Mentett Szűrések" #: frappe/public/js/frappe/list/list_settings.js:41 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:47 @@ -23012,7 +23020,7 @@ msgstr "Ütemező" #: frappe/core/doctype/scheduler_event/scheduler_event.json #: frappe/core/doctype/server_script/server_script.json msgid "Scheduler Event" -msgstr "Ütemező Esemény" +msgstr "Ütemezett Esemény" #: frappe/core/doctype/data_import/data_import.py:124 msgid "Scheduler Inactive" @@ -23801,7 +23809,7 @@ msgstr "Feladó Neve Mező" #. Option for the 'Service' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "Sendgrid" -msgstr "Küldési háló" +msgstr "Sendgrid" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #. Option for the 'Status' (Select) field in DocType 'Email Queue' @@ -24471,7 +24479,7 @@ msgstr "Sortörések Megjelenítése Szakaszok után" #: frappe/public/js/frappe/form/toolbar.js:443 msgid "Show Links" -msgstr "Hivatkozások Megjelenítése" +msgstr "Hivatkozások Megtekintése" #. Label of the show_failed_logs (Check) field in DocType 'Data Import' #: frappe/core/doctype/data_import/data_import.json @@ -24521,7 +24529,7 @@ msgstr "Kapcsolódó Hibák Megjelenítése" #: frappe/core/doctype/prepared_report/prepared_report.js:43 #: frappe/core/doctype/report/report.js:16 msgid "Show Report" -msgstr "Jelentés Megjelenítése" +msgstr "Jelentés Megtekintése" #. Label of the show_section_headings (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json @@ -25868,7 +25876,7 @@ msgstr "Kamera Váltása" #: frappe/public/js/frappe/desk.js:96 #: frappe/public/js/frappe/ui/theme_switcher.js:11 msgid "Switch Theme" -msgstr "Téma Váltása" +msgstr "Témaváltás" #: frappe/templates/includes/navbar/navbar_login.html:17 msgid "Switch To Desk" @@ -27487,7 +27495,7 @@ msgstr "A Google Névjegyek használatához engedélyezze a(z) {0} lehetőséget #. 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "To use Google Indexing, enable Google Settings." -msgstr "" +msgstr "A Google indexelés használatához engedélyezze a Google Beállításokat." #. Description of the 'Slack Channel' (Link) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -27534,7 +27542,7 @@ msgstr "Oldalsáv be-/kikapcsolása" #. Type: Action #: frappe/hooks.py msgid "Toggle Theme" -msgstr "Téma Váltása" +msgstr "Témaváltás" #. Option for the 'Response Type' (Select) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json @@ -27654,7 +27662,7 @@ msgstr "Összesen" #. Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Total Background Workers" -msgstr "Összes Háttér Munkás" +msgstr "Összes Háttérmunkás" #. Label of the total_errors (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json @@ -27746,7 +27754,7 @@ msgstr "Lépések Követése" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Track Views" -msgstr "Megtekintések Követése" +msgstr "Megtekintések Számának Követése" #. Description of the 'Track Email Status' (Check) field in DocType 'Email #. Account' @@ -28575,7 +28583,7 @@ msgstr "TLS használata" #: frappe/utils/password_strength.py:191 msgid "Use a few uncommon words together." -msgstr "" +msgstr "Használjon együtt néhány szokatlan szót." #: frappe/utils/password_strength.py:44 msgid "Use a few words, avoid common phrases." @@ -29329,7 +29337,7 @@ msgstr "Weboldal megtekintése" #: frappe/core/page/permission_manager/permission_manager.js:395 msgid "View all {0} users" -msgstr "" +msgstr "Összes {0} felhasználó megtekintése" #: frappe/www/confirm_workflow_action.html:12 msgid "View document" @@ -29451,7 +29459,7 @@ msgstr "Figyelmeztetés: A számláló frissítése dokumentumnév-ütközésekh #: frappe/core/doctype/doctype/doctype.py:458 msgid "Warning: Usage of 'format:' is discouraged." -msgstr "" +msgstr "Figyelmeztetés: A 'format:' használata nem javasolt." #: frappe/website/doctype/help_article/templates/help_article.html:24 msgid "Was this article helpful?" @@ -30467,7 +30475,7 @@ msgstr "A Dokumentumtípusok táblázatban csak a 3 egyéni doctype-pt állítha #: frappe/handler.py:184 msgid "You can only upload JPG, PNG, GIF, PDF, TXT, CSV or Microsoft documents." -msgstr "" +msgstr "Csak JPG, PNG, GIF, PDF, TXT, CSV vagy Microsoft dokumentumokat tölthet fel." #: frappe/core/doctype/data_export/exporter.py:199 msgid "You can only upload upto 5000 records in one go. (may be less in some cases)" @@ -31075,7 +31083,7 @@ msgstr "pl. pop.gmail.com / imap.gmail.com" #. Account' #: frappe/email/doctype/email_account/email_account.json msgid "e.g. replies@yourcomany.com. All replies will come to this inbox." -msgstr "pl. valaszok@cegem.hu. Minden válasz ebbe a postafiókba fog jönni." +msgstr "pl. info@cegem.hu. Minden válasz ebbe a postafiókba fog jönni." #. Description of the 'Outgoing Server' (Data) field in DocType 'Email Account' #. Description of the 'Outgoing Server' (Data) field in DocType 'Email Domain' @@ -31684,7 +31692,7 @@ msgstr "{0} Lista" #: frappe/public/js/frappe/list/list_settings.js:33 msgid "{0} List View Settings" -msgstr "{0} Listanézet Beállításai" +msgstr "{0} Listanézet Beállítások" #: frappe/public/js/frappe/utils/pretty_date.js:37 msgid "{0} M" @@ -32280,7 +32288,7 @@ msgstr "{0} héttel ezelőtt" #: frappe/core/page/permission_manager/permission_manager.js:378 msgid "{0} with the role {1}" -msgstr "" +msgstr "{0} a szerepkörrel: {1}" #: frappe/public/js/frappe/utils/pretty_date.js:39 msgid "{0} y" diff --git a/frappe/locale/id.po b/frappe/locale/id.po index de5b786a64..2c9c596b70 100644 --- a/frappe/locale/id.po +++ b/frappe/locale/id.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-24 20:24\n" +"PO-Revision-Date: 2026-01-11 00:40\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Indonesian\n" "MIME-Version: 1.0\n" @@ -22,13 +22,13 @@ msgstr "" #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "!=" -msgstr "" +msgstr "!=" #. Description of the 'Org History Heading' (Data) field in DocType 'About Us #. Settings' #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "\"Company History\"" -msgstr "" +msgstr "\"Riwayat Perusahaan\"" #: frappe/core/doctype/data_export/exporter.py:202 msgid "\"Parent\" signifies the parent table in which this row must be added" @@ -38,7 +38,7 @@ msgstr "\"Induk\" menandakan tabel induk di mana baris ini harus ditambahkan" #. Settings' #: frappe/website/doctype/about_us_settings/about_us_settings.json msgid "\"Team Members\" or \"Management\"" -msgstr "" +msgstr "\"Anggota Tim\" atau \"Manajemen\"" #: frappe/public/js/frappe/form/form.js:1093 msgid "\"amended_from\" field must be present to do an amendment." @@ -55,16 +55,16 @@ msgstr "" #: frappe/core/report/database_storage_usage_by_tables/database_storage_usage_by_tables.js:36 msgid "${values.doctype_name} has been added to queue for optimization" -msgstr "" +msgstr "${values.doctype_name} telah ditambahkan ke antrian untuk optimasi" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "© Frappe Technologies Pvt. Ltd. and contributors" -msgstr "" +msgstr "© Frappe Technologies Pvt. Ltd. dan kontributor" #. Label of the head_html (Code) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "<head> HTML" -msgstr "" +msgstr "<head> HTML" #: frappe/database/query.py:2100 msgid "'*' is only allowed in {0} SQL function(s)" @@ -72,7 +72,7 @@ msgstr "" #: frappe/public/js/form_builder/store.js:206 msgid "'In Global Search' is not allowed for field {0} of type {1}" -msgstr "" +msgstr "'Dalam Pencarian Global' tidak diizinkan untuk bidang {0} dengan tipe {1}" #: frappe/core/doctype/doctype/doctype.py:1369 msgid "'In Global Search' not allowed for type {0} in row {1}" @@ -80,7 +80,7 @@ msgstr "'Di Pencarian Global' tidak dibolehkan jenis {0} pada baris {1}" #: frappe/public/js/form_builder/store.js:198 msgid "'In List View' is not allowed for field {0} of type {1}" -msgstr "" +msgstr "'Dalam Tampilan Daftar' tidak diizinkan untuk bidang {0} dengan tipe {1}" #: frappe/custom/doctype/customize_form/customize_form.py:367 msgid "'In List View' not allowed for type {0} in row {1}" @@ -96,7 +96,7 @@ msgstr "" #: frappe/utils/__init__.py:258 msgid "'{0}' is not a valid URL" -msgstr "" +msgstr "'{0}' bukan URL yang valid" #: frappe/core/doctype/doctype/doctype.py:1363 msgid "'{0}' not allowed for type {1} in row {2}" @@ -104,7 +104,7 @@ msgstr "'{0}' tidak diperbolehkan untuk jenis {1} di baris {2}" #: frappe/public/js/frappe/data_import/data_exporter.js:302 msgid "(Mandatory)" -msgstr "" +msgstr "(Wajib)" #: frappe/model/rename_doc.py:703 msgid "** Failed: {0} to {1}: {2}" @@ -113,13 +113,13 @@ msgstr "** Gagal: {0} ke {1}: {2}" #: frappe/public/js/frappe/list/list_settings.js:133 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:111 msgid "+ Add / Remove Fields" -msgstr "" +msgstr "+ Tambah / Hapus Bidang" #. Description of the 'Doc Status' (Select) field in DocType 'Workflow Document #. State' #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json msgid "0 - Draft; 1 - Submitted; 2 - Cancelled" -msgstr "" +msgstr "0 - Draf; 1 - Diajukan; 2 - Dibatalkan" #. Description of the 'Minimum Password Score' (Select) field in DocType #. 'System Settings' @@ -138,21 +138,22 @@ msgstr "" #. Description of the 'Priority' (Int) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json msgid "0 is highest" -msgstr "" +msgstr "0 adalah tertinggi" #: frappe/public/js/frappe/form/grid_row.js:892 msgid "1 = True & 0 = False" -msgstr "" +msgstr "1 = Benar & 0 = Salah" #. Description of the 'Fraction Units' (Int) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json msgid "1 Currency = [?] Fraction\n" "For e.g. 1 USD = 100 Cent" -msgstr "" +msgstr "1 Mata Uang = [?] Pecahan\n" +"Contoh: 1 USD = 100 Sen" #: frappe/public/js/frappe/form/reminders.js:19 msgid "1 Day" -msgstr "" +msgstr "1 Hari" #: frappe/integrations/doctype/google_calendar/google_calendar.py:374 msgid "1 Google Calendar Event synced." @@ -160,15 +161,15 @@ msgstr "1 Acara Kalender Google disinkronkan." #: frappe/public/js/frappe/views/reports/query_report.js:966 msgid "1 Report" -msgstr "" +msgstr "1 Laporan" #: frappe/tests/test_utils.py:906 msgid "1 day ago" -msgstr "" +msgstr "1 hari yang lalu" #: frappe/public/js/frappe/form/reminders.js:17 msgid "1 hour" -msgstr "" +msgstr "1 jam" #: frappe/public/js/frappe/utils/pretty_date.js:52 #: frappe/tests/test_utils.py:904 @@ -187,7 +188,7 @@ msgstr "1 bulan lalu" #: frappe/public/js/print_format_builder/PrintFormat.vue:3 msgid "1 of 2" -msgstr "" +msgstr "1 dari 2" #: frappe/public/js/frappe/data_import/data_exporter.js:227 msgid "1 record will be exported" @@ -205,7 +206,7 @@ msgstr "" #: frappe/tests/test_utils.py:901 msgid "1 second ago" -msgstr "" +msgstr "1 detik yang lalu" #: frappe/public/js/frappe/utils/pretty_date.js:62 #: frappe/tests/test_utils.py:908 @@ -219,31 +220,31 @@ msgstr "1 tahun yang lalu" #: frappe/tests/test_utils.py:905 msgid "2 hours ago" -msgstr "" +msgstr "2 jam yang lalu" #: frappe/tests/test_utils.py:911 msgid "2 months ago" -msgstr "" +msgstr "2 bulan lalu" #: frappe/tests/test_utils.py:909 msgid "2 weeks ago" -msgstr "" +msgstr "2 minggu yang lalu" #: frappe/tests/test_utils.py:913 msgid "2 years ago" -msgstr "" +msgstr "2 tahun yang lalu" #: frappe/tests/test_utils.py:903 msgid "3 minutes ago" -msgstr "" +msgstr "3 menit yang lalu" #: frappe/public/js/frappe/form/reminders.js:16 msgid "30 minutes" -msgstr "" +msgstr "30 menit" #: frappe/public/js/frappe/form/reminders.js:18 msgid "4 hours" -msgstr "" +msgstr "4 jam" #: frappe/public/js/frappe/data_import/data_exporter.js:37 msgid "5 Records" @@ -251,7 +252,7 @@ msgstr "5 catatan" #: frappe/tests/test_utils.py:907 msgid "5 days ago" -msgstr "" +msgstr "5 hari yang lalu" #: frappe/desk/doctype/bulk_update/bulk_update.py:36 msgid "; not allowed in condition" @@ -261,13 +262,13 @@ msgstr "; tidak diijinkan dalam kondisi" #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "<" -msgstr "" +msgstr "<" #. Option for the 'Condition' (Select) field in DocType 'Document Naming Rule #. Condition' #: frappe/core/doctype/document_naming_rule_condition/document_naming_rule_condition.json msgid "<=" -msgstr "" +msgstr "<=" #. Description of the 'Generate Keys' (Button) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -278,7 +279,7 @@ msgstr "" #: frappe/public/js/frappe/widgets/widget_dialog.js:601 msgid "{0} is not a valid URL" -msgstr "" +msgstr "{0} bukan URL yang valid" #. Content of the 'Help' (HTML) field in DocType 'Property Setter' #: frappe/custom/doctype/property_setter/property_setter.json @@ -625,7 +626,7 @@ msgstr "{0} {1} berulang telah dibuat untuk Anda melalui Ulangi Otomatis {2}." #. Description of the 'Symbol' (Data) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json msgid "A symbol for this currency. For e.g. $" -msgstr "" +msgstr "Simbol untuk mata uang ini. Contoh. $" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.py:49 msgid "A template already exists for field {0} of {1}" @@ -645,67 +646,67 @@ msgstr "Sebuah kata dengan sendirinya mudah ditebak." #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A0" -msgstr "" +msgstr "A0" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A1" -msgstr "" +msgstr "A1" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A2" -msgstr "" +msgstr "A2" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A3" -msgstr "" +msgstr "A3" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A4" -msgstr "" +msgstr "A4" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A5" -msgstr "" +msgstr "A5" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A6" -msgstr "" +msgstr "A6" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A7" -msgstr "" +msgstr "A7" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A8" -msgstr "" +msgstr "A8" #. Option for the 'PDF Page Size' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_settings/print_settings.json msgid "A9" -msgstr "" +msgstr "A9" #. Option for the 'Email Sync Option' (Select) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json msgid "ALL" -msgstr "" +msgstr "SEMUA" #. Option for the 'Script Type' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "API" -msgstr "" +msgstr "API" #. Label of the api_access (Section Break) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "API Access" -msgstr "" +msgstr "Akses API" #. Label of the api_endpoint (Data) field in DocType 'Social Login Key' #: frappe/integrations/doctype/social_login_key/social_login_key.json @@ -918,7 +919,7 @@ msgstr "" #: frappe/public/js/frappe/widgets/onboarding_widget.js:305 #: frappe/public/js/frappe/widgets/onboarding_widget.js:376 msgid "Action Complete" -msgstr "" +msgstr "Tindakan Selesai" #: frappe/model/document.py:1941 msgid "Action Failed" @@ -927,7 +928,7 @@ msgstr "aksi Gagal" #. Label of the action_label (Data) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Action Label" -msgstr "" +msgstr "Label Tindakan" #. Label of the action_timeout (Int) field in DocType 'Success Action' #: frappe/core/doctype/success_action/success_action.json @@ -945,7 +946,7 @@ msgstr "" #: frappe/core/doctype/submission_queue/submission_queue.py:116 msgid "Action {0} failed on {1} {2}. View it {3}" -msgstr "" +msgstr "Tindakan {0} gagal pada {1} {2}. Lihat {3}" #. Label of the actions_section (Tab Break) field in DocType 'DocType' #. Label of the actions_section (Section Break) field in DocType 'User Session @@ -982,7 +983,7 @@ msgstr "Tindakan" #. Label of the activate (Check) field in DocType 'Package Import' #: frappe/core/doctype/package_import/package_import.json msgid "Activate" -msgstr "" +msgstr "Aktifkan" #. Option for the 'Status' (Select) field in DocType 'Auto Repeat' #. Option for the 'Status' (Select) field in DocType 'Kanban Board Column' @@ -999,14 +1000,14 @@ msgstr "Aktif" #. Option for the 'Directory Server' (Select) field in DocType 'LDAP Settings' #: frappe/integrations/doctype/ldap_settings/ldap_settings.json msgid "Active Directory" -msgstr "" +msgstr "Direktori Aktif" #. Label of the active_domains_sb (Section Break) field in DocType 'Domain #. Settings' #. Label of the active_domains (Table) field in DocType 'Domain Settings' #: frappe/core/doctype/domain_settings/domain_settings.json msgid "Active Domains" -msgstr "" +msgstr "Domain Aktif" #. Label of the active_sessions (Table) field in DocType 'User' #. Label of the active_sessions (Int) field in DocType 'System Health Report' @@ -1047,7 +1048,7 @@ msgstr "Tambahkan" #: frappe/public/js/frappe/form/grid_row.js:454 msgid "Add / Remove Columns" -msgstr "" +msgstr "Tambah / Hapus Kolom" #: frappe/core/doctype/user_permission/user_permission_list.js:4 msgid "Add / Update" @@ -1065,21 +1066,21 @@ msgstr "Tambahkan lampiran" #. Label of the add_background_image (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Background Image" -msgstr "" +msgstr "Tambah Gambar Latar Belakang" #. Label of the add_border_at_bottom (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Border at Bottom" -msgstr "" +msgstr "Tambah Garis Tepi di Bawah" #. Label of the add_border_at_top (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Border at Top" -msgstr "" +msgstr "Tambah Garis Tepi di Atas" #: frappe/desk/doctype/number_card/number_card.js:37 msgid "Add Card to Dashboard" -msgstr "" +msgstr "Tambah Kartu ke Dasbor" #: frappe/public/js/frappe/views/reports/query_report.js:210 msgid "Add Chart to Dashboard" @@ -1114,7 +1115,7 @@ msgstr "" #. Label of the set_meta_tags (Button) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json msgid "Add Custom Tags" -msgstr "" +msgstr "Tambah Tag Kustom" #: frappe/public/js/frappe/widgets/widget_dialog.js:188 #: frappe/public/js/frappe/widgets/widget_dialog.js:716 @@ -1124,7 +1125,7 @@ msgstr "Tambahkan Filter" #. Label of the add_shade (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Gray Background" -msgstr "" +msgstr "Tambah Latar Belakang Abu-abu" #: frappe/public/js/frappe/ui/group_by/group_by.js:230 #: frappe/public/js/frappe/ui/group_by/group_by.js:430 @@ -1137,7 +1138,7 @@ msgstr "" #: frappe/public/js/frappe/form/grid.js:66 msgid "Add Multiple" -msgstr "" +msgstr "Tambah Beberapa" #: frappe/core/page/permission_manager/permission_manager.js:495 msgid "Add New Permission Rule" @@ -1150,15 +1151,15 @@ msgstr "Tambahkan Peserta" #. Label of the add_query_parameters (Check) field in DocType 'Email Group' #: frappe/email/doctype/email_group/email_group.json msgid "Add Query Parameters" -msgstr "" +msgstr "Tambah Parameter Kueri" #: frappe/core/doctype/user/user.py:857 msgid "Add Roles" -msgstr "" +msgstr "Tambah Peran" #: frappe/public/js/frappe/form/grid.js:66 msgid "Add Row" -msgstr "" +msgstr "Tambah Baris" #. Label of the add_signature (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json @@ -1169,12 +1170,12 @@ msgstr "Tambahkan Signature" #. Label of the add_bottom_padding (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Space at Bottom" -msgstr "" +msgstr "Tambah Spasi di Bawah" #. Label of the add_top_padding (Check) field in DocType 'Web Page Block' #: frappe/website/doctype/web_page_block/web_page_block.json msgid "Add Space at Top" -msgstr "" +msgstr "Tambah Spasi di Atas" #: frappe/email/doctype/email_group/email_group.js:38 #: frappe/email/doctype/email_group/email_group.js:59 @@ -1183,12 +1184,12 @@ msgstr "Tambahkan Pelanggan" #: frappe/public/js/frappe/list/bulk_operations.js:425 msgid "Add Tags" -msgstr "" +msgstr "Tambah Tag" #: frappe/public/js/frappe/list/list_view.js:2228 msgctxt "Button in list view actions menu" msgid "Add Tags" -msgstr "" +msgstr "Tambah Tag" #: frappe/public/js/frappe/views/communication.js:424 msgid "Add Template" @@ -1476,13 +1477,13 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/core/doctype/system_settings/system_settings.json msgid "Advanced" -msgstr "" +msgstr "Lanjutan" #. Label of the advanced_control_section (Section Break) field in DocType 'User #. Permission' #: frappe/core/doctype/user_permission/user_permission.json msgid "Advanced Control" -msgstr "" +msgstr "Kontrol Lanjutan" #: frappe/public/js/frappe/form/controls/link.js:485 #: frappe/public/js/frappe/form/controls/link.js:487 @@ -1492,22 +1493,22 @@ msgstr "Pencarian Lanjutan" #. Label of the sb_advanced (Section Break) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Advanced Settings" -msgstr "" +msgstr "Pengaturan Lanjutan" #: frappe/public/js/frappe/ui/filters/filter.js:64 #: frappe/public/js/frappe/ui/filters/filter.js:70 msgid "After" -msgstr "" +msgstr "Setelah" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Cancel" -msgstr "" +msgstr "Setelah Batal" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Delete" -msgstr "" +msgstr "Setelah Hapus" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -1517,17 +1518,17 @@ msgstr "" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Insert" -msgstr "" +msgstr "Setelah Sisip" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Rename" -msgstr "" +msgstr "Setelah Ubah Nama" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "After Save" -msgstr "" +msgstr "Setelah Simpan" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json diff --git a/frappe/locale/main.pot b/frappe/locale/main.pot index eb5c9f2e62..2787045a1d 100644 --- a/frappe/locale/main.pot +++ b/frappe/locale/main.pot @@ -1,14 +1,14 @@ # Translations template for Frappe Framework. -# Copyright (C) 2025 Frappe Technologies +# Copyright (C) 2026 Frappe Technologies # This file is distributed under the same license as the Frappe Framework project. -# FIRST AUTHOR , 2025. +# FIRST AUTHOR , 2026. # msgid "" msgstr "" "Project-Id-Version: Frappe Framework VERSION\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" -"POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-21 09:35+0000\n" +"POT-Creation-Date: 2026-01-22 13:03+0000\n" +"PO-Revision-Date: 2026-01-22 13:03+0000\n" "Last-Translator: developers@frappe.io\n" "Language-Team: developers@frappe.io\n" "MIME-Version: 1.0\n" @@ -38,7 +38,7 @@ msgstr "" msgid "\"Team Members\" or \"Management\"" msgstr "" -#: frappe/public/js/frappe/form/form.js:1093 +#: frappe/public/js/frappe/form/form.js:1122 msgid "\"amended_from\" field must be present to do an amendment." msgstr "" @@ -64,7 +64,7 @@ msgstr "" msgid "<head> HTML" msgstr "" -#: frappe/database/query.py:2100 +#: frappe/database/query.py:2178 msgid "'*' is only allowed in {0} SQL function(s)" msgstr "" @@ -72,7 +72,7 @@ msgstr "" msgid "'In Global Search' is not allowed for field {0} of type {1}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1369 +#: frappe/core/doctype/doctype/doctype.py:1383 msgid "'In Global Search' not allowed for type {0} in row {1}" msgstr "" @@ -88,19 +88,19 @@ msgstr "" msgid "'Recipients' not specified" msgstr "" -#: frappe/utils/__init__.py:268 +#: frappe/utils/__init__.py:259 msgid "'{0}' is not a valid IBAN" msgstr "" -#: frappe/utils/__init__.py:258 +#: frappe/utils/__init__.py:249 msgid "'{0}' is not a valid URL" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1363 +#: frappe/core/doctype/doctype/doctype.py:1377 msgid "'{0}' not allowed for type {1} in row {2}" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:302 +#: frappe/public/js/frappe/data_import/data_exporter.js:303 msgid "(Mandatory)" msgstr "" @@ -139,7 +139,7 @@ msgstr "" msgid "0 is highest" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:892 +#: frappe/public/js/frappe/form/grid_row.js:891 msgid "1 = True & 0 = False" msgstr "" @@ -158,7 +158,7 @@ msgstr "" msgid "1 Google Calendar Event synced." msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:966 +#: frappe/public/js/frappe/views/reports/query_report.js:983 msgid "1 Report" msgstr "" @@ -189,7 +189,7 @@ msgstr "" msgid "1 of 2" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:227 +#: frappe/public/js/frappe/data_import/data_exporter.js:228 msgid "1 record will be exported" msgstr "" @@ -624,7 +624,7 @@ msgstr "" msgid ">=" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1049 +#: frappe/core/doctype/doctype/doctype.py:1052 msgid "A DocType's name should start with a letter and can only consist of letters, numbers, spaces, underscores and hyphens" msgstr "" @@ -638,7 +638,7 @@ msgstr "" msgid "A download link with your data will be sent to the email address associated with your account." msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:176 +#: frappe/custom/doctype/custom_field/custom_field.py:177 msgid "A field with the name {0} already exists in {1}" msgstr "" @@ -958,7 +958,7 @@ msgstr "" msgid "Action Complete" msgstr "" -#: frappe/model/document.py:1941 +#: frappe/model/document.py:1940 msgid "Action Failed" msgstr "" @@ -1007,13 +1007,13 @@ msgstr "" #: frappe/custom/doctype/customize_form/customize_form.js:132 #: frappe/custom/doctype/customize_form/customize_form.js:140 #: frappe/custom/doctype/customize_form/customize_form.js:148 -#: frappe/custom/doctype/customize_form/customize_form.js:283 +#: frappe/custom/doctype/customize_form/customize_form.js:293 #: frappe/custom/doctype/customize_form/customize_form.json -#: frappe/public/js/frappe/ui/page.html:41 -#: frappe/public/js/frappe/views/reports/query_report.js:191 -#: frappe/public/js/frappe/views/reports/query_report.js:204 -#: frappe/public/js/frappe/views/reports/query_report.js:214 -#: frappe/public/js/frappe/views/reports/query_report.js:853 +#: frappe/public/js/frappe/ui/page.html:63 +#: frappe/public/js/frappe/views/reports/query_report.js:192 +#: frappe/public/js/frappe/views/reports/query_report.js:205 +#: frappe/public/js/frappe/views/reports/query_report.js:215 +#: frappe/public/js/frappe/views/reports/query_report.js:870 msgid "Actions" msgstr "" @@ -1070,20 +1070,20 @@ msgstr "" msgid "Activity Log" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:532 +#: frappe/core/page/permission_manager/permission_manager.js:533 #: frappe/email/doctype/email_group/email_group.js:60 -#: frappe/public/js/frappe/form/grid_row.js:501 +#: frappe/public/js/frappe/form/grid_row.js:503 #: frappe/public/js/frappe/form/sidebar/assign_to.js:104 #: frappe/public/js/frappe/form/templates/set_sharing.html:82 -#: frappe/public/js/frappe/list/bulk_operations.js:437 +#: frappe/public/js/frappe/list/bulk_operations.js:451 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:441 -#: frappe/public/js/frappe/views/reports/query_report.js:266 -#: frappe/public/js/frappe/views/reports/query_report.js:294 +#: frappe/public/js/frappe/views/reports/query_report.js:267 +#: frappe/public/js/frappe/views/reports/query_report.js:295 #: frappe/public/js/frappe/widgets/widget_dialog.js:30 msgid "Add" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Add / Remove Columns" msgstr "" @@ -1091,11 +1091,11 @@ msgstr "" msgid "Add / Update" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:492 +#: frappe/core/page/permission_manager/permission_manager.js:493 msgid "Add A New Rule" msgstr "" -#: frappe/public/js/frappe/views/communication.js:592 +#: frappe/public/js/frappe/views/communication.js:653 #: frappe/public/js/frappe/views/interaction.js:159 msgid "Add Attachment" msgstr "" @@ -1115,11 +1115,15 @@ msgstr "" msgid "Add Border at Top" msgstr "" +#: frappe/public/js/frappe/views/communication.js:195 +msgid "Add CSS" +msgstr "" + #: frappe/desk/doctype/number_card/number_card.js:37 msgid "Add Card to Dashboard" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:210 +#: frappe/public/js/frappe/views/reports/query_report.js:211 msgid "Add Chart to Dashboard" msgstr "" @@ -1128,8 +1132,8 @@ msgid "Add Child" msgstr "" #: frappe/public/js/frappe/views/kanban/kanban_board.html:4 -#: frappe/public/js/frappe/views/reports/query_report.js:1862 -#: frappe/public/js/frappe/views/reports/query_report.js:1865 +#: frappe/public/js/frappe/views/reports/query_report.js:1911 +#: frappe/public/js/frappe/views/reports/query_report.js:1914 #: frappe/public/js/frappe/views/reports/report_view.js:354 #: frappe/public/js/frappe/views/reports/report_view.js:379 #: frappe/public/js/print_format_builder/Field.vue:112 @@ -1173,11 +1177,7 @@ msgstr "" msgid "Add Indexes" msgstr "" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Add Multiple" -msgstr "" - -#: frappe/core/page/permission_manager/permission_manager.js:495 +#: frappe/core/page/permission_manager/permission_manager.js:496 msgid "Add New Permission Rule" msgstr "" @@ -1190,17 +1190,13 @@ msgstr "" msgid "Add Query Parameters" msgstr "" -#: frappe/core/doctype/user/user.py:857 +#: frappe/core/doctype/user/user.py:860 msgid "Add Roles" msgstr "" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Add Row" -msgstr "" - #. Label of the add_signature (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json -#: frappe/public/js/frappe/views/communication.js:124 +#: frappe/public/js/frappe/views/communication.js:151 msgid "Add Signature" msgstr "" @@ -1219,16 +1215,16 @@ msgstr "" msgid "Add Subscribers" msgstr "" -#: frappe/public/js/frappe/list/bulk_operations.js:425 +#: frappe/public/js/frappe/list/bulk_operations.js:439 msgid "Add Tags" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2228 +#: frappe/public/js/frappe/list/list_view.js:2236 msgctxt "Button in list view actions menu" msgid "Add Tags" msgstr "" -#: frappe/public/js/frappe/views/communication.js:424 +#: frappe/public/js/frappe/views/communication.js:483 msgid "Add Template" msgstr "" @@ -1278,19 +1274,19 @@ msgstr "" msgid "Add a new section" msgstr "" -#: frappe/public/js/frappe/form/form.js:194 +#: frappe/public/js/frappe/form/form.js:195 msgid "Add a row above the current row" msgstr "" -#: frappe/public/js/frappe/form/form.js:206 +#: frappe/public/js/frappe/form/form.js:207 msgid "Add a row at the bottom" msgstr "" -#: frappe/public/js/frappe/form/form.js:202 +#: frappe/public/js/frappe/form/form.js:203 msgid "Add a row at the top" msgstr "" -#: frappe/public/js/frappe/form/form.js:198 +#: frappe/public/js/frappe/form/form.js:199 msgid "Add a row below the current row" msgstr "" @@ -1308,6 +1304,10 @@ msgstr "" msgid "Add field" msgstr "" +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Add multiple" +msgstr "" + #: frappe/public/js/form_builder/components/Sidebar.vue:46 #: frappe/public/js/form_builder/components/Tabs.vue:153 msgid "Add new tab" @@ -1321,6 +1321,10 @@ msgstr "" msgid "Add page break" msgstr "" +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Add row" +msgstr "" + #: frappe/custom/doctype/client_script/client_script.js:18 msgid "Add script for Child Table" msgstr "" @@ -1339,7 +1343,7 @@ msgid "Add tab" msgstr "" #: frappe/public/js/frappe/utils/dashboard_utils.js:269 -#: frappe/public/js/frappe/views/reports/query_report.js:252 +#: frappe/public/js/frappe/views/reports/query_report.js:253 msgid "Add to Dashboard" msgstr "" @@ -1379,8 +1383,8 @@ msgstr "" msgid "Added default log doctypes: {}" msgstr "" -#: frappe/public/js/frappe/form/link_selector.js:180 -#: frappe/public/js/frappe/form/link_selector.js:202 +#: frappe/public/js/frappe/form/link_selector.js:189 +#: frappe/public/js/frappe/form/link_selector.js:211 msgid "Added {0} ({1})" msgstr "" @@ -1470,7 +1474,7 @@ msgstr "" msgid "Adds a custom field to a DocType" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:596 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:566 msgid "Administration" msgstr "" @@ -1497,11 +1501,11 @@ msgstr "" msgid "Administrator" msgstr "" -#: frappe/core/doctype/user/user.py:1273 +#: frappe/core/doctype/user/user.py:1276 msgid "Administrator Logged In" msgstr "" -#: frappe/core/doctype/user/user.py:1267 +#: frappe/core/doctype/user/user.py:1270 msgid "Administrator accessed {0} on {1} via IP Address {2}." msgstr "" @@ -1522,8 +1526,8 @@ msgstr "" msgid "Advanced Control" msgstr "" -#: frappe/public/js/frappe/form/controls/link.js:485 -#: frappe/public/js/frappe/form/controls/link.js:487 +#: frappe/public/js/frappe/form/controls/link.js:499 +#: frappe/public/js/frappe/form/controls/link.js:501 msgid "Advanced Search" msgstr "" @@ -1604,7 +1608,7 @@ msgstr "" msgid "Alert" msgstr "" -#: frappe/database/query.py:2147 +#: frappe/database/query.py:2226 msgid "Alias must be a string" msgstr "" @@ -1628,6 +1632,15 @@ msgstr "" msgid "Align Value" msgstr "" +#. Label of the alignment (Select) field in DocType 'DocField' +#. Label of the alignment (Select) field in DocType 'Custom Field' +#. Label of the alignment (Select) field in DocType 'Customize Form Field' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json +msgid "Alignment" +msgstr "" + #. Name of a role #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -1660,7 +1673,7 @@ msgstr "" #. Label of the all_day (Check) field in DocType 'Event' #: frappe/desk/doctype/calendar_view/calendar_view.json #: frappe/desk/doctype/event/event.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:439 +#: frappe/public/js/frappe/ui/notifications/notifications.js:448 msgid "All Day" msgstr "" @@ -1672,11 +1685,11 @@ msgstr "" msgid "All Records" msgstr "" -#: frappe/public/js/frappe/form/form.js:2240 +#: frappe/public/js/frappe/form/form.js:2271 msgid "All Submissions" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:452 +#: frappe/custom/doctype/customize_form/customize_form.js:462 msgid "All customizations will be removed. Please confirm." msgstr "" @@ -1989,7 +2002,7 @@ msgstr "" msgid "Allowed embedding domains" msgstr "" -#: frappe/public/js/frappe/form/form.js:1268 +#: frappe/public/js/frappe/form/form.js:1297 msgid "Allowing DocType, DocType. Be careful!" msgstr "" @@ -2023,13 +2036,61 @@ msgstr "" msgid "Allows enabled Social Login Key Base URL to be shown as authorization server." msgstr "" +#: frappe/core/page/permission_manager/permission_manager_help.html:52 +msgid "Allows printing or PDF download of documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:77 +msgid "Allows sharing document access with other users." +msgstr "" + #. Description of the 'Skip Authorization' (Check) field in DocType 'OAuth #. Settings' #: frappe/integrations/doctype/oauth_settings/oauth_settings.json msgid "Allows skipping authorization if a user has active tokens." msgstr "" -#: frappe/core/doctype/user/user.py:1081 +#: frappe/core/page/permission_manager/permission_manager_help.html:62 +msgid "Allows the user to access reports related to the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:42 +msgid "Allows the user to create new documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:47 +msgid "Allows the user to delete documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:37 +msgid "Allows the user to edit existing records they have access to." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:57 +msgid "Allows the user to email from the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:67 +msgid "Allows the user to export data from the Report view." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:27 +msgid "Allows the user to search and see records." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:72 +msgid "Allows the user to use Data Import tool to create / update records." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:32 +msgid "Allows the user to view the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:82 +msgid "Allows users to enable the mask property for any field of the respective doctype." +msgstr "" + +#: frappe/core/doctype/user/user.py:1084 msgid "Already Registered" msgstr "" @@ -2124,7 +2185,7 @@ msgstr "" msgid "Amendment Naming Override" msgstr "" -#: frappe/model/document.py:586 +#: frappe/model/document.py:585 msgid "Amendment Not Allowed" msgstr "" @@ -2137,7 +2198,7 @@ msgstr "" msgid "An email to verify your request has been sent to your email address. Please verify your request to complete the process." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:257 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:242 msgid "An error occurred while setting Session Defaults" msgstr "" @@ -2188,7 +2249,7 @@ msgstr "" msgid "Anonymous responses" msgstr "" -#: frappe/public/js/frappe/request.js:189 +#: frappe/public/js/frappe/request.js:187 msgid "Another transaction is blocking this one. Please try again in a few seconds." msgstr "" @@ -2201,7 +2262,7 @@ msgstr "" msgid "Any string-based printer languages can be used. Writing raw commands requires knowledge of the printer's native language provided by the printer manufacturer. Please refer to the developer manual provided by the printer manufacturer on how to write their native commands. These commands are rendered on the server side using the Jinja Templating Language." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:36 +#: frappe/core/page/permission_manager/permission_manager_help.html:103 msgid "Apart from System Manager, roles with Set User Permissions right can set permissions for other users for that Document Type." msgstr "" @@ -2251,11 +2312,11 @@ msgstr "" msgid "App Name (Client Name)" msgstr "" -#: frappe/modules/utils.py:300 +#: frappe/modules/utils.py:343 msgid "App not found for module: {0}" msgstr "" -#: frappe/__init__.py:1112 +#: frappe/__init__.py:1110 msgid "App {0} is not installed" msgstr "" @@ -2329,7 +2390,7 @@ msgstr "" msgid "Apply" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2213 +#: frappe/public/js/frappe/list/list_view.js:2221 msgctxt "Button in list view actions menu" msgid "Apply Assignment Rule" msgstr "" @@ -2338,6 +2399,10 @@ msgstr "" msgid "Apply Filters" msgstr "" +#: frappe/custom/doctype/customize_form/customize_form.js:271 +msgid "Apply Module Export Filter" +msgstr "" + #. Label of the apply_strict_user_permissions (Check) field in DocType 'System #. Settings' #: frappe/core/doctype/system_settings/system_settings.json @@ -2377,7 +2442,7 @@ msgstr "" msgid "Apply to all Documents Types" msgstr "" -#: frappe/model/workflow.py:322 +#: frappe/model/workflow.py:343 msgid "Applying: {0}" msgstr "" @@ -2385,18 +2450,11 @@ msgstr "" msgid "Approval Required" msgstr "" -#. Label of a standard navbar item -#. Type: Route -#: frappe/hooks.py frappe/templates/includes/navbar/navbar_login.html:18 +#: frappe/templates/includes/navbar/navbar_login.html:18 #: frappe/website/js/website.js:619 msgid "Apps" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Apps with Search" -msgstr "" - #: frappe/public/js/frappe/utils/number_systems.js:41 msgctxt "Number system" msgid "Ar" @@ -2419,16 +2477,16 @@ msgstr "" msgid "Are you sure you want to cancel the invitation?" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2192 +#: frappe/public/js/frappe/list/list_view.js:2200 msgid "Are you sure you want to clear the assignments?" msgstr "" -#: frappe/public/js/frappe/form/grid.js:296 -msgid "Are you sure you want to delete all rows?" +#: frappe/public/js/frappe/form/grid.js:319 +msgid "Are you sure you want to delete all {0} rows?" msgstr "" #: frappe/public/js/frappe/form/controls/attach.js:38 -#: frappe/public/js/frappe/form/sidebar/attachments.js:169 +#: frappe/public/js/frappe/form/sidebar/attachments.js:135 msgid "Are you sure you want to delete the attachment?" msgstr "" @@ -2447,19 +2505,19 @@ msgctxt "Confirmation dialog message" msgid "Are you sure you want to delete the tab? All the sections along with fields in the tab will be moved to the previous tab." msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:203 +#: frappe/public/js/frappe/web_form/web_form.js:199 msgid "Are you sure you want to delete this record?" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:191 +#: frappe/public/js/frappe/web_form/web_form.js:187 msgid "Are you sure you want to discard the changes?" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:980 +#: frappe/public/js/frappe/views/reports/query_report.js:997 msgid "Are you sure you want to generate a new report?" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:131 +#: frappe/public/js/frappe/form/toolbar.js:130 msgid "Are you sure you want to merge {0} with {1}?" msgstr "" @@ -2479,7 +2537,7 @@ msgstr "" msgid "Are you sure you want to remove all failed jobs?" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:57 +#: frappe/public/js/frappe/list/list_filter.js:73 msgid "Are you sure you want to remove the {0} filter?" msgstr "" @@ -2528,7 +2586,7 @@ msgstr "" msgid "Ask" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:68 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:89 msgid "Assign" msgstr "" @@ -2541,7 +2599,7 @@ msgstr "" msgid "Assign To" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2174 +#: frappe/public/js/frappe/list/list_view.js:2182 msgctxt "Button in list view actions menu" msgid "Assign To" msgstr "" @@ -2680,7 +2738,7 @@ msgstr "" msgid "Asynchronous" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:696 +#: frappe/public/js/frappe/form/grid_row.js:698 msgid "At least one column is required to show in the grid." msgstr "" @@ -2705,7 +2763,7 @@ msgstr "" msgid "Attach" msgstr "" -#: frappe/public/js/frappe/views/communication.js:146 +#: frappe/public/js/frappe/views/communication.js:173 msgid "Attach Document Print" msgstr "" @@ -2803,19 +2861,26 @@ msgstr "" #. Label of the attachments (Code) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:83 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:104 #: frappe/website/doctype/web_form/templates/web_form.html:113 msgid "Attachments" msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:119 +#: frappe/public/js/frappe/form/print_utils.js:132 msgid "Attempting Connection to QZ Tray..." msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:135 +#: frappe/public/js/frappe/form/print_utils.js:148 msgid "Attempting to launch QZ Tray..." msgstr "" +#. Label of the attending (Select) field in DocType 'Event' +#. Label of the attending (Select) field in DocType 'Event Participants' +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json +msgid "Attending" +msgstr "" + #: frappe/www/attribution.html:9 msgid "Attribution" msgstr "" @@ -3140,11 +3205,6 @@ msgstr "" msgid "Awesome, now try making an entry yourself" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Awesomebar" -msgstr "" - #: frappe/public/js/frappe/utils/number_systems.js:9 msgctxt "Number system" msgid "B" @@ -3250,17 +3310,12 @@ msgstr "" msgid "Background Image" msgstr "" -#. Label of a chart in the System Workspace -#: frappe/core/workspace/system/system.json -msgid "Background Job Activity" -msgstr "" - #. Label of a Link in the Build Workspace #. Label of the background_jobs_section (Section Break) field in DocType #. 'System Health Report' #: frappe/core/workspace/build/build.json #: frappe/desk/doctype/system_health_report/system_health_report.json -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:289 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:333 msgid "Background Jobs" msgstr "" @@ -3373,8 +3428,8 @@ msgstr "" #. Label of the based_on (Link) field in DocType 'Language' #: frappe/core/doctype/language/language.json -#: frappe/printing/page/print/print.js:305 -#: frappe/printing/page/print/print.js:359 +#: frappe/printing/page/print/print.js:313 +#: frappe/printing/page/print/print.js:367 msgid "Based On" msgstr "" @@ -3398,6 +3453,8 @@ msgstr "" msgid "Basic Info" msgstr "" +#. Label of the before (Int) field in DocType 'Event Notifications' +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/public/js/frappe/ui/filters/filter.js:63 #: frappe/public/js/frappe/ui/filters/filter.js:69 msgid "Before" @@ -3467,7 +3524,7 @@ msgstr "" msgid "Beta" msgstr "" -#: frappe/core/doctype/user/user.py:1290 frappe/utils/password_strength.py:73 +#: frappe/core/doctype/user/user.py:1293 frappe/utils/password_strength.py:73 msgid "Better add a few more letters or another word" msgstr "" @@ -3595,18 +3652,11 @@ msgstr "" msgid "Brand Image" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' #. Label of the brand_logo (Attach Image) field in DocType 'Email Account' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json #: frappe/email/doctype/email_account/email_account.json msgid "Brand Logo" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Brand Logo with Search" -msgstr "" - #. Description of the 'Brand HTML' (Code) field in DocType 'Website Settings' #: frappe/website/doctype/website_settings/website_settings.json msgid "" @@ -3678,7 +3728,7 @@ msgstr "" msgid "Bulk Edit" msgstr "" -#: frappe/public/js/frappe/form/grid.js:1211 +#: frappe/public/js/frappe/form/grid.js:1248 msgid "Bulk Edit {0}" msgstr "" @@ -3699,7 +3749,7 @@ msgstr "" msgid "Bulk Update" msgstr "" -#: frappe/model/workflow.py:310 +#: frappe/model/workflow.py:331 msgid "Bulk approval only support up to 500 documents." msgstr "" @@ -3711,7 +3761,7 @@ msgstr "" msgid "Bulk operations only support up to 500 documents." msgstr "" -#: frappe/model/workflow.py:299 +#: frappe/model/workflow.py:320 msgid "Bulk {0} is enqueued in background." msgstr "" @@ -3860,7 +3910,7 @@ msgstr "" msgid "Cache Cleared" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:248 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:255 msgid "Calculate" msgstr "" @@ -3910,12 +3960,12 @@ msgid "Callback Title" msgstr "" #: frappe/public/js/frappe/file_uploader/FileUploader.vue:150 -#: frappe/public/js/frappe/ui/capture.js:334 +#: frappe/public/js/frappe/ui/capture.js:335 msgid "Camera" msgstr "" #. Label of the campaign (Data) field in DocType 'Web Page View' -#: frappe/public/js/frappe/utils/utils.js:1881 +#: frappe/public/js/frappe/utils/utils.js:2012 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/report/website_analytics/website_analytics.js:39 msgid "Campaign" @@ -3927,11 +3977,11 @@ msgstr "" msgid "Campaign Description (Optional)" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:411 +#: frappe/custom/doctype/custom_field/custom_field.py:412 msgid "Can not rename as column {0} is already present on DocType." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1178 +#: frappe/core/doctype/doctype/doctype.py:1181 msgid "Can only change to/from Autoincrement naming rule when there is no data in the doctype" msgstr "" @@ -3963,7 +4013,7 @@ msgstr "" msgid "Cancel" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2283 +#: frappe/public/js/frappe/list/list_view.js:2291 msgctxt "Button in list view actions menu" msgid "Cancel" msgstr "" @@ -3973,11 +4023,11 @@ msgctxt "Secondary button in warning dialog" msgid "Cancel" msgstr "" -#: frappe/public/js/frappe/form/form.js:982 +#: frappe/public/js/frappe/form/form.js:1011 msgid "Cancel All" msgstr "" -#: frappe/public/js/frappe/form/form.js:969 +#: frappe/public/js/frappe/form/form.js:998 msgid "Cancel All Documents" msgstr "" @@ -3989,7 +4039,7 @@ msgstr "" msgid "Cancel Prepared Report" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2288 +#: frappe/public/js/frappe/list/list_view.js:2296 msgctxt "Title of confirmation dialog" msgid "Cancel {0} documents?" msgstr "" @@ -4022,7 +4072,7 @@ msgstr "" msgid "Cancelling documents" msgstr "" -#: frappe/desk/doctype/bulk_update/bulk_update.py:91 +#: frappe/desk/doctype/bulk_update/bulk_update.py:92 msgid "Cancelling {0}" msgstr "" @@ -4030,7 +4080,7 @@ msgstr "" msgid "Cannot Download Report due to insufficient permissions" msgstr "" -#: frappe/client.py:455 +#: frappe/client.py:504 msgid "Cannot Fetch Values" msgstr "" @@ -4038,7 +4088,7 @@ msgstr "" msgid "Cannot Remove" msgstr "" -#: frappe/model/base_document.py:1266 +#: frappe/model/base_document.py:1283 msgid "Cannot Update After Submit" msgstr "" @@ -4058,11 +4108,11 @@ msgstr "" msgid "Cannot cancel {0}." msgstr "" -#: frappe/model/document.py:1062 +#: frappe/model/document.py:1061 msgid "Cannot change docstatus from 0 (Draft) to 2 (Cancelled)" msgstr "" -#: frappe/model/document.py:1076 +#: frappe/model/document.py:1075 msgid "Cannot change docstatus from 1 (Submitted) to 0 (Draft)" msgstr "" @@ -4074,7 +4124,7 @@ msgstr "" msgid "Cannot change state of Cancelled Document. Transition row {0}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1168 +#: frappe/core/doctype/doctype/doctype.py:1171 msgid "Cannot change to/from autoincrement autoname in Customize Form" msgstr "" @@ -4082,10 +4132,14 @@ msgstr "" msgid "Cannot create a {0} against a child document: {1}" msgstr "" -#: frappe/desk/doctype/workspace/workspace.py:303 +#: frappe/desk/doctype/workspace/workspace.py:282 msgid "Cannot create private workspace of other users" msgstr "" +#: frappe/desk/doctype/desktop_icon/desktop_icon.py:54 +msgid "Cannot delete Desktop Icon '{0}' as it is restricted" +msgstr "" + #: frappe/core/doctype/file/file.py:175 msgid "Cannot delete Home and Attachments folders" msgstr "" @@ -4094,15 +4148,15 @@ msgstr "" msgid "Cannot delete or cancel because {0} {1} is linked with {2} {3} {4}" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:369 +#: frappe/custom/doctype/customize_form/customize_form.js:379 msgid "Cannot delete standard action. You can hide it if you want" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:391 +#: frappe/custom/doctype/customize_form/customize_form.js:401 msgid "Cannot delete standard document state." msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:321 +#: frappe/custom/doctype/customize_form/customize_form.js:331 msgid "Cannot delete standard field {0}. You can hide it instead." msgstr "" @@ -4113,11 +4167,11 @@ msgstr "" msgid "Cannot delete standard field. You can hide it if you want" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:347 +#: frappe/custom/doctype/customize_form/customize_form.js:357 msgid "Cannot delete standard link. You can hide it if you want" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:313 +#: frappe/custom/doctype/customize_form/customize_form.js:323 msgid "Cannot delete system generated field {0}. You can hide it instead." msgstr "" @@ -4145,7 +4199,7 @@ msgstr "" msgid "Cannot edit a standard report. Please duplicate and create a new report" msgstr "" -#: frappe/model/document.py:1082 +#: frappe/model/document.py:1081 msgid "Cannot edit cancelled document" msgstr "" @@ -4158,7 +4212,7 @@ msgstr "" msgid "Cannot edit filters for standard number cards" msgstr "" -#: frappe/client.py:170 +#: frappe/client.py:176 msgid "Cannot edit standard fields" msgstr "" @@ -4174,15 +4228,15 @@ msgstr "" msgid "Cannot get file contents of a Folder" msgstr "" -#: frappe/printing/page/print/print.js:909 +#: frappe/printing/page/print/print.js:923 msgid "Cannot have multiple printers mapped to a single print format." msgstr "" -#: frappe/public/js/frappe/form/grid.js:1155 +#: frappe/public/js/frappe/form/grid.js:1192 msgid "Cannot import table with more than 5000 rows." msgstr "" -#: frappe/model/document.py:1150 +#: frappe/model/document.py:1149 msgid "Cannot link cancelled document: {0}" msgstr "" @@ -4194,7 +4248,7 @@ msgstr "" msgid "Cannot match column {0} with any field" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:176 +#: frappe/public/js/frappe/form/grid_row.js:178 msgid "Cannot move row" msgstr "" @@ -4219,7 +4273,7 @@ msgid "Cannot submit {0}." msgstr "" #: frappe/desk/doctype/bulk_update/bulk_update.js:26 -#: frappe/public/js/frappe/list/bulk_operations.js:366 +#: frappe/public/js/frappe/list/bulk_operations.js:378 msgid "Cannot update {0}" msgstr "" @@ -4239,7 +4293,7 @@ msgstr "" msgid "Capitalization doesn't help very much." msgstr "" -#: frappe/public/js/frappe/ui/capture.js:294 +#: frappe/public/js/frappe/ui/capture.js:295 msgid "Capture" msgstr "" @@ -4253,7 +4307,7 @@ msgstr "" msgid "Card Break" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:262 +#: frappe/public/js/frappe/views/reports/query_report.js:263 msgid "Card Label" msgstr "" @@ -4282,17 +4336,19 @@ msgstr "" msgid "Category Name" msgstr "" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json msgid "Center" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:16 -msgid "Certain documents, like an Invoice, should not be changed once final. The final state for such documents is called Submitted. You can restrict which roles can Submit." -msgstr "" - #: frappe/public/js/frappe/form/templates/form_sidebar.html:11 #: frappe/tests/test_translate.py:111 msgid "Change" @@ -4382,7 +4438,7 @@ msgstr "" #. Label of the chart_name (Link) field in DocType 'Workspace Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/workspace_chart/workspace_chart.json -#: frappe/public/js/frappe/views/reports/query_report.js:289 +#: frappe/public/js/frappe/views/reports/query_report.js:290 #: frappe/public/js/frappe/widgets/widget_dialog.js:137 msgid "Chart Name" msgstr "" @@ -4447,6 +4503,12 @@ msgstr "" msgid "Check the Error Log for more information: {0}" msgstr "" +#. Description of the 'Evaluate as Expression' (Check) field in DocType +#. 'Workflow Document State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Check this if the Update Value is a formula or expression (e.g. doc.amount * 2). Leave unchecked for plain text values." +msgstr "" + #: frappe/website/doctype/website_settings/website_settings.js:147 msgid "Check this if you don't want users to sign up for an account on your site. Users won't get desk access unless you explicitly provide it." msgstr "" @@ -4498,7 +4560,7 @@ msgstr "" msgid "Child Item" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1661 +#: frappe/core/doctype/doctype/doctype.py:1675 msgid "Child Table {0} for field {1} must be virtual" msgstr "" @@ -4508,7 +4570,7 @@ msgstr "" msgid "Child Tables are shown as a Grid in other DocTypes" msgstr "" -#: frappe/database/query.py:1062 +#: frappe/database/query.py:1105 msgid "Child query fields for '{0}' must be a list or tuple." msgstr "" @@ -4516,7 +4578,7 @@ msgstr "" msgid "Choose Existing Card or create New Card" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:616 +#: frappe/public/js/frappe/views/workspace/workspace.js:665 msgid "Choose a block or continue typing" msgstr "" @@ -4536,10 +4598,6 @@ msgstr "" msgid "Choose authentication method to be used by all users" msgstr "" -#: frappe/utils/pdf_generator/chrome_pdf_generator.py:94 -msgid "Chromium is not downloaded. Please run the setup first." -msgstr "" - #. Label of the city (Data) field in DocType 'Contact Us Settings' #: frappe/contacts/report/addresses_and_contacts/addresses_and_contacts.py:39 #: frappe/website/doctype/contact_us_settings/contact_us_settings.json @@ -4556,11 +4614,11 @@ msgstr "" msgid "Clear" msgstr "" -#: frappe/public/js/frappe/views/communication.js:429 +#: frappe/public/js/frappe/views/communication.js:488 msgid "Clear & Add Template" msgstr "" -#: frappe/public/js/frappe/views/communication.js:105 +#: frappe/public/js/frappe/views/communication.js:112 msgid "Clear & Add template" msgstr "" @@ -4568,7 +4626,7 @@ msgstr "" msgid "Clear All" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2189 +#: frappe/public/js/frappe/list/list_view.js:2197 msgctxt "Button in list view actions menu" msgid "Clear Assignment" msgstr "" @@ -4594,7 +4652,7 @@ msgstr "" msgid "Clear User Permissions" msgstr "" -#: frappe/public/js/frappe/views/communication.js:430 +#: frappe/public/js/frappe/views/communication.js:489 msgid "Clear the email message and add the template" msgstr "" @@ -4662,7 +4720,7 @@ msgstr "" msgid "Click to Set Filters" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:742 +#: frappe/public/js/frappe/list/list_view.js:745 msgid "Click to sort by {0}" msgstr "" @@ -4770,7 +4828,7 @@ msgstr "" #: frappe/desk/doctype/todo/todo.js:23 #: frappe/public/js/frappe/form/form_tour.js:17 #: frappe/public/js/frappe/ui/messages.js:251 -#: frappe/public/js/frappe/ui/notifications/notifications.js:56 +#: frappe/public/js/frappe/ui/notifications/notifications.js:63 #: frappe/website/js/bootstrap-4.js:24 msgid "Close" msgstr "" @@ -4780,7 +4838,7 @@ msgstr "" msgid "Close Condition" msgstr "" -#: frappe/public/js/form_builder/components/FieldProperties.vue:79 +#: frappe/public/js/form_builder/components/FieldProperties.vue:96 msgid "Close properties" msgstr "" @@ -4836,12 +4894,12 @@ msgstr "" msgid "Collapse" msgstr "" -#: frappe/public/js/frappe/form/controls/code.js:185 +#: frappe/public/js/frappe/form/controls/code.js:190 msgctxt "Shrink code field." msgid "Collapse" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 #: frappe/public/js/frappe/views/treeview.js:123 msgid "Collapse All" msgstr "" @@ -4898,7 +4956,7 @@ msgstr "" #: frappe/desk/doctype/number_card/number_card.json #: frappe/desk/doctype/todo/todo.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/views/reports/query_report.js:1263 +#: frappe/public/js/frappe/views/reports/query_report.js:1280 #: frappe/public/js/frappe/widgets/widget_dialog.js:546 #: frappe/public/js/frappe/widgets/widget_dialog.js:694 #: frappe/website/doctype/color/color.json @@ -4909,7 +4967,7 @@ msgstr "" #. Label of the column (Data) field in DocType 'Recorder Suggested Index' #: frappe/core/doctype/recorder_suggested_index/recorder_suggested_index.json -#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:7 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:13 #: frappe/public/js/form_builder/components/Section.vue:270 #: frappe/public/js/print_format_builder/ConfigureColumns.vue:8 msgid "Column" @@ -4954,11 +5012,11 @@ msgstr "" msgid "Column Name cannot be empty" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Column Width" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:661 +#: frappe/public/js/frappe/form/grid_row.js:663 msgid "Column width cannot be zero." msgstr "" @@ -5001,7 +5059,7 @@ msgstr "" #. Name of a DocType #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json -#: frappe/core/doctype/version/version_view.html:3 +#: frappe/core/doctype/version/version_view.html:52 #: frappe/public/js/frappe/form/controls/comment.js:9 #: frappe/public/js/frappe/form/sidebar/assign_to.js:240 #: frappe/templates/includes/comments/comments.html:34 @@ -5148,12 +5206,12 @@ msgstr "" msgid "Complete By" msgstr "" -#: frappe/core/doctype/user/user.py:517 +#: frappe/core/doctype/user/user.py:520 #: frappe/templates/emails/new_user.html:10 msgid "Complete Registration" msgstr "" -#: frappe/public/js/frappe/ui/slides.js:355 +#: frappe/public/js/frappe/ui/slides.js:369 msgctxt "Finish the setup wizard" msgid "Complete Setup" msgstr "" @@ -5168,7 +5226,7 @@ msgstr "" #: frappe/core/doctype/prepared_report/prepared_report.json #: frappe/desk/doctype/event/event.json #: frappe/integrations/doctype/integration_request/integration_request.json -#: frappe/utils/goal.py:129 +#: frappe/utils/goal.py:128 #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Completed" msgstr "" @@ -5259,7 +5317,7 @@ msgstr "" msgid "Configure Chart" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:406 +#: frappe/public/js/frappe/form/grid_row.js:408 msgid "Configure Columns" msgstr "" @@ -5351,8 +5409,8 @@ msgstr "" msgid "Connected User" msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:125 -#: frappe/public/js/frappe/form/print_utils.js:149 +#: frappe/public/js/frappe/form/print_utils.js:138 +#: frappe/public/js/frappe/form/print_utils.js:162 msgid "Connected to QZ Tray!" msgstr "" @@ -5470,7 +5528,7 @@ msgstr "" #. Label of the content (Data) field in DocType 'Web Page View' #: frappe/core/doctype/comment/comment.json frappe/desk/doctype/note/note.json #: frappe/desk/doctype/workspace/workspace.json -#: frappe/public/js/frappe/utils/utils.js:1897 +#: frappe/public/js/frappe/utils/utils.js:2028 #: frappe/website/doctype/help_article/help_article.json #: frappe/website/doctype/web_page/web_page.json #: frappe/website/doctype/web_page_view/web_page_view.json @@ -5539,11 +5597,11 @@ msgstr "" msgid "Controls whether new users can sign up using this Social Login Key. If unset, Website Settings is respected." msgstr "" -#: frappe/public/js/frappe/utils/utils.js:1077 +#: frappe/public/js/frappe/utils/utils.js:1085 msgid "Copied to clipboard." msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2487 +#: frappe/public/js/frappe/list/list_view.js:2515 msgid "Copied {0} {1} to clipboard" msgstr "" @@ -5555,12 +5613,12 @@ msgstr "" msgid "Copy embed code" msgstr "" -#: frappe/public/js/frappe/request.js:621 +#: frappe/public/js/frappe/request.js:619 msgid "Copy error to clipboard" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:540 -#: frappe/public/js/frappe/list/list_view.js:2371 +#: frappe/public/js/frappe/form/toolbar.js:543 +#: frappe/public/js/frappe/list/list_view.js:2399 msgid "Copy to Clipboard" msgstr "" @@ -5581,7 +5639,7 @@ msgstr "" msgid "Core Modules {0} cannot be searched in Global Search." msgstr "" -#: frappe/printing/page/print/print.js:679 +#: frappe/printing/page/print/print.js:687 msgid "Correct version :" msgstr "" @@ -5589,7 +5647,7 @@ msgstr "" msgid "Could not connect to outgoing email server" msgstr "" -#: frappe/model/document.py:1146 +#: frappe/model/document.py:1145 msgid "Could not find {0}" msgstr "" @@ -5597,11 +5655,11 @@ msgstr "" msgid "Could not map column {0} to field {1}" msgstr "" -#: frappe/database/query.py:960 +#: frappe/database/query.py:1003 msgid "Could not parse field: {0}" msgstr "" -#: frappe/utils/pdf_generator/chrome_pdf_generator.py:199 +#: frappe/utils/pdf_generator/chrome_pdf_generator.py:165 msgid "Could not start Chromium. Check logs for details." msgstr "" @@ -5609,7 +5667,7 @@ msgstr "" msgid "Could not start up:" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:383 +#: frappe/public/js/frappe/web_form/web_form.js:379 msgid "Couldn't save, please check the data you have entered" msgstr "" @@ -5661,7 +5719,7 @@ msgstr "" msgid "Country" msgstr "" -#: frappe/utils/__init__.py:132 +#: frappe/utils/__init__.py:123 msgid "Country Code Required" msgstr "" @@ -5688,15 +5746,16 @@ msgstr "" #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:41 #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.js:15 #: frappe/desk/doctype/desktop_icon/desktop_icon.js:28 #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:46 #: frappe/public/js/frappe/form/reminders.js:49 -#: frappe/public/js/frappe/list/list_filter.js:103 +#: frappe/public/js/frappe/list/list_filter.js:120 #: frappe/public/js/frappe/views/file/file_view.js:112 #: frappe/public/js/frappe/views/interaction.js:18 -#: frappe/public/js/frappe/views/reports/query_report.js:1295 -#: frappe/public/js/frappe/views/workspace/workspace.js:483 +#: frappe/public/js/frappe/views/reports/query_report.js:1312 +#: frappe/public/js/frappe/views/workspace/workspace.js:531 #: frappe/workflow/page/workflow_builder/workflow_builder.js:46 msgid "Create" msgstr "" @@ -5709,13 +5768,13 @@ msgstr "" msgid "Create Address" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:187 -#: frappe/public/js/frappe/views/reports/query_report.js:232 +#: frappe/public/js/frappe/views/reports/query_report.js:188 +#: frappe/public/js/frappe/views/reports/query_report.js:233 msgid "Create Card" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:285 -#: frappe/public/js/frappe/views/reports/query_report.js:1222 +#: frappe/public/js/frappe/views/reports/query_report.js:286 +#: frappe/public/js/frappe/views/reports/query_report.js:1239 msgid "Create Chart" msgstr "" @@ -5749,7 +5808,7 @@ msgstr "" msgid "Create New" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:515 +#: frappe/public/js/frappe/list/list_view.js:518 msgctxt "Create a new document from list view" msgid "Create New" msgstr "" @@ -5762,7 +5821,7 @@ msgstr "" msgid "Create New Kanban Board" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:101 +#: frappe/public/js/frappe/list/list_filter.js:118 msgid "Create Saved Filter" msgstr "" @@ -5778,18 +5837,18 @@ msgstr "" msgid "Create a Reminder" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:581 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:551 msgid "Create a new ..." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:218 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:225 msgid "Create a new record" msgstr "" -#: frappe/public/js/frappe/form/controls/link.js:461 -#: frappe/public/js/frappe/form/controls/link.js:463 -#: frappe/public/js/frappe/form/link_selector.js:139 -#: frappe/public/js/frappe/list/list_view.js:507 +#: frappe/public/js/frappe/form/controls/link.js:475 +#: frappe/public/js/frappe/form/controls/link.js:477 +#: frappe/public/js/frappe/form/link_selector.js:147 +#: frappe/public/js/frappe/list/list_view.js:510 #: frappe/public/js/frappe/web_form/web_form_list.js:226 msgid "Create a new {0}" msgstr "" @@ -5806,7 +5865,7 @@ msgstr "" msgid "Create or Edit Workflow" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:510 +#: frappe/public/js/frappe/list/list_view.js:513 msgid "Create your first {0}" msgstr "" @@ -5832,6 +5891,14 @@ msgstr "" msgid "Created By" msgstr "" +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:174 +msgid "Created By You" +msgstr "" + +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:175 +msgid "Created By {0}" +msgstr "" + #: frappe/workflow/doctype/workflow/workflow.py:65 msgid "Created Custom Field {0} in {1}" msgstr "" @@ -6036,15 +6103,15 @@ msgstr "" msgid "Custom Field" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:221 +#: frappe/custom/doctype/custom_field/custom_field.py:222 msgid "Custom Field {0} is created by the Administrator and can only be deleted through the Administrator account." msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:278 +#: frappe/custom/doctype/custom_field/custom_field.py:279 msgid "Custom Fields can only be added to a standard DocType." msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:275 +#: frappe/custom/doctype/custom_field/custom_field.py:276 msgid "Custom Fields cannot be added to core DocTypes." msgstr "" @@ -6070,7 +6137,7 @@ msgid "Custom Group Search if filled needs to contain the user placeholder {0}, msgstr "" #: frappe/printing/page/print_format_builder/print_format_builder.js:190 -#: frappe/printing/page/print_format_builder/print_format_builder.js:728 +#: frappe/printing/page/print_format_builder/print_format_builder.js:762 #: frappe/public/js/print_format_builder/PrintFormatControls.vue:162 msgid "Custom HTML" msgstr "" @@ -6141,11 +6208,11 @@ msgstr "" msgid "Custom Translation" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:424 +#: frappe/custom/doctype/custom_field/custom_field.py:425 msgid "Custom field renamed to {0} successfully." msgstr "" -#: frappe/api/v2.py:148 +#: frappe/api/v2.py:172 msgid "Custom get_list method for {0} must return a QueryBuilder object or None, got {1}" msgstr "" @@ -6168,26 +6235,26 @@ msgstr "" msgid "Customization" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:372 +#: frappe/public/js/frappe/views/workspace/workspace.js:420 msgid "Customizations Discarded" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:465 +#: frappe/custom/doctype/customize_form/customize_form.js:475 msgid "Customizations Reset" msgstr "" -#: frappe/modules/utils.py:99 +#: frappe/modules/utils.py:121 msgid "Customizations for {0} exported to:
{1}" msgstr "" -#: frappe/printing/page/print/print.js:185 +#: frappe/printing/page/print/print.js:193 #: frappe/public/js/frappe/form/templates/print_layout.html:39 -#: frappe/public/js/frappe/form/toolbar.js:633 +#: frappe/public/js/frappe/form/toolbar.js:636 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:197 msgid "Customize" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1950 +#: frappe/public/js/frappe/list/list_view.js:1958 msgctxt "Button in list view menu" msgid "Customize" msgstr "" @@ -6284,7 +6351,7 @@ msgstr "" msgid "Daily Event Digest is sent for Calendar Events where reminders are set." msgstr "" -#: frappe/desk/doctype/event/event.py:104 +#: frappe/desk/doctype/event/event.py:109 msgid "Daily Events should finish on the Same Day." msgstr "" @@ -6341,8 +6408,8 @@ msgstr "" #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:606 -#: frappe/public/js/frappe/utils/utils.js:976 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:576 +#: frappe/public/js/frappe/utils/utils.js:959 msgid "Dashboard" msgstr "" @@ -6592,7 +6659,7 @@ msgstr "" msgid "Days Before or After" msgstr "" -#: frappe/public/js/frappe/request.js:252 +#: frappe/public/js/frappe/request.js:250 msgid "Deadlock Occurred" msgstr "" @@ -6789,11 +6856,11 @@ msgstr "" msgid "Default display currency" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1391 +#: frappe/core/doctype/doctype/doctype.py:1405 msgid "Default for 'Check' type of field {0} must be either '0' or '1'" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1404 +#: frappe/core/doctype/doctype/doctype.py:1418 msgid "Default value for {0} must be in the list of options." msgstr "" @@ -6850,11 +6917,12 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_permission/user_permission_list.js:189 +#: frappe/core/page/permission_manager/permission_manager_help.html:46 #: frappe/public/js/frappe/form/footer/form_timeline.js:627 #: frappe/public/js/frappe/form/grid.js:66 #: frappe/public/js/frappe/form/grid_row_form.js:44 -#: frappe/public/js/frappe/form/toolbar.js:497 -#: frappe/public/js/frappe/views/reports/report_view.js:1753 +#: frappe/public/js/frappe/form/toolbar.js:500 +#: frappe/public/js/frappe/views/reports/report_view.js:1754 #: frappe/public/js/frappe/views/treeview.js:329 #: frappe/public/js/frappe/web_form/web_form_list.js:283 #: frappe/templates/discussions/reply_card.html:35 @@ -6862,7 +6930,7 @@ msgstr "" msgid "Delete" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2251 +#: frappe/public/js/frappe/list/list_view.js:2259 msgctxt "Button in list view actions menu" msgid "Delete" msgstr "" @@ -6876,10 +6944,6 @@ msgstr "" msgid "Delete Account" msgstr "" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Delete All" -msgstr "" - #. Label of the delete_background_exported_reports_after (Int) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json @@ -6909,7 +6973,15 @@ msgctxt "Title of confirmation dialog" msgid "Delete Tab" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:947 +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Delete all" +msgstr "" + +#: frappe/public/js/frappe/form/grid.js:367 +msgid "Delete all {0} rows" +msgstr "" + +#: frappe/public/js/frappe/views/reports/query_report.js:964 msgid "Delete and Generate New" msgstr "" @@ -6937,6 +7009,10 @@ msgctxt "Button text" msgid "Delete entire tab with fields" msgstr "" +#: frappe/public/js/frappe/form/grid.js:237 +msgid "Delete row" +msgstr "" + #: frappe/public/js/form_builder/components/Section.vue:132 msgctxt "Button text" msgid "Delete section" @@ -6951,16 +7027,20 @@ msgstr "" msgid "Delete this record to allow sending to this email address" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2256 +#: frappe/public/js/frappe/list/list_view.js:2264 msgctxt "Title of confirmation dialog" msgid "Delete {0} item permanently?" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2262 +#: frappe/public/js/frappe/list/list_view.js:2270 msgctxt "Title of confirmation dialog" msgid "Delete {0} items permanently?" msgstr "" +#: frappe/public/js/frappe/form/grid.js:240 +msgid "Delete {0} rows" +msgstr "" + #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' @@ -6991,7 +7071,7 @@ msgstr "" msgid "Deleted all documents successfully" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:211 +#: frappe/public/js/frappe/web_form/web_form.js:207 msgid "Deleted!" msgstr "" @@ -7098,6 +7178,7 @@ msgstr "" #: frappe/automation/doctype/reminder/reminder.json #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/doctype/doctype.json +#: frappe/core/page/permission_manager/permission_manager_help.html:20 #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/event/event.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -7180,16 +7261,21 @@ msgstr "" msgid "Desk User" msgstr "" -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:21 #: frappe/www/me.html:86 msgid "Desktop" msgstr "" #. Name of a DocType #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:571 msgid "Desktop Icon" msgstr "" +#. Name of a DocType +#: frappe/desk/doctype/desktop_layout/desktop_layout.json +msgid "Desktop Layout" +msgstr "" + #. Name of a DocType #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Desktop Settings" @@ -7219,11 +7305,11 @@ msgstr "" msgid "Detect CSV type" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:544 +#: frappe/core/page/permission_manager/permission_manager.js:545 msgid "Did not add" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:438 +#: frappe/core/page/permission_manager/permission_manager.js:439 msgid "Did not remove" msgstr "" @@ -7371,10 +7457,11 @@ msgstr "" msgid "Disabled Auto Reply" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:371 +#: frappe/desk/page/desktop/desktop.html:62 +#: frappe/public/js/frappe/form/toolbar.js:392 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:71 -#: frappe/public/js/frappe/views/workspace/workspace.js:365 -#: frappe/public/js/frappe/web_form/web_form.js:193 +#: frappe/public/js/frappe/views/workspace/workspace.js:413 +#: frappe/public/js/frappe/web_form/web_form.js:189 msgid "Discard" msgstr "" @@ -7388,11 +7475,11 @@ msgctxt "Discard Email" msgid "Discard" msgstr "" -#: frappe/public/js/frappe/form/form.js:851 +#: frappe/public/js/frappe/form/form.js:880 msgid "Discard {0}" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:190 +#: frappe/public/js/frappe/web_form/web_form.js:186 msgid "Discard?" msgstr "" @@ -7466,11 +7553,11 @@ msgstr "" msgid "Do not create new user if user with email does not exist in the system" msgstr "" -#: frappe/public/js/frappe/form/grid.js:1216 +#: frappe/public/js/frappe/form/grid.js:1253 msgid "Do not edit headers which are preset in the template" msgstr "" -#: frappe/public/js/frappe/router.js:624 +#: frappe/public/js/frappe/router.js:629 msgid "Do not warn me again about {0}" msgstr "" @@ -7478,7 +7565,7 @@ msgstr "" msgid "Do you still want to proceed?" msgstr "" -#: frappe/public/js/frappe/form/form.js:961 +#: frappe/public/js/frappe/form/form.js:990 msgid "Do you want to cancel all linked documents?" msgstr "" @@ -7534,7 +7621,6 @@ msgstr "" #. Label of the dt (Link) field in DocType 'Custom Field' #. Option for the 'Applied On' (Select) field in DocType 'Property Setter' #. Label of the doc_type (Link) field in DocType 'Property Setter' -#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Option for the 'Link Type' (Select) field in DocType 'Workspace' #. Option for the 'Link Type' (Select) field in DocType 'Workspace Link' #. Label of the document_type (Link) field in DocType 'Workspace Quick List' @@ -7557,7 +7643,6 @@ msgstr "" #: frappe/custom/doctype/client_script/client_script.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/property_setter/property_setter.json -#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_quick_list/workspace_quick_list.json @@ -7570,7 +7655,7 @@ msgstr "" msgid "DocType" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1592 +#: frappe/core/doctype/doctype/doctype.py:1606 msgid "DocType {0} provided for the field {1} must have atleast one Link field" msgstr "" @@ -7638,10 +7723,6 @@ msgstr "" msgid "DocType must be Submittable for the selected Doc Event" msgstr "" -#: frappe/client.py:406 -msgid "DocType must be a string" -msgstr "" - #: frappe/public/js/form_builder/store.js:154 msgid "DocType must have atleast one field" msgstr "" @@ -7659,15 +7740,15 @@ msgstr "" msgid "DocType required" msgstr "" -#: frappe/modules/utils.py:178 +#: frappe/modules/utils.py:218 msgid "DocType {0} does not exist." msgstr "" -#: frappe/modules/utils.py:245 +#: frappe/modules/utils.py:288 msgid "DocType {} not found" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1043 +#: frappe/core/doctype/doctype/doctype.py:1046 msgid "DocType's name should not start or end with whitespace" msgstr "" @@ -7681,7 +7762,7 @@ msgstr "" msgid "Doctype" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1037 +#: frappe/core/doctype/doctype/doctype.py:1040 msgid "Doctype name is limited to {0} characters ({1})" msgstr "" @@ -7743,19 +7824,19 @@ msgstr "" msgid "Document Links" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1226 +#: frappe/core/doctype/doctype/doctype.py:1229 msgid "Document Links Row #{0}: Could not find field {1} in {2} DocType" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1246 +#: frappe/core/doctype/doctype/doctype.py:1249 msgid "Document Links Row #{0}: Invalid doctype or fieldname." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1209 +#: frappe/core/doctype/doctype/doctype.py:1212 msgid "Document Links Row #{0}: Parent DocType is mandatory for internal links" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1215 +#: frappe/core/doctype/doctype/doctype.py:1218 msgid "Document Links Row #{0}: Table Fieldname is mandatory for internal links" msgstr "" @@ -7774,8 +7855,8 @@ msgstr "" msgid "Document Name" msgstr "" -#: frappe/client.py:409 -msgid "Document Name must be a string" +#: frappe/client.py:420 +msgid "Document Name must not be empty" msgstr "" #. Name of a DocType @@ -7793,7 +7874,7 @@ msgstr "" msgid "Document Naming Settings" msgstr "" -#: frappe/model/document.py:512 +#: frappe/model/document.py:511 msgid "Document Queued" msgstr "" @@ -7897,7 +7978,7 @@ msgstr "" #: frappe/core/doctype/user_select_document_type/user_select_document_type.json #: frappe/core/page/permission_manager/permission_manager.js:49 #: frappe/core/page/permission_manager/permission_manager.js:218 -#: frappe/core/page/permission_manager/permission_manager.js:499 +#: frappe/core/page/permission_manager/permission_manager.js:500 #: frappe/custom/doctype/doctype_layout/doctype_layout.json #: frappe/desk/doctype/bulk_update/bulk_update.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -7917,11 +7998,11 @@ msgstr "" msgid "Document Type and Function are required to create a number card" msgstr "" -#: frappe/permissions.py:152 +#: frappe/permissions.py:158 msgid "Document Type is not importable" msgstr "" -#: frappe/permissions.py:148 +#: frappe/permissions.py:154 msgid "Document Type is not submittable" msgstr "" @@ -7950,11 +8031,11 @@ msgid "Document Types and Permissions" msgstr "" #: frappe/core/doctype/submission_queue/submission_queue.py:163 -#: frappe/model/document.py:2012 +#: frappe/model/document.py:2011 msgid "Document Unlocked" msgstr "" -#: frappe/database/query.py:541 +#: frappe/database/query.py:554 msgid "Document cannot be used as a filter value" msgstr "" @@ -7962,15 +8043,15 @@ msgstr "" msgid "Document follow is not enabled for this user." msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1310 +#: frappe/public/js/frappe/list/list_view.js:1318 msgid "Document has been cancelled" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1309 +#: frappe/public/js/frappe/list/list_view.js:1317 msgid "Document has been submitted" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1308 +#: frappe/public/js/frappe/list/list_view.js:1316 msgid "Document is in draft state" msgstr "" @@ -7982,11 +8063,11 @@ msgstr "" msgid "Document not Relinked" msgstr "" -#: frappe/model/rename_doc.py:229 frappe/public/js/frappe/form/toolbar.js:166 +#: frappe/model/rename_doc.py:229 frappe/public/js/frappe/form/toolbar.js:165 msgid "Document renamed from {0} to {1}" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:175 +#: frappe/public/js/frappe/form/toolbar.js:174 msgid "Document renaming from {0} to {1} has been queued" msgstr "" @@ -8002,10 +8083,6 @@ msgstr "" msgid "Document {0} has been set to state {1} by {2}" msgstr "" -#: frappe/client.py:433 -msgid "Document {0} {1} does not exist" -msgstr "" - #. Label of the documentation (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json msgid "Documentation Link" @@ -8143,7 +8220,7 @@ msgstr "" msgid "Download PDF" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:843 +#: frappe/public/js/frappe/views/reports/query_report.js:860 msgid "Download Report" msgstr "" @@ -8227,7 +8304,7 @@ msgid "Due Date Based On" msgstr "" #: frappe/public/js/frappe/form/grid_row_form.js:44 -#: frappe/public/js/frappe/form/toolbar.js:455 +#: frappe/public/js/frappe/form/toolbar.js:445 msgid "Duplicate" msgstr "" @@ -8235,19 +8312,15 @@ msgstr "" msgid "Duplicate Entry" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:120 +#: frappe/public/js/frappe/list/list_filter.js:137 msgid "Duplicate Filter Name" msgstr "" -#: frappe/model/base_document.py:764 frappe/model/rename_doc.py:111 +#: frappe/model/base_document.py:769 frappe/model/rename_doc.py:111 msgid "Duplicate Name" msgstr "" -#: frappe/public/js/frappe/form/grid.js:66 -msgid "Duplicate Row" -msgstr "" - -#: frappe/public/js/frappe/form/form.js:210 +#: frappe/public/js/frappe/form/form.js:211 msgid "Duplicate current row" msgstr "" @@ -8255,6 +8328,18 @@ msgstr "" msgid "Duplicate field" msgstr "" +#: frappe/public/js/frappe/form/grid.js:238 +msgid "Duplicate row" +msgstr "" + +#: frappe/public/js/frappe/form/grid.js:66 +msgid "Duplicate rows" +msgstr "" + +#: frappe/public/js/frappe/form/grid.js:241 +msgid "Duplicate {0} rows" +msgstr "" + #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the duration (Float) field in DocType 'Recorder' #. Label of the duration (Float) field in DocType 'Recorder Query' @@ -8342,9 +8427,10 @@ msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:678 #: frappe/public/js/frappe/form/templates/address_list.html:13 #: frappe/public/js/frappe/form/templates/contact_list.html:13 -#: frappe/public/js/frappe/form/toolbar.js:781 -#: frappe/public/js/frappe/views/reports/query_report.js:891 -#: frappe/public/js/frappe/views/reports/query_report.js:1813 +#: frappe/public/js/frappe/form/toolbar.js:214 +#: frappe/public/js/frappe/form/toolbar.js:784 +#: frappe/public/js/frappe/views/reports/query_report.js:908 +#: frappe/public/js/frappe/views/reports/query_report.js:1863 #: frappe/public/js/frappe/widgets/base_widget.js:64 #: frappe/public/js/frappe/widgets/chart_widget.js:299 #: frappe/public/js/frappe/widgets/number_card_widget.js:359 @@ -8355,7 +8441,7 @@ msgstr "" msgid "Edit" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2337 +#: frappe/public/js/frappe/list/list_view.js:2345 msgctxt "Button in list view actions menu" msgid "Edit" msgstr "" @@ -8365,7 +8451,7 @@ msgctxt "Button in web form" msgid "Edit" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:350 +#: frappe/public/js/frappe/form/grid_row.js:352 msgctxt "Edit grid row" msgid "Edit" msgstr "" @@ -8386,15 +8472,15 @@ msgstr "" msgid "Edit Custom Block" msgstr "" -#: frappe/printing/page/print_format_builder/print_format_builder.js:727 +#: frappe/printing/page/print_format_builder/print_format_builder.js:761 msgid "Edit Custom HTML" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:652 +#: frappe/public/js/frappe/form/toolbar.js:655 msgid "Edit DocType" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1969 +#: frappe/public/js/frappe/list/list_view.js:1977 msgctxt "Button in list view menu" msgid "Edit DocType" msgstr "" @@ -8408,7 +8494,7 @@ msgstr "" msgid "Edit Filters" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1976 +#: frappe/public/js/frappe/list/list_view.js:1984 msgctxt "Edit filters of List View" msgid "Edit Filters" msgstr "" @@ -8421,7 +8507,7 @@ msgstr "" msgid "Edit Format" msgstr "" -#: frappe/public/js/frappe/form/quick_entry.js:326 +#: frappe/public/js/frappe/form/quick_entry.js:373 msgid "Edit Full Form" msgstr "" @@ -8479,7 +8565,7 @@ msgstr "" msgid "Edit Shortcut" msgstr "" -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:29 +#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:21 msgid "Edit Sidebar" msgstr "" @@ -8502,11 +8588,11 @@ msgstr "" msgid "Edit the {0} Doctype" msgstr "" -#: frappe/printing/page/print_format_builder/print_format_builder.js:721 +#: frappe/printing/page/print_format_builder/print_format_builder.js:755 msgid "Edit to add content" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:470 +#: frappe/public/js/frappe/web_form/web_form.js:466 msgctxt "Button in web form" msgid "Edit your response" msgstr "" @@ -8562,6 +8648,7 @@ msgstr "" #. Label of the email_settings (Section Break) field in DocType 'User' #. Label of the email (Check) field in DocType 'User Document Type' #. Label of the email (Data) field in DocType 'User Invitation' +#. Option for the 'Type' (Select) field in DocType 'Event Notifications' #. Label of the email (Data) field in DocType 'Event Participants' #. Label of the email (Data) field in DocType 'Email Group Member' #. Label of the email (Data) field in DocType 'Email Unsubscribe' @@ -8577,12 +8664,14 @@ msgstr "" #: frappe/core/doctype/user/user.json #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_invitation/user_invitation.json +#: frappe/core/page/permission_manager/permission_manager_help.html:56 +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/email_group_member/email_group_member.json #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.json #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/form/success_action.js:85 -#: frappe/public/js/frappe/form/toolbar.js:415 +#: frappe/public/js/frappe/form/toolbar.js:405 #: frappe/templates/includes/comments/comments.html:25 #: frappe/templates/signup.html:9 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json @@ -8617,7 +8706,7 @@ msgstr "" msgid "Email Account Name" msgstr "" -#: frappe/core/doctype/user/user.py:787 +#: frappe/core/doctype/user/user.py:790 msgid "Email Account added multiple times" msgstr "" @@ -8815,7 +8904,7 @@ msgstr "" msgid "Email is mandatory to create User Email" msgstr "" -#: frappe/public/js/frappe/views/communication.js:813 +#: frappe/public/js/frappe/views/communication.js:882 msgid "Email not sent to {0} (unsubscribed / disabled)" msgstr "" @@ -8854,7 +8943,7 @@ msgstr "" msgid "Embed code copied" msgstr "" -#: frappe/database/query.py:2151 +#: frappe/database/query.py:2230 msgid "Empty alias is not allowed" msgstr "" @@ -8862,7 +8951,7 @@ msgstr "" msgid "Empty column" msgstr "" -#: frappe/database/query.py:2094 +#: frappe/database/query.py:2172 msgid "Empty string arguments are not allowed" msgstr "" @@ -9182,11 +9271,11 @@ msgstr "" msgid "Enter Client Id and Client Secret in Google Settings." msgstr "" -#: frappe/templates/includes/login/login.js:351 +#: frappe/templates/includes/login/login.js:350 msgid "Enter Code displayed in OTP App." msgstr "" -#: frappe/public/js/frappe/views/communication.js:768 +#: frappe/public/js/frappe/views/communication.js:835 msgid "Enter Email Recipient(s) in the To, CC, or BCC fields" msgstr "" @@ -9213,6 +9302,10 @@ msgstr "" msgid "Enter folder name" msgstr "" +#: frappe/public/js/form_builder/components/FieldProperties.vue:65 +msgid "Enter list of Options, each on a new line." +msgstr "" + #. Description of the 'Static Parameters' (Table) field in DocType 'SMS #. Settings' #: frappe/core/doctype/sms_settings/sms_settings.json @@ -9243,7 +9336,7 @@ msgstr "" msgid "Entity Type" msgstr "" -#: frappe/public/js/frappe/list/base_list.js:1256 +#: frappe/public/js/frappe/list/base_list.js:1273 #: frappe/public/js/frappe/ui/filters/filter.js:16 msgid "Equals" msgstr "" @@ -9277,7 +9370,7 @@ msgstr "" msgid "Error" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:264 +#: frappe/public/js/frappe/web_form/web_form.js:260 msgctxt "Title of error message in web form" msgid "Error" msgstr "" @@ -9297,7 +9390,7 @@ msgstr "" msgid "Error Message" msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:156 +#: frappe/public/js/frappe/form/print_utils.js:169 msgid "Error connecting to QZ Tray Application...

You need to have QZ Tray application installed and running, to use the Raw Print feature.

Click here to Download and install QZ Tray.
Click here to learn more about Raw Printing." msgstr "" @@ -9335,15 +9428,15 @@ msgstr "" msgid "Error in print format on line {0}: {1}" msgstr "" -#: frappe/api/v2.py:156 +#: frappe/api/v2.py:180 msgid "Error in {0}.get_list: {1}" msgstr "" -#: frappe/database/query.py:437 +#: frappe/database/query.py:440 msgid "Error parsing nested filters: {0}. {1}" msgstr "" -#: frappe/desk/search.py:248 +#: frappe/desk/search.py:255 msgid "Error validating \"Ignore User Permissions\"" msgstr "" @@ -9359,15 +9452,15 @@ msgstr "" msgid "Error {0}: {1}" msgstr "" -#: frappe/model/base_document.py:904 +#: frappe/model/base_document.py:923 msgid "Error: Data missing in table {0}" msgstr "" -#: frappe/model/base_document.py:914 +#: frappe/model/base_document.py:933 msgid "Error: Value missing for {0}: {1}" msgstr "" -#: frappe/model/base_document.py:908 +#: frappe/model/base_document.py:927 msgid "Error: {0} Row #{1}: Value missing for: {2}" msgstr "" @@ -9377,6 +9470,12 @@ msgstr "" msgid "Errors" msgstr "" +#. Label of the evaluate_as_expression (Check) field in DocType 'Workflow +#. Document State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Evaluate as Expression" +msgstr "" + #. Option for the 'Type' (Select) field in DocType 'Communication' #. Name of a DocType #. Option for the 'Event Category' (Select) field in DocType 'Event' @@ -9395,6 +9494,11 @@ msgstr "" msgid "Event Frequency" msgstr "" +#. Name of a DocType +#: frappe/desk/doctype/event_notifications/event_notifications.json +msgid "Event Notifications" +msgstr "" + #. Label of the event_participants (Table) field in DocType 'Event' #. Name of a DocType #: frappe/desk/doctype/event/event.json @@ -9420,11 +9524,11 @@ msgstr "" msgid "Event Type" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:67 +#: frappe/public/js/frappe/ui/notifications/notifications.js:74 msgid "Events" msgstr "" -#: frappe/desk/doctype/event/event.py:278 +#: frappe/desk/doctype/event/event.py:328 msgid "Events in Today's Calendar" msgstr "" @@ -9446,6 +9550,7 @@ msgid "Exact Copies" msgstr "" #. Label of the example (HTML) field in DocType 'Workflow Transition' +#: frappe/core/page/permission_manager/permission_manager_help.html:21 #: frappe/workflow/doctype/workflow_transition/workflow_transition.json msgid "Example" msgstr "" @@ -9516,7 +9621,7 @@ msgstr "" msgid "Executing..." msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2162 +#: frappe/public/js/frappe/views/reports/query_report.js:2223 msgid "Execution Time: {0} sec" msgstr "" @@ -9537,21 +9642,21 @@ msgstr "" msgid "Expand" msgstr "" -#: frappe/public/js/frappe/form/controls/code.js:186 +#: frappe/public/js/frappe/form/controls/code.js:191 msgctxt "Enlarge code field." msgid "Expand" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 #: frappe/public/js/frappe/views/treeview.js:133 msgid "Expand All" msgstr "" -#: frappe/database/query.py:684 +#: frappe/database/query.py:706 msgid "Expected 'and' or 'or' operator, found: {0}" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:41 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:65 msgid "Experimental" msgstr "" @@ -9603,20 +9708,21 @@ msgstr "" #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/recorder/recorder_list.js:37 +#: frappe/core/page/permission_manager/permission_manager_help.html:66 #: frappe/public/js/frappe/data_import/data_exporter.js:92 -#: frappe/public/js/frappe/data_import/data_exporter.js:243 -#: frappe/public/js/frappe/views/reports/query_report.js:1850 -#: frappe/public/js/frappe/views/reports/report_view.js:1633 +#: frappe/public/js/frappe/data_import/data_exporter.js:244 +#: frappe/public/js/frappe/views/reports/query_report.js:1899 +#: frappe/public/js/frappe/views/reports/report_view.js:1634 #: frappe/public/js/frappe/widgets/chart_widget.js:315 msgid "Export" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2359 +#: frappe/public/js/frappe/list/list_view.js:2387 msgctxt "Button in list view actions menu" msgid "Export" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:245 +#: frappe/public/js/frappe/data_import/data_exporter.js:246 msgid "Export 1 record" msgstr "" @@ -9655,11 +9761,11 @@ msgstr "" msgid "Export Type" msgstr "" -#: frappe/public/js/frappe/views/reports/report_view.js:1644 +#: frappe/public/js/frappe/views/reports/report_view.js:1645 msgid "Export all matching rows?" msgstr "" -#: frappe/public/js/frappe/views/reports/report_view.js:1654 +#: frappe/public/js/frappe/views/reports/report_view.js:1655 msgid "Export all {0} rows?" msgstr "" @@ -9675,6 +9781,10 @@ msgstr "" msgid "Export not allowed. You need {0} role to export." msgstr "" +#: frappe/custom/doctype/customize_form/customize_form.js:272 +msgid "Export only customizations assigned to the selected module.
Note: You must set the Module (for export) field on Custom Field and Property Setter records before applying this filter.

Warning: Customizations from other modules will be excluded.

" +msgstr "" + #. Description of the 'Export without main header' (Check) field in DocType #. 'Data Export' #: frappe/core/doctype/data_export/data_export.json @@ -9687,7 +9797,7 @@ msgstr "" msgid "Export without main header" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:247 +#: frappe/public/js/frappe/data_import/data_exporter.js:248 msgid "Export {0} records" msgstr "" @@ -9727,7 +9837,7 @@ msgstr "" #. Label of the external_link (Data) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json -#: frappe/public/js/frappe/views/workspace/workspace.js:440 +#: frappe/public/js/frappe/views/workspace/workspace.js:488 msgid "External Link" msgstr "" @@ -9776,12 +9886,17 @@ msgstr "" msgid "Failed Jobs" msgstr "" +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Failed Login Attempts" +msgstr "" + #. Label of the failed_logins (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Failed Logins (Last 30 days)" msgstr "" -#: frappe/model/workflow.py:362 +#: frappe/model/workflow.py:383 msgid "Failed Transactions" msgstr "" @@ -9844,7 +9959,7 @@ msgstr "" msgid "Failed to get method for command {0} with {1}" msgstr "" -#: frappe/api/v2.py:46 +#: frappe/api/v2.py:61 msgid "Failed to get method {0} with {1}" msgstr "" @@ -9856,7 +9971,7 @@ msgstr "" msgid "Failed to import virtual doctype {}, is controller file present?" msgstr "" -#: frappe/utils/image.py:75 +#: frappe/utils/image.py:70 msgid "Failed to optimize image: {0}" msgstr "" @@ -9872,7 +9987,7 @@ msgstr "" msgid "Failed to request login to Frappe Cloud" msgstr "" -#: frappe/email/doctype/email_queue/email_queue.py:300 +#: frappe/email/doctype/email_queue/email_queue.py:301 msgid "Failed to send email with subject:" msgstr "" @@ -9914,7 +10029,7 @@ msgstr "" msgid "Fax" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:51 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:72 msgid "Feedback" msgstr "" @@ -9974,8 +10089,8 @@ msgstr "" #: frappe/desk/doctype/onboarding_step/onboarding_step.json #: frappe/public/js/frappe/list/bulk_operations.js:327 #: frappe/public/js/frappe/list/list_view_permission_restrictions.html:3 -#: frappe/public/js/frappe/views/reports/query_report.js:236 -#: frappe/public/js/frappe/views/reports/query_report.js:1909 +#: frappe/public/js/frappe/views/reports/query_report.js:237 +#: frappe/public/js/frappe/views/reports/query_report.js:1958 #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_form_list_column/web_form_list_column.json msgid "Field" @@ -9985,7 +10100,7 @@ msgstr "" msgid "Field \"route\" is mandatory for Web Views" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1541 +#: frappe/core/doctype/doctype/doctype.py:1555 msgid "Field \"title\" is mandatory if \"Website Search Field\" is set." msgstr "" @@ -9993,7 +10108,7 @@ msgstr "" msgid "Field \"value\" is mandatory. Please specify value to be updated" msgstr "" -#: frappe/desk/search.py:255 +#: frappe/desk/search.py:262 msgid "Field {0} not found in {1}" msgstr "" @@ -10002,7 +10117,7 @@ msgstr "" msgid "Field Description" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1092 +#: frappe/core/doctype/doctype/doctype.py:1095 msgid "Field Missing" msgstr "" @@ -10050,7 +10165,7 @@ msgstr "" msgid "Field type cannot be changed for {0}" msgstr "" -#: frappe/database/database.py:919 +#: frappe/database/database.py:923 msgid "Field {0} does not exist on {1}" msgstr "" @@ -10058,11 +10173,11 @@ msgstr "" msgid "Field {0} is referring to non-existing doctype {1}." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1669 +#: frappe/core/doctype/doctype/doctype.py:1683 msgid "Field {0} must be a virtual field to support virtual doctype." msgstr "" -#: frappe/public/js/frappe/form/form.js:1768 +#: frappe/public/js/frappe/form/form.js:1799 msgid "Field {0} not found." msgstr "" @@ -10084,7 +10199,7 @@ msgstr "" #: frappe/custom/doctype/doctype_layout_field/doctype_layout_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/integrations/doctype/webhook_data/webhook_data.json -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Fieldname" msgstr "" @@ -10093,7 +10208,7 @@ msgstr "" msgid "Fieldname '{0}' conflicting with a {1} of the name {2} in {3}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1091 +#: frappe/core/doctype/doctype/doctype.py:1094 msgid "Fieldname called {0} must exist to enable autonaming" msgstr "" @@ -10101,7 +10216,7 @@ msgstr "" msgid "Fieldname is limited to 64 characters ({0})" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:198 +#: frappe/custom/doctype/custom_field/custom_field.py:199 msgid "Fieldname not set for Custom Field" msgstr "" @@ -10117,7 +10232,7 @@ msgstr "" msgid "Fieldname {0} cannot have special characters like {1}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1942 +#: frappe/core/doctype/doctype/doctype.py:2006 msgid "Fieldname {0} conflicting with meta object" msgstr "" @@ -10165,7 +10280,7 @@ msgstr "" msgid "Fields must be a list or tuple when as_list is enabled" msgstr "" -#: frappe/database/query.py:1011 +#: frappe/database/query.py:1054 msgid "Fields must be a string, list, tuple, pypika Field, or pypika Function" msgstr "" @@ -10189,7 +10304,7 @@ msgstr "" msgid "Fieldtype" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:194 +#: frappe/custom/doctype/custom_field/custom_field.py:195 msgid "Fieldtype cannot be changed from {0} to {1}" msgstr "" @@ -10265,12 +10380,12 @@ msgstr "" msgid "File not attached" msgstr "" -#: frappe/core/doctype/file/file.py:766 frappe/public/js/frappe/request.js:200 +#: frappe/core/doctype/file/file.py:766 frappe/public/js/frappe/request.js:198 #: frappe/utils/file_manager.py:221 msgid "File size exceeded the maximum allowed size of {0} MB" msgstr "" -#: frappe/public/js/frappe/request.js:198 +#: frappe/public/js/frappe/request.js:196 msgid "File too big" msgstr "" @@ -10297,12 +10412,17 @@ msgstr "" #: frappe/desk/doctype/number_card/number_card.js:208 #: frappe/desk/doctype/number_card/number_card.js:347 #: frappe/email/doctype/auto_email_report/auto_email_report.js:93 -#: frappe/public/js/frappe/list/base_list.js:1336 +#: frappe/public/js/frappe/list/base_list.js:1353 #: frappe/public/js/frappe/ui/filters/filter_list.js:134 #: frappe/website/doctype/web_form/web_form.js:213 msgid "Filter" msgstr "" +#. Label of the filter_area (HTML) field in DocType 'Workspace Sidebar Item' +#: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json +msgid "Filter Area" +msgstr "" + #. Label of the filter_data (Section Break) field in DocType 'Auto Email #. Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -10321,7 +10441,7 @@ msgstr "" #. Label of the filter_name (Data) field in DocType 'List Filter' #: frappe/desk/doctype/list_filter/list_filter.json -#: frappe/public/js/frappe/list/list_filter.js:84 +#: frappe/public/js/frappe/list/list_filter.js:101 msgid "Filter Name" msgstr "" @@ -10330,11 +10450,11 @@ msgstr "" msgid "Filter Values" msgstr "" -#: frappe/database/query.py:690 +#: frappe/database/query.py:712 msgid "Filter condition missing after operator: {0}" msgstr "" -#: frappe/database/query.py:766 +#: frappe/database/query.py:800 msgid "Filter fields have invalid backtick notation: {0}" msgstr "" @@ -10353,10 +10473,14 @@ msgid "Filtered Records" msgstr "" #: frappe/website/doctype/help_article/help_article.py:91 -#: frappe/www/portal.py:55 +#: frappe/www/portal.py:57 msgid "Filtered by \"{0}\"" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:729 +msgid "Filtered by: {0}." +msgstr "" + #. Label of the filters (Code) field in DocType 'Access Log' #. Label of the filters_sb (Section Break) field in DocType 'Prepared Report' #. Label of the filters (Small Text) field in DocType 'Prepared Report' @@ -10380,7 +10504,7 @@ msgstr "" #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/list/list_filter.js:18 +#: frappe/public/js/frappe/list/list_filter.js:19 msgid "Filters" msgstr "" @@ -10411,10 +10535,6 @@ msgstr "" msgid "Filters Section" msgstr "" -#: frappe/public/js/frappe/form/controls/link.js:595 -msgid "Filters applied for {0}" -msgstr "" - #: frappe/public/js/frappe/views/kanban/kanban_view.js:202 msgid "Filters saved" msgstr "" @@ -10432,14 +10552,14 @@ msgstr "" msgid "Filters:" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:616 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:586 msgid "Find '{0}' in ..." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:399 #: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:401 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:163 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:166 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:403 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:152 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:155 msgid "Find {0} in {1}" msgstr "" @@ -10527,11 +10647,11 @@ msgstr "" msgid "Fold" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1465 +#: frappe/core/doctype/doctype/doctype.py:1479 msgid "Fold can not be at the end of the form" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1463 +#: frappe/core/doctype/doctype/doctype.py:1477 msgid "Fold must come before a Section Break" msgstr "" @@ -10560,12 +10680,12 @@ msgstr "" msgid "Folio" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:128 -#: frappe/public/js/frappe/form/toolbar.js:912 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:149 +#: frappe/public/js/frappe/form/toolbar.js:945 msgid "Follow" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:123 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:144 msgid "Followed by" msgstr "" @@ -10658,7 +10778,7 @@ msgstr "" msgid "Footer HTML" msgstr "" -#: frappe/printing/doctype/letter_head/letter_head.py:81 +#: frappe/printing/doctype/letter_head/letter_head.py:88 msgid "Footer HTML set from attachment {0}" msgstr "" @@ -10695,7 +10815,7 @@ msgstr "" msgid "Footer Template Values" msgstr "" -#: frappe/printing/page/print/print.js:130 +#: frappe/printing/page/print/print.js:138 msgid "Footer might not be visible as {0} option is disabled" msgstr "" @@ -10728,16 +10848,6 @@ msgstr "" msgid "For Example: {} Open" msgstr "" -#. Description of the 'Options' (Small Text) field in DocType 'DocField' -#. Description of the 'Options' (Small Text) field in DocType 'Customize Form -#. Field' -#: frappe/core/doctype/docfield/docfield.json -#: frappe/custom/doctype/customize_form_field/customize_form_field.json -msgid "" -"For Links, enter the DocType as range.\n" -"For Select, enter list of Options, each on a new line." -msgstr "" - #. Label of the for_user (Link) field in DocType 'List Filter' #. Label of the for_user (Link) field in DocType 'Notification Log' #. Label of the for_user (Data) field in DocType 'Workspace' @@ -10761,20 +10871,16 @@ msgstr "" msgid "For a dynamic subject, use Jinja tags like this: {{ doc.name }} Delivered" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2159 +#: frappe/public/js/frappe/views/reports/query_report.js:2220 #: frappe/public/js/frappe/views/reports/report_view.js:102 msgid "For comparison, use >5, <10 or =324. For ranges, use 5:10 (for values between 5 & 10)." msgstr "" -#: frappe/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 "" - #: frappe/public/js/frappe/utils/dashboard_utils.js:162 msgid "For example:" msgstr "" -#: frappe/printing/page/print_format_builder/print_format_builder.js:752 +#: frappe/printing/page/print_format_builder/print_format_builder.js:786 msgid "For example: If you want to include the document ID, use {0}" msgstr "" @@ -10802,7 +10908,7 @@ msgstr "" msgid "For updating, you can update only selective columns." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1786 +#: frappe/core/doctype/doctype/doctype.py:1800 msgid "For {0} at level {1} in {2} in row {3}" msgstr "" @@ -10852,7 +10958,8 @@ msgstr "" #: frappe/custom/doctype/client_script/client_script.json #: frappe/custom/doctype/customize_form/customize_form.json #: frappe/desk/doctype/form_tour/form_tour.json -#: frappe/printing/page/print/print.js:97 +#: frappe/printing/page/print/print.js:98 +#: frappe/printing/page/print/print.js:104 #: frappe/website/doctype/web_form/web_form.json msgid "Form" msgstr "" @@ -11031,7 +11138,7 @@ msgstr "" msgid "From" msgstr "" -#: frappe/public/js/frappe/views/communication.js:188 +#: frappe/public/js/frappe/views/communication.js:222 msgctxt "Email Sender" msgid "From" msgstr "" @@ -11052,7 +11159,7 @@ msgstr "" msgid "From Date Field" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1870 +#: frappe/public/js/frappe/views/reports/query_report.js:1919 msgid "From Document Type" msgstr "" @@ -11093,7 +11200,7 @@ msgstr "" msgid "Full Name" msgstr "" -#: frappe/printing/page/print/print.js:81 +#: frappe/printing/page/print/print.js:87 #: frappe/public/js/frappe/form/templates/print_layout.html:42 msgid "Full Page" msgstr "" @@ -11106,7 +11213,7 @@ msgstr "" #. Label of the function (Select) field in DocType 'Number Card' #. Label of the report_function (Select) field in DocType 'Number Card' #: frappe/desk/doctype/number_card/number_card.json -#: frappe/public/js/frappe/views/reports/query_report.js:246 +#: frappe/public/js/frappe/views/reports/query_report.js:247 #: frappe/public/js/frappe/widgets/widget_dialog.js:699 msgid "Function" msgstr "" @@ -11115,11 +11222,11 @@ msgstr "" msgid "Function Based On" msgstr "" -#: frappe/__init__.py:465 +#: frappe/__init__.py:463 msgid "Function {0} is not whitelisted." msgstr "" -#: frappe/database/query.py:1998 +#: frappe/database/query.py:2076 msgid "Function {0} requires arguments but none were provided" msgstr "" @@ -11184,11 +11291,11 @@ msgstr "" msgid "Generate Keys" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:885 +#: frappe/public/js/frappe/views/reports/query_report.js:902 msgid "Generate New Report" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:467 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:469 msgid "Generate Random Password" msgstr "" @@ -11198,8 +11305,8 @@ msgstr "" msgid "Generate Separate Documents For Each Assignee" msgstr "" -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:284 -#: frappe/public/js/frappe/utils/utils.js:1942 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:328 +#: frappe/public/js/frappe/utils/utils.js:2073 msgid "Generate Tracking URL" msgstr "" @@ -11310,7 +11417,7 @@ msgstr "" msgid "Global Unsubscribe" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:876 +#: frappe/public/js/frappe/form/toolbar.js:879 msgid "Go" msgstr "" @@ -11370,7 +11477,7 @@ msgstr "" msgid "Go to {0} Page" msgstr "" -#: frappe/utils/goal.py:127 frappe/utils/goal.py:134 +#: frappe/utils/goal.py:126 frappe/utils/goal.py:133 msgid "Goal" msgstr "" @@ -11596,7 +11703,7 @@ msgstr "" msgid "Group By field is required to create a dashboard chart" msgstr "" -#: frappe/database/query.py:1200 +#: frappe/database/query.py:1242 msgid "Group By must be a string" msgstr "" @@ -11676,6 +11783,10 @@ msgstr "" msgid "HTML Editor" msgstr "" +#: frappe/public/js/frappe/views/communication.js:142 +msgid "HTML Message" +msgstr "" + #. Label of the page (HTML Editor) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json msgid "HTML Page" @@ -11764,7 +11875,7 @@ msgstr "" msgid "Header HTML" msgstr "" -#: frappe/printing/doctype/letter_head/letter_head.py:69 +#: frappe/printing/doctype/letter_head/letter_head.py:76 msgid "Header HTML set from attachment {0}" msgstr "" @@ -11800,7 +11911,7 @@ msgstr "" msgid "Headers" msgstr "" -#: frappe/email/email_body.py:322 +#: frappe/email/email_body.py:323 msgid "Headers must be a dictionary" msgstr "" @@ -11837,7 +11948,7 @@ msgstr "" #. Label of the help (HTML) field in DocType 'Property Setter' #: frappe/core/doctype/server_script/server_script.json #: frappe/custom/doctype/property_setter/property_setter.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:59 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:80 #: frappe/public/js/frappe/form/workflow.js:23 #: frappe/public/js/frappe/utils/help.js:27 msgid "Help" @@ -11892,7 +12003,7 @@ msgstr "" msgid "Helvetica Neue" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:1939 +#: frappe/public/js/frappe/utils/utils.js:2070 msgid "Here's your tracking URL" msgstr "" @@ -11928,8 +12039,8 @@ msgstr "" msgid "Hidden Fields" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1672 -msgid "Hidden columns include: {0}" +#: frappe/public/js/frappe/views/reports/query_report.js:1716 +msgid "Hidden columns include:
{0}" msgstr "" #. Option for the 'Page Number' (Select) field in DocType 'Print Format' @@ -12095,7 +12206,7 @@ msgstr "" #: frappe/public/js/frappe/file_uploader/FileBrowser.vue:38 #: frappe/public/js/frappe/views/file/file_view.js:67 #: frappe/public/js/frappe/views/file/file_view.js:88 -#: frappe/public/js/frappe/views/pageview.js:161 frappe/templates/doc.html:19 +#: frappe/public/js/frappe/views/pageview.js:166 frappe/templates/doc.html:19 #: frappe/templates/includes/navbar/navbar.html:9 #: frappe/website/doctype/website_settings/website_settings.json #: frappe/website/web_template/primary_navbar/primary_navbar.html:9 @@ -12178,18 +12289,18 @@ msgid "I guess you don't have access to any workspace yet, but you can create on msgstr "" #. Label of the id (Data) field in DocType 'User Session Display' -#: frappe/core/doctype/data_import/importer.py:1173 -#: frappe/core/doctype/data_import/importer.py:1179 -#: frappe/core/doctype/data_import/importer.py:1244 -#: frappe/core/doctype/data_import/importer.py:1247 +#: frappe/core/doctype/data_import/importer.py:1174 +#: frappe/core/doctype/data_import/importer.py:1180 +#: frappe/core/doctype/data_import/importer.py:1245 +#: frappe/core/doctype/data_import/importer.py:1248 #: frappe/core/doctype/user_session_display/user_session_display.json #: frappe/desk/report/todo/todo.py:36 frappe/model/meta.py:52 -#: frappe/public/js/frappe/data_import/data_exporter.js:330 -#: frappe/public/js/frappe/data_import/data_exporter.js:345 +#: frappe/public/js/frappe/data_import/data_exporter.js:354 +#: frappe/public/js/frappe/data_import/data_exporter.js:369 #: frappe/public/js/frappe/list/list_settings.js:335 -#: frappe/public/js/frappe/list/list_view.js:387 -#: frappe/public/js/frappe/list/list_view.js:451 -#: frappe/public/js/frappe/list/list_view.js:2409 +#: frappe/public/js/frappe/list/list_view.js:390 +#: frappe/public/js/frappe/list/list_view.js:454 +#: frappe/public/js/frappe/list/list_view.js:2437 #: frappe/public/js/frappe/model/meta.js:208 #: frappe/public/js/frappe/model/model.js:122 msgid "ID" @@ -12240,7 +12351,6 @@ msgid "IP Address" msgstr "" #. Option for the 'Type' (Select) field in DocType 'DocField' -#. Label of the icon (Icon) field in DocType 'DocField' #. Label of the icon (Data) field in DocType 'DocType' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' @@ -12261,11 +12371,16 @@ msgstr "" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/integrations/doctype/social_login_key/social_login_key.json -#: frappe/public/js/frappe/views/workspace/workspace.js:472 +#: frappe/public/js/frappe/views/workspace/workspace.js:520 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Icon" msgstr "" +#. Label of the icon_image (Attach) field in DocType 'Desktop Icon' +#: frappe/desk/doctype/desktop_icon/desktop_icon.json +msgid "Icon Image" +msgstr "" + #. Label of the icon_style (Select) field in DocType 'Desktop Settings' #: frappe/desk/doctype/desktop_settings/desktop_settings.json msgid "Icon Style" @@ -12276,6 +12391,10 @@ msgstr "" msgid "Icon Type" msgstr "" +#: frappe/desk/page/desktop/desktop.js:1004 +msgid "Icon is not correctly configured please check the workspace sidebar to it" +msgstr "" + #. Description of the 'Icon' (Select) field in DocType 'Workflow State' #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Icon will appear on the button" @@ -12307,13 +12426,13 @@ msgstr "" msgid "If Checked workflow status will not override status in list view" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1798 +#: frappe/core/doctype/doctype/doctype.py:1812 #: frappe/core/report/user_doctype_permissions/user_doctype_permissions.py:45 #: frappe/public/js/frappe/roles_editor.js:68 msgid "If Owner" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:25 +#: frappe/core/page/permission_manager/permission_manager_help.html:92 msgid "If a Role does not have access at Level 0, then higher levels are meaningless." msgstr "" @@ -12440,12 +12559,20 @@ msgstr "" msgid "If set, only user with these roles can access this chart. If not set, DocType or Report permissions will be used." msgstr "" +#: frappe/core/page/permission_manager/permission_manager_help.html:83 +msgid "If the user enables the mask property for the phone number field, the value will be displayed in a masked format (e.g., 811XXXXXXX)." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:63 +msgid "If the user has access to Employee and Report is enabled, they can view Employee-based reports." +msgstr "" + #. Description of the 'User Type' (Link) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "If the user has any role checked, then the user becomes a \"System User\". \"System User\" has access to the desktop" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:38 +#: frappe/core/page/permission_manager/permission_manager_help.html:105 msgid "If these instructions where not helpful, please add in your suggestions on GitHub Issues." msgstr "" @@ -12545,7 +12672,7 @@ msgstr "" msgid "Ignored Apps" msgstr "" -#: frappe/model/workflow.py:202 +#: frappe/model/workflow.py:223 msgid "Illegal Document Status for {0}" msgstr "" @@ -12611,11 +12738,11 @@ msgstr "" msgid "Image Width" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1521 +#: frappe/core/doctype/doctype/doctype.py:1535 msgid "Image field must be a valid fieldname" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1523 +#: frappe/core/doctype/doctype/doctype.py:1537 msgid "Image field must be of type Attach Image" msgstr "" @@ -12649,7 +12776,7 @@ msgstr "" msgid "Impersonated by {0}" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:23 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:13 msgid "Impersonating {0}" msgstr "" @@ -12667,11 +12794,12 @@ msgstr "" #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/recorder/recorder_list.js:16 +#: frappe/core/page/permission_manager/permission_manager_help.html:71 #: frappe/email/doctype/email_group/email_group.js:31 msgid "Import" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1914 +#: frappe/public/js/frappe/list/list_view.js:1922 msgctxt "Button in list view menu" msgid "Import" msgstr "" @@ -12894,15 +13022,15 @@ msgid "Include Web View Link in Email" msgstr "" #: frappe/public/js/frappe/form/print_utils.js:59 -#: frappe/public/js/frappe/views/reports/query_report.js:1650 +#: frappe/public/js/frappe/views/reports/query_report.js:1690 msgid "Include filters" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1670 +#: frappe/public/js/frappe/views/reports/query_report.js:1712 msgid "Include hidden columns" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1642 +#: frappe/public/js/frappe/views/reports/query_report.js:1682 msgid "Include indentation" msgstr "" @@ -12969,11 +13097,11 @@ msgstr "" msgid "Incorrect Verification code" msgstr "" -#: frappe/model/document.py:1604 +#: frappe/model/document.py:1603 msgid "Incorrect value in row {0}:" msgstr "" -#: frappe/model/document.py:1606 +#: frappe/model/document.py:1605 msgid "Incorrect value:" msgstr "" @@ -13025,7 +13153,7 @@ msgstr "" msgid "Indicator Color" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:477 +#: frappe/public/js/frappe/views/workspace/workspace.js:525 msgid "Indicator color" msgstr "" @@ -13072,15 +13200,15 @@ msgstr "" #. Label of the insert_after (Select) field in DocType 'Custom Field' #: frappe/custom/doctype/custom_field/custom_field.json -#: frappe/public/js/frappe/views/reports/query_report.js:1915 +#: frappe/public/js/frappe/views/reports/query_report.js:1964 msgid "Insert After" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:252 +#: frappe/custom/doctype/custom_field/custom_field.py:253 msgid "Insert After cannot be set as {0}" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:245 +#: frappe/custom/doctype/custom_field/custom_field.py:246 msgid "Insert After field '{0}' mentioned in Custom Field '{1}', with label '{2}', does not exist" msgstr "" @@ -13110,8 +13238,8 @@ msgstr "" msgid "Instagram" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:715 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:716 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:683 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:684 msgid "Install {0} from Marketplace" msgstr "" @@ -13137,15 +13265,15 @@ msgstr "" msgid "Instructions" msgstr "" -#: frappe/templates/includes/login/login.js:261 +#: frappe/templates/includes/login/login.js:259 msgid "Instructions Emailed" msgstr "" -#: frappe/permissions.py:855 +#: frappe/permissions.py:861 msgid "Insufficient Permission Level for {0}" msgstr "" -#: frappe/database/query.py:1266 +#: frappe/database/query.py:1308 msgid "Insufficient Permission for {0}" msgstr "" @@ -13213,7 +13341,7 @@ msgstr "" msgid "Intermediate" msgstr "" -#: frappe/public/js/frappe/request.js:235 +#: frappe/public/js/frappe/request.js:233 msgid "Internal Server Error" msgstr "" @@ -13222,6 +13350,11 @@ msgstr "" msgid "Internal record of document shares" msgstr "" +#. Label of the interval (Select) field in DocType 'Event Notifications' +#: frappe/desk/doctype/event_notifications/event_notifications.json +msgid "Interval" +msgstr "" + #. Label of the intro_video_url (Data) field in DocType 'Onboarding Step' #: frappe/desk/doctype/onboarding_step/onboarding_step.json msgid "Intro Video URL" @@ -13261,13 +13394,13 @@ msgid "Invalid" msgstr "" #: frappe/public/js/form_builder/utils.js:221 -#: frappe/public/js/frappe/form/grid_row.js:849 -#: frappe/public/js/frappe/form/layout.js:835 +#: frappe/public/js/frappe/form/grid_row.js:848 +#: frappe/public/js/frappe/form/layout.js:809 #: frappe/public/js/frappe/views/reports/report_view.js:715 msgid "Invalid \"depends_on\" expression" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:519 +#: frappe/public/js/frappe/views/reports/query_report.js:520 msgid "Invalid \"depends_on\" expression set in filter {0}" msgstr "" @@ -13307,7 +13440,7 @@ msgstr "" msgid "Invalid DocType" msgstr "" -#: frappe/database/query.py:342 +#: frappe/database/query.py:345 msgid "Invalid DocType: {0}" msgstr "" @@ -13315,7 +13448,8 @@ msgstr "" msgid "Invalid Doctype" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1287 +#: frappe/core/doctype/doctype/doctype.py:1292 +#: frappe/core/doctype/doctype/doctype.py:1301 msgid "Invalid Fieldname" msgstr "" @@ -13323,8 +13457,8 @@ msgstr "" msgid "Invalid File URL" msgstr "" -#: frappe/database/query.py:768 frappe/database/query.py:795 -#: frappe/database/query.py:805 frappe/database/query.py:828 +#: frappe/database/query.py:802 frappe/database/query.py:829 +#: frappe/database/query.py:839 frappe/database/query.py:862 msgid "Invalid Filter" msgstr "" @@ -13348,7 +13482,7 @@ msgstr "" msgid "Invalid Login Token" msgstr "" -#: frappe/templates/includes/login/login.js:290 +#: frappe/templates/includes/login/login.js:288 msgid "Invalid Login. Try again." msgstr "" @@ -13356,7 +13490,7 @@ msgstr "" msgid "Invalid Mail Server. Please rectify and try again." msgstr "" -#: frappe/model/naming.py:109 +#: frappe/model/naming.py:107 msgid "Invalid Naming Series: {}" msgstr "" @@ -13367,8 +13501,8 @@ msgstr "" msgid "Invalid Operation" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1656 -#: frappe/core/doctype/doctype/doctype.py:1664 +#: frappe/core/doctype/doctype/doctype.py:1670 +#: frappe/core/doctype/doctype/doctype.py:1678 msgid "Invalid Option" msgstr "" @@ -13380,7 +13514,7 @@ msgstr "" msgid "Invalid Output Format" msgstr "" -#: frappe/model/base_document.py:126 +#: frappe/model/base_document.py:128 msgid "Invalid Override" msgstr "" @@ -13393,11 +13527,11 @@ msgstr "" msgid "Invalid Password" msgstr "" -#: frappe/utils/__init__.py:125 +#: frappe/utils/__init__.py:116 msgid "Invalid Phone Number" msgstr "" -#: frappe/auth.py:97 frappe/utils/oauth.py:213 frappe/utils/oauth.py:220 +#: frappe/auth.py:97 frappe/utils/oauth.py:213 frappe/utils/oauth.py:222 #: frappe/www/login.py:128 msgid "Invalid Request" msgstr "" @@ -13406,7 +13540,7 @@ msgstr "" msgid "Invalid Search Field {0}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1229 +#: frappe/core/doctype/doctype/doctype.py:1232 msgid "Invalid Table Fieldname" msgstr "" @@ -13437,7 +13571,7 @@ msgstr "" msgid "Invalid aggregate function" msgstr "" -#: frappe/database/query.py:2157 +#: frappe/database/query.py:2236 msgid "Invalid alias format: {0}. Alias must be a simple identifier." msgstr "" @@ -13445,19 +13579,19 @@ msgstr "" msgid "Invalid app" msgstr "" -#: frappe/database/query.py:2118 frappe/database/query.py:2133 +#: frappe/database/query.py:2197 frappe/database/query.py:2212 msgid "Invalid argument format: {0}. Only quoted string literals or simple field names are allowed." msgstr "" -#: frappe/database/query.py:2083 +#: frappe/database/query.py:2161 msgid "Invalid argument type: {0}. Only strings, numbers, dicts, and None are allowed." msgstr "" -#: frappe/database/query.py:801 +#: frappe/database/query.py:835 msgid "Invalid characters in fieldname: {0}. Only letters, numbers, and underscores are allowed." msgstr "" -#: frappe/database/query.py:971 +#: frappe/database/query.py:1014 msgid "Invalid characters in table name: {0}" msgstr "" @@ -13465,18 +13599,22 @@ msgstr "" msgid "Invalid column" msgstr "" -#: frappe/database/query.py:713 +#: frappe/database/query.py:735 msgid "Invalid condition type in nested filters: {0}" msgstr "" -#: frappe/database/query.py:1244 +#: frappe/database/query.py:1286 msgid "Invalid direction in Order By: {0}. Must be 'ASC' or 'DESC'." msgstr "" -#: frappe/model/document.py:1065 frappe/model/document.py:1079 +#: frappe/model/document.py:1064 frappe/model/document.py:1078 msgid "Invalid docstatus" msgstr "" +#: frappe/model/workflow.py:112 +msgid "Invalid expression in Workflow Update Value: {0}" +msgstr "" + #: frappe/public/js/frappe/utils/dashboard_utils.js:229 msgid "Invalid expression set in filter {0}" msgstr "" @@ -13485,11 +13623,11 @@ msgstr "" msgid "Invalid expression set in filter {0} ({1})" msgstr "" -#: frappe/database/query.py:1886 +#: frappe/database/query.py:1964 msgid "Invalid field format for SELECT: {0}. Field names must be simple, backticked, table-qualified, aliased, or '*'." msgstr "" -#: frappe/database/query.py:1184 +#: frappe/database/query.py:1227 msgid "Invalid field format in {0}: {1}. Use 'field', 'link_field.field', or 'child_table.field'." msgstr "" @@ -13497,11 +13635,11 @@ msgstr "" msgid "Invalid field name {0}" msgstr "" -#: frappe/database/query.py:1070 +#: frappe/database/query.py:1113 msgid "Invalid field type: {0}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1100 +#: frappe/core/doctype/doctype/doctype.py:1103 msgid "Invalid fieldname '{0}' in autoname" msgstr "" @@ -13509,11 +13647,11 @@ msgstr "" msgid "Invalid file path: {0}" msgstr "" -#: frappe/database/query.py:696 +#: frappe/database/query.py:718 msgid "Invalid filter condition: {0}. Expected a list or tuple." msgstr "" -#: frappe/database/query.py:791 +#: frappe/database/query.py:825 msgid "Invalid filter field format: {0}. Use 'fieldname' or 'link_fieldname.target_fieldname'." msgstr "" @@ -13521,7 +13659,7 @@ msgstr "" msgid "Invalid filter: {0}" msgstr "" -#: frappe/database/query.py:2003 +#: frappe/database/query.py:2081 msgid "Invalid function argument type: {0}. Only strings, numbers, lists, and None are allowed." msgstr "" @@ -13538,19 +13676,19 @@ msgstr "" msgid "Invalid key" msgstr "" -#: frappe/model/naming.py:498 +#: frappe/model/naming.py:496 msgid "Invalid name type (integer) for varchar name column" msgstr "" -#: frappe/model/naming.py:62 +#: frappe/model/naming.py:60 msgid "Invalid naming series {}: dot (.) missing" msgstr "" -#: frappe/model/naming.py:76 +#: frappe/model/naming.py:74 msgid "Invalid naming series {}: dot (.) missing before the numeric placeholders. Kindly use a format like ABCD.#####." msgstr "" -#: frappe/database/query.py:2075 +#: frappe/database/query.py:2153 msgid "Invalid nested expression: dictionary must represent a function or operator" msgstr "" @@ -13574,11 +13712,11 @@ msgstr "" msgid "Invalid role" msgstr "" -#: frappe/database/query.py:744 +#: frappe/database/query.py:776 msgid "Invalid simple filter format: {0}" msgstr "" -#: frappe/database/query.py:673 +#: frappe/database/query.py:695 msgid "Invalid start for filter condition: {0}. Expected a list or tuple." msgstr "" @@ -13595,24 +13733,24 @@ msgstr "" msgid "Invalid username or password" msgstr "" -#: frappe/model/naming.py:176 +#: frappe/model/naming.py:174 msgid "Invalid value specified for UUID: {}" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:253 +#: frappe/public/js/frappe/web_form/web_form.js:249 msgctxt "Error message in web form" msgid "Invalid values for fields:" msgstr "" -#: frappe/printing/page/print/print.js:673 +#: frappe/printing/page/print/print.js:681 msgid "Invalid wkhtmltopdf version" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1579 +#: frappe/core/doctype/doctype/doctype.py:1593 msgid "Invalid {0} condition" msgstr "" -#: frappe/database/query.py:1964 +#: frappe/database/query.py:2042 msgid "Invalid {0} dictionary format" msgstr "" @@ -13740,7 +13878,7 @@ msgstr "" msgid "Is Folder" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:95 +#: frappe/public/js/frappe/list/list_filter.js:112 msgid "Is Global" msgstr "" @@ -13811,7 +13949,7 @@ msgstr "" msgid "Is Published Field" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1530 +#: frappe/core/doctype/doctype/doctype.py:1544 msgid "Is Published Field must be a valid fieldname" msgstr "" @@ -14056,8 +14194,8 @@ msgstr "" msgid "Join video conference with {0}" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:431 -#: frappe/public/js/frappe/form/toolbar.js:866 +#: frappe/public/js/frappe/form/toolbar.js:421 +#: frappe/public/js/frappe/form/toolbar.js:869 msgid "Jump to field" msgstr "" @@ -14380,7 +14518,7 @@ msgstr "" msgid "Label and Type" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:146 +#: frappe/custom/doctype/custom_field/custom_field.py:147 msgid "Label is mandatory" msgstr "" @@ -14403,7 +14541,7 @@ msgstr "" #: frappe/core/doctype/translation/translation.json #: frappe/core/doctype/user/user.json #: frappe/core/web_form/edit_profile/edit_profile.json -#: frappe/printing/page/print/print.js:118 +#: frappe/printing/page/print/print.js:126 #: frappe/public/js/frappe/form/templates/print_layout.html:11 msgid "Language" msgstr "" @@ -14449,6 +14587,14 @@ msgstr "" msgid "Last Active" msgstr "" +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:163 +msgid "Last Edited by You" +msgstr "" + +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:164 +msgid "Last Edited by {0}" +msgstr "" + #. Label of the last_execution (Datetime) field in DocType 'Scheduled Job Type' #: frappe/core/doctype/scheduled_job_type/scheduled_job_type.json msgid "Last Execution" @@ -14573,6 +14719,11 @@ msgstr "" msgid "Last synced {0}" msgstr "" +#. Label of the layout (Code) field in DocType 'Desktop Layout' +#: frappe/desk/doctype/desktop_layout/desktop_layout.json +msgid "Layout" +msgstr "" + #: frappe/custom/doctype/customize_form/customize_form.js:194 msgid "Layout Reset" msgstr "" @@ -14600,9 +14751,15 @@ msgstr "" msgid "Ledger" msgstr "" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json @@ -14696,7 +14853,7 @@ msgstr "" #. Name of a DocType #: frappe/core/doctype/report/report.json #: frappe/printing/doctype/letter_head/letter_head.json -#: frappe/printing/page/print/print.js:141 +#: frappe/printing/page/print/print.js:149 #: frappe/public/js/frappe/form/print_utils.js:50 #: frappe/public/js/frappe/form/templates/print_layout.html:16 #: frappe/public/js/frappe/list/bulk_operations.js:52 @@ -14725,7 +14882,7 @@ msgstr "" msgid "Letter Head Scripts" msgstr "" -#: frappe/printing/doctype/letter_head/letter_head.py:49 +#: frappe/printing/doctype/letter_head/letter_head.py:56 msgid "Letter Head cannot be both disabled and default" msgstr "" @@ -14747,7 +14904,7 @@ msgstr "" msgid "Level" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:517 +#: frappe/core/page/permission_manager/permission_manager.js:518 msgid "Level 0 is for document level permissions, higher levels for field level permissions." msgstr "" @@ -14788,7 +14945,7 @@ msgstr "" #. Option for the 'Comment Type' (Select) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json -#: frappe/public/js/frappe/list/base_list.js:1256 +#: frappe/public/js/frappe/list/base_list.js:1273 #: frappe/public/js/frappe/ui/filters/filter.js:18 msgid "Like" msgstr "" @@ -14812,7 +14969,7 @@ msgstr "" msgid "Limit" msgstr "" -#: frappe/database/query.py:299 +#: frappe/database/query.py:302 msgid "Limit must be a non-negative integer" msgstr "" @@ -14938,7 +15095,7 @@ msgstr "" #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/views/workspace/workspace.js:432 +#: frappe/public/js/frappe/views/workspace/workspace.js:480 #: frappe/public/js/frappe/widgets/widget_dialog.js:281 #: frappe/public/js/frappe/widgets/widget_dialog.js:427 msgid "Link To" @@ -14956,7 +15113,7 @@ msgstr "" #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_link/workspace_link.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/views/workspace/workspace.js:424 +#: frappe/public/js/frappe/views/workspace/workspace.js:472 #: frappe/public/js/frappe/widgets/widget_dialog.js:273 msgid "Link Type" msgstr "" @@ -14999,6 +15156,7 @@ msgstr "" #. Label of the links_section (Tab Break) field in DocType 'DocType' #. Label of the links (Table) field in DocType 'Customize Form' #. Label of the links (Table) field in DocType 'Event' +#. Label of the links_tab (Tab Break) field in DocType 'Event' #. Label of the links (Table) field in DocType 'Sidebar Item Group' #. Label of the links (Table) field in DocType 'Workspace' #: frappe/contacts/doctype/address/address.js:39 @@ -15020,8 +15178,8 @@ msgstr "" #: frappe/custom/doctype/client_script/client_script.json #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:92 -#: frappe/public/js/frappe/utils/utils.js:953 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:86 +#: frappe/public/js/frappe/utils/utils.js:950 msgid "List" msgstr "" @@ -15051,7 +15209,7 @@ msgstr "" msgid "List Settings" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2067 +#: frappe/public/js/frappe/list/list_view.js:2075 msgctxt "Button in list view menu" msgid "List Settings" msgstr "" @@ -15065,7 +15223,7 @@ msgstr "" msgid "List View Settings" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:223 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:230 msgid "List a document type" msgstr "" @@ -15092,7 +15250,7 @@ msgstr "" msgid "List setting message" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:586 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:556 msgid "Lists" msgstr "" @@ -15120,9 +15278,9 @@ msgstr "" #: frappe/public/js/frappe/form/controls/multicheck.js:13 #: frappe/public/js/frappe/form/linked_with.js:13 #: frappe/public/js/frappe/list/base_list.js:510 -#: frappe/public/js/frappe/list/list_view.js:364 +#: frappe/public/js/frappe/list/list_view.js:367 #: frappe/public/js/frappe/ui/listing.html:16 -#: frappe/public/js/frappe/views/reports/query_report.js:1119 +#: frappe/public/js/frappe/views/reports/query_report.js:1136 msgid "Loading" msgstr "" @@ -15139,7 +15297,7 @@ msgid "Loading versions..." msgstr "" #: frappe/public/js/frappe/file_uploader/TreeNode.vue:45 -#: frappe/public/js/frappe/form/sidebar/share.js:51 +#: frappe/public/js/frappe/form/sidebar/share.js:57 #: frappe/public/js/frappe/list/base_list.js:1063 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:91 #: frappe/public/js/frappe/views/kanban/kanban_board.html:11 @@ -15150,7 +15308,8 @@ msgid "Loading..." msgstr "" #. Label of the location (Data) field in DocType 'User' -#: frappe/core/doctype/user/user.json +#. Label of the location (Data) field in DocType 'Event' +#: frappe/core/doctype/user/user.json frappe/desk/doctype/event/event.json msgid "Location" msgstr "" @@ -15223,6 +15382,11 @@ msgstr "" msgid "Login" msgstr "" +#. Label of a chart in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Login Activity" +msgstr "" + #. Label of the login_after (Int) field in DocType 'User' #: frappe/core/doctype/user/user.json msgid "Login After" @@ -15298,7 +15462,7 @@ msgstr "" msgid "Login to {0}" msgstr "" -#: frappe/templates/includes/login/login.js:319 +#: frappe/templates/includes/login/login.js:318 msgid "Login token required" msgstr "" @@ -15365,8 +15529,7 @@ msgid "Logout From All Devices After Changing Password" msgstr "" #. Group in User's connections -#. Label of a Card Break in the Users Workspace -#: frappe/core/doctype/user/user.json frappe/core/workspace/users/users.json +#: frappe/core/doctype/user/user.json msgid "Logs" msgstr "" @@ -15397,7 +15560,7 @@ msgstr "" msgid "Looks like you haven’t added any third party apps." msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:346 +#: frappe/public/js/frappe/ui/notifications/notifications.js:355 msgid "Looks like you haven’t received any notifications." msgstr "" @@ -15547,7 +15710,7 @@ msgstr "" msgid "Mandatory fields required in {0}" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:258 +#: frappe/public/js/frappe/web_form/web_form.js:254 msgctxt "Error message in web form" msgid "Mandatory fields required:" msgstr "" @@ -15609,7 +15772,7 @@ msgstr "" msgid "MariaDB Variables" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:46 +#: frappe/public/js/frappe/ui/notifications/notifications.js:49 msgid "Mark all as read" msgstr "" @@ -15661,9 +15824,12 @@ msgstr "" #. Label of the mask (Check) field in DocType 'Custom DocPerm' #. Label of the mask (Check) field in DocType 'DocField' #. Label of the mask (Check) field in DocType 'DocPerm' +#. Label of the mask (Check) field in DocType 'Customize Form Field' #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/docperm/docperm.json +#: frappe/core/page/permission_manager/permission_manager_help.html:81 +#: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Mask" msgstr "" @@ -15725,7 +15891,7 @@ msgstr "" msgid "Max signups allowed per hour" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1357 +#: frappe/core/doctype/doctype/doctype.py:1371 msgid "Max width for type Currency is 100px in row {0}" msgstr "" @@ -15746,20 +15912,27 @@ msgstr "" msgid "Maximum {0} rows allowed" msgstr "" +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json +msgid "Maybe" +msgstr "" + #: frappe/public/js/frappe/list/base_list.js:947 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:168 msgid "Me" msgstr "" #: frappe/core/page/permission_manager/permission_manager_help.html:14 -msgid "Meaning of Submit, Cancel, Amend" +msgid "Meaning of Different Permission Types" msgstr "" #. Option for the 'Priority' (Select) field in DocType 'ToDo' #. Label of the medium (Data) field in DocType 'Web Page View' #: frappe/desk/doctype/todo/todo.json #: frappe/public/js/frappe/form/sidebar/assign_to.js:224 -#: frappe/public/js/frappe/utils/utils.js:1889 +#: frappe/public/js/frappe/utils/utils.js:2020 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/report/website_analytics/website_analytics.js:40 msgid "Medium" @@ -15803,12 +15976,12 @@ msgstr "" msgid "Mentions" msgstr "" -#: frappe/public/js/frappe/ui/page.html:25 -#: frappe/public/js/frappe/ui/page.js:167 +#: frappe/public/js/frappe/ui/page.html:47 +#: frappe/public/js/frappe/ui/page.js:175 msgid "Menu" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:253 +#: frappe/public/js/frappe/form/toolbar.js:270 #: frappe/public/js/frappe/model/model.js:705 msgid "Merge with existing" msgstr "" @@ -15842,13 +16015,13 @@ msgstr "" #: frappe/email/doctype/notification/notification.js:215 #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/ui/messages.js:182 -#: frappe/public/js/frappe/views/communication.js:117 +#: frappe/public/js/frappe/views/communication.js:135 #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json #: frappe/www/message.html:3 msgid "Message" msgstr "" -#: frappe/public/js/frappe/ui/messages.js:274 frappe/utils/messages.py:78 +#: frappe/public/js/frappe/ui/messages.js:274 frappe/utils/messages.py:81 msgctxt "Default title of the message dialog" msgid "Message" msgstr "" @@ -15879,7 +16052,7 @@ msgstr "" msgid "Message Type" msgstr "" -#: frappe/public/js/frappe/views/communication.js:947 +#: frappe/public/js/frappe/views/communication.js:1018 msgid "Message clipped" msgstr "" @@ -15976,7 +16149,7 @@ msgstr "" msgid "Method" msgstr "" -#: frappe/__init__.py:467 +#: frappe/__init__.py:465 msgid "Method Not Allowed" msgstr "" @@ -16065,7 +16238,7 @@ msgstr "" msgid "Missing DocType" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1541 +#: frappe/core/doctype/doctype/doctype.py:1555 msgid "Missing Field" msgstr "" @@ -16150,7 +16323,7 @@ msgstr "" #: frappe/email/doctype/notification/notification.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json -#: frappe/public/js/frappe/utils/utils.js:960 +#: frappe/public/js/frappe/utils/utils.js:953 #: frappe/website/doctype/web_form/web_form.json #: frappe/website/doctype/web_template/web_template.json #: frappe/website/doctype/website_theme/website_theme.json @@ -16197,9 +16370,8 @@ msgstr "" #. Name of a DocType #. Label of the module_profile (Link) field in DocType 'User' -#. Label of a Link in the Users Workspace #: frappe/core/doctype/module_profile/module_profile.json -#: frappe/core/doctype/user/user.json frappe/core/workspace/users/users.json +#: frappe/core/doctype/user/user.json msgid "Module Profile" msgstr "" @@ -16216,7 +16388,7 @@ msgstr "" msgid "Module to Export" msgstr "" -#: frappe/modules/utils.py:280 +#: frappe/modules/utils.py:323 msgid "Module {} not found" msgstr "" @@ -16331,7 +16503,7 @@ msgstr "" msgid "More content for the bottom of the page." msgstr "" -#: frappe/public/js/frappe/ui/sort_selector.js:193 +#: frappe/public/js/frappe/ui/sort_selector.js:199 msgid "Most Used" msgstr "" @@ -16346,7 +16518,7 @@ msgstr "" msgid "Move" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:194 +#: frappe/public/js/frappe/form/grid_row.js:196 msgid "Move To" msgstr "" @@ -16358,19 +16530,19 @@ msgstr "" msgid "Move current and all subsequent sections to a new tab" msgstr "" -#: frappe/public/js/frappe/form/form.js:178 +#: frappe/public/js/frappe/form/form.js:179 msgid "Move cursor to above row" msgstr "" -#: frappe/public/js/frappe/form/form.js:182 +#: frappe/public/js/frappe/form/form.js:183 msgid "Move cursor to below row" msgstr "" -#: frappe/public/js/frappe/form/form.js:186 +#: frappe/public/js/frappe/form/form.js:187 msgid "Move cursor to next column" msgstr "" -#: frappe/public/js/frappe/form/form.js:190 +#: frappe/public/js/frappe/form/form.js:191 msgid "Move cursor to previous column" msgstr "" @@ -16382,7 +16554,7 @@ msgstr "" msgid "Move the current field and the following fields to a new column" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:169 +#: frappe/public/js/frappe/form/grid_row.js:171 msgid "Move to Row Number" msgstr "" @@ -16500,7 +16672,7 @@ msgstr "" msgid "Name already taken, please set a new name" msgstr "" -#: frappe/model/naming.py:512 +#: frappe/model/naming.py:510 msgid "Name cannot contain special characters like {0}" msgstr "" @@ -16512,7 +16684,7 @@ msgstr "" msgid "Name of the new Print Format" msgstr "" -#: frappe/model/naming.py:507 +#: frappe/model/naming.py:505 msgid "Name of {0} cannot be {1}" msgstr "" @@ -16552,7 +16724,7 @@ msgstr "" msgid "Naming Series" msgstr "" -#: frappe/model/naming.py:268 +#: frappe/model/naming.py:266 msgid "Naming Series mandatory" msgstr "" @@ -16576,11 +16748,6 @@ msgstr "" msgid "Navbar Settings" msgstr "" -#. Label of the navbar_style (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Navbar Style" -msgstr "" - #. Label of the navbar_template (Link) field in DocType 'Website Settings' #. Label of the navbar_template_section (Section Break) field in DocType #. 'Website Settings' @@ -16594,39 +16761,44 @@ msgstr "" msgid "Navbar Template Values" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1388 +#: frappe/public/js/frappe/list/list_view.js:1396 msgctxt "Description of a list view shortcut" msgid "Navigate list down" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1395 +#: frappe/public/js/frappe/list/list_view.js:1403 msgctxt "Description of a list view shortcut" msgid "Navigate list up" msgstr "" -#: frappe/public/js/frappe/ui/page.js:180 +#: frappe/public/js/frappe/ui/page.js:188 msgid "Navigate to main content" msgstr "" +#. Label of the form_navigation_buttons (Check) field in DocType 'User' +#: frappe/core/doctype/user/user.json +msgid "Navigation Buttons" +msgstr "" + #. Label of the navigation_settings_section (Section Break) field in DocType #. 'User' #: frappe/core/doctype/user/user.json msgid "Navigation Settings" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:486 +#: frappe/public/js/frappe/list/list_view.js:489 msgid "Need Help?" msgstr "" -#: frappe/desk/doctype/workspace/workspace.py:356 +#: frappe/desk/doctype/workspace/workspace.py:336 msgid "Need Workspace Manager role to edit private workspace of other users" msgstr "" -#: frappe/model/document.py:837 +#: frappe/model/document.py:836 msgid "Negative Value" msgstr "" -#: frappe/database/query.py:665 +#: frappe/database/query.py:687 msgid "Nested filters must be provided as a list or tuple." msgstr "" @@ -16648,6 +16820,7 @@ msgstr "" #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: frappe/core/doctype/success_action/success_action.js:57 +#: frappe/core/doctype/version/version.py:242 #: frappe/core/page/dashboard_view/dashboard_view.js:173 #: frappe/desk/doctype/todo/todo.js:46 #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json @@ -16664,7 +16837,7 @@ msgstr "" #: frappe/public/js/frappe/form/templates/address_list.html:3 #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:5 -#: frappe/public/js/frappe/utils/address_and_contact.js:71 +#: frappe/public/js/frappe/utils/address_and_contact.js:87 msgid "New Address" msgstr "" @@ -16680,8 +16853,8 @@ msgstr "" msgid "New Custom Block" msgstr "" -#: frappe/printing/page/print/print.js:327 -#: frappe/printing/page/print/print.js:374 +#: frappe/printing/page/print/print.js:335 +#: frappe/printing/page/print/print.js:382 msgid "New Custom Print Format" msgstr "" @@ -16730,7 +16903,7 @@ msgstr "" #. Label of the new_name (Read Only) field in DocType 'Deleted Document' #: frappe/core/doctype/deleted_document/deleted_document.json -#: frappe/public/js/frappe/form/toolbar.js:229 +#: frappe/public/js/frappe/form/toolbar.js:246 #: frappe/public/js/frappe/model/model.js:713 msgid "New Name" msgstr "" @@ -16751,8 +16924,8 @@ msgstr "" msgid "New Password" msgstr "" -#: frappe/printing/page/print/print.js:299 -#: frappe/printing/page/print/print.js:353 +#: frappe/printing/page/print/print.js:307 +#: frappe/printing/page/print/print.js:361 #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:61 msgid "New Print Format Name" msgstr "" @@ -16779,8 +16952,8 @@ msgstr "" msgid "New Users (Last 30 days)" msgstr "" -#: frappe/core/doctype/version/version_view.html:15 -#: frappe/core/doctype/version/version_view.html:77 +#: frappe/core/doctype/version/version_view.html:75 +#: frappe/core/doctype/version/version_view.html:140 msgid "New Value" msgstr "" @@ -16788,7 +16961,7 @@ msgstr "" msgid "New Workflow Name" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:404 +#: frappe/public/js/frappe/views/workspace/workspace.js:452 msgid "New Workspace" msgstr "" @@ -16832,32 +17005,32 @@ msgstr "" msgid "New value to be set" msgstr "" -#: frappe/public/js/frappe/form/quick_entry.js:179 -#: frappe/public/js/frappe/form/toolbar.js:48 -#: frappe/public/js/frappe/form/toolbar.js:217 -#: frappe/public/js/frappe/form/toolbar.js:232 -#: frappe/public/js/frappe/form/toolbar.js:594 +#: frappe/public/js/frappe/form/quick_entry.js:190 +#: frappe/public/js/frappe/form/toolbar.js:47 +#: frappe/public/js/frappe/form/toolbar.js:234 +#: frappe/public/js/frappe/form/toolbar.js:249 +#: frappe/public/js/frappe/form/toolbar.js:597 #: frappe/public/js/frappe/model/model.js:612 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:191 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:192 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:250 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:251 -#: frappe/public/js/frappe/views/breadcrumbs.js:217 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:178 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:179 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:228 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:229 +#: frappe/public/js/frappe/views/breadcrumbs.js:232 #: frappe/public/js/frappe/views/treeview.js:366 #: frappe/public/js/frappe/widgets/widget_dialog.js:72 #: frappe/website/doctype/web_form/web_form.py:439 msgid "New {0}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:393 +#: frappe/public/js/frappe/views/reports/query_report.js:394 msgid "New {0} Created" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:385 +#: frappe/public/js/frappe/views/reports/query_report.js:386 msgid "New {0} {1} added to Dashboard {2}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:390 +#: frappe/public/js/frappe/views/reports/query_report.js:391 msgid "New {0} {1} created" msgstr "" @@ -16869,7 +17042,7 @@ msgstr "" msgid "New {} releases for the following apps are available" msgstr "" -#: frappe/core/doctype/user/user.py:853 +#: frappe/core/doctype/user/user.py:856 msgid "Newly created user {0} has no roles enabled." msgstr "" @@ -16890,7 +17063,7 @@ msgstr "" msgid "Next" msgstr "" -#: frappe/public/js/frappe/ui/slides.js:359 +#: frappe/public/js/frappe/ui/slides.js:373 msgctxt "Go to next slide" msgid "Next" msgstr "" @@ -16917,12 +17090,16 @@ msgstr "" msgid "Next Action Email Template" msgstr "" +#: frappe/core/doctype/success_action/success_action.js:44 +msgid "Next Actions" +msgstr "" + #. Label of the next_actions_html (HTML) field in DocType 'Success Action' #: frappe/core/doctype/success_action/success_action.json msgid "Next Actions HTML" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:336 +#: frappe/public/js/frappe/form/toolbar.js:357 msgid "Next Document" msgstr "" @@ -16989,20 +17166,24 @@ msgstr "" #. Option for the 'Standard' (Select) field in DocType 'Page' #. Option for the 'Is Standard' (Select) field in DocType 'Report' +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' #. Option for the 'Require Trusted Certificate' (Select) field in DocType 'LDAP #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: frappe/core/doctype/page/page.json frappe/core/doctype/report/report.json +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/notification/notification.py:102 #: frappe/email/doctype/notification/notification.py:104 #: frappe/integrations/doctype/ldap_settings/ldap_settings.json #: frappe/integrations/doctype/webhook/webhook.py:132 #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/form_builder/utils.js:341 -#: frappe/public/js/frappe/form/controls/link.js:573 +#: frappe/public/js/frappe/form/controls/link.js:574 #: frappe/public/js/frappe/list/base_list.js:949 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:170 -#: frappe/public/js/frappe/views/reports/query_report.js:1695 +#: frappe/public/js/frappe/views/reports/query_report.js:47 #: frappe/website/doctype/help_article/templates/help_article.html:26 msgid "No" msgstr "" @@ -17072,7 +17253,7 @@ msgstr "" msgid "No Google Calendar Event to sync." msgstr "" -#: frappe/public/js/frappe/ui/capture.js:262 +#: frappe/public/js/frappe/ui/capture.js:263 msgid "No Images" msgstr "" @@ -17091,23 +17272,23 @@ msgstr "" msgid "No Label" msgstr "" -#: frappe/printing/page/print/print.js:768 -#: frappe/printing/page/print/print.js:849 +#: frappe/printing/page/print/print.js:782 +#: frappe/printing/page/print/print.js:863 #: frappe/public/js/frappe/list/bulk_operations.js:98 #: frappe/public/js/frappe/list/bulk_operations.js:170 #: frappe/utils/weasyprint.py:52 msgid "No Letterhead" msgstr "" -#: frappe/model/naming.py:489 +#: frappe/model/naming.py:487 msgid "No Name Specified for {0}" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:346 +#: frappe/public/js/frappe/ui/notifications/notifications.js:355 msgid "No New notifications" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1778 +#: frappe/core/doctype/doctype/doctype.py:1792 msgid "No Permissions Specified" msgstr "" @@ -17127,11 +17308,11 @@ msgstr "" msgid "No Preview" msgstr "" -#: frappe/printing/page/print/print.js:772 +#: frappe/printing/page/print/print.js:786 msgid "No Preview Available" msgstr "" -#: frappe/printing/page/print/print.js:927 +#: frappe/printing/page/print/print.js:941 msgid "No Printer is Available." msgstr "" @@ -17139,7 +17320,7 @@ msgstr "" msgid "No RQ Workers connected. Try restarting the bench." msgstr "" -#: frappe/public/js/frappe/form/link_selector.js:135 +#: frappe/public/js/frappe/form/link_selector.js:143 msgid "No Results" msgstr "" @@ -17147,7 +17328,7 @@ msgstr "" msgid "No Results found" msgstr "" -#: frappe/core/doctype/user/user.py:854 +#: frappe/core/doctype/user/user.py:857 msgid "No Roles Specified" msgstr "" @@ -17163,7 +17344,7 @@ msgstr "" msgid "No Tags" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:473 +#: frappe/public/js/frappe/ui/notifications/notifications.js:482 msgid "No Upcoming Events" msgstr "" @@ -17183,7 +17364,7 @@ msgstr "" msgid "No changes in document" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:707 +#: frappe/public/js/frappe/views/workspace/workspace.js:756 msgid "No changes made" msgstr "" @@ -17295,11 +17476,11 @@ msgstr "" msgid "No of Sent SMS" msgstr "" -#: frappe/__init__.py:622 frappe/client.py:113 frappe/client.py:155 +#: frappe/__init__.py:620 frappe/client.py:119 frappe/client.py:161 msgid "No permission for {0}" msgstr "" -#: frappe/public/js/frappe/form/form.js:1145 +#: frappe/public/js/frappe/form/form.js:1174 msgctxt "{0} = verb, {1} = object" msgid "No permission to '{0}' {1}" msgstr "" @@ -17308,7 +17489,7 @@ msgstr "" msgid "No permission to read {0}" msgstr "" -#: frappe/share.py:216 +#: frappe/share.py:221 msgid "No permission to {0} {1} {2}" msgstr "" @@ -17324,7 +17505,7 @@ msgstr "" msgid "No records tagged." msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:225 +#: frappe/public/js/frappe/data_import/data_exporter.js:226 msgid "No records will be exported" msgstr "" @@ -17332,7 +17513,7 @@ msgstr "" msgid "No rows" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2376 +#: frappe/public/js/frappe/list/list_view.js:2404 msgid "No rows selected" msgstr "" @@ -17344,11 +17525,12 @@ msgstr "" msgid "No template found at path: {0}" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:362 +#: frappe/core/page/permission_manager/permission_manager.js:363 msgid "No user has the role {0}" msgstr "" #: frappe/public/js/frappe/form/controls/multiselect_list.js:276 +#: frappe/public/js/frappe/utils/utils.js:988 msgid "No values to show" msgstr "" @@ -17360,7 +17542,7 @@ msgstr "" msgid "No {0} found" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:500 +#: frappe/public/js/frappe/list/list_view.js:503 msgid "No {0} found with matching filters. Clear filters to see all {0}." msgstr "" @@ -17369,7 +17551,7 @@ msgid "No {0} mail" msgstr "" #: frappe/public/js/form_builder/utils.js:117 -#: frappe/public/js/frappe/form/grid_row.js:257 +#: frappe/public/js/frappe/form/grid_row.js:259 msgctxt "Title of the 'row number' column" msgid "No." msgstr "" @@ -17412,12 +17594,12 @@ msgstr "" msgid "Normalized Query" msgstr "" -#: frappe/core/doctype/user/user.py:1076 -#: frappe/templates/includes/login/login.js:257 frappe/utils/oauth.py:298 +#: frappe/core/doctype/user/user.py:1079 +#: frappe/templates/includes/login/login.js:255 frappe/utils/oauth.py:300 msgid "Not Allowed" msgstr "" -#: frappe/templates/includes/login/login.js:259 +#: frappe/templates/includes/login/login.js:257 msgid "Not Allowed: Disabled User" msgstr "" @@ -17459,7 +17641,7 @@ msgstr "" msgid "Not Nullable" msgstr "" -#: frappe/__init__.py:549 frappe/app.py:383 frappe/desk/calendar.py:28 +#: frappe/__init__.py:547 frappe/app.py:383 frappe/desk/calendar.py:28 #: frappe/public/js/frappe/web_form/webform_script.js:15 #: frappe/website/doctype/web_form/web_form.py:779 #: frappe/website/page_renderers/not_permitted_page.py:22 @@ -17468,7 +17650,7 @@ msgstr "" msgid "Not Permitted" msgstr "" -#: frappe/desk/query_report.py:631 +#: frappe/desk/query_report.py:630 msgid "Not Permitted to read {0}" msgstr "" @@ -17477,8 +17659,8 @@ msgstr "" msgid "Not Published" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:298 -#: frappe/public/js/frappe/form/toolbar.js:849 +#: frappe/public/js/frappe/form/toolbar.js:316 +#: frappe/public/js/frappe/form/toolbar.js:852 #: frappe/public/js/frappe/model/indicator.js:28 #: frappe/public/js/frappe/views/kanban/kanban_view.js:183 #: frappe/public/js/frappe/views/reports/report_view.js:203 @@ -17512,15 +17694,15 @@ msgstr "" msgid "Not a valid Comma Separated Value (CSV File)" msgstr "" -#: frappe/core/doctype/user/user.py:304 +#: frappe/core/doctype/user/user.py:307 msgid "Not a valid User Image." msgstr "" -#: frappe/model/workflow.py:117 +#: frappe/model/workflow.py:135 msgid "Not a valid Workflow Action" msgstr "" -#: frappe/templates/includes/login/login.js:255 +#: frappe/templates/includes/login/login.js:253 msgid "Not a valid user" msgstr "" @@ -17528,7 +17710,7 @@ msgstr "" msgid "Not active" msgstr "" -#: frappe/permissions.py:389 +#: frappe/permissions.py:395 msgid "Not allowed for {0}: {1}" msgstr "" @@ -17548,11 +17730,11 @@ msgstr "" msgid "Not allowed to print draft documents" msgstr "" -#: frappe/permissions.py:219 +#: frappe/permissions.py:225 msgid "Not allowed via controller permission check" msgstr "" -#: frappe/public/js/frappe/request.js:147 frappe/website/js/website.js:94 +#: frappe/public/js/frappe/request.js:145 frappe/website/js/website.js:94 msgid "Not found" msgstr "" @@ -17565,11 +17747,11 @@ msgid "Not in Developer Mode! Set in site_config.json or make 'Custom' DocType." msgstr "" #: frappe/core/doctype/system_settings/system_settings.py:234 -#: frappe/public/js/frappe/request.js:159 -#: frappe/public/js/frappe/request.js:170 -#: frappe/public/js/frappe/request.js:175 +#: frappe/public/js/frappe/request.js:157 +#: frappe/public/js/frappe/request.js:168 +#: frappe/public/js/frappe/request.js:173 #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:67 -#: frappe/utils/messages.py:158 frappe/website/doctype/web_form/web_form.py:792 +#: frappe/utils/messages.py:161 frappe/website/doctype/web_form/web_form.py:792 #: frappe/website/js/website.js:97 msgid "Not permitted" msgstr "" @@ -17597,7 +17779,7 @@ msgstr "" msgid "Note:" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:774 +#: frappe/public/js/frappe/utils/utils.js:776 msgid "Note: Changing the Page Name will break previous URL to this page." msgstr "" @@ -17629,7 +17811,7 @@ msgstr "" msgid "Notes:" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:523 +#: frappe/public/js/frappe/ui/notifications/notifications.js:532 msgid "Nothing New" msgstr "" @@ -17642,7 +17824,7 @@ msgid "Nothing left to undo" msgstr "" #: frappe/public/js/frappe/list/base_list.js:365 -#: frappe/public/js/frappe/views/reports/query_report.js:105 +#: frappe/public/js/frappe/views/reports/query_report.js:106 #: frappe/templates/includes/list/list.html:9 #: frappe/website/doctype/help_article/templates/help_article_list.html:21 msgid "Nothing to show" @@ -17653,11 +17835,13 @@ msgid "Nothing to update" msgstr "" #. Label of the notification (Tab Break) field in DocType 'Auto Repeat' +#. Option for the 'Type' (Select) field in DocType 'Event Notifications' #. Name of a DocType #: frappe/automation/doctype/auto_repeat/auto_repeat.json #: frappe/core/doctype/communication/mixins.py:142 +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:258 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:294 msgid "Notification" msgstr "" @@ -17673,7 +17857,7 @@ msgstr "" #. Name of a DocType #: frappe/desk/doctype/notification_settings/notification_settings.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:38 +#: frappe/public/js/frappe/ui/notifications/notifications.js:41 msgid "Notification Settings" msgstr "" @@ -17682,11 +17866,6 @@ msgstr "" msgid "Notification Subscribed Document" msgstr "" -#. Label of a chart in the System Workspace -#: frappe/core/workspace/system/system.json -msgid "Notification Summary" -msgstr "" - #: frappe/public/js/frappe/form/templates/timeline_message_box.html:8 msgid "Notification sent to" msgstr "" @@ -17704,13 +17883,15 @@ msgid "Notification: user {0} has no Mobile number set" msgstr "" #. Label of the notifications (Check) field in DocType 'User' -#: frappe/core/doctype/user/user.json -#: frappe/public/js/frappe/ui/notifications/notifications.js:61 -#: frappe/public/js/frappe/ui/notifications/notifications.js:218 +#. Label of the notifications_tab (Tab Break) field in DocType 'Event' +#. Label of the notifications (Table) field in DocType 'Event' +#: frappe/core/doctype/user/user.json frappe/desk/doctype/event/event.json +#: frappe/public/js/frappe/ui/notifications/notifications.js:68 +#: frappe/public/js/frappe/ui/notifications/notifications.js:227 msgid "Notifications" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:330 +#: frappe/public/js/frappe/ui/notifications/notifications.js:339 msgid "Notifications Disabled" msgstr "" @@ -17946,7 +18127,7 @@ msgstr "" msgid "OTP placeholder should be defined as {{ otp }} " msgstr "" -#: frappe/templates/includes/login/login.js:355 +#: frappe/templates/includes/login/login.js:354 msgid "OTP setup using OTP App was not completed. Please contact Administrator." msgstr "" @@ -17986,7 +18167,7 @@ msgstr "" msgid "Offset Y" msgstr "" -#: frappe/database/query.py:304 +#: frappe/database/query.py:307 msgid "Offset must be a non-negative integer" msgstr "" @@ -17994,7 +18175,7 @@ msgstr "" msgid "Old Password" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:413 +#: frappe/custom/doctype/custom_field/custom_field.py:414 msgid "Old and new fieldnames are same." msgstr "" @@ -18061,7 +18242,7 @@ msgstr "" msgid "On or Before" msgstr "" -#: frappe/public/js/frappe/views/communication.js:957 +#: frappe/public/js/frappe/views/communication.js:1028 msgid "On {0}, {1} wrote:" msgstr "" @@ -18105,7 +18286,7 @@ msgstr "" msgid "Once submitted, submittable documents cannot be changed. They can only be Cancelled and Amended." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:35 +#: frappe/core/page/permission_manager/permission_manager_help.html:102 msgid "Once you have set this, the users will only be able access documents (eg. Blog Post) where the link exists (eg. Blogger)." msgstr "" @@ -18121,11 +18302,11 @@ msgstr "" msgid "One of" msgstr "" -#: frappe/client.py:217 +#: frappe/client.py:223 msgid "Only 200 inserts allowed in one request" msgstr "" -#: frappe/email/doctype/email_queue/email_queue.py:90 +#: frappe/email/doctype/email_queue/email_queue.py:91 msgid "Only Administrator can delete Email Queue" msgstr "" @@ -18146,7 +18327,7 @@ msgstr "" msgid "Only Allow Edit For" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1635 +#: frappe/core/doctype/doctype/doctype.py:1649 msgid "Only Options allowed for Data field are:" msgstr "" @@ -18169,11 +18350,11 @@ msgstr "" msgid "Only allow System Managers to upload public files" msgstr "" -#: frappe/modules/utils.py:68 +#: frappe/modules/utils.py:80 msgid "Only allowed to export customizations in developer mode" msgstr "" -#: frappe/model/document.py:1288 +#: frappe/model/document.py:1287 msgid "Only draft documents can be discarded" msgstr "" @@ -18216,7 +18397,7 @@ msgstr "" msgid "Only {0} emailed reports are allowed per user." msgstr "" -#: frappe/templates/includes/login/login.js:291 +#: frappe/templates/includes/login/login.js:289 msgid "Oops! Something went wrong." msgstr "" @@ -18239,8 +18420,8 @@ msgctxt "Access" msgid "Open" msgstr "" -#: frappe/desk/page/desktop/desktop.js:217 -#: frappe/desk/page/desktop/desktop.js:226 +#: frappe/desk/page/desktop/desktop.js:470 +#: frappe/desk/page/desktop/desktop.js:479 #: frappe/public/js/frappe/ui/keyboard.js:207 #: frappe/public/js/frappe/ui/keyboard.js:217 msgid "Open Awesomebar" @@ -18276,6 +18457,10 @@ msgstr "" msgid "Open Settings" msgstr "" +#: frappe/public/js/frappe/form/toolbar.js:472 +msgid "Open Sidebar" +msgstr "" + #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Open Source Applications for the Web" msgstr "" @@ -18290,7 +18475,7 @@ msgstr "" msgid "Open a dialog with mandatory fields to create a new record quickly. There must be at least one mandatory field to show in dialog." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:238 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:245 msgid "Open a module or tool" msgstr "" @@ -18302,11 +18487,11 @@ msgstr "" msgid "Open in a new tab" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:243 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:250 msgid "Open in new tab" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1441 +#: frappe/public/js/frappe/list/list_view.js:1449 msgctxt "Description of a list view shortcut" msgid "Open list item" msgstr "" @@ -18321,16 +18506,16 @@ msgstr "" #: frappe/desk/doctype/todo/todo_list.js:17 #: frappe/public/js/frappe/form/templates/form_links.html:18 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:314 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:315 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:326 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:327 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:337 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:338 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:347 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:348 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:368 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:369 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:288 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:289 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:300 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:301 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:311 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:312 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:321 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:322 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:340 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:341 msgid "Open {0}" msgstr "" @@ -18362,7 +18547,7 @@ msgstr "" msgid "Operator must be one of {0}" msgstr "" -#: frappe/database/query.py:2031 +#: frappe/database/query.py:2109 msgid "Operator {0} requires exactly 2 arguments (left and right operands)" msgstr "" @@ -18388,7 +18573,7 @@ msgstr "" msgid "Option 3" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1653 +#: frappe/core/doctype/doctype/doctype.py:1667 msgid "Option {0} for field {1} is not a child table" msgstr "" @@ -18422,7 +18607,7 @@ msgstr "" msgid "Options" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1381 +#: frappe/core/doctype/doctype/doctype.py:1395 msgid "Options 'Dynamic Link' type of field must point to another Link Field with options as 'DocType'" msgstr "" @@ -18431,7 +18616,7 @@ msgstr "" msgid "Options Help" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1682 +#: frappe/core/doctype/doctype/doctype.py:1696 msgid "Options for Rating field can range from 3 to 10" msgstr "" @@ -18439,7 +18624,7 @@ msgstr "" msgid "Options for select. Each option on a new line." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1398 +#: frappe/core/doctype/doctype/doctype.py:1412 msgid "Options for {0} must be set before setting the default value." msgstr "" @@ -18447,7 +18632,7 @@ msgstr "" msgid "Options is required for field {0} of type {1}" msgstr "" -#: frappe/model/base_document.py:972 +#: frappe/model/base_document.py:989 msgid "Options not set for link field {0}" msgstr "" @@ -18463,7 +18648,7 @@ msgstr "" msgid "Order" msgstr "" -#: frappe/database/query.py:1216 +#: frappe/database/query.py:1258 msgid "Order By must be a string" msgstr "" @@ -18483,8 +18668,12 @@ msgstr "" msgid "Orientation" msgstr "" -#: frappe/core/doctype/version/version_view.html:14 -#: frappe/core/doctype/version/version_view.html:76 +#: frappe/core/doctype/version/version.py:241 +msgid "Original" +msgstr "" + +#: frappe/core/doctype/version/version_view.html:74 +#: frappe/core/doctype/version/version_view.html:139 msgid "Original Value" msgstr "" @@ -18559,9 +18748,9 @@ msgstr "" #. Option for the 'Format' (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json -#: frappe/printing/page/print/print.js:85 +#: frappe/printing/page/print/print.js:91 #: frappe/public/js/frappe/form/templates/print_layout.html:44 -#: frappe/public/js/frappe/views/reports/query_report.js:1834 +#: frappe/public/js/frappe/views/reports/query_report.js:1884 msgid "PDF" msgstr "" @@ -18570,7 +18759,9 @@ msgid "PDF Generation in Progress" msgstr "" #. Label of the pdf_generator (Select) field in DocType 'Print Format' +#. Label of the pdf_generator (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "PDF Generator" msgstr "" @@ -18602,11 +18793,11 @@ msgstr "" msgid "PDF generation failed because of broken image links" msgstr "" -#: frappe/printing/page/print/print.js:675 +#: frappe/printing/page/print/print.js:683 msgid "PDF generation may not work as expected." msgstr "" -#: frappe/printing/page/print/print.js:593 +#: frappe/printing/page/print/print.js:601 msgid "PDF printing via \"Raw Print\" is not supported." msgstr "" @@ -18765,7 +18956,7 @@ msgstr "" msgid "Page has expired!" msgstr "" -#: frappe/printing/doctype/print_settings/print_settings.py:70 +#: frappe/printing/doctype/print_settings/print_settings.py:71 #: frappe/public/js/frappe/list/bulk_operations.js:106 msgid "Page height and width cannot be zero" msgstr "" @@ -18781,7 +18972,7 @@ msgstr "" #: frappe/public/html/print_template.html:25 #: frappe/public/js/frappe/views/reports/print_tree.html:89 -#: frappe/public/js/frappe/web_form/web_form.js:288 +#: frappe/public/js/frappe/web_form/web_form.js:284 #: frappe/templates/print_formats/standard.html:34 msgid "Page {0} of {1}" msgstr "" @@ -18792,7 +18983,7 @@ msgid "Parameter" msgstr "" #: frappe/public/js/frappe/model/model.js:142 -#: frappe/public/js/frappe/views/workspace/workspace.js:448 +#: frappe/public/js/frappe/views/workspace/workspace.js:496 msgid "Parent" msgstr "" @@ -18825,11 +19016,11 @@ msgstr "" #. Label of the nsm_parent_field (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json -#: frappe/core/doctype/doctype/doctype.py:948 +#: frappe/core/doctype/doctype/doctype.py:951 msgid "Parent Field (Tree)" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:954 +#: frappe/core/doctype/doctype/doctype.py:957 msgid "Parent Field must be a valid fieldname" msgstr "" @@ -18843,7 +19034,7 @@ msgstr "" msgid "Parent Label" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1212 +#: frappe/core/doctype/doctype/doctype.py:1215 msgid "Parent Missing" msgstr "" @@ -18868,11 +19059,11 @@ msgstr "" msgid "Parent-to-child or child-to-different-child grouping is not allowed." msgstr "" -#: frappe/permissions.py:835 +#: frappe/permissions.py:841 msgid "Parentfield not specified in {0}: {1}" msgstr "" -#: frappe/client.py:470 +#: frappe/client.py:519 msgid "Parenttype, Parent and Parentfield are required to insert a child record" msgstr "" @@ -18891,7 +19082,7 @@ msgstr "" msgid "Partially Sent" msgstr "" -#. Label of the participants (Section Break) field in DocType 'Event' +#. Label of the participants_tab (Tab Break) field in DocType 'Event' #: frappe/desk/doctype/event/event.js:30 frappe/desk/doctype/event/event.json msgid "Participants" msgstr "" @@ -18928,11 +19119,11 @@ msgstr "" msgid "Password" msgstr "" -#: frappe/core/doctype/user/user.py:1141 +#: frappe/core/doctype/user/user.py:1144 msgid "Password Email Sent" msgstr "" -#: frappe/core/doctype/user/user.py:497 +#: frappe/core/doctype/user/user.py:500 msgid "Password Reset" msgstr "" @@ -18941,7 +19132,7 @@ msgstr "" msgid "Password Reset Link Generation Limit" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:896 +#: frappe/public/js/frappe/form/grid_row.js:895 msgid "Password cannot be filtered" msgstr "" @@ -18970,11 +19161,11 @@ msgstr "" msgid "Password not found for {0} {1} {2}" msgstr "" -#: frappe/core/doctype/user/user.py:1307 +#: frappe/core/doctype/user/user.py:1310 msgid "Password requirements not met" msgstr "" -#: frappe/core/doctype/user/user.py:1140 +#: frappe/core/doctype/user/user.py:1143 msgid "Password reset instructions have been sent to {}'s email" msgstr "" @@ -18986,7 +19177,7 @@ msgstr "" msgid "Password size exceeded the maximum allowed size" msgstr "" -#: frappe/core/doctype/user/user.py:926 +#: frappe/core/doctype/user/user.py:929 msgid "Password size exceeded the maximum allowed size." msgstr "" @@ -19048,7 +19239,7 @@ msgstr "" msgid "Path to private Key File" msgstr "" -#: frappe/modules/utils.py:209 +#: frappe/modules/utils.py:252 msgid "Path {0} is not within module {1}" msgstr "" @@ -19133,15 +19324,15 @@ msgstr "" msgid "Permanent" msgstr "" -#: frappe/public/js/frappe/form/form.js:1031 +#: frappe/public/js/frappe/form/form.js:1060 msgid "Permanently Cancel {0}?" msgstr "" -#: frappe/public/js/frappe/form/form.js:1077 +#: frappe/public/js/frappe/form/form.js:1106 msgid "Permanently Discard {0}?" msgstr "" -#: frappe/public/js/frappe/form/form.js:864 +#: frappe/public/js/frappe/form/form.js:893 msgid "Permanently Submit {0}?" msgstr "" @@ -19149,7 +19340,11 @@ msgstr "" msgid "Permanently delete {0}?" msgstr "" -#: frappe/core/doctype/user_type/user_type.py:84 frappe/database/query.py:914 +#: frappe/core/page/permission_manager/permission_manager_help.html:19 +msgid "Permission" +msgstr "" + +#: frappe/core/doctype/user_type/user_type.py:84 frappe/database/query.py:957 msgid "Permission Error" msgstr "" @@ -19159,12 +19354,12 @@ msgid "Permission Inspector" msgstr "" #. Label of the permlevel (Int) field in DocType 'Custom Field' -#: frappe/core/page/permission_manager/permission_manager.js:513 +#: frappe/core/page/permission_manager/permission_manager.js:514 #: frappe/custom/doctype/custom_field/custom_field.json msgid "Permission Level" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:22 +#: frappe/core/page/permission_manager/permission_manager_help.html:89 msgid "Permission Levels" msgstr "" @@ -19173,11 +19368,6 @@ msgstr "" msgid "Permission Log" msgstr "" -#. Label of a shortcut in the Users Workspace -#: frappe/core/workspace/users/users.json -msgid "Permission Manager" -msgstr "" - #. Option for the 'Script Type' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json msgid "Permission Query" @@ -19208,7 +19398,6 @@ msgstr "" #. Label of the permissions (Table) field in DocType 'DocType' #. Label of the permissions_tab (Tab Break) field in DocType 'DocType' #. Label of the permissions (Section Break) field in DocType 'System Settings' -#. Label of a Card Break in the Users Workspace #. Label of the permissions (Section Break) field in DocType 'Customize Form #. Field' #: frappe/core/doctype/custom_docperm/custom_docperm.json @@ -19219,13 +19408,12 @@ msgstr "" #: frappe/core/doctype/user/user.js:136 frappe/core/doctype/user/user.js:145 #: frappe/core/doctype/user/user.js:154 #: frappe/core/page/permission_manager/permission_manager.js:221 -#: frappe/core/workspace/users/users.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json msgid "Permissions" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1869 -#: frappe/core/doctype/doctype/doctype.py:1879 +#: frappe/core/doctype/doctype/doctype.py:1933 +#: frappe/core/doctype/doctype/doctype.py:1943 msgid "Permissions Error" msgstr "" @@ -19237,11 +19425,11 @@ msgstr "" msgid "Permissions are set on Roles and Document Types (called DocTypes) by setting rights like Read, Write, Create, Delete, Submit, Cancel, Amend, Report, Import, Export, Print, Email and Set User Permissions." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:26 +#: frappe/core/page/permission_manager/permission_manager_help.html:93 msgid "Permissions at higher levels are Field Level permissions. All Fields have a Permission Level set against them and the rules defined at that permissions apply to the field. This is useful in case you want to hide or make certain field read-only for certain Roles." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:24 +#: frappe/core/page/permission_manager/permission_manager_help.html:91 msgid "Permissions at level 0 are Document Level permissions, i.e. they are primary for access to the document." msgstr "" @@ -19311,13 +19499,13 @@ msgstr "" msgid "Phone No." msgstr "" -#: frappe/utils/__init__.py:124 +#: frappe/utils/__init__.py:115 msgid "Phone Number {0} set in field {1} is not valid." msgstr "" #: frappe/public/js/frappe/form/print_utils.js:68 -#: frappe/public/js/frappe/views/reports/report_view.js:1570 -#: frappe/public/js/frappe/views/reports/report_view.js:1573 +#: frappe/public/js/frappe/views/reports/report_view.js:1571 +#: frappe/public/js/frappe/views/reports/report_view.js:1574 msgid "Pick Columns" msgstr "" @@ -19375,7 +19563,7 @@ msgstr "" msgid "Please Install the ldap3 library via pip to use ldap functionality." msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:308 +#: frappe/public/js/frappe/views/reports/query_report.js:309 msgid "Please Set Chart" msgstr "" @@ -19391,7 +19579,7 @@ msgstr "" msgid "Please add a valid comment." msgstr "" -#: frappe/core/doctype/user/user.py:1123 +#: frappe/core/doctype/user/user.py:1126 msgid "Please ask your administrator to verify your sign-up" msgstr "" @@ -19399,11 +19587,11 @@ msgstr "" msgid "Please attach a file first." msgstr "" -#: frappe/printing/doctype/letter_head/letter_head.py:82 +#: frappe/printing/doctype/letter_head/letter_head.py:89 msgid "Please attach an image file to set HTML for Footer." msgstr "" -#: frappe/printing/doctype/letter_head/letter_head.py:70 +#: frappe/printing/doctype/letter_head/letter_head.py:77 msgid "Please attach an image file to set HTML for Letter Head." msgstr "" @@ -19415,11 +19603,11 @@ msgstr "" msgid "Please check the filter values set for Dashboard Chart: {}" msgstr "" -#: frappe/model/base_document.py:1052 +#: frappe/model/base_document.py:1069 msgid "Please check the value of \"Fetch From\" set for field {0}" msgstr "" -#: frappe/core/doctype/user/user.py:1121 +#: frappe/core/doctype/user/user.py:1124 msgid "Please check your email for verification" msgstr "" @@ -19451,7 +19639,7 @@ msgstr "" msgid "Please confirm your action to {0} this document." msgstr "" -#: frappe/printing/page/print/print.js:677 +#: frappe/printing/page/print/print.js:685 msgid "Please contact your system manager to install correct version." msgstr "" @@ -19481,10 +19669,10 @@ msgstr "" #: frappe/desk/doctype/notification_log/notification_log.js:45 #: frappe/email/doctype/auto_email_report/auto_email_report.js:17 -#: frappe/printing/page/print/print.js:697 -#: frappe/printing/page/print/print.js:733 +#: frappe/printing/page/print/print.js:705 +#: frappe/printing/page/print/print.js:747 #: frappe/public/js/frappe/list/bulk_operations.js:161 -#: frappe/public/js/frappe/utils/utils.js:1577 +#: frappe/public/js/frappe/utils/utils.js:1700 msgid "Please enable pop-ups" msgstr "" @@ -19497,7 +19685,7 @@ msgstr "" msgid "Please enable {} before continuing." msgstr "" -#: frappe/utils/oauth.py:220 +#: frappe/utils/oauth.py:222 msgid "Please ensure that your profile has an email address" msgstr "" @@ -19571,15 +19759,15 @@ msgstr "" msgid "Please make sure the Reference Communication Docs are not circularly linked." msgstr "" -#: frappe/model/document.py:1037 +#: frappe/model/document.py:1036 msgid "Please refresh to get the latest document." msgstr "" -#: frappe/printing/page/print/print.js:594 +#: frappe/printing/page/print/print.js:602 msgid "Please remove the printer mapping in Printer Settings and try again." msgstr "" -#: frappe/public/js/frappe/form/form.js:359 +#: frappe/public/js/frappe/form/form.js:360 msgid "Please save before attaching." msgstr "" @@ -19595,7 +19783,7 @@ msgstr "" msgid "Please save the form before previewing the message" msgstr "" -#: frappe/public/js/frappe/views/reports/report_view.js:1722 +#: frappe/public/js/frappe/views/reports/report_view.js:1723 msgid "Please save the report first" msgstr "" @@ -19615,7 +19803,7 @@ msgstr "" msgid "Please select Minimum Password Score" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1215 +#: frappe/public/js/frappe/views/reports/query_report.js:1232 msgid "Please select X and Y fields" msgstr "" @@ -19623,7 +19811,7 @@ msgstr "" msgid "Please select a DocType in options before setting filters" msgstr "" -#: frappe/utils/__init__.py:131 +#: frappe/utils/__init__.py:122 msgid "Please select a country code for field {1}." msgstr "" @@ -19673,11 +19861,11 @@ msgstr "" msgid "Please set Email Address" msgstr "" -#: frappe/printing/page/print/print.js:608 +#: frappe/printing/page/print/print.js:616 msgid "Please set a printer mapping for this print format in the Printer Settings" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1438 +#: frappe/public/js/frappe/views/reports/query_report.js:1455 msgid "Please set filters" msgstr "" @@ -19685,7 +19873,7 @@ msgstr "" msgid "Please set filters value in Report Filter table." msgstr "" -#: frappe/model/naming.py:580 +#: frappe/model/naming.py:578 msgid "Please set the document name" msgstr "" @@ -19705,7 +19893,7 @@ msgstr "" msgid "Please setup a message first" msgstr "" -#: frappe/core/doctype/user/user.py:462 +#: frappe/core/doctype/user/user.py:465 msgid "Please setup default outgoing Email Account from Settings > Email Account" msgstr "" @@ -19717,7 +19905,7 @@ msgstr "" msgid "Please specify" msgstr "" -#: frappe/permissions.py:809 +#: frappe/permissions.py:815 msgid "Please specify a valid parent DocType for {0}" msgstr "" @@ -19745,7 +19933,7 @@ msgstr "" msgid "Please specify which value field must be checked" msgstr "" -#: frappe/public/js/frappe/request.js:187 +#: frappe/public/js/frappe/request.js:185 #: frappe/public/js/frappe/views/translation_manager.js:102 msgid "Please try again" msgstr "" @@ -19866,11 +20054,11 @@ msgstr "" msgid "Precision" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1691 +#: frappe/core/doctype/doctype/doctype.py:1705 msgid "Precision ({0}) for {1} cannot be greater than its length ({2})." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1415 +#: frappe/core/doctype/doctype/doctype.py:1429 msgid "Precision should be between 1 and 6" msgstr "" @@ -19922,11 +20110,11 @@ msgstr "" msgid "Prepared report render failed" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:478 +#: frappe/public/js/frappe/views/reports/query_report.js:479 msgid "Preparing Report" msgstr "" -#: frappe/public/js/frappe/views/communication.js:425 +#: frappe/public/js/frappe/views/communication.js:484 msgid "Prepend the template to the email message" msgstr "" @@ -19934,7 +20122,7 @@ msgstr "" msgid "Press Alt Key to trigger additional shortcuts in Menu and Sidebar" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:87 +#: frappe/public/js/frappe/list/list_filter.js:104 msgid "Press Enter to save" msgstr "" @@ -19952,7 +20140,7 @@ msgstr "" #: frappe/printing/doctype/print_style/print_style.json #: frappe/public/js/frappe/form/controls/markdown_editor.js:17 #: frappe/public/js/frappe/form/controls/markdown_editor.js:31 -#: frappe/public/js/frappe/ui/capture.js:236 +#: frappe/public/js/frappe/ui/capture.js:237 msgid "Preview" msgstr "" @@ -19996,16 +20184,16 @@ msgstr "" msgid "Previous" msgstr "" -#: frappe/public/js/frappe/ui/slides.js:351 +#: frappe/public/js/frappe/ui/slides.js:365 msgctxt "Go to previous slide" msgid "Previous" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:328 +#: frappe/public/js/frappe/form/toolbar.js:349 msgid "Previous Document" msgstr "" -#: frappe/public/js/frappe/form/form.js:2232 +#: frappe/public/js/frappe/form/form.js:2263 msgid "Previous Submission" msgstr "" @@ -20058,19 +20246,19 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/success_action/success_action.js:58 #: frappe/core/doctype/user_document_type/user_document_type.json -#: frappe/printing/page/print/print.js:79 +#: frappe/core/page/permission_manager/permission_manager_help.html:51 +#: frappe/printing/page/print/print.js:85 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:106 #: frappe/public/js/frappe/form/success_action.js:81 #: frappe/public/js/frappe/form/templates/print_layout.html:46 -#: frappe/public/js/frappe/form/toolbar.js:393 -#: frappe/public/js/frappe/form/toolbar.js:405 #: frappe/public/js/frappe/list/bulk_operations.js:95 -#: frappe/public/js/frappe/views/reports/query_report.js:1819 +#: frappe/public/js/frappe/views/reports/query_report.js:1869 #: frappe/public/js/frappe/views/reports/report_view.js:1533 #: frappe/public/js/frappe/views/treeview.js:492 frappe/www/printview.html:18 msgid "Print" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2243 +#: frappe/public/js/frappe/list/list_view.js:2251 msgctxt "Button in list view actions menu" msgid "Print" msgstr "" @@ -20088,8 +20276,9 @@ msgstr "" #: frappe/core/workspace/build/build.json #: frappe/email/doctype/notification/notification.json #: frappe/printing/doctype/print_format/print_format.json -#: frappe/printing/page/print/print.js:108 -#: frappe/printing/page/print/print.js:886 +#: frappe/printing/page/print/print.js:116 +#: frappe/printing/page/print/print.js:900 +#: frappe/public/js/frappe/form/print_utils.js:31 #: frappe/public/js/frappe/list/bulk_operations.js:59 #: frappe/website/doctype/web_form/web_form.json msgid "Print Format" @@ -20133,7 +20322,7 @@ msgstr "" msgid "Print Format Type" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1608 +#: frappe/public/js/frappe/views/reports/query_report.js:1644 msgid "Print Format not found" msgstr "" @@ -20166,11 +20355,11 @@ msgstr "" msgid "Print Hide If No Value" msgstr "" -#: frappe/public/js/frappe/views/communication.js:159 +#: frappe/public/js/frappe/views/communication.js:186 msgid "Print Language" msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:225 +#: frappe/public/js/frappe/form/print_utils.js:238 msgid "Print Sent to the printer!" msgstr "" @@ -20183,8 +20372,8 @@ msgstr "" #. Name of a DocType #: frappe/printing/doctype/print_settings/print_settings.json #: frappe/printing/doctype/print_style/print_style.js:6 -#: frappe/printing/page/print/print.js:174 -#: frappe/public/js/frappe/form/print_utils.js:99 +#: frappe/printing/page/print/print.js:182 +#: frappe/public/js/frappe/form/print_utils.js:112 #: frappe/public/js/frappe/form/templates/print_layout.html:35 msgid "Print Settings" msgstr "" @@ -20223,7 +20412,7 @@ msgstr "" msgid "Print Width of the field, if the field is a column in a table" msgstr "" -#: frappe/public/js/frappe/form/form.js:171 +#: frappe/public/js/frappe/form/form.js:172 msgid "Print document" msgstr "" @@ -20232,11 +20421,11 @@ msgstr "" msgid "Print with letterhead" msgstr "" -#: frappe/printing/page/print/print.js:895 +#: frappe/printing/page/print/print.js:909 msgid "Printer" msgstr "" -#: frappe/printing/page/print/print.js:872 +#: frappe/printing/page/print/print.js:886 msgid "Printer Mapping" msgstr "" @@ -20246,11 +20435,11 @@ msgstr "" msgid "Printer Name" msgstr "" -#: frappe/printing/page/print/print.js:864 +#: frappe/printing/page/print/print.js:878 msgid "Printer Settings" msgstr "" -#: frappe/printing/page/print/print.js:607 +#: frappe/printing/page/print/print.js:615 msgid "Printer mapping not set." msgstr "" @@ -20303,7 +20492,7 @@ msgstr "" msgid "Proceed" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:943 +#: frappe/public/js/frappe/views/reports/query_report.js:960 msgid "Proceed Anyway" msgstr "" @@ -20343,9 +20532,9 @@ msgid "Project" msgstr "" #. Label of the property (Data) field in DocType 'Property Setter' -#: frappe/core/doctype/version/version_view.html:13 -#: frappe/core/doctype/version/version_view.html:38 -#: frappe/core/doctype/version/version_view.html:75 +#: frappe/core/doctype/version/version_view.html:73 +#: frappe/core/doctype/version/version_view.html:101 +#: frappe/core/doctype/version/version_view.html:138 #: frappe/custom/doctype/property_setter/property_setter.json msgid "Property" msgstr "" @@ -20415,7 +20604,7 @@ msgstr "" #: frappe/desk/doctype/note/note_list.js:6 #: frappe/desk/doctype/workspace/workspace.json #: frappe/public/js/frappe/views/interaction.js:78 -#: frappe/public/js/frappe/views/workspace/workspace.js:454 +#: frappe/public/js/frappe/views/workspace/workspace.js:502 msgid "Public" msgstr "" @@ -20565,7 +20754,7 @@ msgstr "" msgid "QR Code for Login Verification" msgstr "" -#: frappe/public/js/frappe/form/print_utils.js:234 +#: frappe/public/js/frappe/form/print_utils.js:247 msgid "QZ Tray Failed:" msgstr "" @@ -20627,7 +20816,7 @@ msgstr "" msgid "Queue" msgstr "" -#: frappe/utils/background_jobs.py:738 +#: frappe/utils/background_jobs.py:737 msgid "Queue Overloaded" msgstr "" @@ -20648,7 +20837,7 @@ msgstr "" msgid "Queue in Background (BETA)" msgstr "" -#: frappe/utils/background_jobs.py:563 +#: frappe/utils/background_jobs.py:562 msgid "Queue should be one of {0}" msgstr "" @@ -20689,7 +20878,7 @@ msgstr "" msgid "Queues" msgstr "" -#: frappe/desk/doctype/bulk_update/bulk_update.py:85 +#: frappe/desk/doctype/bulk_update/bulk_update.py:86 msgid "Queuing {0} for Submission" msgstr "" @@ -20781,6 +20970,15 @@ msgstr "" msgid "Raw Email" msgstr "" +#: frappe/core/doctype/communication/email.py:95 +msgid "Raw HTML can be used only with Email Templates having 'Use HTML' checked. Proceeding with plain text email." +msgstr "" + +#. Description of the 'Send As Raw HTML' (Check) field in DocType 'Email Queue' +#: frappe/email/doctype/email_queue/email_queue.json +msgid "Raw HTML emails are rendered as complete Jinja templates. Otherwise, emails are wrapped in the standard.html email template, which inserts brand_logo, header and footer." +msgstr "" + #. Label of the raw_printing (Check) field in DocType 'Print Format' #. Label of the raw_printing_section (Section Break) field in DocType 'Print #. Settings' @@ -20789,7 +20987,7 @@ msgstr "" msgid "Raw Printing" msgstr "" -#: frappe/printing/page/print/print.js:179 +#: frappe/printing/page/print/print.js:187 msgid "Raw Printing Setting" msgstr "" @@ -20807,7 +21005,7 @@ msgstr "" #: frappe/core/doctype/communication/communication.js:268 #: frappe/public/js/frappe/form/footer/form_timeline.js:601 -#: frappe/public/js/frappe/views/communication.js:361 +#: frappe/public/js/frappe/views/communication.js:419 msgid "Re: {0}" msgstr "" @@ -20818,11 +21016,12 @@ msgstr "" #. Label of the read (Check) field in DocType 'User Document Type' #. Label of the read (Check) field in DocType 'Notification Log' #. Option for the 'Action' (Select) field in DocType 'Email Flag Queue' -#: frappe/client.py:453 frappe/core/doctype/communication/communication.json +#: frappe/client.py:502 frappe/core/doctype/communication/communication.json #: frappe/core/doctype/custom_docperm/custom_docperm.json #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:31 #: frappe/desk/doctype/notification_log/notification_log.json #: frappe/email/doctype/email_flag_queue/email_flag_queue.json #: frappe/public/js/frappe/form/templates/set_sharing.html:2 @@ -20859,7 +21058,7 @@ msgstr "" msgid "Read Only Depends On (JS)" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:18 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:8 #: frappe/templates/includes/navbar/navbar_items.html:97 msgid "Read Only Mode" msgstr "" @@ -20899,7 +21098,7 @@ msgstr "" msgid "Reason" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:897 +#: frappe/public/js/frappe/views/reports/query_report.js:914 msgid "Rebuild" msgstr "" @@ -20941,7 +21140,7 @@ msgstr "" msgid "Recent years are easy to guess." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:576 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:546 msgid "Recents" msgstr "" @@ -20992,7 +21191,7 @@ msgstr "" msgid "Records for following doctypes will be filtered" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1623 +#: frappe/core/doctype/doctype/doctype.py:1637 msgid "Recursive Fetch From" msgstr "" @@ -21058,12 +21257,12 @@ msgstr "" msgid "Redis cache server not running. Please contact Administrator / Tech support" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:563 +#: frappe/public/js/frappe/form/toolbar.js:566 msgid "Redo" msgstr "" #: frappe/public/js/frappe/form/form.js:165 -#: frappe/public/js/frappe/form/toolbar.js:571 +#: frappe/public/js/frappe/form/toolbar.js:574 msgid "Redo last action" msgstr "" @@ -21279,12 +21478,12 @@ msgstr "" msgid "Referrer" msgstr "" -#: frappe/printing/page/print/print.js:87 frappe/public/js/frappe/desk.js:168 +#: frappe/printing/page/print/print.js:93 frappe/public/js/frappe/desk.js:168 #: frappe/public/js/frappe/desk.js:552 -#: frappe/public/js/frappe/form/form.js:1213 +#: frappe/public/js/frappe/form/form.js:1242 #: frappe/public/js/frappe/form/templates/print_layout.html:6 #: frappe/public/js/frappe/list/base_list.js:67 -#: frappe/public/js/frappe/views/reports/query_report.js:1808 +#: frappe/public/js/frappe/views/reports/query_report.js:1858 #: frappe/public/js/frappe/views/treeview.js:498 #: frappe/public/js/frappe/widgets/chart_widget.js:291 #: frappe/public/js/frappe/widgets/number_card_widget.js:352 @@ -21301,7 +21500,7 @@ msgstr "" msgid "Refresh Google Sheet" msgstr "" -#: frappe/printing/page/print/print.js:390 +#: frappe/printing/page/print/print.js:398 msgid "Refresh Print Preview" msgstr "" @@ -21316,7 +21515,7 @@ msgstr "" msgid "Refresh Token" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:537 +#: frappe/public/js/frappe/list/list_view.js:540 msgctxt "Document count in list view" msgid "Refreshing" msgstr "" @@ -21327,7 +21526,7 @@ msgstr "" msgid "Refreshing..." msgstr "" -#: frappe/core/doctype/user/user.py:1083 +#: frappe/core/doctype/user/user.py:1086 msgid "Registered but disabled" msgstr "" @@ -21373,10 +21572,8 @@ msgstr "" msgid "Relinked" msgstr "" -#. Label of a standard navbar item -#. Type: Action -#: frappe/custom/doctype/customize_form/customize_form.js:120 frappe/hooks.py -#: frappe/public/js/frappe/form/toolbar.js:480 +#: frappe/custom/doctype/customize_form/customize_form.js:120 +#: frappe/public/js/frappe/form/toolbar.js:483 msgid "Reload" msgstr "" @@ -21388,7 +21585,7 @@ msgstr "" msgid "Reload List" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:100 +#: frappe/public/js/frappe/views/reports/query_report.js:101 msgid "Reload Report" msgstr "" @@ -21407,7 +21604,7 @@ msgstr "" msgid "Remind At" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:512 +#: frappe/public/js/frappe/form/toolbar.js:515 msgid "Remind Me" msgstr "" @@ -21487,9 +21684,9 @@ msgid "Removed" msgstr "" #: frappe/custom/doctype/custom_field/custom_field.js:138 -#: frappe/public/js/frappe/form/toolbar.js:265 -#: frappe/public/js/frappe/form/toolbar.js:269 -#: frappe/public/js/frappe/form/toolbar.js:468 +#: frappe/public/js/frappe/form/toolbar.js:282 +#: frappe/public/js/frappe/form/toolbar.js:286 +#: frappe/public/js/frappe/form/toolbar.js:458 #: frappe/public/js/frappe/model/model.js:723 #: frappe/public/js/frappe/views/treeview.js:311 msgid "Rename" @@ -21517,7 +21714,7 @@ msgstr "" msgid "Reopen" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:580 +#: frappe/public/js/frappe/form/toolbar.js:583 msgid "Repeat" msgstr "" @@ -21564,7 +21761,7 @@ msgstr "" msgid "Repeats like \"abcabcabc\" are only slightly harder to guess than \"abc\"" msgstr "" -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:174 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:196 msgid "Repeats {0}" msgstr "" @@ -21627,6 +21824,7 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/report/report.json #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json +#: frappe/core/page/permission_manager/permission_manager_help.html:61 #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.js:8 #: frappe/core/workspace/build/build.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -21641,10 +21839,9 @@ msgstr "" #: frappe/email/doctype/auto_email_report/auto_email_report.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format/print_format.py:104 -#: frappe/public/js/frappe/form/print_utils.js:31 -#: frappe/public/js/frappe/request.js:616 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:104 -#: frappe/public/js/frappe/utils/utils.js:949 +#: frappe/public/js/frappe/request.js:614 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:95 +#: frappe/public/js/frappe/utils/utils.js:947 msgid "Report" msgstr "" @@ -21713,7 +21910,7 @@ msgstr "" #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:39 #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/number_card/number_card.json -#: frappe/public/js/frappe/views/reports/query_report.js:1995 +#: frappe/public/js/frappe/views/reports/query_report.js:2048 msgid "Report Name" msgstr "" @@ -21747,14 +21944,10 @@ msgstr "" msgid "Report View" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:44 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:63 msgid "Report bug" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1844 -msgid "Report cannot be set for Single types" -msgstr "" - #: frappe/desk/doctype/dashboard_chart/dashboard_chart.js:208 #: frappe/desk/doctype/number_card/number_card.js:194 msgid "Report has no data, please modify the filters or change the Report Name" @@ -21765,7 +21958,7 @@ msgstr "" msgid "Report has no numeric fields, please change the Report Name" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1024 +#: frappe/public/js/frappe/views/reports/query_report.js:1041 msgid "Report initiated, click to view status" msgstr "" @@ -21777,7 +21970,7 @@ msgstr "" msgid "Report timed out." msgstr "" -#: frappe/desk/query_report.py:686 +#: frappe/desk/query_report.py:685 msgid "Report updated successfully" msgstr "" @@ -21785,12 +21978,12 @@ msgstr "" msgid "Report was not saved (there were errors)" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2033 +#: frappe/public/js/frappe/views/reports/query_report.js:2086 msgid "Report with more than 10 columns looks better in Landscape mode." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:286 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:287 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:262 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:263 msgid "Report {0}" msgstr "" @@ -21813,7 +22006,7 @@ msgstr "" #. Label of the prepared_report_section (Section Break) field in DocType #. 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:591 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:561 msgid "Reports" msgstr "" @@ -21821,7 +22014,7 @@ msgstr "" msgid "Reports & Masters" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:940 +#: frappe/public/js/frappe/views/reports/query_report.js:957 msgid "Reports already in Queue" msgstr "" @@ -21880,13 +22073,13 @@ msgstr "" msgid "Request Structure" msgstr "" -#: frappe/public/js/frappe/request.js:231 +#: frappe/public/js/frappe/request.js:229 msgid "Request Timed Out" msgstr "" #. Label of the timeout (Int) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json -#: frappe/public/js/frappe/request.js:244 +#: frappe/public/js/frappe/request.js:242 msgid "Request Timeout" msgstr "" @@ -22002,7 +22195,7 @@ msgstr "" msgid "Reset sorting" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:433 +#: frappe/public/js/frappe/form/grid_row.js:435 msgid "Reset to default" msgstr "" @@ -22060,7 +22253,7 @@ msgstr "" msgid "Response Type" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:445 +#: frappe/public/js/frappe/ui/notifications/notifications.js:454 msgid "Rest of the day" msgstr "" @@ -22069,7 +22262,7 @@ msgstr "" msgid "Restore" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:559 +#: frappe/core/page/permission_manager/permission_manager.js:560 msgid "Restore Original Permissions" msgstr "" @@ -22091,6 +22284,11 @@ msgstr "" msgid "Restrict IP" msgstr "" +#. Label of the restrict_removal (Check) field in DocType 'Desktop Icon' +#: frappe/desk/doctype/desktop_icon/desktop_icon.json +msgid "Restrict Removal" +msgstr "" + #. Label of the restrict_to_domain (Link) field in DocType 'DocType' #. Label of the restrict_to_domain (Link) field in DocType 'Module Def' #. Label of the restrict_to_domain (Link) field in DocType 'Page' @@ -22118,8 +22316,8 @@ msgctxt "Title of message showing restrictions in list view" msgid "Restrictions" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:455 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:470 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:457 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:472 msgid "Result" msgstr "" @@ -22166,9 +22364,15 @@ msgstr "" msgid "Rich Text" msgstr "" +#. Option for the 'Alignment' (Select) field in DocType 'DocField' +#. Option for the 'Alignment' (Select) field in DocType 'Custom Field' +#. Option for the 'Alignment' (Select) field in DocType 'Customize Form Field' #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #. Option for the 'Align' (Select) field in DocType 'Letter Head' #. Option for the 'Text Align' (Select) field in DocType 'Web Page' +#: frappe/core/doctype/docfield/docfield.json +#: frappe/custom/doctype/custom_field/custom_field.json +#: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/form_tour_step/form_tour_step.json #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json @@ -22203,8 +22407,6 @@ msgstr "" #. Name of a DocType #. Label of the role (Link) field in DocType 'User Role' #. Label of the role (Link) field in DocType 'User Type' -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace #. Label of the role (Link) field in DocType 'Onboarding Permission' #. Label of the role (Link) field in DocType 'ToDo' #. Label of the role (Link) field in DocType 'OAuth Client Role' @@ -22219,8 +22421,7 @@ msgstr "" #: frappe/core/doctype/user_type/user_type.json #: frappe/core/doctype/user_type/user_type.py:110 #: frappe/core/page/permission_manager/permission_manager.js:219 -#: frappe/core/page/permission_manager/permission_manager.js:506 -#: frappe/core/workspace/users/users.json +#: frappe/core/page/permission_manager/permission_manager.js:507 #: frappe/desk/doctype/onboarding_permission/onboarding_permission.json #: frappe/desk/doctype/todo/todo.json #: frappe/integrations/doctype/oauth_client_role/oauth_client_role.json @@ -22264,7 +22465,7 @@ msgstr "" msgid "Role Permissions Manager" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1936 +#: frappe/public/js/frappe/list/list_view.js:1944 msgctxt "Button in list view menu" msgid "Role Permissions Manager" msgstr "" @@ -22272,11 +22473,9 @@ msgstr "" #. Name of a DocType #. Label of the role_profile_name (Link) field in DocType 'User' #. Label of the role_profile (Link) field in DocType 'User Role Profile' -#. Label of a Link in the Users Workspace #: frappe/core/doctype/role_profile/role_profile.json #: frappe/core/doctype/user/user.json #: frappe/core/doctype/user_role_profile/user_role_profile.json -#: frappe/core/workspace/users/users.json msgid "Role Profile" msgstr "" @@ -22298,7 +22497,7 @@ msgstr "" msgid "Role and Level" msgstr "" -#: frappe/core/doctype/user/user.py:403 +#: frappe/core/doctype/user/user.py:406 msgid "Role has been set as per the user type {0}" msgstr "" @@ -22417,20 +22616,20 @@ msgstr "" msgid "Route: Example \"/app\"" msgstr "" -#: frappe/model/base_document.py:953 frappe/model/document.py:822 +#: frappe/model/base_document.py:972 frappe/model/document.py:821 msgid "Row" msgstr "" -#: frappe/core/doctype/version/version_view.html:74 +#: frappe/core/doctype/version/version_view.html:137 msgid "Row #" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1866 -#: frappe/core/doctype/doctype/doctype.py:1876 -msgid "Row # {0}: Non administrator user can not set the role {1} to the custom doctype" +#: frappe/core/doctype/doctype/doctype.py:1930 +#: frappe/core/doctype/doctype/doctype.py:1940 +msgid "Row # {0}: Non-administrator users cannot add the role {1} to a custom DocType." msgstr "" -#: frappe/model/base_document.py:1083 +#: frappe/model/base_document.py:1100 msgid "Row #{0}:" msgstr "" @@ -22457,7 +22656,7 @@ msgstr "" msgid "Row Number" msgstr "" -#: frappe/core/doctype/version/version_view.html:69 +#: frappe/core/doctype/version/version_view.html:132 msgid "Row Values Changed" msgstr "" @@ -22476,14 +22675,14 @@ msgstr "" #. Label of the rows_added_section (Section Break) field in DocType 'Audit #. Trail' #: frappe/core/doctype/audit_trail/audit_trail.json -#: frappe/core/doctype/version/version_view.html:33 +#: frappe/core/doctype/version/version_view.html:96 msgid "Rows Added" msgstr "" #. Label of the rows_removed_section (Section Break) field in DocType 'Audit #. Trail' #: frappe/core/doctype/audit_trail/audit_trail.json -#: frappe/core/doctype/version/version_view.html:33 +#: frappe/core/doctype/version/version_view.html:96 msgid "Rows Removed" msgstr "" @@ -22506,7 +22705,7 @@ msgstr "" msgid "Rule Conditions" msgstr "" -#: frappe/permissions.py:681 +#: frappe/permissions.py:687 msgid "Rule for this doctype, role, permlevel and if-owner combination already exists." msgstr "" @@ -22586,7 +22785,7 @@ msgstr "" msgid "SMS sent successfully" msgstr "" -#: frappe/templates/includes/login/login.js:369 +#: frappe/templates/includes/login/login.js:368 msgid "SMS was not sent. Please contact Administrator." msgstr "" @@ -22620,7 +22819,7 @@ msgstr "" msgid "SQL Queries" msgstr "" -#: frappe/database/query.py:1876 +#: frappe/database/query.py:1954 msgid "SQL functions are not allowed as strings in SELECT: {0}. Use dict syntax like {{'COUNT': '*'}} instead." msgstr "" @@ -22692,22 +22891,23 @@ msgstr "" #. Option for the 'Send Alert On' (Select) field in DocType 'Notification' #: cypress/integration/web_form.js:52 #: frappe/core/doctype/data_import/data_import.js:119 +#: frappe/desk/page/desktop/desktop.html:65 #: frappe/email/doctype/notification/notification.json -#: frappe/printing/page/print/print.js:923 +#: frappe/printing/page/print/print.js:937 #: frappe/printing/page/print_format_builder/print_format_builder.js:160 #: frappe/public/js/frappe/form/footer/form_timeline.js:678 -#: frappe/public/js/frappe/form/quick_entry.js:185 +#: frappe/public/js/frappe/form/quick_entry.js:196 #: frappe/public/js/frappe/list/list_settings.js:37 #: frappe/public/js/frappe/list/list_settings.js:245 -#: frappe/public/js/frappe/list/list_view.js:1998 -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:267 +#: frappe/public/js/frappe/list/list_view.js:2006 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:252 #: frappe/public/js/frappe/utils/common.js:452 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:45 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:189 #: frappe/public/js/frappe/views/kanban/kanban_view.js:357 -#: frappe/public/js/frappe/views/reports/query_report.js:1987 -#: frappe/public/js/frappe/views/reports/report_view.js:1739 -#: frappe/public/js/frappe/views/workspace/workspace.js:350 +#: frappe/public/js/frappe/views/reports/query_report.js:2040 +#: frappe/public/js/frappe/views/reports/report_view.js:1740 +#: frappe/public/js/frappe/views/workspace/workspace.js:398 #: frappe/public/js/frappe/widgets/base_widget.js:142 #: frappe/public/js/frappe/widgets/quick_list_widget.js:120 #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:15 @@ -22720,7 +22920,7 @@ msgid "Save Anyway" msgstr "" #: frappe/public/js/frappe/views/reports/report_view.js:1384 -#: frappe/public/js/frappe/views/reports/report_view.js:1746 +#: frappe/public/js/frappe/views/reports/report_view.js:1747 msgid "Save As" msgstr "" @@ -22728,7 +22928,7 @@ msgstr "" msgid "Save Customizations" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1990 +#: frappe/public/js/frappe/views/reports/query_report.js:2043 msgid "Save Report" msgstr "" @@ -22746,20 +22946,20 @@ msgid "Save the document." msgstr "" #: frappe/model/rename_doc.py:106 -#: frappe/printing/page/print_format_builder/print_format_builder.js:858 -#: frappe/public/js/frappe/form/toolbar.js:297 +#: frappe/printing/page/print_format_builder/print_format_builder.js:892 +#: frappe/public/js/frappe/form/toolbar.js:315 #: frappe/public/js/frappe/views/kanban/kanban_board.bundle.js:917 -#: frappe/public/js/frappe/views/workspace/workspace.js:729 +#: frappe/public/js/frappe/views/workspace/workspace.js:778 msgid "Saved" msgstr "" -#: frappe/public/js/frappe/list/list_filter.js:20 +#: frappe/public/js/frappe/list/list_filter.js:21 msgid "Saved Filters" msgstr "" #: frappe/public/js/frappe/list/list_settings.js:41 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:47 -#: frappe/public/js/frappe/views/workspace/workspace.js:362 +#: frappe/public/js/frappe/views/workspace/workspace.js:410 msgid "Saving" msgstr "" @@ -22768,11 +22968,11 @@ msgctxt "Freeze message while saving a document" msgid "Saving" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2009 +#: frappe/public/js/frappe/list/list_view.js:2017 msgid "Saving Changes..." msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:411 +#: frappe/custom/doctype/customize_form/customize_form.js:421 msgid "Saving Customization..." msgstr "" @@ -22976,7 +23176,7 @@ msgstr "" #: frappe/public/js/frappe/form/link_selector.js:46 #: frappe/public/js/frappe/list/list_sidebar_stat.html:4 #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:20 -#: frappe/public/js/frappe/ui/sidebar/sidebar.js:246 +#: frappe/public/js/frappe/ui/sidebar/sidebar.js:282 #: frappe/public/js/frappe/ui/toolbar/search.js:49 #: frappe/public/js/frappe/ui/toolbar/search.js:68 #: frappe/templates/discussions/search.html:2 @@ -22996,7 +23196,7 @@ msgstr "" msgid "Search Fields" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:253 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:260 msgid "Search Help" msgstr "" @@ -23014,7 +23214,7 @@ msgstr "" msgid "Search by filename or extension" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1482 +#: frappe/core/doctype/doctype/doctype.py:1496 msgid "Search field {0} is not valid" msgstr "" @@ -23031,12 +23231,12 @@ msgstr "" msgid "Search for anything" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:367 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:374 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:372 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:378 msgid "Search for {0}" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:228 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:235 msgid "Search in a document type" msgstr "" @@ -23108,15 +23308,15 @@ msgstr "" msgid "Security Settings" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:340 +#: frappe/public/js/frappe/ui/notifications/notifications.js:349 msgid "See all Activity" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:866 +#: frappe/public/js/frappe/views/reports/query_report.js:883 msgid "See all past reports." msgstr "" -#: frappe/public/js/frappe/form/form.js:1247 +#: frappe/public/js/frappe/form/form.js:1276 #: frappe/website/doctype/contact_us_settings/contact_us_settings.js:4 msgid "See on Website" msgstr "" @@ -23166,24 +23366,26 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/report_column/report_column.json #: frappe/core/doctype/report_filter/report_filter.json +#: frappe/core/page/permission_manager/permission_manager_help.html:26 #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json -#: frappe/printing/page/print/print.js:661 +#: frappe/printing/page/print/print.js:669 #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Select" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:149 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:8 +#: frappe/public/js/frappe/data_import/data_exporter.js:150 #: frappe/public/js/frappe/form/controls/multicheck.js:167 #: frappe/public/js/frappe/form/controls/multiselect_list.js:6 -#: frappe/public/js/frappe/form/grid_row.js:497 -#: frappe/public/js/frappe/views/reports/report_view.js:1605 +#: frappe/public/js/frappe/form/grid_row.js:499 +#: frappe/public/js/frappe/views/reports/report_view.js:1606 msgid "Select All" msgstr "" -#: frappe/public/js/frappe/views/communication.js:168 -#: frappe/public/js/frappe/views/communication.js:592 +#: frappe/public/js/frappe/views/communication.js:202 +#: frappe/public/js/frappe/views/communication.js:653 #: frappe/public/js/frappe/views/interaction.js:93 #: frappe/public/js/frappe/views/interaction.js:155 msgid "Select Attachments" @@ -23199,7 +23401,7 @@ msgid "Select Column" msgstr "" #: frappe/printing/page/print_format_builder/print_format_builder_field.html:42 -#: frappe/public/js/frappe/form/print_utils.js:73 +#: frappe/public/js/frappe/form/print_utils.js:74 msgid "Select Columns" msgstr "" @@ -23243,13 +23445,13 @@ msgstr "" msgid "Select Document Type or Role to start." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:34 +#: frappe/core/page/permission_manager/permission_manager_help.html:101 msgid "Select Document Types to set which User Permissions are used to limit access." msgstr "" #: frappe/public/js/form_builder/components/controls/FetchFromControl.vue:33 #: frappe/public/js/frappe/doctype/index.js:207 -#: frappe/public/js/frappe/form/toolbar.js:871 +#: frappe/public/js/frappe/form/toolbar.js:874 msgid "Select Field" msgstr "" @@ -23258,7 +23460,7 @@ msgstr "" msgid "Select Field..." msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:489 +#: frappe/public/js/frappe/form/grid_row.js:491 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:181 msgid "Select Fields" msgstr "" @@ -23267,19 +23469,19 @@ msgstr "" msgid "Select Fields (Up to {0})" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:147 +#: frappe/public/js/frappe/data_import/data_exporter.js:148 msgid "Select Fields To Insert" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:148 +#: frappe/public/js/frappe/data_import/data_exporter.js:149 msgid "Select Fields To Update" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1994 +#: frappe/public/js/frappe/list/list_view.js:2002 msgid "Select Filters" msgstr "" -#: frappe/desk/doctype/event/event.py:107 +#: frappe/desk/doctype/event/event.py:112 msgid "Select Google Calendar to which event should be synced." msgstr "" @@ -23304,16 +23506,16 @@ msgstr "" msgid "Select List View" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:158 +#: frappe/public/js/frappe/data_import/data_exporter.js:159 msgid "Select Mandatory" msgstr "" -#: frappe/custom/doctype/customize_form/customize_form.js:280 +#: frappe/custom/doctype/customize_form/customize_form.js:290 msgid "Select Module" msgstr "" -#: frappe/printing/page/print/print.js:189 -#: frappe/printing/page/print/print.js:644 +#: frappe/printing/page/print/print.js:197 +#: frappe/printing/page/print/print.js:652 msgid "Select Network Printer" msgstr "" @@ -23323,7 +23525,7 @@ msgid "Select Page" msgstr "" #: frappe/printing/page/print_format_builder_beta/print_format_builder_beta.js:68 -#: frappe/public/js/frappe/views/communication.js:151 +#: frappe/public/js/frappe/views/communication.js:178 msgid "Select Print Format" msgstr "" @@ -23381,11 +23583,11 @@ msgstr "" msgid "Select a group {0} first." msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1977 +#: frappe/core/doctype/doctype/doctype.py:2041 msgid "Select a valid Sender Field for creating documents from Email" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1961 +#: frappe/core/doctype/doctype/doctype.py:2025 msgid "Select a valid Subject field for creating documents from Email" msgstr "" @@ -23411,13 +23613,13 @@ msgstr "" msgid "Select atleast 2 actions" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1455 +#: frappe/public/js/frappe/list/list_view.js:1463 msgctxt "Description of a list view shortcut" msgid "Select list item" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1407 -#: frappe/public/js/frappe/list/list_view.js:1423 +#: frappe/public/js/frappe/list/list_view.js:1415 +#: frappe/public/js/frappe/list/list_view.js:1431 msgctxt "Description of a list view shortcut" msgid "Select multiple list items" msgstr "" @@ -23451,7 +23653,7 @@ msgstr "" msgid "Select {0}" msgstr "" -#: frappe/model/workflow.py:120 +#: frappe/model/workflow.py:138 msgid "Self approval is not allowed" msgstr "" @@ -23481,6 +23683,11 @@ msgstr "" msgid "Send Alert On" msgstr "" +#. Label of the raw_html (Check) field in DocType 'Email Queue' +#: frappe/email/doctype/email_queue/email_queue.json +msgid "Send As Raw HTML" +msgstr "" + #. Label of the send_email_alert (Check) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Send Email Alert" @@ -23533,7 +23740,7 @@ msgstr "" msgid "Send Print as PDF" msgstr "" -#: frappe/public/js/frappe/views/communication.js:141 +#: frappe/public/js/frappe/views/communication.js:168 msgid "Send Read Receipt" msgstr "" @@ -23596,7 +23803,7 @@ msgstr "" msgid "Send login link" msgstr "" -#: frappe/public/js/frappe/views/communication.js:135 +#: frappe/public/js/frappe/views/communication.js:162 msgid "Send me a copy" msgstr "" @@ -23635,7 +23842,7 @@ msgstr "" msgid "Sender Email Field" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1980 +#: frappe/core/doctype/doctype/doctype.py:2044 msgid "Sender Field should have Email in options" msgstr "" @@ -23729,7 +23936,7 @@ msgstr "" msgid "Series counter for {} updated to {} successfully" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1124 +#: frappe/core/doctype/doctype/doctype.py:1127 #: frappe/core/doctype/document_naming_settings/document_naming_settings.py:170 msgid "Series {0} already used in {1}" msgstr "" @@ -23739,7 +23946,7 @@ msgstr "" msgid "Server Action" msgstr "" -#: frappe/app.py:399 frappe/public/js/frappe/request.js:611 +#: frappe/app.py:399 frappe/public/js/frappe/request.js:609 #: frappe/www/error.html:36 frappe/www/error.py:15 msgid "Server Error" msgstr "" @@ -23766,11 +23973,15 @@ msgstr "" msgid "Server Scripts feature is not available on this site." msgstr "" -#: frappe/public/js/frappe/request.js:254 +#: frappe/public/js/frappe/file_uploader/FileUploader.vue:641 +msgid "Server error during upload. The file might be corrupted." +msgstr "" + +#: frappe/public/js/frappe/request.js:252 msgid "Server failed to process this request because of a concurrent conflicting request. Please try again." msgstr "" -#: frappe/public/js/frappe/request.js:246 +#: frappe/public/js/frappe/request.js:244 msgid "Server was too busy to process this request. Please try again." msgstr "" @@ -23798,16 +24009,14 @@ msgstr "" msgid "Session Default Settings" msgstr "" -#. Label of a standard navbar item -#. Type: Action #. Label of the session_defaults (Table) field in DocType 'Session Default #. Settings' #: frappe/core/doctype/session_default_settings/session_default_settings.json -#: frappe/hooks.py frappe/public/js/frappe/ui/toolbar/toolbar.js:266 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:251 msgid "Session Defaults" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:251 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:236 msgid "Session Defaults Saved" msgstr "" @@ -23848,7 +24057,7 @@ msgstr "" msgid "Set Banner from Image" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:200 +#: frappe/public/js/frappe/views/reports/query_report.js:201 msgid "Set Chart" msgstr "" @@ -23874,7 +24083,7 @@ msgstr "" msgid "Set Filters for {0}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2143 +#: frappe/public/js/frappe/views/reports/query_report.js:2199 msgid "Set Level" msgstr "" @@ -23917,8 +24126,8 @@ msgstr "" msgid "Set Property After Alert" msgstr "" -#: frappe/public/js/frappe/form/link_selector.js:207 -#: frappe/public/js/frappe/form/link_selector.js:208 +#: frappe/public/js/frappe/form/link_selector.js:216 +#: frappe/public/js/frappe/form/link_selector.js:217 msgid "Set Quantity" msgstr "" @@ -23938,12 +24147,12 @@ msgstr "" msgid "Set Value" msgstr "" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:96 -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:155 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:103 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:162 msgid "Set all private" msgstr "" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:96 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:103 msgid "Set all public" msgstr "" @@ -24050,8 +24259,8 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json frappe/core/doctype/user/user.json #: frappe/integrations/workspace/integrations/integrations.json #: frappe/public/js/frappe/form/templates/print_layout.html:25 -#: frappe/public/js/frappe/ui/toolbar/toolbar.js:224 -#: frappe/public/js/frappe/views/workspace/workspace.js:376 +#: frappe/public/js/frappe/ui/toolbar/toolbar.js:209 +#: frappe/public/js/frappe/views/workspace/workspace.js:424 #: frappe/website/doctype/web_form/web_form.json #: frappe/website/doctype/web_page/web_page.json frappe/www/me.html:20 msgid "Settings" @@ -24074,11 +24283,11 @@ msgstr "" #. Option for the 'Show in Module Section' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:611 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:581 msgid "Setup" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:27 +#: frappe/core/page/permission_manager/permission_manager_help.html:94 msgid "Setup > Customize Form" msgstr "" @@ -24086,12 +24295,12 @@ msgstr "" msgid "Setup > User" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:33 +#: frappe/core/page/permission_manager/permission_manager_help.html:100 msgid "Setup > User Permissions" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1856 -#: frappe/public/js/frappe/views/reports/report_view.js:1717 +#: frappe/public/js/frappe/views/reports/query_report.js:1905 +#: frappe/public/js/frappe/views/reports/report_view.js:1718 msgid "Setup Auto Email" msgstr "" @@ -24120,13 +24329,14 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:76 #: frappe/desk/doctype/notification_log/notification_log.json -#: frappe/public/js/frappe/form/templates/form_sidebar.html:112 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:133 #: frappe/public/js/frappe/form/templates/set_sharing.html:5 msgid "Share" msgstr "" -#: frappe/public/js/frappe/form/sidebar/share.js:108 +#: frappe/public/js/frappe/form/sidebar/share.js:114 msgid "Share With" msgstr "" @@ -24134,7 +24344,7 @@ msgstr "" msgid "Share this document with" msgstr "" -#: frappe/public/js/frappe/form/sidebar/share.js:45 +#: frappe/public/js/frappe/form/sidebar/share.js:51 msgid "Share {0} with" msgstr "" @@ -24194,16 +24404,10 @@ msgstr "" msgid "Show Absolute Values" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:93 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:114 msgid "Show All" msgstr "" -#. Label of the show_app_icons_as_folder (Check) field in DocType 'Desktop -#. Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Show App Icons As Folder" -msgstr "" - #. Label of the show_arrow (Check) field in DocType 'Workspace Sidebar Item' #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Show Arrow" @@ -24249,7 +24453,7 @@ msgstr "" msgid "Show External Link Warning" msgstr "" -#: frappe/public/js/frappe/form/layout.js:603 +#: frappe/public/js/frappe/form/layout.js:597 msgid "Show Fieldname (click to copy on clipboard)" msgstr "" @@ -24301,7 +24505,7 @@ msgstr "" msgid "Show Line Breaks after Sections" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:443 +#: frappe/public/js/frappe/form/toolbar.js:433 msgid "Show Links" msgstr "" @@ -24421,7 +24625,7 @@ msgstr "" msgid "Show account deletion link in My Account page" msgstr "" -#: frappe/core/doctype/version/version.js:6 +#: frappe/core/doctype/version/version.js:3 msgid "Show all Versions" msgstr "" @@ -24563,7 +24767,7 @@ msgstr "" msgid "Sign Up and Confirmation" msgstr "" -#: frappe/core/doctype/user/user.py:1076 +#: frappe/core/doctype/user/user.py:1079 msgid "Sign Up is disabled" msgstr "" @@ -24686,7 +24890,7 @@ msgstr "" msgid "Skipping column {0}" msgstr "" -#: frappe/modules/utils.py:179 +#: frappe/modules/utils.py:219 msgid "Skipping fixture syncing for doctype {0} from file {1}" msgstr "" @@ -24861,15 +25065,15 @@ msgstr "" msgid "Something went wrong during the token generation. Click on {0} to generate a new one." msgstr "" -#: frappe/templates/includes/login/login.js:293 +#: frappe/templates/includes/login/login.js:292 msgid "Something went wrong." msgstr "" -#: frappe/public/js/frappe/views/pageview.js:122 +#: frappe/public/js/frappe/views/pageview.js:127 msgid "Sorry! I could not find what you were looking for." msgstr "" -#: frappe/public/js/frappe/views/pageview.js:130 +#: frappe/public/js/frappe/views/pageview.js:135 msgid "Sorry! You are not permitted to view this page." msgstr "" @@ -24900,13 +25104,13 @@ msgstr "" msgid "Sort Order" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1565 +#: frappe/core/doctype/doctype/doctype.py:1579 msgid "Sort field {0} must be a valid fieldname" msgstr "" #. Label of the source (Data) field in DocType 'Web Page View' #. Label of the source (Small Text) field in DocType 'Website Route Redirect' -#: frappe/public/js/frappe/utils/utils.js:1872 +#: frappe/public/js/frappe/utils/utils.js:2003 #: frappe/website/doctype/web_page_view/web_page_view.json #: frappe/website/doctype/website_route_redirect/website_route_redirect.json #: frappe/website/report/website_analytics/website_analytics.js:38 @@ -24955,7 +25159,7 @@ msgstr "" msgid "Special Characters are not allowed" msgstr "" -#: frappe/model/naming.py:68 +#: frappe/model/naming.py:66 msgid "Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}" msgstr "" @@ -24994,6 +25198,7 @@ msgstr "" #. Label of the standard (Select) field in DocType 'Page' #. Label of the standard (Check) field in DocType 'Desktop Icon' +#. Label of the standard (Check) field in DocType 'Workspace Sidebar' #. Label of the standard (Select) field in DocType 'Print Format' #. Label of the standard (Check) field in DocType 'Print Format Field Template' #. Label of the standard (Check) field in DocType 'Print Style' @@ -25001,6 +25206,7 @@ msgstr "" #: frappe/core/doctype/page/page.json #: frappe/core/doctype/user_type/user_type_list.js:5 #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json #: frappe/printing/doctype/print_format/print_format.json #: frappe/printing/doctype/print_format_field_template/print_format_field_template.json #: frappe/printing/doctype/print_style/print_style.json @@ -25068,8 +25274,8 @@ msgstr "" #: frappe/core/doctype/recorder/recorder_list.js:87 #: frappe/core/report/prepared_report_analytics/prepared_report_analytics.py:45 -#: frappe/printing/page/print/print.js:328 -#: frappe/printing/page/print/print.js:375 +#: frappe/printing/page/print/print.js:336 +#: frappe/printing/page/print/print.js:383 msgid "Start" msgstr "" @@ -25241,7 +25447,7 @@ msgstr "" #: frappe/integrations/doctype/integration_request/integration_request.json #: frappe/integrations/doctype/oauth_bearer_token/oauth_bearer_token.json #: frappe/public/js/frappe/list/list_settings.js:357 -#: frappe/public/js/frappe/list/list_view.js:2415 +#: frappe/public/js/frappe/list/list_view.js:2443 #: frappe/public/js/frappe/views/reports/report_view.js:974 #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json @@ -25279,7 +25485,7 @@ msgstr "" #. Label of the sticky (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json -#: frappe/public/js/frappe/form/grid_row.js:454 +#: frappe/public/js/frappe/form/grid_row.js:456 msgid "Sticky" msgstr "" @@ -25393,7 +25599,7 @@ msgstr "" #: frappe/email/doctype/email_template/email_template.json #: frappe/email/doctype/notification/notification.js:214 #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/views/communication.js:110 +#: frappe/public/js/frappe/views/communication.js:128 #: frappe/public/js/frappe/views/inbox/inbox_view.js:63 msgid "Subject" msgstr "" @@ -25407,7 +25613,7 @@ msgstr "" msgid "Subject Field" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1970 +#: frappe/core/doctype/doctype/doctype.py:2034 msgid "Subject Field type should be Data, Text, Long Text, Small Text, Text Editor" msgstr "" @@ -25428,14 +25634,14 @@ msgstr "" #: frappe/core/doctype/user_document_type/user_document_type.json #: frappe/core/doctype/user_permission/user_permission_list.js:138 #: frappe/email/doctype/notification/notification.json -#: frappe/public/js/frappe/form/quick_entry.js:225 +#: frappe/public/js/frappe/form/quick_entry.js:268 #: frappe/public/js/frappe/form/templates/set_sharing.html:4 -#: frappe/public/js/frappe/ui/capture.js:307 +#: frappe/public/js/frappe/ui/capture.js:308 #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json msgid "Submit" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2310 +#: frappe/public/js/frappe/list/list_view.js:2318 msgctxt "Button in list view actions menu" msgid "Submit" msgstr "" @@ -25465,7 +25671,7 @@ msgstr "" msgid "Submit After Import" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:39 +#: frappe/core/page/permission_manager/permission_manager_help.html:106 msgid "Submit an Issue" msgstr "" @@ -25489,11 +25695,11 @@ msgstr "" msgid "Submit this document to complete this step." msgstr "" -#: frappe/public/js/frappe/form/form.js:1233 +#: frappe/public/js/frappe/form/form.js:1262 msgid "Submit this document to confirm" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:2315 +#: frappe/public/js/frappe/list/list_view.js:2323 msgctxt "Title of confirmation dialog" msgid "Submit {0} documents?" msgstr "" @@ -25519,7 +25725,7 @@ msgctxt "Freeze message while submitting a document" msgid "Submitting" msgstr "" -#: frappe/desk/doctype/bulk_update/bulk_update.py:88 +#: frappe/desk/doctype/bulk_update/bulk_update.py:89 msgid "Submitting {0}" msgstr "" @@ -25554,12 +25760,12 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/bulk_update/bulk_update.js:31 -#: frappe/public/js/frappe/form/grid.js:1193 +#: frappe/public/js/frappe/form/grid.js:1230 #: frappe/public/js/frappe/views/translation_manager.js:21 -#: frappe/templates/includes/login/login.js:230 -#: frappe/templates/includes/login/login.js:236 -#: frappe/templates/includes/login/login.js:269 -#: frappe/templates/includes/login/login.js:277 +#: frappe/templates/includes/login/login.js:228 +#: frappe/templates/includes/login/login.js:234 +#: frappe/templates/includes/login/login.js:267 +#: frappe/templates/includes/login/login.js:275 #: frappe/templates/pages/integrations/gcalendar-success.html:9 #: frappe/workflow/doctype/workflow_action/workflow_action.py:171 #: frappe/workflow/doctype/workflow_state/workflow_state.json @@ -25601,7 +25807,7 @@ msgstr "" msgid "Successful Job Count" msgstr "" -#: frappe/model/workflow.py:363 +#: frappe/model/workflow.py:384 msgid "Successful Transactions" msgstr "" @@ -25626,7 +25832,7 @@ msgstr "" msgid "Successfully reset onboarding status for all users." msgstr "" -#: frappe/core/doctype/user/user.py:1478 +#: frappe/core/doctype/user/user.py:1481 msgid "Successfully signed out" msgstr "" @@ -25651,7 +25857,7 @@ msgstr "" msgid "Suggested Indexes" msgstr "" -#: frappe/core/doctype/user/user.py:771 +#: frappe/core/doctype/user/user.py:774 msgid "Suggested Username: {0}" msgstr "" @@ -25692,7 +25898,7 @@ msgstr "" msgid "Suspend Sending" msgstr "" -#: frappe/public/js/frappe/ui/capture.js:276 +#: frappe/public/js/frappe/ui/capture.js:277 msgid "Switch Camera" msgstr "" @@ -25705,7 +25911,7 @@ msgstr "" msgid "Switch To Desk" msgstr "" -#: frappe/public/js/frappe/ui/capture.js:281 +#: frappe/public/js/frappe/ui/capture.js:282 msgid "Switching Camera" msgstr "" @@ -25774,9 +25980,7 @@ msgid "Syntax Error" msgstr "" #. Option for the 'Show in Module Section' (Select) field in DocType 'DocType' -#. Name of a Workspace #: frappe/core/doctype/doctype/doctype.json -#: frappe/core/workspace/system/system.json msgid "System" msgstr "" @@ -25786,7 +25990,7 @@ msgstr "" msgid "System Console" msgstr "" -#: frappe/custom/doctype/custom_field/custom_field.py:409 +#: frappe/custom/doctype/custom_field/custom_field.py:410 msgid "System Generated Fields can not be renamed" msgstr "" @@ -25913,6 +26117,7 @@ msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/desk/doctype/dashboard_chart_source/dashboard_chart_source.json #: frappe/desk/doctype/desktop_icon/desktop_icon.json +#: frappe/desk/doctype/desktop_layout/desktop_layout.json #: frappe/desk/doctype/desktop_settings/desktop_settings.json #: frappe/desk/doctype/event/event.json #: frappe/desk/doctype/form_tour/form_tour.json @@ -26003,6 +26208,11 @@ msgstr "" msgid "System Settings" msgstr "" +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "System Users" +msgstr "" + #. Description of the 'Allow Roles' (Table MultiSelect) field in DocType #. 'Module Onboarding' #: frappe/desk/doctype/module_onboarding/module_onboarding.json @@ -26019,6 +26229,12 @@ msgstr "" msgid "TOS URI" msgstr "" +#. Label of the navigate_to_tab (Autocomplete) field in DocType 'Workspace +#. Sidebar Item' +#: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json +msgid "Tab" +msgstr "" + #. Option for the 'Type' (Select) field in DocType 'DocField' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' @@ -26054,7 +26270,7 @@ msgstr "" msgid "Table Break" msgstr "" -#: frappe/core/doctype/version/version_view.html:73 +#: frappe/core/doctype/version/version_view.html:136 msgid "Table Field" msgstr "" @@ -26063,7 +26279,7 @@ msgstr "" msgid "Table Fieldname" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1218 +#: frappe/core/doctype/doctype/doctype.py:1221 msgid "Table Fieldname Missing" msgstr "" @@ -26081,7 +26297,7 @@ msgstr "" msgid "Table MultiSelect" msgstr "" -#: frappe/desk/search.py:271 +#: frappe/desk/search.py:278 msgid "Table MultiSelect requires a table with at least one Link field, but none was found in {0}" msgstr "" @@ -26089,11 +26305,11 @@ msgstr "" msgid "Table Trimmed" msgstr "" -#: frappe/public/js/frappe/form/grid.js:1192 +#: frappe/public/js/frappe/form/grid.js:1229 msgid "Table updated" msgstr "" -#: frappe/model/document.py:1627 +#: frappe/model/document.py:1626 msgid "Table {0} cannot be empty" msgstr "" @@ -26113,17 +26329,17 @@ msgid "Tag Link" msgstr "" #: frappe/model/meta.py:59 -#: frappe/public/js/frappe/form/templates/form_sidebar.html:102 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:123 #: frappe/public/js/frappe/list/base_list.js:813 #: frappe/public/js/frappe/list/base_list.js:996 -#: frappe/public/js/frappe/list/bulk_operations.js:430 +#: frappe/public/js/frappe/list/bulk_operations.js:444 #: frappe/public/js/frappe/model/meta.js:215 #: frappe/public/js/frappe/model/model.js:133 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:233 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:240 msgid "Tags" msgstr "" -#: frappe/public/js/frappe/ui/capture.js:220 +#: frappe/public/js/frappe/ui/capture.js:221 msgid "Take Photo" msgstr "" @@ -26207,7 +26423,7 @@ msgstr "" msgid "Templates" msgstr "" -#: frappe/core/doctype/user/user.py:1089 +#: frappe/core/doctype/user/user.py:1092 msgid "Temporarily Disabled" msgstr "" @@ -26307,7 +26523,7 @@ msgstr "" msgid "The Auto Repeat for this document has been disabled." msgstr "" -#: frappe/public/js/frappe/form/grid.js:1215 +#: frappe/public/js/frappe/form/grid.js:1252 msgid "The CSV format is case sensitive" msgstr "" @@ -26361,7 +26577,7 @@ msgid "" "" msgstr "" -#: frappe/database/database.py:475 +#: frappe/database/database.py:481 msgid "The changes have been reverted." msgstr "" @@ -26377,7 +26593,7 @@ msgstr "" msgid "The contents of this email are strictly confidential. Please do not forward this email to anyone." msgstr "" -#: frappe/public/js/frappe/list/list_view.js:688 +#: frappe/public/js/frappe/list/list_view.js:691 msgid "The count shown is an estimated count. Click here to see the accurate count." msgstr "" @@ -26403,11 +26619,15 @@ msgstr "" msgid "The document type selected is a child table, so the parent document type is required." msgstr "" -#: frappe/desk/search.py:284 +#: frappe/core/page/permission_manager/permission_manager_help.html:58 +msgid "The email button is enabled for the user in the document." +msgstr "" + +#: frappe/desk/search.py:291 msgid "The field {0} in {1} does not allow ignoring user permissions" msgstr "" -#: frappe/desk/search.py:294 +#: frappe/desk/search.py:301 msgid "The field {0} in {1} links to {2} and not {3}" msgstr "" @@ -26474,6 +26694,10 @@ msgstr "" msgid "The password of your account has expired." msgstr "" +#: frappe/core/page/permission_manager/permission_manager_help.html:53 +msgid "The print button is enabled for the user in the document." +msgstr "" + #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.py:398 msgid "The process for deletion of {0} data associated with {1} has been initiated." msgstr "" @@ -26490,15 +26714,15 @@ msgstr "" msgid "The report you requested has been generated.

Click here to download:
{0}

This link will expire in {1} hours." msgstr "" -#: frappe/core/doctype/user/user.py:1047 +#: frappe/core/doctype/user/user.py:1050 msgid "The reset password link has been expired" msgstr "" -#: frappe/core/doctype/user/user.py:1049 +#: frappe/core/doctype/user/user.py:1052 msgid "The reset password link has either been used before or is invalid" msgstr "" -#: frappe/app.py:391 frappe/public/js/frappe/request.js:149 +#: frappe/app.py:391 frappe/public/js/frappe/request.js:147 msgid "The resource you are looking for is not available" msgstr "" @@ -26510,7 +26734,7 @@ msgstr "" msgid "The selected document {0} is not a {1}." msgstr "" -#: frappe/utils/response.py:338 +#: frappe/utils/response.py:343 msgid "The system is being updated. Please refresh again after a few moments." msgstr "" @@ -26522,6 +26746,42 @@ msgstr "" msgid "The total number of user document types limit has been crossed." msgstr "" +#: frappe/core/page/permission_manager/permission_manager_help.html:43 +msgid "The user can create a new Item but cannot edit existing items." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:48 +msgid "The user can delete Draft / Cancelled documents." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:68 +msgid "The user can export report data." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:73 +msgid "The user can import new records or update existing data for the document." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:28 +msgid "The user can select a Customer in Sales Order but cannot open the Customer master." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:78 +msgid "The user can share document access with another user." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:38 +msgid "The user can update a customer or any other fields in an existing Sales Order but cannot create a new Sales Order." +msgstr "" + +#: frappe/core/page/permission_manager/permission_manager_help.html:33 +msgid "The user can view Sales Invoices but cannot modify any field values in them." +msgstr "" + +#: frappe/model/base_document.py:817 +msgid "The value of the field {0} is too long in the {1} document. To resolve this issue, please reduce the value length or change the {0} field Type to Long Text using customize form, and then try again." +msgstr "" + #: frappe/public/js/frappe/form/controls/data.js:25 msgid "The value you pasted was {0} characters long. Max allowed characters is {1}." msgstr "" @@ -26563,7 +26823,7 @@ msgstr "" 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 "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:473 +#: frappe/public/js/frappe/ui/notifications/notifications.js:482 msgid "There are no upcoming events for you." msgstr "" @@ -26571,7 +26831,7 @@ msgstr "" msgid "There are no {0} for this {1}, why don't you start one!" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:976 +#: frappe/public/js/frappe/views/reports/query_report.js:993 msgid "There are {0} with the same filters already in the queue:" msgstr "" @@ -26580,7 +26840,7 @@ msgstr "" msgid "There can be only 9 Page Break fields in a Web Form" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1458 +#: frappe/core/doctype/doctype/doctype.py:1472 msgid "There can be only one Fold in a form" msgstr "" @@ -26592,11 +26852,11 @@ msgstr "" msgid "There is no data to be exported" msgstr "" -#: frappe/model/workflow.py:170 +#: frappe/model/workflow.py:191 msgid "There is no task called \"{}\"" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:523 +#: frappe/public/js/frappe/ui/notifications/notifications.js:532 msgid "There is nothing new to show you right now." msgstr "" @@ -26604,7 +26864,7 @@ msgstr "" msgid "There is some problem with the file url: {0}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:973 +#: frappe/public/js/frappe/views/reports/query_report.js:990 msgid "There is {0} with the same filters already in the queue:" msgstr "" @@ -26620,7 +26880,7 @@ msgstr "" msgid "There was an error saving filters" msgstr "" -#: frappe/public/js/frappe/form/sidebar/attachments.js:237 +#: frappe/public/js/frappe/form/sidebar/attachments.js:216 msgid "There were errors" msgstr "" @@ -26628,11 +26888,11 @@ msgstr "" msgid "There were errors while creating the document. Please try again." msgstr "" -#: frappe/public/js/frappe/views/communication.js:834 +#: frappe/public/js/frappe/views/communication.js:903 msgid "There were errors while sending email. Please try again." msgstr "" -#: frappe/model/naming.py:502 +#: frappe/model/naming.py:500 msgid "There were some errors setting the name, please contact the administrator" msgstr "" @@ -26701,11 +26961,11 @@ msgstr "" msgid "This action is irreversible. Do you wish to continue?" msgstr "" -#: frappe/__init__.py:545 +#: frappe/__init__.py:543 msgid "This action is only allowed for {}" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:128 +#: frappe/public/js/frappe/form/toolbar.js:127 #: frappe/public/js/frappe/model/model.js:706 msgid "This cannot be undone" msgstr "" @@ -26729,7 +26989,7 @@ msgstr "" msgid "This doctype has no orphan fields to trim" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1069 +#: frappe/core/doctype/doctype/doctype.py:1072 msgid "This doctype has pending migrations, run 'bench migrate' before modifying the doctype to avoid losing changes." msgstr "" @@ -26745,15 +27005,15 @@ msgstr "" msgid "This document has been modified after the email was sent." msgstr "" -#: frappe/public/js/frappe/form/form.js:1317 +#: frappe/public/js/frappe/form/form.js:1346 msgid "This document has unsaved changes which might not appear in final PDF.
Consider saving the document before printing." msgstr "" -#: frappe/public/js/frappe/form/form.js:1105 +#: frappe/public/js/frappe/form/form.js:1134 msgid "This document is already amended, you cannot ammend it again" msgstr "" -#: frappe/model/document.py:509 +#: frappe/model/document.py:508 msgid "This document is currently locked and queued for execution. Please try again after some time." msgstr "" @@ -26767,7 +27027,7 @@ msgid "" "\t\t\t\tPlease contact your system manager to enable this by installing pycups!" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:41 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:65 msgid "This feature is brand new and still experimental" msgstr "" @@ -26793,11 +27053,11 @@ msgstr "" msgid "This file is public. It can be accessed without authentication." msgstr "" -#: frappe/public/js/frappe/form/form.js:1211 +#: frappe/public/js/frappe/form/form.js:1240 msgid "This form has been modified after you have loaded it" msgstr "" -#: frappe/public/js/frappe/form/form.js:2275 +#: frappe/public/js/frappe/form/form.js:2306 msgid "This form is not editable due to a Workflow." msgstr "" @@ -26816,7 +27076,7 @@ msgstr "" msgid "This goes above the slideshow." msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2219 +#: frappe/public/js/frappe/views/reports/query_report.js:2280 msgid "This is a background report. Please set the appropriate filters and then generate a new one." msgstr "" @@ -26858,15 +27118,15 @@ msgstr "" msgid "This link is invalid or expired. Please make sure you have pasted correctly." msgstr "" -#: frappe/printing/page/print/print.js:450 +#: frappe/printing/page/print/print.js:458 msgid "This may get printed on multiple pages" msgstr "" -#: frappe/utils/goal.py:121 +#: frappe/utils/goal.py:120 msgid "This month" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1052 +#: frappe/public/js/frappe/views/reports/query_report.js:1069 msgid "This report contains {0} rows and is too big to display in browser, you can {1} this report instead." msgstr "" @@ -26874,7 +27134,7 @@ msgstr "" msgid "This report was generated on {0}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:864 +#: frappe/public/js/frappe/views/reports/query_report.js:881 msgid "This report was generated {0}." msgstr "" @@ -26898,7 +27158,7 @@ msgstr "" msgid "This title will be used as the title of the webpage as well as in meta tags" msgstr "" -#: frappe/public/js/frappe/form/controls/base_input.js:129 +#: frappe/public/js/frappe/form/controls/base_input.js:141 msgid "This value is fetched from {0}'s {1} field" msgstr "" @@ -26942,7 +27202,7 @@ msgstr "" msgid "This will terminate the job immediately and might be dangerous, are you sure?" msgstr "" -#: frappe/core/doctype/user/user.py:1322 +#: frappe/core/doctype/user/user.py:1325 msgid "Throttled" msgstr "" @@ -26973,6 +27233,7 @@ msgstr "" #. Option for the 'Fieldtype' (Select) field in DocType 'Report Filter' #. Option for the 'Field Type' (Select) field in DocType 'Custom Field' #. Option for the 'Type' (Select) field in DocType 'Customize Form Field' +#. Label of the time (Time) field in DocType 'Event Notifications' #. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field' #: frappe/core/doctype/docfield/docfield.json #: frappe/core/doctype/recorder/recorder.json @@ -26980,6 +27241,7 @@ msgstr "" #: frappe/core/doctype/report_filter/report_filter.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Time" msgstr "" @@ -27062,11 +27324,6 @@ msgstr "" msgid "Timed Out" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "Timeless Launchpad" -msgstr "" - #: frappe/public/js/frappe/ui/theme_switcher.js:64 msgid "Timeless Night" msgstr "" @@ -27098,11 +27355,11 @@ msgstr "" msgid "Timeline Name" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1553 +#: frappe/core/doctype/doctype/doctype.py:1567 msgid "Timeline field must be a Link or Dynamic Link" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1549 +#: frappe/core/doctype/doctype/doctype.py:1563 msgid "Timeline field must be a valid fieldname" msgstr "" @@ -27173,7 +27430,7 @@ msgstr "" #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json #: frappe/email/doctype/email_group/email_group.json -#: frappe/public/js/frappe/views/workspace/workspace.js:407 +#: frappe/public/js/frappe/views/workspace/workspace.js:455 #: frappe/website/doctype/discussion_topic/discussion_topic.json #: frappe/website/doctype/help_article/help_article.json #: frappe/website/doctype/portal_menu_item/portal_menu_item.json @@ -27196,7 +27453,7 @@ msgstr "" msgid "Title Prefix" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1490 +#: frappe/core/doctype/doctype/doctype.py:1504 msgid "Title field must be a valid fieldname" msgstr "" @@ -27286,7 +27543,7 @@ msgstr "" msgid "To generate password click {0}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:865 +#: frappe/public/js/frappe/views/reports/query_report.js:882 msgid "To get the updated report, click on {0}." msgstr "" @@ -27339,31 +27596,14 @@ msgstr "" msgid "Today" msgstr "" -#: frappe/public/js/frappe/views/reports/report_view.js:1566 +#: frappe/public/js/frappe/views/reports/report_view.js:1567 msgid "Toggle Chart" msgstr "" -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py -msgid "Toggle Full Width" -msgstr "" - #: frappe/public/js/frappe/views/file/file_view.js:33 msgid "Toggle Grid View" msgstr "" -#: frappe/public/js/frappe/ui/page.js:206 -#: frappe/public/js/frappe/ui/page.js:208 -msgid "Toggle Sidebar" -msgstr "" - -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py -msgid "Toggle Theme" -msgstr "" - #. Option for the 'Response Type' (Select) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Token" @@ -27399,7 +27639,7 @@ msgid "Tomorrow" msgstr "" #: frappe/desk/doctype/bulk_update/bulk_update.py:68 -#: frappe/model/workflow.py:310 +#: frappe/model/workflow.py:331 msgid "Too Many Documents" msgstr "" @@ -27407,15 +27647,19 @@ msgstr "" msgid "Too Many Requests" msgstr "" -#: frappe/database/database.py:474 +#: frappe/database/database.py:480 msgid "Too many changes to database in single action." msgstr "" -#: frappe/utils/background_jobs.py:737 +#: frappe/utils/background_jobs.py:736 msgid "Too many queued background jobs ({0}). Please retry after some time." msgstr "" -#: frappe/core/doctype/user/user.py:1090 +#: frappe/templates/includes/login/login.js:291 +msgid "Too many requests. Please try again later." +msgstr "" + +#: frappe/core/doctype/user/user.py:1093 msgid "Too many users signed up recently, so the registration is disabled. Please try back in an hour" msgstr "" @@ -27471,10 +27715,10 @@ msgstr "" msgid "Topic" msgstr "" -#: frappe/desk/query_report.py:622 -#: frappe/public/js/frappe/views/reports/print_grid.html:45 -#: frappe/public/js/frappe/views/reports/query_report.js:1354 -#: frappe/public/js/frappe/views/reports/report_view.js:1547 +#: frappe/desk/query_report.py:621 +#: frappe/public/js/frappe/views/reports/print_grid.html:50 +#: frappe/public/js/frappe/views/reports/query_report.js:1371 +#: frappe/public/js/frappe/views/reports/report_view.js:1548 msgid "Total" msgstr "" @@ -27489,7 +27733,7 @@ msgstr "" msgid "Total Errors (last 1 day)" msgstr "" -#: frappe/public/js/frappe/ui/capture.js:259 +#: frappe/public/js/frappe/ui/capture.js:260 msgid "Total Images" msgstr "" @@ -27590,7 +27834,7 @@ msgstr "" msgid "Track milestones for any document" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:1936 +#: frappe/public/js/frappe/utils/utils.js:2067 msgid "Tracking URL generated and copied to clipboard" msgstr "" @@ -27626,7 +27870,7 @@ msgstr "" msgid "Translatable" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:2274 +#: frappe/public/js/frappe/views/reports/query_report.js:2341 msgid "Translate Data" msgstr "" @@ -27637,7 +27881,7 @@ msgstr "" msgid "Translate Link Fields" msgstr "" -#: frappe/public/js/frappe/views/reports/report_view.js:1662 +#: frappe/public/js/frappe/views/reports/report_view.js:1663 msgid "Translate values" msgstr "" @@ -27673,7 +27917,7 @@ msgstr "" #. Option for the 'DocType View' (Select) field in DocType 'Workspace Shortcut' #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:96 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:89 msgid "Tree" msgstr "" @@ -27722,8 +27966,8 @@ msgstr "" msgid "Try a Naming Series" msgstr "" -#: frappe/printing/page/print/print.js:204 -#: frappe/printing/page/print/print.js:210 +#: frappe/printing/page/print/print.js:212 +#: frappe/printing/page/print/print.js:218 msgid "Try the new Print Designer" msgstr "" @@ -27769,6 +28013,7 @@ msgstr "" #. Label of the fieldtype (Select) field in DocType 'Customize Form Field' #. Label of the type (Data) field in DocType 'Console Log' #. Label of the type (Select) field in DocType 'Dashboard Chart' +#. Label of the type (Select) field in DocType 'Event Notifications' #. Label of the type (Select) field in DocType 'Notification Log' #. Label of the type (Select) field in DocType 'Number Card' #. Label of the type (Select) field in DocType 'System Console' @@ -27782,6 +28027,7 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/console_log/console_log.json #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json +#: frappe/desk/doctype/event_notifications/event_notifications.json #: frappe/desk/doctype/notification_log/notification_log.json #: frappe/desk/doctype/number_card/number_card.json #: frappe/desk/doctype/system_console/system_console.json @@ -27790,7 +28036,7 @@ msgstr "" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json #: frappe/public/js/frappe/views/file/file_view.js:371 -#: frappe/public/js/frappe/views/workspace/workspace.js:413 +#: frappe/public/js/frappe/views/workspace/workspace.js:461 #: frappe/public/js/frappe/widgets/widget_dialog.js:404 #: frappe/website/doctype/web_template/web_template.json #: frappe/www/attribution.html:35 @@ -27966,7 +28212,7 @@ msgstr "" msgid "Unable to find DocType {0}" msgstr "" -#: frappe/public/js/frappe/ui/capture.js:338 +#: frappe/public/js/frappe/ui/capture.js:339 msgid "Unable to load camera." msgstr "" @@ -27982,7 +28228,7 @@ msgstr "" msgid "Unable to read file format for {0}" msgstr "" -#: frappe/core/doctype/communication/email.py:180 +#: frappe/core/doctype/communication/email.py:204 msgid "Unable to send mail because of a missing email account. Please setup default Email Account from Settings > Email Account" msgstr "" @@ -28003,20 +28249,20 @@ msgstr "" msgid "Uncaught Exception" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:114 +#: frappe/public/js/frappe/form/toolbar.js:113 msgid "Unchanged" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:551 +#: frappe/public/js/frappe/form/toolbar.js:554 msgid "Undo" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:559 +#: frappe/public/js/frappe/form/toolbar.js:562 msgid "Undo last action" msgstr "" -#: frappe/public/js/frappe/form/templates/form_sidebar.html:131 -#: frappe/public/js/frappe/form/toolbar.js:912 +#: frappe/public/js/frappe/form/templates/form_sidebar.html:152 +#: frappe/public/js/frappe/form/toolbar.js:945 msgid "Unfollow" msgstr "" @@ -28091,9 +28337,10 @@ msgstr "" msgid "Unsafe SQL query" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:159 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:9 +#: frappe/public/js/frappe/data_import/data_exporter.js:160 #: frappe/public/js/frappe/form/controls/multicheck.js:167 -#: frappe/public/js/frappe/views/reports/report_view.js:1605 +#: frappe/public/js/frappe/views/reports/report_view.js:1606 msgid "Unselect All" msgstr "" @@ -28126,11 +28373,11 @@ msgstr "" msgid "Unsubscribed" msgstr "" -#: frappe/database/query.py:1055 +#: frappe/database/query.py:1098 msgid "Unsupported function or operator: {0}" msgstr "" -#: frappe/database/query.py:1967 +#: frappe/database/query.py:2045 msgid "Unsupported {0}: {1}" msgstr "" @@ -28150,7 +28397,7 @@ msgstr "" msgid "Unzipping files..." msgstr "" -#: frappe/desk/doctype/event/event.py:273 +#: frappe/desk/doctype/event/event.py:323 msgid "Upcoming Events for Today" msgstr "" @@ -28158,13 +28405,13 @@ msgstr "" #: frappe/core/doctype/data_import/data_import_list.js:36 #: frappe/core/doctype/document_naming_settings/document_naming_settings.json #: frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js:23 -#: frappe/custom/doctype/customize_form/customize_form.js:438 +#: frappe/custom/doctype/customize_form/customize_form.js:448 #: frappe/desk/doctype/bulk_update/bulk_update.js:15 #: frappe/printing/page/print_format_builder/print_format_builder.js:447 #: frappe/printing/page/print_format_builder/print_format_builder.js:507 #: frappe/printing/page/print_format_builder/print_format_builder.js:678 -#: frappe/printing/page/print_format_builder/print_format_builder.js:765 -#: frappe/public/js/frappe/form/grid_row.js:427 +#: frappe/printing/page/print_format_builder/print_format_builder.js:799 +#: frappe/public/js/frappe/form/grid_row.js:429 msgid "Update" msgstr "" @@ -28235,7 +28482,7 @@ msgstr "" msgid "Update from Frappe Cloud" msgstr "" -#: frappe/public/js/frappe/list/bulk_operations.js:375 +#: frappe/public/js/frappe/list/bulk_operations.js:387 msgid "Update {0} records" msgstr "" @@ -28244,7 +28491,7 @@ msgstr "" #: frappe/core/doctype/comment/comment.json #: frappe/core/doctype/permission_log/permission_log.json #: frappe/desk/doctype/workspace_settings/workspace_settings.py:41 -#: frappe/public/js/frappe/web_form/web_form.js:451 +#: frappe/public/js/frappe/web_form/web_form.js:447 msgid "Updated" msgstr "" @@ -28256,11 +28503,11 @@ msgstr "" msgid "Updated To A New Version 🎉" msgstr "" -#: frappe/public/js/frappe/list/bulk_operations.js:372 +#: frappe/public/js/frappe/list/bulk_operations.js:384 msgid "Updated successfully" msgstr "" -#: frappe/utils/response.py:337 +#: frappe/utils/response.py:342 msgid "Updating" msgstr "" @@ -28285,11 +28532,11 @@ msgstr "" msgid "Updating naming series options" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:147 +#: frappe/public/js/frappe/form/toolbar.js:146 msgid "Updating related fields..." msgstr "" -#: frappe/desk/doctype/bulk_update/bulk_update.py:95 +#: frappe/desk/doctype/bulk_update/bulk_update.py:117 msgid "Updating {0}" msgstr "" @@ -28297,12 +28544,12 @@ msgstr "" msgid "Updating {0} of {1}, {2}" msgstr "" -#: frappe/public/js/billing.bundle.js:131 +#: frappe/public/js/billing.bundle.js:133 msgid "Upgrade plan" msgstr "" -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:145 -#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:146 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:152 +#: frappe/public/js/frappe/file_uploader/file_uploader.bundle.js:153 #: frappe/public/js/frappe/form/grid.js:66 #: frappe/public/js/frappe/form/templates/form_sidebar.html:13 msgid "Upload" @@ -28350,6 +28597,7 @@ msgstr "" #. Label of the use_html (Check) field in DocType 'Email Template' #: frappe/email/doctype/email_template/email_template.json +#: frappe/public/js/frappe/views/communication.js:116 msgid "Use HTML" msgstr "" @@ -28421,7 +28669,7 @@ msgstr "" msgid "Use of sub-query or function is restricted" msgstr "" -#: frappe/printing/page/print/print.js:311 +#: frappe/printing/page/print/print.js:319 msgid "Use the new Print Format Builder" msgstr "" @@ -28455,9 +28703,8 @@ msgstr "" #. Label of the user (Link) field in DocType 'User Group Member' #. Label of the user (Link) field in DocType 'User Invitation' #. Label of the user (Link) field in DocType 'User Permission' -#. Label of a Link in the Users Workspace -#. Label of a shortcut in the Users Workspace #. Label of the user (Link) field in DocType 'Dashboard Settings' +#. Label of the user (Link) field in DocType 'Desktop Layout' #. Label of the user (Link) field in DocType 'Note Seen By' #. Label of the user (Link) field in DocType 'Notification Settings' #. Label of the user (Link) field in DocType 'Route History' @@ -28484,11 +28731,11 @@ msgstr "" #: frappe/core/doctype/user_group_member/user_group_member.json #: frappe/core/doctype/user_invitation/user_invitation.json #: frappe/core/doctype/user_permission/user_permission.json -#: frappe/core/page/permission_manager/permission_manager.js:366 +#: frappe/core/page/permission_manager/permission_manager.js:367 #: frappe/core/report/permitted_documents_for_user/permitted_documents_for_user.js:8 #: frappe/core/report/user_doctype_permissions/user_doctype_permissions.js:8 -#: frappe/core/workspace/users/users.json #: frappe/desk/doctype/dashboard_settings/dashboard_settings.json +#: frappe/desk/doctype/desktop_layout/desktop_layout.json #: frappe/desk/doctype/note_seen_by/note_seen_by.json #: frappe/desk/doctype/notification_settings/notification_settings.json #: frappe/desk/doctype/route_history/route_history.json @@ -28624,7 +28871,7 @@ msgstr "" msgid "User Invitation" msgstr "" -#: frappe/public/js/frappe/ui/sidebar/sidebar.html:50 +#: frappe/public/js/frappe/ui/sidebar/sidebar.html:51 msgid "User Menu" msgstr "" @@ -28640,19 +28887,19 @@ msgid "User Permission" msgstr "" #. Label of a Link in the Users Workspace -#: frappe/core/page/permission_manager/permission_manager_help.html:30 +#: frappe/core/page/permission_manager/permission_manager_help.html:97 #: frappe/core/workspace/users/users.json -#: frappe/public/js/frappe/views/reports/query_report.js:1974 -#: frappe/public/js/frappe/views/reports/report_view.js:1765 +#: frappe/public/js/frappe/views/reports/query_report.js:2027 +#: frappe/public/js/frappe/views/reports/report_view.js:1766 msgid "User Permissions" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1925 +#: frappe/public/js/frappe/list/list_view.js:1933 msgctxt "Button in list view menu" msgid "User Permissions" msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:32 +#: frappe/core/page/permission_manager/permission_manager_help.html:99 msgid "User Permissions are used to limit users to specific records." msgstr "" @@ -28725,7 +28972,7 @@ msgstr "" msgid "User can login using Email id or User Name" msgstr "" -#: frappe/templates/includes/login/login.js:292 +#: frappe/templates/includes/login/login.js:290 msgid "User does not exist." msgstr "" @@ -28759,27 +29006,27 @@ msgstr "" msgid "User with email: {0} does not exist in the system. Please ask 'System Administrator' to create the user for you." msgstr "" -#: frappe/core/doctype/user/user.py:576 +#: frappe/core/doctype/user/user.py:579 msgid "User {0} cannot be deleted" msgstr "" -#: frappe/core/doctype/user/user.py:366 +#: frappe/core/doctype/user/user.py:369 msgid "User {0} cannot be disabled" msgstr "" -#: frappe/core/doctype/user/user.py:649 +#: frappe/core/doctype/user/user.py:652 msgid "User {0} cannot be renamed" msgstr "" -#: frappe/permissions.py:142 +#: frappe/permissions.py:146 msgid "User {0} does not have access to this document" msgstr "" -#: frappe/permissions.py:165 +#: frappe/permissions.py:171 msgid "User {0} does not have doctype access via role permission for document {1}" msgstr "" -#: frappe/desk/doctype/workspace/workspace.py:306 +#: frappe/desk/doctype/workspace/workspace.py:285 msgid "User {0} does not have the permission to create a Workspace." msgstr "" @@ -28788,11 +29035,11 @@ msgstr "" msgid "User {0} has requested for data deletion" msgstr "" -#: frappe/core/doctype/user/user.py:1449 +#: frappe/core/doctype/user/user.py:1452 msgid "User {0} impersonated as {1}" msgstr "" -#: frappe/utils/oauth.py:298 +#: frappe/utils/oauth.py:300 msgid "User {0} is disabled" msgstr "" @@ -28817,18 +29064,17 @@ msgstr "" msgid "Username" msgstr "" -#: frappe/core/doctype/user/user.py:738 +#: frappe/core/doctype/user/user.py:741 msgid "Username {0} already exists" msgstr "" #. Label of the users (Table MultiSelect) field in DocType 'Assignment Rule' #. Name of a Workspace -#. Label of a Card Break in the Users Workspace #. Label of the users_section (Section Break) field in DocType 'System Health #. Report' #: frappe/automation/doctype/assignment_rule/assignment_rule.json -#: frappe/core/page/permission_manager/permission_manager.js:366 -#: frappe/core/page/permission_manager/permission_manager.js:405 +#: frappe/core/page/permission_manager/permission_manager.js:367 +#: frappe/core/page/permission_manager/permission_manager.js:406 #: frappe/core/workspace/users/users.json #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Users" @@ -28899,7 +29145,7 @@ msgstr "" msgid "Validate SSL Certificate" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:384 +#: frappe/public/js/frappe/web_form/web_form.js:380 msgid "Validation Error" msgstr "" @@ -28928,7 +29174,7 @@ msgstr "" #: frappe/integrations/doctype/query_parameters/query_parameters.json #: frappe/integrations/doctype/webhook_header/webhook_header.json #: frappe/public/js/frappe/list/bulk_operations.js:336 -#: frappe/public/js/frappe/list/bulk_operations.js:398 +#: frappe/public/js/frappe/list/bulk_operations.js:410 #: frappe/public/js/frappe/list/list_view_permission_restrictions.html:4 #: frappe/website/doctype/web_form/web_form.js:213 #: frappe/website/doctype/website_meta_tag/website_meta_tag.json @@ -28955,15 +29201,19 @@ msgstr "" msgid "Value To Be Set" msgstr "" -#: frappe/model/base_document.py:1159 frappe/model/document.py:878 +#: frappe/model/base_document.py:820 +msgid "Value Too Long" +msgstr "" + +#: frappe/model/base_document.py:1176 frappe/model/document.py:877 msgid "Value cannot be changed for {0}" msgstr "" -#: frappe/model/document.py:824 +#: frappe/model/document.py:823 msgid "Value cannot be negative for" msgstr "" -#: frappe/model/document.py:828 +#: frappe/model/document.py:827 msgid "Value cannot be negative for {0}: {1}" msgstr "" @@ -28975,7 +29225,7 @@ msgstr "" msgid "Value for field {0} is too long in {1}. Length should be lesser than {2} characters" msgstr "" -#: frappe/model/base_document.py:526 +#: frappe/model/base_document.py:531 msgid "Value for {0} cannot be a list" msgstr "" @@ -29000,7 +29250,13 @@ msgstr "" msgid "Value to Validate" msgstr "" -#: frappe/model/base_document.py:1229 +#. Description of the 'Update Value' (Data) field in DocType 'Workflow Document +#. State' +#: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json +msgid "Value to set when this workflow state is applied. Use plain text (e.g. Approved) or an expression if “Evaluate as Expression” is enabled." +msgstr "" + +#: frappe/model/base_document.py:1246 msgid "Value too big" msgstr "" @@ -29017,7 +29273,7 @@ msgstr "" msgid "Value {0} must in {1} format" msgstr "" -#: frappe/core/doctype/version/version_view.html:9 +#: frappe/core/doctype/version/version_view.html:59 msgid "Values Changed" msgstr "" @@ -29026,11 +29282,11 @@ msgstr "" msgid "Verdana" msgstr "" -#: frappe/templates/includes/login/login.js:333 +#: frappe/templates/includes/login/login.js:332 msgid "Verification" msgstr "" -#: frappe/templates/includes/login/login.js:336 frappe/twofactor.py:366 +#: frappe/templates/includes/login/login.js:335 frappe/twofactor.py:366 msgid "Verification Code" msgstr "" @@ -29038,7 +29294,7 @@ msgstr "" msgid "Verification Link" msgstr "" -#: frappe/templates/includes/login/login.js:383 +#: frappe/templates/includes/login/login.js:382 msgid "Verification code email not sent. Please contact Administrator." msgstr "" @@ -29052,7 +29308,7 @@ msgid "Verified" msgstr "" #: frappe/public/js/frappe/ui/messages.js:359 -#: frappe/templates/includes/login/login.js:337 +#: frappe/templates/includes/login/login.js:336 msgid "Verify" msgstr "" @@ -29088,7 +29344,7 @@ msgstr "" msgid "View All" msgstr "" -#: frappe/public/js/frappe/form/toolbar.js:613 +#: frappe/public/js/frappe/form/toolbar.js:616 msgid "View Audit Trail" msgstr "" @@ -29100,7 +29356,7 @@ msgstr "" msgid "View File" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:251 +#: frappe/public/js/frappe/ui/notifications/notifications.js:260 msgid "View Full Log" msgstr "" @@ -29137,7 +29393,7 @@ msgstr "" msgid "View Settings" msgstr "" -#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js:7 +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.js:11 msgid "View Sidebar" msgstr "" @@ -29146,14 +29402,11 @@ msgstr "" msgid "View Switcher" msgstr "" -#. Label of a standard navbar item -#. Type: Action -#: frappe/hooks.py #: frappe/website/doctype/website_settings/website_settings.js:16 msgid "View Website" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:395 +#: frappe/core/page/permission_manager/permission_manager.js:396 msgid "View all {0} users" msgstr "" @@ -29169,7 +29422,7 @@ msgstr "" msgid "View this in your browser" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:478 +#: frappe/public/js/frappe/web_form/web_form.js:474 msgctxt "Button in web form" msgid "View your response" msgstr "" @@ -29205,7 +29458,7 @@ msgstr "" msgid "Virtual DocType {} requires overriding an instance method called {} found {}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1672 +#: frappe/core/doctype/doctype/doctype.py:1686 msgid "Virtual tables must be virtual fields" msgstr "" @@ -29253,7 +29506,7 @@ msgstr "" #: frappe/core/doctype/docfield/docfield.json #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json -#: frappe/public/js/frappe/router.js:613 +#: frappe/public/js/frappe/router.js:618 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Warning" msgstr "" @@ -29262,7 +29515,7 @@ msgstr "" msgid "Warning: DATA LOSS IMMINENT! Proceeding will permanently delete following database columns from doctype {0}:" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1140 +#: frappe/core/doctype/doctype/doctype.py:1143 msgid "Warning: Naming is not set" msgstr "" @@ -29346,7 +29599,7 @@ msgstr "" msgid "Web Page Block" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:1864 +#: frappe/public/js/frappe/utils/utils.js:1995 msgid "Web Page URL" msgstr "" @@ -29443,7 +29696,7 @@ msgstr "" #. Group in Module Def's connections #. Name of a Workspace #: frappe/core/doctype/module_def/module_def.json -#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:37 +#: frappe/public/js/frappe/ui/sidebar/sidebar_header.js:32 #: frappe/public/js/frappe/ui/toolbar/about.js:11 #: frappe/website/workspace/website/website.json msgid "Website" @@ -29498,7 +29751,7 @@ msgstr "" msgid "Website Search Field" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1537 +#: frappe/core/doctype/doctype/doctype.py:1551 msgid "Website Search Field must be a valid fieldname" msgstr "" @@ -29563,6 +29816,11 @@ msgstr "" msgid "Website Themes Available" msgstr "" +#. Label of a number card in the Users Workspace +#: frappe/core/workspace/users/users.json +msgid "Website Users" +msgstr "" + #. Label of a chart in the Website Workspace #: frappe/website/workspace/website/website.json msgid "Website Visits" @@ -29650,15 +29908,15 @@ msgstr "" msgid "Welcome Workspace" msgstr "" -#: frappe/core/doctype/user/user.py:454 +#: frappe/core/doctype/user/user.py:457 msgid "Welcome email sent" msgstr "" -#: frappe/core/doctype/user/user.py:515 +#: frappe/core/doctype/user/user.py:518 msgid "Welcome to {0}" msgstr "" -#: frappe/public/js/frappe/ui/notifications/notifications.js:73 +#: frappe/public/js/frappe/ui/notifications/notifications.js:80 msgid "What's New" msgstr "" @@ -29680,10 +29938,6 @@ msgstr "" 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 "" -#: frappe/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." -msgstr "" - #. Description of the 'DocType View' (Select) field in DocType 'Workspace #. Shortcut' #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json @@ -29701,7 +29955,7 @@ msgstr "" #: frappe/custom/doctype/custom_field/custom_field.json #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/desk/doctype/dashboard_chart_link/dashboard_chart_link.json -#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:8 +#: frappe/printing/page/print_format_builder/print_format_builder_column_selector.html:14 #: frappe/public/js/print_format_builder/ConfigureColumns.vue:11 msgid "Width" msgstr "" @@ -29822,6 +30076,10 @@ msgstr "" msgid "Workflow Document State" msgstr "" +#: frappe/model/workflow.py:113 +msgid "Workflow Evaluation Error" +msgstr "" + #. Label of the workflow_name (Data) field in DocType 'Workflow' #: frappe/workflow/doctype/workflow/workflow.json msgid "Workflow Name" @@ -29839,11 +30097,11 @@ msgstr "" msgid "Workflow State Field" msgstr "" -#: frappe/model/workflow.py:64 +#: frappe/model/workflow.py:67 msgid "Workflow State not set" msgstr "" -#: frappe/model/workflow.py:260 frappe/model/workflow.py:268 +#: frappe/model/workflow.py:281 frappe/model/workflow.py:289 msgid "Workflow State transition not allowed from {0} to {1}" msgstr "" @@ -29851,7 +30109,7 @@ msgstr "" msgid "Workflow States Don't Exist" msgstr "" -#: frappe/model/workflow.py:384 +#: frappe/model/workflow.py:405 msgid "Workflow Status" msgstr "" @@ -29886,18 +30144,15 @@ msgstr "" #. Label of the workspace_section (Section Break) field in DocType 'User' #. Label of a Link in the Build Workspace -#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Name of a DocType #. Option for the 'Type' (Select) field in DocType 'Workspace' #. Option for the 'Link Type' (Select) field in DocType 'Workspace Sidebar #. Item' #: frappe/core/doctype/user/user.json frappe/core/workspace/build/build.json -#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace/workspace.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:100 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:601 -#: frappe/public/js/frappe/utils/utils.js:968 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:92 +#: frappe/public/js/frappe/utils/utils.js:956 #: frappe/public/js/frappe/views/workspace/workspace.js:10 msgid "Workspace" msgstr "" @@ -29938,11 +30193,8 @@ msgstr "" msgid "Workspace Quick List" msgstr "" -#. Label of a standard navbar item -#. Type: Action #. Name of a DocType #: frappe/desk/doctype/workspace_settings/workspace_settings.json -#: frappe/hooks.py msgid "Workspace Settings" msgstr "" @@ -29957,8 +30209,10 @@ msgstr "" msgid "Workspace Shortcut" msgstr "" +#. Option for the 'Link Type' (Select) field in DocType 'Desktop Icon' #. Name of a DocType #: frappe/desk/doctype/desktop_icon/desktop_icon.js:17 +#: frappe/desk/doctype/desktop_icon/desktop_icon.json #: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.json msgid "Workspace Sidebar" msgstr "" @@ -29974,7 +30228,7 @@ msgstr "" msgid "Workspace Visibility" msgstr "" -#: frappe/public/js/frappe/views/workspace/workspace.js:553 +#: frappe/public/js/frappe/views/workspace/workspace.js:602 msgid "Workspace {0} created" msgstr "" @@ -30003,11 +30257,12 @@ msgstr "" #: frappe/core/doctype/docperm/docperm.json #: frappe/core/doctype/docshare/docshare.json #: frappe/core/doctype/user_document_type/user_document_type.json +#: frappe/core/page/permission_manager/permission_manager_help.html:36 #: frappe/public/js/frappe/form/templates/set_sharing.html:3 msgid "Write" msgstr "" -#: frappe/model/base_document.py:1055 +#: frappe/model/base_document.py:1072 msgid "Wrong Fetch From value" msgstr "" @@ -30025,7 +30280,7 @@ msgstr "" msgid "XLSX" msgstr "" -#: frappe/public/js/frappe/file_uploader/FileUploader.vue:641 +#: frappe/public/js/frappe/file_uploader/FileUploader.vue:644 msgid "XMLHttpRequest Error" msgstr "" @@ -30040,7 +30295,7 @@ msgstr "" #. Label of the y_field (Select) field in DocType 'Dashboard Chart Field' #: frappe/desk/doctype/dashboard_chart_field/dashboard_chart_field.json -#: frappe/public/js/frappe/views/reports/query_report.js:1255 +#: frappe/public/js/frappe/views/reports/query_report.js:1272 msgid "Y Field" msgstr "" @@ -30088,10 +30343,14 @@ msgstr "" #. Option for the 'Standard' (Select) field in DocType 'Page' #. Option for the 'Is Standard' (Select) field in DocType 'Report' +#. Option for the 'Attending' (Select) field in DocType 'Event' +#. Option for the 'Attending' (Select) field in DocType 'Event Participants' #. Option for the 'Require Trusted Certificate' (Select) field in DocType 'LDAP #. Settings' #. Option for the 'Standard' (Select) field in DocType 'Print Format' #: frappe/core/doctype/page/page.json frappe/core/doctype/report/report.json +#: frappe/desk/doctype/event/event.json +#: frappe/desk/doctype/event_participants/event_participants.json #: frappe/email/doctype/notification/notification.py:97 #: frappe/email/doctype/notification/notification.py:102 #: frappe/email/doctype/notification/notification.py:104 @@ -30100,10 +30359,10 @@ msgstr "" #: frappe/integrations/doctype/webhook/webhook.py:132 #: frappe/printing/doctype/print_format/print_format.json #: frappe/public/js/form_builder/utils.js:336 -#: frappe/public/js/frappe/form/controls/link.js:573 +#: frappe/public/js/frappe/form/controls/link.js:574 #: frappe/public/js/frappe/list/base_list.js:949 #: frappe/public/js/frappe/list/list_sidebar_group_by.js:170 -#: frappe/public/js/frappe/views/reports/query_report.js:1695 +#: frappe/public/js/frappe/views/reports/query_report.js:47 #: frappe/website/doctype/help_article/templates/help_article.html:25 msgid "Yes" msgstr "" @@ -30139,7 +30398,7 @@ msgstr "" msgid "You added {0} rows to {1}" msgstr "" -#: frappe/public/js/frappe/router.js:642 +#: frappe/public/js/frappe/router.js:647 msgid "You are about to open an external link. To confirm, click the link again." msgstr "" @@ -30147,7 +30406,7 @@ msgstr "" msgid "You are connected to internet." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:22 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:12 msgid "You are impersonating as another user." msgstr "" @@ -30155,11 +30414,11 @@ msgstr "" msgid "You are not allowed to access this resource" msgstr "" -#: frappe/permissions.py:437 +#: frappe/permissions.py:443 msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in field {3}" msgstr "" -#: frappe/permissions.py:426 +#: frappe/permissions.py:432 msgid "You are not allowed to access this {0} record because it is linked to {1} '{2}' in row {3}, field {4}" msgstr "" @@ -30182,7 +30441,7 @@ msgstr "" #: frappe/core/doctype/data_import/exporter.py:121 #: frappe/core/doctype/data_import/exporter.py:125 #: frappe/desk/reportview.py:447 frappe/desk/reportview.py:450 -#: frappe/permissions.py:632 +#: frappe/permissions.py:638 msgid "You are not allowed to export {} doctype" msgstr "" @@ -30190,10 +30449,14 @@ msgstr "" msgid "You are not allowed to print this report" msgstr "" -#: frappe/public/js/frappe/views/communication.js:778 +#: frappe/public/js/frappe/views/communication.js:845 msgid "You are not allowed to send emails related to this document" msgstr "" +#: frappe/desk/doctype/event/event.py:251 +msgid "You are not allowed to update the status of this event." +msgstr "" + #: frappe/website/doctype/web_form/web_form.py:633 msgid "You are not allowed to update this Web Form Document" msgstr "" @@ -30210,7 +30473,7 @@ msgstr "" msgid "You are not permitted to access this page." msgstr "" -#: frappe/__init__.py:464 +#: frappe/__init__.py:462 msgid "You are not permitted to access this resource. Login to access" msgstr "" @@ -30218,7 +30481,7 @@ msgstr "" msgid "You are now following this document. You will receive daily updates via email. You can change this in User Settings." msgstr "" -#: frappe/core/doctype/installed_applications/installed_applications.py:125 +#: frappe/core/doctype/installed_applications/installed_applications.py:126 msgid "You are only allowed to update order, do not remove or add apps." msgstr "" @@ -30231,7 +30494,7 @@ msgctxt "Form timeline" msgid "You attached {0}" msgstr "" -#: frappe/printing/page/print_format_builder/print_format_builder.js:749 +#: frappe/printing/page/print_format_builder/print_format_builder.js:783 msgid "You can add dynamic properties from the document by using Jinja templating." msgstr "" @@ -30255,10 +30518,6 @@ msgstr "" msgid "You can ask your team to resend the invitation if you'd still like to join." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:17 -msgid "You can change Submitted documents by cancelling them and then, amending them." -msgstr "" - #: frappe/public/js/frappe/logtypes.js:21 msgid "You can change the retention policy from {0}." msgstr "" @@ -30313,7 +30572,7 @@ msgstr "" msgid "You can try changing the filters of your report." msgstr "" -#: frappe/core/page/permission_manager/permission_manager_help.html:27 +#: frappe/core/page/permission_manager/permission_manager_help.html:94 msgid "You can use Customize Form to set levels on fields." msgstr "" @@ -30343,6 +30602,10 @@ msgstr "" msgid "You cannot create a dashboard chart from single DocTypes" msgstr "" +#: frappe/share.py:246 +msgid "You cannot share `{0}` on {1} `{2}` as you do not have `{0}` permission on `{1}`" +msgstr "" + #: frappe/custom/doctype/customize_form/customize_form.py:390 msgid "You cannot unset 'Read Only' for field {0}" msgstr "" @@ -30369,7 +30632,6 @@ msgid "You changed {0} to {1}" msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:140 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:152 msgid "You created this" msgstr "" @@ -30378,11 +30640,7 @@ msgctxt "Form timeline" msgid "You created this document {0}" msgstr "" -#: frappe/client.py:420 -msgid "You do not have Read or Select Permissions for {}" -msgstr "" - -#: frappe/public/js/frappe/request.js:177 +#: frappe/public/js/frappe/request.js:175 msgid "You do not have enough permissions to access this resource. Please contact your manager to get access." msgstr "" @@ -30394,15 +30652,19 @@ msgstr "" msgid "You do not have import permission for {0}" msgstr "" -#: frappe/database/query.py:910 +#: frappe/database/query.py:943 +msgid "You do not have permission to access child table field: {0}" +msgstr "" + +#: frappe/database/query.py:953 msgid "You do not have permission to access field: {0}" msgstr "" -#: frappe/desk/query_report.py:969 +#: frappe/desk/query_report.py:968 msgid "You do not have permission to access {0}: {1}." msgstr "" -#: frappe/public/js/frappe/form/form.js:963 +#: frappe/public/js/frappe/form/form.js:992 msgid "You do not have permissions to cancel all linked documents." msgstr "" @@ -30438,7 +30700,7 @@ msgstr "" msgid "You have hit the row size limit on database table: {0}" msgstr "" -#: frappe/public/js/frappe/list/bulk_operations.js:412 +#: frappe/public/js/frappe/list/bulk_operations.js:426 msgid "You have not entered a value. The field will be set to empty." msgstr "" @@ -30458,7 +30720,7 @@ msgstr "" msgid "You haven't added any Dashboard Charts or Number Cards yet." msgstr "" -#: frappe/public/js/frappe/list/list_view.js:504 +#: frappe/public/js/frappe/list/list_view.js:507 msgid "You haven't created a {0} yet" msgstr "" @@ -30467,7 +30729,6 @@ msgid "You hit the rate limit because of too many requests. Please try after som msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:151 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:141 msgid "You last edited this" msgstr "" @@ -30483,12 +30744,12 @@ msgstr "" msgid "You must login to submit this form" msgstr "" -#: frappe/model/document.py:391 +#: frappe/model/document.py:390 msgid "You need the '{0}' permission on {1} {2} to perform this action." msgstr "" #: frappe/desk/doctype/workspace/workspace.py:129 -#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py:75 +#: frappe/desk/doctype/workspace_sidebar/workspace_sidebar.py:71 msgid "You need to be Workspace Manager to delete a public workspace." msgstr "" @@ -30496,7 +30757,7 @@ msgstr "" msgid "You need to be Workspace Manager to edit this document" msgstr "" -#: frappe/www/attribution.py:16 +#: frappe/www/attribution.py:15 msgid "You need to be a system user to access this page." msgstr "" @@ -30548,7 +30809,7 @@ msgstr "" msgid "You need write permission on {0} {1} to rename" msgstr "" -#: frappe/client.py:452 +#: frappe/client.py:501 msgid "You need {0} permission to fetch values from {1} {2}" msgstr "" @@ -30595,7 +30856,7 @@ msgstr "" msgid "You viewed this" msgstr "" -#: frappe/public/js/frappe/router.js:653 +#: frappe/public/js/frappe/router.js:658 msgid "You will be redirected to:" msgstr "" @@ -30672,7 +30933,7 @@ msgstr "" msgid "Your exported report: {0}" msgstr "" -#: frappe/public/js/frappe/web_form/web_form.js:452 +#: frappe/public/js/frappe/web_form/web_form.js:448 msgid "Your form has been successfully updated" msgstr "" @@ -30714,7 +30975,7 @@ msgstr "" msgid "Your session has expired, please login again to continue." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/navbar.html:17 +#: frappe/public/js/frappe/ui/toolbar/navbar.html:7 msgid "Your site is undergoing maintenance or being updated." msgstr "" @@ -30736,7 +30997,7 @@ msgstr "" msgid "[Action taken by {0}]" msgstr "" -#: frappe/database/database.py:361 +#: frappe/database/database.py:367 msgid "`as_iterator` only works with `as_list=True` or `as_dict=True`" msgstr "" @@ -30755,7 +31016,7 @@ msgstr "" msgid "amend" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:394 frappe/utils/data.py:1563 +#: frappe/public/js/frappe/utils/utils.js:396 frappe/utils/data.py:1563 msgid "and" msgstr "" @@ -30778,7 +31039,7 @@ msgstr "" msgid "cProfile Output" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:323 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:297 msgid "calendar" msgstr "" @@ -30794,7 +31055,9 @@ msgid "canceled" msgstr "" #. Option for the 'PDF Generator' (Select) field in DocType 'Print Format' +#. Option for the 'PDF Generator' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "chrome" msgstr "" @@ -30818,7 +31081,7 @@ msgid "cyan" msgstr "" #: frappe/public/js/frappe/form/controls/duration.js:219 -#: frappe/public/js/frappe/utils/utils.js:1163 +#: frappe/public/js/frappe/utils/utils.js:1192 msgctxt "Days (Field: Duration)" msgid "d" msgstr "" @@ -30876,7 +31139,7 @@ msgstr "" msgid "descending" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:225 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:232 msgid "document type..., e.g. customer" msgstr "" @@ -30886,7 +31149,7 @@ msgstr "" msgid "e.g. \"Support\", \"Sales\", \"Jerry Yang\"" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:250 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:257 msgid "e.g. (55 + 434) / 4 or =Math.sin(Math.PI/2)..." msgstr "" @@ -30928,12 +31191,16 @@ msgstr "" msgid "email" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:344 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:318 msgid "email inbox" msgstr "" -#: frappe/permissions.py:431 frappe/permissions.py:442 -#: frappe/public/js/frappe/form/controls/link.js:585 +#: frappe/permissions.py:437 frappe/permissions.py:448 +msgid "empty" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:594 +msgctxt "Comparison value is empty" msgid "empty" msgstr "" @@ -30989,12 +31256,12 @@ msgid "gzip not found in PATH! This is required to take a backup." msgstr "" #: frappe/public/js/frappe/form/controls/duration.js:220 -#: frappe/public/js/frappe/utils/utils.js:1167 +#: frappe/public/js/frappe/utils/utils.js:1196 msgctxt "Hours (Field: Duration)" msgid "h" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:334 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:308 msgid "hub" msgstr "" @@ -31009,6 +31276,20 @@ msgstr "" msgid "import" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:631 +#: frappe/public/js/frappe/form/controls/link.js:636 +#: frappe/public/js/frappe/form/controls/link.js:649 +#: frappe/public/js/frappe/form/controls/link.js:656 +msgid "is disabled" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:630 +#: frappe/public/js/frappe/form/controls/link.js:637 +#: frappe/public/js/frappe/form/controls/link.js:650 +#: frappe/public/js/frappe/form/controls/link.js:655 +msgid "is enabled" +msgstr "" + #: frappe/templates/signup.html:11 frappe/www/login.html:11 msgid "jane@example.com" msgstr "" @@ -31048,16 +31329,11 @@ msgid "long" msgstr "" #: frappe/public/js/frappe/form/controls/duration.js:221 -#: frappe/public/js/frappe/utils/utils.js:1171 +#: frappe/public/js/frappe/utils/utils.js:1200 msgctxt "Minutes (Field: Duration)" msgid "m" msgstr "" -#. Option for the 'Navbar Style' (Select) field in DocType 'Desktop Settings' -#: frappe/desk/doctype/desktop_settings/desktop_settings.json -msgid "macOS Launchpad" -msgstr "" - #: frappe/model/rename_doc.py:215 msgid "merged {0} into {1}" msgstr "" @@ -31076,15 +31352,15 @@ msgstr "" msgid "mm/dd/yyyy" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:240 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:247 msgid "module name..." msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:182 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:171 msgid "new" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:220 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:227 msgid "new type of document" msgstr "" @@ -31146,7 +31422,7 @@ msgstr "" msgid "on_update_after_submit" msgstr "" -#: frappe/public/js/frappe/utils/utils.js:391 frappe/www/login.html:90 +#: frappe/public/js/frappe/utils/utils.js:393 frappe/www/login.html:90 #: frappe/www/login.py:112 msgid "or" msgstr "" @@ -31219,7 +31495,7 @@ msgid "restored {0} as {1}" msgstr "" #: frappe/public/js/frappe/form/controls/duration.js:222 -#: frappe/public/js/frappe/utils/utils.js:1175 +#: frappe/public/js/frappe/utils/utils.js:1204 msgctxt "Seconds (Field: Duration)" msgid "s" msgstr "" @@ -31303,11 +31579,11 @@ msgstr "" msgid "submit" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:235 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:242 msgid "tag name..., e.g. #tag" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:230 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:237 msgid "text in document type" msgstr "" @@ -31405,11 +31681,13 @@ msgid "when clicked on element it will focus popover if present." msgstr "" #. Option for the 'PDF Generator' (Select) field in DocType 'Print Format' +#. Option for the 'PDF Generator' (Select) field in DocType 'Print Settings' #: frappe/printing/doctype/print_format/print_format.json +#: frappe/printing/doctype/print_settings/print_settings.json msgid "wkhtmltopdf" msgstr "" -#: frappe/printing/page/print/print.js:681 +#: frappe/printing/page/print/print.js:689 msgid "wkhtmltopdf 0.12.x (with patched qt)." msgstr "" @@ -31445,11 +31723,11 @@ msgstr "" msgid "{0}" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:217 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:204 msgid "{0} ${skip_list ? \"\" : type}" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:229 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:209 msgid "{0} ${type}" msgstr "" @@ -31466,8 +31744,8 @@ msgstr "" msgid "{0} ({1}) - {2}%" msgstr "" -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:446 -#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:450 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:448 +#: frappe/public/js/frappe/ui/toolbar/awesome_bar.js:452 msgid "{0} = {1}" msgstr "" @@ -31480,13 +31758,13 @@ msgid "{0} Chart" msgstr "" #: frappe/core/page/dashboard_view/dashboard_view.js:67 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:391 -#: frappe/public/js/frappe/ui/toolbar/search_utils.js:392 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:361 +#: frappe/public/js/frappe/ui/toolbar/search_utils.js:362 #: frappe/public/js/frappe/views/dashboard/dashboard_view.js:12 msgid "{0} Dashboard" msgstr "" -#: frappe/public/js/frappe/form/grid_row.js:486 +#: frappe/public/js/frappe/form/grid_row.js:488 #: frappe/public/js/frappe/list/list_settings.js:225 #: frappe/public/js/frappe/views/kanban/kanban_settings.js:178 msgid "{0} Fields" @@ -31520,11 +31798,11 @@ msgstr "" msgid "{0} Map" msgstr "" -#: frappe/public/js/frappe/form/quick_entry.js:122 +#: frappe/public/js/frappe/form/quick_entry.js:135 msgid "{0} Name" msgstr "" -#: frappe/model/base_document.py:1259 +#: frappe/model/base_document.py:1276 msgid "{0} Not allowed to change {1} after submission from {2} to {3}" msgstr "" @@ -31532,7 +31810,7 @@ msgstr "" msgid "{0} Report" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:967 +#: frappe/public/js/frappe/views/reports/query_report.js:984 msgid "{0} Reports" msgstr "" @@ -31545,11 +31823,11 @@ msgid "{0} Tree" msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:128 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:130 +#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:152 msgid "{0} Web page views" msgstr "" -#: frappe/public/js/frappe/form/link_selector.js:225 +#: frappe/public/js/frappe/form/link_selector.js:234 msgid "{0} added" msgstr "" @@ -31611,7 +31889,7 @@ msgctxt "Form timeline" msgid "{0} cancelled this document {1}" msgstr "" -#: frappe/model/document.py:583 +#: frappe/model/document.py:582 msgid "{0} cannot be amended because it is not cancelled. Please cancel the document before creating an amendment." msgstr "" @@ -31640,16 +31918,19 @@ msgctxt "Form timeline" msgid "{0} changed {1} to {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1620 +#: frappe/core/doctype/doctype/doctype.py:1634 msgid "{0} contains an invalid Fetch From expression, Fetch From can't be self-referential." msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:669 +msgid "{0} contains {1}" +msgstr "" + #: frappe/public/js/frappe/views/interaction.js:261 msgid "{0} created successfully" msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:141 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:153 msgid "{0} created this" msgstr "" @@ -31666,11 +31947,19 @@ msgstr "" msgid "{0} days ago" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:671 +msgid "{0} does not contain {1}" +msgstr "" + #: frappe/website/doctype/website_settings/website_settings.py:96 #: frappe/website/doctype/website_settings/website_settings.py:116 msgid "{0} does not exist in row {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:644 +msgid "{0} equals {1}" +msgstr "" + #: frappe/database/mariadb/schema.py:141 frappe/database/postgres/schema.py:187 msgid "{0} field cannot be set as unique in {1}, as there are non-unique existing values" msgstr "" @@ -31695,7 +31984,7 @@ msgstr "" msgid "{0} has already assigned default value for {1}." msgstr "" -#: frappe/database/query.py:1158 +#: frappe/database/query.py:1202 msgid "{0} has invalid backtick notation: {1}" msgstr "" @@ -31716,7 +32005,11 @@ msgstr "" msgid "{0} in row {1} cannot have both URL and child items" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:949 +#: frappe/public/js/frappe/form/controls/link.js:710 +msgid "{0} is a descendant of {1}" +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:952 msgid "{0} is a mandatory field" msgstr "" @@ -31724,7 +32017,15 @@ msgstr "" msgid "{0} is a not a valid zip file" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1633 +#: frappe/public/js/frappe/form/controls/link.js:674 +msgid "{0} is after {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:712 +msgid "{0} is an ancestor of {1}" +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1647 msgid "{0} is an invalid Data field." msgstr "" @@ -31732,6 +32033,15 @@ msgstr "" msgid "{0} is an invalid email address in 'Recipients'" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:679 +msgid "{0} is before {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:708 +msgid "{0} is between {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:705 #: frappe/public/js/frappe/views/reports/report_view.js:1464 msgid "{0} is between {1} and {2}" msgstr "" @@ -31741,22 +32051,36 @@ msgstr "" msgid "{0} is currently {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:642 +#: frappe/public/js/frappe/form/controls/link.js:660 +msgid "{0} is disabled" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:641 +#: frappe/public/js/frappe/form/controls/link.js:661 +msgid "{0} is enabled" +msgstr "" + #: frappe/public/js/frappe/views/reports/report_view.js:1433 msgid "{0} is equal to {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:686 #: frappe/public/js/frappe/views/reports/report_view.js:1453 msgid "{0} is greater than or equal to {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:676 #: frappe/public/js/frappe/views/reports/report_view.js:1443 msgid "{0} is greater than {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:691 #: frappe/public/js/frappe/views/reports/report_view.js:1458 msgid "{0} is less than or equal to {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:681 #: frappe/public/js/frappe/views/reports/report_view.js:1448 msgid "{0} is less than {1}" msgstr "" @@ -31769,10 +32093,14 @@ msgstr "" msgid "{0} is mandatory" msgstr "" -#: frappe/database/query.py:826 +#: frappe/database/query.py:860 msgid "{0} is not a child table of {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:714 +msgid "{0} is not a descendant of {1}" +msgstr "" + #: frappe/core/doctype/document_naming_rule/document_naming_rule.py:50 msgid "{0} is not a field of doctype {1}" msgstr "" @@ -31789,12 +32117,12 @@ msgstr "" msgid "{0} is not a valid Cron expression." msgstr "" -#: frappe/public/js/frappe/form/controls/dynamic_link.js:23 +#: frappe/public/js/frappe/form/controls/dynamic_link.js:25 msgid "{0} is not a valid DocType for Dynamic Link" msgstr "" #: frappe/email/doctype/email_group/email_group.py:140 -#: frappe/utils/__init__.py:198 frappe/utils/__init__.py:213 +#: frappe/utils/__init__.py:189 frappe/utils/__init__.py:204 msgid "{0} is not a valid Email Address" msgstr "" @@ -31802,23 +32130,23 @@ msgstr "" msgid "{0} is not a valid ISO 3166 ALPHA-2 code." msgstr "" -#: frappe/utils/__init__.py:176 +#: frappe/utils/__init__.py:167 msgid "{0} is not a valid Name" msgstr "" -#: frappe/utils/__init__.py:155 +#: frappe/utils/__init__.py:146 msgid "{0} is not a valid Phone Number" msgstr "" -#: frappe/model/workflow.py:245 +#: frappe/model/workflow.py:266 msgid "{0} is not a valid Workflow State. Please update your Workflow and try again." msgstr "" -#: frappe/permissions.py:824 +#: frappe/permissions.py:830 msgid "{0} is not a valid parent DocType for {1}" msgstr "" -#: frappe/permissions.py:844 +#: frappe/permissions.py:850 msgid "{0} is not a valid parentfield for {1}" msgstr "" @@ -31834,6 +32162,11 @@ msgstr "" msgid "{0} is not an allowed role for {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:716 +msgid "{0} is not an ancestor of {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:663 #: frappe/public/js/frappe/views/reports/report_view.js:1438 msgid "{0} is not equal to {1}" msgstr "" @@ -31842,10 +32175,12 @@ msgstr "" msgid "{0} is not like {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:667 #: frappe/public/js/frappe/views/reports/report_view.js:1479 msgid "{0} is not one of {1}" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:697 #: frappe/public/js/frappe/views/reports/report_view.js:1489 msgid "{0} is not set" msgstr "" @@ -31854,36 +32189,50 @@ msgstr "" msgid "{0} is now default print format for {1} doctype" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:684 +msgid "{0} is on or after {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:689 +msgid "{0} is on or before {1}" +msgstr "" + +#: frappe/public/js/frappe/form/controls/link.js:665 #: frappe/public/js/frappe/views/reports/report_view.js:1472 msgid "{0} is one of {1}" msgstr "" #: frappe/email/doctype/email_account/email_account.py:304 -#: frappe/model/naming.py:226 +#: frappe/model/naming.py:224 #: frappe/printing/doctype/print_format/print_format.py:101 #: frappe/printing/doctype/print_format/print_format.py:104 #: frappe/utils/csvutils.py:156 msgid "{0} is required" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:694 #: frappe/public/js/frappe/views/reports/report_view.js:1488 msgid "{0} is set" msgstr "" +#: frappe/public/js/frappe/form/controls/link.js:718 #: frappe/public/js/frappe/views/reports/report_view.js:1467 msgid "{0} is within {1}" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1844 +#: frappe/public/js/frappe/form/controls/link.js:699 +msgid "{0} is {1}" +msgstr "" + +#: frappe/public/js/frappe/list/list_view.js:1852 msgid "{0} items selected" msgstr "" -#: frappe/core/doctype/user/user.py:1458 +#: frappe/core/doctype/user/user.py:1461 msgid "{0} just impersonated as you. They gave this reason: {1}" msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:152 -#: frappe/public/js/frappe/form/sidebar/form_sidebar.js:142 msgid "{0} last edited this" msgstr "" @@ -31911,35 +32260,35 @@ msgstr "" msgid "{0} months ago" msgstr "" -#: frappe/model/document.py:1861 +#: frappe/model/document.py:1860 msgid "{0} must be after {1}" msgstr "" -#: frappe/model/document.py:1613 +#: frappe/model/document.py:1612 msgid "{0} must be beginning with '{1}'" msgstr "" -#: frappe/model/document.py:1615 +#: frappe/model/document.py:1614 msgid "{0} must be equal to '{1}'" msgstr "" -#: frappe/model/document.py:1611 +#: frappe/model/document.py:1610 msgid "{0} must be none of {1}" msgstr "" -#: frappe/model/document.py:1609 frappe/utils/csvutils.py:161 +#: frappe/model/document.py:1608 frappe/utils/csvutils.py:161 msgid "{0} must be one of {1}" msgstr "" -#: frappe/model/base_document.py:977 +#: frappe/model/base_document.py:994 msgid "{0} must be set first" msgstr "" -#: frappe/model/base_document.py:830 +#: frappe/model/base_document.py:849 msgid "{0} must be unique" msgstr "" -#: frappe/model/document.py:1617 +#: frappe/model/document.py:1616 msgid "{0} must be {1} {2}" msgstr "" @@ -31956,11 +32305,11 @@ msgid "{0} not allowed to be renamed" msgstr "" #: frappe/core/doctype/report/report.py:432 -#: frappe/public/js/frappe/list/list_view.js:1221 +#: frappe/public/js/frappe/list/list_view.js:1229 msgid "{0} of {1}" msgstr "" -#: frappe/public/js/frappe/list/list_view.js:1223 +#: frappe/public/js/frappe/list/list_view.js:1231 msgid "{0} of {1} ({2} rows with children)" msgstr "" @@ -31989,7 +32338,7 @@ msgstr "" msgid "{0} records deleted" msgstr "" -#: frappe/public/js/frappe/data_import/data_exporter.js:229 +#: frappe/public/js/frappe/data_import/data_exporter.js:230 msgid "{0} records will be exported" msgstr "" @@ -32014,7 +32363,7 @@ msgstr "" msgid "{0} role does not have permission on any doctype" msgstr "" -#: frappe/model/document.py:1852 +#: frappe/model/document.py:1851 msgid "{0} row #{1}:" msgstr "" @@ -32028,7 +32377,7 @@ msgctxt "User added rows to child table" msgid "{0} rows to {1}" msgstr "" -#: frappe/desk/query_report.py:701 +#: frappe/desk/query_report.py:700 msgid "{0} saved successfully" msgstr "" @@ -32036,7 +32385,7 @@ msgstr "" msgid "{0} self assigned this task: {1}" msgstr "" -#: frappe/share.py:229 +#: frappe/share.py:262 msgid "{0} shared a document {1} {2} with you" msgstr "" @@ -32104,7 +32453,7 @@ msgstr "" msgid "{0} weeks ago" msgstr "" -#: frappe/core/page/permission_manager/permission_manager.js:378 +#: frappe/core/page/permission_manager/permission_manager.js:379 msgid "{0} with the role {1}" msgstr "" @@ -32116,7 +32465,7 @@ msgstr "" msgid "{0} years ago" msgstr "" -#: frappe/public/js/frappe/form/link_selector.js:219 +#: frappe/public/js/frappe/form/link_selector.js:228 msgid "{0} {1} added" msgstr "" @@ -32124,11 +32473,11 @@ msgstr "" msgid "{0} {1} added to Dashboard {2}" msgstr "" -#: frappe/model/base_document.py:763 frappe/model/rename_doc.py:110 +#: frappe/model/base_document.py:768 frappe/model/rename_doc.py:110 msgid "{0} {1} already exists" msgstr "" -#: frappe/model/base_document.py:1088 +#: frappe/model/base_document.py:1105 msgid "{0} {1} cannot be \"{2}\". It should be one of \"{3}\"" msgstr "" @@ -32140,11 +32489,11 @@ msgstr "" msgid "{0} {1} does not exist, select a new target to merge" msgstr "" -#: frappe/public/js/frappe/form/form.js:954 +#: frappe/public/js/frappe/form/form.js:983 msgid "{0} {1} is linked with the following submitted documents: {2}" msgstr "" -#: frappe/model/document.py:278 frappe/permissions.py:586 +#: frappe/model/document.py:277 frappe/permissions.py:592 msgid "{0} {1} not found" msgstr "" @@ -32152,7 +32501,7 @@ msgstr "" msgid "{0} {1}: Submitted Record cannot be deleted. You must {2} Cancel {3} it first." msgstr "" -#: frappe/model/base_document.py:1220 +#: frappe/model/base_document.py:1237 msgid "{0}, Row {1}" msgstr "" @@ -32160,79 +32509,51 @@ msgstr "" msgid "{0}/{1} complete | Please leave this tab open until completion." msgstr "" -#: frappe/model/base_document.py:1225 +#: frappe/model/base_document.py:1242 msgid "{0}: '{1}' ({3}) will get truncated, as max characters allowed is {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1835 -msgid "{0}: Cannot set Amend without Cancel" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1853 -msgid "{0}: Cannot set Assign Amend if not Submittable" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1851 -msgid "{0}: Cannot set Assign Submit if not Submittable" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1830 -msgid "{0}: Cannot set Cancel without Submit" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1837 -msgid "{0}: Cannot set Import without Create" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1833 -msgid "{0}: Cannot set Submit, Cancel, Amend without Write" -msgstr "" - -#: frappe/core/doctype/doctype/doctype.py:1857 -msgid "{0}: Cannot set import as {1} is not importable" -msgstr "" - #: frappe/automation/doctype/auto_repeat/auto_repeat.py:436 msgid "{0}: Failed to attach new recurring document. To enable attaching document in the auto repeat notification email, enable {1} in Print Settings" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1441 +#: frappe/core/doctype/doctype/doctype.py:1455 msgid "{0}: Field '{1}' cannot be set as Unique as it has non-unique values" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1349 +#: frappe/core/doctype/doctype/doctype.py:1363 msgid "{0}: Field {1} in row {2} cannot be hidden and mandatory without default" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1308 +#: frappe/core/doctype/doctype/doctype.py:1322 msgid "{0}: Field {1} of type {2} cannot be mandatory" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1296 +#: frappe/core/doctype/doctype/doctype.py:1310 msgid "{0}: Fieldname {1} appears multiple times in rows {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1428 +#: frappe/core/doctype/doctype/doctype.py:1442 msgid "{0}: Fieldtype {1} for {2} cannot be unique" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1790 +#: frappe/core/doctype/doctype/doctype.py:1804 msgid "{0}: No basic permissions set" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1804 +#: frappe/core/doctype/doctype/doctype.py:1818 msgid "{0}: Only one rule allowed with the same Role, Level and {1}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1330 +#: frappe/core/doctype/doctype/doctype.py:1344 msgid "{0}: Options must be a valid DocType for field {1} in row {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1319 +#: frappe/core/doctype/doctype/doctype.py:1333 msgid "{0}: Options required for Link or Table type field {1} in row {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1337 +#: frappe/core/doctype/doctype/doctype.py:1351 msgid "{0}: Options {1} must be the same as doctype name {2} for the field {3}" msgstr "" @@ -32240,15 +32561,59 @@ msgstr "" msgid "{0}: Other permission rules may also apply" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1819 +#: frappe/core/doctype/doctype/doctype.py:1833 msgid "{0}: Permission at level 0 must be set before higher levels are set" msgstr "" +#: frappe/core/doctype/doctype/doctype.py:1910 +msgid "{0}: The 'Amend' permission cannot be granted for a non-submittable DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1858 +msgid "{0}: The 'Amend' permission cannot be granted without the 'Create' permission." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1845 +msgid "{0}: The 'Cancel' permission cannot be granted without the 'Submit' permission." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1892 +msgid "{0}: The 'Export' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1918 +msgid "{0}: The 'Import' permission cannot be granted for a non-importable DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1864 +msgid "{0}: The 'Import' permission cannot be granted without the 'Create' permission." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1884 +msgid "{0}: The 'Import' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1876 +msgid "{0}: The 'Report' permission was removed because it cannot be granted for a 'single' DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1903 +msgid "{0}: The 'Submit' permission cannot be granted for a non-submittable DocType." +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1852 +msgid "{0}: The 'Submit', 'Cancel', and 'Amend' permissions cannot be granted without the 'Write' permission." +msgstr "" + #: frappe/public/js/frappe/form/controls/data.js:51 msgid "{0}: You can increase the limit for the field if required via {1}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1283 +#: frappe/core/doctype/doctype/doctype.py:1297 +msgid "{0}: fieldname cannot be set to reserved field {1} in DocType" +msgstr "" + +#: frappe/core/doctype/doctype/doctype.py:1288 msgid "{0}: fieldname cannot be set to reserved keyword {1}" msgstr "" @@ -32261,15 +32626,15 @@ msgstr "" msgid "{0}: {1} is set to state {2}" msgstr "" -#: frappe/public/js/frappe/views/reports/query_report.js:1313 +#: frappe/public/js/frappe/views/reports/query_report.js:1330 msgid "{0}: {1} vs {2}" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1449 +#: frappe/core/doctype/doctype/doctype.py:1463 msgid "{0}:Fieldtype {1} for {2} cannot be indexed" msgstr "" -#: frappe/public/js/frappe/form/quick_entry.js:195 +#: frappe/public/js/frappe/form/quick_entry.js:222 msgid "{1} saved" msgstr "" @@ -32289,11 +32654,11 @@ msgstr "" msgid "{count} rows selected" msgstr "" -#: frappe/core/doctype/doctype/doctype.py:1503 +#: frappe/core/doctype/doctype/doctype.py:1517 msgid "{{{0}}} is not a valid fieldname pattern. It should be {{field_name}}." msgstr "" -#: frappe/public/js/frappe/form/form.js:524 +#: frappe/public/js/frappe/form/form.js:525 msgid "{} Complete" msgstr "" diff --git a/frappe/locale/nl.po b/frappe/locale/nl.po index d8a6dbcbba..15b55ac43c 100644 --- a/frappe/locale/nl.po +++ b/frappe/locale/nl.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-24 20:23\n" +"PO-Revision-Date: 2026-01-05 23:50\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" @@ -819,7 +819,7 @@ msgstr "Ongeveer {0} seconden resterend" #: frappe/templates/emails/user_invitation.html:16 msgid "Accept Invitation" -msgstr "" +msgstr "Accepteer uitnodiging" #. Option for the 'Status' (Select) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json @@ -829,7 +829,7 @@ msgstr "Geaccepteerd" #. Label of the accepted_at (Datetime) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Accepted At" -msgstr "" +msgstr "Geaccepteerd bij" #. Label of the access_control_section (Section Break) field in DocType 'Web #. Form' @@ -1616,7 +1616,7 @@ msgstr "" #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json #: frappe/website/doctype/website_settings/website_settings.json msgid "All" -msgstr "" +msgstr "Allemaal" #. Label of the all_day (Check) field in DocType 'Calendar View' #. Label of the all_day (Check) field in DocType 'Event' @@ -3433,7 +3433,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:27 msgid "Between" -msgstr "" +msgstr "Tussen" #. Option for the 'Address Type' (Select) field in DocType 'Address' #: frappe/contacts/doctype/address/address.json @@ -3920,17 +3920,17 @@ msgstr "" #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/form/reminders.js:54 msgid "Cancel" -msgstr "" +msgstr "Annuleren" #: frappe/public/js/frappe/list/list_view.js:2283 msgctxt "Button in list view actions menu" msgid "Cancel" -msgstr "" +msgstr "Annuleren" #: frappe/public/js/frappe/ui/messages.js:68 msgctxt "Secondary button in warning dialog" msgid "Cancel" -msgstr "" +msgstr "Annuleren" #: frappe/public/js/frappe/form/form.js:982 msgid "Cancel All" @@ -4229,7 +4229,7 @@ msgstr "" #: frappe/public/js/frappe/views/interaction.js:72 #: frappe/website/doctype/help_article/help_article.json msgid "Category" -msgstr "" +msgstr "Categorie" #. Label of the category_description (Text) field in DocType 'Help Category' #: frappe/website/doctype/help_category/help_category.json @@ -4255,12 +4255,12 @@ msgstr "" #: frappe/public/js/frappe/form/templates/form_sidebar.html:11 #: frappe/tests/test_translate.py:111 msgid "Change" -msgstr "" +msgstr "Verandering" #: frappe/tests/test_translate.py:112 msgctxt "Coins" msgid "Change" -msgstr "" +msgstr "Verandering" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:38 msgid "Change Image" @@ -4361,7 +4361,7 @@ msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/public/js/frappe/views/reports/report_view.js:504 msgid "Chart Type" -msgstr "" +msgstr "Diagramtype" #. Label of the charts (Table) field in DocType 'Dashboard' #. Label of the charts (Table) field in DocType 'Workspace' @@ -4585,7 +4585,7 @@ msgstr "" #: frappe/templates/emails/new_user.html:7 msgid "Click on the link below to complete your registration and set a new password" -msgstr "" +msgstr "Klik op onderstaande link om uw registratie te voltooien en een nieuw wachtwoord in te stellen" #: frappe/templates/emails/download_data.html:3 msgid "Click on the link below to download your data" @@ -4730,7 +4730,7 @@ msgstr "" #: frappe/public/js/frappe/ui/notifications/notifications.js:56 #: frappe/website/js/bootstrap-4.js:24 msgid "Close" -msgstr "" +msgstr "Dichtbij" #. Label of the close_condition (Code) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -4791,12 +4791,12 @@ msgstr "" #: frappe/public/js/frappe/ui/sidebar/sidebar.html:44 #: frappe/public/js/frappe/widgets/base_widget.js:159 msgid "Collapse" -msgstr "" +msgstr "Ineenstorting" #: frappe/public/js/frappe/form/controls/code.js:185 msgctxt "Shrink code field." msgid "Collapse" -msgstr "" +msgstr "Ineenstorting" #: frappe/public/js/frappe/views/reports/query_report.js:2143 #: frappe/public/js/frappe/views/treeview.js:123 @@ -4862,7 +4862,7 @@ msgstr "" #: frappe/website/doctype/social_link_settings/social_link_settings.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Color" -msgstr "" +msgstr "Kleur" #. Label of the column (Data) field in DocType 'Recorder Suggested Index' #: frappe/core/doctype/recorder_suggested_index/recorder_suggested_index.json @@ -4963,7 +4963,7 @@ msgstr "" #: frappe/public/js/frappe/form/sidebar/assign_to.js:240 #: frappe/templates/includes/comments/comments.html:34 msgid "Comment" -msgstr "" +msgstr "Commentaar" #. Label of the comment_by (Data) field in DocType 'Comment' #: frappe/core/doctype/comment/comment.json @@ -4993,7 +4993,7 @@ msgstr "" #: frappe/public/js/frappe/model/model.js:135 #: frappe/website/doctype/web_form/templates/web_form.html:129 msgid "Comments" -msgstr "" +msgstr "Reacties" #. Description of the 'Timeline Field' (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -5108,7 +5108,7 @@ msgstr "" #: frappe/core/doctype/user/user.py:517 #: frappe/templates/emails/new_user.html:10 msgid "Complete Registration" -msgstr "" +msgstr "Registratie voltooien" #: frappe/public/js/frappe/ui/slides.js:355 msgctxt "Finish the setup wizard" @@ -5128,7 +5128,7 @@ msgstr "" #: frappe/utils/goal.py:129 #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Completed" -msgstr "" +msgstr "Voltooid" #. Label of the completed_by_role (Link) field in DocType 'Workflow Action' #: frappe/workflow/doctype/workflow_action/workflow_action.json @@ -5405,7 +5405,7 @@ msgstr "" #. Label of the contacts (Small Text) field in DocType 'OAuth Client' #: frappe/integrations/doctype/oauth_client/oauth_client.json msgid "Contacts" -msgstr "" +msgstr "Contactpersonen" #: frappe/utils/change_log.py:362 msgid "Contains {0} security fix" @@ -5653,7 +5653,7 @@ msgstr "" #: frappe/public/js/frappe/views/workspace/workspace.js:483 #: frappe/workflow/page/workflow_builder/workflow_builder.js:46 msgid "Create" -msgstr "" +msgstr "Creëren" #: frappe/core/doctype/doctype/doctype_list.js:103 msgid "Create & Continue" @@ -5701,12 +5701,12 @@ msgstr "" #: frappe/public/js/frappe/views/treeview.js:378 #: frappe/workflow/page/workflow_builder/workflow_builder.js:41 msgid "Create New" -msgstr "" +msgstr "Maak nieuw" #: frappe/public/js/frappe/list/list_view.js:515 msgctxt "Create a new document from list view" msgid "Create New" -msgstr "" +msgstr "Maak nieuw" #: frappe/core/doctype/doctype/doctype_list.js:101 msgid "Create New DocType" @@ -5864,7 +5864,7 @@ msgstr "" #: frappe/geo/doctype/currency/currency.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Currency" -msgstr "" +msgstr "Valuta" #. Label of the currency_name (Data) field in DocType 'Currency' #: frappe/geo/doctype/currency/currency.json @@ -6120,7 +6120,7 @@ msgstr "" #: frappe/core/workspace/build/build.json #: frappe/website/doctype/web_form/web_form.json msgid "Customization" -msgstr "" +msgstr "Maatwerk" #: frappe/public/js/frappe/views/workspace/workspace.js:372 msgid "Customizations Discarded" @@ -6232,7 +6232,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:407 #: frappe/website/report/website_analytics/website_analytics.js:23 msgid "Daily" -msgstr "" +msgstr "Dagelijks" #: frappe/templates/emails/upcoming_events.html:8 msgid "Daily Event Digest is sent for Calendar Events where reminders are set." @@ -6466,7 +6466,7 @@ msgstr "" #: frappe/public/js/frappe/views/interaction.js:80 #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Date" -msgstr "" +msgstr "Datum" #. Label of the date_format (Select) field in DocType 'Language' #. Label of the date_format (Select) field in DocType 'System Settings' @@ -6599,7 +6599,7 @@ msgstr "" #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_template_field/web_template_field.json msgid "Default" -msgstr "" +msgstr "Standaard" #: frappe/contacts/doctype/address_template/address_template.py:41 msgid "Default Address Template cannot be deleted" @@ -6627,13 +6627,13 @@ msgstr "" #: frappe/email/doctype/email_account/email_account_list.js:13 msgid "Default Inbox" -msgstr "" +msgstr "Standaard Inbox" #. Label of the default_incoming (Check) field in DocType 'Email Account' #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_account/email_account.py:224 msgid "Default Incoming" -msgstr "" +msgstr "Standaard Inkomende" #. Label of the is_default (Check) field in DocType 'Letter Head' #: frappe/printing/doctype/letter_head/letter_head.json @@ -6653,7 +6653,7 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_account/email_account.py:232 msgid "Default Outgoing" -msgstr "" +msgstr "Standaard uitgaande" #. Label of the default_portal_home (Data) field in DocType 'Portal Settings' #: frappe/website/doctype/portal_settings/portal_settings.json @@ -6684,11 +6684,11 @@ msgstr "" #: frappe/email/doctype/email_account/email_account_list.js:16 msgid "Default Sending" -msgstr "" +msgstr "Standaard verzenden" #: frappe/email/doctype/email_account/email_account_list.js:7 msgid "Default Sending and Inbox" -msgstr "" +msgstr "Standaard verzenden en Inbox" #. Label of the sort_field (Data) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -6814,17 +6814,17 @@ msgstr "" #: frappe/templates/discussions/reply_card.html:35 #: frappe/templates/discussions/reply_section.html:29 msgid "Delete" -msgstr "" +msgstr "Verwijder" #: frappe/public/js/frappe/list/list_view.js:2251 msgctxt "Button in list view actions menu" msgid "Delete" -msgstr "" +msgstr "Verwijder" #: frappe/website/doctype/web_form/templates/web_form.html:52 msgctxt "Button in web form" msgid "Delete" -msgstr "" +msgstr "Verwijder" #: frappe/www/me.html:65 msgid "Delete Account" @@ -7069,7 +7069,7 @@ msgstr "" #: frappe/website/doctype/website_slideshow_item/website_slideshow_item.json #: frappe/www/attribution.html:24 msgid "Description" -msgstr "" +msgstr "Beschrijving" #. Description of the 'Description' (Section Break) field in DocType #. 'Onboarding Step' @@ -7319,7 +7319,7 @@ msgstr "" #: frappe/website/doctype/about_us_settings/about_us_settings.json #: frappe/website/doctype/contact_us_settings/contact_us_settings.json msgid "Disabled" -msgstr "" +msgstr "Uitgeschakeld" #: frappe/email/doctype/email_account/email_account.js:300 msgid "Disabled Auto Reply" @@ -7864,7 +7864,7 @@ msgstr "" #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json #: frappe/workflow/doctype/workflow/workflow.json msgid "Document Type" -msgstr "" +msgstr "Soort document" #: frappe/desk/doctype/number_card/number_card.py:60 msgid "Document Type and Function are required to create a number card" @@ -8054,7 +8054,7 @@ msgstr "" #: frappe/public/js/print_format_builder/HTMLEditor.vue:5 #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:52 msgid "Done" -msgstr "" +msgstr "Afgerond" #. Option for the 'Type' (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -8069,12 +8069,12 @@ msgstr "" #: frappe/email/doctype/auto_email_report/auto_email_report.js:8 #: frappe/public/js/frappe/form/grid.js:66 msgid "Download" -msgstr "" +msgstr "Downloaden" #: frappe/public/js/frappe/views/reports/report_utils.js:247 msgctxt "Export report" msgid "Download" -msgstr "" +msgstr "Downloaden" #: frappe/desk/page/backups/backups.js:4 msgid "Download Backups" @@ -8172,7 +8172,7 @@ msgstr "" #. Label of the date (Date) field in DocType 'ToDo' #: frappe/desk/doctype/todo/todo.json msgid "Due Date" -msgstr "" +msgstr "Vervaldatum" #. Label of the due_date_based_on (Select) field in DocType 'Assignment Rule' #: frappe/automation/doctype/assignment_rule/assignment_rule.json @@ -8182,7 +8182,7 @@ msgstr "" #: frappe/public/js/frappe/form/grid_row_form.js:44 #: frappe/public/js/frappe/form/toolbar.js:455 msgid "Duplicate" -msgstr "" +msgstr "Dupliceer" #: frappe/printing/doctype/print_format_field_template/print_format_field_template.py:53 msgid "Duplicate Entry" @@ -8223,7 +8223,7 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Duration" -msgstr "" +msgstr "Looptijd" #. Option for the 'Row Format' (Select) field in DocType 'DocType' #: frappe/core/doctype/doctype/doctype.json @@ -8306,22 +8306,22 @@ msgstr "" #: frappe/workflow/page/workflow_builder/workflow_builder.js:46 #: frappe/workflow/page/workflow_builder/workflow_builder.js:84 msgid "Edit" -msgstr "" +msgstr "Bewerk" #: frappe/public/js/frappe/list/list_view.js:2337 msgctxt "Button in list view actions menu" msgid "Edit" -msgstr "" +msgstr "Bewerk" #: frappe/website/doctype/web_form/templates/web_form.html:23 msgctxt "Button in web form" msgid "Edit" -msgstr "" +msgstr "Bewerk" #: frappe/public/js/frappe/form/grid_row.js:350 msgctxt "Edit grid row" msgid "Edit" -msgstr "" +msgstr "Bewerk" #: frappe/public/js/frappe/ui/address_autocomplete/autocomplete_dialog.js:66 msgid "Edit Address in Form" @@ -8543,7 +8543,7 @@ msgstr "" #: frappe/website/web_form/request_to_delete_data/request_to_delete_data.json #: frappe/www/login.html:8 frappe/www/login.py:104 msgid "Email" -msgstr "" +msgstr "E-mail" #. Label of the email_account (Link) field in DocType 'Communication' #. Label of the email_account (Link) field in DocType 'User Email' @@ -8887,7 +8887,7 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_account/email_account.py:225 msgid "Enable Incoming" -msgstr "" +msgstr "Inschakelen Binnenkomend" #. Label of the enable_onboarding (Check) field in DocType 'System Settings' #: frappe/core/doctype/system_settings/system_settings.json @@ -8900,7 +8900,7 @@ msgstr "" #: frappe/email/doctype/email_account/email_account.json #: frappe/email/doctype/email_account/email_account.py:233 msgid "Enable Outgoing" -msgstr "" +msgstr "Inschakelen Uitgaand" #. Label of the enable_password_policy (Check) field in DocType 'System #. Settings' @@ -9014,7 +9014,7 @@ msgstr "" #: frappe/website/doctype/portal_menu_item/portal_menu_item.json #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Enabled" -msgstr "" +msgstr "Ingeschakeld" #: frappe/core/doctype/rq_job/rq_job_list.js:38 msgid "Enabled Scheduler" @@ -9079,7 +9079,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:425 #: frappe/website/doctype/web_page/web_page.json msgid "End Date" -msgstr "" +msgstr "Einddatum" #. Label of the end_date_field (Select) field in DocType 'Calendar View' #: frappe/desk/doctype/calendar_view/calendar_view.json @@ -9198,7 +9198,7 @@ msgstr "" #: frappe/public/js/frappe/list/base_list.js:1256 #: frappe/public/js/frappe/ui/filters/filter.js:16 msgid "Equals" -msgstr "" +msgstr "Is gelijk aan" #. Option for the 'Delivery Status' (Select) field in DocType 'Communication' #. Option for the 'Status' (Select) field in DocType 'Data Import' @@ -9487,12 +9487,12 @@ msgstr "" #: frappe/public/js/frappe/views/treeview.js:137 #: frappe/public/js/frappe/widgets/base_widget.js:159 msgid "Expand" -msgstr "" +msgstr "Uitbreiden" #: frappe/public/js/frappe/form/controls/code.js:186 msgctxt "Enlarge code field." msgid "Expand" -msgstr "" +msgstr "Uitbreiden" #: frappe/public/js/frappe/views/reports/query_report.js:2143 #: frappe/public/js/frappe/views/treeview.js:133 @@ -9531,7 +9531,7 @@ msgstr "" #: frappe/core/doctype/communication/communication.json #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Expired" -msgstr "" +msgstr "Verlopen" #. Label of the expires_in (Int) field in DocType 'OAuth Bearer Token' #. Label of the expires_in (Int) field in DocType 'Token Cache' @@ -9561,12 +9561,12 @@ msgstr "" #: frappe/public/js/frappe/views/reports/report_view.js:1633 #: frappe/public/js/frappe/widgets/chart_widget.js:315 msgid "Export" -msgstr "" +msgstr "Exporteren" #: frappe/public/js/frappe/list/list_view.js:2359 msgctxt "Button in list view actions menu" msgid "Export" -msgstr "" +msgstr "Exporteren" #: frappe/public/js/frappe/data_import/data_exporter.js:245 msgid "Export 1 record" @@ -9605,7 +9605,7 @@ msgstr "" #: frappe/public/js/frappe/data_import/data_exporter.js:26 msgid "Export Type" -msgstr "" +msgstr "Exporttype" #: frappe/public/js/frappe/views/reports/report_view.js:1644 msgid "Export all matching rows?" @@ -9710,7 +9710,7 @@ msgstr "" #: frappe/core/doctype/submission_queue/submission_queue.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Failed" -msgstr "" +msgstr "Gefaald" #. Label of the failed_emails (Int) field in DocType 'System Health Report' #: frappe/desk/doctype/system_health_report/system_health_report.json @@ -9931,7 +9931,7 @@ msgstr "" #: frappe/website/doctype/web_form_field/web_form_field.json #: frappe/website/doctype/web_form_list_column/web_form_list_column.json msgid "Field" -msgstr "" +msgstr "Veld" #: frappe/core/doctype/doctype/doctype.py:419 msgid "Field \"route\" is mandatory for Web Views" @@ -10422,7 +10422,7 @@ msgstr "" #: frappe/core/web_form/edit_profile/edit_profile.json #: frappe/www/complete_signup.html:15 msgid "First Name" -msgstr "" +msgstr "Voornaam" #. Label of the first_success_message (Data) field in DocType 'Success Action' #: frappe/core/doctype/success_action/success_action.json @@ -10980,12 +10980,12 @@ msgstr "" #: frappe/core/doctype/permission_log/permission_log.js:12 #: frappe/public/js/frappe/views/inbox/inbox_view.js:70 msgid "From" -msgstr "" +msgstr "Van" #: frappe/public/js/frappe/views/communication.js:188 msgctxt "Email Sender" msgid "From" -msgstr "" +msgstr "Van" #. Label of the from_attach_field (Select) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -10996,7 +10996,7 @@ msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/report/website_analytics/website_analytics.js:8 msgid "From Date" -msgstr "" +msgstr "Van Datum" #. Label of the from_date_field (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -11042,7 +11042,7 @@ msgstr "" #: frappe/templates/signup.html:4 #: frappe/website/doctype/about_us_team_member/about_us_team_member.json msgid "Full Name" -msgstr "" +msgstr "Volledige naam" #: frappe/printing/page/print/print.js:81 #: frappe/public/js/frappe/form/templates/print_layout.html:42 @@ -11120,7 +11120,7 @@ msgstr "" #: frappe/contacts/doctype/gender/gender.json #: frappe/core/doctype/user/user.json msgid "Gender" -msgstr "" +msgstr "Geslacht" #: frappe/desk/page/setup_wizard/install_fixtures.py:32 msgid "Genderqueer" @@ -12215,7 +12215,7 @@ msgstr "" #: frappe/public/js/frappe/views/workspace/workspace.js:472 #: frappe/workflow/doctype/workflow_state/workflow_state.json msgid "Icon" -msgstr "" +msgstr "Icoon" #. Label of the icon_style (Select) field in DocType 'Desktop Settings' #: frappe/desk/doctype/desktop_settings/desktop_settings.json @@ -12771,7 +12771,7 @@ msgstr "" #: frappe/core/doctype/data_import/data_import.js:42 msgid "In Progress" -msgstr "" +msgstr "Bezig" #: frappe/database/database.py:288 msgid "In Read Only Mode" @@ -12809,7 +12809,7 @@ msgstr "" #: frappe/desk/doctype/form_tour/form_tour.json #: frappe/email/doctype/email_account/email_account_list.js:19 msgid "Inbox" -msgstr "" +msgstr "Postvak IN" #. Name of a role #: frappe/core/doctype/communication/communication.json @@ -13141,7 +13141,7 @@ msgstr "" #: frappe/integrations/workspace/integrations/integrations.json #: frappe/website/doctype/website_settings/website_settings.json msgid "Integrations" -msgstr "" +msgstr "Integraties" #. Description of the 'Delivery Status' (Select) field in DocType #. 'Communication' @@ -13611,7 +13611,7 @@ msgstr "" #. Label of the invited_by (Link) field in DocType 'User Invitation' #: frappe/core/doctype/user_invitation/user_invitation.json msgid "Invited By" -msgstr "" +msgstr "Uitgenodigd door" #: frappe/public/js/frappe/ui/filters/filter.js:22 msgid "Is" @@ -13679,7 +13679,7 @@ msgstr "" #: frappe/core/doctype/user_permission/user_permission_list.js:69 #: frappe/desk/doctype/dashboard/dashboard.json msgid "Is Default" -msgstr "" +msgstr "Is Standaard" #. Label of the is_dynamic_url (Check) field in DocType 'Webhook' #: frappe/integrations/doctype/webhook/webhook.json @@ -13697,7 +13697,7 @@ msgstr "" #: frappe/public/js/frappe/views/treeview.js:418 msgid "Is Group" -msgstr "" +msgstr "Is groep" #. Label of the is_hidden (Check) field in DocType 'Workspace' #: frappe/desk/doctype/workspace/workspace.json @@ -14385,7 +14385,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:651 msgid "Last 6 Months" -msgstr "" +msgstr "Laatste 6 maanden" #: frappe/public/js/frappe/ui/filters/filter.js:623 msgid "Last 7 Days" @@ -14449,7 +14449,7 @@ msgstr "" #: frappe/core/web_form/edit_profile/edit_profile.json #: frappe/www/complete_signup.html:19 msgid "Last Name" -msgstr "" +msgstr "Achternaam" #. Label of the last_password_reset_date (Date) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -14558,13 +14558,13 @@ msgstr "" #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json msgid "Left" -msgstr "" +msgstr "Links" #: frappe/printing/page/print_format_builder/print_format_builder.js:483 #: frappe/public/js/print_format_builder/PrintFormatControls.vue:155 msgctxt "alignment" msgid "Left" -msgstr "" +msgstr "Links" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -14742,7 +14742,7 @@ msgstr "" #: frappe/public/js/frappe/list/base_list.js:1256 #: frappe/public/js/frappe/ui/filters/filter.js:18 msgid "Like" -msgstr "" +msgstr "Leuk vinden" #: frappe/desk/like.py:92 msgid "Liked" @@ -15056,7 +15056,7 @@ msgstr "" #: frappe/public/js/frappe/web_form/web_form_list.js:306 #: frappe/website/doctype/help_article/templates/help_article_list.html:30 msgid "Load More" -msgstr "" +msgstr "Meer laden" #: frappe/public/js/frappe/form/footer/form_timeline.js:215 msgctxt "Form timeline" @@ -15098,7 +15098,7 @@ msgstr "" #: frappe/public/js/frappe/widgets/number_card_widget.js:188 #: frappe/public/js/frappe/widgets/quick_list_widget.js:129 msgid "Loading..." -msgstr "" +msgstr "Laden ..." #. Label of the location (Data) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -15356,7 +15356,7 @@ msgstr "" #: frappe/desk/doctype/todo/todo.json #: frappe/public/js/frappe/form/sidebar/assign_to.js:220 msgid "Low" -msgstr "" +msgstr "Laag" #: frappe/public/js/frappe/utils/number_systems.js:13 msgctxt "Number system" @@ -15436,7 +15436,7 @@ msgstr "" #: frappe/public/js/frappe/form/multi_select_dialog.js:87 msgid "Make {0}" -msgstr "" +msgstr "Maak {0}" #: frappe/website/doctype/web_page/web_page.js:77 msgid "Makes the page public" @@ -15797,12 +15797,12 @@ msgstr "" #: frappe/workflow/doctype/workflow_document_state/workflow_document_state.json #: frappe/www/message.html:3 msgid "Message" -msgstr "" +msgstr "Bericht" #: frappe/public/js/frappe/ui/messages.js:274 frappe/utils/messages.py:78 msgctxt "Default title of the message dialog" msgid "Message" -msgstr "" +msgstr "Bericht" #. Label of the message_examples (HTML) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -16059,7 +16059,7 @@ msgstr "" #. Label of a field in the edit-profile Web Form #: frappe/core/web_form/edit_profile/edit_profile.json msgid "Mobile Number" -msgstr "" +msgstr "Mobiel nummer" #. Label of the modal_trigger (Check) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -16211,7 +16211,7 @@ msgstr "" #: frappe/public/js/frappe/views/calendar/calendar.js:275 msgid "Month" -msgstr "" +msgstr "Maand" #. Option for the 'Frequency' (Select) field in DocType 'Auto Repeat' #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' @@ -16231,7 +16231,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:409 #: frappe/website/report/website_analytics/website_analytics.js:25 msgid "Monthly" -msgstr "" +msgstr "Maandelijks" #. Option for the 'Frequency' (Select) field in DocType 'Scheduled Job Type' #. Option for the 'Event Frequency' (Select) field in DocType 'Server Script' @@ -16441,7 +16441,7 @@ msgstr "" #: frappe/public/js/frappe/views/file/file_view.js:97 #: frappe/website/doctype/website_slideshow/website_slideshow.js:25 msgid "Name" -msgstr "" +msgstr "Naam" #: frappe/integrations/doctype/webhook/webhook.js:29 msgid "Name (Doc Name)" @@ -16606,7 +16606,7 @@ msgstr "" #: frappe/public/js/frappe/views/treeview.js:473 #: frappe/website/doctype/web_form/templates/web_list.html:15 msgid "New" -msgstr "" +msgstr "Nieuw" #: frappe/public/js/frappe/views/interaction.js:15 msgid "New Activity" @@ -16854,7 +16854,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:703 msgid "Next 6 Months" -msgstr "" +msgstr "Volgende 6 maanden" #: frappe/public/js/frappe/ui/filters/filter.js:679 msgid "Next 7 Days" @@ -16887,11 +16887,11 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:695 msgid "Next Month" -msgstr "" +msgstr "Volgende Maand" #: frappe/public/js/frappe/ui/filters/filter.js:699 msgid "Next Quarter" -msgstr "" +msgstr "Volgend kwartaal" #. Label of the next_schedule_date (Date) field in DocType 'Auto Repeat' #: frappe/automation/doctype/auto_repeat/auto_repeat.json @@ -16921,11 +16921,11 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:691 msgid "Next Week" -msgstr "" +msgstr "Volgende Week" #: frappe/public/js/frappe/ui/filters/filter.js:707 msgid "Next Year" -msgstr "" +msgstr "Volgend jaar" #: frappe/public/js/frappe/form/workflow.js:45 msgid "Next actions" @@ -16987,7 +16987,7 @@ msgstr "" #: frappe/public/js/frappe/utils/datatable.js:10 #: frappe/public/js/frappe/widgets/chart_widget.js:57 msgid "No Data" -msgstr "" +msgstr "Geen gegevens" #: frappe/public/js/frappe/widgets/quick_list_widget.js:134 msgid "No Data..." @@ -17364,7 +17364,7 @@ msgstr "" #: frappe/core/doctype/user/user.py:1076 #: frappe/templates/includes/login/login.js:257 frappe/utils/oauth.py:298 msgid "Not Allowed" -msgstr "" +msgstr "Niet Toegestaan" #: frappe/templates/includes/login/login.js:259 msgid "Not Allowed: Disabled User" @@ -17380,7 +17380,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:17 msgid "Not Equals" -msgstr "" +msgstr "Ongelijk aan" #: frappe/app.py:390 frappe/www/404.html:3 msgid "Not Found" @@ -17393,11 +17393,11 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:21 msgid "Not In" -msgstr "" +msgstr "Niet In" #: frappe/public/js/frappe/ui/filters/filter.js:19 msgid "Not Like" -msgstr "" +msgstr "Niet zoals" #: frappe/public/js/frappe/form/linked_with.js:45 msgid "Not Linked to any record" @@ -17434,7 +17434,7 @@ msgstr "" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:39 #: frappe/website/doctype/web_form/templates/web_form.html:85 msgid "Not Saved" -msgstr "" +msgstr "Niet opgeslagen" #: frappe/core/doctype/error_log/error_log_list.js:7 msgid "Not Seen" @@ -17535,7 +17535,7 @@ msgstr "" #: frappe/automation/doctype/auto_repeat/auto_repeat.py:438 #: frappe/desk/doctype/note/note.json msgid "Note" -msgstr "" +msgstr "Opmerking" #. Name of a DocType #: frappe/desk/doctype/note_seen_by/note_seen_by.json @@ -17608,7 +17608,7 @@ msgstr "" #: frappe/email/doctype/notification/notification.json #: frappe/public/js/frappe/ui/sidebar/sidebar.js:258 msgid "Notification" -msgstr "" +msgstr "Kennisgeving" #. Name of a DocType #: frappe/desk/doctype/notification_log/notification_log.json @@ -17963,7 +17963,7 @@ msgstr "" #. Request' #: frappe/website/doctype/personal_data_deletion_request/personal_data_deletion_request.json msgid "On Hold" -msgstr "" +msgstr "In de wacht" #. Option for the 'DocType Event' (Select) field in DocType 'Server Script' #: frappe/core/doctype/server_script/server_script.json @@ -18639,7 +18639,7 @@ msgstr "" #: frappe/desk/doctype/workspace_shortcut/workspace_shortcut.json #: frappe/desk/doctype/workspace_sidebar_item/workspace_sidebar_item.json msgid "Page" -msgstr "" +msgstr "Bladzijde" #. Option for the 'Fieldtype' (Select) field in DocType 'Web Form Field' #: frappe/public/js/print_format_builder/PrintFormatSection.vue:63 @@ -19025,7 +19025,7 @@ msgstr "" #: frappe/core/doctype/user_invitation/user_invitation.json #: frappe/website/doctype/personal_data_deletion_step/personal_data_deletion_step.json msgid "Pending" -msgstr "" +msgstr "In afwachting van" #. Option for the 'Status' (Select) field in DocType 'Personal Data Deletion #. Request' @@ -20219,7 +20219,7 @@ msgstr "" #: frappe/public/js/frappe/form/sidebar/assign_to.js:214 #: frappe/website/doctype/web_page/web_page.json msgid "Priority" -msgstr "" +msgstr "Prioriteit" #. Label of the private (Check) field in DocType 'Custom HTML Block' #. Option for the 'Event Type' (Select) field in DocType 'Event' @@ -20230,7 +20230,7 @@ msgstr "" #: frappe/desk/doctype/note/note_list.js:8 #: frappe/public/js/frappe/file_uploader/FilePreview.vue:42 msgid "Private" -msgstr "" +msgstr "Prive-" #. Label of the private_files_size (Float) field in DocType 'System Health #. Report' @@ -20366,7 +20366,7 @@ msgstr "" #: frappe/public/js/frappe/views/interaction.js:78 #: frappe/public/js/frappe/views/workspace/workspace.js:454 msgid "Public" -msgstr "" +msgstr "Publiek" #. Label of the public_files_size (Float) field in DocType 'System Health #. Report' @@ -20613,7 +20613,7 @@ msgstr "" #: frappe/core/doctype/submission_queue/submission_queue.json #: frappe/integrations/doctype/integration_request/integration_request.json msgid "Queued" -msgstr "" +msgstr "Wachtrij" #. Label of the queued_at (Datetime) field in DocType 'Prepared Report' #: frappe/core/doctype/prepared_report/prepared_report.json @@ -20647,7 +20647,7 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/custom/doctype/customize_form/customize_form.json msgid "Quick Entry" -msgstr "" +msgstr "Snelle invoer" #: frappe/core/page/permission_manager/permission_manager_help.html:3 msgid "Quick Help for Setting Permissions" @@ -20776,7 +20776,7 @@ msgstr "" #: frappe/email/doctype/email_flag_queue/email_flag_queue.json #: frappe/public/js/frappe/form/templates/set_sharing.html:2 msgid "Read" -msgstr "" +msgstr "Lezen" #. Option for the 'Type' (Select) field in DocType 'DocField' #. Label of the read_only (Check) field in DocType 'DocField' @@ -20846,7 +20846,7 @@ msgstr "" #. Label of the reason (Long Text) field in DocType 'Unhandled Email' #: frappe/email/doctype/unhandled_email/unhandled_email.json msgid "Reason" -msgstr "" +msgstr "Reden" #: frappe/public/js/frappe/views/reports/query_report.js:897 msgid "Rebuild" @@ -21060,7 +21060,7 @@ msgstr "" #. Label of the reference_docname (Dynamic Link) field in DocType 'Event' #: frappe/desk/doctype/event/event.json msgid "Reference Doc" -msgstr "" +msgstr "Referentie Document" #. Label of the reference_name (Data) field in DocType 'Email Queue' #: frappe/email/doctype/email_queue/email_queue.json @@ -21093,7 +21093,7 @@ msgstr "" #: frappe/public/js/frappe/views/render_preview.js:34 #: frappe/website/doctype/discussion_topic/discussion_topic.json msgid "Reference Doctype" -msgstr "" +msgstr "Referentie Doctype" #. Label of the reference_document (Dynamic Link) field in DocType 'Auto #. Repeat' @@ -21161,7 +21161,7 @@ msgstr "" #: frappe/website/doctype/portal_menu_item/portal_menu_item.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Reference Document Type" -msgstr "" +msgstr "Referentie Document Type" #. Label of the reference_name (Dynamic Link) field in DocType 'Activity Log' #. Label of the reference_name (Dynamic Link) field in DocType 'Comment' @@ -21186,7 +21186,7 @@ msgstr "" #: frappe/email/doctype/email_unsubscribe/email_unsubscribe.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "Reference Name" -msgstr "" +msgstr "Referentienaam" #. Label of the reference_owner (Read Only) field in DocType 'Activity Log' #. Label of the reference_owner (Data) field in DocType 'Comment' @@ -21239,7 +21239,7 @@ msgstr "" #: frappe/public/js/frappe/widgets/number_card_widget.js:352 #: frappe/public/js/print_format_builder/Preview.vue:24 msgid "Refresh" -msgstr "" +msgstr "Verversen" #: frappe/core/page/dashboard_view/dashboard_view.js:177 msgid "Refresh All" @@ -21542,11 +21542,11 @@ msgstr "" #: frappe/public/js/frappe/form/footer/form_timeline.js:563 #: frappe/website/doctype/discussion_reply/discussion_reply.json msgid "Reply" -msgstr "" +msgstr "Antwoorden" #: frappe/core/doctype/communication/communication.js:62 msgid "Reply All" -msgstr "" +msgstr "Allen beantwoorden" #. Label of the report (Check) field in DocType 'Custom DocPerm' #. Label of the report (Link) field in DocType 'Custom Role' @@ -22016,7 +22016,7 @@ msgstr "" #: frappe/core/doctype/deleted_document/deleted_document.js:11 #: frappe/core/doctype/deleted_document/deleted_document_list.js:48 msgid "Restore" -msgstr "" +msgstr "Herstellen" #: frappe/core/page/permission_manager/permission_manager.js:559 msgid "Restore Original Permissions" @@ -22122,13 +22122,13 @@ msgstr "" #: frappe/printing/doctype/letter_head/letter_head.json #: frappe/website/doctype/web_page/web_page.json msgid "Right" -msgstr "" +msgstr "Rechts" #: frappe/printing/page/print_format_builder/print_format_builder.js:484 #: frappe/public/js/print_format_builder/PrintFormatControls.vue:156 msgctxt "alignment" msgid "Right" -msgstr "" +msgstr "Rechts" #. Option for the 'Position' (Select) field in DocType 'Form Tour Step' #: frappe/desk/doctype/form_tour_step/form_tour_step.json @@ -22176,7 +22176,7 @@ msgstr "" #: frappe/website/doctype/portal_menu_item/portal_menu_item.json #: frappe/workflow/doctype/workflow_action_permitted_role/workflow_action_permitted_role.json msgid "Role" -msgstr "" +msgstr "Rol" #: frappe/core/doctype/role/role.js:8 msgid "Role 'All' will be given to all system + website users." @@ -22597,7 +22597,7 @@ msgstr "" #: frappe/contacts/doctype/contact/contact.json #: frappe/geo/doctype/currency/currency.json msgid "Sales User" -msgstr "" +msgstr "Sales Gebruiker" #. Option for the 'Social Login Provider' (Select) field in DocType 'Social #. Login Key' @@ -22611,7 +22611,7 @@ msgstr "" #: frappe/contacts/doctype/contact/contact.json #: frappe/contacts/doctype/salutation/salutation.json msgid "Salutation" -msgstr "" +msgstr "Aanhef" #: frappe/integrations/doctype/webhook/webhook.py:113 msgid "Same Field is entered more than once" @@ -22662,7 +22662,7 @@ msgstr "" #: frappe/public/js/print_format_builder/print_format_builder.bundle.js:15 #: frappe/public/js/workflow_builder/workflow_builder.bundle.js:33 msgid "Save" -msgstr "" +msgstr "bewaren" #: frappe/workflow/doctype/workflow/workflow.js:143 msgid "Save Anyway" @@ -22931,7 +22931,7 @@ msgstr "" #: frappe/templates/discussions/search.html:2 #: frappe/templates/includes/search_template.html:26 msgid "Search" -msgstr "" +msgstr "Zoek" #. Label of the search_bar (Check) field in DocType 'User' #: frappe/core/doctype/user/user.json @@ -23398,7 +23398,7 @@ msgstr "" #: frappe/public/js/frappe/list/list_view_select.js:148 #: frappe/public/js/print_format_builder/Preview.vue:90 msgid "Select {0}" -msgstr "" +msgstr "Selecteer {0}" #: frappe/model/workflow.py:120 msgid "Self approval is not allowed" @@ -23406,12 +23406,12 @@ msgstr "" #: frappe/www/contact.html:41 msgid "Send" -msgstr "" +msgstr "Verstuur" #: frappe/public/js/frappe/views/communication.js:26 msgctxt "Send Email" msgid "Send" -msgstr "" +msgstr "Verstuur" #. Description of the 'Minutes Offset' (Int) field in DocType 'Notification' #: frappe/email/doctype/notification/notification.json @@ -24001,7 +24001,7 @@ msgstr "" #: frappe/website/doctype/web_form/web_form.json #: frappe/website/doctype/web_page/web_page.json frappe/www/me.html:20 msgid "Settings" -msgstr "" +msgstr "instellingen" #. Label of the settings_dropdown (Table) field in DocType 'Navbar Settings' #: frappe/core/doctype/navbar_settings/navbar_settings.json @@ -24124,7 +24124,7 @@ msgstr "" #: frappe/www/update-password.html:49 frappe/www/update-password.html:60 #: frappe/www/update-password.html:120 msgid "Show" -msgstr "" +msgstr "Tonen" #. Label of the show_absolute_datetime_in_timeline (Check) field in DocType #. 'System Settings' @@ -24857,7 +24857,7 @@ msgstr "" #: frappe/website/doctype/website_route_redirect/website_route_redirect.json #: frappe/website/report/website_analytics/website_analytics.js:38 msgid "Source" -msgstr "" +msgstr "Bron" #: frappe/public/js/frappe/ui/toolbar/about.js:11 msgid "Source Code" @@ -25028,7 +25028,7 @@ msgstr "" #: frappe/public/js/frappe/utils/common.js:418 #: frappe/website/doctype/web_page/web_page.json msgid "Start Date" -msgstr "" +msgstr "Startdatum" #. Label of the start_date_field (Select) field in DocType 'Calendar View' #: frappe/desk/doctype/calendar_view/calendar_view.json @@ -25342,7 +25342,7 @@ msgstr "" #: frappe/public/js/frappe/views/communication.js:110 #: frappe/public/js/frappe/views/inbox/inbox_view.js:63 msgid "Subject" -msgstr "" +msgstr "Onderwerp" #. Label of the subject_field (Data) field in DocType 'DocType' #. Label of the subject_field (Data) field in DocType 'Customize Form' @@ -25709,7 +25709,7 @@ msgstr "" #: frappe/integrations/doctype/google_calendar/google_calendar.js:31 #: frappe/integrations/doctype/google_contacts/google_contacts.js:31 msgid "Syncing" -msgstr "" +msgstr "synchroniseren" #: frappe/integrations/doctype/google_calendar/google_calendar.js:19 msgid "Syncing {0} of {1}" @@ -26085,12 +26085,12 @@ msgstr "" #: frappe/desk/doctype/todo/todo_calendar.js:25 #: frappe/workflow/doctype/workflow_transition_task/workflow_transition_task.json msgid "Task" -msgstr "" +msgstr "Taak" #. Label of the tasks (Table) field in DocType 'Workflow Transition Tasks' #: frappe/workflow/doctype/workflow_transition_tasks/workflow_transition_tasks.json msgid "Tasks" -msgstr "" +msgstr "Taken" #. Label of the sb1 (Section Break) field in DocType 'About Us Settings' #. Label of the team_members (Table) field in DocType 'About Us Settings' @@ -26618,7 +26618,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:665 msgid "This Month" -msgstr "" +msgstr "Deze maand" #: frappe/core/doctype/file/file.py:406 msgid "This PDF cannot be uploaded as it contains unsafe content." @@ -26626,15 +26626,15 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:669 msgid "This Quarter" -msgstr "" +msgstr "Dit kwartaal" #: frappe/public/js/frappe/ui/filters/filter.js:661 msgid "This Week" -msgstr "" +msgstr "Deze week" #: frappe/public/js/frappe/ui/filters/filter.js:673 msgid "This Year" -msgstr "" +msgstr "Dit jaar" #: frappe/custom/doctype/customize_form/customize_form.js:220 msgid "This action is irreversible. Do you wish to continue?" @@ -26919,7 +26919,7 @@ msgstr "" #: frappe/custom/doctype/customize_form_field/customize_form_field.json #: frappe/website/doctype/web_form_field/web_form_field.json msgid "Time" -msgstr "" +msgstr "Tijd" #. Label of the time_format (Select) field in DocType 'Language' #. Label of the time_format (Select) field in DocType 'System Settings' @@ -27062,7 +27062,7 @@ msgstr "" #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/public/js/frappe/ui/filters/filter.js:28 msgid "Timespan" -msgstr "" +msgstr "Tijdspanne" #. Label of the timestamp (Datetime) field in DocType 'Access Log' #: frappe/core/doctype/access_log/access_log.json @@ -27119,7 +27119,7 @@ msgstr "" #: frappe/website/doctype/website_sidebar/website_sidebar.json #: frappe/website/doctype/website_sidebar_item/website_sidebar_item.json msgid "Title" -msgstr "" +msgstr "Titel" #. Label of the title_field (Data) field in DocType 'DocType' #. Label of the title_field (Data) field in DocType 'Customize Form' @@ -27146,18 +27146,18 @@ msgstr "" #: frappe/core/doctype/permission_log/permission_log.js:12 #: frappe/public/js/frappe/views/inbox/inbox_view.js:70 msgid "To" -msgstr "" +msgstr "Naar" #: frappe/public/js/frappe/views/communication.js:53 msgctxt "Email Recipients" msgid "To" -msgstr "" +msgstr "Naar" #. Label of the to_date (Date) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json #: frappe/website/report/website_analytics/website_analytics.js:14 msgid "To Date" -msgstr "" +msgstr "Tot Datum" #. Label of the to_date_field (Select) field in DocType 'Auto Email Report' #: frappe/email/doctype/auto_email_report/auto_email_report.json @@ -27270,7 +27270,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:732 #: frappe/public/js/frappe/views/calendar/calendar.js:274 msgid "Today" -msgstr "" +msgstr "Vandaag" #: frappe/public/js/frappe/views/reports/report_view.js:1566 msgid "Toggle Chart" @@ -27329,7 +27329,7 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:738 msgid "Tomorrow" -msgstr "" +msgstr "Morgen" #: frappe/desk/doctype/bulk_update/bulk_update.py:68 #: frappe/model/workflow.py:310 @@ -27409,7 +27409,7 @@ msgstr "" #: frappe/public/js/frappe/views/reports/query_report.js:1354 #: frappe/public/js/frappe/views/reports/report_view.js:1547 msgid "Total" -msgstr "" +msgstr "Totaal" #. Label of the total_background_workers (Int) field in DocType 'System Health #. Report' @@ -27979,7 +27979,7 @@ msgstr "" #: frappe/website/report/website_analytics/website_analytics.js:60 msgid "Unknown" -msgstr "" +msgstr "Onbekend" #: frappe/public/js/frappe/model/model.js:209 msgid "Unknown Column: {0}" @@ -28096,7 +28096,7 @@ msgstr "" #: frappe/printing/page/print_format_builder/print_format_builder.js:765 #: frappe/public/js/frappe/form/grid_row.js:427 msgid "Update" -msgstr "" +msgstr "Bijwerken" #. Label of the update_amendment_naming (Button) field in DocType 'Document #. Naming Settings' @@ -28236,7 +28236,7 @@ msgstr "" #: frappe/public/js/frappe/form/grid.js:66 #: frappe/public/js/frappe/form/templates/form_sidebar.html:13 msgid "Upload" -msgstr "" +msgstr "Uploaden" #: frappe/public/js/print_format_builder/LetterHeadEditor.vue:93 msgid "Upload Image" @@ -28433,7 +28433,7 @@ msgstr "" #: frappe/website/doctype/personal_data_download_request/personal_data_download_request.json #: frappe/workflow/doctype/workflow_action/workflow_action.json msgid "User" -msgstr "" +msgstr "Gebruiker" #: frappe/core/doctype/has_role/has_role.py:25 msgid "User '{0}' already has the role '{1}'" @@ -28762,7 +28762,7 @@ msgstr "" #: frappe/core/workspace/users/users.json #: frappe/desk/doctype/system_health_report/system_health_report.json msgid "Users" -msgstr "" +msgstr "Gebruikers" #. Description of the 'Protect Attached Files' (Check) field in DocType #. 'DocType' @@ -28863,7 +28863,7 @@ msgstr "" #: frappe/website/doctype/web_form/web_form.js:213 #: frappe/website/doctype/website_meta_tag/website_meta_tag.json msgid "Value" -msgstr "" +msgstr "Waarde" #. Label of the value_based_on (Select) field in DocType 'Dashboard Chart' #: frappe/desk/doctype/dashboard_chart/dashboard_chart.json @@ -29120,7 +29120,7 @@ msgstr "" #: frappe/core/doctype/doctype/doctype.json #: frappe/core/workspace/build/build.json msgid "Views" -msgstr "" +msgstr "Keer bekeken" #. Label of the is_virtual (Check) field in DocType 'DocField' #: frappe/core/doctype/docfield/docfield.json @@ -30050,12 +30050,12 @@ msgstr "" #: frappe/public/js/frappe/ui/filters/filter.js:726 msgid "Yesterday" -msgstr "" +msgstr "Gisteren" #: frappe/public/js/frappe/utils/user.js:33 msgctxt "Name of the current user. For example: You edited this 5 hours ago." msgid "You" -msgstr "" +msgstr "U" #: frappe/public/js/frappe/form/footer/form_timeline.js:463 msgid "You Liked" @@ -30580,7 +30580,7 @@ msgstr "" #: frappe/desk/form/assign_to.py:279 msgid "Your assignment on {0} {1} has been removed by {2}" -msgstr "" +msgstr "Je opdracht op {0} {1} is verwijderd door {2}" #: frappe/core/doctype/file/file.js:78 msgid "Your browser does not support the audio element." @@ -30616,7 +30616,7 @@ msgstr "" #: frappe/templates/emails/new_user.html:6 msgid "Your login id is" -msgstr "" +msgstr "Uw login id is" #: frappe/www/update-password.html:192 msgid "Your new password has been set successfully." @@ -30945,7 +30945,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:46 msgid "just now" -msgstr "" +msgstr "net nu" #: frappe/desk/desktop.py:255 frappe/desk/query_report.py:292 msgid "label" @@ -31035,7 +31035,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:25 msgid "now" -msgstr "" +msgstr "nu" #: frappe/public/js/frappe/form/grid_pagination.js:116 msgid "of" @@ -31361,7 +31361,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:58 msgid "yesterday" -msgstr "" +msgstr "gisteren" #. Option for the 'Date Format' (Select) field in DocType 'Language' #. Option for the 'Date Format' (Select) field in DocType 'System Settings' @@ -31594,7 +31594,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:60 msgid "{0} days ago" -msgstr "" +msgstr "{0} dagen geleden" #: frappe/website/doctype/website_settings/website_settings.py:96 #: frappe/website/doctype/website_settings/website_settings.py:116 @@ -31619,7 +31619,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:29 msgid "{0} h" -msgstr "" +msgstr "{0} u" #: frappe/core/doctype/user_permission/user_permission.py:77 msgid "{0} has already assigned default value for {1}." @@ -31635,7 +31635,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:54 msgid "{0} hours ago" -msgstr "" +msgstr "{0} uur geleden" #: frappe/website/doctype/web_form/templates/web_form.html:155 msgid "{0} if you are not redirected within {1} seconds" @@ -31794,7 +31794,7 @@ msgstr "" #: frappe/printing/doctype/print_format/print_format.py:104 #: frappe/utils/csvutils.py:156 msgid "{0} is required" -msgstr "" +msgstr "{0} is verplicht" #: frappe/public/js/frappe/views/reports/report_view.js:1488 msgid "{0} is set" @@ -31835,11 +31835,11 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:50 msgid "{0} minutes ago" -msgstr "" +msgstr "{0} minuten geleden" #: frappe/public/js/frappe/utils/pretty_date.js:68 msgid "{0} months ago" -msgstr "" +msgstr "{0} maanden geleden" #: frappe/model/document.py:1861 msgid "{0} must be after {1}" @@ -32032,7 +32032,7 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:64 msgid "{0} weeks ago" -msgstr "" +msgstr "{0} weken geleden" #: frappe/core/page/permission_manager/permission_manager.js:378 msgid "{0} with the role {1}" @@ -32040,11 +32040,11 @@ msgstr "" #: frappe/public/js/frappe/utils/pretty_date.js:39 msgid "{0} y" -msgstr "" +msgstr "{0} j" #: frappe/public/js/frappe/utils/pretty_date.js:72 msgid "{0} years ago" -msgstr "" +msgstr "{0} jaar geleden" #: frappe/public/js/frappe/form/link_selector.js:219 msgid "{0} {1} added" diff --git a/frappe/locale/ru.po b/frappe/locale/ru.po index dd2a0151b8..7bed58bfa8 100644 --- a/frappe/locale/ru.po +++ b/frappe/locale/ru.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-24 20:23\n" +"PO-Revision-Date: 2026-01-03 23:05\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -133,7 +133,15 @@ msgid "0 - too guessable: risky password.\n" "3 - safely unguessable: moderate protection from offline slow-hash scenario.\n" "
\n" "4 - very unguessable: strong protection from offline slow-hash scenario." -msgstr "" +msgstr "0 - слишком легко угадывается: рискованный пароль.\n" +"
\n" +"1 - очень легко угадывается: защита от атак с ограничением скорости. \n" +"
\n" +"2 - относительно легко угадывается: защита от атак без ограничения скорости.\n" +"
\n" +"3 - практически невозможно угадать: умеренная защита от сценариев с медленным хешированием в офлайн-режиме.\n" +"
\n" +"4 - очень трудно угадать: надежная защита от сценариев с медленным хешированием в офлайн-режиме." #. Description of the 'Priority' (Int) field in DocType 'Web Page' #: frappe/website/doctype/web_page/web_page.json @@ -1466,7 +1474,7 @@ msgstr "Добавить новую вкладку" #: frappe/utils/password_strength.py:191 msgid "Add numbers or special characters." -msgstr "" +msgstr "Добавьте цифры или специальные символы." #: frappe/public/js/print_format_builder/PrintFormatSection.vue:125 msgid "Add page break" @@ -5217,7 +5225,7 @@ msgstr "Распространенные имена и фамилии легко #: frappe/utils/password_strength.py:190 msgid "Common words are easy to guess." -msgstr "" +msgstr "Общие слова легко угадать." #. Name of a DocType #. Option for the 'Communication Type' (Select) field in DocType @@ -5912,7 +5920,7 @@ msgstr "Создать новую Канбан доску" #: frappe/public/js/frappe/list/list_filter.js:101 msgid "Create Saved Filter" -msgstr "" +msgstr "Создать сохраненный фильтр" #: frappe/core/doctype/user/user.js:271 msgid "Create User Email" @@ -12025,7 +12033,7 @@ msgstr "Помощь HTML" #. Description of the 'Content' (Text Editor) field in DocType 'Note' #: frappe/desk/doctype/note/note.json msgid "Help: To link to another record in the system, use \"/desk/note/[Note Name]\" as the Link URL. (don't use \"http://\")" -msgstr "" +msgstr "Помощь: Для ссылки на другую запись в системе используйте \"/desk/note/[Имя заметки]\" в качестве ссылки (не используйте \"http://\")" #. Label of the helpful (Int) field in DocType 'Help Article' #: frappe/website/doctype/help_article/help_article.json @@ -17498,7 +17506,7 @@ msgstr "Не найден шаблон по пути: {0}" #: frappe/core/page/permission_manager/permission_manager.js:362 msgid "No user has the role {0}" -msgstr "" +msgstr "Нет пользователя с ролью {0}" #: frappe/public/js/frappe/form/controls/multiselect_list.js:276 msgid "No values to show" @@ -19124,7 +19132,7 @@ msgstr "Пароль не найден для {0} {1} {2}" #: frappe/core/doctype/user/user.py:1307 msgid "Password requirements not met" -msgstr "" +msgstr "Пароль не соответствует требованиям" #: frappe/core/doctype/user/user.py:1140 msgid "Password reset instructions have been sent to {}'s email" @@ -28580,7 +28588,7 @@ msgstr "Используйте TLS" #: frappe/utils/password_strength.py:191 msgid "Use a few uncommon words together." -msgstr "" +msgstr "Используйте несколько редких слов вместе." #: frappe/utils/password_strength.py:44 msgid "Use a few words, avoid common phrases." @@ -29334,7 +29342,7 @@ msgstr "Посмотреть веб-сайт" #: frappe/core/page/permission_manager/permission_manager.js:395 msgid "View all {0} users" -msgstr "" +msgstr "Просмотреть всех {0} пользователей" #: frappe/www/confirm_workflow_action.html:12 msgid "View document" @@ -29456,7 +29464,7 @@ msgstr "Предупреждение: Обновление счетчика мо #: frappe/core/doctype/doctype/doctype.py:458 msgid "Warning: Usage of 'format:' is discouraged." -msgstr "" +msgstr "Внимание: использование конструкции 'format:' не рекомендуется." #: frappe/website/doctype/help_article/templates/help_article.html:24 msgid "Was this article helpful?" @@ -30472,7 +30480,7 @@ msgstr "Вы можете задать только 3 пользовательс #: frappe/handler.py:184 msgid "You can only upload JPG, PNG, GIF, PDF, TXT, CSV or Microsoft documents." -msgstr "" +msgstr "Вы можете загружать только документы в форматах JPG, PNG, GIF, PDF, TXT, CSV или Microsoft." #: frappe/core/doctype/data_export/exporter.py:199 msgid "You can only upload upto 5000 records in one go. (may be less in some cases)" @@ -32285,7 +32293,7 @@ msgstr "{0} недель назад" #: frappe/core/page/permission_manager/permission_manager.js:378 msgid "{0} with the role {1}" -msgstr "" +msgstr "{0} с ролью {1}" #: frappe/public/js/frappe/utils/pretty_date.js:39 msgid "{0} y" diff --git a/frappe/locale/sv.po b/frappe/locale/sv.po index 895cd9009f..9b223dafd1 100644 --- a/frappe/locale/sv.po +++ b/frappe/locale/sv.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: frappe\n" "Report-Msgid-Bugs-To: developers@frappe.io\n" "POT-Creation-Date: 2025-12-21 09:35+0000\n" -"PO-Revision-Date: 2025-12-25 20:45\n" +"PO-Revision-Date: 2026-01-06 23:51\n" "Last-Translator: developers@frappe.io\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" @@ -1773,7 +1773,7 @@ msgstr "Justera" #. Label of the align_labels_right (Check) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Align Labels to the Right" -msgstr "Justera Etiketter till Höger" +msgstr "Höger Justera Etiketter" #. Label of the right (Check) field in DocType 'Top Bar Item' #: frappe/website/doctype/top_bar_item/top_bar_item.json @@ -15745,7 +15745,7 @@ msgstr "Marginal Nederst" #. Label of the margin_left (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json msgid "Margin Left" -msgstr "Marginal Vänster" +msgstr "Vänster Marginal" #. Label of the margin_right (Float) field in DocType 'Print Format' #: frappe/printing/doctype/print_format/print_format.json diff --git a/frappe/middlewares.py b/frappe/middlewares.py index 1898734917..76feb5f96b 100644 --- a/frappe/middlewares.py +++ b/frappe/middlewares.py @@ -8,12 +8,27 @@ from werkzeug.middleware.shared_data import SharedDataMiddleware import frappe from frappe.utils import cstr, get_site_name +from frappe.utils.response import FORCE_DOWNLOAD_EXTENSIONS class StaticDataMiddleware(SharedDataMiddleware): def __call__(self, environ, start_response): self.environ = environ - return super().__call__(environ, start_response) + + def patch_start_response(status, headers, exc_info=None): + if ( + (path := environ.get("PATH_INFO", "")) + and path.startswith("/files/") + and path.lower().endswith(FORCE_DOWNLOAD_EXTENSIONS) + ): + from urllib.parse import quote + + filename = Path(path).name + headers.append(("Content-Disposition", f"attachment; filename*=UTF-8''{quote(filename)}")) + + return start_response(status, headers, exc_info) + + return super().__call__(environ, patch_start_response) def get_directory_loader(self, directory): def loader(path): diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py index 039fc78187..3ec7438238 100644 --- a/frappe/model/base_document.py +++ b/frappe/model/base_document.py @@ -3,6 +3,7 @@ import datetime import json import keyword +import re import weakref from types import MappingProxyType from typing import TYPE_CHECKING, TypeVar @@ -446,7 +447,10 @@ class BaseDocument: if __dict.get("docstatus") is None: __dict["docstatus"] = DocStatus.DRAFT - if not __dict.get("name"): + if __dict.get("__islocal"): + __dict["name"] = None + __dict["__temporary_name"] = frappe.generate_hash(length=10) + elif not __dict.get("name"): __dict["__islocal"] = 1 __dict["__temporary_name"] = frappe.generate_hash(length=10) @@ -801,7 +805,21 @@ class BaseDocument: ), [*list(d.values()), name], ) + except Exception as e: + if frappe.db.is_data_too_long(e): + column = re.search(r"column\s+'([^']+)'", e.args[1]) + if column: + label = self.get_label_from_fieldname(column.group(1)) + + # data too long for column + frappe.throw( + _( + "The value of the field {0} is too long in the {1} document. To resolve this issue, please reduce the value length or change the {0} field Type to Long Text using customize form, and then try again." + ).format(frappe.bold(label), frappe.bold(self.doctype)), + title=_("Value Too Long"), + ) + if frappe.db.is_unique_key_violation(e): self.show_unique_validation_message(e) else: diff --git a/frappe/model/mapper.py b/frappe/model/mapper.py index a9a256df9a..3e436cfb61 100644 --- a/frappe/model/mapper.py +++ b/frappe/model/mapper.py @@ -240,9 +240,6 @@ def map_fetch_fields(target_doc, df, no_copy_fields): # options should be like "link_fieldname.fieldname_in_liked_doc" for fetch_df in target_doc.meta.get("fields", {"fetch_from": f"^{df.fieldname}."}): - if not (fetch_df.fieldtype == "Read Only" or fetch_df.read_only): - continue - if ( not target_doc.get(fetch_df.fieldname) or fetch_df.fieldtype == "Read Only" ) and fetch_df.fieldname not in no_copy_fields: diff --git a/frappe/model/meta.py b/frappe/model/meta.py index dd8a98fcc5..c88340fb90 100644 --- a/frappe/model/meta.py +++ b/frappe/model/meta.py @@ -705,7 +705,7 @@ class Meta(Document): ) if 0 not in permlevel_access and permission_type in ("read", "select"): - if frappe.share.get_shared(self.name, user, rights=[permission_type], limit=1): + if frappe.share.get_shared(self.name, user, rights=["read"], limit=1): permlevel_access.add(0) permitted_fieldnames.extend( diff --git a/frappe/model/naming.py b/frappe/model/naming.py index a74f5a5b4d..1da27e577c 100644 --- a/frappe/model/naming.py +++ b/frappe/model/naming.py @@ -6,10 +6,8 @@ import datetime import re import time from collections.abc import Callable -from typing import TYPE_CHECKING, Optional -from uuid import UUID - -import uuid_utils +from typing import TYPE_CHECKING +from uuid import UUID, uuid7 import frappe from frappe import _ @@ -166,8 +164,8 @@ def set_new_name(doc): if meta.autoname == "UUID": if not doc.name: - doc.name = str(uuid_utils.uuid7()) - elif isinstance(doc.name, UUID | uuid_utils.UUID): + doc.name = str(uuid7()) + elif isinstance(doc.name, UUID): doc.name = str(doc.name) elif isinstance(doc.name, str): # validate try: @@ -359,6 +357,8 @@ def parse_naming_series( digits = len(e) part = number_generator(name, digits) series_set = True + elif method := has_custom_parser(e): + part = frappe.get_attr(method[0])(doc, e) elif e == "YY": part = today.strftime("%y") elif e == "MM": @@ -376,8 +376,6 @@ def parse_naming_series( elif doc and (e.startswith("{") or doc.get(e, _sentinel) is not _sentinel): e = e.replace("{", "").replace("}", "") part = doc.get(e) - elif method := has_custom_parser(e): - part = frappe.get_attr(method[0])(doc, e) else: part = e diff --git a/frappe/model/sync.py b/frappe/model/sync.py index 19568ca8e4..8054082249 100644 --- a/frappe/model/sync.py +++ b/frappe/model/sync.py @@ -201,13 +201,17 @@ def remove_orphan_doctypes(): def remove_orphan_entities(): entites = ["Workspace", "Dashboard", "Page", "Report"] + app_level_entities = ["Workspace Sidebar", "Desktop Icon"] entity_filter_map = { "Workspace": {"public": 1}, "Page": {"standard": "Yes"}, "Report": {"is_standard": "Yes"}, "Dashboard": {"is_standard": True}, + "Workspace Sidebar": {"standard": True}, + "Desktop Icon": {"standard": True}, } entity_file_map = create_entity_file_map(entites) + for entity in entites: print(f"Removing orphan {entity}s") all_enitities = frappe.get_all( @@ -228,6 +232,26 @@ def remove_orphan_entities(): print(e) # save the deleted icons frappe.db.commit() # nosemgrep + # Remove app level entities + for app_entity in app_level_entities: + print(f"Removing orphan {app_entity}s") + all_enitities = frappe.get_all( + app_entity, filters=entity_filter_map.get(app_entity), fields=["name", "app"] + ) + for i, w in enumerate(all_enitities): + if w.app and not check_if_record_exists("app", frappe.get_app_path(w.app), app_entity, w.name): + try: + print(f"Deleting entity {app_entity} {w.name}") + frappe.delete_doc(app_entity, w.name, force=True, ignore_missing=True) + update_progress_bar(f"Deleting orphaned {app_entity}", i, len(all_enitities)) + print() + + except Exception as e: + print(f"Error occurred while deleting entity: {app_entity} {w.name}") + print(e) + + # save the deleted icons + frappe.db.commit() # nosemgrep def create_entity_file_map(entities): diff --git a/frappe/model/utils/user_settings.py b/frappe/model/utils/user_settings.py index cd81b1e3ac..6a689b495e 100644 --- a/frappe/model/utils/user_settings.py +++ b/frappe/model/utils/user_settings.py @@ -40,7 +40,6 @@ def update_user_settings(doctype, user_settings, for_update=False): current = {} current.update(user_settings) - frappe.cache.hset("_user_settings", f"{doctype}::{frappe.session.user}", json.dumps(current)) @@ -54,10 +53,7 @@ def sync_user_settings(): "mariadb": """INSERT INTO `__UserSettings`(`user`, `doctype`, `data`) VALUES (%s, %s, %s) ON DUPLICATE key UPDATE `data`=%s""", - "postgres": """INSERT INTO `__UserSettings` (`user`, `doctype`, `data`) - VALUES (%s, %s, %s) - ON CONFLICT ("user", "doctype") DO UPDATE SET `data`=%s""", - "sqlite": """INSERT INTO `__UserSettings` (`user`, `doctype`, `data`) + "*": """INSERT INTO `__UserSettings` (`user`, `doctype`, `data`) VALUES (%s, %s, %s) ON CONFLICT (`user`, `doctype`) DO UPDATE SET `data`=%s""", }, diff --git a/frappe/oauth.py b/frappe/oauth.py index 2cbeb9a362..098e17a009 100644 --- a/frappe/oauth.py +++ b/frappe/oauth.py @@ -5,7 +5,6 @@ import re from http import cookies from urllib.parse import unquote, urljoin, urlparse -import jwt from oauthlib.openid import RequestValidator import frappe @@ -302,6 +301,8 @@ class OAuthWebRequestValidator(RequestValidator): # OpenID Connect def finalize_id_token(self, id_token, token, token_handler, request): + import jwt + # Check whether frappe server URL is set id_token_header = {"typ": "jwt", "alg": "HS256"} @@ -437,6 +438,8 @@ class OAuthWebRequestValidator(RequestValidator): - OpenIDConnectImplicit - OpenIDConnectHybrid """ + import jwt + if id_token_hint: try: user = None diff --git a/frappe/patches.txt b/frappe/patches.txt index 93cb29f3f9..5d32252e25 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -239,7 +239,6 @@ frappe.patches.v15_0.migrate_session_data frappe.custom.doctype.property_setter.patches.remove_invalid_fetch_from_expressions frappe.patches.v16_0.switch_default_sort_order frappe.integrations.doctype.oauth_client.patches.set_default_allowed_role_in_oauth_client -execute:frappe.db.set_single_value("Workspace Settings", "workspace_setup_completed", 1) frappe.patches.v16_0.add_app_launcher_in_navbar_settings frappe.desk.doctype.workspace.patches.update_app frappe.patches.v16_0.move_role_desk_settings_to_user @@ -253,3 +252,7 @@ frappe.patches.v16_0.add_private_workspaces_to_sidebar frappe.core.doctype.communication_link.patches.copy_communication_date_to_link frappe.core.doctype.communication.patches.drop_ref_dt_dn_index frappe.patches.v16_0.change_link_type_to_workspace_sidebar +frappe.patches.v16_0.add_standard_field_in_workspace_sidebar +execute:frappe.db.set_single_value("Desktop Settings", "icon_style", "Solid") +execute:frappe.delete_doc_if_exists("Workspace Sidebar", "Productivity") +frappe.patches.v16_0.unset_standard_field_for_auto_generated_icons diff --git a/frappe/patches/v16_0/add_standard_field_in_workspace_sidebar.py b/frappe/patches/v16_0/add_standard_field_in_workspace_sidebar.py new file mode 100644 index 0000000000..abde1a97c6 --- /dev/null +++ b/frappe/patches/v16_0/add_standard_field_in_workspace_sidebar.py @@ -0,0 +1,19 @@ +import frappe +from frappe.model.sync import check_if_record_exists + + +def execute(): + for sidebar in frappe.get_all("Workspace Sidebar", pluck="name"): + sidebar_doc = frappe.get_doc("Workspace Sidebar", sidebar) + + if sidebar_doc.app and check_if_record_exists( + "app", + frappe.get_app_path(sidebar_doc.app), + "Workspace Sidebar", + sidebar_doc.name, + ): + try: + sidebar_doc.standard = 1 + sidebar_doc.save() + except Exception as e: + print("Error in setting standard field", e) diff --git a/frappe/patches/v16_0/unset_standard_field_for_auto_generated_icons.py b/frappe/patches/v16_0/unset_standard_field_for_auto_generated_icons.py new file mode 100644 index 0000000000..e12f34cf7c --- /dev/null +++ b/frappe/patches/v16_0/unset_standard_field_for_auto_generated_icons.py @@ -0,0 +1,18 @@ +import frappe +from frappe.model.sync import check_if_record_exists + + +def execute(): + for icon in frappe.get_all("Desktop Icon"): + icon_doc = frappe.get_doc("Desktop Icon", icon.name) + if (icon_doc.standard and icon_doc.app) and not check_if_record_exists( + "app", + frappe.get_app_path(icon_doc.app), + "Desktop Icon", + icon_doc.name, + ): + try: + icon_doc.standard = 0 + icon_doc.save() + except Exception as e: + print("Error in unsetting standard field", e) diff --git a/frappe/printing/doctype/print_settings/print_settings.json b/frappe/printing/doctype/print_settings/print_settings.json index 2a05fcbcd5..d3a8189798 100644 --- a/frappe/printing/doctype/print_settings/print_settings.json +++ b/frappe/printing/doctype/print_settings/print_settings.json @@ -8,6 +8,7 @@ "pdf_settings", "send_print_as_pdf", "repeat_header_footer", + "pdf_generator", "column_break_4", "pdf_page_size", "pdf_page_height", @@ -170,13 +171,20 @@ "fieldname": "pdf_page_width", "fieldtype": "Float", "label": "PDF Page Width (in mm)" + }, + { + "default": "wkhtmltopdf", + "fieldname": "pdf_generator", + "fieldtype": "Select", + "label": "PDF Generator", + "options": "wkhtmltopdf\nchrome" } ], "icon": "fa fa-cog", "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2024-03-23 16:03:35.392721", + "modified": "2026-01-10 11:54:14.176810", "modified_by": "Administrator", "module": "Printing", "name": "Print Settings", @@ -191,8 +199,9 @@ } ], "quick_entry": 1, + "row_format": "Dynamic", "sort_field": "creation", "sort_order": "DESC", "states": [], "track_changes": 1 -} \ No newline at end of file +} diff --git a/frappe/printing/doctype/print_settings/print_settings.py b/frappe/printing/doctype/print_settings/print_settings.py index dbb19519a9..88cf4e2557 100644 --- a/frappe/printing/doctype/print_settings/print_settings.py +++ b/frappe/printing/doctype/print_settings/print_settings.py @@ -24,6 +24,7 @@ class PrintSettings(Document): enable_raw_printing: DF.Check font: DF.Literal["Default", "Helvetica Neue", "Arial", "Helvetica", "Inter", "Verdana", "Monospace"] font_size: DF.Float + pdf_generator: DF.Literal["wkhtmltopdf", "chrome"] pdf_page_height: DF.Float pdf_page_size: DF.Literal[ "A0", diff --git a/frappe/printing/page/print/print.js b/frappe/printing/page/print/print.js index e20859348a..f2f69e3aa3 100644 --- a/frappe/printing/page/print/print.js +++ b/frappe/printing/page/print/print.js @@ -24,6 +24,8 @@ frappe.pages["print"].on_page_load = function (wrapper) { ? frappe.route_options.frm : frappe.route_options.frm.frm; frappe.route_options.frm = null; + let meta = print_view.frm.meta; + meta.module && frappe.app.sidebar.show_sidebar_for_module(meta.module); print_view.show(print_view.frm); } }); @@ -34,6 +36,10 @@ frappe.ui.form.PrintView = class { this.wrapper = $(wrapper); this.page = wrapper.page; this.make(); + + this.wrapper.on("show", () => { + this.page.sidebar.show(); + }); } make() { @@ -88,14 +94,16 @@ frappe.ui.form.PrintView = class { icon: "refresh", }); - this.page.add_action_icon( - "es-line-filetype", - () => { - this.go_to_form_view(); - }, - "", - __("Form") - ); + if (frappe.is_mobile()) { + this.page.add_button(__("Form"), () => this.go_to_form_view(), { icon: "small-file" }); + } else { + this.page.add_action_icon( + "es-line-filetype", + () => this.go_to_form_view(), + "", + __("Form") + ); + } } setup_sidebar() { @@ -706,8 +714,14 @@ frappe.ui.form.PrintView = class { ); } } - - render_page(method, printit = false, pdf_generator = "wkhtmltopdf") { + get_pdf_generator(pdf_generator) { + if (!pdf_generator) { + pdf_generator = this.print_settings.pdf_generator || "wkhtmltopdf"; + } + return pdf_generator; + } + render_page(method, printit = false, pdf_generator) { + pdf_generator = this.get_pdf_generator(pdf_generator); let w = window.open( frappe.urllib.get_full_url( method + diff --git a/frappe/printing/page/print_format_builder/print_format_builder.js b/frappe/printing/page/print_format_builder/print_format_builder.js index 51f33c0706..bae82ba040 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder.js +++ b/frappe/printing/page/print_format_builder/print_format_builder.js @@ -704,6 +704,40 @@ frappe.PrintFormatBuilder = class PrintFormatBuilder { update_column_count_message(); }); + // Toggle all checkboxes in column selector + const toggle_all_checkboxes = function (should_check, should_clear_value) { + // Scope to column selector list checkboxes only + $body + .find(".column-selector-list input[type='checkbox'][data-fieldname]") + .each(function () { + const $checkbox = $(this); + const is_checked = $checkbox.prop("checked"); + + // Only process checkboxes that need to be changed + if ((should_check && !is_checked) || (!should_check && is_checked)) { + $checkbox.prop("checked", should_check); + const fieldname = $checkbox.attr("data-fieldname"); + const input = get_width_input(fieldname); + input.prop("disabled", !should_check); + + if (should_clear_value) { + input.val(""); + } + } + }); + update_column_count_message(); + }; + + // Select All functionality + $body.on("click", ".select-all-btn", function () { + toggle_all_checkboxes(true, false); + }); + + // Unselect All functionality + $body.on("click", ".unselect-all-btn", function () { + toggle_all_checkboxes(false, true); + }); + d.show(); return false; diff --git a/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html b/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html index adc87fff22..5bf8764c26 100644 --- a/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html +++ b/frappe/printing/page/print_format_builder/print_format_builder_column_selector.html @@ -3,6 +3,12 @@

{{ __("Some columns might get cut off when printing to PDF. Try to keep number of columns under 10.") }}

+
+
+ + +
+

{{ __("Column") }}

{{ __("Width") }}

diff --git a/frappe/public/js/billing.bundle.js b/frappe/public/js/billing.bundle.js index 6c366e6055..c3019d86c2 100644 --- a/frappe/public/js/billing.bundle.js +++ b/frappe/public/js/billing.bundle.js @@ -19,9 +19,11 @@ $(document).ready(function () { isFCUser = response.is_fc_user; if (response.trial_end_date && trial_end_date > new Date()) { - $(".layout-main-section").before( - generateTrialSubscriptionBanner(response.trial_end_date) - ); + if ($(".layout-main-section").closest("#page-desktop").length === 0) { + $(".layout-main-section").before( + generateTrialSubscriptionBanner(response.trial_end_date) + ); + } } addManageBillingDropdown(); diff --git a/frappe/public/js/form_builder/components/FieldProperties.vue b/frappe/public/js/form_builder/components/FieldProperties.vue index f439331a57..7311ed4bef 100644 --- a/frappe/public/js/form_builder/components/FieldProperties.vue +++ b/frappe/public/js/form_builder/components/FieldProperties.vue @@ -53,7 +53,10 @@ let docfield_df = computed(() => { args.value.is_table_field = 1; } } - if (store.form.selected_field.fieldtype === "Data") { + if ( + store.form.selected_field.fieldtype === "Data" && + !store.form.selected_field.is_virtual + ) { df.fieldtype = "Select"; df.options = ["", "Email", "Name", "Phone", "URL", "Barcode", "IBAN"]; } diff --git a/frappe/public/js/form_builder/components/controls/CheckControl.vue b/frappe/public/js/form_builder/components/controls/CheckControl.vue index f19b3b6b79..127c36bcac 100644 --- a/frappe/public/js/form_builder/components/controls/CheckControl.vue +++ b/frappe/public/js/form_builder/components/controls/CheckControl.vue @@ -47,6 +47,11 @@ input { cursor: pointer; } +label { + display: flex; + align-items: center; +} + label .checkbox { display: flex; align-items: center; diff --git a/frappe/public/js/form_builder/components/controls/TableControl.vue b/frappe/public/js/form_builder/components/controls/TableControl.vue index 817923ddde..ce070d61e4 100644 --- a/frappe/public/js/form_builder/components/controls/TableControl.vue +++ b/frappe/public/js/form_builder/components/controls/TableControl.vue @@ -47,7 +47,7 @@ function open_new_child_doctype_dialog() {
-
+
this.export_records(values), - on_page_show: () => this.select_mandatory(), + on_page_show: () => this.setup_on_page_show(), }); this.make_filter_area(); this.make_select_all_buttons(); this.update_record_count_message(); + this.setup_search_input(); this.dialog.show(); } @@ -303,6 +304,29 @@ frappe.data_import.DataExporter = class DataExporter { }; }); } + + setup_search_input() { + const $wrapper = this.dialog.get_field("select_all_buttons").$wrapper; + + // prevent duplicate search inputs + if (this.dialog.$wrapper.find(".filters-search").length) return; + + $wrapper.before(` + + `); + } + + setup_on_page_show() { + frappe.utils.setup_search(this.dialog.$body, ".unit-checkbox", ".label-area"); + this.select_mandatory(); + } }; export function get_columns_for_picker(doctype) { diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index 97dae5c9c2..22a7fd1fbe 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -138,13 +138,6 @@ let allow_toggle_optimize = computed(() => { ); }); -let allow_toggle_private = computed(() => { - if (!frappe.utils.can_upload_public_files()) { - return false; - } - return props.allow_toggle_private; -}); - let show_private_checkbox = computed(() => { return !uploaded.value && !props.file.failed; }); diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 709e081d66..2420cc1bf5 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -636,10 +636,13 @@ function upload_file(file, i) { : __("File upload failed."); } else { file.failed = true; + let detail = + xhr.statusText || + __("Server error during upload. The file might be corrupted."); file.error_message = xhr.status === 0 ? __("XMLHttpRequest Error") - : `${xhr.status} : ${xhr.statusText}`; + : `${xhr.status} : ${detail}`; let error = null; try { diff --git a/frappe/public/js/frappe/file_uploader/file_uploader.bundle.js b/frappe/public/js/frappe/file_uploader/file_uploader.bundle.js index 03c1a53132..44e9d9add6 100644 --- a/frappe/public/js/frappe/file_uploader/file_uploader.bundle.js +++ b/frappe/public/js/frappe/file_uploader/file_uploader.bundle.js @@ -30,7 +30,14 @@ class FileUploader { } = {}) { frm && frm.attachments.max_reached(true); - this.can_toggle_private = frappe.utils.can_upload_public_files(); + if (allow_toggle_private === undefined) { + allow_toggle_private = true; + } + + allow_toggle_private = Boolean( + allow_toggle_private && frappe.utils.can_upload_public_files() + ); + this.can_toggle_private = allow_toggle_private; if (!wrapper) { this.make_dialog(dialog_title); diff --git a/frappe/public/js/frappe/form/controls/attach_image.js b/frappe/public/js/frappe/form/controls/attach_image.js index 21c17f9754..1fd548f493 100644 --- a/frappe/public/js/frappe/form/controls/attach_image.js +++ b/frappe/public/js/frappe/form/controls/attach_image.js @@ -3,9 +3,10 @@ frappe.ui.form.ControlAttachImage = class ControlAttachImage extends frappe.ui.f super.make_input(); let $file_link = this.$value.find(".attached-file-link"); + // Changing placement from top to bottom to avoid flickering. Fix with better solution $file_link.popover({ trigger: "hover", - placement: "top", + placement: "bottom", content: () => { return `
max_get_size; + return [estimated_size > max_get_size, filters_str]; } - on_input(e) { - var doctype = this.get_options(); + get_search_args(txt) { + const doctype = this.get_options(); if (!doctype) return; - if (!this.$input.cache[doctype]) { - this.$input.cache[doctype] = {}; - } - var term = e.target.value; - - if (this.$input.cache[doctype][term] != null) { - // immediately show from cache - this.awesomplete.list = this.$input.cache[doctype][term]; - } - var args = { - txt: term, - doctype: doctype, + const args = { + txt, + doctype, ignore_user_permissions: this.df.ignore_user_permissions, reference_doctype: this.get_reference_doctype() || "", page_length: cint(frappe.boot.sysdefaults?.link_field_results_limit) || 10, @@ -423,8 +411,34 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat }; this.set_custom_query(args); + return args; + } - const use_get = !this.should_use_post_for_search(term, args.filters); + on_input(e) { + const term = e ? e.target.value : this.$input.val(); + const args = this.get_search_args(term); + if (!args) return; + + const doctype = args.doctype; + const cache = this.$input.cache; + if (!cache[doctype]) { + cache[doctype] = {}; + } + + if (cache[doctype][term] != null) { + // immediately show from cache + this.awesomplete.list = cache[doctype][term]; + } + + const filters = args.filters; + let use_get = !term; + if (use_get) { + const [are_filters_large, filters_str] = this.are_filters_large(filters); + use_get = !are_filters_large; + + // perf: to prevent stringifying again in the call + args.filters = filters_str; + } frappe.call({ type: use_get ? "GET" : "POST", method: "frappe.desk.search.search_link", @@ -440,8 +454,8 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat // show filter description in awesomplete let filter_string = this.df.filter_description ? this.df.filter_description - : args.filters - ? await this.get_filter_description(args.filters) + : filters + ? await this.get_filter_description(filters) : null; if (filter_string) { r.message.push({ @@ -490,8 +504,8 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat }); } } - this.$input.cache[doctype][term] = r.message; - this.awesomplete.list = this.$input.cache[doctype][term]; + cache[doctype][term] = r.message; + this.awesomplete.list = cache[doctype][term]; this.toggle_href(doctype); r.message.forEach((item) => { frappe.utils.add_link_title(doctype, item.value, item.label); @@ -586,7 +600,7 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat } // Numbers, dates, etc. - not translated, not quoted - return frappe.format(val, docfield || {}); + return frappe.format(val, docfield || {}, { inline: true }); } async function describe_filter(filter) { @@ -844,38 +858,31 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat return this.validate_link_and_fetch(value); } validate_link_and_fetch(value) { - const options = this.get_options(); - if (!options) { - return; - } + const args = this.get_search_args(value); + if (!args) return; const columns_to_fetch = Object.values(this.fetch_map); - const nothing_to_fetch = !columns_to_fetch.length; // if default and no fetch, no need to validate - if (nothing_to_fetch && this.df.__default_value === value) { - return value; - } - - if ( - nothing_to_fetch && - value && - this.awesomplete?._list?.find((item) => item.value === value && !item.action) - ) { - // if value is in the suggestion list, must be correct + if (!columns_to_fetch.length && this.df.__default_value === value) { return value; } const update_dependant_fields = (response) => { - let field_value = ""; - for (const [target_field, source_field] of Object.entries(this.fetch_map)) { - if (value) { - field_value = response[source_field]; - } + if (!columns_to_fetch.length) return; - if (this.layout?.set_value) { - this.layout.set_value(target_field, field_value); - } else if (this.frm) { + const layout_set_value = this.layout?.set_value; + if (!layout_set_value && (!this.frm || !this.docname)) { + return; + } + + const has_value = Boolean(response?.name); + for (const [target_field, source_field] of Object.entries(this.fetch_map)) { + const field_value = has_value ? response[source_field] : ""; + + if (layout_set_value) { + layout_set_value(target_field, field_value); + } else { frappe.model.set_value( this.df.parent, this.docname, @@ -888,32 +895,42 @@ frappe.ui.form.ControlLink = class ControlLink extends frappe.ui.form.ControlDat }; // to avoid unnecessary request - if (value) { - return frappe - .xcall( - "frappe.client.validate_link", - { - doctype: options, - docname: value, - fields: columns_to_fetch, - }, - "GET", - { cache: !columns_to_fetch.length } - ) - .then((response) => { - if (this.frm && !this.docname) { - return response.name; - } - if (!columns_to_fetch.length) { - return response.name; - } - update_dependant_fields(response); - return response.name; - }); - } else { - update_dependant_fields({}); + if (!value) { + update_dependant_fields(); return value; } + + // if there is a search_link call scheduled, cancel it + // validation will do it + this._debounced_input_handler?.cancel(); + + // filters may be too large to be sent as GET + let can_cache = !columns_to_fetch.length; + if (can_cache) { + const [are_filters_large, filters_str] = this.are_filters_large(args.filters); + can_cache = !are_filters_large; + + // perf: to prevent stringifying again in the call + args.filters = filters_str; + } + + return frappe + .xcall( + "frappe.client.validate_link_and_fetch", + { + ...args, + docname: value, + fields_to_fetch: columns_to_fetch, + }, + can_cache ? "GET" : "POST", + { cache: can_cache } + ) + .then((response) => { + if (!response) return; + + update_dependant_fields(response); + return response.name; + }); } fetch_map_for_quick_entry() { diff --git a/frappe/public/js/frappe/form/controls/rating.js b/frappe/public/js/frappe/form/controls/rating.js index 2ae44d8f45..4401adbf4b 100644 --- a/frappe/public/js/frappe/form/controls/rating.js +++ b/frappe/public/js/frappe/form/controls/rating.js @@ -43,6 +43,9 @@ frappe.ui.form.ControlRating = class ControlRating extends frappe.ui.form.Contro } update_rating(ev, click) { + // Rating doesn't have $input, so check write status at interaction time + if (!this.can_write()) return; + const el = $(ev.currentTarget); let star_value = el.data("rating"); let left_half = false; diff --git a/frappe/public/js/frappe/form/controls/text_editor.js b/frappe/public/js/frappe/form/controls/text_editor.js index 8edcb6d889..ce0e516f65 100644 --- a/frappe/public/js/frappe/form/controls/text_editor.js +++ b/frappe/public/js/frappe/form/controls/text_editor.js @@ -252,10 +252,12 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for return null; } let me = this; + return { allowedChars: /^[A-Za-z0-9_]*$/, mentionDenotationChars: ["@"], isolateCharacter: true, + source: frappe.utils.debounce(async function (search_term, renderList) { let method = me.mention_search_method || "frappe.desk.search.get_names_for_mentions"; @@ -268,7 +270,8 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for }, 300), renderItem(item) { let value = item.value; - return `${value} ${item.is_group ? frappe.utils.icon("users") : ""}`; + let email = item?.email ? `(${item?.email})` : ""; + return `${value} ${email} ${item.is_group ? frappe.utils.icon("users") : ""}`; }, }; } diff --git a/frappe/public/js/frappe/form/form.js b/frappe/public/js/frappe/form/form.js index 2671b1039f..6537e74d21 100644 --- a/frappe/public/js/frappe/form/form.js +++ b/frappe/public/js/frappe/form/form.js @@ -168,6 +168,7 @@ frappe.ui.form.Form = class FrappeForm { frappe.ui.keys.add_shortcut({ shortcut: "ctrl+p", action: () => this.print_doc(), + page: this.page, description: __("Print document"), condition: () => frappe.model.can_print(this.doctype, this) && !this.meta.issingle, }); @@ -635,6 +636,7 @@ frappe.ui.form.Form = class FrappeForm { () => this.run_after_load_hook(), () => this.dashboard.after_refresh(), () => (this.cscript.is_onload = false), + () => this.configure_breadcrumb_width(), ]); } else { this.refresh_header(switched); @@ -653,6 +655,32 @@ frappe.ui.form.Form = class FrappeForm { this.setup_image_autocompletions_in_markdown(); } + configure_breadcrumb_width() { + let el = this.page.page_actions[0]; + const rect = el.getBoundingClientRect(); + let is_outside = rect.right > document.documentElement.clientWidth; + if (is_outside) { + // check if the default actions are outside of the screen + const overflow = Math.max(0, rect.right - document.documentElement.clientWidth); + this.page.$title_area + .parent() + .css("max-width", overflow ? `calc(50% - ${overflow}px)` : "50%"); + let breadcrumb = this.page.$title_area.find("ul li.ellipsis"); + + if (cint(breadcrumb[0]?.clientWidth) <= 30) { + // if workspce sodebar is not visible + $(breadcrumb[0]).hide(); + if (cint(breadcrumb[1]?.clientWidth) <= 30) { + // if doctype sodebar is not visible + $(breadcrumb[1]).hide(); + + // add elipsis to the name/title breadcrumb + this.page.$title_area.find(".title-text-form").parent().addClass("ellipsis"); + } + } + } + } + focus_on_first_input() { const layout_wrapper = this.layout.wrapper; @@ -1372,7 +1400,7 @@ frappe.ui.form.Form = class FrappeForm { } email_doc(message) { - new frappe.views.CommunicationComposer({ + return new frappe.views.CommunicationComposer({ doc: this.doc, frm: this, subject: __(this.meta.name) + ": " + this.docname, @@ -1481,7 +1509,9 @@ frappe.ui.form.Form = class FrappeForm { if (group && group.indexOf("fa fa-") !== -1) group = null; let btn = this.page.add_inner_button(label, fn, group); - + if (btn) { + this.custom_buttons[label] = btn; + } return btn; } diff --git a/frappe/public/js/frappe/form/formatters.js b/frappe/public/js/frappe/form/formatters.js index e2984e952a..6da3227a48 100644 --- a/frappe/public/js/frappe/form/formatters.js +++ b/frappe/public/js/frappe/form/formatters.js @@ -418,7 +418,7 @@ frappe.form.get_formatter = function (fieldtype) { frappe.format = function (value, df, options, doc) { let mask_readonly = false; - if (df.parent) { + if (df?.parent) { const mask_fields = frappe.get_meta(df.parent)?.masked_fields; mask_readonly = mask_fields?.includes(df.fieldname); } diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index c8b473de6a..1bf448ef25 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -223,7 +223,14 @@ export default class Grid { const num_selected_rows = this.get_selected_children().length; // toggle "Add row" button - this.wrapper.find(".grid-add-row").toggleClass("hidden", num_selected_rows > 0); + this.wrapper + .find(".grid-add-row") + .toggleClass( + "hidden", + num_selected_rows > 0 || + this.cannot_add_rows || + (this.df && this.df.cannot_add_rows) + ); // update "Delete" and "Duplicate" button labels if (num_selected_rows == 1) { @@ -344,7 +351,10 @@ export default class Grid { ? false : true; this.remove_rows_button.toggleClass("hidden", show_buttons); - this.duplicate_rows_button.toggleClass("hidden", show_buttons); + this.duplicate_rows_button.toggleClass( + "hidden", + show_buttons || this.cannot_add_rows || (this.df && this.df.cannot_add_rows) + ); let select_all_checkbox_checked = this.wrapper.find( ".grid-heading-row .grid-row-check:checked:first" @@ -364,7 +374,7 @@ export default class Grid { ); refresh_duplicate_rows_button() { - if (this.df.cannot_add_rows) { + if (this.df.cannot_add_rows || (this.df && this.df.cannot_add_rows)) { return; } diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index e8ffccc253..472e8a1780 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -1,5 +1,11 @@ import GridRowForm from "./grid_row_form"; +const DEPENDENCY_PROPERTIES = [ + { expr: "depends_on", prop: "hidden_due_to_dependency", negate: true }, + { expr: "mandatory_depends_on", prop: "reqd", negate: false }, + { expr: "read_only_depends_on", prop: "read_only", negate: false }, +]; + export default class GridRow { constructor(opts) { this.on_grid_fields_dict = {}; @@ -8,10 +14,6 @@ export default class GridRow { this.set_docfields(); this.columns = {}; this.columns_list = []; - this.dependent_fields = { - mandatory: [], - read_only: [], - }; this.row_check_html = ''; this.default_rows_threshold_for_grid_search = 20; this.make(); @@ -387,7 +389,7 @@ export default class GridRow { if (this.configure_columns && this.frm) { this.configure_columns_button = $(` `) .appendTo(this.row) @@ -796,35 +798,32 @@ export default class GridRow { } set_dependant_property(df) { - if ( - !df.reqd && - df.mandatory_depends_on && - this.evaluate_depends_on_value(df.mandatory_depends_on) - ) { - df.reqd = 1; - this.dependent_fields["mandatory"].push(df); + let changed = false; + + for (const { expr, prop, negate } of DEPENDENCY_PROPERTIES) { + if (df[expr]) { + const result = this.evaluate_depends_on_value(df[expr]); + const new_value = (negate ? !result : result) ? 1 : 0; + changed ||= df[prop] !== new_value; + df[prop] = new_value; + } } - if ( - !df.read_only && - df.read_only_depends_on && - this.evaluate_depends_on_value(df.read_only_depends_on) - ) { - df.read_only = 1; - this.dependent_fields["read_only"].push(df); - } + return changed; } refresh_dependency() { - this.dependent_fields["read_only"].forEach((df) => { - df.read_only = 0; - this.set_dependant_property(df); - }); - this.dependent_fields["mandatory"].forEach((df) => { - df.reqd = 0; - this.set_dependant_property(df); - }); - this.refresh(); + // re-evaluate dependency expressions of visible columns + // refresh if some property changed + let changed = false; + for (const { df } of this.columns_list) { + if (DEPENDENCY_PROPERTIES.some((d) => df[d.expr])) { + changed ||= this.set_dependant_property(df); + } + } + if (changed) { + this.refresh(); + } } evaluate_depends_on_value(expression) { diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index aad7c8c45a..c0da70f26e 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -529,12 +529,6 @@ frappe.ui.form.Layout = class Layout { } } - refresh_section_count() { - this.wrapper.find(".section-count-label:visible").each(function (i) { - $(this).html(i + 1); - }); - } - setup_events() { let last_scroll = 0; let tabs_list = $(".form-tabs-list"); @@ -724,40 +718,16 @@ frappe.ui.form.Layout = class Layout { build dependants' dictionary */ - let has_dep = false; - const fields = this.fields_list.concat(this.tabs); - for (let fkey in fields) { - let f = fields[fkey]; - if (f.df.depends_on || f.df.mandatory_depends_on || f.df.read_only_depends_on) { - has_dep = true; - break; - } - } - - if (!has_dep) return; - // show / hide based on values - for (let i = fields.length - 1; i >= 0; i--) { - let f = fields[i]; - f.guardian_has_value = true; + for (const f of fields) { if (f.df.depends_on) { - // evaluate guardian + const should_hide = !this.evaluate_depends_on_value(f.df.depends_on); - f.guardian_has_value = this.evaluate_depends_on_value(f.df.depends_on); - - // show / hide - if (f.guardian_has_value) { - if (f.df.hidden_due_to_dependency) { - f.df.hidden_due_to_dependency = false; - f.refresh(); - } - } else { - if (!f.df.hidden_due_to_dependency) { - f.df.hidden_due_to_dependency = true; - f.refresh(); - } + if (f.df.hidden_due_to_dependency !== should_hide) { + f.df.hidden_due_to_dependency = should_hide; + f.refresh(); } } @@ -772,9 +742,13 @@ frappe.ui.form.Layout = class Layout { "read_only" ); } - } - this.refresh_section_count(); + if (f.df.fieldtype === "Table") { + for (const row of f.grid?.grid_rows || []) { + row.refresh_dependency(); + } + } + } } set_dependant_property(condition, fieldname, property) { diff --git a/frappe/public/js/frappe/form/link_selector.js b/frappe/public/js/frappe/form/link_selector.js index 4069958a6b..74595efded 100644 --- a/frappe/public/js/frappe/form/link_selector.js +++ b/frappe/public/js/frappe/form/link_selector.js @@ -156,6 +156,7 @@ frappe.ui.form.LinkSelector = class LinkSelector { }); } + parent.append('
'); var more_btn = me.dialog.fields_dict.more.$wrapper; if (results.length < me.page_length) { more_btn.hide(); diff --git a/frappe/public/js/frappe/form/multi_select_dialog.js b/frappe/public/js/frappe/form/multi_select_dialog.js index 1a3eb1359f..2e930cc80c 100644 --- a/frappe/public/js/frappe/form/multi_select_dialog.js +++ b/frappe/public/js/frappe/form/multi_select_dialog.js @@ -142,7 +142,7 @@ frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { setup_results() { this.$parent = $(this.dialog.body); this.$wrapper = this.dialog.fields_dict.results_area.$wrapper - .append(`
`); this.$results = this.$wrapper.find(".results"); @@ -191,7 +191,7 @@ frappe.ui.form.MultiSelectDialog = class MultiSelectDialog { get_child_datatable_columns() { const parent = this.doctype; return [parent, ...this.child_columns].map((d) => ({ - name: frappe.unscrub(d), + name: __(frappe.unscrub(d)), editable: false, })); } @@ -477,7 +477,7 @@ frappe.ui.form.MultiSelectDialog = class MultiSelectDialog {
`; }); - let $row = $(`
+ let $row = $(`
` + `
` ).append($row)); return $row; diff --git a/frappe/public/js/frappe/form/print_utils.js b/frappe/public/js/frappe/form/print_utils.js index e272cf4eb7..7b08175056 100644 --- a/frappe/public/js/frappe/form/print_utils.js +++ b/frappe/public/js/frappe/form/print_utils.js @@ -100,10 +100,14 @@ frappe.ui.get_print_settings = function ( if (settings.print_format) { settings.pick_columns = 0; - settings.columns = []; + settings.columns = null; } callback(settings); + // clean up print format to avoid affecting next print + if (settings.print_format) { + settings.print_format = null; + } }, __("Print Settings") ); diff --git a/frappe/public/js/frappe/form/quick_entry.js b/frappe/public/js/frappe/form/quick_entry.js index e5ee1e0036..a2583ac15f 100644 --- a/frappe/public/js/frappe/form/quick_entry.js +++ b/frappe/public/js/frappe/form/quick_entry.js @@ -7,7 +7,14 @@ frappe.quick_edit = function (doctype, name) { }); }; -frappe.ui.form.make_quick_entry = (doctype, after_insert, init_callback, doc, force) => { +frappe.ui.form.make_quick_entry = ( + doctype, + after_insert, + init_callback, + doc, + force, + skip_insert +) => { var trimmed_doctype = doctype.replace(/ /g, ""); var controller_name = "QuickEntryForm"; @@ -20,19 +27,23 @@ frappe.ui.form.make_quick_entry = (doctype, after_insert, init_callback, doc, fo after_insert, init_callback, doc, - force + force, + skip_insert ); return frappe.quick_entry.setup(); }; frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { - constructor(doctype, after_insert, init_callback, doc, force) { - super({ auto_make: false }); + constructor(doctype, after_insert, init_callback, doc, force, skip_insert) { + super({ + auto_make: false, + }); this.doctype = doctype; this.after_insert = after_insert; this.init_callback = init_callback; this.doc = doc; this.force = force ? force : false; + this.skip_insert = skip_insert ? skip_insert : false; this.dialog = this; // for backward compatibility this.layout = this; } @@ -42,8 +53,8 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { frappe.model.with_doctype(this.doctype, () => { this.check_quick_entry_doc(); this.set_meta_and_mandatory_fields(); + if (this.is_quick_entry() || this.force) { - this.setup_script_manager(); this.render_dialog(); resolve(this); } else { @@ -128,13 +139,6 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { } } - setup_script_manager() { - this.script_manager = new frappe.ui.form.ScriptManager({ - frm: this, - }); - this.script_manager.setup(); - } - get mandatory() { // Backwards compatibility console.warn("QuickEntryForm: .mandatory is deprecated, use .docfields instead"); @@ -149,23 +153,19 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { render_dialog() { var me = this; - this.fields = this.docfields; this.title = this.get_title(); - super.make(); this.register_primary_action(); this.render_edit_in_full_page_link(); this.setup_cmd_enter_for_save(); this.onhide = () => (frappe.quick_entry = null); - this.show(); + this.show(); this.refresh_dependency(); this.set_defaults(); - this.script_manager.trigger("refresh"); - if (this.init_callback) { this.init_callback(this); } @@ -191,20 +191,42 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { if (data) { me.dialog.working = true; - me.script_manager.trigger("validate").then(() => { + if (me.skip_insert) { + // Skip insert mode - just update the doc and trigger callbacks + me.update_doc(); + me.dialog.animation_speed = "slow"; + me.dialog.hide(); + me.handle_after_callbacks(); + } else { + // Normal insert mode me.insert().then(() => { - let messagetxt = __("{1} saved", [__(me.doctype), this.doc.name.bold()]); + let messagetxt = __("{1} saved", [__(me.doctype), me.doc.name.bold()]); me.dialog.animation_speed = "slow"; me.dialog.hide(); setTimeout(function () { - frappe.show_alert({ message: messagetxt, indicator: "green" }, 3); + frappe.show_alert( + { + message: messagetxt, + indicator: "green", + }, + 3 + ); }, 500); }); - }); + } } }); } + handle_after_callbacks() { + // Handle callbacks when skip_insert is true + if (frappe._from_link) { + frappe.ui.form.update_calling_link(this.doc); + } else if (this.after_insert) { + this.after_insert(this.doc); + } + } + insert() { let me = this; return new Promise((resolve) => { @@ -263,9 +285,8 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { // delete the old doc frappe.model.clear_doc(this.doc.doctype, this.doc.name); this.doc = r.message; - if (this.script_manager.has_handler("after_save")) { - return this.script_manager.trigger("after_save"); - } else if (frappe._from_link) { + + if (frappe._from_link) { frappe.ui.form.update_calling_link(this.doc); } else if (this.after_insert) { this.after_insert(this.doc); @@ -291,6 +312,7 @@ frappe.ui.form.QuickEntryForm = class QuickEntryForm extends frappe.ui.Dialog { open_form_if_not_list() { if (this.meta.issingle) return; + let route = frappe.get_route(); let doc = this.doc; if (route && !(route[0] === "List" && route[1] === doc.doctype)) { diff --git a/frappe/public/js/frappe/form/save.js b/frappe/public/js/frappe/form/save.js index 11e2269d64..e3c2cd1e4e 100644 --- a/frappe/public/js/frappe/form/save.js +++ b/frappe/public/js/frappe/form/save.js @@ -247,13 +247,11 @@ frappe.ui.form.remove_old_form_route = () => { frappe.ui.form.update_calling_link = async (newdoc) => { if (!frappe._from_link) return; - const { field_obj, from_doctype, from_docname, scrollY } = frappe._from_link; + const { field_obj, doc, set_route_args, scrollY } = frappe._from_link; const df = field_obj.df; if (!["Link", "Dynamic Link", "Table MultiSelect"].includes(df.fieldtype)) return; - const doc = frappe.get_doc(from_doctype, from_docname); - const is_valid_doctype = () => { switch (df.fieldtype) { case "Link": @@ -270,7 +268,7 @@ frappe.ui.form.update_calling_link = async (newdoc) => { // switch back to the original doc first, // this is necessary in case from_link.doctype === newdoc.doctype if (field_obj.frm) { - await frappe.set_route("Form", from_doctype, from_docname); + await frappe.set_route(...set_route_args); frappe.utils.scroll_to(scrollY); } @@ -286,15 +284,10 @@ frappe.ui.form.update_calling_link = async (newdoc) => { // set value if (doc && doc.parentfield) { - //update values for child table - $.each( - field_obj.frm.fields_dict[doc.parentfield].grid.grid_rows, - function (_index, field) { - if (field.doc && field.doc.name === from_docname) { - field_obj.set_value(newdoc.name); - } - } + const row_exists = field_obj.frm.fields_dict[doc.parentfield].grid.grid_rows.find( + (row) => row.doc.name === doc.name ); + if (row_exists) field_obj.set_value(newdoc.name); } else { // parsing is needed for table multiselect to convert string to array field_obj.parse_validate_and_set_in_model(newdoc.name); diff --git a/frappe/public/js/frappe/form/script_manager.js b/frappe/public/js/frappe/form/script_manager.js index 9f8abb0a9c..386dd9e8bb 100644 --- a/frappe/public/js/frappe/form/script_manager.js +++ b/frappe/public/js/frappe/form/script_manager.js @@ -168,10 +168,10 @@ frappe.ui.form.ScriptManager = class ScriptManager { handlers.new_style.push(fn); }); } - if (this.frm.cscript && this.frm.cscript[event_name]) { + if (this.frm.cscript?.[event_name]) { handlers.old_style.push(event_name); } - if (this.frm.cscript && this.frm.cscript["custom_" + event_name]) { + if (this.frm.cscript?.["custom_" + event_name]) { handlers.old_style.push("custom_" + event_name); } return handlers; diff --git a/frappe/public/js/frappe/form/sidebar/form_sidebar.js b/frappe/public/js/frappe/form/sidebar/form_sidebar.js index 803bf40d4e..63e5646b66 100644 --- a/frappe/public/js/frappe/form/sidebar/form_sidebar.js +++ b/frappe/public/js/frappe/form/sidebar/form_sidebar.js @@ -15,7 +15,9 @@ frappe.ui.form.Sidebar = class { var sidebar_content = frappe.render_template("form_sidebar", { doctype: this.frm.doctype, frm: this.frm, - can_write: frappe.model.can_write(this.frm.doctype, this.frm.docname), + can_write: + frappe.model.can_write(this.frm.doctype, this.frm.docname) && + !this.frm.fields_dict[this.frm.meta.image_field]?.df.read_only, image_field: this.frm.meta.image_field ?? false, }); @@ -38,11 +40,9 @@ frappe.ui.form.Sidebar = class { this.indicator = $(this.sidebar).find(".sidebar-meta-details .indicator-pill"); this.setup_copy_event(); this.make_like(); + this.setup_print(); + this.setup_editable_title(); this.refresh(); - - // setup editable title - let form_sidebar_text = $(this.sidebar).find(".sidebar-meta-details .form-title-text"); - this.toolbar.setup_editable_title(form_sidebar_text); } setup_keyboard_shortcuts() { @@ -79,6 +79,39 @@ frappe.ui.form.Sidebar = class { }); } + setup_editable_title() { + // setup editable title + let form_sidebar_text = $(this.sidebar).find(".form-stats-likes .form-title-text"); + this.toolbar.setup_editable_title(form_sidebar_text); + } + + setup_print() { + const print_settings = frappe.model.get_doc(":Print Settings", "Print Settings"); + const allow_print_for_draft = cint(print_settings.allow_print_for_draft); + const allow_print_for_cancelled = cint(print_settings.allow_print_for_cancelled); + + if ( + !frappe.model.is_submittable(this.frm.doc.doctype) || + this.frm.doc.docstatus == 1 || + (allow_print_for_cancelled && this.frm.doc.docstatus == 2) || + (allow_print_for_draft && this.frm.doc.docstatus == 0) + ) { + if (frappe.model.can_print(null, this.frm) && !this.frm.meta.issingle) { + let print_icon = this.page.add_action_icon( + "printer", + () => { + this.frm.print_doc(); + }, + "", + __("Print") + ); + print_icon.css("background-color", "transparent"); + print_icon.addClass("p-0"); + this.sidebar.find(".form-print").append(print_icon); + } + } + } + make_like() { this.like_wrapper = this.sidebar.find(".liked-by"); this.like_icon = this.sidebar.find(".liked-by .like-icon"); @@ -122,7 +155,28 @@ frappe.ui.form.Sidebar = class { } refresh_creation_modified() { - // remove redundant (present in the activity timeline) creation/modified info + this.sidebar + .find(".modified-by") + .html( + get_user_message( + this.frm.doc.modified_by, + __("Last Edited by You", null), + __("Last Edited by {0}", [get_user_link(this.frm.doc.modified_by)]) + ) + + "
" + + comment_when(this.frm.doc.modified) + ); + this.sidebar + .find(".created-by") + .html( + get_user_message( + this.frm.doc.owner, + __("Created By You", null), + __("Created By {0}", [get_user_link(this.frm.doc.owner)]) + ) + + "
" + + comment_when(this.frm.doc.creation) + ); } show_auto_repeat_status() { diff --git a/frappe/public/js/frappe/form/tab.js b/frappe/public/js/frappe/form/tab.js index fa4842c187..954e3dd64c 100644 --- a/frappe/public/js/frappe/form/tab.js +++ b/frappe/public/js/frappe/form/tab.js @@ -35,11 +35,6 @@ export default class Tab { type="button" role="tab" aria-controls="${id}"> - ${ - ICON_MAP[this.label] || this.df.icon - ? frappe.utils.icon(this.df.icon || ICON_MAP[this.label]) - : "" - } ${__(this.label, null, this.doctype)} diff --git a/frappe/public/js/frappe/form/templates/form_sidebar.html b/frappe/public/js/frappe/form/templates/form_sidebar.html index 9ba4eab1ae..30ef352347 100644 --- a/frappe/public/js/frappe/form/templates/form_sidebar.html +++ b/frappe/public/js/frappe/form/templates/form_sidebar.html @@ -1,6 +1,6 @@