]> git.gir.st - VimFx.git/blob - extension/lib/translate.coffee
Rename l10n.coffee into translate.coffee
[VimFx.git] / extension / lib / translate.coffee
1 ###
2 # Copyright Simon Lydell 2014, 2015, 2016.
3 #
4 # This file is part of VimFx.
5 #
6 # VimFx is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # VimFx is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with VimFx. If not, see <http://www.gnu.org/licenses/>.
18 ###
19
20 # This file provides a simple function for getting the localized version of a
21 # string of text.
22
23 PROPERTIES_FILE = 'vimfx.properties'
24
25 stringBundle = Services.strings.createBundle(
26 # Randomize URI to work around bug 719376.
27 "#{ADDON_PATH}/locale/#{PROPERTIES_FILE}?#{Math.random()}"
28 )
29
30 translate = (name, values...) ->
31 try
32 return stringBundle.formatStringFromName(name, values, values.length)
33 catch error
34 # If you accidentally pass a `name` that does not exist in a '.properties'
35 # file the thrown error is terrible. It only tells you that an error
36 # occurred, but not why. Wrap in a try-catch to fix that.
37 console.error('VimFx: Translation error', name, values, error)
38
39 module.exports = translate
Imprint / Impressum