Custom na pagsasalin
From LimeSurvey Manual
Panimula
Mula sa LimeSurvey 5.4.0, maaari kang magkaroon ng sarili mong pagsasalin para sa lahat ng string sa lahat ng kasamang wika sa pamamagitan ng direktang access sa iyong database.
Magagamit ang sistemang ito kung ang kasalukuyang pagsasalin ay hindi akma sa pangangailangan ng iyong negosyo.
Dapat itong nakalaan para sa mga partikular na kaso, dahil ang mga pagbabago sa teksto sa mismong core ng LimeSurvey ay mangangailangan muli ng pagbabago sa iyong database.
Bukod pa rito, maaari mong gamitin ang paraang ito para isalin ang mga string na partikular sa Tema ng survey.
Paano gumagana ang mga pagsasalin sa database
Para sa mga pagsasalin sa database, gumagamit ang LimeSurvey ng paraang hango sa CDbMessageSource mula sa Yii framework.
- hanapin ang string sa SourceMessage table na lime_source_message->message, kunin ang id : lime_source_message->id
- kung mayroon, hanapin ang kaugnay na pagsasalin sa Message table na lime_message->translation para sa kasalukuyang wika na lime_message->language gamit ang kasalukuyang id na lime_message->id
Gumagawa ang LimeSurvey ng array ng mga pagsasalin mula sa po file (tingnan ang Pagsasalin ng LimeSurvey para sa impormasyon kung paano i-update ang file na ito), at pagkatapos ay pinagsasama ito sa lahat ng pagsasalin mula sa database.
Pagkatapos, ang mga pagsasalin mula sa database ang laging ibinabalik kung mayroon ang mga ito.
Halimbawa para sa button na “Magsumite” sa English at French
Gusto mong ipakita ang _Validate_ at hindi ang _Submit_ para sa submit button sa lahat ng iyong survey (na may partikular na tema). Kung i-update mo lang ang tema at papalitan ang gT('Submit') ng gT('Validate'): laging ipapakita ang _Validate_ sa lahat ng wika.
Para sa Lahat ng survey na may Lahat ng tema
- Gumawa ng source message
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit'); - Tingnan ang ID (kung ito ang una: ang ID ay 1) at gamitin ito sa susunod na instruksyon
- Gumawa ng kaugnay na pagsasalin :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
Huwag palitan ang string ng walang laman na string, dahil babalik ang pagsasalin sa orihinal na pangungusap sa English. Dapat kang maglagay ng kahit isang espasyo.
Paggamit ng sarili mong tema (inirerekomendang solusyon)
Gumagamit ang paraang ito ng solusyong may sarili mong template, atina-update rin nito ang default na string para sa lahat ng iba pang wika.
- Sa Editor ng tema, piliin ang bahaging Navigation
- Hanapin ang
Template:GT("Submit")(sa navigator.twig) - Palitan ng
Template:GT("Validate") - Gumawa ng source message
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate'); - Tingnan ang ID (kung ito ang una: ang ID ay 1) at gamitin ito sa susunod na instruksyon
- Gumawa ng kaugnay na pagsasalin :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Paalala
Dapat na walang laman na string ('') ang field na category sa lime_source_message, hindi NULL. Kung hindi eksaktong tumugma ang category, hindi mahahanap ng gT() ang source message, at hindi mailalapat ang iyong pagsasalin. Lalo itong mahalaga kapag nagdaragdag ng mga pagsasalin para sa mga string na partikular sa tema.