Помощ » Проблеми » Превод на датата и служебни думи при двуезичен сайт

  • Здравейте!
    Имам Qtranslate с който си поствам на два езика, но не мога да разбера какви настройки трябва да задам, за да се появява датата на български. И в двете езикови версии месеца и деня си остават на английски. А също да попитам какво трябва да се направи за да се сменят и останалите служебни думи в сайта (като Arhive, Search, Read the rest of this entry и т.н.) според избрания език. Въпреки че забелязвам, че много хора тук сами си питат и сами си отговарят след време, се надявам някой да ми помогне. Благодаря предварително.

Виждате 15 отговора - 1 от 15 (от 15 общо)
  • Само да уточня, че не искам случаен превод в момента на натискането на един бутон, както е при Global Translator, а искам да имам възможност аз да задавам превода

    Модератор Ivaylo Draganov

    (@dragunoff)

    Здравей,

    ще ти отделя малко време, за да ти дам насоки, защото темата е наистина широка (и дълбока).

    * В wp-config.php можеш да си добавиш един ред, който да ти зададе основния език (ако е различен от английски). Ето това е реда за български:

    define('WPLANG', 'bg_BG');

    за да работи тази настройка обаче, трябва да създадеш папка languages в wp-content и в нея да сложиш файла с българския превод на WordPress.

    * цялата система с преводите се върти общо взето около два типа файлове: PO и MO. Първият се редактира от човек, а вторият е компилирана версия на първия, предназначена за четене от машините.

    * препоръчвам ти да си инсталираш ето това разширение:
    http://wordpress.org/extend/plugins/codestyling-localization/

    С негова помощ много лесно можеш да си преведеш служебните текстове в темата и разширенията. Всичко става от админ-панела на WordPress. Има обаче един тънък момент…

    * темите и разширенията трябва да са пригодени за превод. Тук вече става по-дълбоко и затова ти давам само няколко връзки да си почетеш:
    http://codex.wordpress.org/Translating_WordPress
    http://boren.nu/archives/2004/11/01/localizing-plugins-and-themes/
    http://pressedwords.com/6-tips-for-localizing-your-wordpress-plugin/

    <?php _e('Успех!'); ?>

    Модератор Ivaylo Draganov

    (@dragunoff)

    и… помисли докато е време дали qTranslate е най-добрия избор. Просто според мен подхода му към многоезичността е малко недъгав. Може би това е по-добро, а изглежда ще се развива:
    http://wordpress.org/extend/plugins/sitepress-multilingual-cms/

    Но, на всеки според нуждите 😉

    Много благодаря за отговора и насоките, започвам да чета, въпреки че на английски ми е малко трудно 🙁 . Междувременно си сложих ZdMultiLang, който ми дава възможност да имам страниците, постовете, категориите и таговете на няколко езика, но не ми превежда служебните думи и текстовете зададени в темата, което пак не ми върши работа.
    define('WPLANG', 'bg_BG'); вече го сложих, папка languages с МО файл за български също имам.

    Само да попитам как се разбира дали темата е пригодена за превод или не?

    Модератор Ivaylo Draganov

    (@dragunoff)

    погледни темата по подразбиране, например на 35 ред във файл index.php има такъв ред:

    <?php _e('Not Found', 'kubrick'); ?>

    _e е функция, която указва, че текстът, който е в скобите(„Not found“) може да се преведе. Втората дума в скобите е т.нар. textdomain на темата („kubrick“), който е зададен във файл functions.php на ред 7:

    load_theme_textdomain( 'kubrick' );

    Така че, за да е годна една тема за превод, трябва да съдържа подобен код.

    мерси, продължавам да се боря. В комбинация със ZdMultiLang постигам превод на страниците, постовете и на половината джаджи, но за съжаление не на всички 🙁

    Махнах ZdMultiLang, оставих си Qtranslate и CodeStyling Localization. Сложих 4 езика за проба: български, английски, руски и немски. Името на джаджата за смяна на езика в единия сайдбар не иска да се превежда на нито един език, джаджата за търсене се превежда на всички езици освен на български. Архиви, Страници и Скорошни публикации се превеждат на всички езици, но проблемът с българската дата остава. На всички други езици се сменя според езика, но не и на български, като превключа на български ми излиза английската дата. Същото е и положението със служебните думички: Author, edit, Posted in, Logged in as, says и т.н, на всички езици се превеждат без български.
    Когато влезна в някой конкретен пост, там където се изписва датата на поста на всички езици излиза %A %B %e%q, %Y at %I:%M %p, а на немски излиза %A, 13System/LocaltimeMon, 13 Jul 2009 11:20:01 +0300 %e. %B %Y um %H:%M.

    Къде би могъл да е проблема?

    Оказа се, че в самата тема има .mo файлове за 4 езика, но нямаше за български, добавих българския, някои неща се преведоха, други не, датата също все още е английската.
    Като отворя Localization и влезна в темата имам възможност да редактирам .mo файла. Превеждам си израза, който ми е непреведен в момента (в случая posted in) и когато натисна бутона за генериране на mo файл, ми записва само това, което сега съм превела и всички други се губят. Има ли начин само да добавям преводи към вече готовия файл или трябва да превеждам всичко наново?

    Модератор Ivaylo Draganov

    (@dragunoff)

    Така… Съветвам те да пробваш с темата по подразбиране, защото тя е изцяло пригодена за превод. Ако там нещата работят, значи проблема е в другата тема, която използваш.

    Някои джаджи може просто да не са пригодени за превод. А джаджите всъщност работят като разширения(plugins). От панела Localization можеш да си редактираш и тях по същия начин. Основните джаджи, които са си в WordPress от началото би трябвало да се превеждат без проблем.

    Ако променяш нещо по темата, винаги трябва да правиш Rescan и да генерираш MO файл наново. Но не би трябвало всеки път да превеждаш едни и същи неща отново – те би трябвало да се пазят във PO файла. Виж дали и двата файла са с права за писане (оцветени са в зелено в менюто Localization). Съветвам те да направиш превода си, когато завършиш разработката на темата.

    Като имаш проблем с превода на нещо, провери в самия код дали е правилно заложено:

    <?php _e('text to translate', 'domain'); ?>

    или

    <?php __('text to translate', 'domain'); ?>

    Ако срещнеш специални символи нейде при превода (като например %s, %1, %2 и т.н.) – не ги премахвай, те се използват за да укажат мястото на динамично генерирани стойности (например броя на коментарите)

    Благодаря за помощта. Аз мисля, че вече пробвах с темата по подразбиране и не се получи по-различен резултат. Но се оправих с тази. Пробвах различни варианти, но мисля, че нацелих правилния начин. Проблемът беше, че първо добавях в локализацията на темата българския език и по този начин тя не хващаше преведения мо файл, а ми даваше възможност изцяло аз да си го преведа. После направих друго – Първо добавих през фтп в темата мо файла и в локализацията на темата българския се появи автоматично, след това като отворих в едит имаше много преведени текстове, но не тези, които ми трябваха. Като дадох рескан се намериха необходимите текстове. Тези, които бяха преведени се запазиха, и сега си добавям преводите на липсващите. За тези с процентчето вече ми е ясно, че не се пипат, само трябва да намеря правилната конфигурация за датата на български как трябва да се изпише.

    Модератор Ivaylo Draganov

    (@dragunoff)

    Да, автоматично се откриват преводите, ако са качени предварително.

    За датата какъв точно е проблема? Не се ли превеждат имената на дните и месеците? Или просто самото форматиране на датите?

    Ами изписваха се както на английски July 30th, 2009, аз копирах от руското мо и написах в превода d.m.Y и сега са 30.07.2009, въпреки че предпочитам да е 30 юли, 2009, но това не видях как става

    т.е. видях как става, с F, но не ги превежда. И в руското мо като сложа F не се превежда, а остава английското име на месеца

    Модератор Ivaylo Draganov

    (@dragunoff)

    къде точно не става превода? в някое разширение, джаджа или в самата тема?

    а може би вече трябва да викнем на помощ някой дето е по-навътре в нещата 🙂

    ами аз още не съм наясно къде точно се извършва превода, в самия сайт като го отворя и в датата на постовете месецът е на английски. В локализацията на темата задавам формата на датата d F Y, но самите имена на месеците не знам откъде се теглят и кое отговаря за техния превод. В мо файла на WP фигурират преводите на месеците на български

Виждате 15 отговора - 1 от 15 (от 15 общо)
  • Темата ‘Превод на датата и служебни думи при двуезичен сайт’ е затворена за нови отговори.