Icecat 3.0.3 em Português Europeu

Depois de algumas horas nisto, finalmente consegui compilar o Icecat 3.0.0.3 com suporte para o Português Europeu. Em vez de terem que descarregar o browser em inglês e depois instalar o pacote de idiomas, podem descarregá-lo já em português.

Para quem já não se recorda, o Icecat é uma implementação totalmente livre do Firefox. Não tem EULAs, nem pequenos bits proprietários. É tão livre como o Emacs ou o GCC.

Para disponibilizar o Icecat em português, usei a tradução portuguesa do Firefox. Essa tradução foi sujeita a algumas pequenas alterações, que poderão ver neste diff. Se quiserem agradecer a alguém, agradeçam à equipa que traduz o Firefox para português, porque o grande trabalho de traduzir este browser é deles.

Esta versão do Icecat foi compilada para o sistema GNU/Linux. Se o quiserem executar em FreeBSD, OpenBSD, Windows, Mac OS X ou qualquer outro sistema, descarreguem o código-fonte e compilem-no. O processo é, ou deverá ser, relativamente simples.

Se, por algum motivo, o browser aparecer em inglês, vão às opções avançadas (about:config), procurem a opção «general.useragent.locale» (sem as aspas) e alterem o seu valor para «pt-PT» (também sem as aspas).

Que as vossas navegações sejam livres!

Compilar o IceCat com suporte para um idioma à sua escolha

De há pelo menos um mês para cá que o IceCat é o meu browser de eleição. Este browser é baseado no Firefox e tem algumas adições, como uma funcionalidade que permite bloquear, individualmente, cada cookie de um determinado website.

Aproveitando o post do cenourinha sobre a sua experiência com a última versão estável do Ubuntu, deixo este pequeno tutorial.

O browser é mantido apenas para o sistema GNU/Linux, mas deverá ser possível compilá-lo em Windows, Mac OS X e outras plataformas sem grandes problemas, já que o código-fonte deste se mantém alinhado com a última versão do Firefox – e, como sabem, o Firefox está disponível para diferentes sistemas. Para além disso, está apenas disponível em inglês. Para que possam o Icecat em português – ou qualquer outra, se assim o entenderem -, vou explicar como compilar o browser, num sistema GNU/Linux, já com o idioma em português.

Primeiro que tudo, tenho que dizer que eu uso o gNewSense, por isso este tutorial reflecte os passos nesse sistema. Como o gNewSense é baseado no Ubuntu, deverá ser possível reproduzir este pequeno tutorial na integra na distribuição mantida pela Canonical, assim como no Debian e distribuições baseadas nesta. Nas outras, os passos deverão ser semelhantes. Também, este tutorial não é para quem agora começou a usar o sistema GNU/Linux, mas para quem já tem um conhecimento ligeiro do sistema e da linha de comandos.

Agora que a introdução chata está feita, vamos pôr as mãos na massa. O primeiro passo é a instalação das dependências do IceCat. Abram um terminal e digitem o seguinte comando:
sudo apt-get install libx11-dev ftgl-dev libotf-dev libxft-dev libpango1.0-dev doxygen autoconf libgtk2.0-dev libnm-glib-dev libidl-dev libxt-dev libpng12-dev libxp-dev

Depois de instaladas as dependências, temos que descarregar o código-fonte, descompactar o arquivo e movê-lo para /usr/src (como tenho o código-fonte de todas as aplicações nesta localização, vou obrigar-vos a seguir este meu hábito):
wget ftp://ftp.gnu.org/gnu/gnuzilla/3.0.1-g1/icecat-3.0.1-g1.tar.bz2
sudo tar xvf -C /usr/src icecat-3.0.1-g1.tar.bz2

Agora, vamos até à pasta /usr/src e vamos preparar tudo para descarregar os ficheiros de idioma necessários:
cd /usr/src
sudo cvs -z3 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk
sudo cvs -z3 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/tools/l10n

Precisamos dos ficheiros para o idioma português europeu (pt-PT). Para isso, primeiro temos que entrar na pasta mozilla, criada pelo passo anterior, e depois correr um comando. Como não saímos de /usr/src:
cd mozilla
sudo make -f client.mk l10n-checkout MOZ_CO_PROJECT=browser MOZ_CO_LOCALES=pt-PT

Depois de executado o comando anterior, ficamos com o código-fonte do Firefox na pasta mozilla e os ficheiros de idioma que queremos na pasta l10n, localizada em /usr/src. O facto da pasta l10n ficar em /usr/src e não em /usr/src/mozilla poupa-nos o trabalho de a mover.

Como já temos o código-fonte do IceCat no local correcto (fizemos isso num dos primeiros passos), temos que preparar a tradução para ser usada pelo IceCat. Isso passa por criar duas pastas, copiar dois ficheiros para elas e editá-los. Primeiro, vamos entrar na pasta browser, que está dentro da pasta do idioma, que por sua vez está dentro da pasta l10n.
cd /usr/src/l10n/pt-PT/browser

Agora, criamos as duas pastas que precisamos:
sudo mkdir -p branding/unofficial

Copiamos os dois ficheiros de que necessitamos:
sudo cp ../../chrome/branding/brand.*

E agora editamos os ficheiros brand.dtd e brand.properties. Vejam os meus para saberem como eles devem ficar.

Para além de editar os ficheiros que movemos para as pastas que criámos, eu fiz outras alterações. Para saberem quais, vejam o diff que criei.

Agora que a tradução está pronta, vamos até à pasta do IceCat e compilamos este browser com o Português Europeu (pt-PT):
cd /usr/src/icecat-3.0.1-g1
sudo ./configure –enable-ui-locale=pt-PT; sudo make

Agora, o IceCat está compilado em português, mas não instalado globalmente. Para o instalarem no sistema, teriam que usar o comando sudo make install. Se quiserem, podem fazê-lo, mas eu aconselho antes a criação de um arquivo com os binários, tal como a Mozilla distribui o browser no seu site. Para o fazer basta, no final do sudo make:
sudo make -C browser/installer/

O comando sudo make -C browser/installer/ vai criar-vos um arquivo bzip2 em dist/ chamado icecat-3.0.1-g1.pt-PT.linux-i686.tar.bz2. Podem copiá-lo para onde quiserem e usar o IceCat como se usassem o Firefox descarregado do site da Mozilla.

Se quiserem criar uma extensão para adicionar um idioma ao IceCat, vão precisar de executar todos os passos até à compilação do browser. Aí, não se passa a flag para o idioma (se já tinham compilado antes o IceCat, podem saltar este passo). Em vez disso, executam-se os seguintes comandos:
sudo ./configure
sudo make;

Assim que acabar, vão até browser/locales:
cd browser/locales

E executem o seguinte comando, que criará uma extensão xpi em dist/install (/usr/src/icecat-3.0.1-g1/dist/install):
sudo make langpack-pt-PT

Essa extensão poderá ser instalada no IceCat e Firefox – e, muito provavelmente, em qualquer browser baseado no Firefox – que esteja noutro idioma que não o Português Europeu. Por uma razão que desconheço, o nome da extensão fica firefox-3.0.1-g1.pt-PT.langpack.xpi. Talvez se deva a um makefile, mas não tenho a certeza.

Volto a repetir que este tutorial requere alguns conhecimentos mínimos do sistema GNU/Linux. Se não os tiverem, podem descarregar o IceCat pronto a usar do seu site oficial. Se usarem Debian, Ubuntu ou uma distribuição baseada numa delas, também podem instalar um pacote deb.

Anunciando o GNUzilla Watcher

icecat

Há perto de um mês para cá que o Icecat é o meu browser de eleição. Ele é baseado no Firefox, mas não tem aquelas questões estranhas com a trademark Mozilla e vem com uma ferramenta extra de privacidade.

Este projecto tem poucos colaboradores, por isso as novas versões do browser são disponibilizadas entre uma a duas semanas após o lançamento da última versão do Firefox – mais ou menos o mesmo tempo que o Ubuntu demora a disponibilizar uma actualização do Firefox. Agora, até disponibilizam um pacote deb para Debian e derivados.

Como programar não faz parte dos meus conhecimentos e queria, de alguma forma, contribuir para este projecto, criei um blog onde serão publicadas as novidades e notícias relacionadas com o projecto. O blog chama-se GNUzilla Watcher e será escrito em inglês. Até agora – para além de mim, claro – já tem dois colaboradores: o maintainer do projecto GNUzilla, Giuseppe Scrivano, e um utilizador do browser chamado Muhammad ‘MJ’ Jassim.

A minha decisão de criar um blog como forma de contributo para o projecto prende-se com o facto destes (os blogs) serem uma poderosa ferramenta de comunicação e de passagem de mensagens. Como este projecto precisa de mais colaboradores, nada melhor que o anunciar às massas.

Passem pelo blog, subscrevam-no e ajudem o projecto GNUzilla.