Merge remote-tracking branch 'origin/pr/511' into develop

This commit is contained in:
Jason Letourneau 2014-03-07 10:27:23 -05:00
commit cce96735c8
22 changed files with 357 additions and 101 deletions

View File

@ -20,6 +20,8 @@
package org.sleuthkit.autopsy.keywordsearch;
import java.nio.charset.Charset;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException;
/**
@ -59,7 +61,8 @@ class AbstractFileChunk {
//logger.log(Level.INFO, "Ingesting string chunk: " + this.getName() + ": " + chunkID);
} catch (Exception ingEx) {
success = false;
throw new IngesterException("Problem ingesting file string chunk: " + parent.getSourceFile().getId() + ", chunk: " + chunkID, ingEx);
throw new IngesterException(NbBundle.getMessage(this.getClass(), "AbstractFileChunk.index.exception.msg",
parent.getSourceFile().getId(), chunkID), ingEx);
}
return success;
}

View File

@ -23,6 +23,8 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.apache.solr.common.util.ContentStream;
import org.sleuthkit.datamodel.AbstractContent;
@ -69,12 +71,13 @@ import org.sleuthkit.datamodel.AbstractFile;
@Override
public Long getSize() {
//return convertedLength;
throw new UnsupportedOperationException("Cannot tell how many chars in converted string, until entire string is converted");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "AbstractFileStringContentStream.getSize.exception.msg"));
}
@Override
public String getSourceInfo() {
return "File:" + content.getId();
return NbBundle.getMessage(this.getClass(), "AbstractFileStringContentStream.getSrcInfo.text", content.getId());
}
@Override

View File

@ -90,7 +90,6 @@ KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Manage keyword lists
KeywordSearchConfigurationPanel2.frequencyLabel.text=Results update frequency during ingest:
KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=1 minute (faster feedback, longest ingest)
KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=1 minute (overall ingest time will be longest)
KeywordSearchConfigurationPanel2.showSnippetsCB.text=Show Keyword Preview in Keyword Search Results (will result in longer search times)
AbstractKeywordSearchPerformer.search.dialogErrorHeader=Keyword Search Error
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax.
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
@ -186,4 +185,83 @@ KeywordSearch.listImportFeatureTitle=Keyword List Import
KeywordSearchIngestModule.hashDbModuleName=Hash Lookup
KeywordSearchIngestModule.moduleName=Keyword Search
KeywordSearchIngestModule.moduleDescription=Performs file indexing and periodic search using keywords and regular expressions in lists.
AbstractFileChunk.index.exception.msg=Problem ingesting file string chunk\: {0}, chunk\: {1}
AbstractFileStringContentStream.getSize.exception.msg=Cannot tell how many chars in converted string, until entire string is converted
AbstractFileStringContentStream.getSrcInfo.text=File\:{0}
ByteContentStream.getSrcInfo.text=File\:{0}
ExtractedContentPanel.SetMarkup.progress.loading=Loading text
ExtractedContentPanel.SetMarkup.progress.displayName=Loading text
ExtractedContentViewer.nextPage.exception.msg=No next page.
ExtractedContentViewer.previousPage.exception.msg=No previous page.
ExtractedContentViewer.hasNextItem.exception.msg=Not supported, not a searchable source.
ExtractedContentViewer.hasPreviousItem.exception.msg=Not supported, not a searchable source.
ExtractedContentViewer.nextItem.exception.msg=Not supported, not a searchable source.
ExtractedContentViewer.previousItem.exception.msg=Not supported, not a searchable source.
ExtractedContentViewer.currentItem.exception.msg=Not supported, not a searchable source.
HighlightedMatchesSource.nextPage.exception.msg=No next page.
HighlightedMatchesSource.previousPage.exception.msg=No previous page.
HighlightedMatchesSource.nextItem.exception.msg=No next item.
HighlightedMatchesSource.previousItem.exception.msg=No previous item.
Ingester.ingest.exception.unknownImgId.msg=Skipping indexing the file, unknown image id, for file\: {0}
Ingester.ingest.exception.cantReadStream.msg=Could not read content stream\: {0}
Ingester.ingest.exception.err.msg=Error ingesting document\: {0}
Ingester.ingestExtract.exception.solrTimeout.msg=Solr index request time out for id\: {0}, name\: {1}
Ingester.ingestExtract.exception.probPostToSolr.msg=Problem posting content to Solr, id\: {0}, name\: {1}
Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=No Solr core available, cannot index the content
Ingester.UpRequestTask.run.exception.probReadFile.msg=Problem reading file.
Ingester.UpRequestTask.run.exception.solrProb.msg=Problem with Solr
Ingester.UpRequestTask.run.exception.probPostToSolr.msg=Problem posting file contents to Solr. SolrException error code\: {0}
Ingester.FscContentStream.getSrcInfo=File\:{0}
Ingester.FscContentStream.getReader=Not supported yet.
Ingester.NullContentStream.getSrcInfo.text=File\:{0}
Ingester.NullContentStream.getReader=Not supported yet.
Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}'
KeywordSearch.moduleErr=Module Error
KeywordSearch.fireNumIdxFileChg.moduleErr.msg=A module caused an error listening to KeywordSearch updates. See log to determine which module. Some data could be incomplete.
KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Error connecting to SOLR server\: {0}
KeywordSearchListsEncase.save.exception.msg=Not supported yet.
KeywordSearchListsEncase.save2.exception.msg=Not supported yet.
KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0}
KeywordSearchListsManagementPanel.getColName.text=Name
KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported
KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg=Not supported for multi-word queries.
KeywordSearchListsViewerPanel.getQueryText.exception.msg=Not supported for multi-word queries.
KeywordSearchOptionsPanelController.moduleErr=Module Error
KeywordSearchOptionsPanelController.moduleErr.msg1=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
KeywordSearchOptionsPanelController.moduleErr.msg2=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
KeywordSearchPanel.getQueryList.exception.msg=No list for single-keyword search
KeywordSearchQueryManager.pathText.text=Keyword search
KeywordSearchResultFactory.progress.saving=Saving results\: {0}
KeywordSearchSettings.moduleName.text=KeywordSearch
KeywordSearchSettings.properties_options.text={0}_Options
KeywordSearchSettings.propertiesNSRL.text={0}_NSRL
KeywordSearchSettings.propertiesScripts.text={0}_Scripts
NoOpenCoreException.err.noOpenSorlCore.msg=No currently open Solr core.
Server.start.exception.cantStartSolr.msg=Could not start Solr server process
Server.start.exception.cantStartSolr.msg2=Could not start Solr server process
Server.isRunning.exception.errCheckSolrRunning.msg=Error checking if Solr server is running
Server.isRunning.exception.errCheckSolrRunning.msg2=Error checking if Solr server is running
Server.openCore.exception.alreadyOpen.msg=Already an open Core\! Explicitely close Core first.
Server.queryNumIdxFiles.exception.msg=Error querying number of indexed files,
Server.queryNumIdxChunks.exception.msg=Error querying number of indexed chunks,
Server.queryNumIdxDocs.exception.msg=Error querying number of indexed documents,
Server.queryIsIdxd.exception.msg=Error checkign if content is indexed,
Server.queryNumFileChunks.exception.msg=Error getting number of file chunks,
Server.query.exception.msg=Error running query\: {0}
Server.query2.exception.msg=Error running query\: {0}
Server.queryTerms.exception.msg=Error running terms query\: {0}
Server.openCore.exception.msg=Core open requested, but server not yet running
Server.openCore.exception.cantOpen.msg=Could not open Core
Server.openCore.exception.cantOpen.msg2=Could not open Core
Server.request.exception.exception.msg=Could not issue Solr request
Server.commit.exception.msg=Could not commit index
Server.addDoc.exception.msg=Could not add document to index via update handler\: {0}
Server.addDoc.exception.msg2=Could not add document to index via update handler\: {0}
Server.close.exception.msg=Cannot close Core
Server.close.exception.msg2=Cannot close Core
Server.solrServerNoPortException.msg=Indexing server could not bind to port {0}, port is not available, consider change the default {1} port.
KeywordSearchIngestModule.doInBackGround.displayName=Keyword Search
KeywordSearchIngestModule.doInBackGround.finalizeMsg= - Finalizing
KeywordSearchIngestModule.doInBackGround.pendingMsg= (Pending)
KeywordSearchIngestModule.doInBackGround.cancelMsg= (Cancelling...)

View File

@ -8,16 +8,16 @@ ListBundleName=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8
ListBundleConfig=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u8A2D\u5B9A
IndexProgressPanel.statusText.text=\u30B9\u30C6\u30FC\u30BF\u30B9\u30C6\u30AD\u30B9\u30C8
IndexProgressPanel.cancelButton.text=\u30AD\u30E3\u30F3\u30BB\u30EB
ExtractedContentPanel.hitLabel.text=\u30DA\u30FC\u30B8\u4E0A\u306E\u4E00\u81F4
ExtractedContentPanel.hitCountLabel.text=
ExtractedContentPanel.hitOfLabel.text=
ExtractedContentPanel.hitTotalLabel.text=
ExtractedContentPanel.hitLabel.text=\u30DA\u30FC\u30B8\u5185\u306E\u4E00\u81F4\uFF1A
ExtractedContentPanel.hitCountLabel.text=-
ExtractedContentPanel.hitOfLabel.text=of
ExtractedContentPanel.hitTotalLabel.text=-
ExtractedContentPanel.hitButtonsLabel.text=\u4E00\u81F4
ExtractedContentPanel.copyMenuItem.text=\u30B3\u30D4\u30FC
ExtractedContentPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E
KeywordSearchEditListPanel.saveListButton.text=\u30EA\u30B9\u30C8\u3092\u30B3\u30D4\u30FC
KeywordSearchEditListPanel.addWordButton.text=\u8FFD\u52A0
KeywordSearchEditListPanel.chRegex.text=\u4E00\u822C\u7684\u306A\u8868\u73FE
KeywordSearchEditListPanel.chRegex.text=\u6B63\u898F\u8868\u73FE
KeywordSearchEditListPanel.deleteWordButton.text=\u9078\u629E\u3057\u305F\u3082\u306E\u3092\u524A\u9664
KeywordSearchEditListPanel.cutMenuItem.text=\u30AB\u30C3\u30C8
KeywordSearchEditListPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629E
@ -28,8 +28,8 @@ KeywordSearchEditListPanel.deleteListButton.text=\u30EA\u30B9\u30C8\u3092\u524A\
KeywordSearchListsManagementPanel.newListButton.text=\u65B0\u898F\u30EA\u30B9\u30C8
KeywordSearchEditListPanel.useForIngestCheckbox.text=\u51E6\u7406\u4E2D\u306B\u4F7F\u7528
KeywordSearchListsManagementPanel.importButton.text=\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
KeywordSearchPanel.searchBox.text=\u691C\u7D22...
KeywordSearchPanel.regExCheckboxMenuItem.text=\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u4F7F\u7528
KeywordSearchPanel.searchBox.text=\u691C\u7D22\u2026
KeywordSearchPanel.regExCheckboxMenuItem.text=\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u7528
KeywordSearchListsViewerPanel.searchAddButton.text=\u691C\u7D22
KeywordSearchListsViewerPanel.manageListsButton.text=\u30EA\u30B9\u30C8\u3092\u7BA1\u7406
KeywordSearchListsViewerPanel.ingestIndexLabel.text=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A
@ -42,10 +42,10 @@ ExtractedContentPanel.pagesLabel.text=\u30DA\u30FC\u30B8\uFF1A
KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u51E6\u7406\u4E2D\u306B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30A4\u30F3\u30DC\u30C3\u30AF\u30B9\u306B\u9001\u4FE1
KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306E\u30EA\u30B9\u30C8\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304C\u691C\u7D22\u306B\u30D2\u30C3\u30C8\u3057\u305F\u5834\u5408\u3001\u51E6\u7406\u4E2D\u306B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u30A4\u30F3\u30DC\u30C3\u30AF\u30B9\u306B\u9001\u4FE1
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.text=\u51E6\u7406\u4E2D\u306BNSRL\u306E\u30D5\u30A1\u30A4\u30EB\uFF08\u65E2\u77E5\u306E\u30D5\u30A1\u30A4\u30EB\uFF09\u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u8FFD\u52A0\u3057\u306A\u3044
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Hash DB\u30B5\u30FC\u30D3\u30B9\u3092\u4E8B\u524D\u306B\u5B9F\u884C\u3059\u308B\u304B\u3001\u6B21\u56DE\u306E\u51E6\u7406\u6642\u306B\u9078\u629E\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
KeywordSearchConfigurationPanel2.skipNSRLCheckBox.toolTipText=Hash DB\u30B5\u30FC\u30D3\u30B9\u3092\u4E8B\u524D\u306B\u5B9F\u884C\u3059\u308B\u304B\u3001\u6B21\u56DE\u306E\u51E6\u7406\u306B\u9078\u629E\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
KeywordSearchConfigurationPanel2.filesIndexedLabel.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5185\u306E\u30D5\u30A1\u30A4\u30EB\uFF1A
KeywordSearchIngestSimplePanel.languagesLabel.text=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\uFF1A
KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\u3002\u30A2\u30C9\u30D0\u30F3\u30B9\u8A2D\u5B9A\u3067\u5909\u66F4\u304C\u53EF\u80FD\u3067\u3059\u3002
KeywordSearchIngestSimplePanel.languagesLabel.toolTipText=\u4E0D\u660E\u306A\u30D5\u30A1\u30A4\u30EB\u5F62\u5F0F\u304B\u3089\u306E\u30B9\u30C8\u30EA\u30F3\u30B0\u62BD\u51FA\u3092\u6709\u52B9\u306B\u3057\u305F\u30B9\u30AF\u30EA\u30D7\u30C8\u3002\u30A2\u30C9\u30D0\u30F3\u30B9\u8A2D\u5B9A\u304B\u3089\u5909\u66F4\u304C\u53EF\u80FD\u3067\u3059\u3002
KeywordSearchConfigurationPanel3.languagesLabel.text=\u6709\u52B9\u306A\u30B9\u30AF\u30EA\u30D7\u30C8\uFF08\u8A00\u8A9E\uFF09\uFF1A
KeywordSearchConfigurationPanel2.chunksLabel.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5185\u306E\u30C1\u30E3\u30F3\u30AF\uFF1A
KeywordSearchConfigurationPanel3.enableUTF8Checkbox.text=UTF8\u30C6\u30AD\u30B9\u30C8\u62BD\u51FA\u306E\u6709\u52B9\u5316
@ -70,7 +70,6 @@ KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30AD\u30FC\u30EF\u
KeywordSearchConfigurationPanel2.frequencyLabel.text=\u51E6\u7406\u4E2D\u306E\u7D50\u679C\u66F4\u65B0\u306E\u983B\u5EA6\uFF1A
KeywordSearchConfigurationPanel2.timeRadioButton4.text_1=\uFF11\u5206\uFF08\u3088\u308A\u901F\u3044\u30D5\u30A3\u30FC\u30C9\u30D0\u30C3\u30AF\u3001\u6700\u3082\u9577\u3044\u51E6\u7406\u6642\u9593\uFF09
KeywordSearchConfigurationPanel2.timeRadioButton4.toolTipText=\uFF11\u5206\uFF08\u5168\u4F53\u7684\u306A\u51E6\u7406\u6642\u9593\u304C\u9577\u304F\u306A\u308A\u307E\u3059\uFF09
KeywordSearchConfigurationPanel2.showSnippetsCB.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u7D50\u679C\u306B\u30AD\u30FC\u30EF\u30FC\u30C9\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u8868\u793A\uFF08\u691C\u7D22\u6642\u9593\u304C\u9577\u304F\u306A\u308A\u307E\u3059\uFF09
AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30A8\u30E9\u30FC
AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30B7\u30F3\u30BF\u30C3\u30AF\u30B9\u30A8\u30E9\u30FC
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u5B9F\u884C\u4E2D
@ -105,22 +104,22 @@ KeywordSearch.newKwListTitle=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u3
KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg=\u30C7\u30D5\u30A9\u30EB\u30C8\u30EA\u30B9\u30C8\u306F\u4E0A\u66F8\u304D\u3067\u304D\u307E\u305B\u3093
KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 <{0}> \u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F
KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 <{0}> \u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F
KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u4E00\u822C\u7684\u306A\u8868\u73FE\u3067\u3059
KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u6B63\u7FA9\u8868\u73FE\u3067\u3059
KeywordSearchEditListPanel.customizeComponents.addWordToolTip=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u30EA\u30B9\u30C8\u306B\u5358\u8A9E\u3092\u8FFD\u52A0
KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u65B0\u898F\u5358\u8A9E\u3084\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u5165\u529B
KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u65B0\u898F\u5358\u8A9E\u3084\u4E00\u6B63\u898F\u8868\u73FE\u3092\u5165\u529B
KeywordSearchEditListPanel.customizeComponents.exportToFile=\u65E2\u5B58\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30D5\u30A1\u30A4\u30EB\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip=\u65E2\u5B58\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u306B\u540D\u524D\u3092\u4ED8\u3051\u3066\u4FDD\u5B58
KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg=\u9078\u629E\u3057\u305F\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u30EA\u30B9\u30C8\u304B\u3089\u524A\u9664
KeywordSearchEditListPanel.newKwTitle=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30A8\u30F3\u30C8\u30EA\u30FC
KeywordSearchEditListPanel.addWordButtonAction.kwAlreadyExistsMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u306F\u65E2\u306B\u30EA\u30B9\u30C8\u306B\u5B58\u5728\u3057\u307E\u3059\u3002
KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52B9\u306A\u30AD\u30FC\u30EF\u30FC\u30C9\u30D1\u30BF\u30FC\u30F3\u3002\u5358\u8A9E\u3082\u3057\u304F\u306F\u6B63\u3057\u3044\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52B9\u306A\u30AD\u30FC\u30EF\u30FC\u30C9\u30D1\u30BF\u30FC\u30F3\u3002\u5358\u8A9E\u3082\u3057\u304F\u306F\u6B63\u3057\u3044\u6B63\u898F\u8868\u73FE\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
KeywordSearchEditListPanel.removeKwMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u524A\u9664
KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg=\u5168\u3066\u306E\u30B1\u30FC\u30B9\u306B\u304A\u3051\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u524A\u9664\u3057\u307E\u3059\u3002\u3053\u306E\u524A\u9664\u3092\u5B9F\u884C\u3057\u307E\u3059\u304B\uFF1F
KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8XML\u30D5\u30A1\u30A4\u30EB
KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt=\ {0} \u30D5\u30A1\u30A4\u30EB\u306F\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B\uFF1F
KeywordSearchEditListPanel.exportButtonActionPerformed.kwListExportedMsg=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3055\u308C\u305F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8
KeywordSearchEditListPanel.kwColName=\u30AD\u30FC\u30EF\u30FC\u30C9
KeywordSearchEditListPanel.exportButtonActionPerformed.regExColName=\u4E00\u822C\u7684\u306A\u8868\u73FE
KeywordSearchEditListPanel.exportButtonActionPerformed.regExColName=\u6B63\u898F\u8868\u73FE
KeywordSearchFilterNode.getFileActions.openExternViewActLbl=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u3067\u958B\u304F
KeywordSearchFilterNode.getFileActions.searchSameMd5=\u540C\u4E00\u306EMD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22
KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl=\u65B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u8868\u793A
@ -128,7 +127,7 @@ KeywordSearchIngestModule.init.badInitMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u
KeywordSearchIngestModule.init.tryStopSolrMsg={0}<br />\u53E4\u3044java Solr\u51E6\u7406\u3092\u505C\u6B62\u3057\uFF08\u3082\u3057\u5B58\u5728\u3059\u308C\u3070\uFF09\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u518D\u8D77\u52D5\u3057\u3066\u304F\u3060\u3055\u3044\u3002
KeywordSearchIngestModule.init.noKwInLstMsg=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u306B\u30AD\u30FC\u30EF\u30FC\u30C9\u304C\u3042\u308A\u307E\u305B\u3093\u3002
KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3060\u3051\u5B9F\u884C\u3055\u308C\u3001\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u306F\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3059\uFF08\u300C\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8 - \u51E6\u7406\u306B\u8FFD\u52A0\u300D\u3092\u4F7F\u7528\u3057\u3001\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u8FFD\u52A0\u3059\u308B\u306E\u306F\u53EF\u80FD\u3067\u3059
KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65E2\u77E5\u306E\u7A2E\u985E\u306E\u30D5\u30A1\u30A4\u30EB
KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65E2\u77E5\u30BF\u30A4\u30D7\u306E\u30D5\u30A1\u30A4\u30EB
KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=\u4E00\u822C\u7684\u306A\u30B9\u30C8\u30EA\u30F3\u30B0\u304C\u62BD\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB
KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=\u30E1\u30BF\u30C7\u30FC\u30BF\u306E\u307F\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u307E\u3057\u305F
KeywordSearchIngestModule.postIndexSummary.idxErrLbl=\u30A8\u30E9\u30FC\uFF08\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u30A8\u30E9\u30FC\uFF09
@ -146,11 +145,11 @@ KeywordSearchListsViewerPanel.initIngest.addIdxSearchMsg=\u9078\u629E\u3057\u305
KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A {0} \uFF08\u51E6\u7406\u306F\u5B9F\u884C\u4E2D\uFF09
KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF1A {0}
KeywordSearch.selectedColLbl=\u9078\u629E\u6E08\u307F
KeywordSearch.nameColLbl=\u540D\u524D
KeywordSearch.regExColLbl=\u4E00\u822C\u7684\u306A\u8868\u73FE
KeywordSearch.nameColLbl=\u540D\u79F0
KeywordSearch.regExColLbl=\u6B63\u898F\u8868\u73FE
KeywordSearchQueryManager.execute.exeWinTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22 {0} - {1}
KeywordSearch.newKeywordListMsg=\u65B0\u898F\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8
KeywordSearch.importListFileDialogMsg=\ {0}\u3000\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3059\u308B\u306E\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F
KeywordSearch.importListFileDialogMsg={0}\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F
KeywordSearch.yesOwMsg=\u306F\u3044\u3001\u4E0A\u66F8\u304D\u3057\u307E\u3059
KeywordSearch.noSkipMsg=\u3044\u3044\u3048\u3001\u30B9\u30AD\u30C3\u30D7\u3057\u307E\u3059
KeywordSearch.cancelImportMsg=\u30A4\u30F3\u30DD\u30FC\u30C8\u3092\u30AD\u30E3\u30F3\u30BB\u30EB
@ -161,6 +160,94 @@ KeywordSearchListsManagementPanel.fileExtensionFilterLbl=\u30AD\u30FC\u30EF\u30F
KeywordSearch.listImportFeatureTitle=\u30AD\u30FC\u30EF\u30FC\u30C9\u30EA\u30B9\u30C8\u30A4\u30F3\u30DD\u30FC\u30C8
KeywordSearchIngestModule.hashDbModuleName=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7
KeywordSearchIngestModule.moduleName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
KeywordSearchIngestModule.moduleDescription=\u30EA\u30B9\u30C8\u5185\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304A\u3088\u3073\u4E00\u822C\u7684\u306A\u8868\u73FE\u3092\u4F7F\u3044\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u304A\u3088\u3073\u5B9A\u671F\u7684\u306A\u691C\u7D22\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002
KeywordSearchIngestModule.moduleDescription=\u30EA\u30B9\u30C8\u5185\u306E\u30AD\u30FC\u30EF\u30FC\u30C9\u304A\u3088\u3073\u6B63\u898F\u8868\u73FE\u3092\u4F7F\u3044\u3001\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u304A\u3088\u3073\u5B9A\u671F\u7684\u306A\u691C\u7D22\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002
OptionsCategory_Name_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
OptionsCategory_Keywords_KeywordSearchOptions=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
ExtractedContentPanel.pagePreviousButton.actionCommand=
ExtractedContentPanel.pageOfLabel.text=of
ExtractedContentPanel.pageCurLabel.text=-
ExtractedContentPanel.pageTotalLabel.text=-
KeywordSearchConfigurationPanel2.filesIndexedValue.text=-
KeywordSearchIngestSimplePanel.languagesValLabel.text=-
KeywordSearchConfigurationPanel2.chunksValLabel.text=-
KeywordSearchIngestSimplePanel.keywordSearchEncodings.text=-
AbstractFileChunk.index.exception.msg=\u30D5\u30A1\u30A4\u30EB\u30B9\u30C8\u30EA\u30F3\u30B0\u30C1\u30E3\u30F3\u30AF\u306E\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A {0}, \u30C1\u30E3\u30F3\u30AF\: {1}
AbstractFileStringContentStream.getSize.exception.msg=\u30B9\u30C8\u30EA\u30F3\u30B0\u5168\u4F53\u304C\u5909\u63DB\u3055\u308C\u306A\u3051\u308C\u3070\u3001\u5909\u63DB\u3055\u308C\u305F\u30B9\u30C8\u30EA\u30F3\u30B0\u5185\u306E\u30AD\u30E3\u30E9\u30AF\u30BF\u30FC\u6570\u306F\u4E0D\u660E\u3067\u3059\u3002
AbstractFileStringContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0}
ByteContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0}
ExtractedContentPanel.SetMarkup.progress.loading=\u30C6\u30AD\u30B9\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
ExtractedContentPanel.SetMarkup.progress.displayName=\u30C6\u30AD\u30B9\u30C8\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
ExtractedContentViewer.nextPage.exception.msg=\u6B21\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.previousPage.exception.msg=\u524D\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.hasNextItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.hasPreviousItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.nextItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.previousItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
ExtractedContentViewer.currentItem.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u691C\u7D22\u53EF\u80FD\u306A\u30BD\u30FC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
HighlightedMatchesSource.nextPage.exception.msg=\u6B21\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
HighlightedMatchesSource.previousPage.exception.msg=\u524D\u306E\u30DA\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002
HighlightedMatchesSource.nextItem.exception.msg=\u6B21\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
HighlightedMatchesSource.previousItem.exception.msg=\u524D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u3042\u308A\u307E\u305B\u3093\u3002
Ingester.ingest.exception.unknownImgId.msg=\u4E0B\u8A18\u306E\u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059\u3002\u4E0D\u660E\u306A\u30A4\u30E1\u30FC\u30B8ID\uFF1A{0}
Ingester.ingest.exception.cantReadStream.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u30B9\u30C8\u30EA\u30FC\u30E0\u3092\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
Ingester.ingest.exception.err.msg=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u51E6\u7406\u4E2D\u306E\u30A8\u30E9\u30FC\uFF1A{0}
Ingester.ingestExtract.exception.solrTimeout.msg=\u4E0B\u8A18\u306EID\u306B\u5BFE\u3059\u308B\u3001Solr\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u30EA\u30AF\u30A8\u30B9\u30C8\u306F\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8\u3057\u307E\u3057\u305F\uFF1A{0}, name\: {1}
Ingester.ingestExtract.exception.probPostToSolr.msg=Solr\u306B\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30DD\u30B9\u30C8\u3059\u308B\u306E\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002ID\uFF1A{0}, \u540D\u79F0\: {1}
Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=Solr\u30B3\u30A2\u304C\u5229\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30B3\u30F3\u30C6\u30F3\u30C4\u3092\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002
Ingester.UpRequestTask.run.exception.probReadFile.msg=\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Ingester.UpRequestTask.run.exception.solrProb.msg=Solr\u306B\u306F\u554F\u984C\u304C\u3042\u308A\u307E\u3059
Ingester.UpRequestTask.run.exception.probPostToSolr.msg=\u30D5\u30A1\u30A4\u30EB\u30B3\u30F3\u30C6\u30F3\u30C4\u3092Solr\u306B\u30DD\u30B9\u30C8\u3059\u308B\u306E\u306B\u554F\u984C\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002SolrException\u30A8\u30E9\u30FC\u30B3\u30FC\u30C9\uFF1A{0}
Ingester.FscContentStream.getSrcInfo=\u30D5\u30A1\u30A4\u30EB\uFF1A{0}
Ingester.FscContentStream.getReader=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
Ingester.NullContentStream.getSrcInfo.text=\u30D5\u30A1\u30A4\u30EB\uFF1A{0}
Ingester.NullContentStream.getReader=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeywordSearch.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
KeywordSearch.fireNumIdxFileChg.moduleErr.msg=KeywordSearch\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Solr\u30B5\u30FC\u30D0\u3078\u63A5\u7D9A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
KeywordSearchListsEncase.save.exception.msg=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeywordSearchListsEncase.save2.exception.msg=\u307E\u3060\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044EncaseMetaType\uFF1A{0}
KeywordSearchListsManagementPanel.getColName.text=\u540D\u79F0
KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30BB\u30EB\u306E\u7DE8\u96C6\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg=\u30DE\u30EB\u30C1\u30EF\u30FC\u30C9\u30AF\u30A8\u30EA\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeywordSearchListsViewerPanel.getQueryText.exception.msg=\u30DE\u30EB\u30C1\u30EF\u30FC\u30C9\u30AF\u30A8\u30EA\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
KeywordSearchOptionsPanelController.moduleErr=\u30E2\u30B8\u30E5\u30FC\u30EB\u30A8\u30E9\u30FC
KeywordSearchOptionsPanelController.moduleErr.msg1=KeywordSearchOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
KeywordSearchOptionsPanelController.moduleErr.msg2=KeywordSearchOptionsPanelController\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3092\u78BA\u8A8D\u4E2D\u306B\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u30A8\u30E9\u30FC\u3092\u8D77\u3053\u3057\u307E\u3057\u305F\u3002\u3069\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044\u3002\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u4E0D\u5B8C\u5168\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
KeywordSearchPanel.getQueryList.exception.msg=\u30B7\u30F3\u30B0\u30EB\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u305B\u3093
KeywordSearchQueryManager.pathText.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
KeywordSearchResultFactory.progress.saving=\u7D50\u679C\u3092\u4FDD\u5B58\u4E2D\uFF1A{0}
KeywordSearchSettings.moduleName.text=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
KeywordSearchSettings.properties_options.text={0}_\u30AA\u30D7\u30B7\u30E7\u30F3
KeywordSearchSettings.propertiesNSRL.text={0}_NSRL
KeywordSearchSettings.propertiesScripts.text={0}_\u30B9\u30AF\u30EA\u30D7\u30C8
NoOpenCoreException.err.noOpenSorlCore.msg=\u73FE\u5728\u958B\u3044\u3066\u3044\u308BSolr\u30B3\u30A2\u306F\u3042\u308A\u307E\u305B\u3093\u3002
Server.start.exception.cantStartSolr.msg=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
Server.start.exception.cantStartSolr.msg2=Solr\u30B5\u30FC\u30D0\u30D7\u30ED\u30BB\u30B9\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
Server.isRunning.exception.errCheckSolrRunning.msg=Solr\u30B5\u30FC\u30D0\u304C\u7A3C\u50CD\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
Server.isRunning.exception.errCheckSolrRunning.msg2=Solr\u30B5\u30FC\u30D0\u304C\u7A3C\u50CD\u3057\u3066\u3044\u308B\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
Server.openCore.exception.alreadyOpen.msg=\u3059\u3067\u306B\u958B\u3044\u3066\u3044\u308B\u30B3\u30A2\u3067\u3059\uFF01\u307E\u305A\u660E\u793A\u7684\u306B\u30B3\u30A2\u3092\u9589\u3058\u3066\u4E0B\u3055\u3044\u3002
Server.queryNumIdxFiles.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Server.queryNumIdxChunks.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30AF\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Server.queryNumIdxDocs.exception.msg=\u8907\u6570\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u5BFE\u3057\u3066\u306E\u30AF\u30A8\u30EA\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Server.queryIsIdxd.exception.msg=\u30B3\u30F3\u30C6\u30F3\u30C4\u304C\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u3055\u308C\u305F\u304B\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Server.queryNumFileChunks.exception.msg=\u30D5\u30A1\u30A4\u30EB\u30C1\u30E3\u30F3\u30AF\u306E\u6570\u3092\u78BA\u8A8D\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
Server.query.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
Server.query2.exception.msg=\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\uFF1A{0}
Server.queryTerms.exception.msg=Terms\u30AF\u30A8\u30EA\u306E\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
Server.openCore.exception.msg=\u30B3\u30A2\u3092\u958B\u304F\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u3057\u307E\u3057\u305F\u304C\u3001\u30B5\u30FC\u30D0\u304C\u307E\u3060\u7A3C\u50CD\u3057\u3066\u3044\u307E\u305B\u3093\u3002
Server.openCore.exception.cantOpen.msg=\u30B3\u30A2\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F
Server.openCore.exception.cantOpen.msg2=\u30B3\u30A2\u3092\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F
Server.request.exception.exception.msg=Solr\u30EA\u30AF\u30A8\u30B9\u30C8\u3092\u767A\u884C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
Server.commit.exception.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
Server.addDoc.exception.msg=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
Server.close.exception.msg=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093
Server.close.exception.msg2=\u30B3\u30A2\u3092\u9589\u3058\u308C\u307E\u305B\u3093
Server.solrServerNoPortException.msg=\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u5316\u306B\u4F7F\u7528\u3057\u3066\u3044\u308B\u30B5\u30FC\u30D0\u306F\u30DD\u30FC\u30C8{0}\u306B\u30D0\u30A4\u30F3\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u30DD\u30FC\u30C8\u306F\u4F7F\u7528\u4E0D\u53EF\u3067\u3059\u3002\u30C7\u30D5\u30A9\u30EB\u30C8{1}\u30DD\u30FC\u30C8\u306E\u5909\u66F4\u3092\u691C\u8A0E\u3057\u3066\u4E0B\u3055\u3044\u3002
KeywordSearchIngestModule.doInBackGround.displayName=\u30AD\u30FC\u30EF\u30FC\u30C9\u691C\u7D22
KeywordSearchIngestModule.doInBackGround.finalizeMsg=-\u3000\u6700\u7D42\u51E6\u7406\u4E2D
KeywordSearchIngestModule.doInBackGround.pendingMsg=\uFF08\u30DA\u30F3\u30C7\u30A3\u30F3\u30B0\uFF09
KeywordSearchIngestModule.doInBackGround.cancelMsg=\uFF08\u30AD\u30E3\u30F3\u30BB\u30EB\u4E2D\u2026\uFF09
Server.addDoc.exception.msg2=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30CF\u30F3\u30C9\u30E9\u30FC\u3092\u4F7F\u7528\u3057\u307E\u3057\u305F\u304C\u3001\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u306B\u4E0B\u8A18\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{0}
ExtractedContentViewer.getSolrContent.txtBodyItal=<span style\=''font-style\:italic''>{0}</span>
Keyword.toString.text=Keyword'{'query\={0}, isLiteral\={1}, keywordType\={2}'}'

View File

@ -24,6 +24,8 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.apache.solr.common.util.ContentStream;
import org.sleuthkit.datamodel.AbstractContent;
@ -84,7 +86,7 @@ class ByteContentStream implements ContentStream {
@Override
public String getSourceInfo() {
return "File:" + aContent.getId();
return NbBundle.getMessage(this.getClass(), "ByteContentStream.getSrcInfo.text", aContent.getId());
}
@Override

View File

@ -685,8 +685,10 @@ class ExtractedContentPanel extends javax.swing.JPanel {
@Override
protected Object doInBackground() throws Exception {
progress = ProgressHandleFactory.createHandle("Loading text");
progress.setDisplayName("Loading text");
progress = ProgressHandleFactory.createHandle(
NbBundle.getMessage(this.getClass(), "ExtractedContentPanel.SetMarkup.progress.loading"));
progress.setDisplayName(
NbBundle.getMessage(this.getClass(), "ExtractedContentPanel.SetMarkup.progress.displayName"));
progress.start();
progress.switchToIndeterminate();

View File

@ -134,7 +134,8 @@ public class ExtractedContentViewer implements DataContentViewer {
@Override
public int nextPage() {
if (!hasNextPage()) {
throw new IllegalStateException("No next page.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.nextPage.exception.msg"));
}
++currentPage;
return currentPage;
@ -143,7 +144,8 @@ public class ExtractedContentViewer implements DataContentViewer {
@Override
public int previousPage() {
if (!hasPreviousPage()) {
throw new IllegalStateException("No previous page.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.previousPage.exception.msg"));
}
--currentPage;
return currentPage;
@ -151,27 +153,32 @@ public class ExtractedContentViewer implements DataContentViewer {
@Override
public boolean hasNextItem() {
throw new UnsupportedOperationException("Not supported, not a searchable source.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.hasNextItem.exception.msg"));
}
@Override
public boolean hasPreviousItem() {
throw new UnsupportedOperationException("Not supported, not a searchable source.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.hasPreviousItem.exception.msg"));
}
@Override
public int nextItem() {
throw new UnsupportedOperationException("Not supported, not a searchable source.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.nextItem.exception.msg"));
}
@Override
public int previousItem() {
throw new UnsupportedOperationException("Not supported, not a searchable source.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.previousItem.exception.msg"));
}
@Override
public int currentItem() {
throw new UnsupportedOperationException("Not supported, not a searchable source.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "ExtractedContentViewer.currentItem.exception.msg"));
}
@Override

View File

@ -223,7 +223,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup {
@Override
public int nextPage() {
if (!hasNextPage()) {
throw new IllegalStateException("No next page.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.nextPage.exception.msg"));
}
int idx = pages.indexOf(this.currentPage);
currentPage = pages.get(idx + 1);
@ -233,7 +234,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup {
@Override
public int previousPage() {
if (!hasPreviousPage()) {
throw new IllegalStateException("No previous page.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.previousPage.exception.msg"));
}
int idx = pages.indexOf(this.currentPage);
currentPage = pages.get(idx - 1);
@ -259,7 +261,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup {
@Override
public int nextItem() {
if (!hasNextItem()) {
throw new IllegalStateException("No next item.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.nextItem.exception.msg"));
}
int cur = pagesToHits.get(currentPage) + 1;
pagesToHits.put(currentPage, cur);
@ -269,7 +272,8 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup {
@Override
public int previousItem() {
if (!hasPreviousItem()) {
throw new IllegalStateException("No previous item.");
throw new IllegalStateException(
NbBundle.getMessage(this.getClass(), "HighlightedMatchesSource.previousItem.exception.msg"));
}
int cur = pagesToHits.get(currentPage) - 1;
pagesToHits.put(currentPage, cur);

View File

@ -41,6 +41,7 @@ import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.ContentStream;
import org.apache.solr.common.SolrInputDocument;
import org.openide.util.Exceptions;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.datamodel.ContentUtils;
@ -279,7 +280,8 @@ class Ingester {
if (fields.get(Server.Schema.IMAGE_ID.toString()) == null) {
//skip the file, image id unknown
String msg = "Skipping indexing the file, unknown image id, for file: " + cs.getName();
String msg = NbBundle.getMessage(this.getClass(),
"Ingester.ingest.exception.unknownImgId.msg", cs.getName());
logger.log(Level.SEVERE, msg);
throw new IngesterException(msg);
}
@ -301,7 +303,9 @@ class Ingester {
is = cs.getStream();
read = is.read(docChunkContentBuf);
} catch (IOException ex) {
throw new IngesterException("Could not read content stream: " + cs.getName());
throw new IngesterException(
NbBundle.getMessage(this.getClass(), "Ingester.ingest.exception.cantReadStream.msg",
cs.getName()));
} finally {
try {
is.close();
@ -333,7 +337,8 @@ class Ingester {
solrServer.addDocument(updateDoc);
uncommitedIngests = true;
} catch (KeywordSearchModuleException ex) {
throw new IngesterException("Error ingestint document: " + cs.getName(), ex);
throw new IngesterException(
NbBundle.getMessage(this.getClass(), "Ingester.ingest.exception.err.msg", cs.getName()), ex);
}
@ -373,9 +378,13 @@ class Ingester {
logger.log(Level.WARNING, "Solr timeout encountered, trying to restart Solr");
//restart may be needed to recover from some error conditions
hardSolrRestart();
throw new IngesterException("Solr index request time out for id: " + fields.get("id") + ", name: " + fields.get("file_name"));
throw new IngesterException(
NbBundle.getMessage(this.getClass(), "Ingester.ingestExtract.exception.solrTimeout.msg",
fields.get("id"), fields.get("file_name")));
} catch (Exception e) {
throw new IngesterException("Problem posting content to Solr, id: " + fields.get("id") + ", name: " + fields.get("file_name"), e);
throw new IngesterException(
NbBundle.getMessage(this.getClass(), "Ingester.ingestExtract.exception.probPostToSolr.msg",
fields.get("id"), fields.get("file_name")), e);
}
uncommitedIngests = true;
}
@ -443,14 +452,17 @@ class Ingester {
up.setMethod(METHOD.POST);
solrServer.request(up);
} catch (NoOpenCoreException ex) {
throw new RuntimeException("No Solr core available, cannot index the content", ex);
throw new RuntimeException(
NbBundle.getMessage(this.getClass(), "Ingester.UpReqestTask.run.exception.sorlNotAvail.msg"), ex);
} catch (IllegalStateException ex) {
// problems with content
throw new RuntimeException("Problem reading file.", ex);
throw new RuntimeException(
NbBundle.getMessage(this.getClass(), "Ingester.UpRequestTask.run.exception.probReadFile.msg"), ex);
} catch (SolrServerException ex) {
// If there's a problem talking to Solr, something is fundamentally
// wrong with ingest
throw new RuntimeException("Problem with Solr", ex);
throw new RuntimeException(
NbBundle.getMessage(this.getClass(), "Ingester.UpRequestTask.run.exception.solrProb.msg"), ex);
} catch (SolrException ex) {
// Tika problems result in an unchecked SolrException
ErrorCode ec = ErrorCode.getErrorCode(ex.code());
@ -458,7 +470,10 @@ class Ingester {
// When Tika has problems with a document, it throws a server error
// but it's okay to continue with other documents
if (ec.equals(ErrorCode.SERVER_ERROR)) {
throw new RuntimeException("Problem posting file contents to Solr. SolrException error code: " + ec, ex);
throw new RuntimeException(NbBundle.getMessage(this.getClass(),
"Ingester.UpRequestTask.run.exception.probPostToSolr.msg",
ec),
ex);
} else {
// shouldn't get any other error codes
throw ex;
@ -513,7 +528,7 @@ class Ingester {
@Override
public String getSourceInfo() {
return "File:" + f.getId();
return NbBundle.getMessage(this.getClass(), "Ingester.FscContentStream.getSrcInfo", f.getId());
}
@Override
@ -533,7 +548,8 @@ class Ingester {
@Override
public Reader getReader() throws IOException {
throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "Ingester.FscContentStream.getReader"));
}
}
@ -555,7 +571,7 @@ class Ingester {
@Override
public String getSourceInfo() {
return "File:" + aContent.getId();
return NbBundle.getMessage(this.getClass(), "Ingester.NullContentStream.getSrcInfo.text", aContent.getId());
}
@Override
@ -575,7 +591,8 @@ class Ingester {
@Override
public Reader getReader() throws IOException {
throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "Ingester.NullContentStream.getReader"));
}
}

View File

@ -19,6 +19,7 @@
package org.sleuthkit.autopsy.keywordsearch;
import org.openide.util.NbBundle;
import org.sleuthkit.datamodel.BlackboardAttribute;
/**
@ -72,7 +73,7 @@ class Keyword {
@Override
public String toString() {
return "Keyword{" + "query=" + keywordString + ", isLiteral=" + isLiteral + ", keywordType=" + keywordType + '}';
return NbBundle.getMessage(this.getClass(), "Keyword.toString.text", keywordString, isLiteral, keywordType);
}

View File

@ -28,6 +28,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
import org.openide.util.Exceptions;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
import org.sleuthkit.autopsy.keywordsearch.KeywordSearchResultFactory.ResultWriter;
@ -107,7 +108,10 @@ public class KeywordSearch {
}
catch (Exception e) {
logger.log(Level.SEVERE, "KeywordSearch listener threw exception", e);
MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearch updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR);
MessageNotifyUtil.Notify.show(NbBundle.getMessage(KeywordSearch.class, "KeywordSearch.moduleErr"),
NbBundle.getMessage(KeywordSearch.class,
"KeywordSearch.fireNumIdxFileChg.moduleErr.msg"),
MessageNotifyUtil.MessageType.ERROR);
}
}

View File

@ -377,7 +377,9 @@ public final class KeywordSearchIngestModule extends IngestModuleAbstractFile {
// we had cases where getStatus was OK, but the connection resulted in a 404
server.queryNumIndexedDocuments();
} catch (KeywordSearchModuleException | NoOpenCoreException ex) {
throw new IngestModuleException("Error connecting to SOLR server: " + ex.getMessage());
throw new IngestModuleException(
NbBundle.getMessage(this.getClass(), "KeywordSearchIngestModule.init.exception.errConnToSolr.msg",
ex.getMessage()));
}
//initialize extractors

View File

@ -18,6 +18,8 @@
*/
package org.sleuthkit.autopsy.keywordsearch;
import org.openide.util.NbBundle;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@ -115,12 +117,14 @@ class KeywordSearchListsEncase extends KeywordSearchListsAbstract{
@Override
public boolean save() {
throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchListsEncase.save.exception.msg"));
}
@Override
public boolean save(boolean isExport) {
throw new UnsupportedOperationException("Not supported yet.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchListsEncase.save2.exception.msg"));
}
@Override
@ -173,7 +177,10 @@ class KeywordSearchListsEncase extends KeywordSearchListsAbstract{
} else if(type.equals("")) {
return Expression;
} else {
throw new IllegalArgumentException("Unsupported EncaseMetaType: " + type);
throw new IllegalArgumentException(
NbBundle.getMessage(KeywordSearchListsEncase.class,
"KeywordSearchListsEncase.encaseMetaType.exception.msg",
type));
}
}
}

View File

@ -342,7 +342,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
@Override
public String getColumnName(int column) {
return "Name";
return NbBundle.getMessage(this.getClass(), "KeywordSearchListsManagementPanel.getColName.text");
}
@Override
@ -357,7 +357,8 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel implements Op
@Override
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
throw new UnsupportedOperationException("Editing of cells is not supported");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchListsManagementPanel.setValueAt.exception.msg"));
}
@Override

View File

@ -322,12 +322,14 @@ class KeywordSearchListsViewerPanel extends AbstractKeywordSearchPerformer {
@Override
public boolean isLuceneQuerySelected() {
throw new UnsupportedOperationException("Not supported for multi-word queries.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchListsViewerPanel.isLuceneQuerySel.exception.msg"));
}
@Override
public String getQueryText() {
throw new UnsupportedOperationException("Not supported for multi-word queries.");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchListsViewerPanel.getQueryText.exception.msg"));
}
void addSearchButtonActionListener(ActionListener al) {

View File

@ -10,6 +10,7 @@ import javax.swing.JComponent;
import org.netbeans.spi.options.OptionsPanelController;
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
import java.util.logging.Level;
import org.sleuthkit.autopsy.coreutils.Logger;
@ -82,7 +83,10 @@ public final class KeywordSearchOptionsPanelController extends OptionsPanelContr
}
catch (Exception e) {
logger.log(Level.SEVERE, "KeywordSearchOptionsPanelController listener threw exception", e);
MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR);
MessageNotifyUtil.Notify.show(
NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr"),
NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr.msg1"),
MessageNotifyUtil.MessageType.ERROR);
}
}
try {
@ -90,7 +94,10 @@ public final class KeywordSearchOptionsPanelController extends OptionsPanelContr
}
catch (Exception e) {
logger.log(Level.SEVERE, "KeywordSearchOptionsPanelController listener threw exception", e);
MessageNotifyUtil.Notify.show("Module Error", "A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.", MessageNotifyUtil.MessageType.ERROR);
MessageNotifyUtil.Notify.show(
NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr"),
NbBundle.getMessage(this.getClass(), "KeywordSearchOptionsPanelController.moduleErr.msg2"),
MessageNotifyUtil.MessageType.ERROR);
}
}

View File

@ -34,12 +34,14 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.List;
import java.util.logging.Level;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
import org.apache.solr.client.solrj.SolrServerException;
import org.sleuthkit.autopsy.casemodule.Case;
/**
@ -384,7 +386,8 @@ class KeywordSearchPanel extends AbstractKeywordSearchPerformer {
@Override
public List<Keyword> getQueryList() {
throw new UnsupportedOperationException("No list for single-keyword search");
throw new UnsupportedOperationException(
NbBundle.getMessage(this.getClass(), "KeywordSearchPanel.getQueryList.exception.msg"));
}
private class KeywordPropertyChangeListener implements PropertyChangeListener {

View File

@ -165,7 +165,7 @@ class KeywordSearchQueryManager {
rootNode = Node.EMPTY;
}
final String pathText = "Keyword search";
final String pathText = NbBundle.getMessage(this.getClass(), "KeywordSearchQueryManager.pathText.text");
DataResultTopComponent.initInstance(pathText, rootNode, things.size(), searchResultWin);

View File

@ -28,6 +28,8 @@ import java.util.Map;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.logging.Level;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
@ -571,7 +573,8 @@ class KeywordSearchResultFactory extends ChildFactory<KeyValueQuery> {
try {
final String queryStr = query.getQueryString();
final String queryDisp = queryStr.length() > QUERY_DISPLAY_LEN ? queryStr.substring(0, QUERY_DISPLAY_LEN - 1) + " ..." : queryStr;
progress = ProgressHandleFactory.createHandle("Saving results: " + queryDisp, new Cancellable() {
progress = ProgressHandleFactory.createHandle(
NbBundle.getMessage(this.getClass(), "KeywordSearchResultFactory.progress.saving", queryDisp), new Cancellable() {
@Override
public boolean cancel() {

View File

@ -25,6 +25,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
import org.sleuthkit.autopsy.coreutils.StringExtract;
@ -34,10 +36,10 @@ import org.sleuthkit.autopsy.keywordsearch.KeywordSearchIngestModule.UpdateFrequ
//This file contains constants and settings for KeywordSearch
class KeywordSearchSettings {
public static final String MODULE_NAME = "KeywordSearch";
static final String PROPERTIES_OPTIONS = MODULE_NAME+"_Options";
static final String PROPERTIES_NSRL = MODULE_NAME+"_NSRL";
static final String PROPERTIES_SCRIPTS = MODULE_NAME+"_Scripts";
public static final String MODULE_NAME = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.moduleName.text");
static final String PROPERTIES_OPTIONS = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.properties_options.text", MODULE_NAME);
static final String PROPERTIES_NSRL = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.propertiesNSRL.text", MODULE_NAME);
static final String PROPERTIES_SCRIPTS = NbBundle.getMessage(KeywordSearchSettings.class, "KeywordSearchSettings.propertiesScripts.text", MODULE_NAME);
private static boolean skipKnown = true;
private static final Logger logger = Logger.getLogger(KeywordSearchSettings.class.getName());
private static UpdateFrequency UpdateFreq = UpdateFrequency.DEFAULT;

View File

@ -18,6 +18,8 @@
*/
package org.sleuthkit.autopsy.keywordsearch;
import org.openide.util.NbBundle;
/**
*
* Exception thrown when no core is open
@ -25,7 +27,7 @@ package org.sleuthkit.autopsy.keywordsearch;
public class NoOpenCoreException extends Exception {
NoOpenCoreException() {
super("No currently open Solr core.");
super(NbBundle.getMessage(NoOpenCoreException.class, "NoOpenCoreException.err.noOpenSorlCore.msg"));
}

View File

@ -30,7 +30,6 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.lang.Long;
import java.lang.Long;
import java.net.ConnectException;
import java.net.ServerSocket;
import java.net.SocketException;
@ -38,9 +37,10 @@ import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.Logger;
import javax.swing.AbstractAction;
import org.apache.solr.client.solrj.SolrQuery;
@ -57,7 +57,6 @@ import org.openide.modules.Places;
import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
import org.sleuthkit.autopsy.coreutils.Version;
import org.sleuthkit.datamodel.Content;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
@ -403,10 +402,12 @@ public class Server {
} catch (SecurityException ex) {
logger.log(Level.WARNING, "Could not start Solr process!", ex);
throw new KeywordSearchModuleException("Could not start Solr server process", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.start.exception.cantStartSolr.msg"), ex);
} catch (IOException ex) {
logger.log(Level.WARNING, "Could not start Solr server process!", ex);
throw new KeywordSearchModuleException("Could not start Solr server process", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.start.exception.cantStartSolr.msg2"), ex);
}
} else {
logger.log(Level.WARNING, "Could not start Solr server process, port [" + currentSolrServerPort + "] not available!");
@ -537,10 +538,12 @@ public class Server {
logger.log(Level.INFO, "Solr server is not running, cause: " + cause.getMessage());
return false;
} else {
throw new KeywordSearchModuleException("Error checking if Solr server is running", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.isRunning.exception.errCheckSolrRunning.msg"), ex);
}
} catch (IOException ex) {
throw new KeywordSearchModuleException("Error checking if Solr server is running", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.isRunning.exception.errCheckSolrRunning.msg2"), ex);
}
return true;
@ -552,7 +555,8 @@ public class Server {
synchronized void openCore() throws KeywordSearchModuleException {
if (currentCore != null) {
throw new KeywordSearchModuleException("Already an open Core! Explicitely close Core first. ");
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.openCore.exception.alreadyOpen.msg"));
}
Case currentCase = Case.getCurrentCase();
@ -665,7 +669,8 @@ public class Server {
try {
return currentCore.queryNumIndexedFiles();
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error querying number of indexed files, ", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryNumIdxFiles.exception.msg"), ex);
}
@ -686,7 +691,8 @@ public class Server {
try {
return currentCore.queryNumIndexedChunks();
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error querying number of indexed chunks, ", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryNumIdxChunks.exception.msg"), ex);
}
}
@ -705,7 +711,8 @@ public class Server {
try {
return currentCore.queryNumIndexedDocuments();
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error querying number of indexed documents, ", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryNumIdxDocs.exception.msg"), ex);
}
}
@ -724,7 +731,8 @@ public class Server {
try {
return currentCore.queryIsIndexed(contentID);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error checkign if content is indexed, ", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryIsIdxd.exception.msg"), ex);
}
}
@ -744,7 +752,8 @@ public class Server {
try {
return currentCore.queryNumFileChunks(fileID);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error getting number of file chunks, ", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryNumFileChunks.exception.msg"), ex);
}
}
@ -763,7 +772,8 @@ public class Server {
try {
return currentCore.query(sq);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error running query: " + sq.getQuery(), ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.query.exception.msg", sq.getQuery()), ex);
}
}
@ -783,7 +793,8 @@ public class Server {
try {
return currentCore.query(sq, method);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error running query: " + sq.getQuery(), ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.query2.exception.msg", sq.getQuery()), ex);
}
}
@ -802,7 +813,8 @@ public class Server {
try {
return currentCore.queryTerms(sq);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Error running terms query: " + sq.getQuery(), ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.queryTerms.exception.msg", sq.getQuery()), ex);
}
}
@ -873,7 +885,8 @@ public class Server {
//handle a possible scenario when server process might not be fully started
if (!this.isRunning()) {
logger.log(Level.WARNING, "Core open requested, but server not yet running");
throw new KeywordSearchModuleException("Core open requested, but server not yet running");
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.openCore.exception.msg"));
}
CoreAdminRequest.Create createCore = new CoreAdminRequest.Create();
@ -888,9 +901,11 @@ public class Server {
return newCore;
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Could not open Core", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.openCore.exception.cantOpen.msg"), ex);
} catch (IOException ex) {
throw new KeywordSearchModuleException("Could not open Core", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.openCore.exception.cantOpen.msg2"), ex);
}
}
@ -931,7 +946,8 @@ public class Server {
return solrCore.request(request);
} catch (IOException e) {
logger.log(Level.WARNING, "Could not issue Solr request. ", e);
throw new SolrServerException("Could not issue Solr request", e);
throw new SolrServerException(
NbBundle.getMessage(this.getClass(), "Server.request.exception.exception.msg"), e);
}
}
@ -951,7 +967,7 @@ public class Server {
solrCore.commit(true, true);
} catch (IOException e) {
logger.log(Level.WARNING, "Could not commit index. ", e);
throw new SolrServerException("Could not commit index", e);
throw new SolrServerException(NbBundle.getMessage(this.getClass(), "Server.commit.exception.msg"), e);
}
}
@ -960,10 +976,12 @@ public class Server {
solrCore.add(doc);
} catch (SolrServerException ex) {
logger.log(Level.SEVERE, "Could not add document to index via update handler: " + doc.getField("id"), ex);
throw new KeywordSearchModuleException("Could not add document to index via update handler: " + doc.getField("id"), ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.addDoc.exception.msg", doc.getField("id")), ex);
} catch (IOException ex) {
logger.log(Level.SEVERE, "Could not add document to index via update handler: " + doc.getField("id"), ex);
throw new KeywordSearchModuleException("Could not add document to index via update handler: " + doc.getField("id"), ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.addDoc.exception.msg2", doc.getField("id")), ex);
}
}
@ -994,9 +1012,11 @@ public class Server {
try {
CoreAdminRequest.unloadCore(this.name, solrServer);
} catch (SolrServerException ex) {
throw new KeywordSearchModuleException("Cannot close Core", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.close.exception.msg"), ex);
} catch (IOException ex) {
throw new KeywordSearchModuleException("Cannot close Core", ex);
throw new KeywordSearchModuleException(
NbBundle.getMessage(this.getClass(), "Server.close.exception.msg2"), ex);
}
}
@ -1092,9 +1112,8 @@ public class Server {
private int port;
SolrServerNoPortException(int port) {
super("Indexing server could not bind to port " + port
+ ", port is not available, consider change the default "
+ Server.PROPERTIES_CURRENT_SERVER_PORT + " port.");
super(NbBundle.getMessage(Server.class, "Server.solrServerNoPortException.msg", port,
Server.PROPERTIES_CURRENT_SERVER_PORT));
this.port = port;
}