Every language contains complex expressions that are language-specific. The general problem when trying to build automated translation systems or human-readable dictionaries is to detect expressions that can be used idiomatically and then whether the expressions can be used idiomatically in a particular text, or whether a literal translation would be preferred. It follows from the definition of idiomatic expression that when a complex expression is used idiomatically, it contains at least one element which is semantically "out of context". .