13. A non-transitory computer-readable storage medium storing a plurality of instructions which cause a processor to perform a method comprising: for a first string in a plurality of strings in a first database table, the plurality of strings including at least one string in a first language and at least one string in a second language different from the first language: calculating a first sort key for the first string in a first language; storing a first reference record in a second database table, the first reference record linking the first sort key to a data record in the first database table that includes the first string; calculating a second sort key for the first string in a second language different from the first language; and storing a second reference record in the second database table, the second reference record linking the second sort key to the data record in the first database table that includes the first string; receiving a request for a sorted result of a plurality of items in the first database table for the first language; generating a result set, the result set including a first entry for the first string wherein the position of the first entry in the result set is determined based upon the first sort key; filtering the result set to remove entries for strings in the second language; and providing the result set to a user.
13. A non-transitory computer-readable storage medium storing a plurality of instructions which cause a processor to perform a method comprising: for a first string in a plurality of strings in a first database table, the plurality of strings including at least one string in a first language and at least one string in a second language different from the first language: calculating a first sort key for the first string in a first language; storing a first reference record in a second database table, the first reference record linking the first sort key to a data record in the first database table that includes the first string; calculating a second sort key for the first string in a second language different from the first language; and storing a second reference record in the second database table, the second reference record linking the second sort key to the data record in the first database table that includes the first string; receiving a request for a sorted result of a plurality of items in the first database table for the first language; generating a result set, the result set including a first entry for the first string wherein the position of the first entry in the result set is determined based upon the first sort key; filtering the result set to remove entries for strings in the second language; and providing the result set to a user. 18. A computer-readable medium according to claim 13 , said method further comprising the step of, prior to providing the result set to the user, sorting the result set according to the sort keys associated with the strings in the result set.