9 ms·
130 MB for localization? At 50 languages that would be 2.6 MB/language. If we assume an average 50 bytes per string and another 50 for an identifier, that's 27,
by crazygringo 10mo ago
130 MB for localization? At 50 languages that would be 2.6 MB/language. If we assume an average 50 bytes per string and another 50 for an identifier, that's 27,000 strings.
That doesn't seem right. Localization feels like it should add a few MB. Not over 100. (Plus shouldn't it be compressed, and locally uncompressed the first time a language gets used?)
- layer8 10mo agoIt probably isn’t just text that is localized.
- kccqzy 10mo agoLocalization doesn’t just mean string translations. Apple platforms give you the freedom to redo the UI to fit the language. For example, parts of System Preferences (not sure about Settings) would look completely different in languages with long words because the original design for English simply didn’t fit. The translators rearranged buttons to make the text fit.
- simonw 10mo agoThank you! I've been wondering about exactly this, your explanation makes complete sense.
- trinix912 10mo agoSure, but that's a few KBs for each locale at most. Still a long way to 100 MB. They probably just have lots of leftover localized assets that nobody dares to touch as they aren't sure if it's used anywhere.
- Aloisius 10mo agoI just looked. In this case, it is just string translations. In the version I'm looking at there are 27,470 .strings files totaling 69 MiB, but they take up 155.9 MiB of disk space due to the 4 KiB filesystem block size. The keys for the strings take up 39% of the space while the values take up 61%. About 12% of translations are duplicated (the word "Cancel" is translated like 53 times) So 55% of the space used for strings localization is just pure waste due to having so many small files. The long keys are rather wasteful too and about 12% of the translations are duplicated (i.e. the word "Cancel" is translated 50+ times per language). Some of this is arguably Apple's fault. Their whole .string file per table per language is incredibly space inefficient by default.
- x0x0 10mo agoAny rtl language will probably require a lot of different assets. If for no other reason than gradients. Plus anything asymmetric.
- adgjlsfhk1 10mo agoimages also may need localization.
- deleted 10mo ago[deleted]
- Aloisius 10mo agoThe version I'm looking at has 27,470 strings files, mostly of them less than 4 KB each. Since the iOS filesystem uses 4 KB blocks, it looks like about half the space is just wasted.