Olen tehnyt applikaationi tekstit tähän asti suoraan suomeksi. Rails tukee applikaation lokalisointia eli koodissa käytetään tekstien "koodinimiä", joille löytyy erikieliset käännökset eri tiedostoista.
Törmäsin käännöksien tarpeellisuuteen, kun lisäsin applikaatioon käyttäjähallinnan devise-gemin avulla, ja se olikin englanninkielinen.
Deviseen oli olemassa käännökset, mutta pitkän ja turhauttavan taistelun jälkeen selvisi, ettei koodeissa ole käytetty näitä tekstien "koodinimiä", joten eiväthän ne käänny vaikka mitä tekisi.
Käännökseen tarvitaan seuraavat:
Gemfile
gem 'rails-i18n'
config\application.rb
class Application < Rails::Application sisälle laitetaan
I18n.config.enforce_available_locales = false
config.i18n.default_locale = :fi
I18n.locale = config.i18n.locale = config.i18n.default_locale
config\locales
yml-tiedostoja:
devise.en.yml
devise.fi.yml
en.yml
fi.yml
Koodissa käännettävä teksti laitetaan esim. näin:
<h2><%= t('devise.passwords.forgot_your_passwd') %></h2>
Silloin käännöstä haetaan locales-hakemiston tiedostoista hierarkiasta
devise:
passwords:
forgot_your_passwd: 'teksti joka siihen tuleekaan'
Ei kommentteja:
Lähetä kommentti