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.


Parameter Description Default
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.  


  • %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?


  • [_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.


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.

This site is powered by FoswikiCopyright © by the contributing authors. All material on this site is the property of the contributing authors.
Ideas, requests, problems regarding AustLII Communities? Send feedback
This website is using cookies. More info. That's Fine