Я использую API локализации Django для предоставления многоязычной функции на моем сайте. Но после создания файла .po все msgstr пустые. Я не получил никаких переведенных строк.Сгенерированный файл .po имеет msgstr "" после makemessages
Ниже конфигурация setting.py
MIDDLEWARE_CLASSES = (
'framework.botdetection_middleware.AvoidBotsMiddleware',
'framework.cl_redirect.MainSiteRedirect',
'framework.ssl_redirect.SSLRedirect',
'django.middleware.cache.UpdateCacheMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.common.CommonMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'framework.wlabel_middleware.CustomDomainMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware',
'social.apps.django_app.middleware.SocialAuthExceptionMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
# Implementation of Localiztion
# Path to locale folder
LOCALE_PATHS = (
os.path.join(APP_DIR, 'locale').replace('\\', '/'),
)
# The language your website is starting in
LANGUAGE_CODE = 'en'
# The languages you are supporting
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('fr', ugettext('French')),
('pl', ugettext('Polish')),
)
# Use internationalization
USE_I18N = True
# Use localization
USE_L10N = True
Я использую следующую команду для создания .po файла.
django-admin makemessages --locale=fr --extension=html --ignore=env --ignore=*.py
И Ниже выход я получил
msgid "Change Payment Method"
msgstr ""
msgid "Return to Purchase Details"
msgstr
Am я что-то отсутствует. Также как я могу загрузить переведенную версию моего сайта без использования url.py
Вы имеете в виду, что мне нужен переводчик, чтобы перевести эту строку на нужный язык. Нет ли способа получить их с помощью api. Я имею в виду, что я видел примеры, где после генерации файла сообщения они показывают переведенную версию в msgstr. –
@ArjunSingh Да, это не инструмент машинного перевода, а инструмент для получения всех строк в одном месте, чтобы переводчик мог их перевести. Переведенные результаты появятся, когда вы когда-то перевели их и снова запустили 'makemessages', чтобы обновить файл переводов, тогда все старые переводы будут включены снова, и это может создать впечатление, что Django сделал перевод для вас, в то время как на самом деле они были переведены и вставлены заранее. – makaveli
Есть ли у вас какие-либо идеи об инструменте или что-то, что могло бы перевести все файлы .po в пути. –