21. Создание собственного PHP MVC фреймворка на ООП. 21. Мультиязычность. Часть 4

Поділитися
Вставка
  • Опубліковано 20 гру 2024

КОМЕНТАРІ • 20

  • @matroskin978
    @matroskin978  Місяць тому +1

    💖 Поддержка канала
    www.donationalerts.com/r/matroskin978
    4731 2196 5549 6408 (ПриватБанк)
    matroskin978@gmail.com (PayPal)
    TXGoBr7UrwRUYx7FpzbiG8znkgC6fhwtEF (USDT TRC20)
    410014621600849 (ЮMoney)
    ===============================================
    Мои курсы на Udemy
    Не получается приобрести курс или нужна скидка - обращайтесь. Решим :)
    Курс "PHP 8. ООП. Создание собственного PHP MVC фреймворка":
    www.udemy.com/course/php-8-framework/?referralCode=1D29D8356C893C7889B3
    Курс по созданию интернет-магазина и веб-приложений в Telegram - www.udemy.com/course/telegram-bots-web-apps/?referralCode=A574DFE059CF9FF4E002
    Курс по созданию собственного шаблона интернет-магазина для OpenCart 3 - www.udemy.com/course/opencart-3/?referralCode=96BAF7C78DF57D6A90CA
    Курс по PHP - www.udemy.com/course/php-8-ua/?referralCode=4DAAEA9CF6ADF447D879
    СУБД MySQL и язык запросов SQL. Теория и практика - www.udemy.com/course/mysql-sql/?referralCode=B6655F05D32032D80C0B

  • @nicolaskeratry
    @nicolaskeratry Місяць тому +1

    Урок супер!
    Благодарю 🤗
    Хочется теперь свой фреймворк полностью переписать, правда это очень долго

  • @nicolaskeratry
    @nicolaskeratry Місяць тому +1

    Пока поставлю лайк, а завтра посмотрю ролик

    • @matroskin978
      @matroskin978  Місяць тому

      Вот это правильно! 😉

  • @statistic-py6ip
    @statistic-py6ip Місяць тому +1

    Андрей от всей души благодарю, что продолжаете серию уроков. Лайк, лайк, лайк.

    • @matroskin978
      @matroskin978  Місяць тому

      Пожалуйста 🙂

    • @statistic-py6ip
      @statistic-py6ip Місяць тому

      Андрей, как я понимаю показали и рассказали как сделать мультиязычность. Как будут дальше развиваться уроки, будете ли создавать мультиязычные категории, товары, корзину и т.д.? Если нет, нельзя ли после 17 коммита до мультиязычности, сделать ответвление, что-то запутался что оставлять, что не нужно, что можно удалить, простите за заморочки...

    • @matroskin978
      @matroskin978  Місяць тому

      @@statistic-py6ip а в уроке я ответил как раз на этот вопрос. Если мультиязычность не нужна, тогда откатываетесь до последнего урока перед ее реализацией. Ну а дальше все отличие будет только в структуре БД и sql-запросах. В случае мультиязычности для сущностей типа товары, статьи и т.п. будет две таблицы, а в вашем случае таблица будет одна. И в sql-запросе будет присутствовать только одна таблица и не будет в условии выборка по языку.
      В принципе, когда будет создавать какую-то таблицу, я постараюсь не забыть показать оба варианта.

    • @statistic-py6ip
      @statistic-py6ip Місяць тому

      @@matroskin978 Спасибо большое Андрей, растолкуйте пожалуйста в следующих уроках, думаю многим будет полезно. Интересно было бы провести опрос, кто из подписчиков и просто тех, кто учится по Вашим урокам, будет использовать мультиязычность ради академического интереса, ну это так отступление...Просто то, что Вы делаете это огромная работа...

    • @matroskin978
      @matroskin978  Місяць тому

      Пожалуйста)

  • @АлексГрицков-д3ь
    @АлексГрицков-д3ь Місяць тому +1

    Андрей, здравствуй.
    Вы действительно талантливый учитель.
    Разжёвываете все по крошкам. Рассматриваю в ближайшее время индивидуальное обучение, хочу к вам обратиться как ментору на платной основе.

    • @matroskin978
      @matroskin978  Місяць тому

      Здравствуйте, Алекс! Спасибо за оценку ☺
      Обращайтесь, я не против. Адрес почты можно найти в описании канала.

  • @AndriiP86
    @AndriiP86 Місяць тому

    Надіюсь, що Ви ще щось згадаєте і порадуєте нас продовженням циклу, хоть би ще пару уроків. Всі уроки були дуже пізнавальними.

  • @Monax-go6vq
    @Monax-go6vq Місяць тому +1

    Спасибо Андрей, как писал @АлексГрицков-д3ь про занятия, вы не планируете online-курс с небольшой группой? Было бы неплохо

    • @matroskin978
      @matroskin978  Місяць тому +1

      Пожалуйста 🙂
      Вот, честно говоря, уже задумывался и неоднократно набрать группу примерно на 10 человек +/. Потому что индивидуальные занятия я провожу, но тяжеловато одно и то же рассказывать в день несколько раз, если в этот день несколько человек. Проще рассказать группе за один раз 😎
      Но вот пока как-то не уверен. Все пока думаю))

  • @robinblood8326
    @robinblood8326 22 дні тому

    Вы делаете отличные видео, спасибо! Смотрю с удовольствием и они меня мотивируют вернуться к php. Но сейчас я не могу не поправить вас....Уже давным давно вместо "ключей локализации" используются дефолтные фразы. Например, вместо _e('user_password') делается _e('User Password'), далее проверяется наличие "локальной фразы" по самой фразе и если её нет, то возвращается дефолтное(переданное) значение. Этот подход позволяеть залоггировать все "отсутсвующие" фразы и отдать их в перевод джунам-переводчикам, вместо того чтобы писать локализации силами мидлов, например. В том-же вордпрессе такой подход был с момента его рождения, но там все через жопу было на бинарных файлах. Сотни папок-тысячи файлов под каждую локализацию никто не делает даже в MVС, так как в реальном проекте неизбежно наступит момент, что какая-то локаль "потеряется" и из-за неё весь процесс ляжет. Так как вы предлагаете - делать нельзя. Шаблоны для всех языков должны быть едины. И даже если локали нет, то сайт должен продолжать работать на дефолных значениях, не должен падать, а в вашем случае упадет или не отразит никакой строки, а это не очень гуд.
    Ну и к предыдущему видео, где выбирался локаль из урла - там было бы не плохо определить язык браузера (1 строчка кода) и редиректнуть клиента на подходящую локаль (если она есть, если нет, то на дефолтную) как это сделано на сайте микрософт.ком, например.

    • @matroskin978
      @matroskin978  22 дні тому +1

      @@robinblood8326 пожалуйста 🙂
      По первому моменту. Если перевода не будет - сайт не упадет. Просто будет показан ключ. Ключ этот вполне можно заменить фразой, которая и будет в этом случае ключом. В Laravel, к примеру, оба эти варианта можно использовать.
      По второму вопросу. Определение языка по языку браузера пользователя возможно, конечно же. Например, так делает OpenCart. Но мой опыт разработки показывает, что это решение не всегда оптимально и уже на нескольких проектах мне приходилось из ядра выпиливать эту фичу. Причина банальна: законодательство страны требует, чтобы основным языком сайта был конкретный язык, а не тот, который стоит у пользователя в браузере. А зайдя на сайт, пользователь уже может сменить язык на предпочитаемый.
      Впрочем, это все частности. Моя задача была в том, чтобы показать возможный вариант решения. И этот вариант можно по желанию дописать или переписать.

  • @ДмитрийМорозов-ч5ф
    @ДмитрийМорозов-ч5ф Місяць тому

    Добрый день. Андрей подскажите пожалуйста , в меню нельзя подключить мультиязычность , так как оно кешируется у нас?

    • @matroskin978
      @matroskin978  Місяць тому +1

      @@ДмитрийМорозов-ч5ф Добрый день, Дмитрий! Нельзя. Об этом, вроде бы, упоминал в каком-то из видео по мультиязычности. Если есть необходимость кэшировать меню, тогда кэшировать можно постоянные данные для него, которые берутся из БД, чтобы не лезть лишний раз за ними. Ну а переключатель языков добавлять отдельно.