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