- From: Jean-Guilhem Rouel via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 28 Aug 2009 12:40:19 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/language In directory hutz:/tmp/cvs-serv22368/src/org/w3c/unicorn/language Added Files: Language.java Log Message: Merging dev2 in HEAD --- NEW FILE: Language.java --- package org.w3c.unicorn.language; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.net.MalformedURLException; import java.util.Enumeration; import java.util.Iterator; import java.util.Locale; import java.util.Properties; import java.util.Set; import org.apache.velocity.VelocityContext; import org.w3c.unicorn.util.Property; import org.w3c.unicorn.Framework; public class Language { public static boolean isISOLanguageCode(String languageCode) { String[] isoCodes = Locale.getISOLanguages(); for (String code : isoCodes) { if (code.equals(languageCode)) return true; } return false; } public static void addToContext(VelocityContext velocityContext, Locale lang) throws Exception { File languageFile = new File(Property.get("PATH_TO_LANGUAGE_FILES") + lang.getLanguage() + ".properties"); FileReader fr = new FileReader(languageFile); Properties langProps = new Properties(); langProps.load(fr); Set<Object> keys = langProps.keySet(); Iterator<Object> itr = keys.iterator(); String key; while (itr.hasNext()) { key = itr.next().toString(); velocityContext.put(key, langProps.get(key)); } } public static void addToContext(Properties langProps, VelocityContext context) throws Exception { Set<Object> keys = langProps.keySet(); Iterator<Object> itr = keys.iterator(); String key; while (itr.hasNext()) { key = itr.next().toString(); context.put(key, langProps.get(key)); } for (Object keyss : langProps.keySet()) { context.put((String) keyss, langProps.get(keyss)); } } public static String negociate(Enumeration<?> locales) { while (locales.hasMoreElements()) { Locale loc = (Locale) locales.nextElement(); if (Framework.getLanguageProperties().containsKey(loc.getLanguage())) { return loc.getLanguage(); } } return Property.get("DEFAULT_LANGUAGE"); } public static void addLanguageFile(File langFile) throws MalformedURLException, IOException { String fileName = langFile.getName(); String locale = fileName.split("\\.")[0]; if (!isISOLanguageCode(locale)) { return; } //Locale locale = new Locale(localeString); Properties props = new Properties(); props.load(langFile.toURI().toURL().openStream()); //languages.put(locale, props); } public static VelocityContext getContext(String langParameter) { if (langParameter != null && Framework.getLanguageContexts().containsKey(langParameter)) return Framework.getLanguageContexts().get(langParameter); else return Framework.getLanguageContexts().get(Property.get("DEFAULT_LANGUAGE")); } }
Received on Friday, 28 August 2009 12:40:30 UTC