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.
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 e como criar uma extensão de idioma para poderem instalar num binário do IceCat que esteja noutro idioma diferente do 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.
Colocado também no excelente projecto Programas Livres.

Agosto 17, 2008 ás 2:17 am
Queria colocar uma questão, este browser tem alguma relação/variação do Iceweasel ou Epiphany?
Agosto 17, 2008 ás 9:16 pm
O IceCat é uma aplicação GNU e os outros não. Fora isso, são poucas as diferenças entre ele e o Iceweasel; já com o Epiphany, há algumas diferenças.
Agosto 18, 2008 ás 12:58 am
Obrigado pela resposta. Então sendo assim o IceCat e o Swiftbox é que são 2 browsers GNU, se não estiver em erro.
Agosto 19, 2008 ás 2:14 am
O Swift_qualquer_coisa, se não me engano, é proprietário, apesar de ser, alegadamente, uma versão optimizada do Firefox. A licença do Firefox permite, ao que parece, agarrar no código do Firefox e torná-lo proprietário (mas não tenho a certeza).