Shields level 1 and 2 both have upgrade_shield as their language name, but the variables in the language file and the prerequisites in the XML are called shield_level_1 and shield_level_2.
english.lng has blade_weapons and piercing_weapons as variables, but the XML has upgrade_blade_weapons and upgrade_piercing_weapons.