Mae creu apiau gwe sy'n gallu gwasanaethu defnyddwyr o wahanol ddiwylliannau a ieithoedd yn hanfodol yn y byd modern. Mae Ruby on Rails, un o'r fframweithiau mwyaf poblogaidd ar gyfer datblygu apiau gwe, yn cynnig system ryngwladoli (I18n) sy'n gwneud y broses hon yn haws. Yn y canllaw hwn, byddwn yn archwilio sut i ddefnyddio I18n yn Ruby on Rails, gan gynnwys enghreifftiau cod a chamau i ddilyn.
Mae ryngwladoli (I18n) yn broses sy'n caniatáu i apiau we ddarparu cynnwys yn nifer o ieithoedd a diwylliannau. Mae'n cynnwys cyfieithu testunau, fformatio dyddiadau, a chynnal arferion lleol. Mae Ruby on Rails yn cynnig cymorth adeiledig ar gyfer I18n, gan ei gwneud hi'n haws i ddatblygwyr greu apiau sy'n addas ar gyfer defnyddwyr ledled y byd.
Mae defnyddio I18n yn Ruby on Rails yn syml. Mae angen i chi ddilyn rhai camau sylfaenol i sefydlu a defnyddio'r system. Dyma'r camau i'w dilyn:
Y cam cyntaf yw creu ffeiliau cyfieithu. Mae'r ffeiliau hyn yn cynnwys y testunau a'r cyfieithiadau ar gyfer eich ap. Mae angen i chi greu ffeiliau YAML ar gyfer pob iaith. Er enghraifft, gallwch greu ffeiliau fel:
config/locales/en.yml config/locales/cy.yml
Mae'r ffeil 'en.yml' yn cynnwys y testunau yn Saesneg, tra bod 'cy.yml' yn cynnwys y cyfieithiadau Cymraeg. Dyma enghraifft o'r ffeil 'cy.yml':
cy: hello: "Helo" goodbye: "Hwyl fawr"
Unwaith y byddwch wedi creu'r ffeiliau cyfieithu, gallwch ddechrau defnyddio'r testunau cyfieithiedig yn eich ap. Mae Rails yn cynnig y dull 't' i gael gafael ar y testunau. Dyma enghraifft:
<%= t('hello') %>
Bydd y cod hwn yn dangos "Helo" os yw'r iaith wedi'i gosod i Gymraeg. Os yw'r iaith wedi'i gosod i Saesneg, bydd yn dangos "Hello".
Mae angen i chi hefyd sefydlu pa iaith i'w defnyddio yn eich ap. Gallwch wneud hyn yn y ffeil 'application.rb'. Dyma sut i'w wneud:
# config/application.rb module YourApp class Application < Rails::Application config.i18n.default_locale = :cy end end
Mae hyn yn gosod y Gymraeg fel iaith default ar gyfer eich ap. Gallwch hefyd newid y iaith yn seiliedig ar ddewisiadau defnyddiwr.
Mae I18n yn cynnig mwy na dim ond cyfieithu testunau. Mae hefyd yn caniatáu i chi fformatio dyddiadau, amserau, a rhifau yn seiliedig ar ddiwylliannau penodol. Dyma sut i wneud hynny:
Gallwch ddefnyddio I18n i fformatio dyddiadau yn seiliedig ar iaith. Dyma enghraifft:
<%= l(Date.today, format: :long) %>
Mae angen i chi hefyd ddiffinio'r fformat dyddiad yn eich ffeil cyfieithu:
cy: date: formats: long: "%d Awst %Y"
Mae I18n hefyd yn caniatáu fformatio rhifau. Gallwch ddefnyddio'r dull 'number_with_delimiter' i fformatio rhifau gyda rhifau miloedd. Dyma enghraifft:
<%= number_with_delimiter(1000) %>
Gallwch ddiffinio'r fformat yn eich ffeil cyfieithu:
cy: number: format: delimiter: ","
Gallwch hefyd ddefnyddio I18n i gyfieithu negeseuon yn eich modelau a gweithrediadau. Mae hyn yn ddefnyddiol ar gyfer negeseuon gwall a negeseuon llwyddiant. Dyma enghraifft o sut i wneud hynny:
Gallwch ddefnyddio I18n i gyfieithu negeseuon gwall yn eich modelau. Dyma enghraifft:
class User < ApplicationRecord validates :name, presence: { message: I18n.t('errors.messages.blank') } end
Mae angen i chi ddiffinio'r neges yn eich ffeil cyfieithu:
cy: errors: messages: blank: "Mae angen i chi roi enw."
Gallwch hefyd ddefnyddio I18n i gyfieithu negeseuon llwyddiant. Dyma enghraifft:
def create @user = User.new(user_params) if @user.save flash[:notice] = I18n.t('users.create.success') redirect_to @user else render :new end end
Mae angen i chi ddiffinio'r neges yn eich ffeil cyfieithu:
cy: users: create: success: "Cafodd y defnyddiwr ei greu'n llwyddiannus."
Os ydych chi'n defnyddio JavaScript yn eich ap, efallai y bydd angen i chi ddefnyddio I18n yno hefyd. Gallwch wneud hyn trwy greu ffeil cyfieithu JavaScript. Dyma sut i wneud hynny:
# config/locales/javascript.cy.yml cy: hello: "Helo"
Gallwch ddefnyddio'r ffeil hon yn eich JavaScript fel hyn:
alert(I18n.t('hello'));
Mae I18n yn nodwedd hanfodol yn Ruby on Rails sy'n caniatáu i ddatblygwyr greu apiau sy'n addas ar gyfer defnyddwyr o wahanol ddiwylliannau a ieithoedd. Trwy ddilyn y camau a'r enghreifftiau a drafodwyd yn y canllaw hwn, gallwch ddechrau defnyddio I18n yn eich ap a sicrhau bod eich cynnwys yn hygyrch i bawb.
Peidiwch ag anghofio y gall I18n hefyd wella profiad y defnyddiwr trwy ddarparu cynnwys sy'n gysylltiedig â'u diwylliant a'u hiaith. Mae'n amser i chi ddechrau arni a gwneud eich ap yn fyd-eang!
© 2024 RailsInsights. All rights reserved.