From 0a691deed099239e92e2b987eee25c2e29c3b0a9 Mon Sep 17 00:00:00 2001 From: helmutm Date: Fri, 14 Dec 2007 08:46:05 +0000 Subject: [PATCH] i18n improvements, esp make DC adapter i18n-aware git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@2242 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/common.py | 12 +++++++++--- browser/concept.py | 4 ++++ browser/form_macros.pt | 2 +- browser/loops.js | 5 +++-- browser/pageform.pt | 2 +- common.py | 5 ++++- i18n/browser.py | 4 ++-- i18n/common.py | 6 ++++++ search/browser.py | 7 +++++-- 9 files changed, 35 insertions(+), 12 deletions(-) diff --git a/browser/common.py b/browser/common.py index 9a00d5c..14b376f 100644 --- a/browser/common.py +++ b/browser/common.py @@ -166,17 +166,23 @@ class BaseView(GenericView, I18NView): def token(self): return self.loopsRoot.getLoopsUri(self.context) + @Lazy + def adapted(self): + return adapted(self.context, self.languageInfo) + @Lazy def title(self): - return self.context.title or getName(self.context) + return self.adapted.title or getName(self.context) @Lazy def description(self): - return adapted(self.context).description + return self.adapted.description @Lazy def dcTitle(self): - return IZopeDublinCore(self.context).title or self.title + zdc = IZopeDublinCore(self.context) + zdc.languageInfo = self.languageInfo + return zdc.title or self.title @Lazy def headTitle(self): diff --git a/browser/concept.py b/browser/concept.py index 2a57e56..cfbb743 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -60,6 +60,10 @@ class ConceptEditForm(EditForm, I18NView): def typeInterface(self): return IType(self.context).typeInterface + @Lazy + def title(self): + return adapted(self.context, self.languageInfo).title + @property def form_fields(self): typeInterface = self.typeInterface diff --git a/browser/form_macros.pt b/browser/form_macros.pt index 250ddc6..1baa739 100644 --- a/browser/form_macros.pt +++ b/browser/form_macros.pt @@ -6,7 +6,7 @@ tal:define="langInfo view/languageInfo; languages langInfo/availableLanguages; language langInfo/language; - useI18N view/useI18N; + useI18N view/useI18NForEditing; innerForm request/inner_form | string:inner_concept_edit_form.html;"> diff --git a/browser/loops.js b/browser/loops.js index b7bd4ff..c6c82f7 100644 --- a/browser/loops.js +++ b/browser/loops.js @@ -100,7 +100,7 @@ function inlineEdit(id, saveUrl) { function setConceptTypeForComboBox(typeId, cbId) { var t = dojo.byId(typeId).value; - var cb = dojo.widget.manager.getWidgetById(cbId) + var cb = dojo.widget.manager.getWidgetById(cbId); var dp = cb.dataProvider; var baseUrl = dp.searchUrl.split('&')[0]; var newUrl = baseUrl + '&searchType=' + t; @@ -117,7 +117,8 @@ function objectDialog(dlgName, url) { if (!dlg) { //dlg = dojo.widget.fromScript('Dialog', dlg = dojo.widget.createWidget('Dialog', - {bgColor: 'white', bgOpacity: 0.5, toggle: 'fade', toggleDuration: 250, + {bgColor: 'white', bgOpacity: 0.5, toggle: 'fade', + toggleDuration: 250, executeScripts: true, href: url }, dojo.byId('dialog.' + dlgName)); diff --git a/browser/pageform.pt b/browser/pageform.pt index 99237c0..7071439 100644 --- a/browser/pageform.pt +++ b/browser/pageform.pt @@ -45,7 +45,7 @@ function toggleFormFieldHelp(ob,state) { i18n:translate="heading_editform" metal:define-slot="heading">Edit Concept + tal:content="view/title|context/zope:name">Concept