• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

softklin

Incluir traduções nos meus scripts

3 mensagens neste tópico

Boas pessoal!

Estou a tentar aprender um pouco de XUL, que é usada como sabem, para criar extensões do firefox. Acontece que eu estou com um pequeno problema em tornar a minha aplicação com multiplos idiomas: os ficheiros Xul são traduzidos correcatmente, já na pasta dos "locales" e com tudo a funcionar.

Agora os ficheiros de Javascript, estou a usar outros métodos: no ficheiro XUL incluo a lista de strings

<stringbundleset id="stringbundleset">
<stringbundle id="strings" src="chrome://minhaextensao/locale/settings.properties"/>
</stringbundleset>

e o meu javascript é o seguinte (que está num ficheiro na mesma pasta do xul):

	//Inicialização de Strings
	var strbundle=document.getElementById("strings");
	var done=strbundle.getString('prefsSaved');

	(...)

	alert(done);
	window.close();

Só que não funciona e se fizer um try...catch no strbundle.getString retorna-me o seguinte erro:

errofsx0.gif

Já pesquisei no Google, já experimentei incluir os ficheiros todos na mesma pasta (e alterar os respectivos caminhos), mas não estou a conseguir. Tudo o resto funciona normalmente

Se for útil, estou a testar a minha extensão copiando os ficheiros para a pasta de extensões no meu perfil (já com os ficheiros necessários, chrome.manifest e o install.rdf).

Se alguém me conseguir ajudar, agradeço imenso, pois já estou nos passos finais, para ver se consigo por tudo a funcionar direitinho  :biggrin:

Obrigado desde já  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está parcialmente resolvido. A minha solução actual passa por considerar o meu ficheiros .properties como um ficheiro de javascript, no qual atribuo valores (as mensagens) às variáveis.

Se ainda assim, alguém tiver uma solução melhor, agradecia que me desse, sff, pois gostava de fazer tudo certo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas.

Eu uso assim e funciona.

Ficheiro .xul

<script src="browser.js"/>
...
<stringbundle id="tx-browser-bundle" src="chrome://qualquercoisa/locale/tx-browser.properties"/>
...

Ficheiro browser.js

var TX_Bundle = document.getElementById("tx-browser-bundle");
...
var Str = TX_Bundle.getString("string");
...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora