当前位置: 首页>>代码示例>>Java>>正文


Java MessagesSourceCrawler类代码示例

本文整理汇总了Java中org.pentaho.di.ui.i18n.MessagesSourceCrawler的典型用法代码示例。如果您正苦于以下问题:Java MessagesSourceCrawler类的具体用法?Java MessagesSourceCrawler怎么用?Java MessagesSourceCrawler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MessagesSourceCrawler类属于org.pentaho.di.ui.i18n包,在下文中一共展示了MessagesSourceCrawler类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: readFiles

import org.pentaho.di.ui.i18n.MessagesSourceCrawler; //导入依赖的package包/类
public void readFiles(java.util.List<String> directories) throws KettleFileException
{
    log.logBasic(toString(), Messages.getString("i18n.Log.ScanningSourceDirectories"));
    try
    {
    	// crawl through the source directories...
    	//
    	crawler = new MessagesSourceCrawler(directories, singleMessagesFile, xmlFolders);
    	crawler.setFilesToAvoid(filesToAvoid);
    	crawler.crawl();
    	
    	// get the packages...
    	//
    	messagesPackages = crawler.getMessagesPackagesList();
    	store = new TranslationsStore(localeList, messagesPackages, referenceLocale); // en_US : main locale
    	store.read(directories);
    	
    	// What are the statistics?
    	//
    	int nrKeys = 0;
    	
    	int keyCounts[] = new int[localeList.size()];
    	for (int i=0;i<localeList.size();i++) {
    		String locale = localeList.get(i);
    		
    		// Count the number of keys available in that locale...
    		//
    		keyCounts[i]=0;
    		for (KeyOccurrence keyOccurrence : crawler.getOccurrences()) {
    			// We don't want the system keys, just the regular ones.
    			//
    			if (showKey(keyOccurrence.getKey(), keyOccurrence.getMessagesPackage())) {
        			String value = store.lookupKeyValue(locale, keyOccurrence.getMessagesPackage(), keyOccurrence.getKey());
     			if (!Const.isEmpty(value)) {
     				keyCounts[i]++;
     			}
     			if (locale.equals(referenceLocale)) {
     				nrKeys++;
     			}
    			}
    		}
    	}
    	String[] locales = localeList.toArray(new String[localeList.size()]);
    	for (int i=0;i<locales.length;i++) {
    		for (int j=0;j<locales.length-1;j++) {
    			if (keyCounts[j]<keyCounts[j+1]) {
    				int c = keyCounts[j];
    				keyCounts[j] = keyCounts[j+1];
    				keyCounts[j+1] = c;
    				
    				String l = locales[j];
    				locales[j] = locales[j+1];
    				locales[j+1] = l;
    			}
    		}
    	}
    	
    	
    	DecimalFormat pctFormat = new DecimalFormat("#00.00");
    	DecimalFormat nrFormat = new DecimalFormat("00");
    	
    	System.out.println(Messages.getString("i18n.Log.NumberOfKeysFound",""+nrKeys));
    	for (int i=0;i<locales.length;i++) {
    	    double donePct = 100 * (double)keyCounts[i] / (double)nrKeys;
    	    int missingKeys = nrKeys - keyCounts[i];
    	    String statusKeys = "# "+nrFormat.format(i+1)+" : "+locales[i]+" : "+pctFormat.format(donePct)+"% complete  ("+keyCounts[i]+")" +
    	    	(missingKeys!=0 ? ("...missing " + missingKeys) : "");
    	    System.out.println(statusKeys);
    	}
    }
    catch(Exception e)
    {
        throw new KettleFileException(Messages.getString("i18n.Log.UnableToGetFiles",rootDirectories.toString()), e);
        
    }
}
 
开发者ID:icholy,项目名称:geokettle-2.0,代码行数:77,代码来源:Translator2.java

示例2: readFiles

import org.pentaho.di.ui.i18n.MessagesSourceCrawler; //导入依赖的package包/类
public void readFiles(java.util.List<String> directories) throws KettleFileException
{
    log.logBasic(BaseMessages.getString(PKG, "i18n.Log.ScanningSourceDirectories"));
    try
    {
    	// crawl through the source directories...
    	//
    	crawler = new MessagesSourceCrawler(log, directories, singleMessagesFile, xmlFolders);
    	crawler.setScanPhrases(scanPhrases);
    	crawler.setFilesToAvoid(filesToAvoid);
    	crawler.crawl();
    	
    	// get the packages...
    	//
    	messagesPackages = crawler.getMessagesPackagesList();
    	store = new TranslationsStore(log, localeList, messagesPackages, referenceLocale, crawler.getPackageOccurrences()); // en_US : main locale
    	store.read(directories);
    	
    	// What are the statistics?
    	//
    	int nrKeys = 0;
    	
    	int keyCounts[] = new int[localeList.size()];
    	for (int i=0;i<localeList.size();i++) {
    		String locale = localeList.get(i);
    		
    		// Count the number of keys available in that locale...
    		//
    		keyCounts[i]=0;
    		for (KeyOccurrence keyOccurrence : crawler.getOccurrences()) {
    			// We don't want the system keys, just the regular ones.
    			//
    			if (showKey(keyOccurrence.getKey(), keyOccurrence.getMessagesPackage())) {
        			String value = store.lookupKeyValue(locale, keyOccurrence.getMessagesPackage(), keyOccurrence.getKey());
     			if (!Const.isEmpty(value)) {
     				keyCounts[i]++;
     			}
     			if (locale.equals(referenceLocale)) {
     				nrKeys++;
     			}
    			}
    		}
    	}
    	String[] locales = localeList.toArray(new String[localeList.size()]);
    	for (int i=0;i<locales.length;i++) {
    		for (int j=0;j<locales.length-1;j++) {
    			if (keyCounts[j]<keyCounts[j+1]) {
    				int c = keyCounts[j];
    				keyCounts[j] = keyCounts[j+1];
    				keyCounts[j+1] = c;
    				
    				String l = locales[j];
    				locales[j] = locales[j+1];
    				locales[j+1] = l;
    			}
    		}
    	}
    	
    	
    	DecimalFormat pctFormat = new DecimalFormat("#00.00");
    	DecimalFormat nrFormat = new DecimalFormat("00");
    	
    	System.out.println(BaseMessages.getString(PKG, "i18n.Log.NumberOfKeysFound",""+nrKeys));
    	for (int i=0;i<locales.length;i++) {
    	    double donePct = 100 * (double)keyCounts[i] / (double)nrKeys;
    	    int missingKeys = nrKeys - keyCounts[i];
    	    String statusKeys = "# " + nrFormat.format(i+1) +
    	    			" : " + locales[i] + 
    	    			" : " + pctFormat.format(donePct) +
    	                         "% " + BaseMessages.getString(PKG, "i18n.Log.CompleteKeys", keyCounts[i]) +
    	    	(missingKeys!=0 ? BaseMessages.getString(PKG, "i18n.Log.MissingKeys", missingKeys) : "");
    	    System.out.println(statusKeys);
    	}
    }
    catch(Exception e)
    {
        throw new KettleFileException(BaseMessages.getString(PKG, "i18n.Log.UnableToGetFiles",rootDirectories.toString()), e);
        
    }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:81,代码来源:Translator2.java


注:本文中的org.pentaho.di.ui.i18n.MessagesSourceCrawler类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。