本文整理汇总了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);
}
}
示例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);
}
}