Alterar o texto js.browser_update não é aplicado nas visualizações sem JS

  1. Altere js.browser_update em Personalizar > Texto.

  2. Abra o Discourse no IE10

  3. A mensagem padrão é exibida em vez da personalizada

AFAIK, as personalizações de texto em JS são executadas em JavaScript. Como nosso modo para navegadores antigos é HTML puro, sem JavaScript, qualquer coisa em JS não será executada nele. Esse comportamento é esperado.

Está definido aqui. https://github.com/discourse/discourse/blob/master/vendor/assets/javascripts/browser-update.js.erb#L29

Então, deve ser aplicável. :man_shrugging:

Ah, isso não funcionará mais, pois estamos removendo todas as variáveis globais, sendo o I18n a última a ser removida na semana passada.

Pode funcionar após uma reconstrução, @zcuric.

Infelizmente não está funcionando. Fizemos um lançamento hoje e recriamos o aplicativo, e o problema persiste.

Tenho o mesmo problema. Achei que, quando alterei js.browser_update pela primeira vez, ele exibia em um navegador antigo (mas não tenho 100% de certeza agora), mas hoje vejo que mostra o texto original. Existe alguma solução para isso… talvez tratando essa mensagem específica de forma diferente, já que, na maioria das vezes, quando essa mensagem é exibida, o JavaScript estará desativado? Talvez um plugin curto?

O motivo pelo qual você viu este trabalho em um navegador e, em seguida, não em outro, pode ser porque alguns navegadores muito antigos não suportam a tradução do lado do cliente, enquanto outros podem.

Primeiro, tentamos executar a tradução e, se não funcionar, recorremos a uma instância codificada da mensagem padrão em inglês:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/scripts/browser-update.js#L50

Infelizmente, não há muito mais que possamos fazer a respeito. Esperamos que as pessoas abandonem esses navegadores em algum momento.