1. A method for text language identification comprising: at a server, receiving an encrypted score for each of a plurality of languages from a client, the encrypted scores having been generated by homomorphic addition of encrypted frequencies of n-grams in a list of n-grams extracted from text at the client, wherein the list is not provided to the server, the encrypted frequencies of the n-grams in the list having been extracted based on encrypted resources which, for each of the plurality of languages, include an encrypted frequency for each of a set of n-grams; at the server, decrypting the encrypted scores to generate unencrypted scores; and providing information to the client based on the unencrypted scores from which the client is able to identify a language for the text, wherein at least one of the decrypting of the encrypted scores and the providing information is performed by a processor.