Broken resx files
-
The output resx files have the following headers:
<resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader>
When they should be:
<resheader name="reader"> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader>
Fix is, in /glotpress/gp-includes/formats/format-resx.php, line 120, put System.Resources.ResXResourceWriter instead of System.Resources.ResXResourceReader
Also, for some languages, the plural_forms header can look like this (for Russian here):
<resheader name=”plural_forms”>
<value>nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);</value>
</resheader>Which breaks the resx file and makes VS unable to open it or build the project.
My fix for this, as I don’t need plural forms in my translations, was to remove the header from the export ( /glotpress/gp-includes/formats/format-resx.php, line 121)
- The topic ‘Broken resx files’ is closed to new replies.