yamlファイルで不足しているキーを検索する

オープンソースプロジェクトは多くの外国語に翻訳される場合があります。 一方では、これにより幅広いユーザーがよりアクセスしやすくなりますが、他方では、これらすべての翻訳をサポートする必要があります。 翻訳は通常、yamlファイルで分割され、別のディレクトリで選択されます。その内容は次のようになります。en.yml、ru.yml、de.yml ...

オープンソースプロジェクトで私が見なければならないのは、ある期間、誰かがすべてのテキストを母国語に翻訳し、xx.yml形式のファイルを追加することを決めたことです。 翻訳は完了し、すべては問題ありませんが、プロジェクトは停止せず、新しい機能が追加され、古いコードが削除されます。 ほとんどの場合、最初の翻訳を行った人はこれらのすべての動きをフォローしなくなり、毎回新しい翻訳を追加しません。 コードを提供している人々は、プロジェクトがサポートするすべての言語に翻訳することもできません。 多くのymlファイルがあることがわかります。それらの参照は通常en.ymlです。 欠落している翻訳を補足したい新しい人が来ると、各ファイルに数百行のテキストがあり、どのテキストが欠落しているか冗長であるかを理解することができないという問題に直面します。

これらの目的のために、私はDifferzと呼ばれる単純なジャムを書きました。これはyamlファイルを比較し、不足しているキーを表示します。 完了するだけでインストールできます

gem install differz
      
      





rbenvを使用する場合は、次も実行する必要があります

 rbenv rehash
      
      





en.ymlとde.ymlの違いを表示するには、コンソールで次の行を実行する必要があります。

 differz show en.yml de.yml
      
      





たとえば、このアプリケーションを人気のあるactiveadminプロジェクトで起動しました。このプロジェクトは多くの言語に翻訳されました。 en.ymlとde.ymlを比較した結果は次のとおりです。





計画では、ユーザーがコンソールから直接すべての不足しているキーを入力できるようにすることでした。 書かれていない編集コマンドがこれに役立ちます。



All Articles