refactor: use Meta.get_translated_label (#58335)

This commit is contained in:
Raffael Meyer
2026-08-22 00:28:55 +02:00
committed by GitHub
parent eae36c2d67
commit e71e08959f
38 changed files with 95 additions and 149 deletions

View File

@@ -204,15 +204,8 @@ class AccountsSettings(Document):
if self.add_taxes_from_item_tax_template and self.add_taxes_from_taxes_and_charges_template:
frappe.throw(
_("You cannot enable both the settings '{0}' and '{1}'.").format(
frappe.bold(
_(self.meta.get_label("add_taxes_from_item_tax_template"), context=self.doctype)
),
frappe.bold(
_(
self.meta.get_label("add_taxes_from_taxes_and_charges_template"),
context=self.doctype,
)
),
frappe.bold(self.meta.get_translated_label("add_taxes_from_item_tax_template")),
frappe.bold(self.meta.get_translated_label("add_taxes_from_taxes_and_charges_template")),
),
title=_("Auto Tax Settings Error"),
)

View File

@@ -443,9 +443,7 @@ class AccountFilterValidator(Validator):
return "Field and operator must be strings"
display = (
field
if advanced_filtering
else _(self.account_meta.get_label(field), context=self.account_meta.name)
field if advanced_filtering else self.account_meta.get_translated_label(field)
) or field
if field not in account_fields:

View File

@@ -134,7 +134,7 @@ class GLEntry(Document):
mandatory = ["account", "voucher_type", "voucher_no", "company"]
for k in mandatory:
if not self.get(k):
frappe.throw(_("{0} is required").format(_(self.meta.get_label(k), context=self.doctype)))
frappe.throw(_("{0} is required").format(self.meta.get_translated_label(k)))
if not self.is_cancelled and not (self.party_type and self.party):
account_type = frappe.get_cached_value("Account", self.account, "account_type")

View File

@@ -278,7 +278,7 @@ class PaymentEntry(AccountsController):
if not liability_account:
throw(
_("Please set default {0} in Company {1}").format(
frappe.bold(_(frappe.get_meta("Company").get_label(fieldname), context="Company")),
frappe.bold(frappe.get_meta("Company").get_translated_label(fieldname)),
frappe.bold(self.company),
)
)
@@ -662,9 +662,7 @@ class PaymentEntry(AccountsController):
def validate_mandatory(self):
for field in ("paid_amount", "received_amount", "source_exchange_rate", "target_exchange_rate"):
if not self.get(field):
frappe.throw(
_("{0} is mandatory").format(_(self.meta.get_label(field), context=self.doctype))
)
frappe.throw(_("{0} is mandatory").format(self.meta.get_translated_label(field)))
def validate_reference_documents(self):
valid_reference_doctypes = self.get_valid_reference_doctypes()
@@ -1154,7 +1152,7 @@ class PaymentEntry(AccountsController):
if value:
continue
label = _(frappe.get_meta("Company").get_label(fieldname), context="Company")
label = frappe.get_meta("Company").get_translated_label(fieldname)
return frappe.msgprint(
_("Please set {0} in Company {1} to account for Exchange Gain / Loss").format(
label, get_link_to_form("Company", self.company)

View File

@@ -647,11 +647,7 @@ class PaymentReconciliation(Document):
def check_mandatory_to_fetch(self):
for fieldname in ["company", "party_type", "party", "receivable_payable_account"]:
if not self.get(fieldname):
frappe.throw(
_("Please select {0} first").format(
_(self.meta.get_label(fieldname), context=self.doctype)
)
)
frappe.throw(_("Please select {0} first").format(self.meta.get_translated_label(fieldname)))
def validate_entries(self):
if not self.get("invoices"):

View File

@@ -188,7 +188,7 @@ class PricingRule(Document):
tocheck = frappe.scrub(self.get("applicable_for", ""))
if tocheck and not self.get(tocheck):
throw(
_("{0} is required").format(_(self.meta.get_label(tocheck), context=self.doctype)),
_("{0} is required").format(self.meta.get_translated_label(tocheck)),
frappe.MandatoryError,
)

View File

@@ -183,7 +183,7 @@ class PartyValidator:
):
frappe.throw(
_("{0} does not belong to the Company {1}.").format(
_(doc.meta.get_label(field), context=doc.doctype), frappe.bold(doc.company)
doc.meta.get_translated_label(field), frappe.bold(doc.company)
)
)

View File

@@ -1168,7 +1168,7 @@ def get_company_default(company: str, fieldname: str, ignore_validation: bool =
if not ignore_validation and not value:
throw(
_("Please set default {0} in Company {1}").format(
_(frappe.get_meta("Company").get_label(fieldname), context="Company"), company
frappe.get_meta("Company").get_translated_label(fieldname), company
)
)

View File

@@ -524,7 +524,7 @@ class AccountsController(TransactionBase):
_(
"Please set {0} to {1}, the same account that was used in the original invoice {2}."
).format(
frappe.bold(_(self.meta.get_label(cr_dr_account_field), context=self.doctype)),
frappe.bold(self.meta.get_translated_label(cr_dr_account_field)),
frappe.bold(original_account),
frappe.bold(self.return_against),
)

View File

@@ -304,8 +304,8 @@ class BuyingController(SubcontractingController):
frappe.throw(
_("Row #{idx}: {from_warehouse_field} and {to_warehouse_field} cannot be same.").format(
idx=item.idx,
from_warehouse_field=_(item.meta.get_label("from_warehouse"), context=item.doctype),
to_warehouse_field=_(item.meta.get_label("warehouse"), context=item.doctype),
from_warehouse_field=item.meta.get_translated_label("from_warehouse"),
to_warehouse_field=item.meta.get_translated_label("warehouse"),
)
)
@@ -710,7 +710,7 @@ class BuyingController(SubcontractingController):
frappe.throw(
_("Row #{idx}: {field_label} is mandatory.").format(
idx=d.idx,
field_label=_(d.meta.get_label("conversion_factor"), context=d.doctype),
field_label=d.meta.get_translated_label("conversion_factor"),
)
)
d.stock_qty = flt(d.qty) * flt(d.conversion_factor)
@@ -757,9 +757,7 @@ class BuyingController(SubcontractingController):
frappe.throw(
_("Row #{idx}: {field_label} can not be negative for item {item_code}.").format(
idx=item_row["idx"],
field_label=_(
frappe.get_meta(item_row.doctype).get_label(fieldname), context=item_row.doctype
),
field_label=frappe.get_meta(item_row.doctype).get_translated_label(fieldname),
item_code=frappe.bold(item_row["item_code"]),
)
)
@@ -1212,14 +1210,14 @@ class BuyingController(SubcontractingController):
frappe.throw(
_("Row #{idx}: {schedule_date} cannot be before {transaction_date}.").format(
idx=d.idx,
schedule_date=_(self.meta.get_label("schedule_date"), context=self.doctype),
transaction_date=_(self.meta.get_label("transaction_date"), context=self.doctype),
schedule_date=self.meta.get_translated_label("schedule_date"),
transaction_date=self.meta.get_translated_label("transaction_date"),
)
)
else:
frappe.throw(
_("Please enter the {schedule_date}.").format(
schedule_date=_(self.meta.get_label("schedule_date"), context=self.doctype)
schedule_date=self.meta.get_translated_label("schedule_date")
)
)

View File

@@ -32,9 +32,7 @@ def validate_return(doc):
def validate_return_against(doc):
if not frappe.db.exists(doc.doctype, doc.return_against):
frappe.throw(
_("Invalid {0}: {1}").format(
_(doc.meta.get_label("return_against"), context=doc.doctype), doc.return_against
)
_("Invalid {0}: {1}").format(doc.meta.get_translated_label("return_against"), doc.return_against)
)
else:
ref_doc = frappe.get_doc(doc.doctype, doc.return_against)
@@ -44,7 +42,7 @@ def validate_return_against(doc):
if ref_doc.get(party_type) != doc.get(party_type):
frappe.throw(
_("The {0} {1} does not match with the {0} {2} in the {3} {4}").format(
_(doc.meta.get_label(party_type), context=doc.doctype),
doc.meta.get_translated_label(party_type),
bold(doc.get(party_type)),
bold(ref_doc.get(party_type)),
ref_doc.doctype,

View File

@@ -215,7 +215,7 @@ class SellingController(StockController):
if not (0 <= self.commission_rate <= 100.0):
throw(
"{} {}".format(
_(self.meta.get_label("commission_rate"), context=self.doctype),
self.meta.get_translated_label("commission_rate"),
_("must be between 0 and 100"),
)
)
@@ -306,12 +306,7 @@ class SellingController(StockController):
bold(ref_rate_field),
bold("net rate"),
bold(rate),
bold(
_(
frappe.get_meta("Selling Settings").get_label("validate_selling_price"),
context="Selling Settings",
)
),
bold(frappe.get_meta("Selling Settings").get_translated_label("validate_selling_price")),
get_link_to_form("Selling Settings"),
),
title=_("Invalid Selling Price"),

View File

@@ -103,7 +103,7 @@ class StockController(AccountsController):
_("Row #{0}: Item {1} has zero rate but '{2}' is not enabled.").format(
item.idx,
frappe.bold(item.item_code),
_(item.meta.get_label("allow_zero_valuation_rate"), context=item.doctype),
item.meta.get_translated_label("allow_zero_valuation_rate"),
),
indicator="orange",
)

View File

@@ -157,7 +157,7 @@ class calculate_taxes_and_totals:
validate_conversion_rate(
self.doc.currency,
self.doc.conversion_rate,
_(self.doc.meta.get_label("conversion_rate"), context=self.doc.doctype),
self.doc.meta.get_translated_label("conversion_rate"),
self.doc.company,
)

View File

@@ -1019,7 +1019,7 @@ class BOM(WebsiteGenerator):
if not self.transfer_material_against and not self.track_semi_finished_goods and not self.is_new():
frappe.throw(
_("Setting {0} is required").format(
_(self.meta.get_label("transfer_material_against"), context=self.doctype)
self.meta.get_translated_label("transfer_material_against")
),
title=_("Missing value"),
)

View File

@@ -203,7 +203,7 @@ class StatusService:
if qty > completed_qty:
frappe.throw(
_("{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3}").format(
_(self.doc.meta.get_label(fieldname), context=self.doc.doctype),
self.doc.meta.get_translated_label(fieldname),
qty,
completed_qty,
self.doc.name,

View File

@@ -942,7 +942,7 @@ class WorkOrder(Document):
if not self.transfer_material_against:
frappe.throw(
_("Setting {0} is required").format(
_(self.meta.get_label("transfer_material_against"), context=self.doctype)
self.meta.get_translated_label("transfer_material_against")
),
title=_("Missing value"),
)

View File

@@ -95,7 +95,7 @@ erpnext.BOMComparisonTool = class BOMComparisonTool {
let [fieldname, value1, value2] = change;
return `
<tr>
<td>${__(frappe.meta.get_label(doctype, fieldname), null, doctype)}</td>
<td>${frappe.meta.get_translated_label(doctype, fieldname)}</td>
<td>${frappe.utils.escape_html(cstr(value1))}</td>
<td>${frappe.utils.escape_html(cstr(value2))}</td>
</tr>
@@ -146,7 +146,7 @@ erpnext.BOMComparisonTool = class BOMComparisonTool {
return `
<tr>
${th}
<td>${__(frappe.meta.get_label(child_doctype, fieldname), null, child_doctype)}</td>
<td>${frappe.meta.get_translated_label(child_doctype, fieldname)}</td>
<td>${frappe.utils.escape_html(cstr(value1))}</td>
<td>${frappe.utils.escape_html(cstr(value2))}</td>
</tr>

View File

@@ -136,7 +136,7 @@ class Task(NestedSet):
frappe.throw(
_("{0}'s {1} cannot be after {2}'s Expected End Date.").format(
get_link_to_form("Task", self.name),
_(self.meta.get_label(fieldname), context=self.doctype),
self.meta.get_translated_label(fieldname),
get_link_to_form("Project", self.project),
),
frappe.exceptions.InvalidDates,
@@ -146,7 +146,7 @@ class Task(NestedSet):
frappe.throw(
_("{0}'s {1} cannot be before {2}'s Expected Start Date.").format(
get_link_to_form("Task", self.name),
_(self.meta.get_label(fieldname), context=self.doctype),
self.meta.get_translated_label(fieldname),
get_link_to_form("Project", self.project),
),
frappe.exceptions.InvalidDates,

View File

@@ -263,7 +263,7 @@ erpnext.buying = {
frappe.msgprint(
__("Row #{0}: {1} can not be negative for item {2}", [
item.idx,
__(frappe.meta.get_label(cdt, fieldnames[i], cdn), null, cdt),
frappe.meta.get_translated_label(cdt, fieldnames[i], cdn),
item.item_code,
])
);

View File

@@ -122,10 +122,10 @@ erpnext.taxes_and_totals = class TaxesAndTotals extends erpnext.payments {
this.frm.doc.conversion_rate,
cur_frm ? precision("conversion_rate") : 9
);
var conversion_rate_label = __(
frappe.meta.get_label(this.frm.doc.doctype, "conversion_rate", this.frm.doc.name),
null,
this.frm.doc.doctype
var conversion_rate_label = frappe.meta.get_translated_label(
this.frm.doc.doctype,
"conversion_rate",
this.frm.doc.name
);
var company_currency = this.get_company_currency();

View File

@@ -1438,17 +1438,17 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
) {
const to_clear = [];
if (doc.payment_terms_template) {
to_clear.push(__(frappe.meta.get_label(cdt, "payment_terms_template"), null, cdt));
to_clear.push(frappe.meta.get_translated_label(cdt, "payment_terms_template"));
}
if (doc.payment_schedule?.length) {
to_clear.push(__(frappe.meta.get_label(cdt, "payment_schedule"), null, cdt));
to_clear.push(frappe.meta.get_translated_label(cdt, "payment_schedule"));
}
frappe.confirm(
__(
"For the new {0} to take effect, would you like to clear the current {1}?",
[__(frappe.meta.get_label(cdt, "due_date"), null, cdt), frappe.utils.comma_and(to_clear)],
[frappe.meta.get_translated_label(cdt, "due_date"), frappe.utils.comma_and(to_clear)],
"Clear payment terms template and/or payment schedule when due date is changed"
),
() => {
@@ -2646,11 +2646,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
if (!me.frm.doc[fieldname]) {
frappe.msgprint(
__("Please specify {0}. It is needed to fetch Item Details.", [
__(
frappe.meta.get_label(me.frm.doc.doctype, fieldname, me.frm.doc.name),
null,
me.frm.doc.doctype
),
frappe.meta.get_translated_label(me.frm.doc.doctype, fieldname, me.frm.doc.name),
])
);
valid = false;

View File

@@ -46,7 +46,7 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field("customer");
frappe.show_alert({
message: __("Please set {0} first.", [
__(frappe.meta.get_label(doc.doctype, "customer", doc.name), null, doc.doctype),
frappe.meta.get_translated_label(doc.doctype, "customer", doc.name),
]),
indicator: "orange",
});
@@ -61,10 +61,10 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field(frappe.dynamic_link.fieldname);
frappe.show_alert({
message: __("Please set {0} first.", [
__(
frappe.meta.get_label(doc.doctype, frappe.dynamic_link.fieldname, doc.name),
null,
doc.doctype
frappe.meta.get_translated_label(
doc.doctype,
frappe.dynamic_link.fieldname,
doc.name
),
]),
indicator: "orange",
@@ -84,9 +84,7 @@ $.extend(erpnext.queries, {
company_contact_query: function (doc) {
if (!doc.company) {
frappe.throw(
__("Please set {0}", [
__(frappe.meta.get_label(doc.doctype, "company", doc.name), null, doc.doctype),
])
__("Please set {0}", [frappe.meta.get_translated_label(doc.doctype, "company", doc.name)])
);
}
@@ -102,10 +100,10 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field(frappe.dynamic_link.fieldname);
frappe.show_alert({
message: __("Please set {0} first.", [
__(
frappe.meta.get_label(doc.doctype, frappe.dynamic_link.fieldname, doc.name),
null,
doc.doctype
frappe.meta.get_translated_label(
doc.doctype,
frappe.dynamic_link.fieldname,
doc.name
),
]),
indicator: "orange",
@@ -127,7 +125,7 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field("company");
frappe.show_alert({
message: __("Please set {0} first.", [
__(frappe.meta.get_label(doc.doctype, "company", doc.name), null, doc.doctype),
frappe.meta.get_translated_label(doc.doctype, "company", doc.name),
]),
indicator: "orange",
});
@@ -158,7 +156,7 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field("supplier");
frappe.show_alert({
message: __("Please set {0} first.", [
__(frappe.meta.get_label(doc.doctype, "supplier", doc.name), null, doc.doctype),
frappe.meta.get_translated_label(doc.doctype, "supplier", doc.name),
]),
indicator: "orange",
});
@@ -172,7 +170,7 @@ $.extend(erpnext.queries, {
cur_frm.scroll_to_field("lead");
frappe.show_alert({
message: __("Please specify a {0} first.", [
__(frappe.meta.get_label(doc.doctype, "lead", doc.name), null, doc.doctype),
frappe.meta.get_translated_label(doc.doctype, "lead", doc.name),
]),
indicator: "orange",
});

View File

@@ -353,14 +353,10 @@ erpnext.sales_common = {
this.frm.set_value("commission_rate", 100);
frappe.throw(
__("{0} cannot be greater than 100", [
__(
frappe.meta.get_label(
this.frm.doc.doctype,
"commission_rate",
this.frm.doc.name
),
null,
this.frm.doc.doctype
frappe.meta.get_translated_label(
this.frm.doc.doctype,
"commission_rate",
this.frm.doc.name
),
])
);

View File

@@ -257,9 +257,7 @@ def handle_mandatory_error(e, customer, lead_name):
from frappe.utils import get_link_to_form
mandatory_fields = e.args[0].split(":")[1].split(",")
mandatory_fields = [
_(customer.meta.get_label(field.strip()), context=customer.doctype) for field in mandatory_fields
]
mandatory_fields = [customer.meta.get_translated_label(field.strip()) for field in mandatory_fields]
frappe.local.message_log = []
message = _("Could not auto create Customer due to the following missing mandatory field(s):") + "<br>"

View File

@@ -118,14 +118,9 @@ class SellingSettings(Document):
_(
"You have enabled {0} and {1} in {2}. This can lead to prices from the default price list being inserted into the transaction price list."
).format(
"<i>{}</i>".format(self.meta.get_translated_label("fallback_to_default_price_list")),
"<i>{}</i>".format(
_(self.meta.get_label("fallback_to_default_price_list"), context=self.doctype)
),
"<i>{}</i>".format(
_(
stock_meta.get_label("auto_insert_price_list_rate_if_missing"),
context=stock_meta.name,
)
stock_meta.get_translated_label("auto_insert_price_list_rate_if_missing")
),
frappe.bold(_("Stock Settings")),
)

View File

@@ -323,7 +323,7 @@ class Company(NestedSet):
if not details:
continue
label = _(self.meta.get_label(fieldname))
label = self.meta.get_translated_label(fieldname)
if details.is_group:
frappe.throw(

View File

@@ -393,7 +393,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"General Ledger",
_(self.meta.get_label("income"), context=self.doctype),
self.meta.get_translated_label("income"),
filters={
"from_date": self.future_from_date,
"to_date": self.future_to_date,
@@ -425,7 +425,7 @@ class EmailDigest(Document):
filters = {"currency": self.currency}
label = get_link_to_report(
"Profit and Loss Statement",
label=_(self.meta.get_label(root_type + "_year_to_date"), context=self.doctype),
label=self.meta.get_translated_label(root_type + "_year_to_date"),
filters=filters,
)
@@ -433,7 +433,7 @@ class EmailDigest(Document):
filters = {"currency": self.currency}
label = get_link_to_report(
"Profit and Loss Statement",
label=_(self.meta.get_label(root_type + "_year_to_date"), context=self.doctype),
label=self.meta.get_translated_label(root_type + "_year_to_date"),
filters=filters,
)
@@ -464,7 +464,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"General Ledger",
_(self.meta.get_label("expenses_booked"), context=self.doctype),
self.meta.get_translated_label("expenses_booked"),
filters={
"company": self.company,
"from_date": self.future_from_date,
@@ -506,7 +506,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"Sales Order",
label=_(self.meta.get_label("sales_orders_to_bill"), context=self.doctype),
label=self.meta.get_translated_label("sales_orders_to_bill"),
report_type="Report Builder",
doctype="Sales Order",
filters={
@@ -540,7 +540,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"Sales Order",
label=_(self.meta.get_label("sales_orders_to_deliver"), context=self.doctype),
label=self.meta.get_translated_label("sales_orders_to_deliver"),
report_type="Report Builder",
doctype="Sales Order",
filters={
@@ -574,7 +574,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"Purchase Order",
label=_(self.meta.get_label("purchase_orders_to_receive"), context=self.doctype),
label=self.meta.get_translated_label("purchase_orders_to_receive"),
report_type="Report Builder",
doctype="Purchase Order",
filters={
@@ -608,7 +608,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"Purchase Order",
label=_(self.meta.get_label("purchase_orders_to_bill"), context=self.doctype),
label=self.meta.get_translated_label("purchase_orders_to_bill"),
report_type="Report Builder",
doctype="Purchase Order",
filters={
@@ -661,7 +661,7 @@ class EmailDigest(Document):
}
label = get_link_to_report(
"Account Balance",
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
filters=filters,
)
else:
@@ -673,7 +673,7 @@ class EmailDigest(Document):
}
label = get_link_to_report(
"Account Balance",
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
filters=filters,
)
@@ -682,17 +682,17 @@ class EmailDigest(Document):
if account_type == "Payable":
label = get_link_to_report(
"Accounts Payable",
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
filters={"report_date": self.future_to_date, "company": self.company},
)
elif account_type == "Receivable":
label = get_link_to_report(
"Accounts Receivable",
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
filters={"report_date": self.future_to_date, "company": self.company},
)
else:
label = _(self.meta.get_label(fieldname), context=self.doctype)
label = self.meta.get_translated_label(fieldname)
return {"label": label, "value": balance, "last_value": prev_balance, "count": count}
@@ -764,7 +764,7 @@ class EmailDigest(Document):
)[0]
return {
"label": _(self.meta.get_label(fieldname), context=self.doctype),
"label": self.meta.get_translated_label(fieldname),
"value": value,
"billed_value": billed_value,
"delivered_value": delivered_value,
@@ -797,7 +797,7 @@ class EmailDigest(Document):
label = get_link_to_report(
"Quotation",
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
report_type="Report Builder",
doctype="Quotation",
filters={
@@ -828,7 +828,7 @@ class EmailDigest(Document):
label = get_link_to_report(
doc_type,
label=_(self.meta.get_label(fieldname), context=self.doctype),
label=self.meta.get_translated_label(fieldname),
report_type="Report Builder",
filters=filters,
doctype=doc_type,

View File

@@ -272,10 +272,7 @@ class Item(Document):
_(
'Image in the description has been removed. To disable this behavior, uncheck "{0}" in {1}.'
).format(
_(
frappe.get_meta("Stock Settings").get_label("clean_description_html"),
context="Stock Settings",
),
frappe.get_meta("Stock Settings").get_translated_label("clean_description_html"),
get_link_to_form("Stock Settings"),
),
alert=True,
@@ -427,8 +424,8 @@ class Item(Document):
frappe.throw(
_("Taxes row #{0}: {1} cannot be smaller than {2}").format(
tax.idx,
bold(_(tax.meta.get_label("maximum_net_rate"), context=tax.doctype)),
bold(_(tax.meta.get_label("minimum_net_rate"), context=tax.doctype)),
bold(tax.meta.get_translated_label("maximum_net_rate")),
bold(tax.meta.get_translated_label("minimum_net_rate")),
)
)
@@ -705,9 +702,7 @@ class Item(Document):
if new_properties != [cstr(self.get(field)) for field in field_list]:
msg = _("To merge, following properties must be same for both items")
msg += ": \n" + ", ".join(
[_(self.meta.get_label(fld), context=self.doctype) for fld in field_list]
)
msg += ": \n" + ", ".join([self.meta.get_translated_label(fld) for fld in field_list])
frappe.throw(msg, title=_("Cannot Merge"), exc=DataValidationError)
def validate_duplicate_product_bundles_before_merge(self, old_name, new_name):
@@ -1139,9 +1134,7 @@ class Item(Document):
return
if linked_doc := self._get_linked_submitted_documents(changed_fields):
changed_field_labels = [
frappe.bold(_(self.meta.get_label(f), context=self.doctype)) for f in changed_fields
]
changed_field_labels = [frappe.bold(self.meta.get_translated_label(f)) for f in changed_fields]
msg = _(
"As there are existing submitted transactions against item {0}, you can not change the value of {1}."
).format(self.name, ", ".join(changed_field_labels))

View File

@@ -56,7 +56,7 @@ class ItemAlternative(Document):
frappe.msgprint(
_("The value of {0} differs between Items {1} and {2}").format(
frappe.bold(_(item_meta.get_label(field), context="Item")),
frappe.bold(item_meta.get_translated_label(field)),
frappe.bold(self.alternative_item_code),
frappe.bold(self.item_code),
),

View File

@@ -805,9 +805,8 @@ class StockEntry(StockController, SubcontractingInwardController):
def _validate_no_raw_materials_in_manufacture_entry(self, settings):
for item in self.items:
if not item.is_finished_item and not item.secondary_item_type and not item.is_legacy_scrap_item:
label = _(
frappe.get_meta(settings.doctype).get_label("get_rm_cost_from_consumption_entry"),
context=settings.doctype,
label = frappe.get_meta(settings.doctype).get_translated_label(
"get_rm_cost_from_consumption_entry"
)
frappe.throw(
_(

View File

@@ -195,7 +195,7 @@ class StockLedgerEntry(Document):
mandatory = ["warehouse", "posting_date", "voucher_type", "voucher_no", "company"]
for k in mandatory:
if not self.get(k):
frappe.throw(_("{0} is required").format(_(self.meta.get_label(k), context=self.doctype)))
frappe.throw(_("{0} is required").format(self.meta.get_translated_label(k)))
if self.voucher_type != "Stock Reconciliation" and not self.actual_qty:
frappe.throw(_("Actual Qty is mandatory"))

View File

@@ -245,7 +245,7 @@ class StockReservationEntry(Document):
]
for d in mandatory:
if not self.get(d):
msg = _("{0} is required").format(_(self.meta.get_label(d), context=self.doctype))
msg = _("{0} is required").format(self.meta.get_translated_label(d))
frappe.throw(msg)
def validate_group_warehouse(self) -> None:

View File

@@ -265,14 +265,9 @@ class StockSettings(Document):
"You have enabled {0} and {1} in {2}. This can lead to prices from the default price list being inserted in the transaction price list."
).format(
"<i>{}</i>".format(
_(self.meta.get_label("auto_insert_price_list_rate_if_missing"), context=self.doctype)
),
"<i>{}</i>".format(
_(
selling_meta.get_label("fallback_to_default_price_list"),
context=selling_meta.name,
)
self.meta.get_translated_label("auto_insert_price_list_rate_if_missing")
),
"<i>{}</i>".format(selling_meta.get_translated_label("fallback_to_default_price_list")),
frappe.bold(_("Selling Settings")),
)
)

View File

@@ -1442,7 +1442,7 @@ def validate_conversion_rate(ctx: frappe._dict, meta):
validate_conversion_rate(
ctx.currency,
ctx.conversion_rate,
_(meta.get_label("conversion_rate"), context=meta.name),
meta.get_translated_label("conversion_rate"),
ctx.company,
)
@@ -1464,7 +1464,7 @@ def validate_conversion_rate(ctx: frappe._dict, meta):
validate_conversion_rate(
ctx.price_list_currency,
ctx.plc_conversion_rate,
_(meta.get_label("plc_conversion_rate"), context=meta.name),
meta.get_translated_label("plc_conversion_rate"),
ctx.company,
)

View File

@@ -38,7 +38,7 @@
{%- for fieldname in columns -%}
{% if doc.get(fieldname) and doc.in_format_data(fieldname) -%}
<p>
<strong>{{ _(doc.meta.get_label(fieldname), context=doc.doctype) }}:</strong>
<strong>{{ doc.meta.get_translated_label(fieldname) }}:</strong>
{{ doc.get_formatted(fieldname, translated=True) }}
</p>
{% endif %}

View File

@@ -2,7 +2,7 @@
{%- if doc.discount_amount -%}
<div class="row">
<div class="col-xs-5 {%- if doc.align_labels_right %} text-right{%- endif -%}">
<label>{{ _(doc.meta.get_label('discount_amount'), context=doc.doctype) }}</label></div>
<label>{{ doc.meta.get_translated_label('discount_amount') }}</label></div>
<div class="col-xs-7 text-right">
- {{ doc.get_formatted("discount_amount", doc) }}
</div>

View File

@@ -11,7 +11,7 @@
{%- macro render_discount_amount(doc) -%}
{%- if doc.discount_amount -%}
{{ render_row(_(doc.meta.get_label('discount_amount'), context=doc.doctype), '- ' + doc.get_formatted("discount_amount", doc)) }}
{{ render_row(doc.meta.get_translated_label('discount_amount'), '- ' + doc.get_formatted("discount_amount", doc)) }}
{%- endif -%}
{%- endmacro -%}