MAKETEXT -- creates text using Foswiki's I18N infrastructure
Strings captured in the
MAKETEXT
macro are automatically mapped to the
current user's selected language via
locale/*.po
translation files.
Parameters
Parameter |
Description |
Default |
"text" string="text" |
The text to be displayed (the translatable string). |
|
args |
a comma-separated list of arguments to be interpolated in the string, replacing [_N] placeholders in it. |
|
Examples
-
%MAKETEXT{string="Edit"}%
expands to Edit
-
%MAKETEXT{"If you have any questions, please contact [_1]." args="%WIKIWEBMASTER%"}%
expands to If you have any questions, please contact .
-
%MAKETEXT{"Did you want to [[[_1]][reset [_2]'s password]]?" args="%SYSTEMWEB%.ResetPassword,%WIKIUSERNAME%"}%
expands to Did you want to reset Main.WikiGuest's password?
Notes
-
[_n]
brackets are validated to a positive integer from 1 to 100.
- Missing arguments are replaced with an empty string ”.
- An ampersand (
&
) followed by one ascii alphabetic character (a…z, A…Z) in the translatable string will be expanded to an access key string. For example, &X
will expand to <span class='foswikiAccessKey'>X</span>
. If you want to write an actual ampersand, either follow it with a non-alphabetic character or write two consecutive ampersands (&&
).
- Translatable strings starting with underscores (
_
) are reserved. You cannot use translatable phrases starting with an underscore.
- Make sure that the translatable string is constant. Do not include
%MACROS%
inside the translatable strings as they will be expanded before the %MAKETEXT{...}%
itself is handled. You can, however, use macros in the args
, as shown in the examples above.
- The string will be output in English if no mapping can be found in the
.po
translation file for the current user's selected language.
Plurals
The
%MAKETEXT
macro also supports a
limited subset of the
quant
style bracket notation:
-
%MAKETEXT{string="Edit [*,_1,file]" args="4"}%
expands to Edit 4 files
Notes on plurals
- Only 3 arguments are supported.
- The first parameter must be an asterisk. Literals
quant
, numf
or #
are not supported.
- The 2nd parameter must be the argument number
- The 3rd parameter is the word or phrase to be made plural.