Translate a site based on different themes

Post meta is a bad place for translations, because you cannot search by default in these fields, and changing the search to do that results in rather slow and complex queries.

What you can do: set up WordPress as a multi-site, use the sub-sites option. Now create a new sub-site for each language, so you get sites with en, es, ru and so on.

To connect the translated posts, either

  • create a separate table with relationships and a new metabox for the post editor to connect the posts from different languages, or
  • install Multilingual Press which does all this for you. Disclosure: I’m the lead developer for this plugin now.

Related: Should multi-language site using multi-site architecture have default language in base site?

Alternative for single-site: https://wordpress.stackexchange.com/a/85394/73