From 410a95cad27b2b6a8fcbcf4f23ce6b8c28ddc421 Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Thu, 25 Jun 2026 16:22:11 +0530 Subject: [PATCH] chore: rewrite user-facing messages in Support module Conservative cleanup of frappe.throw/msgprint messages per the message style guide; meaning, severity, and .format() arguments are unchanged: - index bare {} placeholders as {0}/{1}/... so translators can reorder - move f-strings / .format() / concatenation out of _() (they break gettext extraction and never translate) - wrap translatable dynamic values (DocType/Select labels) in _() - fix grammar and colloquialisms - drop no-op _() wrapping runtime-built strings Part of #53976. --- .../doctype/service_level_agreement/service_level_agreement.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py index f0f8e24ec90..4565ecde755 100644 --- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py +++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py @@ -197,7 +197,7 @@ class ServiceLevelAgreement(Document): ) if self.document_type not in valid_document_types: - frappe.throw(msg=_("Please select valid document type."), title=_("Invalid Document Type")) + frappe.throw(msg=_("Please select a valid document type."), title=_("Invalid Document Type")) def validate_status_field(self): meta = frappe.get_meta(self.document_type)