diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2018-01-25 13:36:04 +0000 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2018-04-11 14:15:49 +0200 |
commit | a58ddd7a9474a32a356ce8caf533e00e90ed64c6 (patch) | |
tree | 2ac9ea062a96c6c9170031eb1742e9c23698fc2e /doc/development/i18n/externalization.md | |
parent | 60d346495827f60f58ae799207522ee0115fa20d (diff) | |
download | gitlab-ce-a58ddd7a9474a32a356ce8caf533e00e90ed64c6.tar.gz |
Document example for sprintf without escaping
Diffstat (limited to 'doc/development/i18n/externalization.md')
-rw-r--r-- | doc/development/i18n/externalization.md | 17 |
1 files changed, 14 insertions, 3 deletions
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: '<strong>bold</strong>' }); // => 'This is <strong>bold</strong>' + sprintf(__('This is %{value}'), { value: '<strong>bold</strong>' }, false); // => 'This is <strong>bold</strong>' + ``` ### Plurals |