You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Jonathan Strauss (JIRA)" <ji...@apache.org> on 2016/06/23 11:51:16 UTC

[jira] [Comment Edited] (TAP5-2551) module t5/core/messages and default locale

    [ https://issues.apache.org/jira/browse/TAP5-2551?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344566#comment-15344566 ] 

Jonathan Strauss edited comment on TAP5-2551 at 6/23/16 11:51 AM:
------------------------------------------------------------------

A simple fix would be to use  Locale.getDefault().getLanguage() in the meantime until everything gets sorted.or to override l with en_US, but some of the javascript will default to just using en


was (Author: rapidtransit440):
A simple fix would be to use  Locale.getDefault().getLanguage() in the meantime until everything gets sorted.

> module t5/core/messages and default locale
> ------------------------------------------
>
>                 Key: TAP5-2551
>                 URL: https://issues.apache.org/jira/browse/TAP5-2551
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.4, 5.4.1
>            Reporter: Carlos Montero Canabal
>              Labels: locale, messages
>         Attachments: image.jpeg
>
>
> In the js for module messages:
>     var locale;
>     locale = document.documentElement.getAttribute("data-locale") || "en";
>     define("t5/core/messages", ["./messages/" + locale, ....
> If my webapp is not configured for locale "en" requirejs returns a 404 not found error because the "t5/core/messages/en" doesn´t exist and the page doesn´t load (it only shows the mask meanwhile all modules are loading).  You will put the first locale configured into SymbolConstants.SUPPORTED_LOCALES as the documentation says.
> In fact, there is another bug but I don't found the point of code where it occurs. Yesterday a Google Chrome update force my locale to en_US (i'm spanish and my locales is es or es_ES) and when I enter on my webpage who load the messages module, the data-locale attribute was "en_US", but my webapp only have configured "es". I think there is a missing check between browser locale and locales supported. I have a webapp store and today any user can buy because the checkout page (with forms that require messages module) doesn´t load. I fix it with a workaound (threadLocale.setLocale(new Locale("es")) in the activate method of pages), but I think that it's a important bug because many websites as mine can be off.
>  
> UPDATED: As I comment at the bottom, It was a fortuity that my Chrome locale was the same that the Java VM locale (en_US), so the main bug is in the default locale who returns ThreadLocaleImpl meanwhile LocalizationSetter is not called.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)