#Scaling
#Bundle Size
The main concern we get about paraglide is that it ships messages that are needed for a given page in all languages.
We are working hard on getting per-language splitting to work, but in the meantime I can put your mind at ease. Unless you use more than 500 messages on a single page Paraglide will be smaller.
#Scaling Down
Most pages don't use many messages. Many just use one or two. Thus, one of the most important metrics for an i18n library is how well it scales down. What's the bundle size impact with just one message?
Paraglide scales down very very well. The runtime can get as small as 300 bytes.
#Scaling Up
Paraglide currently sends messages that are used on a given page in all languages. Thus the bundle scales up quicker than with other i18n libraries.
However, keep in mind that:
- Paraglide only loads the messages you use on the current page.
- Paraglide starts out much smaller. The breakeven point comes after about 2500 messages variants (
messages*languages
) on a single page. Of course this depends on your messages.
Given that most Projects have between two and four languages you can expect Paraglide's bundle to still be smaller than other i18n libraries up to about 500 messages on a single page.
This chart shows Paraglide's bundle size with a different number of languages compared to i18next
loading a single language.
Per-Language Splitting is a long-term goal for Paraglide. Once Per-Language splitting works Paraglide's bundle will scale about 30% slower than other i18n libraries thanks to minified messageIDs. Keep track of progress in this issue