LocMsg

Far Manager

LocMsg

The LocMsg function returns a pointer to a string according to the language settings of FAR Manager. It is an analogue of the standard GetMsg function.

Attention! Attention!

  • The LocMsg function function is not part of the standard API. The source code is available here.
char *LocMsg(
  struct PluginStartupInfo *psi,
  char *MsgName,
  char *Var,
  int Len
);

Parameters

psi
Pointer to a PluginStartupInfo structure; it is used to get RootKey and ModuleNumber variables.
MsgName
Name of the requested message.
Var
If not NULL, points to a buffer that receives the requested string.
Len
If zero, all the data is copied.

Return value

Pointer to the requested string.

Remarks

  1. In contrast to the GetMsg, this function does not cache data. This allows to change data dynamically (without restarting FAR Manager, etc.).
  2. The LocMsg function may be used to "localize" "second level" plugins.
  3. It considers the language setting of the current user.
  4. A file containing the messages should be located in the same folder, as the plugin, and should be named as following: PluginName.msg. It is a standard ini-file with the following structure:
    [Default]
    //This section defines the default language section, which will be used,
    //if the requested section is not found.
    //It is an optional section, if it is absent, first section will be the
    //default.
    Language=Russian
    
    //Section names SHOULD be taken from the first line of
    //the corresponding .lng file:
    //.Language=Russian,Russian (Русский)
    //          ^^^^^^^
    //          This should be the the name of the section
    
    [Russian]
    String1=Текст первого сообщения
    String2=Текст второго сообщения
    IsSkipNoWord=1
    
    [English]
    String1=Text of the first message
    String2=Text of the second message
    IsSkipNoWord=1
    //etc.
    

Example

  BOOL IsSkipNoWord;
  p=LocMsg("IsSkipNoWord",NULL,1);
  IsSkipNoWord=(*p != '0')?TRUE:FALSE;

  phf=strrchr(LocMsg(temp,"String1",956),".");
See also: