Remove new feature in LinguaPlone that shows always the selection of all languages
Thats only the source code from the old linguaPlone. The file is located at browser/selector.py
from plone.app.i18n.locales.browser.selector import LanguageSelector
from plone.app.layout.navigation.interfaces import INavigationRoot
from zope.component import getMultiAdapter
from Acquisition import aq_chain
from Acquisition import aq_inner
from Products.CMFCore.interfaces import ISiteRoot
from Products.Five.browser.pagetemplatefile import ZopeTwoPageTemplateFile
from ZTUtils import make_query
from Products.LinguaPlone.interfaces import ITranslatable
class TranslatableLanguageSelector(LanguageSelector):
"""Language selector for translatable content.
"""
render = ZopeTwoPageTemplateFile('selector.pt')
def available(self):
if self.tool is not None:
selector = self.tool.showSelector()
languages = len(self.tool.getSupportedLanguages()) > 1
return selector and languages
return False
def languages(self):
results = LanguageSelector.languages(self)
translatable = ITranslatable(self.context, None)
if translatable is not None:
translations = translatable.getTranslations()
else:
translations = []
for data in results:
data['translated'] = data['code'] in translations
if data['translated']:
trans = translations[data['code']][0]
state = getMultiAdapter((trans, self.request),
name='plone_context_state')
data['url'] = state.view_url() + '?set_language=' + data['code']
else:
state = getMultiAdapter((self.context, self.request),
name='plone_context_state')
try:
data['url'] = state.view_url() + '?set_language=' + data['code']
except AttributeError:
data['url'] = self.context.absolute_url() + '?set_language=' + data['code']
return results
