in tiles-request-api/src/main/java/org/apache/tiles/request/locale/PostfixedApplicationResource.java [64:93]
protected PostfixedApplicationResource(String localePath) {
int prefixIndex = localePath.indexOf('_', localePath.lastIndexOf("/"));
int suffixIndex = localePath.lastIndexOf('.');
if (suffixIndex < 0) {
suffix = "";
suffixIndex = localePath.length();
} else {
suffix = localePath.substring(suffixIndex);
}
if (prefixIndex < 0) {
pathPrefix = localePath.substring(0, suffixIndex);
locale = Locale.ROOT;
} else {
pathPrefix = localePath.substring(0, prefixIndex);
String localeString = localePath.substring(prefixIndex + 1, suffixIndex);
Locale found = localeFrom(localeString);
locale = validateLocale(found);
if (Locale.ROOT.equals(locale)) {
pathPrefix = suffixIndex < 0 ? localePath : localePath.substring(0, suffixIndex);
LOG.warn("No supported matching language for locale \"" + localeString + "\". Using "
+ getPath() + " as a non-localized resource path. see TILES-571");
} else if (!localeString.equalsIgnoreCase(getPostfix(locale).substring(1))) {
LOG.warn("For resource " + localePath
+ " the closest supported matching locale to \"" + localeString + "\" is \"" + locale
+ "\". Using " + getPath() + " as resource path. see TILES-571");
}
}
}