Jump to content

Tradução portugues brasil oficial, para prestashop 1.2


xpanium

Recommended Posts

Guia de instalação da tradução para o Prestashop 1.2 final (1.2.0.8)

Após você ter instalado o prestashop em um servidor siga os seguintes passos:

1º - Entre na sua área de administração (Back Office), feito isso clique na aba de ferramentas (Tools), e clique novamente um pouco mais abaixo em Linguagens (Languages).

2º - Feito o passo anterior aparecerá uma tela apenas contendo dois idiomas instalados, o inglês e o francês. Uma observação importante é que esta tradução só funcionará se ela for o 3º idioma por causa de seu ID, então só funcionará se for feita após a instalação do prestashop.

3º - Clique sobre Adicionar novo (Add new)

4º - Digite no campo Name "Português (Portuguese)" sem aspas, no campo ISO code coloque "BR" sem as aspas, no flag clique em procurar, este flag é a bandeira do Brasil, a novidade é que temos duas opçoes de bandeiras de acordo com sua loja, você vai encontrar estas imagens no pack de instalação no final deste tutorial. Em No-picture image você coloca a mesma imagem do flag. e por fim deixe o status como estar. Clique em Save.

5º - A terminar a etapa anterior vai aparecer uma barrinha com a seguinte mensagem "Creation successful" ou seja foi criada com sucesso!

6º - Mais abaixo você vai ver que já apresenta a bandeira do Brasil com o seu respectivo nome e um pouco mais a direita um triângulo amarelo indicando que a linguagem ainda não está pronta para usar.

7º - Iremos agora importar a linguagem, clique em Translations na mesma aba tools.

8º - Abaixo têm Translation exchange - Import a language pack clique no botão arquivo ou file, procure este mesmo arquivo em seu computador com o nome "br.gzip", este é o arquivo com a tradução completa da loja.

9º - Clique no botão "import" e aguarde o processamento destas informações.

10º - Ao terminar aparecerá uma mensagem mais acima "Translations successfully added" ou seja nossa tradução foi adicionada com sucesso.

11º - Feito isso clique na bandeira do brasil no topo da tela para você notar a diferença.

12º Agora já temos 95% traduzido, infelizmente as abas ou guia como preferir estão em inglês ainda, para uma rápida tradução disso siga as seguintes instruções do iten 13 em diante.

13º - Acesse seu phpmyadmin em seu servidor, após acessar clique sobre a tabela que está sua loja prestashop instalada.

14º - Clique na aba sql, vai aparecer um grande espaço em branco aonde você vai colar o conteúdo do arquivo setup. sql veja na imagem abaixo sql.gif

15º - copei o conteúdo do arquivo setup.sql e cole no espaço em branco que mencionados anteriormente, lembre-se que este arquivo também está no pack no final desta página para download.

16º - depois clique em executar e espere por alguns estantes, se por acaso aparecer alguma mensagem de erro pare, não mecha mais, poste aqui o erro.

17º - Se tudo ocorrer bem a operação da sua tradução já está 100% completa, basta acessar agora seu ex back office que agora se chama Área Administrativa :D. Visite seu site também para ver como ficou.

18º - Uma ultima dica que em sua Área Administrativa > Ferramentas > Linguagens têm uma opção de você escolher um idioma padrão para sua loja, escolha Português (Portuguese) e clique em salvar.



Demonstrações:
Frente da loja traduzida: http://demo.prestashopbr.com/
Área administrativa traduzida: http://demo.prestashopbr.com/XxadminxX/
usuário: [email protected]
senha: 123456789

Download :arrow:

Download: http://forum.prestashopbr.com/viewtopic.php?f=8&t=595
Link to comment
Share on other sites

Guia de instalação da tradução para o Prestashop 1.2 final (1.2.0.8)
...
17º - Se tudo ocorrer bem a operação da sua tradução já está 100% completa, basta acessar agora seu ex back office que agora se chama Área Administrativa :D. Visite seu site também para ver como ficou.

...


Ola - Funcionou perfeito, até 17º. O back-end (Área Administrativa) funciona bem - mas quando vou ao front-end (o site) no mesmo navegador, aparece o erro seguinte:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 4

 SELECT c.id_cms, cl.link_rewrite, cl.meta_title
 FROM ps_cms c
 LEFT JOIN ps_cms_lang cl ON (c.id_cms = cl.id_cms AND cl.id_lang = 1)
 WHERE c.id_cms IN ()



Este erro acontece quando visito o "front-end" no mesmo browser (onde já estou "logged in" como Administrador, o seja, com o "cookie" ainda ativo no browser).

E também acontence quando visito o "front-end" usando um outro browser (onde não estou "logged in", porque o outro browser não tem o mesmo "cookie" ativo).

Deve ser alguma coisa que aconteceu durante a execução do arquivo setup.sql, que mexeu com o banco de dados.

Não sei muito PHP, mas fiz muita programação em SQL, e acho que a frase "IN ()" na cláusula "WHERE":

WHERE c.id_cms IN ()



não funciona quando não tem nade entre os paréntesis na frase "IN ()" - e por isso está gerando esse um erro de síntaxe, na linha 4.

Vou olhar no código-fonte PHP para ver onde esa frase está sendo construida, pra ver se posso conferir quais valores devem estar presentes entre os paréntesis no final da cláusula "WHERE" na frase "IN ()".

Link to comment
Share on other sites

Fiz um teste em PhpMyAdmin, usando as tres primeiras linhas do "query" que está dando o erro:

SELECT c.id_cms, cl.link_rewrite, cl.meta_title
FROM ps_cms c
LEFT JOIN ps_cms_lang cl ON ( c.id_cms = cl.id_cms AND cl.id_lang =1 )



Ou seja, excluindo a quarta linha, a cláusula "WHERE"

WHERE c.id_cms IN ()



que estava gerando o erro de síntaxe por causa de não ter nada entre os paréntesis.

O resultado do "query" foi interessante:

id_cms  link_rewrite    meta_title
1       NULL            NULL
2       NULL            NULL
3       NULL            NULL
4       NULL            NULL
5       NULL            NULL



Ve que os valores nas colunas 'link_rewrite' e 'meta_title' são todos NULL. Isso parece estranho - por quê o programador mencionaria essa colunas, se são NULL?

Depois, olhei a outra tabela mencionada no "query" acima - a tabela 'ps_cms_lang' (com abreviatura 'cl' mais tarde no "query"). Atualmente, essa tabela 'ps_cms_lang' contem 5 registros.

Fiz um "query" SELECT para ver essa tabela (todas as colunas menos a última, que é muito grande), e deu o resultado seguinte:

select `id_cms`, `id_lang`, `meta_title`, `meta_description`, `meta_keywords` from `ps_cms_lang`;

+--------+---------+-----------------------------+--------------------------------------+-----------------------------------------------+
| id_cms | id_lang | meta_title                  | meta_description                     | meta_keywords                                 |
+--------+---------+-----------------------------+--------------------------------------+-----------------------------------------------+
|      1 |       3 | Delivery                    | Our terms and conditions of delivery | conditions, delivery, delay, shipment, pack   |
|      2 |       3 | Legal Notice                | Legal notice                         | notice, legal, credits                        |
|      3 |       3 | Terms and conditions of use | Our terms and conditions of use      | conditions, terms, use, sell                  |
|      4 |       3 | About us                    | Learn more about us                  | about us, informations                        |
|      5 |       3 | Secure payment              | Our secure payment mean              | secure payment, ssl, visa, mastercard, paypal |
+--------+---------+-----------------------------+--------------------------------------+-----------------------------------------------+
5 rows in set (0.00 sec)



Acho que tem erros nessa tabela. Olhe a coluna 'id_lang' - ali sempre tem o valor 3 (que corresponde à lingua BR - português), e não tem nenhum valor 1 (que corresponder à lingua EN - inglês).

Acho que essa tabela deveria ter:

- ou 10 registros (5 para EN com o valor 1 na coluna 'id_lang', mais 5 para BR com o valor 3 na coluna 'id_lang' - e com texto em português nas outras colunas onde 'id_lang' for 3)

- ou só os 5 registros existentes - mas com o valor 1 (em vez do atual valor 3) na coluna 'id_lang' - pois o texto está tudo em inglês ainda.

Link to comment
Share on other sites

Também olhei as otras tabelas que tem nome que termina em '..._lang' no banco de dados depois de executar 'setup.sql', e vi que muitas tem o valor 3 na coluna 'id_lang' e tem texto(s) em ingles na(s) coluna(s) de texto.

Acho que isso é errado - deve ter:

- ou 1 na coluna 'id_lang' (pois o texto está em ingles naqueles registros)

- ou deve ter 2x o número de registros em cada uma dessa tabelas: deve ter registros com 'id_lang' = 1 (EN) e texto em inglês, e mais uns novos registros com 'id_lang' = 3 (BR) e texto em português.

As tabelas afetadas são todas as tabelas que tem nome que termina com '..._lang' (e que não sejam vazias).

Link to comment
Share on other sites

OK, agora olhei o arquivo 'setup.sql' e vi o problema seguinte:

Os comandos como:

DROP TABLE IF EXISTS `ps_order_return_state_lang`;
CREATE TABLE IF NOT EXISTS `ps_order_return_state_lang` (
 `id_order_return_state` int(10) unsigned NOT NULL,
 `id_lang` int(10) unsigned NOT NULL,
 `name` varchar(64) NOT NULL,
 UNIQUE KEY `order_state_lang_index` (`id_order_return_state`,`id_lang`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



não devem estar nesse arquivo, porque estão excluindo os registros para inglês que ja existiam nas tabelas que tem nome que terminam em '..._lang'.

Acho que que quando você gerou esse arquivo 'setup.sql', você ativou a opção "Generate DROP TABLE statements" (Gerar comandos para excluir tabelas).

Deve voltar a gerar o arquivo 'setup.sql' com a opção "Generate DROP TABLE statements" desativada, para não excluir os registros para inglês que ja existem no banco de dados, e só acrescentar os registros para português.

Isso é um erro comun que pode acontecer no momento de gerar um "script" de SQL como 'arquivo.sql"!

Obrigado pela tradução, acho que com essa pequena mudança vai dar tudo certo. :-)

Link to comment
Share on other sites

Ainda bem que eu fiz um "backup" do meu banco de dados antes de executar o arquivo 'setup.sql'.

Isso seria uma boca dica para incluir nas instruções, antes do passo 14º ou 15º. :-)

Sempre é uma boa idéia fazer um "backup" do banco de dado antes de executar um "script" de SQL.

O comando que eu usei para fazer o "backup" em MySQL (usando a linha de comando no meu server, em vez de usar PhpMyAdmin) foi:

mysqldump --opt -u root -p{SENHA DO ROOT} {NOME DO BANCO DE DADOS} > {ARQUIVO NOVO PARA O BACKUP}.sql



Bota os valores para seu site entre os {...}

Obs (1) : O comando acima deve aparecer em uma linha só, e a parte:

--opt



tem 5 caracteres que devem aparece todos juntos.

(O fórum as vezes bota uma quebra de linha quando dentro de uma seção de código ... e fora de uma seção de código muda dois hífens '-' para um travessão ou "em dash".)

Obs (2) : O comando

-p{SENHA DO ROOT} 



deve ser escrito tudo junto, sem espaço entre a parte '-p' (2 caracteres) e a senha do root.


Ainda não sei como fazer um 'restore' (restaurar o banco de dados) em MySQL, mas vou ver agora! :-)

Link to comment
Share on other sites

Fiz o 'restore' do banco de dados usando o comando seguinte na linha de comando do server:

mysql -u root -p{SENHA DO ROOT} {NOME DO BANCO DE DADOS} < {NOME DO ARQUIVO CRIADO ACIMA}



Obs : O "nome do arquivo criado acima" se refere ao arquivo criado no final do comando 'mysqldump' antes.

Agora a loja funciona de novo, só as abas e algumas outras coisas estão ainda em inglês depois de clicar na bandeira brasileira.

Vou excluir todos os comandos de 'DROP TABLE' no arquivo 'setup.sql' e executar de novo para ver se funciona assim.

Se tiver erros, posso fazer o 'restore' de novo, usando o mesmo arquivo criado antes. :-)

Link to comment
Share on other sites

Para botar as traduções ao português só para as "abas" na Área Administrativa ("back-end" ou "back office"), pode executar o comando SQL seguinte em PhpMyAdmin em vez de executar o arquivo inteiro 'setup.sql', na mesma janela mencionada na primeira mensagem acima (a janela que foi mostrada na imagem GIF na primeira mensagem acima):

INSERT INTO `ps_tab_lang` (`id_lang`, `id_tab`, `name`) VALUES
(3, 1, 'Catálogo'),
(3, 2, 'Clientes'),
(3, 3, 'Compras'),
(3, 4, 'Pagamento'),
(3, 5, 'Envio'),
(3, 6, 'Estatísticas'),
(3, 7, 'Módulos'),
(3, 29, 'Funcionários'),
(3, 8, 'Preferências'),
(3, 9, 'Ferramentas'),
(3, 60, 'Rastreamento'),
(3, 10, 'Fabricantes'),
(3, 34, 'Fornecedores'),
(3, 11, 'Atributos e Grupos'),
(3, 36, 'Recursos'),
(3, 58, 'Mapa de imagem'),
(3, 66, 'Etiquetas'),
(3, 68, 'Compactados'),
(3, 12, 'Endereços'),
(3, 63, 'Grupos'),
(3, 65, 'Carrinho'),
(3, 42, 'Faturas'),
(3, 55, 'Delivery slips'),
(3, 47, 'Merchandise retorno'),
(3, 49, 'Credito slips'),
(3, 59, 'Mensagens de clientes'),
(3, 13, 'Status'),
(3, 54, 'Mensagens de compra'),
(3, 14, 'Vales descontos'),
(3, 15, 'Moedas Correntes'),
(3, 16, 'Impostos'),
(3, 17, 'Transportadoras'),
(3, 46, 'Estados'),
(3, 18, 'Países'),
(3, 19, 'Regiões'),
(3, 20, 'Faixas de Preço'),
(3, 21, 'Faixas de Peso'),
(3, 50, 'Módulos'),
(3, 51, 'Configurações'),
(3, 61, 'Motores de Busca'),
(3, 62, 'Referência'),
(3, 22, 'Posições'),
(3, 30, 'Perfis'),
(3, 31, 'Permissões'),
(3, 28, 'Contatos'),
(3, 39, 'Contato'),
(3, 38, 'Aparência'),
(3, 56, 'Meta-Tags'),
(3, 27, 'Produtos'),
(3, 24, 'Email'),
(3, 26, 'Imagem'),
(3, 23, 'Banco de Dados'),
(3, 48, 'PDF'),
(3, 44, 'Localização'),
(3, 67, 'Busca'),
(3, 32, 'Linguagens'),
(3, 33, 'Traduções'),
(3, 35, 'Abas'),
(3, 37, 'Acesso rápido'),
(3, 40, 'Aliases'),
(3, 41, 'Importar'),
(3, 52, 'Subdominios'),
(3, 53, 'DB backup'),
(3, 57, 'CMS'),
(3, 64, 'Geradores'),
(3, 43, 'Pesquisa');



Obs : A primeira vez que executei esse comando (depois de fazer o 'restore' do banco de dados), deu um erro, dizendo que teve uma violação do "primary key" da tabela 'ps_tab_lang', onde teve 2 registros com os valores (1, 3) nas colunas ('id_lang', 'id_tab).

Então, antes de executar o comando acima, para ter certeza que não existia registros em português na tabela 'ps_lang_tab' (com o valor 3 na coluna 'id_lang'), exclui todos os registros na tabela 'ps_tab_lang' que tinham o valor 3 na coluna 'id_lang', usando o comando seguinte:

DELETE FROM TABLE `ps_tab_lang` WHERE `id_lang` = 3



Depois, fiz o comando acima (INSERT INTO `ps_tab_lang`...).

Agora parece que quase toda a Área Adminstrativa está em português.

Só faltam 1 ou 2 frases em algumas das 6 seções que aparecem em 'Ferramentas' > 'Traduções' ao abrir o menu com as 6 seções seguintes em baixo de 'Modificar traduções' e clicar na bandeira brasileira:

1. Traduções da loja : faltam 2
2. Traduções da área de administração : faltam 4
3. Traduções das mensagens de erro : faltam 3
4. Traduções dos nomes dos campos : faltam 1
5. Traduções dos módulos : faltam 3 + todas para PayPal*
6. Traduções PDF : faltam 0

Obrigado xpanium! Fez um trabalho muito legal para os usuários brasileiros!

* Se usa PayPal no Brasil? Ou só se usa PagSeguro?

Link to comment
Share on other sites

Boa tarde a todos, sou novo no forum, mais com o intuito de aprender e tentar ajudar, segue abaixo "mensagem" de erro ao executar o comando DELETE FROM TABLE `ps_tab_lang` WHERE `id_lang` = 3 , dos procedimentos do nosso amigo, stefanscott,

=====================
Erro

consulta SQL:

DELETE FROM TABLE `ps_tab_lang` WHERE `id_lang` =3

Mensagens do MySQL : Documentação
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE `ps_tab_lang` WHERE `id_lang` = 3' at line 1
=====================

Estaria algo errado ?

Link to comment
Share on other sites

  • 2 months later...
Boa tarde a todos, sou novo no forum, mais com o intuito de aprender e tentar ajudar, segue abaixo "mensagem" de erro ao executar o comando DELETE FROM TABLE `ps_tab_lang` WHERE `id_lang` = 3 , dos procedimentos do nosso amigo, stefanscott,

=====================
Erro

consulta SQL:

DELETE FROM TABLE `ps_tab_lang` WHERE `id_lang` =3

Mensagens do MySQL : Documentação
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TABLE `ps_tab_lang` WHERE `id_lang` = 3' at line 1
=====================

Estaria algo errado ?


Amigo também tive o mesmo problema. Quando vc deleta os valores da primeira vez ainda restam dados, desta forma precisa voltar a apagar os dados da tabela até zerar. Só assim o INSERT será bem sucedigo.

Abraço,

Alex Martins
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...