В настоящее время я пытаюсь ладить с Apache Tika и настроить обнаружение языка, которое проверяет все значения ключей моих различных файлов свойств на правильный язык соответствующего файла. К сожалению, обнаружение не очень хорошее. Все ключи не распознаются на правильном языке, и я не знаю, как лучше это сделать. Решение API не может быть рассмотрено, потому что у меня есть заказ, чтобы найти свободный путь, и большинство бесплатных соединений разрешают только 1000 звонков в день (только на немецком языке у меня более 14000 ключей).
Если вы знаете, как я могу улучшить текущий код или, возможно, есть другое решение, пожалуйста, дайте мне знать!
Большое спасибо, Pascal
Это мой текущий код:
import java.util.Set;
import org.apache.tika.language.LanguageIdentifier;
public class detect {
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
final MyPropAllKeys mPAK = new MyPropAllKeys("messages_forCheck.properties");
final Set<Object> keys = mPAK.getAllKeys();
for (final Object key : keys) {
final String keyString = key.toString();
final String keyValueString = mPAK.getPropertyValue(keyString);
detect(keyValueString, key);
}
}
public static void detect(String keyValueString, Object key) {
final LanguageIdentifier languageIdentifier = new LanguageIdentifier(keyValueString);
final String language = languageIdentifier.getLanguage();
if (!language.equals("de")) {
System.out.println(language + " " + key + ": " + keyValueString);
}
}
}
Например, вот некоторые из результатов:
pt de.segal.baoss.platform.entity.BackgroundTaskType.MASS_INVOICE_DOCUMENT_CREATION: Rechnungsdokumente erzeugen
sk de.segal.baoss.purchase.supplier.creditorNumber: Kreditorennummer
no de.segal.baoss.module.crm.revenueLastYear: Umsatz vergangenes Jahr
no de.segal.baoss.module.op.customerReturn.action.createCreditEntry: Gutschrift erstellen
Все они определенно немецкие