-1

私はRails 4とSublime Textを使用しています。私は翻訳可能なキーに変換する必要があるプレーンテキストの文字列で数百のビュー(テンプレート)を持っています。例:Railsビューのテキスト文字列をI18nキーに素早く変換する方法はありますか?

<p>Hello world!</p> 

に変更する必要があります

<%= t '.hello_world' %> 

...と、対応する行がそうのように私の国際化YAMLファイルに追加する必要があります

helo_world: "Hello world!" 

があります手動でテキストを編集するよりも速くこの方法を実行できますか?

+0

なぜこの質問/回答が嫌いですか? –

答えて

-1

Macを使用している場合は、これを処理するための簡単なAutomatorスクリプトを設定できます。これは、次の操作を行います

on run {input} 
    -- Convert any capital letters to lower case 
    set lowerCaseString to do shell script "echo " & input & " | tr [:upper:] [:lower:]" 
    -- Convert any non letters/numbers to underscores 
    set key_name to do shell script "echo " & lowerCaseString & " | sed -e 's/[^a-zA-Z0-9]/_/g' -e 's/[0-9]/N/g'" 
    -- Add the new key inside the neccesary view syntax for Rails I18n 
    set new_text to "<%= t '." & key_name & "' %>" 
    -- Copy the key name and original string to the clipboard (for quick pasting into your I18n YAML file) 
    set the clipboard to key_name & ": \"" & input & "\"" 
    return new_text 
end run 

オープンAutomatorを、新しい「サービス」を作り、次のコードで「ファイル名を指定して実行するAppleScript」アクションを追加

  1. 任意の選択したテキストを取ります入力として
  2. スネークケースに変換する(すなわち、I18nキー名を作成する)
  3. 選択したテキストを必要なRailsコードに置き換えて、Rails I18n経由でそのテキストをレンダリングします。
  4. キーと元のテキストをクリップボードにコピーして、YAMLファイルに簡単に貼り付けることができます。

最後の手順は、サービスにキーボードショートカットを割り当てることです。システム環境設定 - >キーボード - >ショートカット - >サービスで、作成した新しいサービスを選択して、ショートカットを付けて、これを(Mac上で)行うことができます。

関連する問題