Hash#delete
で削除した value を新しい key とともに元の Hash に代入する。
data['new_key'] = data.delete('old_key')
https://github.com/kyanny/playground/blob/gh-pages/ruby-yaml-replace-locale-hash-replace-key/a.rb
日本語がメインロケールなアプリケーションを作っていて、 I18n で ja.yml にいろいろ追加していったが、 webtranslateit.com で管理するために(あと自社特有のワークフローに合致させるために) とりあえず中身が空っぽでキーだけ揃ってる en.yml を作りたい、ということがあったので。
https://github.com/kyanny/playground/blob/gh-pages/ruby-yaml-replace-locale-hash-replace-key/ja.yml
のような YAML ファイルを元に、
https://gist.github.com/kyanny/218e6e1ab123e0f96cca
のような YAML ファイルができる。これをインポートしてから en.yml を WTI 上のメインロケールにすれば、翻訳済みのキーの値を失わずに済む。