rules: - id: frappe-missing-translate-function-python pattern-either: - patterns: - pattern: frappe.msgprint("...", ...) - pattern-not: frappe.msgprint(_("..."), ...) - patterns: - pattern: frappe.throw("...", ...) - pattern-not: frappe.throw(_("..."), ...) message: | All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations languages: [python] severity: ERROR - id: frappe-missing-translate-function-js pattern-either: - patterns: - pattern: frappe.msgprint("...", ...) - pattern-not: frappe.msgprint(__("..."), ...) # ignore microtemplating e.g. msgprint("{{ _("server side translation") }}") - pattern-not: frappe.msgprint("=~/\{\{.*\_.*\}\}/i", ...) - patterns: - pattern: frappe.throw("...", ...) - pattern-not: frappe.throw(__("..."), ...) # ignore microtemplating - pattern-not: frappe.throw("=~/\{\{.*\_.*\}\}/i", ...) message: | All user facing text must be wrapped in translate function. Please refer to translation documentation. https://frappeframework.com/docs/user/en/guides/basics/translations languages: [javascript] severity: ERROR