1. A computer implemented method comprising: receiving a query from a client machine for items, in which the query is in a first language; translating the query into a second language, including optimizing, for ecommerce, a translation of the query from the first language into the second language based at least in part on an ontology; obtaining a result set of items in the second language that meet the query; translating the result set into the first language for presentation to the client machine; and monitoring feedback from the client machine, including observing actions a user of the client machine takes relative to the result set, the actions including the user purchasing a product from the result set and placing a product watch from the result set; and building the ontology based at least on part of the observed actions such that the ontology reflects language changes over time.