/ / Чи існує швидший спосіб перетворення текстових рядків у поданнях Rails у ключі I18n? - ruby-on-rails, інтернаціоналізація, applecript, субліметекст, rails-i18n

Чи є швидший спосіб перетворення текстових рядків у представлення даних Rails на клавіші I18n? - рубіни на рейках, інтернаціоналізація, аплікація, підсмішний текст, рейки-i18n

Я використовую Rails 4 та Sublime Text. У мене є кілька сотень подань (шаблонів) із простими рядками тексту, які мені потрібно перетворити на перекладаються ключі. Приклад:

<p>Hello world!</p>

потрібно змінити на:

<%= t ".hello_world" %>

... і відповідний рядок потрібно додати до мого файлу I18n YAML приблизно так:

helo_world: "Hello world!"

Чи існує швидший спосіб зробити це, ніж редагування тексту вручну?

Відповіді:

-1 для відповіді № 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), перейшовши до Системних налаштувань -> Клавіатури -> Ярлики -> Служби, вибравши нову службу, яку ви щойно створили, і давши їй ярлик.