Переглянути джерело

Support for additional locales in PHP-FPM (#1976)

Ion Jaureguialzo Sarasola 6 роки тому
батько
коміт
1286b7ef06
4 змінених файлів з 33 додано та 0 видалено
  1. 13 0
      DOCUMENTATION/content/documentation/index.md
  2. 2 0
      docker-compose.yml
  3. 2 0
      env-example
  4. 16 0
      php-fpm/Dockerfile

+ 13 - 0
DOCUMENTATION/content/documentation/index.md

@@ -1300,6 +1300,19 @@ We also recommend [setting the timezone in Laravel](http://www.camroncade.com/ma
 
 
 
+<br>
+<a name="Add locales to PHP-FPM"></a>
+## Add locales to PHP-FPM
+
+To add locales to the container:
+
+1 - Open the `.env` file and set `PHP_FPM_INSTALL_ADDITIONAL_LOCALES` to `true`.
+
+2 - Add locale codes to `PHP_FPM_ADDITIONAL_LOCALES`.
+
+3 - Re-build your PHP-FPM Container `docker-compose build php-fpm`.
+
+4 - Check enabled locales with `docker-compose exec php-fpm locale -a`
 
 
 

+ 2 - 0
docker-compose.yml

@@ -162,6 +162,8 @@ services:
           - INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
           - INSTALL_APCU=${PHP_FPM_INSTALL_APCU}
           - INSTALL_YAML=${PHP_FPM_INSTALL_YAML}
+          - INSTALL_ADDITIONAL_LOCALES=${PHP_FPM_INSTALL_ADDITIONAL_LOCALES}
+          - ADDITIONAL_LOCALES=${PHP_FPM_ADDITIONAL_LOCALES}
       volumes:
         - ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
         - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}

+ 2 - 0
env-example

@@ -169,6 +169,8 @@ PHP_FPM_INSTALL_IONCUBE=false
 PHP_FPM_FAKETIME=-0
 PHP_FPM_INSTALL_APCU=false
 PHP_FPM_INSTALL_YAML=false
+PHP_FPM_INSTALL_ADDITIONAL_LOCALES=false
+PHP_FPM_ADDITIONAL_LOCALES="es_ES.UTF-8 fr_FR.UTF-8"
 
 ### PHP_WORKER ############################################
 

+ 16 - 0
php-fpm/Dockerfile

@@ -585,6 +585,22 @@ RUN if [ ${INSTALL_YAML} = true ]; then \
     docker-php-ext-enable yaml \
 ;fi
 
+###########################################################################
+# Install additional locales:
+###########################################################################
+
+ARG INSTALL_ADDITIONAL_LOCALES=false
+ARG ADDITIONAL_LOCALES
+
+RUN if [ ${INSTALL_ADDITIONAL_LOCALES} = true ]; then \
+    apt-get install -y locales \
+    && echo '' >> /usr/share/locale/locale.alias \
+    && temp="${ADDITIONAL_LOCALES%\"}" \
+    && temp="${temp#\"}" \
+    && for i in ${temp}; do sed -i "/$i/s/^#//g" /etc/locale.gen; done \
+    && locale-gen \
+;fi
+
 ###########################################################################
 # Check PHP version:
 ###########################################################################