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.
- Syntax:
%MAKETEXT{"string" args="..."}%
- Supported parameters:
Parameter | Description | Default |
"text" or string="text" | The text to be displayed (the translatable string). | none |
args="param1, param2" | a comma-separated list of arguments to be interpolated in the string, replacing [_N] placeholders in it. | none |
- Examples:
%MAKETEXT{string="Notes:"}%
expands to:
Notes:
%MAKETEXT{
"If you have any questions, please contact [_1]."
args="%WIKIWEBMASTER%"
}%
expands to:
If you have any questions, please contact eshopy@malat.biz.
%MAKETEXT{
"Did you want to [[[_1]][reset [_2]'s password]]?"
args="%SYSTEMWEB%.ResetPassword,%WIKIUSERNAME%"
}%
expands to:
Did you want to [[System.ResetPassword][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:
- 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.