Wij zijn van plan om een redelijk grote java web applicatie te bouwen waarbij internationalisatie belangrijk zal zijn. Nu heb je in Java al langere tijd support voor i18n, en bieden frameworks als JSF ook direct support hiervoor.
Aangezien ik weinig ervaring met i18n heb, vroeg ik me af op je dit gewoon kunt gebruiken, of dat het beter is om zelf een systeem hiervoor te ontwikkelen.
Je zou de volgende punten van kritiek kunnen hebben op het standaard systeem:
-Standaard resource bundles zijn niet 'mooi'. Vooral de placeholders als {1} enzo kunnen als lelijk worden gezien.
-Voor elke taal heb je een aparte bundle. Je zou mischien liever per key alle talen bij elkaar hebben.
-Geen support voor 'lange' en 'korte' teksten.
Wat er voorgesteld werd is 1 grote resource bundle in XML formaat, die ongeveer de volgende structuur heeft:
Hierbij mag de text dan ook taglib tags en EL bevatten. Bijvoorbeeld:
<short> Hallo <outputText value="#{MyBean.name}" /> </short>
Wat denken jullie van dit systeem? Is het verstandig om dit te gebruiken ipv het standaard i18n systeem? Het voordeel van de standaard is natuurlijk ten eerste dat het de standaard is (en je hoeft geen eigen code te onderhouden). Daarnaast heb je veel tools die met de standaard resource bundles werken. Tevens heb je nog het voordeel dat vertaalbureau's opdrachten accepteren in het standaard resource bundle formaat. Dwz, je leverd een engelstalige bundle in, en krijgt een griekse terug.
Ik twijfel dus of ik voor het eigen systeem moet gaan omdat het mooier en beter is, of voor het standaard systeem omdat het standaard is (en mischien ook nog wel voordelen heeft die ik nu over het hoofd zie).
Aangezien ik weinig ervaring met i18n heb, vroeg ik me af op je dit gewoon kunt gebruiken, of dat het beter is om zelf een systeem hiervoor te ontwikkelen.
Je zou de volgende punten van kritiek kunnen hebben op het standaard systeem:
-Standaard resource bundles zijn niet 'mooi'. Vooral de placeholders als {1} enzo kunnen als lelijk worden gezien.
-Voor elke taal heb je een aparte bundle. Je zou mischien liever per key alle talen bij elkaar hebben.
-Geen support voor 'lange' en 'korte' teksten.
Wat er voorgesteld werd is 1 grote resource bundle in XML formaat, die ongeveer de volgende structuur heeft:
XML:
1
2
3
4
5
6
| <text key = "een_key"> <locale type="een_locale"> <short>text</short> <long> lange text </long> </locale> </text> |
Hierbij mag de text dan ook taglib tags en EL bevatten. Bijvoorbeeld:
<short> Hallo <outputText value="#{MyBean.name}" /> </short>
Wat denken jullie van dit systeem? Is het verstandig om dit te gebruiken ipv het standaard i18n systeem? Het voordeel van de standaard is natuurlijk ten eerste dat het de standaard is (en je hoeft geen eigen code te onderhouden). Daarnaast heb je veel tools die met de standaard resource bundles werken. Tevens heb je nog het voordeel dat vertaalbureau's opdrachten accepteren in het standaard resource bundle formaat. Dwz, je leverd een engelstalige bundle in, en krijgt een griekse terug.
Ik twijfel dus of ik voor het eigen systeem moet gaan omdat het mooier en beter is, of voor het standaard systeem omdat het standaard is (en mischien ook nog wel voordelen heeft die ik nu over het hoofd zie).
[ Voor 6% gewijzigd door Verwijderd op 20-05-2005 14:05 ]