Vim documentation: vital/Locale/Message
main help file
vital/Locale/Message.txt very simple message localization library.
Maintainer: thinca <thinca+vim@gmail.com>
==============================================================================
CONTENTS Vital.Locale.Message-contents
INTRODUCTION Vital.Locale.Message-introduction
USAGE Vital.Locale.Message-usage
INTERFACE Vital.Locale.Message-interface
FUNCTIONS Vital.Locale.Message-functions
Message Object Vital.Locale.Message-Message
MESSAGE TEXT Vital.Locale.Message-message-text
==============================================================================
INTRODUCTION Vital.Locale.Message-introduction
Vital.Locale.Message is a very simple message localization library.
==============================================================================
USAGE Vital.Locale.Message-usage
let s:V = vital#my_plugin#new()
let s:message = s:V.import('Locale.Message').new('my-plugin')
function! s:_(text)
return s:message._(a:text)
endfunction
echo s:_('my-plugin is loaded.')
==============================================================================
INTERFACE Vital.Locale.Message-interface
------------------------------------------------------------------------------
FUNCTIONS Vital.Locale.Message-functions
new({plugin-name}) Vital.Locale.Message.new()
Creates a new Message object(Vital.Locale.Message-Message).
{plugin-name} is used as the location of message text.
See also Vital.Locale.Message-message-text.
get_lang() Vital.Locale.Message.get_lang()
Gets the current language code.
------------------------------------------------------------------------------
Message Object Vital.Locale.Message-Message
Message.get({text}) Vital.Locale.Message-Message.get()
Returns a localized text.
If the text is not found, returns {text}.
Message._({text}) Vital.Locale.Message-Message._()
Shortcut version of Vital.Locale.Message-Message.get().
Message.load({lang}) Vital.Locale.Message-Message.load()
Loads a message text file manually.
Normally, this is called by automatically.
Message.missing({text}) Vital.Locale.Message-Message.missing()
This is called by Vital.Locale.Message-Message.get() if the {text}
was not found in the message text file.
By default, nothing is done.
This is used for debugging by the override.
If a string is returned, it is used for localized text.
let s:mes = V.Locale.Message.new('my-plugin')
if g:my_plugin_debug
function s:mes.missing(text)
echomsg 'Text missing: ' . a:text
endfunction
endif
An example of dynamic translation.
(localized texts of Message object is stored in "data" attribute.)
let s:mes = V.Locale.Message.new('my-plugin')
function s:mes.missing(text)
let self.data[a:text] = Translate(a:text)
return self.data[a:text]
endfunction
==============================================================================
MESSAGE TEXT Vital.Locale.Message-message-text
A localized message text file should be placed in following.
{runtimepath}/message/{plugin-name}/{lang}.txt
- {runtimepath} is a one of 'runtimepath'.
- {plugin-name} is your plugin name.
It is passed to Vital.Locale.Message.new().
- {lang} is language code. Ex: en, ja, fr, ...
If {plugin-name} contains "%s", the rule changes.
{runtimepath}/{plugin-name}
"%s" is replaced by {lang}.
Content of a message text file is as following.
{
# comment line
'message': 'メッセージ',
'hello': 'こんにちは',
}
This is just a Vim Dictionary. This file must be written by utf-8.
A comment line starts with "#". A comment cannot start after a text.
==============================================================================
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
top - main help file - tag index