/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
package com.liferay.portal.kernel.language;
import aQute.bnd.annotation.ProviderType;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.util.ResourceBundleLoader;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.Set;
import javax.portlet.PortletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author Brian Wing Shun Chan
*/
@ProviderType
public interface Language {
public String format(
HttpServletRequest request, String pattern, LanguageWrapper argument);
public String format(
HttpServletRequest request, String pattern, LanguageWrapper argument,
boolean translateArguments);
public String format(
HttpServletRequest request, String pattern,
LanguageWrapper[] arguments);
public String format(
HttpServletRequest request, String pattern, LanguageWrapper[] arguments,
boolean translateArguments);
public String format(
HttpServletRequest request, String pattern, Object argument);
public String format(
HttpServletRequest request, String pattern, Object argument,
boolean translateArguments);
public String format(
HttpServletRequest request, String pattern, Object[] arguments);
public String format(
HttpServletRequest request, String pattern, Object[] arguments,
boolean translateArguments);
public String format(Locale locale, String pattern, List<Object> arguments);
public String format(Locale locale, String pattern, Object argument);
public String format(
Locale locale, String pattern, Object argument,
boolean translateArguments);
public String format(Locale locale, String pattern, Object[] arguments);
public String format(
Locale locale, String pattern, Object[] arguments,
boolean translateArguments);
public String format(
ResourceBundle resourceBundle, String pattern, Object argument);
public String format(
ResourceBundle resourceBundle, String pattern, Object argument,
boolean translateArguments);
public String format(
ResourceBundle resourceBundle, String pattern, Object[] arguments);
public String format(
ResourceBundle resourceBundle, String pattern, Object[] arguments,
boolean translateArguments);
public String get(
HttpServletRequest request, ResourceBundle resourceBundle, String key);
public String get(
HttpServletRequest request, ResourceBundle resourceBundle, String key,
String defaultValue);
public String get(HttpServletRequest request, String key);
public String get(
HttpServletRequest request, String key, String defaultValue);
public String get(Locale locale, String key);
public String get(Locale locale, String key, String defaultValue);
public String get(ResourceBundle resourceBundle, String key);
public String get(
ResourceBundle resourceBundle, String key, String defaultValue);
public Set<Locale> getAvailableLocales();
public Set<Locale> getAvailableLocales(long groupId);
public String getBCP47LanguageId(HttpServletRequest request);
public String getBCP47LanguageId(Locale locale);
public String getBCP47LanguageId(PortletRequest portletRequest);
public String getLanguageId(HttpServletRequest request);
public String getLanguageId(Locale locale);
public String getLanguageId(PortletRequest portletRequest);
public Locale getLocale(long groupId, String languageCode);
public Locale getLocale(String languageCode);
public ResourceBundleLoader getPortalResourceBundleLoader();
public Set<Locale> getSupportedLocales();
public String getTimeDescription(
HttpServletRequest request, long milliseconds);
public String getTimeDescription(
HttpServletRequest request, long milliseconds, boolean approximate);
public String getTimeDescription(
HttpServletRequest request, Long milliseconds);
public String getTimeDescription(Locale locale, long milliseconds);
public String getTimeDescription(
Locale locale, long milliseconds, boolean approximate);
public String getTimeDescription(Locale locale, Long milliseconds);
public void init();
public boolean isAvailableLanguageCode(String languageCode);
public boolean isAvailableLocale(Locale locale);
public boolean isAvailableLocale(long groupId, Locale locale);
public boolean isAvailableLocale(long groupId, String languageId);
public boolean isAvailableLocale(String languageId);
public boolean isBetaLocale(Locale locale);
public boolean isDuplicateLanguageCode(String languageCode);
public boolean isInheritLocales(long groupId) throws PortalException;
public String process(
ResourceBundle resourceBundle, Locale locale, String content);
public void resetAvailableGroupLocales(long groupId);
public void resetAvailableLocales(long companyId);
public void updateCookie(
HttpServletRequest request, HttpServletResponse response,
Locale locale);
}