From 2f214e444651ac30c6d28ca397399761a0cdc1ce Mon Sep 17 00:00:00 2001 From: Ben Shum Date: Thu, 20 Apr 2017 19:14:10 -0400 Subject: [PATCH] Add support for i18n and locales Specify which locales you want in your settings.yml config file. I added four example locales for testing purposes. Signed-off-by: Ben Shum --- evergreen/apache.yml | 24 ++++++++++++++++++++++++ evergreen/database.yml | 9 ++++++++- evergreen/eg-translator.yml | 14 ++++++++++++++ evergreen/main.yml | 3 +++ settings.yml | 7 +++++++ 5 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 evergreen/eg-translator.yml diff --git a/evergreen/apache.yml b/evergreen/apache.yml index d8b0adcf3..18b975b1c 100644 --- a/evergreen/apache.yml +++ b/evergreen/apache.yml @@ -9,6 +9,30 @@ copy: src: "{{repo_base}}/Evergreen/Open-ILS/examples/apache_24/eg_vhost_24.conf" dest: /etc/apache2/eg_vhost.conf +- name: Setup "{{ locale }}" for TPAC + vars: + eg_locale: "{{ item | lower | regex_replace('(\\w{2})-(\\w{2})', '\\1_\\2') }}" + blockinfile: + dest: /etc/apache2/eg_vhost.conf + insertafter: ' #PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/fr-CA.po"' + marker: "# {mark} ANSIBLE MANAGED BLOCK TPAC {{ item }}" + block: | + PerlAddVar OILSWebLocale "{{ eg_locale }}" + PerlAddVar OILSWebLocale "/openils/var/data/locale/opac/{{ item }}.po" + with_items: "{{ locale }}" + when: locale is defined +- name: Setup "{{ locale }}" for web staff client + vars: + staff_eg_locale: "{{ item | lower | regex_replace('(\\w{2})-(\\w{2})', '\\1_\\2') }}" + blockinfile: + dest: /etc/apache2/eg_vhost.conf + insertafter: ' #PerlAddVar OILSWebLocale "/openils/var/data/locale/staff/fr-CA.po"' + marker: "# {mark} ANSIBLE MANAGED BLOCK WEBSTAFF {{ item }}" + block: | + PerlAddVar OILSWebLocale "{{ staff_eg_locale }}" + PerlAddVar OILSWebLocale "/openils/var/data/locale/staff/{{ item }}.po" + with_items: "{{ locale }}" + when: locale is defined - name: Setup eg_startup copy: src: "{{repo_base}}/Evergreen/Open-ILS/examples/apache/eg_startup" diff --git a/evergreen/database.yml b/evergreen/database.yml index c77a98de7..8b105b5a5 100644 --- a/evergreen/database.yml +++ b/evergreen/database.yml @@ -61,4 +61,11 @@ when: - create_schema - install_pgtap - +- name: Install "{{ locale }}" locale(s) in database + become: true + become_user: postgres + shell: > + cd {{repo_base}}/Evergreen/Open-ILS/src/sql/Pg + && psql -d {{database_database}} -f 950.data.seed-values-{{ item }}.sql + with_items: "{{ locale }}" + when: locale is defined diff --git a/evergreen/eg-translator.yml b/evergreen/eg-translator.yml new file mode 100644 index 000000000..e75778774 --- /dev/null +++ b/evergreen/eg-translator.yml @@ -0,0 +1,14 @@ +- name: Install Evergreen Translator Prereqs + shell: > + cd {{repo_base}}/Evergreen + && PERL_MM_USE_DEFAULT=1 make -f + Open-ILS/src/extras/Makefile.install {{os_build_target}}-translator +- name: Set ownership of {{repo_base}} to opensrf + file: dest="{{repo_base}}" owner=opensrf group=opensrf recurse=yes +- name: Install specified "{{ locale }}" locale(s) + become: true + become_user: opensrf + shell: > + cd {{repo_base}}/Evergreen/build/i18n + && make LOCALE="{{ item }}" install + with_items: "{{ locale }}" diff --git a/evergreen/main.yml b/evergreen/main.yml index 0d8f1f2bd..327dd9d41 100644 --- a/evergreen/main.yml +++ b/evergreen/main.yml @@ -2,6 +2,9 @@ include: eg-build.yml - name: Build Evergreen Web include: eg-web.yml +- name: Build Evergreen translator + include: eg-translator.yml + when: locale is defined - name: Install Evergreen include: eg-install.yml - name: Setup Apache diff --git a/settings.yml b/settings.yml index 74e74f371..f1565bded 100644 --- a/settings.yml +++ b/settings.yml @@ -52,3 +52,10 @@ load_sample_data: --load-all-sample # Requires create_schema:true install_pgtap: true # -------------------------------------------------------------------------- + +# optional: set some example locales +locale: + - ar-JO + - cs-CZ + - es-ES + - fr-CA -- 2.11.0