За последние 24 часа нас посетили 26563 программиста и 1511 роботов. Сейчас ищут 858 программистов ...

I18n

Тема в разделе "Прочие вопросы по PHP", создана пользователем maxycwebber, 8 июн 2014.

  1. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk
    Вот дошли у меня руки до интернационализации и тут сел немного в лужу

    1. Нет проблем с переводами статичных надписей.
    2. Проблема с динамическим содержимым. Хотелось бы спросить кто из вас как данный вопрос реализует?
    2.1 есть анкета пользователя. может быть на 3 языках. как хранить подобную анкету? как хранить именно тукстовые поля на примере about me, my hobbies и т.п
    2.2 есть что то вроде блога. но там можно тупо к каждой записи добавлять lang[en,es,ru]

    но блин как то сложно все получается...
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Раздел про PHP, подозреваю, что "динамическое содержимое" это что-то про JavaScript, не? Объясни что ты имел в виду.

    То, что введено пользователем ("тукстовые поля на примере about me, my hobbies и т.п") точно не надо переводить. Максимум имеет смысл подкинуть ссылку на гуглетранслейт, если это типа блог и его могут читать типа иностранцы.
     
  3. maxycwebber

    maxycwebber Новичок

    С нами с:
    25 мар 2014
    Сообщения:
    263
    Симпатии:
    11
    Адрес:
    Gdansk
    в том то и дело. у меня задача, пользователь должен иметь возможность вводить на всех доступных языках

    Добавлено спустя 47 секунд:
    * динамическое - имел ввиду, что пользователем меняется руками. статическое, это когда выбирает из списков. Прошу прощени за корявость
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    ну и пусть вводит. дай ему возможность выбрать язык. то, что он вводит после выбора языка, будет считаться написанным на этом языке. можешь в записи признак языка сохранять.

    на уровне базы получится, что записи таблицы "пользователь" относятся к записям "анкета" как один-ко-многим.
    первичный ключ анкеты сделай составной (user_id, language) — это гарантирует, что дублей не будет.
    у MySQL есть два прекрасных варианта добавления либо пере-записи по уникальному ключу:
    - REPLACE
    - INSERT… ON DUPLICATE KEY UPDATE