Esta es una ayuda a mi memoria, no pretende ser una guía
completa o detallada. Pero, ... puede ser de utilidad
para alguien más.
Sí, lo sé, hay alternativas más sencillas como homebrew
o macports
, pero si estás más familiarizado con
linux y la consola, este camino será seguramente tu preferido.
Requisitos
- Mac OSX 10.7+
- Xcode (puede obtenerse desde App Store)
- Xcode Command Line Tools:
$ xcode-select --install
Instalar autoconf
, automake
y libtool
.
Para compilar algunos paquetes necesitarás autoconf
y automake
.
Primero obtenemos autoconf
y lo descomprimimos:
$ curl -O -L http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
$ tar -xzf autoconf-2.69.tar.gz
Luego lo configuramos e instalamos:
$ cd autoconf-2.69
$ ./configure
$ make
$ sudo make install
Esto es lo mismo que ocupar macports:
$ sudo port install autoconf
; si prefieres
homebrew: $ sudo brew install autonf
.
La diferencia está sólo el lugar de instalación.
En general, prefiero una estructura de archivos en Mac
que sea lo más similar posible a *nix (simplemente
para no tener que recordar más cosas en mi memoria).
Luego hacemos lo mismo para automake
y libtool
:
$ curl -OL http://ftpmirror.gnu.org/automake/automake-1.15.tar.gz
$ tar -xzf automake-1.15.tar.gz
$ cd automake-1.15
$ ./configure && make && sudo make install
$ curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz
$ tar -xzf libtool-2.4.2.tar.gz
$ cd libtool-2.4.2
$ ./configure && make && sudo make install
Bien, ahora que el sistema está listo para compilar módulos
de PHP, procedemos a instalar intl
y
gettext
.
PHP con intl
y gettext
PHP (y Apache) vienen instalado por defecto en Mac OSX,
aunque es posible que debas activar PHP en tu equipo.
Primero obtenemos ICU
(necesitamos el códig fuente o src
)
y lo instalamos:
$ curl -OL http://download.icu-project.org/files/icu4c/58.1/icu4c-58_1-src.tgz
$ tar -xzf icu4c-58_1-src.tgz
$ cd icu/source
$ ./runConfigureICU MacOSX
$ make && sudo make install
También necesitaremos installar gettext
:
$ curl -OL http://ftp.gnu.org/pub/gnu/gettext/gettext-latest.tar.gz
$ tar -xzf gettext-0.19.8.1.tar.gz
$ cd gettext
$ ./configure && make && sudo make install
Luego obtenemos el código fuente de la versión de PHP
que tenemos instalado
(a la fecha es php-5.6.25
):
$ tar -xzf php-5.6.25.tar.gz
$ cd php-5.6.25/ext/intl
$ phpize
$ ./configure --enable-intl
$ make
$ sudo cp modules/intl.so /usr/lib/php/extensions/
Hacemos lo mismo para gettext
.
$ cd php-5.6.25/ext/gettext
$ phpize
$ ./configure --with-gettext
$ make
$ sudo cp modules/gettext.so /usr/lib/php/extensions/
Sólo resta activar estas nuevas extensiones en la configuración
de PHP (php.ini
).
Ocupando un editor de texto
de tu preferencia (ej. vim
):
$ sudo vim /etc/php.ini
Asegúrate de incorporar estas líneas:
extension_dir = "/usr/lib/php/extensions"
extension = intl.so
extension = gettext.so
Para que los cambios sean efectivos, debes reiniciar el
servidor apache
:
$ sudo apachectl restart
Eso es todo. Ahora en PHP podrás ocupar las librerías
de internacionalización y (suponiendo que tienes
archivos de traducción *.po
y *.mo
),
el resultado del siguiente código (PHP):
Nota: La configuración de internacionalización para PHP la
dejaremos para un otro artículo.