File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -193,7 +193,12 @@ export default class MacroJs {
193193
194194 // if there's `message` property, replace macros with formatted message
195195 const node = descriptor . properties [ messageIndex ]
196- const tokens = this . tokenizeNode ( node . value , true )
196+
197+ // Inside message descriptor the `t` macro in `message` prop is optional.
198+ // Template strings are always processed as if they were wrapped by `t`.
199+ const tokens = this . types . isTemplateLiteral ( node . value )
200+ ? this . tokenizeTemplateLiteral ( node . value )
201+ : this . tokenizeNode ( node . value , true )
197202
198203 let messageNode = node . value
199204 if ( tokens != null ) {
@@ -351,7 +356,6 @@ export default class MacroJs {
351356 }
352357 }
353358
354-
355359 /**
356360 * Custom matchers
357361 */
Original file line number Diff line number Diff line change @@ -36,19 +36,22 @@ export default [
3636 ` ,
3737 } ,
3838 {
39- name : "should left string message intact - template literal " ,
39+ name : "should transform template literals " ,
4040 input : `
4141 import { defineMessage } from '@lingui/macro';
4242 const message = defineMessage({
43- message: \`Message\`
43+ message: \`Message \${name} \`
4444 })
4545 ` ,
4646 expected : `
4747 import { i18n } from "@lingui/core";
4848 const message =
4949 /*i18n*/
5050 {
51- id: \`Message\`
51+ id: "Message {name}",
52+ values: {
53+ name: name
54+ }
5255 };
5356 ` ,
5457 } ,
Original file line number Diff line number Diff line change @@ -82,6 +82,23 @@ export default [
8282 i18n._("Multiline\\nstring")
8383 ` ,
8484 } ,
85+ {
86+ name : "Support template strings in t macro message" ,
87+ input : `
88+ import { t } from '@lingui/macro'
89+ const msg = t({ message: \`Hello \${name}\` })
90+ ` ,
91+ expected : `import { i18n } from "@lingui/core";
92+ const msg =
93+ i18n._(/*i18n*/
94+ {
95+ id: "Hello {name}",
96+ values: {
97+ name: name,
98+ },
99+ });
100+ ` ,
101+ } ,
85102 {
86103 name : "Support id and comment in t macro as callExpression" ,
87104 input : `
You can’t perform that action at this time.
0 commit comments