Update of /cvsroot/archetypes/Archetypes/skins/archetypes
In directory sc8-pr-cvs1:/tmp/cvs-serv24249/skins/archetypes
Modified Files:
base_edit.pt base_view.pt
Added Files:
i18n_slot.pt languageDescription.py setI18NCookie.py
Log Message:
base support for I18N content fields
--- NEW FILE: i18n_slot.pt ---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
i18n:domain="i18nlayer">
<body>
<div class="box" metal:define-macro="i18nContentBox"
tal:condition="python:hasattr(here, 'hasI18NContent') and
here.hasI18NContent()">
<!-- The I18NContent box -->
<h5 i18n:translate="box_contentlanguages">Languages</h5>
<div class="body">
<div class="content odd">
<metal:block metal:define-macro="i18nContentChooser">
<form name="i18ncontentselector" method="POST"
action="setI18NCookie"
tal:attributes="action
string:${here/absolute_url}/setI18NCookie"
tal:define="languages languages | here/getFilteredLanguages;
current lang | here/getLanguage;
form_name string:i18ncontentselector;
attr_name string:lang">
<div metal:define-macro="i18nLangSelect" class="lang_selector"
align="right">
<select name="lang"
tal:define="form_name form_name | nothing"
tal:attributes="name attr_name;
onChange python:form_name and
(form_name+'.submit()');">
<option value="" i18n:domain="plone"
i18n:translate="label_choose_language">Choose Language</option>
<tal:block tal:repeat="lang python:languages">
<option value=""
tal:attributes="value python:lang[0];
selected python:current ==
lang[0]"
tal:content="python:lang[1]+' ('+lang[0]+')'" />
</tal:block>
</select>
</div>
</form>
</metal:block>
</div>
<!--
<div class="content even"
tal:condition="python:here.portal_membership.checkPermission('Modify portal
content', here.retrieveI18NContentLayerOb()) or
here.portal_membership.checkPermission('Add portal content',
here.retrieveI18NContentLayerOb())">
<a href="#" tal:attributes="href
string:${here/retrieveI18NContentLayerURL}/i18nlayer_languages_form"
i18n:translate="label_manage_languages">Manage languages</a>
</div>
-->
</div>
</div>
</body>
</html>
--- NEW FILE: languageDescription.py ---
## Script (Python) "languageDescription"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=lang_id
##title=Return the full language description from it's id
return {
'aa': 'Afar',
'ab': 'Abkhazian',
'af': 'Afrikaans',
'am': 'Amharic',
'ar': 'Arabic',
'as': 'Assamese',
'ay': 'Aymara',
'az': 'Azerbaijani',
'ba': 'Bashkir',
'be': 'Byelorussian Belarussian',
'bg': 'Bulgarian',
'bh': 'Bihari',
'bi': 'Bislama',
'bn': 'Bengali',
'bo': 'Tibetan',
'br': 'Breton',
'ca': 'Catalan',
'co': 'Corsican',
'cs': 'Czech',
'cy': 'Welsh',
'da': 'Danish',
'de': 'German',
'dz': 'Bhutani',
'el': 'Greek',
'en': 'English',
'eo': 'Esperanto',
'es': 'Spanish',
'et': 'Estonian',
'eu': 'Basque',
'fa': 'Persian',
'fi': 'Finnish',
'fj': 'Fiji',
'fo': 'Faroese',
'fr': 'French',
'fy': 'Frisian',
'ga': 'Irish Irish Gaelic',
'gd': 'Scots Gaelic Scottish Gaelic',
'gl': 'Galician',
'gn': 'Guarani',
'gu': 'Gujarati',
'gv': 'Manx Gaelic',
'ha': 'Hausa',
'he': 'Hebrew',
'hi': 'Hindi',
'hr': 'Croatian',
'hu': 'Hungarian',
'hy': 'Armenian',
'ia': 'Interlingua',
'id': 'Indonesian',
'ie': 'Interlingue',
'ik': 'Inupiak',
'is': 'Icelandic',
'it': 'Italian',
'iu': 'Inuktitut',
'ja': 'Japanese',
'jw': 'Javanese',
'ka': 'Georgian',
'kk': 'Kazakh',
'kl': 'Greenlandic',
'km': 'Cambodian',
'kn': 'Kannada',
'ko': 'Korean',
'ks': 'Kashmiri',
'ku': 'Kurdish',
'kw': 'Cornish',
'ky': 'Kirghiz',
'la': 'Latin',
'lb': 'Luxemburgish',
'ln': 'Lingala',
'lo': 'Laotian',
'lt': 'Lithuanian',
'lv': 'Latvian Lettish',
'mg': 'Malagasy',
'mi': 'Maori',
'mk': 'Macedonian',
'ml': 'Malayalam',
'mn': 'Mongolian',
'mo': 'Moldavian',
'mr': 'Marathi',
'ms': 'Malay',
'mt': 'Maltese',
'my': 'Burmese',
'na': 'Nauru',
'ne': 'Nepali',
'nl': 'Dutch',
'no': 'Norwegian',
'oc': 'Occitan',
'om': 'Oromo',
'or': 'Oriya',
'pa': 'Punjabi',
'pl': 'Polish',
'ps': 'Pashto',
'pt': 'Portuguese',
'qu': 'Quechua',
'rm': 'Rhaeto-Romance',
'rn': 'Kirundi',
'ro': 'Romanian',
'ru': 'Russian',
'rw': 'Kiyarwanda',
'sa': 'Sanskrit',
'sd': 'Sindhi',
'se': 'Northern Sámi',
'sg': 'Sangho',
'sh': 'Serbo-Croatian',
'si': 'Singhalese',
'sk': 'Slovak',
'sl': 'Slovenian',
'sm': 'Samoan',
'sn': 'Shona',
'so': 'Somali',
'sq': 'Albanian',
'sr': 'Serbian',
'ss': 'Siswati',
'st': 'Sesotho',
'su': 'Sudanese',
'sv': 'Swedish',
'sw': 'Swahili',
'ta': 'Tamil',
'te': 'Telugu',
'tg': 'Tajik',
'th': 'Thai',
'ti': 'Tigrinya',
'tk': 'Turkmen',
'tl': 'Tagalog',
'tn': 'Setswana',
'to': 'Tonga',
'tr': 'Turkish',
'ts': 'Tsonga',
'tt': 'Tatar',
'tw': 'Twi',
'ug': 'Uigur',
'uk': 'Ukrainian',
'ur': 'Urdu',
'uz': 'Uzbek',
'vi': 'Vietnamese',
'vo': 'Volapük',
'wo': 'Wolof',
'xh': 'Xhosa',
'yi': 'Yiddish',
'yo': 'Yorouba',
'za': 'Zhuang',
'zh': 'Chinese',
'zu': 'Zulu'
}[lang_id]
--- NEW FILE: setI18NCookie.py ---
## Script (Python) "setI18NCookie"
##title=
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=lang, cookie=1
REQUEST = context.REQUEST
if cookie:
REQUEST.RESPONSE.setCookie('I18N_CONTENT_LANGUAGE',lang, path='/')
elif REQUEST.cookies.get('I18N_CONTENT_LANGUAGE',None):
REQUEST.RESPONSE.expireCookie('I18N_CONTENT_LANGUAGE', path='/')
REQUEST.RESPONSE.redirect(REQUEST.environ['HTTP_REFERER'])
Index: base_edit.pt
===================================================================
RCS file: /cvsroot/archetypes/Archetypes/skins/archetypes/base_edit.pt,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** base_edit.pt 12 Jun 2003 22:16:12 -0000 1.19
--- base_edit.pt 19 Jun 2003 14:58:45 -0000 1.20
***************
*** 19,22 ****
--- 19,23 ----
tabindex python:Iterator();
schematas here/Schemata;
+ lang here/getLanguage<;
default_fieldset python:(not schematas or
schematas.has_key('default')) and 'default' or schematas.keys()[0];
fieldset
request/fieldset|options/fieldset|default_fieldset;
***************
*** 58,61 ****
--- 59,70 ----
</div>
-->
+
+ <div tal:condition="python:here.hasI18NContent()"
+ tal:define="attr_name string:new_lang;
+ current lang;
+ languages python:here.availableLanguages();">
+ <metal:block use-macro="here/i18n_slot/macros/i18nLangSelect"/>
+ </div>
+
<span class="legend"
i18n:translate=""
Index: base_view.pt
===================================================================
RCS file: /cvsroot/archetypes/Archetypes/skins/archetypes/base_view.pt,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** base_view.pt 3 Jun 2003 15:44:00 -0000 1.10
--- base_view.pt 19 Jun 2003 14:58:45 -0000 1.11
***************
*** 14,17 ****
--- 14,20 ----
<h1 tal:content="here/title_or_id"
metal:use-macro="view_macros/header|default" />
+ <div tal:condition="python:here.hasI18NContent()">
+ <metal:block use-macro="here/i18n_slot/macros/i18nContentChooser"/>
+ </div>
<div tal:condition="not:body_macro"
-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
|