Add support for i18n and locales user/bshum/i18n-ansible-installer
authorBen Shum <ben@evergreener.net>
Thu, 20 Apr 2017 23:14:10 +0000 (19:14 -0400)
committerBen Shum <ben@evergreener.net>
Thu, 20 Apr 2017 23:34:18 +0000 (19:34 -0400)
Specify which locales you want in your settings.yml config file. I added
four example locales for testing purposes.

Signed-off-by: Ben Shum <ben@evergreener.net>
evergreen/apache.yml
evergreen/database.yml
evergreen/eg-translator.yml [new file with mode: 0644]
evergreen/main.yml
settings.yml

index d8b0adc..18b975b 100644 (file)
@@ -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"
index c77a98d..8b105b5 100644 (file)
   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 (file)
index 0000000..e757787
--- /dev/null
@@ -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 }}"
index 0d8f1f2..327dd9d 100644 (file)
@@ -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
index 74e74f3..f1565bd 100644 (file)
@@ -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