From 6d11c044ec0059405c9e2813e39e9b618e7068c8 Mon Sep 17 00:00:00 2001 From: mitchell <70453897+667e-11@users.noreply.github.com> Date: Fri, 15 Oct 2010 16:52:12 -0400 Subject: Changed locale implementation. --- core/locale.lua | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'core/locale.lua') diff --git a/core/locale.lua b/core/locale.lua index 93bf1024..5b14a254 100644 --- a/core/locale.lua +++ b/core/locale.lua @@ -19,20 +19,23 @@ module('locale', package.seeall) -- Each message ID in `core/locale.conf` is accessible as a field in this -- module. -local escapes = { ['\\n'] = '\n', ['\\r'] = '\r', ['\\t'] = '\t' } +-- Contains all localizations for the current locale. +-- @class table +-- @name localizations +local localizations = {} local f = io.open(_USERHOME..'/locale.conf', 'rb') if not f then f = io.open(_HOME..'/core/locale.conf', 'rb') end if not f then error('"core/locale.conf" not found.') end for line in f:lines() do if not line:find('^%s*%%') then - local id, str = line:match('^%s*(%S+)%s+"(.+)"$') - if id and str then locale[id] = str:gsub('\\[nrt]', escapes) end + local id, str = line:match('^(.-)%s*=%s*(.+)$') + if id and str then localizations[id] = str end end end f:close() --- --- This module contains no functions. -function no_functions() end -no_functions = nil -- undefine +-- Localizes the given string. +-- @param id String to localize. +function localize(id) return localizations[id] or 'No Localization' end -- cgit v1.2.3