mirror of
https://github.com/discourse/discourse.git
synced 2025-06-04 11:11:13 +08:00
FIX: Escape $ in translations before interpolating (#8100)
The dollar sign (`$`) is a special replace pattern, and `$&` inserts the matched string. Thus dollars signs need to be escaped with the special pattern `$$`, which inserts a single `$`.
This commit is contained in:
@ -60,7 +60,8 @@ QUnit.module("lib:i18n", {
|
||||
days: {
|
||||
one: "%{count} day",
|
||||
other: "%{count} days"
|
||||
}
|
||||
},
|
||||
dollar_sign: "Hi {{description}}"
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -223,3 +224,12 @@ QUnit.test("fallback", assert => {
|
||||
"falls back to English translations"
|
||||
);
|
||||
});
|
||||
|
||||
QUnit.test("Dollar signs are properly escaped", assert => {
|
||||
assert.equal(
|
||||
I18n.t("dollar_sign", {
|
||||
description: "$& $&"
|
||||
}),
|
||||
"Hi $& $&"
|
||||
);
|
||||
});
|
||||
|
Reference in New Issue
Block a user