Hel*_*odo 3 browser share alfresco
很容易找到Alfresco Exlplorer的解决方案,但Alfresco Share只使用一种特定语言,与网络浏览器的语言环境设置无关,哪种方式适合?
这取决于您如何部署Alfresco,但假设您在生产环境中工作,在您的客户端和Alfresco服务器之间放置HTTP代理/负载平衡器是标准做法,您有一些潜在的选择.
共享响应Accept-LanguageWeb浏览器发送的标头,因此为了防止它基于此切换语言,您可以将代理配置为Accept-Language从传入的客户端请求中删除标头.
例如,使用Apache可以在诸如的配置中mody_proxy一起使用mod_headers
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
RequestHeader unset Accept-Language
Run Code Online (Sandbox Code Playgroud)
前两行将代理来自Apache的请求(很可能在端口80上运行)到端口8080上托管Alfresco的Tomcat实例,而第三行将删除Accept-Language头.
然后,Share将默认为运行Alfresco的Java进程的语言环境,因此您应确保将其设置为US English(en-US).
小智 6
分享是基于Spring Surf哪个Spring MVC.默认情况下,使用内置AcceptHeaderLocaleResolver.要覆盖它,只需定义一个org.springframework.extensions.surf.mvc.LocaleResolver如上所述扩展的bean :
将bean声明添加到导入的任何配置文件中 slingshot-application-context.xml
<!-- Override Locale Resolver -->
<bean id="localeResolver" class="mypackage.CustomLocaleResolver" />
Run Code Online (Sandbox Code Playgroud)
添加新的LocaleResolver实现类
package mypackage;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.springframework.extensions.surf.mvc.LocaleResolver;
import org.springframework.extensions.surf.util.I18NUtil;
public class CustomLocaleResolver extends LocaleResolver {
public Locale resolveLocale(HttpServletRequest request) {
Locale locale = Locale.FRENCH;
I18NUtil.setLocale(locale);
return locale;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3395 次 |
| 最近记录: |