diff --git a/frappe/data_migration/doctype/data_migration_connector/data_migration_connector.js b/frappe/data_migration/doctype/data_migration_connector/data_migration_connector.js
index c3cf701d92..0898fcf4e7 100644
--- a/frappe/data_migration/doctype/data_migration_connector/data_migration_connector.js
+++ b/frappe/data_migration/doctype/data_migration_connector/data_migration_connector.js
@@ -30,7 +30,7 @@ frappe.ui.form.on('Data Migration Connector', {
frm.set_value('connector_type', 'Custom');
frm.set_value('python_module', r.message);
frm.save();
- frappe.show_alert(__(`New module created ${r.message}`));
+ frappe.show_alert(__("New module created {0}", [r.message]));
d.hide();
}
});
diff --git a/frappe/desk/doctype/dashboard_chart/dashboard_chart.js b/frappe/desk/doctype/dashboard_chart/dashboard_chart.js
index 7f26bd9101..d763ce5009 100644
--- a/frappe/desk/doctype/dashboard_chart/dashboard_chart.js
+++ b/frappe/desk/doctype/dashboard_chart/dashboard_chart.js
@@ -169,7 +169,7 @@ frappe.ui.form.on('Dashboard Chart', {
frm.field_options = frappe.report_utils.get_field_options_from_report(data.columns, data);
frm.set_df_property('x_field', 'options', frm.field_options.non_numeric_fields);
if (!frm.field_options.numeric_fields.length) {
- frappe.msgprint(__(`Report has no numeric fields, please change the Report Name`));
+ frappe.msgprint(__("Report has no numeric fields, please change the Report Name"));
} else {
let y_field_df = frappe.meta.get_docfield('Dashboard Chart Field', 'y_field', frm.doc.name);
y_field_df.options = frm.field_options.numeric_fields;
diff --git a/frappe/desk/doctype/number_card/number_card.js b/frappe/desk/doctype/number_card/number_card.js
index 63b41b956e..6d1454a2cb 100644
--- a/frappe/desk/doctype/number_card/number_card.js
+++ b/frappe/desk/doctype/number_card/number_card.js
@@ -207,7 +207,7 @@ frappe.ui.form.on('Number Card', {
frm.field_options = frappe.report_utils.get_field_options_from_report(data.columns, data);
frm.set_df_property('report_field', 'options', frm.field_options.numeric_fields);
if (!frm.field_options.numeric_fields.length) {
- frappe.msgprint(__(`Report has no numeric fields, please change the Report Name`));
+ frappe.msgprint(__("Report has no numeric fields, please change the Report Name"));
}
} else {
frappe.msgprint(__('Report has no data, please modify the filters or change the Report Name'));
diff --git a/frappe/public/js/frappe/form/controls/dynamic_link.js b/frappe/public/js/frappe/form/controls/dynamic_link.js
index 02e970091e..92d7dfeb40 100644
--- a/frappe/public/js/frappe/form/controls/dynamic_link.js
+++ b/frappe/public/js/frappe/form/controls/dynamic_link.js
@@ -1,14 +1,12 @@
frappe.ui.form.ControlDynamicLink = frappe.ui.form.ControlLink.extend({
get_options: function() {
let options = '';
- if(this.df.get_options) {
+ if (this.df.get_options) {
options = this.df.get_options();
- }
- else if (this.docname==null && cur_dialog) {
+ } else if (this.docname==null && cur_dialog) {
//for dialog box
options = cur_dialog.get_value(this.df.options);
- }
- else if (!cur_frm) {
+ } else if (!cur_frm) {
const selector = `input[data-fieldname="${this.df.options}"]`;
let input = null;
if (cur_list) {
@@ -21,13 +19,12 @@ frappe.ui.form.ControlDynamicLink = frappe.ui.form.ControlLink.extend({
if (input) {
options = input.val();
}
- }
- else {
+ } else {
options = frappe.model.get_value(this.df.parent, this.docname, this.df.options);
}
if (frappe.model.is_single(options)) {
- frappe.throw(__(`${options.bold()} is not a valid DocType for Dynamic Link`));
+ frappe.throw(__("{} is not a valid DocType for Dynamic Link", [options.bold()]));
}
return options;
diff --git a/frappe/public/js/frappe/form/sidebar/review.js b/frappe/public/js/frappe/form/sidebar/review.js
index 2cf2980bf7..b321e3d3d5 100644
--- a/frappe/public/js/frappe/form/sidebar/review.js
+++ b/frappe/public/js/frappe/form/sidebar/review.js
@@ -78,7 +78,6 @@ frappe.ui.form.Review = class Review {
}
show_review_dialog() {
const user_options = this.get_involved_users();
- const doc_owner = this.frm.doc.owner;
const review_dialog = new frappe.ui.Dialog({
'title': __('Add Review'),
'fields': [{
@@ -106,7 +105,7 @@ frappe.ui.form.Review = class Review {
fieldtype: 'Int',
label: __('Points'),
reqd: 1,
- description: __(`Currently you have ${this.points.review_points} review points`)
+ description: __("Currently you have {0} review points", [this.points.review_points])
}, {
fieldtype: 'Small Text',
fieldname: 'reason',
@@ -181,7 +180,7 @@ frappe.ui.form.Review = class Review {
trigger: 'hover',
delay: 500,
placement: 'top',
- template:`
+ template: `
diff --git a/frappe/public/js/frappe/list/list_view.js b/frappe/public/js/frappe/list/list_view.js
index 4d8121ebd6..f5dbe0fcb1 100644
--- a/frappe/public/js/frappe/list/list_view.js
+++ b/frappe/public/js/frappe/list/list_view.js
@@ -33,7 +33,7 @@ frappe.views.ListView = class ListView extends frappe.views.BaseList {
if (!this.has_permissions()) {
frappe.set_route('');
- frappe.msgprint(__(`Not permitted to view ${this.doctype}`));
+ frappe.msgprint(__("Not permitted to view {0}", [this.doctype]));
return;
}
diff --git a/frappe/public/js/frappe/ui/filters/filter.js b/frappe/public/js/frappe/ui/filters/filter.js
index 4dedfb32fe..023b284315 100644
--- a/frappe/public/js/frappe/ui/filters/filter.js
+++ b/frappe/public/js/frappe/ui/filters/filter.js
@@ -54,7 +54,7 @@ frappe.ui.Filter = class {
this.filters_config = frappe.boot.additional_filters_config;
for (let key of Object.keys(this.filters_config)) {
const filter = this.filters_config[key];
- this.conditions.push([key, __(`{0}`, [filter.label])]);
+ this.conditions.push([key, __("{0}", [filter.label])]);
for (let fieldtype of Object.keys(this.invalid_condition_map)) {
if (!filter.valid_for_fieldtypes.includes(fieldtype)) {
this.invalid_condition_map[fieldtype].push(key);
@@ -542,13 +542,13 @@ frappe.ui.filter_utils = {
if (period_map[period]) {
period_map[period].forEach((p) => {
options.push({
- label: __(`{0} {1}`, [period, p]),
+ label: __("{0} {1}", [period, p]),
value: `${period.toLowerCase()} ${p.toLowerCase()}`,
});
});
} else {
options.push({
- label: __(`{0}`, [period]),
+ label: __("{0}", [period]),
value: `${period.toLowerCase()}`,
});
}
diff --git a/frappe/public/js/frappe/ui/filters/filter_list.js b/frappe/public/js/frappe/ui/filters/filter_list.js
index 6c577aa0bc..9b424f9ed2 100644
--- a/frappe/public/js/frappe/ui/filters/filter_list.js
+++ b/frappe/public/js/frappe/ui/filters/filter_list.js
@@ -63,12 +63,11 @@ frappe.ui.FilterGroup = class {
}
validate_args(doctype, fieldname) {
-
- if(doctype && fieldname
+ if (doctype && fieldname
&& !frappe.meta.has_field(doctype, fieldname)
&& !frappe.model.std_fields_list.includes(fieldname)) {
- frappe.throw(__(`Invalid filter: "${[fieldname.bold()]}"`));
+ frappe.throw(__("Invalid filter: {0}", [fieldname.bold()]));
return false;
}
return true;
diff --git a/frappe/public/js/frappe/utils/dashboard_utils.js b/frappe/public/js/frappe/utils/dashboard_utils.js
index fca26d6ece..d69ec1ddde 100644
--- a/frappe/public/js/frappe/utils/dashboard_utils.js
+++ b/frappe/public/js/frappe/utils/dashboard_utils.js
@@ -182,7 +182,7 @@ frappe.dashboard_utils = {
try {
f[3] = eval(f[3]);
} catch (e) {
- frappe.throw(__(`Invalid expression set in filter ${f[1]} (${f[0]})`));
+ frappe.throw(__("Invalid expression set in filter {0} ({1})", [f[1], f[0]]));
}
});
filters = [...filters, ...dynamic_filters];
@@ -192,7 +192,7 @@ frappe.dashboard_utils = {
const val = eval(dynamic_filters[key]);
dynamic_filters[key] = val;
} catch (e) {
- frappe.throw(__(`Invalid expression set in filter ${key}`));
+ frappe.throw(__("Invalid expression set in filter {0}", [key]));
}
}
Object.assign(filters, dynamic_filters);
@@ -238,7 +238,7 @@ frappe.dashboard_utils = {
let dashboard_route_html =
`
${values.dashboard}`;
let message =
- __(`${doctype} ${values.name} added to Dashboard ` + dashboard_route_html);
+ __("{0} {1} added to Dashboard {2}", [doctype, values.name, dashboard_route_html]);
frappe.msgprint(message);
});
diff --git a/frappe/public/js/frappe/views/dashboard/dashboard_view.js b/frappe/public/js/frappe/views/dashboard/dashboard_view.js
index 6f6279fd08..92e5a76f9d 100644
--- a/frappe/public/js/frappe/views/dashboard/dashboard_view.js
+++ b/frappe/public/js/frappe/views/dashboard/dashboard_view.js
@@ -249,7 +249,7 @@ frappe.views.DashboardView = class DashboardView extends frappe.views.ListView {
show_add_chart_dialog() {
let fields = this.get_field_options();
const dialog = new frappe.ui.Dialog({
- title: __(`Add a ${this.doctype} Chart`),
+ title: __("Add a {0} Chart", [this.doctype]),
fields: [
{
fieldname: 'new_or_existing',
diff --git a/frappe/public/js/frappe/views/desktop/desktop.js b/frappe/public/js/frappe/views/desktop/desktop.js
index e967e14dfc..c5eee45932 100644
--- a/frappe/public/js/frappe/views/desktop/desktop.js
+++ b/frappe/public/js/frappe/views/desktop/desktop.js
@@ -306,7 +306,7 @@ class DesktopPage {
make_onboarding() {
this.onboarding_widget = frappe.widget.make_widget({
- label: this.data.onboarding.label || __(`Let's Get Started`),
+ label: this.data.onboarding.label || __("Let's Get Started"),
subtitle: this.data.onboarding.subtitle,
steps: this.data.onboarding.items,
success: this.data.onboarding.success,
@@ -371,7 +371,7 @@ class DesktopPage {
make_cards() {
let cards = new frappe.widget.WidgetGroup({
- title: this.data.cards.label || __(`Reports & Masters`),
+ title: this.data.cards.label || __("Reports & Masters"),
container: this.page,
type: "links",
columns: 3,
diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js
index a32307c6c4..53cee5b348 100644
--- a/frappe/public/js/frappe/views/reports/query_report.js
+++ b/frappe/public/js/frappe/views/reports/query_report.js
@@ -322,12 +322,12 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
let message;
if (dashboard_name) {
let dashboard_route_html = `
${dashboard_name}`;
- message = __(`New {0} {1} added to Dashboard ` + dashboard_route_html, [doctype, name]);
+ message = __("New {0} {1} added to Dashboard {2}", [doctype, name, dashboard_route_html]);
} else {
- message = __(`New {0} {1} created`, [doctype, name]);
+ message = __("New {0} {1} created", [doctype, name]);
}
- frappe.msgprint(message, __(`New {0} Created`, [doctype]));
+ frappe.msgprint(message, __("New {0} Created", [doctype]));
});
}
@@ -433,7 +433,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
try {
out = eval(expression.substr(5));
} catch (e) {
- frappe.throw(__(`Invalid "depends_on" expression set in filter ${filter_label}`));
+ frappe.throw(__('Invalid "depends_on" expression set in filter {0}', [filter_label]));
}
} else {
var value = doc[expression];
@@ -738,14 +738,18 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
get_queued_prepared_reports_warning_message(reports) {
const route = `#List/Prepared Report/List?status=Queued&report_name=${this.report_name}`;
+ const report_link_html = reports.length == 1
+ ? `
${__('1 Report')}`
+ : `
${__("{0} Reports", [reports.length])}`;
+
const no_of_reports_html = reports.length == 1
- ? `${__('There is ')}
${__('1 Report')}`
- : `${__('There are ')}
${__(`{} Reports`, [reports.length])}`;
+ ? `${__('There is {0} with the same filters already in the queue:', [report_link_html])}`
+ : `${__('There are {0} with the same filters already in the queue:', [report_link_html])}`;
let warning_message = `
- ${__(`Are you sure you want to generate a new report?
- {} with the same filters already in the queue:`, [no_of_reports_html])}
+ ${__("Are you sure you want to generate a new report?")}
+ ${no_of_reports_html}
`;
let get_item_html = item => `
${item.name}`;
@@ -1013,7 +1017,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
field.value == values.x_field
)[0].label;
- options.title = __(`${this.report_name}: ${x_field_label} vs ${y_field_label}`);
+ options.title = __("{0}: {1} vs {2}", [this.report_name, x_field_label, y_field_label]);
this.render_chart(options);
this.add_chart_buttons_to_toolbar(true);
diff --git a/frappe/public/js/frappe/widgets/chart_widget.js b/frappe/public/js/frappe/widgets/chart_widget.js
index ccec5b3ef4..c89ee96520 100644
--- a/frappe/public/js/frappe/widgets/chart_widget.js
+++ b/frappe/public/js/frappe/widgets/chart_widget.js
@@ -387,7 +387,7 @@ export default class ChartWidget extends Widget {
setup_filter_dialog(fields) {
let me = this;
let dialog = new frappe.ui.Dialog({
- title: __(`Set Filters for ${this.chart_doc.chart_name}`),
+ title: __("Set Filters for {0}", [this.chart_doc.chart_name]),
fields: fields,
primary_action: function() {
let values = this.get_values();
diff --git a/frappe/workflow/doctype/workflow/workflow.js b/frappe/workflow/doctype/workflow/workflow.js
index 6ebba89e58..75e72ee787 100644
--- a/frappe/workflow/doctype/workflow/workflow.js
+++ b/frappe/workflow/doctype/workflow/workflow.js
@@ -63,7 +63,12 @@ frappe.ui.form.on("Workflow", {
frm.save();
};
- frappe.warn(__(`Worflow States Don't Exist`), message_html, proceed_action, __(`Save Anyway`));
+ frappe.warn(
+ __("Worflow States Don't Exist"),
+ message_html,
+ proceed_action,
+ __("Save Anyway")
+ );
},
set_table_html: function(frm) {