Looking for ways (documentation) to customize the UI strings / languages

We need to change a few interface strings. For example, we want wo point users to specifically log in with their internal ID, and not with “Phone, email or username” s the hint suggests.

This part of the docs Page Templates - SeaTable Admin Manual has a stub that hints at that, but is not complete. Any hints?

This is the login dialog for SeaTable 5.1:

“Phone, email oder username” has been replaced by just “Email” recently.

What is missing on Page Templates - SeaTable Admin Manual?

I noted the change with 5.1, but we still need a label “U-Nummer” to point people in the right direction. Our unique LDAP account identifiction is based on this “User number”, not the E-Mail address.

We have different systems that use different UUIDs for the login, so users are confused, and we get a lot of “I cannot log into the system” request from people using the E-Mail address. Using the E-Mail-Address would create a lot of other problems, still missing a proper IAM in our organziation.

I would not have asked the question if you hadn’t hinted that there is a proper way to change (or even patch) the translations, rather than change the page template:

Page Templates - SeaTable Admin Manual says at the end:

Translations and changes to these language strings is not part of this article. There will be another article in the near future.

I’m hoping for that article, and a way to patch select wordings in the languages .po / .mo files. That feels like a proper ways:

  • Keep the language files and the page templates separate
  • If it is possible to only patch / overwrite single entries (e.g. only $Email), we have maximum update compatility
    • Replacing whole language files makes it difficult in future updates.

Note: I just patched and overwrote the relevant files by mounting my patched versions into the seatable container - works!

/opt/seatable/seatable-server-latest/dtable-web/locale/de/LC_MESSAGES/django.po:ro
/opt/seatable/seatable-server-latest/dtable-web/locale/de/LC_MESSAGES/django.mo
/opt/seatable/seatable-server-latest/dtable-web/locale/en/LC_MESSAGES/django.po:ro
/opt/seatable/seatable-server-latest/dtable-web/locale/en/LC_MESSAGES/django.mo

However, that has the taste of a nasty hack that I’ll have to recreate / check on every update (because of changes / additions in the original), or worse: I’ll forget the updates and changes on the next update, and break something.

Thank you very much for your explanation. This complexity was the reason why I didn’t describe how to update the translated strings in the admin manual.

In contrary, replacing the placeholder in the html template is a piece of cake and survives any update. The only disadvantage is, that the string is no longer translated…

Thanks for the clarification! I can live with that for my purposes.

Should the opportunity arise, I would consider it a neat feature if there would be at some time a feature where:

  • Seatable first reads its .mo/.po files that come with the distribution (see above)
  • Reads some user-defined .mo/.po files which contains selective translations for single strings, and overwrites the ones from the distribution.

I don’t even know whether the standard translation / placeholder mechanics you are using support such a feature out of the box, but this would be a neat customization feature IMHO.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.