Internationalization Java

/*
 * $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.
 */
/**
 * 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 {
  /**
   * Concat postfix to the name. Take care of existing filename extension.
   * Transform the given name "name.ext" to have "name" + "postfix" + "ext".
   * If there is no ext, return "name" + "postfix".
   *
   * @param name Filename.
   * @param postfix Postfix to add.
   * @return Concatenated filename.
   * @since 2.1.0
   */
  public static String concatPostfix(String name, String postfix) {
      if (postfix == null || "".equals(postfix)) {
          return name;
      }
      // Search file name extension.
      // take care of Unix files starting with .
      int dotIndex = name.lastIndexOf(".");
      int lastNameStart = name.lastIndexOf(java.io.File.pathSeparator);
      if (dotIndex < 1 || dotIndex < lastNameStart) {
          return name + postfix;
      }
      String ext = name.substring(dotIndex);
      name = name.substring(0, dotIndex);
      return name + postfix + ext;
  }
}