Thanks!
This is all very helpful. 

Following on what Collin suggested, I took a look at what the effect would 
be of collapsing all the permutations.

I found that collapsing all 23 languages into a single permutation would 
increase the gzipped initial download of our application from 443k to 633k, 
which is not a good tradeoff for us as many our users are working in areas 
with poor or limited connectivity. But there is a probably room to group 
2-3 languages together to reduce the number of permutations in the 
short-term.

Also, I did some experimenting with virtual machines, and for what it's 
worth, moving from n1-highmem-32 to c3d-standard-8 cut our build time in 
half, and is much much cheaper. The C3D, which is based on AMD's Genoa 
processor seems to do better than the corresponding Intel-based C3 (and is 
cheaper).

However, long-term, it sounds like using side-loaded dictionaries are both 
feasable and much more practical. We'll start investigating how we can make 
the change this year.

Thanks again, and all the best for 2024.

Alex


 
 

On Thursday, January 4, 2024 at 2:16:24 PM UTC+1 Leon Pennings wrote:

> All,
>
> Same as Ralph, we've always been using a custom Translator class (since 
> 2009/2010 or so).
> so for instance .setText(Translator.translate("Submit"))
>
> The Translator loads all labels and puts them in mem based on the language 
> preference of the user. So only 1 set of language labels in mem.
> Works like a charm and never had a problem.
> The translations are on the server side in the db so that a superuser can 
> manage translations.
>
> rg,
>
> Leon.
>
> Op donderdag 4 januari 2024 om 09:55:26 UTC+1 schreef Ralph Fiergolla:
>
> Hi! 
> Since a big part of our string content comes from database records anyway, 
> we decided to go without any static texts but use dynamic labels. Initial 
> concerns about performance and memory footprint have proven to be 
> unfounded. That is, despite working in the context of European Institutions 
> we go with a single static language and avoid the compile time performance 
> bottleneck of having a large number of permutations. 
> Cheers,
> Ralph 
>
> On Thursday, January 4, 2024 at 1:29:08 AM UTC+1 Alexander Bertram wrote:
>
> Hi there,
> We have been using GWT to build our product for a very long time. 
> Recently, we've faced a new challenge as we've steadily been increasing the 
> number of supported translations of the application to support a global 
> audience. We're up to 24 languages, and could conceivably hit 40 in the 
> coming year.
>
> With all of these languages, come more permutations! We've stripped away 
> browser-specific permutations, but we do have a mobile version of the app, 
> which means that we have 2 x 24 permutations = 48.
>
> So far, we've addressed this problem by increasing the size of the VM that 
> builds the app, but even with 16 vCPUs it takes 10-12 minutes to build the 
> app. I'm experimenting with increasing to 32 vCPUs, but so far I can't get 
> the build time to drop linearly.
>
> Anyone else out there using alternate strategies? Is it worth trying to 
> create some sort of distributed cache from the intermediate files the 
> compiler writes out? Load translations dynamically at runtime instead? Or 
> just through more hardware at it :-)
>
> Just curious to hear what others are doing?
>
> Best,
> Alex
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/6cdd1d45-7f03-4ed0-88b9-f878cec84e09n%40googlegroups.com.

Reply via email to