[Checkins] SVN: zc.datetimewidget/trunk/src/zc/datetimewidget/
languages are now switched as specified by the locale if available
Bernd Dorn
bernd.dorn at fhv.at
Sun Apr 30 11:25:19 EDT 2006
Log message for revision 67766:
languages are now switched as specified by the locale if available
Changed:
U zc.datetimewidget/trunk/src/zc/datetimewidget/configure.zcml
U zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
A zc.datetimewidget/trunk/src/zc/datetimewidget/resources/datetimewidget.js
-=-
Modified: zc.datetimewidget/trunk/src/zc/datetimewidget/configure.zcml
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/configure.zcml 2006-04-30 14:43:30 UTC (rev 67765)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/configure.zcml 2006-04-30 15:25:18 UTC (rev 67766)
@@ -8,7 +8,8 @@
<resourceLibrary name="zc.datetimewidget" layer="default">
<directory
source="resources"
- include="calendar-system.css calendar.js lang/calendar-en.js
+ include="calendar-system.css calendar.js datetimewidget.js
+ lang/calendar-en.js
calendar-setup.js"/>
</resourceLibrary>
Modified: zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py 2006-04-30 14:43:30 UTC (rev 67765)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/datetimewidget.py 2006-04-30 15:25:18 UTC (rev 67766)
@@ -26,7 +26,16 @@
import zope.datetime
import zc.i18n.date
import zc.resourcelibrary
+import glob
+import os
+
+# initialize the language files
+LANGS = []
+for langFile in glob.glob(
+ os.path.join(os.path.dirname(__file__),'resources','lang') + '/calendar-??.js'):
+ LANGS.append(os.path.basename(langFile)[9:11])
+
def normalizeDateTime(dt, request):
if dt is not None:
if (dt.tzinfo is not None and
@@ -51,6 +60,7 @@
%(widget_html)s
<input type="button" value="..." id="%(name)s_trigger">
<script type="text/javascript">
+ %(langDef)s
Calendar.setup(
{
inputField: "%(name)s", // ID of the input field
@@ -67,11 +77,22 @@
def __call__(self):
zc.resourcelibrary.need('zc.datetimewidget')
+ lang = self.request.locale.id.language
+ lang = lang in LANGS and lang or 'en'
+ if lang != 'en':
+ # en is always loadad via the resourcelibrary, so that all
+ # variables are defined in js
+ # TODO: do not hardcode this
+ langFile = '/@@/zc.datetimewidget/lang/calendar-%s.js' % lang
+ langDef = "dateTimeWidgetLoadLanguageFile('%s');" % langFile
+ else:
+ langDef = ''
widget_html = super(DatetimeBase, self).__call__()
return template % {"widget_html": widget_html,
"name": self.name,
"showsTime": self._showsTime,
- "datetime_format": self._format}
+ "datetime_format": self._format,
+ "langDef":langDef}
class DatetimeWidget(DatetimeBase, textwidgets.DatetimeWidget):
"""Datetime entry widget."""
Added: zc.datetimewidget/trunk/src/zc/datetimewidget/resources/datetimewidget.js
===================================================================
--- zc.datetimewidget/trunk/src/zc/datetimewidget/resources/datetimewidget.js 2006-04-30 14:43:30 UTC (rev 67765)
+++ zc.datetimewidget/trunk/src/zc/datetimewidget/resources/datetimewidget.js 2006-04-30 15:25:18 UTC (rev 67766)
@@ -0,0 +1,18 @@
+var dtwLanguageLoaded = false;
+
+function dateTimeWidgetLoadLanguageFile(url){
+
+ // this method loads a languagefile for the datetimewidget
+ // TODO: move this functinality into zc.resourcelibrary
+
+ if (dtwLanguageLoaded==true){
+ return;
+ }
+ var script = document.createElement('script');
+ script.type = 'text/javascript';
+ script.src = url;
+ document.getElementsByTagName('head')[0].appendChild(script);
+ dtwLanguageLoaded = true;
+}
+
+
More information about the Checkins
mailing list