[prev in list] [next in list] [prev in thread] [next in thread]
List: tapestry-user
Subject: Re: Localized messages based on property value
From: Nathan Quirynen <nathan () pensionarchitects ! be>
Date: 2015-08-12 16:04:21
Message-ID: 55CB6E85.6020403 () pensionarchitects ! be
[Download RAW message or body]
On 12/08/15 17:36, Thiago H de Paula Figueiredo wrote:
> On Wed, 12 Aug 2015 11:37:29 -0300, Nathan Quirynen
> <nathan@pensionarchitects.be> wrote:
>
>> Hi Thiago,
>
> Hi!
>
>> That's actually a clever solution, but seems a bit "hacky" and I'm
>> not sure how it will also use the usual Index(_en).properties files?
>
> If you create a Locale("en", "120) and a message isn't found in
> Index_en_120.properties, Tapestry will try to find it in
> Index_en.properties, and then in Index.properties if not found again,
> just like Java resource bundles.
>
Oh, didn't know it worked like that! Thanks for explaining.
>> I solved it at the moment with adding a new binding prefix where i
>> pass the key and property value like following:
>> ${messagebasedonpropertyvalue:messagekey=property}
>> Then in the binding implementation I get the resourcebundle based on
>> the property value and retrieve the message by given key.
>> This works as I hoped.
>
> Yeah, adding your own bindings is a very nice feature of Tapestry. :)
>
>> I am starting to doubt that having this many properties files for
>> just 1 page/component is the way to go though. Maybe I'll have to
>> move it to the database or somewhere else.
>
> A database is good if your messages are dynamic. If they aren't, I'd
> just put them inside Index.properties or Index_en.properties, for
> example, but using the property value to define the key:
>
> hello=Hi!
> hello.120=Hi, 120!
> hello.130=Hi, 130!
>
> Then @Inject Messages and use messages.get("hello." + propertyValue)
> to get the message, directly in the Java class or through a custom
> binding.
>
Yeah, they aren't really dynamic so that's why i thought they belonged
in properties files. But you are right, I can always use the property
value in the message keys if I want to keep the amount of properties
files low :)
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic