Localising Hypha

(I’ve turned this post into a wiki post so anyone with a registered account can add to it by clicking edit.)

I’ve contacted Localisation Lab who are a well-respected and very experienced localisation and translation community for suggestions, advice on where to host Hypha localisation.

They have lots of experience and most importantly involve the communities and language speakers in the process. I’ve invited them to join we.hypha.

What we should localise

Here’s my starter-proposal of what localisation we should support:

  • the ability for the “internal user” to choose what language Hypha is displayed in
  • language of UI text labels, interactive elements (buttons, check-boxes, dropdowns, etc )
  • language of terminology used in Hypha; e.g. contract/grant/
  • the translation of the forms that applicants will use to apply for funding
  • others?

The following:

Infrastructure possibilities

Most Open Source projects seem to use either Transifex, or Weblate (either self-hosted or hosted.weblate.org).

Which they choose is a decision based on factors like: we want to use 100% FOSS/decentralised/self-hosted/make it easier and host on paid platform.

Practicalities of choosing infrastructure options

Below are the functions I think are most important for our translation work and how they compare across each option.

Weblate hosted “Basic”

Software price: €80 per month or €199 per year
Number of source strings: 1,000
Translation projects: 1
Target languages: 15
Number of translators: unlimited
Translation components: unlimited

Transifex “Basic”

Software price: €19 per month or €840 per year
Number of source strings: 50,000
Translation projects: unlimited
Target languages: 15
Number of translators: 20
Translation components: unlimited

Weblate Self-hosted

Software price: free (open source)
Number of source strings: unlimited
Translation projects: unlimited
Target languages: unlimited
Number of translators: unlimited
Translation components: unlimited


We’ve decided on using Weblate’s Basic service as:

  • we have only 1 (at the moment!)
  • a small number of strings to translate (~less then 1,000 strings)
  • Weblate is used by many FOSS projects
  • it gets thumbs up from the Localisation Lab community
  • it is open source software itself

If we find that we need to translate more strings, then we can go up to the next level.

Associated Github issue

The nice people at Localisation Lab got back to me.

Some basic numbers:

@bernard Thank you for starting off this thread.

Multilingual hypha is one of the top priorities for DDP and I am very interested in looking into the possibilities and options we have be they technical or user workflows to make this happen.

It would also be great if localization interventons also consider date and time, number formats and currencies. I bring this up as @vinkthom pointed out an issue they have. It’s minor at the moment but might be problematic when things scale.

We changed the default currency for the DFF instance from USD to EURO. An applicant used the euro currency format . (full stop) instead of , (comma) for the thousands separator and the system read this as a decimal point. so a EUR 2.000,00 (integer 2 instead of 2000) budget was recorded.
That said, this particular example I’m sure can be fixed by accepting only integer values in the form without decimal places and thousand separators


1 Like

Hi @allan

Thanks for the example, makes total sense. You’re absolutely right - date, time, number formats and currencies must be included. I’ve added it to the suggested list above :arrow_up:.

Is there anything missing there?

thanks @bernard it looks quite complete to me :slight_smile:

1 Like

Is this with the “Requested amount” field?

I thought we made that one only accepts numbers.

1 Like

In settings/base.py you have settings for default date format. You can override them in a settings/local.py file.

We could make it possible to set them as environment variables as well.

1 Like

PR that add a CURRENCY_SYMBOL setting Add a CURRENCY_SYMBOL setting and implement it. Translatet string fou… by frjo · Pull Request #2422 · HyphaApp/hypha · GitHub

1 Like

@allan Hypha 1.61.0 released

1 Like

Brilliant! <3

thanks @frjo and @bernard