Drupal - i18n и многоезичността

Категория:

Да споделя и моят опит с Drupal 5 и Internationalization (i18n).
Като цяло модула работи доста добре и се интегрира във системата без проблеми.
Осигурена е поддръжка за основните и най използвани допълнителни модули като: CCK и Views.
Има настройка в многоезичността, с която се казва да се показва само това съдържание, с което в момента работи човека, който разглежда страницата.
Например site.com/en/
В този случай ще се показва само съдържание, което има превод на английски.
Това работи много добре с модула views. Няма да ви се налага да указвате изрично, че искате само това съдържание, което е на английски.
Когато създавате съдържание след като го запишете ще видите линк отгоре с който може да направите превод.
И системата знае кое съдържание има превод и кое не.
Също така няма никакъв проблем и със CCK. Можете да променяте и имената на полетата освен съдържанието.
Ако обаче искате да имате мисия на сайта на повече от един език. Ще трябва са направите някои промени в settings.php.
Примерно:

$conf['i18n_variables'] = array(
  'site_name',
  'site_slogan',
  'site_mission',
  'site_footer',
  'anonymous',
  'menu_primary_menu',
  'menu_secondary_menu',   
);

Също така често се случва да се добави грешен блок за превод на съдържанието.
Единият блок превежда само интерфейса а другият превежда интерфейса и съдържанието.
И много често ако ползвате този който превежда само интерфейса да се чудите защо всичко наоколо си смени езика а само статията не.
В общи линии нещата работят доста добре.
Но когато задълбаете повече започват да се появяват неща които не са направени.
Примерно, ако добавите полета в потребителските профили не можете да преведете съдържанието в тях.
Можете да преведете само имената на полетата пример: Name - Име. Но името Станислав - Stanislav не можете.
Заглавието (title) във модула views също не може да се преведе (ако сте направили provide page).
В Интернет някои препоръчват да влезнете и да промените модула views, като просто заградите функцията, която връща заглавието във функцията t().
Но това не е в стила Drupal way - don't change overwrite.
Няма да се впускам в подробности, но ако пишете собствен модул всички текстове, които се печатат към потребителя е добре да преминат през тази функция на по късен етап могат да бъдат преведени.

Happy Drupaling

Коментари

Нов коментар

Съдържанието на това поле е поверително и няма да бъде показвано публично.
  • Адресите на уеб-страници и имейл-адресите автоматично се конвертират в хипервръзки.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre><img>
  • Редовете и параграфите се оформят автоматично.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Повече информация за форматиращите опции

You can change the default for this field in "Comment follow-up notification settings" on your account edit page.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
3 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.