Я установил Discourse на Ubuntu локально, вне Docker. Как можно преобразовать даты на форуме в джалали? Спасибо
Поможет ли это?
https://askubuntu.com/questions/4704438/how-can-i-change-calender-to-persian-calender-like-in-kde
Не знаю, учитывает ли Discourse такую специфическую локализацию. Извините!
Что ж, я только что узнал, что Discourse поддерживает модули локализации. Так что кто-то более сведущий, чем я, сможет вас направить, я в этом уверен.
Спасибо большое за ответ.
К сожалению, нет.
Я имел в виду, как можно преобразовать даты публикаций и другие даты, отображаемые на форуме, из григорианского календаря в джалали.
Вы можете установить язык по умолчанию на персидский (фарси) в интерфейсе настроек администратора. Это может сработать.
Похоже, что отдельный пользователь Discourse не может задать предпочитаемый язык — полагаю, его браузер отправляет эту информацию с каждым запросом. Я заметил, что Chrome предлагает настройку языка, включающую персидский. Возможно, это сработает.
Спасибо большое за ответ.
К сожалению, нет.
Ах, извините, что это не помогло. Думаю, вам, возможно, потребуется какой-то плагин.
Итак, @serkhelesheyi, какой именно локаль вы хотите? Из вашего первого сообщения это не совсем очевидно.
Если такой локали не существует, я считаю, что модули локалей являются подключаемыми, и кто-то может написать её для вас.
Кстати, вы обнаружите, что сотрудники поддержки здесь настоятельно рекомендуют устанавливать Discourse через Docker и в целом неохотно помогают с установками вне Docker, так как множество вещей могут отличаться от стандартной настройки. Просто к сведению.
Изменение локали на Иран/фарси вносит лишь одно различие: оно отображает месяцы григорианского календаря персидскими буквами. Я хочу отображать месяцы календаря Джалали, а не григорианского календаря.
Если у вас есть бюджет, вы можете запросить помощь на бирже.
Нет, к сожалению, у меня нет бюджета, но большое спасибо за представление маркетплейса.
Я попробовал это в командной строке
# locale-gen fa_IR.UTF-8
и теперь, кажется, что-то получилось:
# date
Mon Dec 9 15:43:50 CET 2024
# env LC_TIME=fa_IR.utf8 date
<U+202B>دوشنبه ۰۹ دسامبر ۲۴، ساعت ۱۵:۴۳:۵۱ (CET)<U+202C>
Но я не могу сказать, полезно ли это, так как не владею языком. (Подозреваю, что это то же самое, что вы видели: григорианская дата переведена слово в слово)
Спасибо большое. Нет, мне это не нужно. Это просто отображает названия месяцев персидскими буквами. Мне нужно, чтобы отображался месяц по джалали. Например, в тексте, который вы упомянули, упоминается слово «деса́мбер», что по-персидски означает декабрь (двенадцатый месяц). Мне нужно отображать девятый месяц джалали (то есть «Азар» (آذر)).
Действительно. Похоже, что на самом низком уровне Unix-систем вам ничто не поможет. Поэтому, к сожалению, вам потребуется решение на уровне приложения — какой-то пакет, тема или плагин для Discourse, который используется везде, где отображается дата.
Подобные функции, безусловно, существуют в JavaScript (moment.js, day.js, date-fns), но интеграция их в Discourse, если они ещё не доступны, — это техническая задача, превышающая мои возможности.
Редактирование: Я посмотрел, и, похоже, moment.js уже доступен, так что это может оказаться не так уж сложно.
Об этом есть информация на странице:
Да. Решение — использовать moment.js, но проблема в том, что я не знаю, как им пользоваться, и мне нужен кто-то, кто проведёт меня от начала до конца.
Большое спасибо за ваши рекомендации.
Я уже видел этот пост, но проблема в том, что я не знаю, как это сделать, и мне нужно, чтобы кто-то объяснил мне все шаги.
Я заметил, что ранее был похожий запрос:
Конвертер для преобразования григорианской даты в джалали на слое представления Discourse
Но более перспективным выглядит этот:
Ошибка при загрузке отчётов панели управления при использовании moment-jalaali.js
который ведёт к более ранней теме:
Как правильно отображать даты джалали для персидского языка
(редактирование: ой, вижу, что эта ссылка уже упоминалась ранее)
Я бы рекомендовал изменить заголовок этой темы, например:
Как отображать все даты и время в системе джалали (а не григорианской)
(Я считаю, что требуется только изменение отображения — фактические временные метки в базе данных не будут изменены. Эти метки представляют собой количество секунд, прошедших с 1970 года).
Большое спасибо за ваше предложение и руководство.
Я изменил заголовок, как было предложено. Спасибо!
Убрал тег unsupported-install — этот вопрос не связан с этим фактом. Хотя @serkhelesheyi, я всё же рекомендую вам устанавливать систему, следуя официальным инструкциям по установке, чтобы избежать других возможных проблем.
Похоже, что @osama уже ответил на этот вопрос там. На данный момент нет поддерживаемого способа отображения дат и времени в джалали (не григорианском календаре), но это можно реализовать в плагине, если кто-то найдёт время и проявит интерес к этому.