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 divf-comp-admin@eng.cam.ac.uk.
    
      %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:
    • 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.

Topic revision: r1 - 19 Sep 2010, ProjectContributor
 

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 Foswiki? Send feedback