J'essaye d'utiliser le système d'i18n de Django avec django-cms
J'ai parfaitement réussi a faire marcher makemessages et compilemessages, mais lorsque je démarre le serveur et que je vais sur ma page, mes chaines restent non traduites
J'imagine que je dois faire mal quelque chose mais j'ignore quoi.
Un example de fichier python ou une chaine n'est pas traduite:
from cms.toolbar_pool import toolbar_pool
from cms.extensions.toolbar import ExtensionToolbar
from django.utils.translation import ugettext_lazy as _
from .models import CategoryExtension
@toolbar_pool.register
class CategoryExtensionToolbar(ExtensionToolbar):
# defines the model for the current toolbar
model = CategoryExtension
def populate(self):
# setup the extension toolbar with permissions and sanity checks
current_page_menu = self._setup_extension_toolbar()
# if it's all ok
if current_page_menu:
# retrieves the instance of the current extension (if any) and the toolbar item URL
page_extension, url = self.get_page_extension_admin()
if url:
# adds a toolbar item in position 0 (at the top of the menu)
current_page_menu.add_modal_item(_('Page Category'), url=url,
disabled=not self.toolbar.edit_mode, position=0)
Mes settings liés aux traductions :
def gettext(s):
return s
LOCALE_PATHS = (
BASE_DIR + "/locale",
)
LANGUAGE_CODE = 'fr-fr'
TIME_ZONE = 'Europe/Paris'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = (
('fr-fr', gettext('fr-fr')),
)
CMS_LANGUAGES = {
1: [
{
'code': 'fr-fr',
'name': gettext('fr-fr'),
'redirect_on_fallback': True,
'public': True,
'hide_untranslated': False,
},
],
'default': {
'redirect_on_fallback': True,
'public': True,
'hide_untranslated': False,
},
}
Et mon fichier .po (dans RACINE/locale/fr-fr/LC_MESSAGES/django.po) :
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-06 19:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: myapp/cms_toolbars.py:22
msgid "Page Category"
msgstr "Catégorie de Page"
#: myapp/configuration/cms_settings.py:6
msgid "Page"
msgstr "Page"
#: myapp/configuration/cms_settings.py:7
msgid "Page with instagram pictures"
msgstr "Page avec bandeau instagram"
#: myapp/configuration/cms_settings.py:8
msgid "Page who list children"
msgstr "Page qui liste ses enfants"
#: myapp/configuration/i18n_settings.py:25
#: myapp/configuration/i18n_settings.py:32
msgid "fr-fr"
msgstr "fr-fr"