/*
* Hibernate Search, full-text search for your domain model
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.search.test.integration.spring.injection.i18n;
import java.util.HashMap;
import java.util.Map;
import org.springframework.data.util.Pair;
import org.springframework.stereotype.Service;
/**
* @author Yoann Rodiere
*/
@Service
public class LocalizationService {
private final Map<Pair<InternationalizedValue, Language>, String> localizationMap = new HashMap<>();
public LocalizationService() {
register( InternationalizedValue.HELLO, Language.ENGLISH, "hello" );
register( InternationalizedValue.GOODBYE, Language.ENGLISH, "goodbye" );
register( InternationalizedValue.HELLO, Language.GERMAN, "hallo" );
register( InternationalizedValue.GOODBYE, Language.GERMAN, "auf wiedersehen" );
register( InternationalizedValue.HELLO, Language.FRENCH, "bonjour" );
register( InternationalizedValue.GOODBYE, Language.FRENCH, "au revoir" );
}
private void register(InternationalizedValue value, Language language, String translation) {
localizationMap.put( Pair.of( value, language ), translation );
}
public String localize(InternationalizedValue value, Language language) {
return localizationMap.get( Pair.of( value, language ) );
}
}