HTML + i18n

1 resposta
shenn

Boa tarde pessoal,

Estou com uma duvida, estou trabalhando em um site totalmente estatico, porem ele precisava ter um botao para trocar de idioma, pelo que pesquisei nao é possivel fazer isso usando HTML puro, porem com jquery é possivel, mas nao consegui encontrar nenhum exemplo rodando, e os que encontrei no git, quando baixava nao funcionava.

Alguem pode me ajudar com isso? Obrigado

O site esta dando erro: Uncaught TypeError: $(…).i18n is not a function

Segue o meu fonte:

<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/jquery.i18n.min.js"></script>
<script src="js/jquery.i18n.js"></script>
<script src="js/jquery-i18next.min.js"></script>
<script src="js/jquery-i18next.js"></script>

$(document).ready(function() {            
        var defaultLang = "pt";
        $("[i18n]").i18n({
            defaultLang: defaultLang,
            filePath: "/i18n/",
            filePrefix: "i18n_",
            fileSuffix: "",
            forever: true,
            callback: function() {
                console.log("i18n is ready.");
            }
        });
        
        $(".pt").click(function() {
            $("[i18n]").i18n({
                defaultLang: "cn",
                filePath: "/example/i18n/"
            });
        });
        
        $(".en").click(function() {
            $("[i18n]").i18n({
                defaultLang: "en",
                filePath: "/example/i18n/"
            });
        });

    });

1 Resposta

rodevops

Não conheço a biblioteca, mas você não está importando arquivos demais não?

Quando se importa um arquivo minificado (.min.js) você não precisa importar o full, logo, nesse caso por exemplo, você precisa escolher um dos dois…

<script src="js/jquery.i18n.min.js"></script>
<script src="js/jquery.i18n.js"></script>

O mesmo serve para…

<script src="js/jquery-i18next.min.js"></script>
<script src="js/jquery-i18next.js"></script>

Dê preferência para os .min.js pois são mais leves otimizando sua página…

  1. Agora, você baixou esses arquivos?
  2. Essas libs realmente estão na pasta js/?
  3. O arquivo html que está importando (script /script) está do lado da pasta js?

São pontos que você precisa observar, porque a Exceção que você está obtendo significa que não encontrou o método .118n() na biblioteca importada e como você está importando arquivos duplicados talvez possa gerar conflito…

Criado 5 de janeiro de 2018
Ultima resposta 5 de jan. de 2018
Respostas 1
Participantes 2