class TranslationsToolWrapperNaayaTest(NaayaTestCase):
        def setUp(self):
            # step 1: fix request patch, for Localizer
            try:
                # needed for some Localizer Patching:
                from thread import get_ident
                from Products.Localizer.patches import _requests
                _requests[get_ident()] = self.portal.REQUEST
            except:
                pass

            # step 2: add language in site and catalog
            self.portal.gl_add_site_language('de')
            try:
                # for old code, we also need to add language in trans. catalog
                self.portal.getPortalTranslations().add_language('de')
            except:
                pass

            # step 3: force negotiation to de, regardless of negotiator
            self.portal.REQUEST['EDW_SelectedLanguage'] = {('en', 'de'): 'de'}
            self.portal.REQUEST['TraversalRequestNameStack'] = ['de']

        def test_translate(self):
            # add message and translation
            self.portal.getPortalTranslations().gettext('${count} dogs', 'en')
            try:
                self.portal.getPortalTranslations().message_edit(
                    '${count} dogs', 'de', '${count} Hunde', '')
            except AttributeError:
                self.portal.getPortalTranslations().edit_message(
                    '${count} dogs', 'de', '${count} Hunde')

            # and test!
            in_de = self.portal.getPortalTranslations().trans('${count} dogs',
                                                              count='3')
            self.assertEqual(in_de, '3 Hunde')

        def test_template_translation(self):
            self.tmpl = PageTemplate(id='test_tmpl')
            self.tmpl.pt_edit(
                '<p i18n:translate="">Home for'
                ' <span i18n:name="hours">3</span> hours</p>', 'text/html')

            self.assertEqual(
                self.tmpl.__of__(self.portal)(),
                '<p>Home for <span>3</span> hours</p>')
            self.portal.getLocalizer().edit_message(
                'Home for ${hours} hours', 'en', 'Home für ${hours} Stunden')
            self.assertEqual(
                self.tmpl.__of__(self.portal)(),
                '<p>Home für <span>${hours}</span> Stunden</p>')
    class TranslationsToolWrapperNaayaTest(NaayaTestCase):

        def setUp(self):
            # step 1: fix request patch, for Localizer
            try:
                # needed for some Localizer Patching:
                from thread import get_ident
                from Products.Localizer.patches import _requests
                _requests[get_ident()] = self.portal.REQUEST
            except:
                pass

            # step 2: add language in site and catalog
            self.portal.gl_add_site_language('de')
            try:
                # for old code, we also need to add language in trans. catalog
                self.portal.getPortalTranslations().add_language('de')
            except:
                pass

            # step 3: force negotiation to de, regardless of negotiator
            self.portal.REQUEST['EDW_SelectedLanguage'] = {('en', 'de'): 'de'}
            self.portal.REQUEST['TraversalRequestNameStack'] = ['de']

        def test_translate(self):
            # add message and translation
            self.portal.getPortalTranslations().gettext('${count} dogs', 'en')
            try:
                self.portal.getPortalTranslations().message_edit('${count} dogs', 'de', '${count} Hunde', '')
            except AttributeError:
                self.portal.getPortalTranslations().edit_message('${count} dogs', 'de', '${count} Hunde')

            # and test!
            in_de = self.portal.getPortalTranslations().trans('${count} dogs',
                                                              count='3')
            self.assertEqual(in_de, '3 Hunde')

        def test_template_translation(self):
            self.tmpl = PageTemplate(id='test_tmpl')
            self.tmpl.pt_edit('<p i18n:translate="">Home for'
                              ' <span i18n:name="hours">3</span> hours</p>',
                              'text/html')

            self.assertEqual(self.tmpl.__of__(self.portal)(),
                             '<p>Home for <span>3</span> hours</p>')
            self.portal.getLocalizer().edit_message('Home for ${hours} hours', 'en',
                                                    'Home für ${hours} Stunden')
            self.assertEqual(self.tmpl.__of__(self.portal)(),
                             '<p>Home für <span>${hours}</span> Stunden</p>')