-
-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Bug Description
During the .pot file upload on the ci-crowdin-upload-pot.yml workflow, the following error occurred:
❌ File 'main/locale/pot/LC_MESSAGES/reference/grammar.pot'
❌ Wrong parameters:
<key: storageId, code: fileInvalid, message: File not imported: grammar.pot contains one or more strings that exceed the 65535-byte limit.>
After reporting the error and discussing it with the Crowdin Support Team, it was confirmed to be a current limitation of the Crowdin platform itself:
The reason is in the string length. A string can have a maximum of 65535 bytes in order to be imported to Crowdin, while some strings in your file exceed this limit. You need to segment long strings so that they are shorter and within the limit.
The limitation you're encountering is due to the architecture of our system, which is designed to ensure stability and performance. Large strings can affect the user experience and the overall functionality of our platform, which is why the limit is in place.
Upon investigation, I found that the grammar.pot file was generated with a string that exceeds the 65535-byte limit because the literal-block target was specified in the gettext_additional_targets configuration. However, using literal-block target is a default configuration from the upstream repository, python/cpython. This presents a dilemma.
Possible Solution
The Crowdin Support Team stated that there is no immediate plan to fix or extend this string length limitation:
While we continuously work to improve our platform, there are no immediate plans to extend this specific limitation. We understand this may not be the answer you were hoping for, and we appreciate your understanding.
Therefore, the currently suitable solution is to remove the literal-block target until Crowdin resolves or extends this limitation.