Alfresco Exlplorer の解決策を見つけるのは簡単ですが、Alfresco Share が Web ブラウザのロケール設定に関係なく、特定の言語のみを使用するにはどの方法が適切でしょうか?
4 に答える
Alfresco をどのようにデプロイしたかによって異なりますが、クライアントと Alfresco サーバーの間に HTTP プロキシ/ロード バランサーを配置することが標準的な方法である運用環境で作業していると仮定すると、いくつかの選択肢があります。
Share は Web ブラウザーから送信されたヘッダーに応答するAccept-Language
ため、これに基づいて言語を切り替えることを防ぐために、Accept-Language
着信クライアント要求からヘッダーを削除するようにプロキシを構成できます。
たとえば、次のような構成でmody_proxy
と一緒に使用できる Apache を使用します。mod_headers
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
RequestHeader unset Accept-Language
最初の 2 行は、Apache (ポート 80 で実行されている可能性が高い) からポート 8080 で Alfresco をホストする Tomcat インスタンスにリクエストをプロキシし、3 行目はAccept-Language
ヘッダーを削除します。
共有は、Alfresco が実行されている Java プロセスのロケールにデフォルト設定されるため、これが米国英語 ( en-US
) に設定されていることを確認する必要があります。
シェアは の上にあるものに基づいて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" />
新しい 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;
}
}
他のすべての *.properties ファイルを削除する最も簡単な方法です。
共有は、web-client-config.xml ファイルに対する Explorer のようには見えません。
したがって、次のようなスクリプトfind . -name *_<language>.properties -exec rm -rf {} \;