Како додати нове стрингове у Полиланг

Ако сте направили сајт у Вордпресу и додали више језика користећи Полиланг, сада треба да преведете и све стрингове (речи) које Полиланг није регистровао аутоматски да треба да буду преведени. У зависности од тога колико добро је ваша тема направљена, Полиланг по неком неписаном правилу не региструје баш оно што вам је потребно.

Да би све прошло како треба, овај поступак се састоји од следећих корака:

  1. Регистрација стрингова у Strings translations
  2. Убацивање превода за регистроване стрингове
  3. Како да Полилангу буде јасно које речи треба да преводи на основу регистрованих стрингова

Регистрација нових стрингова у Полилангу

Да би Полиланг знао шта треба да преводи потребно је регистровати речи које је потребно преводити. Полиланг већ подразумевано повуче све речи за које сматра да треба буду преведене и смести их у Strings Translations. Међутим, проблем су речи које Полиланг не види као речи које треба преводити.

Ево примера речи које сам ја додао у Strings Translations, а које Полиланг није одмах повукао, може се видети да су у питању битне речи које такође треба превести:

Ево шта треба да урадите. Пронађите стринг који треба регистровани. Мени је требало да региструјем Sign Out, па сам отишао у header.php (датотека у теми) и пронашао ред који садржи:

<?php _e('Sign Out', 'child9'); ?>

Дакле, треба регистровати Sign Out. Када то сазнате идите у functions.php (датотека у теми) и на дну додајте следећи ред:

pll_register_string('child9', 'Sign Out', 'true');

Од тог тренутка, стринг Sign Out налази се у Strings Translations и ту можете додати преводе за језике које сте подесили у Полилангу.

Убацивање превода за регистроване стрингове

Идите у Strings Translations и додајте преводе за нови стринг:

Прилично једноставно, али то није довољно. Сада смо дали до знања Полилангу за које речи треба да нуди превод који смо убацили али Полиланг још увек не зна где треба да прикаже те речи. Потребно је урадити следеће.

Позивање превода за регистроване стрингове

Вратите се у header.php датотеку и тамо где је стајало:

<?php _e('Sign Out', 'child9'); ?>

Уместо тога ставите:

<?php echo pll_e('Sign Out')?>

И то је то. Сада сте дали до знања Полилангу да треба да реч Sign Out мења у зависности од језика који се одабере на сајту.

Овај поступак треба поновити за сваку реч-стринг који треба преводити. Имајте у виду да се стрингови налазе у различитим фајловима теме, док све стрингове региструјете кроз functions.php датотеку.

Испробао сам прикључке који би требало да уштеде време

Испробао сам два и ни један није радио, тј. ни један стринг није био регистрован аутоматски. Пронашао сам три упутства програмера који објашњавају шта треба да се уради, али нисам ни тако успео јер су упутства била писана програмерским жаргоном. На крају сам сам ископао где и шта треба ставити да би све радило како треба. И то сам записао овде.

Аутор: Иван Благојевић

Радим као Engineering Lead у Адриахосту. Највише времена проводим на Линукс серверима.

Помажем људима да реше проблеме и да одаберу прави хостинг за свој сајт. Овде је моја радна биографија.

Пишем овде у слободно време.

Други текстови са блога: