1. A method for implementation by one or more data processors and comprising: receiving, by at least one data processor, a set of data records the data records comprising one or more names of one or more entities in a source language from a source document; generating, by at least one data processor, candidate translations for the names of the data records, the candidate translations being strings of characters in a target language that has a different character set than a character set of the source language; querying, by at least one data processor, a data repository for records matching the candidate translations; and selecting, by at least one data processor, a translation of at least one of the names from the candidate translations based on a comparison of the candidate translations and properties of the source document with the result of the querying the data repository, the properties comprising of co-occurrence of terms in the source document, date of publication of the source document, a first frequency of the names of the data records in the source document, and a second frequency of the names of the data records in documents published since a particular date.