diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md
index 856ef882453..b1bec84a2f3 100644
--- a/doc/development/i18n/externalization.md
+++ b/doc/development/i18n/externalization.md
@@ -131,6 +131,9 @@ There is also and alternative method to [translate messages from validation erro
### Interpolation
+Placeholders in translated text should match the code style of the respective source file.
+For example use `%{created_at}` in Ruby but `%{createdAt}` in JavaScript.
+
- In Ruby/HAML:
```ruby
@@ -141,11 +144,19 @@ There is also and alternative method to [translate messages from validation erro
```js
import { __, sprintf } from '~/locale';
- sprintf(__('Hello %{username}'), { username: 'Joe' }) => 'Hello Joe'
+
+ sprintf(__('Hello %{username}'), { username: 'Joe' }); // => 'Hello Joe'
```
-The placeholders should match the code style of the respective source file.
-For example use `%{created_at}` in Ruby but `%{createdAt}` in JavaScript.
+ By default, `sprintf` escapes the placeholder values.
+ If you want to take care of that yourself, you can pass `false` as third argument.
+
+ ```js
+ import { __, sprintf } from '~/locale';
+
+ sprintf(__('This is %{value}'), { value: 'bold' }); // => 'This is <strong>bold</strong>'
+ sprintf(__('This is %{value}'), { value: 'bold' }, false); // => 'This is bold'
+ ```
### Plurals