Hi everybody,
Apart from **UI customization** (see https://support.gluu.org/authentication/7909/customization-of-various-page-ui-pages-in-gluu/ discussion) we need to **localize** the UI that comes from Gluu.
I started asking around in https://github.com/GluuFederation/oxAuth/issues/1257 but since then realized we have a paid support, so moving the discussion there. I'll drop a bunch of questions here, if you don't mind:
---
**1 - Two versions of the English resource file**
Continuing the conversation from GH issue: I understand there was historically a default ("developer's English") version of the resource file (oxAuth.properties), and then a "proper English" version (oxAuth_en.properties). But this implies that users with unsupported locales will see a "developer English" version, if I understand correctly. So the current setup doesn't explain why oxAuth_en.properties couldn't be merged into oxAuth.properties, giving a single source of truth. The reason I ask is that for localization purposes, it makes sense to start off of the "proper English" version, but it seems these two were updated by hand and have diverged, i.e. it has some keys missing, or keys not present in the default .properties file, or translations with placeholders that are missing in the default .properties file. This needs to be consolidated into one .properties file for it to be localizable.
---
**2 - List of localizable resources**
Do you have a comprehensive list of resource files that need localization (i.e. expose UI strings)? This is what I've found so far (among the Gluu components that we plan to use):
1. Gluu oxAuth Server:
* A: Server/src/main/resources/oxauth.properties
* B: Server/src/main/resources/oxauth_en.properties
2. Gluu oxAuth RP:
* RP/src/main/resources/messages_en.properties
3. Gluu Casa:
* app/src/main/resources/labels/admin.properties
* app/src/main/resources/labels/general.properties
* app/src/main/resources/labels/user.properties
4. oxTrust:
* static/src/main/resources/META-INF/resources/js/openid-en.js
Anything that I'm missing?
---
**3 - Non-externalized strings in XHTML**
Looking at some XHTML templates, it seems there are bits of visible text that are not externalized into resource files (.properties), though some other XHTML templates do have text externalized. Is that something that you could take care of?
Here are some examples with hardcoded strings:
* oxAuth: RP/src/main/webapp/WEB-INF/incl/layout/template.xhtml
* oxAuth: RP/src/main/webap/WEB-INF/pages.xml
* oxAuth: Server/src/main/webapp/auth/thumbsignin/expired.xhtml
And here's an example of a file with externalized strings:
* Server/src/main/webapp/authz/authorize.xhtml (I'm talking about things like `#{msgs['authorize.doNotAllow']}`)
---
**4 - Overriding resources**
Since our plan is to override some of the Gluu UI, we will likely have a set of override strings that will be used in our UI only; however, it probably makes sense to keep them as additional resource bundle to make sure we can later update base resources from the upstream Gluu code without merge issues. Do you have any advice on how to approach this, or code examples / documentation?
---
I'm open to do a sync up call if you need more information from me.