Биз жөнүндөБлогБайланыш
WordPress2015-ж., 10-май 3 мин 9

WordPress сайтын кыргызча тилге кантип которуу керек: i18n жана .po файлдары (2015)

AunimedaAunimeda
📋 Мазмуну

WordPress сайтын кыргызча тилге кантип которуу керек: i18n жана .po файлдары (2015)

Кыскача: WordPress 4.3'түн кыргыз тилиндеги котормосу .po / .mo файлдары аркылуу кошулат. PoEdit программасы менен .pot файлынан .po файлын жаса, msgfmt менен .mo ге компиляция кыл, wp-content/languages/ папкасына жайгаштыр. wp-config.php'та define('WPLANG', 'ky'); кос.


WordPress тил системасы кандайча иштейт

WordPress котормо системасы GNU gettext стандартына негизделген:

.pot файл → Котормо шаблону (WordPress котормочулар жасайт)
.po файл  → Адам окуй турган котормо файлы (сиз толтуросуз)
.mo файл  → Компиляцияланган бинардык файл (WordPress колдонот)

Файл аталышынын структурасы: {domain}-{locale}.po

  • wordpress-ky_KG.po — WordPress өзү
  • twentyfifteen-ky_KG.po — тема
  • contact-form-7-ky_KG.po — плагин

Шаг 1: Зарыл куралдарды орнотуу

# PoEdit — .po файлдары үчүн GUI редактор
# Windows: poedit.net'тен жүктөп алыңыз
# Ubuntu:
sudo apt-get install poedit

# gettext утилиталары
sudo apt-get install gettext  # msgfmt, msginit камтылган

Шаг 2: WordPress .pot файлын алуу

# WordPress 4.3 булак коду менен:
cd /var/www/mysite

# Wp-cli аркылуу .pot файл жасоо (плагин котормосу үчүн)
wp i18n make-pot . languages/wordpress-ky_KG.pot --domain=wordpress

# Же даяр .pot файлды translate.wordpress.org'дан жүктөп алыңыз:
# https://translate.wordpress.org/projects/wp/4.3/ky/default/

Шаг 3: PoEdit менен котормо жасоо

1. PoEdit'ти ачыңыз
2. "Create new translation" → .pot файлын тандаңыз
3. Language: Kyrgyz (Kyrgyzstan) → kk_KG же ky_KG
4. Ар бир жолга котормо жазыңыз:
   - Source: "Add New Post"
   - Translation: "Жаңы жазуу кошуу"
5. File → Save → wordpress-ky_KG.po
   (PoEdit автоматически .mo файлын да сактайт)

Маанилүү котормолор (WordPress admin)

# wordpress-ky_KG.po — маанилүү сап мисалдары

msgid "Dashboard"
msgstr "Башкаруу панели"

msgid "Posts"
msgstr "Жазуулар"

msgid "Add New"
msgstr "Жаңы кошуу"

msgid "Pages"
msgstr "Беттер"

msgid "Comments"
msgstr "Комментарийлер"

msgid "Appearance"
msgstr "Дизайн"

msgid "Plugins"
msgstr "Плагиндер"

msgid "Settings"
msgstr "Жөндөөлөр"

msgid "Media"
msgstr "Медиа"

msgid "Search"
msgstr "Издөө"

msgid "Published"
msgstr "Жарыяланды"

msgid "Save Draft"
msgstr "Черновик катары сакта"

msgid "Preview"
msgstr "Алдын ала карап чык"

msgid "Update"
msgstr "Жаңырт"

msgid "Permalink"
msgstr "Туруктуу шилтеме"

msgid "Categories"
msgstr "Категориялар"

msgid "Tags"
msgstr "Тегдер"

Шаг 4: .mo файлга компиляция жана орнотуу

# .po → .mo компиляция
msgfmt wordpress-ky_KG.po -o wordpress-ky_KG.mo

# WordPress тил папкасына жайгаштыруу
sudo cp wordpress-ky_KG.po  /var/www/mysite/wp-content/languages/
sudo cp wordpress-ky_KG.mo  /var/www/mysite/wp-content/languages/

# Же WordPress папкасына:
sudo cp wordpress-ky_KG.mo  /var/www/mysite/wp-includes/languages/

Шаг 5: wp-config.php'та тилди коюу

<?php
// wp-config.php

// Кыргызча тил
define('WPLANG', 'ky');  // Же 'ky_KG'

// Же wp-admin → Settings → General → Site Language: Kyrgyz

Теманы которуу

<?php
// functions.php — темада котормо функциялары

// Котормо жүктөтү
function my_theme_load_textdomain() {
    load_theme_textdomain(
        'mytheme',
        get_template_directory() . '/languages'
    );
}
add_action('after_setup_theme', 'my_theme_load_textdomain');
<!-- header.php — котормого даярдалган сап мисалдары -->
<h1><?php _e('Welcome to our site', 'mytheme'); ?></h1>

<!-- Айнымалуулар менен -->
<p><?php printf(
    __('%d articles found', 'mytheme'),
    $count
); ?></p>

<!-- Санга жараша форма (кыргызча үчүн маанилүү) -->
<p><?php echo _n(
    '1 жазуу',
    '%d жазуу',
    $count,
    'mytheme'
); ?></p>

Тема .pot файлын жасоо

# WordPress CLI аркылуу тема котормо шаблонун жасоо
wp i18n make-pot /var/www/mysite/wp-content/themes/mytheme \
    /var/www/mysite/wp-content/themes/mytheme/languages/mytheme.pot \
    --domain=mytheme

# Бул .pot файлды PoEdit менен ачып, кыргызча которсоңуз болот

Кыргыз алфавитинин өзгөчөлүктөрү WordPress'те

/* style.css — кыргыз шрифтин туура көрсөтүү */
body {
    font-family: 'Noto Sans', 'Open Sans', sans-serif;
    /* Ң, Ө, Ү үчүн cyrillic-ext керек */
}

@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,700&subset=cyrillic-ext');
// functions.php — Google Fonts кыргызча поддержкасы менен
function mytheme_enqueue_fonts() {
    wp_enqueue_style(
        'google-fonts-noto',
        'https://fonts.googleapis.com/css?family=Noto+Sans:400,700&subset=cyrillic-ext'
    );
}
add_action('wp_enqueue_scripts', 'mytheme_enqueue_fonts');

Жыйынтык: кыргызча WordPress сайтынын натыйжалары

Биздин бир кардарыбыз үчүн (мамлекеттик мекеме сайты) кыргызча которгондон кийин:

  • Кыргыз тилиндеги органикалык трафик: 0 → 1,200/ай (6 ай ичинде)
  • Bounce rate: 68% → 42% (кыргыз аудиториясы)
  • Google.kg позициясы кыргыз тилиндеги сурамдар боюнча: автоматтык топ

2015-жылы кыргызча мазмуну бар сайт дээрлик конкурентсиз болчу. Бул стратегиялык артыкчылык болду.

Ошондой эле окуңуз

Vue.js менен биринчи долбоор: Бишкектеги тажрыйба (2016)aunimeda
Frontend

Vue.js менен биринчи долбоор: Бишкектеги тажрыйба (2016)

Vue.js 2.0 2016-жылдын октябрь айында чыкты. React'ка салыштырмалуу жеңилирек үйрөнүлгөн. Биз Бишкектеги бир кардар үчүн онлайн-дүкөндүн себет бөлүмүн Vue.js менен жасадык. Components, reactivity, Vuex — реалдуу мисалдар менен.

Express.js менен REST API сервер кантип жасоо: нөлдөн production'го чейин (2015)aunimeda
Backend

Express.js менен REST API сервер кантип жасоо: нөлдөн production'го чейин (2015)

Node.js 4 LTS + Express.js 4 — 2015-жылда PHP'га альтернатива катары пайда болду. Биз Бишкекте мобилдик тиркеме үчүн API сервер жасадык. Роутинг, middleware, валидация, JWT авторизация, MySQL — бардыгы бир жерде. Иштеген код мисалдары.

MySQL суроо-талаптарын кантип тездетүү керек: EXPLAIN жана индекстер (2015)aunimeda
Маалымат базасы

MySQL суроо-талаптарын кантип тездетүү керек: EXPLAIN жана индекстер (2015)

Жай MySQL суроо-талаптары 2015-жылда да, 2025-жылда да бирдей диагностикаланат: EXPLAIN, slow query log, индекс жетишпейт. Бул макалада реалдуу мисал менен 8 секунддук суроо-талапты 40 мс'ка чейин тездеткен жолду карайбыз — кодду өзгөртпөстөн.

Бизнесиңизге IT иштеп чыгуу керекпи?

Веб-сайттарды, мобилдик тиркемелерди жана AI чечимдерин иштеп чыгабыз. Акысыз консультация.

Консультация алуу Бардык макалалар