Блог

Visual Studio Code(VS code) нээнэ.

VS code платформын зүүн дээд буланд байрлах File цэс дээр зүүн хулганаа дарж ажлах гэж буй Folder(хавтасаа) нээж өгнө.

Ажиллах хавтасанд дээр хулганы зүүн талыг сонгож Select Folder сонголтыг дарж өгнө.

Орчуулга хийх дээ 2 File дотор явуулах боложтой.

  1. functions.php file дотор шууд бич өгөх боломжтой.
  2. Custom file үүсгэж тэрхүү file-аа functions.php file руугаа дуудаж мөн ажиллуулах боломжтой.

Template худалдаж авч ашиглаж байх юм бол эхний ээлжинд wp-content -> themes -> ашиглаж байгаа theme-ээ сонгож -> functions.php нээх хэрэгтэй.

Custom үүсгэсэн файлаа require get_template_directory() . ‘custom файлын замыг нь оруулж өгөх’;   энэхүү аргыг ашиглан function file дотроо дуудаж ажиллуулах боломжтой юм.

Кодны тайлбар:

require -> энэ зүйл хэрэгтэй боллоо гэж wordpress-д ойлгуулж байгаа.

get_template_directory() -> энэхүү function нь ашиглаж буй хавтасны(folder) замыг тодорхойлж байгаа юм. C:\xampp\htdocs\fruitstore\wp-content\themes\freshen энэхүү замыг тодорхойлж байгаа гэсэн үг.

. -> цэг буюу нийлүүлэх(Concatenate)  үйл явдал юм.

‘/inc/language-file.php’  -> inc хавтас дотрох language-file.php файлыг сонгож авч     байгаа гэсэн үг.

Үр дүн:

C:\xampp\htdocs\fruitstore\wp-content\themes\freshen\inc\language-file.php ийм болж language-file.php файл дотор бичигдэсэн бүх мөр коднууд functions.php файл дотор бичигдэсэнтэй адилхан болсон гэсэн үг.

Өөрийн замыг заасан файл дээр хулганаа аваачиж байгаад SCROLL хийдэг бөөрөнхий товчлуур(Хулганы 3дах товчлуур) дээр дарахад шинэ TAB үүссэн нээгдэх болно.

add_filter( ‘gettext’, ‘өөрийн функцаа оруулах‘, 20, 3 ); энэхүү мөр кодыг өөрийн custom үүсгэсэн файл дээрээ оруулж өгөх хэрэгтэй.

Кодны тайлбар:

add_filter() -> Ямарваа нэгэн зүйлийг шүүгээд хайж олоход ашигладаг wordpress-ийн функц юм.

‘gettext’ -> Шүүгдээд олдсон тэр зүйлийнх нь текстийг авна гэсэн үг юм.

өөрийн функцаа оруулах‘ -> Шүүгдэж орж ирсэн текстэнд ямар өөрчлөлт оруулахаа талаар энэхүү функц дээрээ бичиж өгөх юм.

20 -> Олон add_filter() функц байх юм бол дээрх жишээнд үзүүлсэн функц бусад add_filter() функцуудаас хэр чухал функц вэ гэдэг дэс дарааллыг нь оруулж өгч байгаа.

3 -> fruitstore_text_replace гэж оруулсан жишээ дээрх функц 3 parameter утга авна гэсэн үг юм.

Доорх Login form дээр жишээ татан орчуулга хийж тайлбар хүргэе.

Google chrome ашиглаж байгаа бол хулганы баруун талын товчлуур дээр дарж INSPECT сонголтыг хулганы зүүн талын товчлуур дээр дарж өгнө эсвэл гар(keyboard) дээрх F12 товчлуур ч дарж болно.

Dev tool гарч ирэхэд зүүн дээд талд байрлах SELECT дээр дарж өгөх юм. SELECTOR ажиллаж эхлэхэд өнгө нь цагаанаас цэнхэр болох юм.

Хулганы зөөж орчуулга хийх гэж буй ТЕКСТ дээр тааруулан дарах хэрэгтэй.

ELEMENTS хэсэгт дарж оруулсан текстийн HTML  ELEMENT гарч ирэх юм.

Дарсан ELEMENT дээрх жишээ шиг хэрвээ текст нь гарч ирэхгүй бол энэ хэсэгт дарж өгөөрэй.

Текстийн бичвэрийн том, жижиг үсгээр бичигдэсэн байдлыг нягталсаны дараа код руугаа орох юм.

Санамж: ELEMENT дээрх текстийн бичвэрийн том, жижиг үсгийн алдаа гаргавал бичсэн код ажиллахгүй болохыг анхаараарай.  

Жишээ:  LOGIN гэсэн тескт томоор бичигдэсэн боловч INSPECT ашиглан ELEMENT-ийг харахад ингэж бичигдэсэн байгаа юм.

->     

function fruitstore_text_replace( $translated_text, $untranslated_text, $domain ) {switch($untranslated_text) {case 'Username or Email':$translated_text = __('Хүссэн текстээ оруулах боломжтой', $domain );break;case 'Password':$translated_text = __('Нууц үг', $domain );
break;default:$translated_text = $untranslated_text;break;}return $translated_text;
}add_filter( 'gettext', 'fruitstore_text_replace', 20, 3 );

гэсэн код оруулж хадгалах үйлдэл(CTRL+S) хийсэнээр ‘Username or Email’ -> ‘Хүссэн текстээ оруулах боломжтой’, ‘Password’ -> ‘Нууц үг’ гэсэн үгээр солиж тавиж байгаа юм.

Кодны тайлбар:

Жишээнд харуулсан fruitstore_text_replace энэхүү функц нь 3 параметр утга авч тэрхүү 3 параметр утгаар юу хийгдэж бүйг тайлбарлан хүргэе.

Эхний ээлжинд Switch statement-ийн талаар тодорхой ойлголттой байх хэрэгтэй. Хэрвээ мэдэхгүй бол санаа зовох хэрэггүй дээ ийшээ ороод дэлгэрэнгүй судлаарай.

https://apprentice.mn/docs/php-switch/

  1. $untranslated_text -> Энэ хувьсагч нь зөвхөн STRING буюу ТЭМДЭГТ авах юм.

switch($untranslated_text) нөхцөл шалгаж үйлдэл юм. case ‘Password’:   доторх орчуулагдаагүй байгаа үг болон өгүүлбэр нь хэрвээ HTML element-тэй яг адилхан байх юм бол CASE дотор бичигдэсэн кодыг ажиллуулаарай гэсэн утгатай.   

  1. $translated_text -> Энэ хувьсагч нь зөвхөн STRING буюу ТЭМДЭГТ авах юм.

$translated_text = __(‘Нууц үг’, $domain ); энэ хувьсагчинд орчуулсан үгээ хадгалж авч буй үйлдэл юм.

  1. $domain -> Энэ хувьсагч нь зөвхөн STRING буюу ТЭМДЭГТ авах юм.

Орчуулагдсан үг ямар домайнд хамаарагдаж буйгаар ялгаж, бусад адилхан үг болон өгүүлбэр байгаа домайнийг тус тусын домайнаар нь if Statement ашиглан ялгаж өөр өөр орчуулгын үгийг оруулан өгөх боломжийг олгодог.

Домайн шалгах даа: