Exibir views diferentes em site bilingue com IF Statement

6 views
Skip to first unread message

Diego Brito

unread,
Dec 14, 2009, 2:36:12 PM12/14/09
to rails-br
Olá pessoal,

Estou utilizando o Refinery CMS para um site que eu fiz. No entanto estou precisando fazer um ajuste, pois o site é bilingue e eu gostaria de poder apresentar páginas diferentes para o contato.

Minha pergunta é a seguinte. Como fazer para saber se o usuário venho de uma página com com a especificação "<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-BR">"  ou "<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">.

Tem como dizer isso ao meu controller? Pois se o usuário estiver navegando na versão português eu quero que ele ao clicar em contato veja a view "inquiries/new_portuguese" e se vier do inglês "inquiries/new". Vale lembrar que nesse caso eu preciso de uma solução dentro do cenário que especifiquei, pois como estou utilizando um CMS, não gostaria de mexer na estrutura.

Comecei um esboço:

  def new
    @inquiry = Inquiry.new
    if "o que eu coloco aqui???"
      render :template => "inquiries/new_portuguese"
    else
      render :template => "inquiries/new"
    end
  end

Sugestões serão bem vindas... Obrigado!

Atenciosamente, 

Diego Brito 
Consultor em Marketing Estratégico

Blog Pessoal: www.diegobrito.com.br

Allan Santos

unread,
Dec 14, 2009, 2:42:57 PM12/14/09
to rail...@googlegroups.com
Ola diego.

Bom sei que existe uma gem RUBY chamada NOKOGIRI que se não me engano possui funções que servem para ler valores de páginas html dentro de tags.

Tente verificar se nesta gem existe uma possibilidade de ler o atributos como o lang dentro das tags html para que você possa recuperar o valor que vc necessita e então poderá colocar na sua condição.

2009/12/14 Diego Brito <diegod...@gmail.com>

--

Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para rails-br+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/rails-br?hl=pt-BR.



--
Desde já agradeço a atenção e o apoio.
Sorte e Sucesso e que Deus nos abençoe.
Allan Santos
Contatos:
MSN: allan...@hotmail.com

Marcio Aun Migueis

unread,
Dec 15, 2009, 6:53:41 AM12/15/09
to rail...@googlegroups.com
Diego,


  A pessoa ao entrar no seu site, faz algum login ? Se sim, no cadastro do usuário, você poderia registrara o idioma preferido deste. se estiver usando o authlogic, seria algo assim : 


   if current_user.preferred_langague == "portugues" 


   Basta criar um campo para gravar o idioma preferido.

Marcio

2009/12/14 Allan Santos <strato...@gmail.com>

Diego Brito

unread,
Dec 15, 2009, 7:12:01 AM12/15/09
to rail...@googlegroups.com
Não, infelizmente não faz login. Teria alguma outra alternativa? Pois sinceramente duplicar meu controller é a saída mais rápida mas não é nada Convention over Configuration e muito menos DRY. Mas se for o único jeito, fazer o que né...

Alex Takitani Pires

unread,
Dec 15, 2009, 7:21:14 AM12/15/09
to rail...@googlegroups.com
Grava num cookie a opção de idioma.

2009/12/15 Diego Brito <diegod...@gmail.com>

Douglas Campos

unread,
Dec 15, 2009, 10:00:10 PM12/15/09
to rail...@googlegroups.com
cookie++

é a solução mais escalável :)

2009/12/15 Alex Takitani Pires <atp...@gmail.com>:
Douglas Campos (qmx)
+55 11 7626 5959
+55 11 6762 5959

Paulo Patto

unread,
Dec 15, 2009, 11:12:44 PM12/15/09
to rail...@googlegroups.com
Hammm.


Não sei como implementar de cabeça, pois não tenho tamanha maturidade em rails. Mas se você tem site com url .com  e .com.br você pode através da identificação da url salvar um cookie e usar ele para carregar o seu arquivo de mensagens (before filter). Ai você usa um controller só não?
*Só uma sugestão. Boa sorte.



------------------------------------------------------------------------------------------------------------
Atenciosamente
Paulo Patto
Analista de TI 
+55 (11)8217-3514
http://www.paulopatto.com
http://paulopatto.wordpress.com
------------------------------------------------------------------------------------------------------------
"Quis custodiet ipsos custodes?"
-- Decimus Iunius Iuvenalis .
------------------------------------------------------------------------------------------------------------
- Esta mensagem aborda um ponto de vista pessoal e não  deve ser interpretado como verdade absoluta. Por gentileza não corte seus pulsos.
- Se por ventura o texto acima tenha-lhe passado a impressão de ofensa a sua pessoa, credo,  opinião ou qualquer outro tipo de atitude contra sua pessoa, creio que esta talvez não tenha sido essa a real intenção.
- A resposta acima talvez tenha sido obtida em menos de cinco minutos no Google.com.
- A duvida acima, talvez não tenha sido sanada em cinco minutos de pesquisa ao Google.com.
------------------------------------------------------------------------------------------------------------


2009/12/16 Douglas Campos <dou...@theros.info>



--

Glauber Alex Dias Prado

unread,
Dec 16, 2009, 9:45:07 AM12/16/09
to rail...@googlegroups.com
Paulo Patto <paulo...@gmail.com> writes:

Aqui tem um guia pra localizar o app, eh meio complexo eu achei, mas
deve funcionar, ele guarda a informacao do locale no cookie:

http://www.yotabanana.com/hiki/ruby-locale-rails-howto.html

> Hammm.
>
>
> Não sei como implementar de cabeça, pois não tenho tamanha maturidade em
> rails. Mas se você tem site com url .com e .com.br você pode através da
> identificação da url salvar um cookie e usar ele para carregar o seu arquivo
> de mensagens (before filter). Ai você usa um controller só não?
> *Só uma sugestão. Boa sorte.
>
>
>
> *
> ------------------------------------------------------------------------------------------------------------
> Atenciosamente
> Paulo Patto
> Analista de TI
> +55 (11)8217-3514
> http://www.paulopatto.com
> http://paulopatto.wordpress.com
> ------------------------------------------------------------------------------------------------------------
> "Quis custodiet ipsos custodes?"
> -- Decimus Iunius Iuvenalis .
> ------------------------------------------------------------------------------------------------------------
> - Esta mensagem aborda um ponto de vista pessoal e não deve ser
> interpretado como verdade absoluta. Por gentileza não corte seus pulsos.
> - Se por ventura o texto acima tenha-lhe passado a impressão de ofensa a sua
> pessoa, credo, opinião ou qualquer outro tipo de atitude contra sua pessoa,
> creio que esta talvez não tenha sido essa a real intenção.
> - A resposta acima talvez tenha sido obtida em menos de cinco minutos no
> Google.com.
> - A duvida acima, talvez não tenha sido sanada em cinco minutos de pesquisa
> ao Google.com.
> ------------------------------------------------------------------------------------------------------------
> *
>> >>>> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
>> >>>> Para obter mais opções, visite esse grupo em
>> >>>> http://groups.google.com/group/rails-br?hl=pt-BR.
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Desde já agradeço a atenção e o apoio.
>> >>> Sorte e Sucesso e que Deus nos abençoe.
>> >>> Allan Santos
>> >>> Contatos:
>> >>> MSN: allan...@hotmail.com
>> >>>
>> >>> --
>> >>>
>> >>> Você está recebendo esta mensagem porque se inscreveu no grupo
>> "rails-br"
>> >>> dos Grupos do Google.
>> >>> Para postar neste grupo, envie um e-mail para
>> rail...@googlegroups.com.
>> >>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> >>> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
>> >>> Para obter mais opções, visite esse grupo em
>> >>> http://groups.google.com/group/rails-br?hl=pt-BR.
>> >>
>> >>
>> >> --
>> >>
>> >> Você está recebendo esta mensagem porque se inscreveu no grupo
>> "rails-br"
>> >> dos Grupos do Google.
>> >> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com
>> .
>> >> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> >> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
>> >> Para obter mais opções, visite esse grupo em
>> >> http://groups.google.com/group/rails-br?hl=pt-BR.
>> >>
>> >> Atenciosamente,
>> >> Diego Brito
>> >> Consultor em Marketing Estratégico
>> >> Blog Pessoal: www.diegobrito.com.br
>> >> Consultoria: www.d2bconsultoria.com.br
>> >> Twitter: http://twitter.com/diegodebrito
>> >>
>> >> --
>> >>
>> >> Você está recebendo esta mensagem porque se inscreveu no grupo
>> "rails-br"
>> >> dos Grupos do Google.
>> >> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com
>> .
>> >> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> >> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
>> >> Para obter mais opções, visite esse grupo em
>> >> http://groups.google.com/group/rails-br?hl=pt-BR.
>> >
>> > --
>> >
>> > Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
>> > dos Grupos do Google.
>> > Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
>> > Para cancelar a inscrição nesse grupo, envie um e-mail para
>> > rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
>> > Para obter mais opções, visite esse grupo em
>> > http://groups.google.com/group/rails-br?hl=pt-BR.
>> >
>>
>>
>>
>> --
>> Douglas Campos (qmx)
>> +55 11 7626 5959
>> +55 11 6762 5959
>>
>> --
>>
>> Você está recebendo esta mensagem porque se inscreveu no grupo "rails-br"
>> dos Grupos do Google.
>> Para postar neste grupo, envie um e-mail para rail...@googlegroups.com.
>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>> rails-br+u...@googlegroups.com<rails-br%2Bunsu...@googlegroups.com>
>> .
Reply all
Reply to author
Forward
0 new messages