-1

레일 4와 숭고한 텍스트를 사용하고 있습니다. 번역 가능한 키로 변환해야하는 텍스트의 일반 문자열로 몇 백 개의 뷰 (템플릿)가 있습니다. 예 :레일스 뷰에서 텍스트 문자열을 I18n 키로 변환하는 더 빠른 방법이 있습니까?

<p>Hello world!</p> 

요구가 변경 될 :

<%= t '.hello_world' %> 

... 그리고 해당 라인과 같이 내 국제화 YAML 파일에 추가해야합니다 :

helo_world: "Hello world!" 

이 있습니까 수동으로 텍스트를 편집하는 것보다 빠른 방법?

+0

사람들이 왜이 질문/답변을 너무 싫어합니까? –

답변

-1

Mac을 사용하는 경우 간단한 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. 스네이크 케이스로 변환
  3. 선택한 텍스트를 Rails I18n을 통해 텍스트를 렌더링하는 데 필요한 Rails 코드로 바꿉니다.
  4. 키와 원본 텍스트를 클립 보드에 복사하여 YAML 파일에 쉽게 붙여 넣을 수 있습니다.

마지막 단계는 바로 가기 키를 서비스에 할당하는 것입니다. 시스템 환경 설정 -> 키보드 -> 바로 가기 -> 서비스로 이동하여 방금 만든 새 서비스를 선택하고 바로 가기를 지정하여 (Mac에서)이 작업을 수행 할 수 있습니다.