Make message bundles inherit messages from "parent" locales
-----------------------------------------------------------
Key: SHINDIG-532
URL: https://issues.apache.org/jira/browse/SHINDIG-532
Project: Shindig
Issue Type: Improvement
Components: Gadget Rendering Server (Java)
Reporter: Nik Haldimann
Priority: Minor
Attachments: message-bundles-hierarchical.patch
It's useful to think of locales as hierarchical, e.g., the locale en-ALL would
be the parent of locales en-US and en-GB, the locale all-All would be the
parent of locales en-ALL, es-ALL etc.
Message bundles can be organized in the same way, e.g., the message bundle for
en-US inherits (and might override) messages from both parent en-ALL and
grandparent all-ALL. This allows gadget developers to avoid some redundancy in
message bundles for messages where translations are the same over multiple
related locales.
Attached patch implements this message bundle inheritance logic.
Caveats:
- The patch does not implement inheritance for inline message bundes.
- The patch turns what was only 1 HTTP request for a message bundle into up to
3 HTTP requests. Those are executed sequentially (since this was way easier to
implement). Since there is a maximum of 3 requests per message bundle and the
bundles are cached in memory anyway (particularly the common parent bundles),
this should be fine.
- The main logic is in BasicMessageBundleFactory. Anybody using a different
MessageBundleFactory implementation doesn't get the benefit of this patch.
I'm open to modifying the patch if these caveats seem too much.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.