Mega Code Archive

 
Categories / Java Tutorial / Internationalization
 

Calculate the postfix to append to a filename to load the correct single filename for that Locale

/*  * $Id: LocaleUtil.java 667964 2008-06-15 15:00:54Z apetrelli $  *  * Licensed to the Apache Software Foundation (ASF) under one  * or more contributor license agreements.  See the NOTICE file  * distributed with this work for additional information  * regarding copyright ownership.  The ASF licenses this file  * to you under the Apache License, Version 2.0 (the  * "License"); you may not use this file except in compliance  * with the License.  You may obtain a copy of the License at  *  * http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing,  * software distributed under the License is distributed on an  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY  * KIND, either express or implied.  See the License for the  * specific language governing permissions and limitations  * under the License.  */ import java.util.ArrayList; import java.util.List; import java.util.Locale; /**  * Utilities for locale manipulation.  *  * @version $Rev: 667964 $ $Date: 2008-06-15 17:00:54 +0200 (Sun, 15 Jun 2008) $  * @since 2.1.0  */ public class Main {   /**    * The "null" Locale, i.e. a Locale that points to no real locale.    *    * @since 2.1.0    */   public static final Locale NULL_LOCALE = new Locale("");   /**    * Calculate the postfix to append to a filename to load the correct single    * filename for that Locale.    *    * @param locale The locale.    * @return The postfix to append to the filename.    * @since 2.1.0    */   public static String calculatePostfix(Locale locale) {       if (locale == null) {           return "";       }       StringBuilder builder = new StringBuilder();       String language = locale.getLanguage();       String country = locale.getCountry();       String variant = locale.getVariant();       if (!"".equals(language)) {           builder.append("_");           builder.append(language);           if (!"".equals(country)) {               builder.append("_");               builder.append(country);               if (!"".equals(variant)) {                   builder.append("_");                   builder.append(variant);               }           }       }       return builder.toString();   } }