I've included this among other template i18n additions. Also it turned out that the table heading rendering that caused my first issue manifested elsewhere. Fixed those too.
Where can I request commit rights and what are the usual practices in committing new changes. First to some branch or so? On 29 huhti, 17:56, danielle davout <[email protected]> wrote: > this one is easy : > > <input type="submit" > i18n:translate="label_add_to_cart" > value="Add to Cart" > i18n:attributes="value" /> > > the attribute value is not translated unless you put > i18n:attributes="value" > > On Wed, Apr 29, 2009 at 4:09 PM, rafael <[email protected]> wrote: > > I have noticed another i18n problem about the add to cart button in the > > portlet not being properly translated. I didn't try to fix it cause I am > > illetrate in i18n... Will this hack fix it? > > > Thanks > > > rafael > > > Lucie Lejard escreveu: > > > It doesn't seem too much of a hack to me. > > If you don't get any feedback, just go ahead and commit your changes. > > > thanks > > Lucie > > -- > > S i x F e e t U p , I n c . | http://www.sixfeetup.com > > Phone: +1 (317) 861-5948 x605 > > ANNOUNCING the first Plone Immersive Training Experience | Sept. 10-11-12, > > 2009 > >http://www.sixfeetup.com/immerse > > > On Wed, Apr 29, 2009 at 3:07 AM, Ilja Everilä <[email protected]> > > wrote: > > > Hello, > > > I've been translating GetPaid (0.7) core and some plugins to Finnish > > and encountered some issues. For example when rendering cart contents > > table headings wouldn't localize. After some digging it turned out > > that these strings were rendered in python and not in template > > context. > > > The problematic classes were > > Products.PloneGetPaid.browser.cart.CartFormatter and > > Products.PloneGetPaid.browser.cart.ShoppingCartListing. Now, I tried > > to use context.translate to wrap these messages, but it turned out > > that the cart context was missing this method. Finally I used (ugly) > > hacks and used zope.app.component.hooks.getSite method to fetch site > > object and used its translate method. > > > As commented in the diff, these feel like ugly hacks and that's why > > I'm asking what would be the correct way of fixing these messages. I'm > > new to Plone and haven't gotten familiar with its possibilities yet. > > > Here's the diff on cart.py: > > > Index: browser/ > > cart.py > > =================================================================== > > --- browser/cart.py (revision > > 2446) > > +++ browser/cart.py (working > > copy) > > @@ -11,6 +11,9 > > @@ > > from zope.formlib import > > form > > from zc.table import column, > > table > > > +# FIXME: this is here for translation > > hacks > > +from zope.app.component.hooks import > > getSite > > + > > from ore.viewlet.container import ContainerViewlet > > from ore.viewlet.core import FormViewlet > > > @@ -196,6 +199,11 @@ > > return interfaces.ILineContainerTotals( self.context ) > > > def renderExtra( self ): > > + > > + # FIXME: This is an ugly hack that fixes certain strings not > > translating since > > + # they're never rendered in template context > > + translate = lambda msg: getSite().translate(msgid=msg, > > domain='plonegetpaid') > > + > > if not len( self.context ): > > return super( CartFormatter, self).renderExtra() > > > @@ -206,16 +214,22 @@ > > subtotal_price = totals.getSubTotalPrice() > > total_price = totals.getTotalPrice() > > > - buffer = [ '<div class="getpaid-totals"><table > > class="listing">'] > > - buffer.append( '<tr><th>SubTotal</th><td style="border-top: > > 1px solid #8CACBB;">%0.2f</td></tr>'%( subtotal_price ) ) > > + buffer = [ u'<div class="getpaid-totals"><table > > class="listing">'] > > + buffer.append('<tr><th>') > > + buffer.append( translate(_(u"SubTotal")) ) > > + buffer.append( '</th><td style="border-top:1px solid > > #8CACBB;">%0.2f</td></tr>'%( subtotal_price ) ) > > > - buffer.append( "<tr><th>Shipping</th><td>%0.2f</td></tr>"% > > ( shipping_price ) ) > > + buffer.append( "<tr><th>" ) > > + buffer.append( translate(_(u"Shipping")) ) > > + buffer.append( "</th><td>%0.2f</td></tr>"% > > ( shipping_price ) ) > > > for tax in tax_list: > > buffer.append( "<tr><th>%s</th><td>%0.2f</td></tr>"%( tax > > ['name'], tax['value'] ) ) > > - buffer.append( "<tr><th>Total</th><td>%0.2f</td></tr>"% > > ( total_price ) ) > > + buffer.append( "<tr><th>" ) > > + buffer.append( translate(_(u"Total")) ) > > + buffer.append( "</th><td>%0.2f</td></tr>"%( total_price ) ) > > buffer.append('</table></div>') > > - > > + > > return u''.join( buffer) + super( CartFormatter, > > self).renderExtra() > > > class ShoppingCartListing( ContainerViewlet ): > > @@ -240,6 +254,11 @@ > > def __init__( self, *args, **kw): > > super( ShoppingCartListing, self ).__init__( *args, **kw ) > > > + # FIXME: Translation hacks, should not use something like > > this > > + for column in self.columns: > > + if hasattr(column, 'title'): > > + column.title = getSite().translate > > (msgid=column.title, domain='plonegetpaid') > > + > > def getContainerContext( self ): > > return self.__parent__.cart --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "getpaid-dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/getpaid-dev?hl=en -~----------~----~----~----~------~----~------~--~---
