diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2016-08-27 14:00:59 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2016-08-27 14:00:59 +0100 |
commit | e3e7951c1c1c6f465ffa8150ce395a98f4d3afd5 (patch) | |
tree | c84e5f2d69fe79c5b78fd30faa012f8284b36997 | |
parent | bcdfd57bae9497aea494eb0fad4c858d63df1642 (diff) | |
download | gitano-e3e7951c1c1c6f465ffa8150ce395a98f4d3afd5.tar.gz |
Basic i18n module
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | bin/gitano-auth.in | 1 | ||||
-rwxr-xr-x | bin/gitano-command.cgi.in | 1 | ||||
-rw-r--r-- | bin/gitano-post-receive-hook.in | 1 | ||||
-rw-r--r-- | bin/gitano-pre-receive-hook.in | 1 | ||||
-rw-r--r-- | bin/gitano-setup.in | 1 | ||||
-rwxr-xr-x | bin/gitano-smart-http.cgi.in | 1 | ||||
-rw-r--r-- | bin/gitano-update-hook.in | 1 | ||||
-rw-r--r-- | bin/gitano-update-ssh.in | 1 | ||||
-rw-r--r-- | lib/gitano.lua | 2 | ||||
-rw-r--r-- | lib/gitano/i18n.lua | 28 | ||||
-rw-r--r-- | utils/install-lua-bin | 2 |
12 files changed, 53 insertions, 1 deletions
@@ -18,6 +18,7 @@ LIB_BIN_INST_PATH := $(DESTDIR)$(LIB_BIN_PATH) SHARE_PATH := $(INST_ROOT)/share/gitano SHARE_INST_PATH := $(DESTDIR)$(SHARE_PATH) SKEL_INST_PATH := $(SHARE_INST_PATH)/skel +LANG_INST_PATH := $(SHARE_INST_PATH)/lang MAN_PATH := $(INST_ROOT)/share/man MAN_INST_PATH := $(DESTDIR)$(MAN_PATH) PLUGIN_PATH := $(SYSCONF_DIR)/gitano/plugins:$(INST_ROOT)/lib/gitano/plugins @@ -59,6 +60,8 @@ SKEL_FILES := gitano-admin/rules/selfchecks.lace \ gitano-admin/rules/adminchecks.lace \ gitano-admin/rules/createrepo.lace +LANG_FILES := json.lua en.lua + MAN1S := gitano-setup.1 @@ -124,7 +127,7 @@ bin/%: bin/%.in $(GEN_BIN) testing/%: testing/%.in $(GEN_BIN) $(call GEN_LOCAL_BIN,$<,$@) -install: install-bins install-lib-bins install-mods install-skel install-man install-plugins +install: install-bins install-lib-bins install-mods install-skel install-man install-plugins install-lang install-man: mkdir -p $(MAN_INST_PATH)/man1 @@ -148,12 +151,21 @@ install-skel: install -m 644 skel/$$SKELFILE $(SKEL_INST_PATH)/$$SKELFILE; \ done +install-lang: + mkdir -p $(LANG_INST_PATH) + for LANGFILE in $(LANG_FILES); do \ + install -m 644 lang/$$LANGFILE $(LANG_INST_PATH)/$$LANGFILE; \ + done + install-plugins: mkdir -p $(DESTDIR)$(INST_ROOT)/lib/gitano/plugins mkdir -p $(DESTDIR)$(SYSCONF_DIR)/gitano/plugins for PLUGIN in $(PLUGINS); do \ install -m 644 plugins/$$PLUGIN $(DESTDIR)$(INST_ROOT)/lib/gitano/plugins; \ done + for LANGFILE in $(wildcard $(patsubst %.lua,plugins/%_*.lua,$(PLUGINS))); do \ + install -m 644 $$LANGFILE $(DESTDIR)$(INST_ROOT)/lib/gitano/plugins; \ + done YARN_ARGS := ifneq ($(LUA_PATH),) diff --git a/bin/gitano-auth.in b/bin/gitano-auth.in index 2ec6c45..00f2f39 100644 --- a/bin/gitano-auth.in +++ b/bin/gitano-auth.in @@ -18,6 +18,7 @@ local sp = require "luxio.subprocess" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local start_log_level = gitano.log.get_level() diff --git a/bin/gitano-command.cgi.in b/bin/gitano-command.cgi.in index 94c5dd5..59995b2 100755 --- a/bin/gitano-command.cgi.in +++ b/bin/gitano-command.cgi.in @@ -17,6 +17,7 @@ local sio = require "luxio.simple" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local stdout = sio.stdout diff --git a/bin/gitano-post-receive-hook.in b/bin/gitano-post-receive-hook.in index df42ffc..020cf04 100644 --- a/bin/gitano-post-receive-hook.in +++ b/bin/gitano-post-receive-hook.in @@ -18,6 +18,7 @@ local sp = require "luxio.subprocess" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local start_log_level = gitano.log.get_level() diff --git a/bin/gitano-pre-receive-hook.in b/bin/gitano-pre-receive-hook.in index 2d9ef7e..b917633 100644 --- a/bin/gitano-pre-receive-hook.in +++ b/bin/gitano-pre-receive-hook.in @@ -18,6 +18,7 @@ local sp = require "luxio.subprocess" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local start_log_level = gitano.log.get_level() diff --git a/bin/gitano-setup.in b/bin/gitano-setup.in index b39a6b5..20ad343 100644 --- a/bin/gitano-setup.in +++ b/bin/gitano-setup.in @@ -18,6 +18,7 @@ local clod = require "clod" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local possible_answers = {...} diff --git a/bin/gitano-smart-http.cgi.in b/bin/gitano-smart-http.cgi.in index 31749ec..892e32d 100755 --- a/bin/gitano-smart-http.cgi.in +++ b/bin/gitano-smart-http.cgi.in @@ -17,6 +17,7 @@ local sio = require "luxio.simple" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local stdout = sio.stdout diff --git a/bin/gitano-update-hook.in b/bin/gitano-update-hook.in index 85d1c76..80db919 100644 --- a/bin/gitano-update-hook.in +++ b/bin/gitano-update-hook.in @@ -18,6 +18,7 @@ local sp = require "luxio.subprocess" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local refname, oldsha, newsha = ... diff --git a/bin/gitano-update-ssh.in b/bin/gitano-update-ssh.in index 136d6df..27217b4 100644 --- a/bin/gitano-update-ssh.in +++ b/bin/gitano-update-ssh.in @@ -18,6 +18,7 @@ local sp = require "luxio.subprocess" -- @@GITANO_BIN_PATH -- @@GITANO_SHARE_PATH +-- @@GITANO_I18N_PATH -- @@GITANO_PLUGIN_PATH local repo_root = ... diff --git a/lib/gitano.lua b/lib/gitano.lua index 31e62d5..85ea868 100644 --- a/lib/gitano.lua +++ b/lib/gitano.lua @@ -16,6 +16,7 @@ local markdown = require 'gitano.markdown' local supple = require 'gitano.supple' local auth = require 'gitano.auth' local plugins = require 'gitano.plugins' +local i18n = require 'gitano.i18n' return { util = util, @@ -29,4 +30,5 @@ return { supple = supple, auth = auth, plugins = plugins, + i18n = i18n, } diff --git a/lib/gitano/i18n.lua b/lib/gitano/i18n.lua new file mode 100644 index 0000000..89dfe6d --- /dev/null +++ b/lib/gitano/i18n.lua @@ -0,0 +1,28 @@ +-- gitano.i18n +-- +-- Internationalisation support for Gitano +-- +-- Copyright 2016 Daniel Silverstone <dsilvers@digital-scurf.org> +-- +-- + +local tongue = require "tongue" + +local basepath = nil + +local function set_langpack_path(path) + basepath = path +end + +local codex = nil + +local function initialise() + assert(basepath, "No basepath provided!") + if codex then return end + -- Init for i18n involves finding the basic language pack tree, loading the + -- language tree in ready, and preparing a codex... +end + +return { + set_langpack_path = set_langpack_path, +} diff --git a/utils/install-lua-bin b/utils/install-lua-bin index 5036ae9..4c1feae 100644 --- a/utils/install-lua-bin +++ b/utils/install-lua-bin @@ -50,6 +50,8 @@ while line do output_fh:write(("gitano.config.share_path(%q)\n"):format(inst_share_path)) elseif token == "GITANO_PLUGIN_PATH" then output_fh:write(("gitano.plugins.load_plugins %s\n"):format(inst_plugin_path)) + elseif token == "GITANO_I18N_PATH" then + output_fh:write(("gitano.i18n.set_langpack_path(%q)\n"):format(inst_share_path .. "/lang")) else output_fh:write("-- Unknown token: " .. token .. "\n") end |