-1

我正在使用Rails 4和Sublime Text。我有幾百個視圖(模板),我需要將純文本字符串轉換爲可翻譯的密鑰。例如:有沒有更快的方法來將Rails視圖中的文本字符串轉換爲I18n鍵?

<p>Hello world!</p> 

需要被改爲:

<%= t '.hello_world' %> 

...和相應的行需要被添加到我的I18n YAML文件,像這樣:

helo_world: "Hello world!" 

有比手動編輯文本更快的方法嗎?

+0

爲什麼人們非常討厭這個問題/答案? –

回答

-1

如果您使用的是Mac,則可以設置一個簡單的Automator腳本來爲您處理大部分操作。

開放的Automator,使一個新的「服務」,並用下面的代碼添加一個「運行AppleScript」行動:

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 

這將做到以下幾點:

  1. 採取任何選擇的文本作爲輸入
  2. 將它轉換爲蛇的情況下(即創建一個I18n密鑰名稱)
  3. 用所需的Rails代碼替換所選文本以通過Rails I18n呈現該文本。
  4. 將密鑰和原始文本複製到剪貼板,以便輕鬆粘貼到YAML文件中。

最後一步是爲服務指定一個鍵盤快捷鍵。您可以通過轉至系統偏好設置 - >鍵盤 - >快捷方式 - >服務,選擇您剛剛創建的新服務併爲其提供快捷方式來完成此操作(在Mac上)。

相關問題