1. A computer-implemented method of generating a software update for a software package, the method comprising: determining a plurality of changes between a previous version of the software package and a new version of the software package; for each change, determining whether the change can be implemented as one or more automatic correction instructions that can be executed by a client computer system, including determining that one or more first changes can be implemented as automatic correction instructions and that one or more second changes cannot be implemented as automatic correction instructions; generating one or more automatic correction instructions for the one or more first changes; generating one or more manual correction instructions for the one or more second changes, including, for each second change: i) identifying a corresponding template for a text string for the second change from a repository of templates, wherein the corresponding template includes a plurality of different text strings each in a different language and the text string is selected from the plurality of different text strings to match a specified language of a computer system requesting the software update, ii) populating the text string from the corresponding template with information specific to the second change, and iii) including the text string in the manual correction instruction; for a particular second change of the one or more second changes, determining that the corresponding template of the identified templates does not specify a corresponding text string; and in response to determining that the corresponding template does not specify the corresponding text string, analyzing the particular second change to generate a new text string that is consistent with the second change.
1. A computer-implemented method of generating a software update for a software package, the method comprising: determining a plurality of changes between a previous version of the software package and a new version of the software package; for each change, determining whether the change can be implemented as one or more automatic correction instructions that can be executed by a client computer system, including determining that one or more first changes can be implemented as automatic correction instructions and that one or more second changes cannot be implemented as automatic correction instructions; generating one or more automatic correction instructions for the one or more first changes; generating one or more manual correction instructions for the one or more second changes, including, for each second change: i) identifying a corresponding template for a text string for the second change from a repository of templates, wherein the corresponding template includes a plurality of different text strings each in a different language and the text string is selected from the plurality of different text strings to match a specified language of a computer system requesting the software update, ii) populating the text string from the corresponding template with information specific to the second change, and iii) including the text string in the manual correction instruction; for a particular second change of the one or more second changes, determining that the corresponding template of the identified templates does not specify a corresponding text string; and in response to determining that the corresponding template does not specify the corresponding text string, analyzing the particular second change to generate a new text string that is consistent with the second change. 2. The method of claim 1 , further comprising sending the automatic correction instructions, the manual correction instructions, and update instructions to a computer system storing the software package, wherein the computer system is configured to executing the update instructions, thereby causing the computer system to execute the automatic correction instructions to update the software package and to display the manual correction instructions.