2015-05-06 5 views
3

Я создал пакет schemaextender, в котором я пытаюсь переопределить определенные строки для доменов bika и plone. Источником для моего нового пакета здесь: https://github.com/rockfruit/bika.uw.gitСообщения i18n: приоритет сообщений от нескольких файлов PO

метод установки я рекомендую и использовать (для всех Plone аддоны/экземпляров) заключается в следующем:

  • Установите UnifiedInstaller Plone в.
  • изменить строки 'eggs =' и 'develop =', чтобы включить «bika.lims» и «bika.uw».
  • запустить бен/Buildout

С помощью этого метода установки, мое переопределение не перекрывая. В zope.i18n я вижу, что translationdomain.py всегда предпочитает исходные переводы и использует только те из пакета schemaextender, когда в исходном каталогенет идентичной строки (т. Е. Для сообщений, переведенных в код Python или TAL расширения самого пакета, во всех кодах Bika или Plone мои новые каталоги игнорируются).

Я читал, что раздел zcml = в файле buildout.cfg может использоваться для изменения порядка загрузки zcml, в результате чего сообщения предпочтительнее из ранее загруженных пакетов. Так что я пытался изменить, как показано ниже, однако каталог с bika.lims по-прежнему предпочитали:

zcml = 
    Products.CMFPlone 
    bika.uw 
    bika.lims 

Теперь, вот ключ я нашел. В репозитории github, с которым я связан выше, есть корневой файл buildout.cfg, который не использует UnifiedInstaller, а загружает Plone и другие зависимости напрямую. Он не содержит строки zcml =. Но удивительно (для меня) переопределений перевода для обеих областей работы при использовании этого метода установки (точно так же как купил один!):

git clone https://github.com/rockfruit/bika.uw.git 
cd bika.uw 
virtualenv . 
./bin/pip install zc.buildout 
bin/buildout 
bin/zeoserver fg & # no idea why 'start' does not work 
bin/zeoclient fg 

Мой вопрос: Что я делаю не так, что нормальный и рекомендовал установку процедура не позволяет моему переводу переопределить свое правовое преимущество?

Мне стыдно признаться, но я все равно: это меня смутило за лет.

Я наклеил свой существующий buildout.cfg ниже, в котором сегодня утром я попытался воспроизвести поведение файла bika.uw.git/buildout.cfg, что не имеет успеха.


[buildout] 

# buildout-original.cfg is the Plone 4.3.4 zeocluster unified-installer file. 
extends = 
    buildout-original.cfg 

zeo-address = 8081 
client1-address = 8085 
client2-address = 8086 

effective-user = campbell 
buildout-user = campbell 
user=admin:adminsecret 

need-sudo = no 
var-dir=${buildout:directory}/var 
backups-dir=${buildout:directory}/backups 
deprecation-warnings = on 
verbose-security = on 

eggs = 
    bika.uw 
    bika.lims 
    pudb 
    i18ndude 
    test 
    robot 
    zest.releaser 

develop += 
    /home/campbell/Plone/repos/bika.uw 
    /home/campbell/Plone/repos/bika.lims 

parts = 
    zeoserver 
    client1 
    client2 
    backup 
    zopepy 
    unifiedinstaller 

zcml = 

[zeoserver] 
<= zeoserver_base 
recipe = plone.recipe.zeoserver 
zeo-address = 127.0.0.1:${buildout:zeo-address} 
zserver-threads = 1 

[client1] 
<= client_base 
recipe = plone.recipe.zope2instance 
zeo-address = ${zeoserver:zeo-address} 
http-address = ${buildout:client1-address} 
resources = ${buildout:directory}/resources 
locales = ${buildout:directory}/locales 

[client2] 
<= client_base 
recipe = plone.recipe.zope2instance 
zeo-address = ${zeoserver:zeo-address} 
http-address = ${buildout:client2-address} 
resources = ${buildout:directory}/resources 
locales = ${buildout:directory}/locales 

[versions] 
Cheetah = 2.2.1 
plone.recipe.command = 1.1 
plone.recipe.precompiler = 0.6 
plone.recipe.unifiedinstaller = 4.3.1 
Products.DocFinderTab = 1.0.5 
ZopeSkel = 2.21.2 
collective.recipe.backup = 2.14 
zopeskel.dexterity = 1.5.3 
zopeskekel.dexterity = 1.5.3 
zopeskel.diazotheme = 1.1 

ответ

0

Я думаю, что список, который я сделал для talk я дал на конференции Арнем Plone в 2012 году по-прежнему точным. Это порядок загрузки файлов PO:

  1. локали = $ {Buildout: каталог}/локали
  2. ZCML = your.package
  3. Продукты по алфавиту до тех пор, в том числе Products.CMFPlone
  4. пакеты не зарегистрированные с z3c.Включать автоматически
  5. остальные продукты
  6. i18n папки (сделанных PlacelessTranslationService)

В вашем случае: удалить Products.CMFPlone из параметра ZCML. Он смешивает заказ.