Merge branch 'develop' of https://github.com/sleuthkit/autopsy into hashdb

This commit is contained in:
Nick Davis 2014-06-16 15:20:41 -04:00
commit 4abcf92b00
28 changed files with 189 additions and 95 deletions

View File

@ -103,11 +103,13 @@ public class CueBannerPanel extends javax.swing.JPanel {
} }
}); });
createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS // createNewLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
createNewLabel.setFont(createNewLabel.getFont().deriveFont(13.0f));
openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS // openRecentLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
openRecentLabel.setFont(openRecentLabel.getFont().deriveFont(13.0f));
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N NON-NLS openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N NON-NLS
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
@ -122,8 +124,9 @@ public class CueBannerPanel extends javax.swing.JPanel {
} }
}); });
openLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS // openLabel.setFont(new java.awt.Font("Tahoma", 0, 13)); // NOI18N NON-NLS
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
openLabel.setFont(openLabel.getFont().deriveFont(13.0f));
javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel); javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel);
editorPanel.setLayout(editorPanelLayout); editorPanel.setLayout(editorPanelLayout);

View File

@ -19,6 +19,7 @@
package org.sleuthkit.autopsy.corecomponents; package org.sleuthkit.autopsy.corecomponents;
import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultComboBoxModel;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.core.UserPreferences; import org.sleuthkit.autopsy.core.UserPreferences;
/** /**
@ -29,6 +30,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
AutopsyOptionsPanel(AutopsyOptionsPanelController controller) { AutopsyOptionsPanel(AutopsyOptionsPanelController controller) {
initComponents(); initComponents();
numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 8, 16})); numberOfFileIngestThreadsComboBox.setModel(new DefaultComboBoxModel<>(new Integer[]{1, 2, 4, 8, 16}));
restartRequiredLabel.setText(NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.restartRequiredLabel.text", Runtime.getRuntime().availableProcessors()));
// TODO listen to changes in form fields and call controller.changed() // TODO listen to changes in form fields and call controller.changed()
} }

View File

@ -139,4 +139,4 @@ AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText=For example, stay in Hex vie
AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer
AutopsyOptionsPanel.jLabel1.text=When selecting a file: AutopsyOptionsPanel.jLabel1.text=When selecting a file:
AutopsyOptionsPanel.jLabel2.text=When displaying times: AutopsyOptionsPanel.jLabel2.text=When displaying times:
AutopsyOptionsPanel.restartRequiredLabel.text=Restart required to take effect AutopsyOptionsPanel.restartRequiredLabel.text=For this computer, a maximum of {0} file ingest threads should be used. Restart required to take effect.

View File

@ -22,6 +22,7 @@ import java.awt.Cursor;
import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport; import java.beans.PropertyChangeSupport;
import java.beans.PropertyVetoException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
@ -367,7 +368,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
} }
@Override @Override
public void setNode(Node selectedNode) { public void setNode(final Node selectedNode) {
if (this.rootNode != null) { if (this.rootNode != null) {
this.rootNode.removeNodeListener(dummyNodeListener); this.rootNode.removeNodeListener(dummyNodeListener);
} }
@ -390,6 +391,20 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
if (selectedNode != null) { if (selectedNode != null) {
int childrenCount = selectedNode.getChildren().getNodesCount(); int childrenCount = selectedNode.getChildren().getNodesCount();
this.numberMatchLabel.setText(Integer.toString(childrenCount)); this.numberMatchLabel.setText(Integer.toString(childrenCount));
//if there is only one child, select it to be displayed in the content viewer
if (childrenCount == 1) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
explorerManager.setSelectedNodes(selectedNode.getChildren().getNodes());
} catch (PropertyVetoException ex) {
logger.log(Level.INFO, "node selection vetoed");
}
}
});
}
} }
this.numberMatchLabel.setVisible(true); this.numberMatchLabel.setVisible(true);
} }

View File

@ -1,10 +1,27 @@
# To change this template, choose Tools | Templates ExternalResultsImporter.importDerivedFiles.errMsg1.text=Could not import derived file at {0}, parent file {1} not found.
# and open the template in the editor. ExternalResultsImporter.importDerivedFiles.errMsg2.text=Could not import derived file at {0}, file does not exist.
ExternalResultsImporter.importDerivedFiles.errMsg3.text=Could not import derived file at {0}, error querying/updating case database.
ExternalResultsIngestModule.moduleName.text=External Results Importer ExternalResultsImporter.importArtifacts.caseErrMsg1.text=Could not import {0} attribute, value \= {1}, for {2} artifact from {3}, unrecognized attribute value type\: {4}.
ExternalResultsIngestModule.properties.text=ExternalResultsImporter ExternalResultsImporter.importArtifacts.errMsg1.text=Could not import {0} artifact from {1}, source file not found.
ExternalResultsIngestModule.moduleDesc.text=Parse command line tool output to create blackboard entries and add files to the database. ExternalResultsImporter.importArtifacts.errMsg2.text=Could not import {0} artifact from {1}, error updating case database.
ExternalResultsIngestModule.startUp.exception.importdir=Import directory does not exist and was not able to be created. ExternalResultsImporter.importReports.errMsg1.text=Could not import report at {0}, file does not exist.
ExternalResultsIngestModule.process.exception.datasourcepath=Error getting the data source path. ExternalResultsImporter.importReports.errMsg2.text=Could not import report at {0}, error updating case database.
ExternalResultsIngestModule.process.exception.run=Error running the external command: ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text=Parent file path {0} is ambiguous, using first file found.
ExternalResultsIngestModule.process.shutdown.finished=Finished ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text=Did not convert {0} to relative path, not in a subdirectory of case directory {1}.
ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text=Expected {0} to be an absolute path to a file in a subdirectory of case directory {1}.
ExternalResultsXMLParser.parse.errMsg1.text=Did not find {0} root element of {1}.
ExternalResultsXMLParser.parse.errMsg2.text=Error parsing {0}.
ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text=Found {0} element that has no content in {1}.
ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text=Found unrecognized value {0} for {1} attribute of {2} element.
ExternalResultsXMLParser.getChildElementContent.errMsg1.text=Found {0} element with {1} child element that has no content in {2}.
ExternalResultsXMLParser.getChildElementContent.errMsg2.text=Found {0} element missing {1} child element in {2}.
ExternalResultsXMLParser.getChildElement.errMsg1.text=Found multiple {0} child elements for {1} element in {2}, ignoring all but first occurrence.
ExternalResults.addArtifact.exception.msg1.text=type argument is empty.
ExternalResults.addArtifact.exception.msg2.text=source argument is empty.
ExternalResults.addReport.exception.msg1.text=localPath argument is empty.
ExternalResults.addReport.exception.msg2.text=sourceModuleName argument is empty.
ExternalResults.addDerivedFile.exception.msg1.text=localPath argument is empty.
ExternalResults.addDerivedFile.exception.msg2.text=parentPath argument is empty.
ExternalResults.Artifact.addAttribute.exception.msg1.text=type argument is empty.
ExternalResults.Artifact.addAttribute.exception.msg2.text=value argument is empty.
ExternalResults.Artifact.addAttribute.exception.msg3.text=valueType argument is empty.

View File

@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.externalresults;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import org.openide.util.NbBundle;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
/** /**
@ -43,10 +45,12 @@ final public class ExternalResults {
Artifact addArtifact(String type, String sourceFilePath) { Artifact addArtifact(String type, String sourceFilePath) {
if (type.isEmpty()) { if (type.isEmpty()) {
throw new IllegalArgumentException("type argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addArtifact.exception.msg1.text"));
} }
if (sourceFilePath.isEmpty()) { if (sourceFilePath.isEmpty()) {
throw new IllegalArgumentException("source argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addArtifact.exception.msg2.text"));
} }
Artifact artifact = new Artifact(type, sourceFilePath); Artifact artifact = new Artifact(type, sourceFilePath);
artifacts.add(artifact); artifacts.add(artifact);
@ -59,10 +63,12 @@ final public class ExternalResults {
void addReport(String localPath, String sourceModuleName, String reportName) { void addReport(String localPath, String sourceModuleName, String reportName) {
if (localPath.isEmpty()) { if (localPath.isEmpty()) {
throw new IllegalArgumentException("localPath argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addReport.exception.msg1.text"));
} }
if (sourceModuleName.isEmpty()) { if (sourceModuleName.isEmpty()) {
throw new IllegalArgumentException("sourceModuleName argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addReport.exception.msg2.text"));
} }
Report report = new Report(localPath, sourceModuleName, reportName); Report report = new Report(localPath, sourceModuleName, reportName);
reports.add(report); reports.add(report);
@ -74,10 +80,12 @@ final public class ExternalResults {
void addDerivedFile(String localPath, String parentPath) { void addDerivedFile(String localPath, String parentPath) {
if (localPath.isEmpty()) { if (localPath.isEmpty()) {
throw new IllegalArgumentException("localPath argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addDerivedFile.exception.msg1.text"));
} }
if (parentPath.isEmpty()) { if (parentPath.isEmpty()) {
throw new IllegalArgumentException("parentPath argument is empty"); throw new IllegalArgumentException(
NbBundle.getMessage(this.getClass(), "ExternalResults.addDerivedFile.exception.msg2.text"));
} }
DerivedFile file = new DerivedFile(localPath, parentPath); DerivedFile file = new DerivedFile(localPath, parentPath);
derivedFiles.add(file); derivedFiles.add(file);
@ -108,13 +116,16 @@ final public class ExternalResults {
void addAttribute(String type, String value, String valueType, String sourceModule) { void addAttribute(String type, String value, String valueType, String sourceModule) {
if (type.isEmpty()) { if (type.isEmpty()) {
throw new IllegalArgumentException("type argument is empty"); throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
"ExternalResults.Artifact.addAttribute.exception.msg1.text"));
} }
if (value.isEmpty()) { if (value.isEmpty()) {
throw new IllegalArgumentException("value argument is empty"); throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
"ExternalResults.Artifact.addAttribute.exception.msg2.text"));
} }
if (valueType.isEmpty()) { if (valueType.isEmpty()) {
throw new IllegalArgumentException("value type argument is empty"); throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(),
"ExternalResults.Artifact.addAttribute.exception.msg3.text"));
} }
attributes.add(new ArtifactAttribute(type, value, valueType, sourceModule)); attributes.add(new ArtifactAttribute(type, value, valueType, sourceModule));
} }

View File

@ -26,6 +26,8 @@ import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.Case;
import org.sleuthkit.autopsy.casemodule.services.FileManager; import org.sleuthkit.autopsy.casemodule.services.FileManager;
import org.sleuthkit.autopsy.coreutils.ErrorInfo; import org.sleuthkit.autopsy.coreutils.ErrorInfo;
@ -95,18 +97,24 @@ public final class ExternalResultsImporter {
"", "", "", ""); // Not currently providing derivation info for derived files from external processes. "", "", "", ""); // Not currently providing derivation info for derived files from external processes.
IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(derivedFile)); IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(derivedFile));
} else { } else {
String errorMessage = String.format("Could not import derived file at %s, parent file %s not found", localPath, parentFilePath); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importDerivedFiles.errMsg1.text",
localPath, parentFilePath);
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
} }
} }
} else { } else {
String errorMessage = String.format("Could not import derived file at %s, file does not exist", localPath); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importDerivedFiles.errMsg2.text",
localPath);
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
} }
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
String errorMessage = String.format("Could not import derived file at %s, error querying/updating case database", localPath); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importDerivedFiles.errMsg3.text",
localPath);
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
} }
@ -150,7 +158,8 @@ public final class ExternalResultsImporter {
attributes.add(new BlackboardAttribute(attributeTypeId, attributeData.getSourceModule(), doubleValue)); attributes.add(new BlackboardAttribute(attributeTypeId, attributeData.getSourceModule(), doubleValue));
break; break;
default: default:
String errorMessage = String.format("Could not import %s attribute, value = %s, for %s artifact from %s, unrecognized attribute value type: %s", String errorMessage = String.format(NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importArtifacts.caseErrMsg1.text"),
attributeData.getType(), attributeData.getValue(), attributeData.getType(), attributeData.getValue(),
artifactData.getType(), artifactData.getSourceFilePath(), artifactData.getType(), artifactData.getSourceFilePath(),
attributeData.getValueType()); attributeData.getValueType());
@ -165,12 +174,16 @@ public final class ExternalResultsImporter {
IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(this.getClass().getSimpleName(), BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId))); IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(this.getClass().getSimpleName(), BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId)));
} }
} else { } else {
String errorMessage = String.format("Could not import %s artifact from %s, source file not found", artifactData.getType(), artifactData.getSourceFilePath()); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importArtifacts.errMsg1.text",
artifactData.getType(), artifactData.getSourceFilePath());
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
} }
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
String errorMessage = String.format("Could not import %s artifact from %s, error updating case database", artifactData.getType(), artifactData.getSourceFilePath()); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.importArtifacts.errMsg2.text",
artifactData.getType(), artifactData.getSourceFilePath());
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
} }
@ -185,12 +198,12 @@ public final class ExternalResultsImporter {
if (reportFile.exists()) { if (reportFile.exists()) {
Case.getCurrentCase().addReport(reportPath, report.getSourceModuleName(), report.getReportName()); Case.getCurrentCase().addReport(reportPath, report.getSourceModuleName(), report.getReportName());
} else { } else {
String errorMessage = String.format("Could not import report at %s, file does not exist", reportPath); String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.importReports.errMsg1.text", reportPath);
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage));
} }
} catch (TskCoreException ex) { } catch (TskCoreException ex) {
String errorMessage = String.format("Could not import report at %s, error updating case database", reportPath); String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.importReports.errMsg2.text", reportPath);
ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex); ExternalResultsImporter.logger.log(Level.SEVERE, errorMessage, ex);
this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex)); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex));
} }
@ -213,7 +226,7 @@ public final class ExternalResultsImporter {
if (!files.isEmpty()) { if (!files.isEmpty()) {
file = files.get(0); file = files.get(0);
if (files.size() > 1) { if (files.size() > 1) {
String errorMessage = String.format("Parent file path %s is ambiguous, using first file found", filePath); String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text", filePath);
this.recordError(errorMessage); this.recordError(errorMessage);
} }
} }
@ -230,12 +243,14 @@ public final class ExternalResultsImporter {
Path pathRelative = pathBase.relativize(path); Path pathRelative = pathBase.relativize(path);
relativePath = pathRelative.toString(); relativePath = pathRelative.toString();
} catch (IllegalArgumentException ex) { } catch (IllegalArgumentException ex) {
String errorMessage = String.format("Did not convert %s to relative path, not in a subdirectory of case directory %s", String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text",
localPath, caseDirectoryPath); localPath, caseDirectoryPath);
this.recordError(errorMessage, ex); this.recordError(errorMessage, ex);
} }
} else { } else {
String errorMessage = String.format("Expected %s to be an absolute path to a file in a subdirectory of case directory %s", String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text",
localPath, caseDirectoryPath); localPath, caseDirectoryPath);
this.recordError(errorMessage); this.recordError(errorMessage);
} }

View File

@ -22,6 +22,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.ErrorInfo; import org.sleuthkit.autopsy.coreutils.ErrorInfo;
import org.sleuthkit.autopsy.coreutils.XMLUtil; import org.sleuthkit.autopsy.coreutils.XMLUtil;
import org.sleuthkit.datamodel.Content; import org.sleuthkit.datamodel.Content;
@ -115,7 +117,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
/** /**
* Constructor. * Constructor.
* *
* @param importFilePath Full path of the results file to be parsed. * @param resultsFilePath Full path of the results file to be parsed.
*/ */
public ExternalResultsXMLParser(Content dataSource, String resultsFilePath) { public ExternalResultsXMLParser(Content dataSource, String resultsFilePath) {
this.dataSource = dataSource; this.dataSource = dataSource;
@ -140,12 +142,14 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
parseArtifacts(rootElem); parseArtifacts(rootElem);
parseReports(rootElem); parseReports(rootElem);
} else { } else {
String errorMessage = String.format("Did not find %s root element of %s", TagNames.ROOT_ELEM.toString(), this.resultsFilePath); String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsXMLParser.parse.errMsg1.text",
TagNames.ROOT_ELEM.toString(), this.resultsFilePath);
recordError(errorMessage); recordError(errorMessage);
} }
} }
} catch (Exception ex) { } catch (Exception ex) {
String errorMessage = String.format("Error parsing %s", this.resultsFilePath); String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.parse.errMsg2.text", this.resultsFilePath);
recordError(errorMessage, ex); recordError(errorMessage, ex);
} }
return this.resultsData; return this.resultsData;
@ -220,7 +224,8 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
} }
final String value = valueElem.getTextContent(); final String value = valueElem.getTextContent();
if (value.isEmpty()) { if (value.isEmpty()) {
String errorMessage = String.format("Found %s element that has no content in %s", String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text",
TagNames.VALUE_ELEM.toString(), this.resultsFilePath); TagNames.VALUE_ELEM.toString(), this.resultsFilePath);
recordError(errorMessage); recordError(errorMessage);
continue; continue;
@ -246,7 +251,8 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
&& !valueType.equals(AttributeValues.VALUE_TYPE_DOUBLE.toString()) && !valueType.equals(AttributeValues.VALUE_TYPE_DOUBLE.toString())
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT32.toString()) && !valueType.equals(AttributeValues.VALUE_TYPE_INT32.toString())
&& !valueType.equals(AttributeValues.VALUE_TYPE_INT64.toString())) { && !valueType.equals(AttributeValues.VALUE_TYPE_INT64.toString())) {
String errorMessage = String.format("Found unrecognized value %s for %s attribute of %s element", String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text",
valueType, valueType,
AttributeNames.TYPE_ATTR.toString(), AttributeNames.TYPE_ATTR.toString(),
TagNames.VALUE_ELEM.toString()); TagNames.VALUE_ELEM.toString());
@ -285,7 +291,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
private String getElementAttributeValue(Element element, String attributeName) { private String getElementAttributeValue(Element element, String attributeName) {
final String attributeValue = element.getAttribute(attributeName); final String attributeValue = element.getAttribute(attributeName);
if (attributeValue.isEmpty()) { if (attributeValue.isEmpty()) {
logger.log(Level.SEVERE, "Found {0} element missing {1} attribute in {2}", new Object[]{ logger.log(Level.SEVERE, "Found {0} element missing {1} attribute in {2}", new Object[]{ //NON-NLS
element.getTagName(), element.getTagName(),
attributeName, attributeName,
this.resultsFilePath}); this.resultsFilePath});
@ -299,14 +305,15 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
if (childElement != null) { if (childElement != null) {
content = childElement.getTextContent(); content = childElement.getTextContent();
if (content.isEmpty()) { if (content.isEmpty()) {
String errorMessage = String.format("Found %s element with %s child element that has no content in %s", String errorMessage = NbBundle.getMessage(this.getClass(),
"ExternalResultsXMLParser.getChildElementContent.errMsg1.text",
parentElement.getTagName(), parentElement.getTagName(),
childElementTagName, childElementTagName,
this.resultsFilePath); this.resultsFilePath);
this.recordError(errorMessage); this.recordError(errorMessage);
} }
} else if (required) { } else if (required) {
String errorMessage = String.format("Found %s element missing %s child element in %s", String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElementContent.errMsg2.text",
parentElement.getTagName(), parentElement.getTagName(),
childElementTagName, childElementTagName,
this.resultsFilePath); this.resultsFilePath);
@ -321,7 +328,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser {
if (childNodes.getLength() > 0) { if (childNodes.getLength() > 0) {
childElem = (Element) childNodes.item(0); childElem = (Element) childNodes.item(0);
if (childNodes.getLength() > 1) { if (childNodes.getLength() > 1) {
String errorMessage = String.format("Found multiple %s child elements for %s element in %s, ignoring all but first occurrence", String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElement.errMsg1.text",
childElementTagName, childElementTagName,
parentElement.getTagName(), parentElement.getTagName(),
this.resultsFilePath); this.resultsFilePath);

View File

@ -71,3 +71,9 @@ IngestJobConfigurationPanel.descriptionLabel.text=
IngestProgressSnapshotDialog.title.text=Ingest Task Progress Snapshots IngestProgressSnapshotDialog.title.text=Ingest Task Progress Snapshots
IngestProgressSnapshotPanel.refreshButton.text=Refresh IngestProgressSnapshotPanel.refreshButton.text=Refresh
IngestProgressSnapshotPanel.closeButton.text=Close IngestProgressSnapshotPanel.closeButton.text=Close
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=Thread ID
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=Data Source
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.ingestModule=Ingest Module
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=File
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=Start Time
IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=Elapsed Time (H\:M\:S)

View File

@ -63,8 +63,8 @@ class IngestMessagePanel extends JPanel implements TableModelListener {
private MessageTableModel tableModel; private MessageTableModel tableModel;
private MessageTableRenderer renderer; private MessageTableRenderer renderer;
private IngestMessageMainPanel mainPanel; private IngestMessageMainPanel mainPanel;
private static Font visitedFont = new Font("Arial", Font.PLAIN, 12); private static Font visitedFont = new Font("Arial", Font.PLAIN, 12); //NON-NLS
private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12); private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12); //NON-NLS
private static Color ERROR_COLOR = new Color(255, 90, 90); private static Color ERROR_COLOR = new Color(255, 90, 90);
private volatile int lastRowSelected = -1; private volatile int lastRowSelected = -1;
private volatile long totalMessages = 0; private volatile long totalMessages = 0;
@ -132,7 +132,7 @@ class IngestMessagePanel extends JPanel implements TableModelListener {
jScrollPane1.setPreferredSize(new java.awt.Dimension(32767, 32767)); jScrollPane1.setPreferredSize(new java.awt.Dimension(32767, 32767));
messageTable.setBackground(new java.awt.Color(221, 221, 235)); messageTable.setBackground(new java.awt.Color(221, 221, 235));
messageTable.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N messageTable.setFont(new java.awt.Font("Arial", 0, 12)); // NOI18N NON-NLS
messageTable.setModel(tableModel); messageTable.setModel(tableModel);
messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
messageTable.setAutoscrolls(false); messageTable.setAutoscrolls(false);

View File

@ -67,21 +67,21 @@ final class IngestModuleFactoryLoader {
} }
// Kick out the sample module factories. // Kick out the sample module factories.
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory"); moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory"); //NON-NLS
moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory"); moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory"); //NON-NLS
// Do the core ingest module ordering hack described above. // Do the core ingest module ordering hack described above.
ArrayList<String> coreModuleOrdering = new ArrayList<String>() { ArrayList<String> coreModuleOrdering = new ArrayList<String>() {
{ {
add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory"); add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory"); add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory"); add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory"); add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory"); add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory"); add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory"); add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory"); add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory"); //NON-NLS
add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory"); add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory"); //NON-NLS
} }
}; };
List<IngestModuleFactory> orderedModuleFactories = new ArrayList<>(); List<IngestModuleFactory> orderedModuleFactories = new ArrayList<>();

View File

@ -26,6 +26,7 @@ import javax.swing.JDialog;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn; import javax.swing.table.TableColumn;
import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.commons.lang3.time.DurationFormatUtils;
import org.openide.util.NbBundle;
import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.AbstractFile;
public class IngestProgressSnapshotPanel extends javax.swing.JPanel { public class IngestProgressSnapshotPanel extends javax.swing.JPanel {
@ -79,7 +80,18 @@ public class IngestProgressSnapshotPanel extends javax.swing.JPanel {
private class SnapshotsTableModel extends AbstractTableModel { private class SnapshotsTableModel extends AbstractTableModel {
private final String[] columnNames = {"Thread ID", "Data Source", "Ingest Module", "File", "Start Time", "Elapsed Time (H:M:S)"}; private final String[] columnNames = {NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID"),
NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource"),
NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.ingestModule"),
NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file"),
NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime"),
NbBundle.getMessage(this.getClass(),
"IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime")};
private List<IngestTask.ProgressSnapshot> snapshots; private List<IngestTask.ProgressSnapshot> snapshots;
private SnapshotsTableModel() { private SnapshotsTableModel() {

View File

@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\
OpenIDE-Module-Name=ExifParser OpenIDE-Module-Name=ExifParser
OpenIDE-Module-Short-Description=Exif metadata ingest module OpenIDE-Module-Short-Description=Exif metadata ingest module
ExifParserFileIngestModule.moduleName.text=Exif Parser ExifParserFileIngestModule.moduleName.text=Exif Parser
ExifParserFileIngestModule.getName.text=Exif Image Parser
ExifParserFileIngestModule.getDesc.text=Ingests JPEG files and retrieves their EXIF metadata. ExifParserFileIngestModule.getDesc.text=Ingests JPEG files and retrieves their EXIF metadata.

View File

@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\
OpenIDE-Module-Name=Exif\u30D1\u30FC\u30B5 OpenIDE-Module-Name=Exif\u30D1\u30FC\u30B5
OpenIDE-Module-Short-Description=Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB OpenIDE-Module-Short-Description=Exif\u30E1\u30BF\u30C7\u30FC\u30BF\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
ExifParserFileIngestModule.moduleName.text=Exif\u30D1\u30FC\u30B5 ExifParserFileIngestModule.moduleName.text=Exif\u30D1\u30FC\u30B5
ExifParserFileIngestModule.getName.text=Exif\u30A4\u30E1\u30FC\u30B8\u30D1\u30FC\u30B5
ExifParserFileIngestModule.getDesc.text=JPEG\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3057\u3001\u305D\u308C\u3089\u306EEXIF\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002 ExifParserFileIngestModule.getDesc.text=JPEG\u30D5\u30A1\u30A4\u30EB\u3092\u51E6\u7406\u3057\u3001\u305D\u308C\u3089\u306EEXIF\u30E1\u30BF\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u3057\u307E\u3059\u3002

View File

@ -191,3 +191,9 @@ ReportWizardPanel1.finishButton.text=Finish
ReportWizardPanel2.finishButton.text=Finish ReportWizardPanel2.finishButton.text=Finish
ReportWizardPanel2.nextButton.text=Next > ReportWizardPanel2.nextButton.text=Next >
ReportHTML.writeSum.noCaseNum=<i>No case number</i> ReportHTML.writeSum.noCaseNum=<i>No case number</i>
ReportBodyFile.generateReport.srcModuleName.text=TSK Body File
ReportExcel.endReport.srcModuleName.text=Excel Report
ReportHTML.writeIndex.srcModuleName.text=HTML Report
ReportKML.genReport.srcModuleName.text=KML Report
ReportGenerator.artTableColHdr.extension.text=Extension
ReportGenerator.artTableColHdr.mimeType.text=MIME Type

View File

@ -152,7 +152,10 @@ import org.sleuthkit.datamodel.*;
if (out != null) { if (out != null) {
out.flush(); out.flush();
out.close(); out.close();
Case.getCurrentCase().addReport(reportPath, "TSK Body File", ""); Case.getCurrentCase().addReport(reportPath,
NbBundle.getMessage(this.getClass(),
"ReportBodyFile.generateReport.srcModuleName.text"), "");
} }
} catch (IOException ex) { } catch (IOException ex) {
logger.log(Level.WARNING, "Could not flush and close the BufferedWriter.", ex); //NON-NLS logger.log(Level.WARNING, "Could not flush and close the BufferedWriter.", ex); //NON-NLS

View File

@ -112,7 +112,8 @@ import org.sleuthkit.datamodel.TskCoreException;
try { try {
out = new FileOutputStream(reportPath); out = new FileOutputStream(reportPath);
wb.write(out); wb.write(out);
Case.getCurrentCase().addReport(reportPath, "Excel Report", ""); Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(),
"ReportExcel.endReport.srcModuleName.text"), "");
} catch (IOException ex) { } catch (IOException ex) {
logger.log(Level.SEVERE, "Failed to write Excel report.", ex); //NON-NLS logger.log(Level.SEVERE, "Failed to write Excel report.", ex); //NON-NLS
} catch (TskCoreException ex) { } catch (TskCoreException ex) {

View File

@ -1318,8 +1318,8 @@ import org.sleuthkit.datamodel.TskData;
case TSK_EXT_MISMATCH_DETECTED: case TSK_EXT_MISMATCH_DETECTED:
columnHeaders = new ArrayList<>(Arrays.asList(new String[] { columnHeaders = new ArrayList<>(Arrays.asList(new String[] {
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"), NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"),
"Extension", NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.extension.text"),
"MIME Type", NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.mimeType.text"),
NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.path")})); NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.path")}));
break; break;
default: default:

View File

@ -803,7 +803,7 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
*/ */
private void writeIndex() { private void writeIndex() {
Writer indexOut = null; Writer indexOut = null;
String indexFilePath = path + "index.html"; String indexFilePath = path + "index.html"; //NON-NLS
try { try {
indexOut = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(indexFilePath), "UTF-8")); //NON-NLS indexOut = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(indexFilePath), "UTF-8")); //NON-NLS
StringBuilder index = new StringBuilder(); StringBuilder index = new StringBuilder();
@ -821,7 +821,8 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM;
index.append("</frameset>\n"); //NON-NLS index.append("</frameset>\n"); //NON-NLS
index.append("</html>"); //NON-NLS index.append("</html>"); //NON-NLS
indexOut.write(index.toString()); indexOut.write(index.toString());
Case.getCurrentCase().addReport(indexFilePath, "HTML Report", ""); Case.getCurrentCase().addReport(indexFilePath, NbBundle.getMessage(this.getClass(),
"ReportHTML.writeIndex.srcModuleName.text"), "");
} catch (IOException ex) { } catch (IOException ex) {
logger.log(Level.SEVERE, "Error creating Writer for index.html: {0}", ex); //NON-NLS logger.log(Level.SEVERE, "Error creating Writer for index.html: {0}", ex); //NON-NLS
} catch (TskCoreException ex) { } catch (TskCoreException ex) {

View File

@ -256,7 +256,8 @@ class ReportKML implements GeneralReportModule {
FileOutputStream writer = new FileOutputStream(reportPath); FileOutputStream writer = new FileOutputStream(reportPath);
outputter.output(kmlDocument, writer); outputter.output(kmlDocument, writer);
writer.close(); writer.close();
Case.getCurrentCase().addReport(reportPath, "KML Report", ""); Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(),
"ReportKML.genReport.srcModuleName.text"), "");
} catch (IOException ex) { } catch (IOException ex) {
logger.log(Level.WARNING, "Could not write the KML file.", ex); //NON-NLS logger.log(Level.WARNING, "Could not write the KML file.", ex); //NON-NLS
} catch (TskCoreException ex) { } catch (TskCoreException ex) {

View File

@ -56,7 +56,6 @@ AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax.
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>Keyword Search Ingest is currently running.<br />Not all files have been indexed and this search might yield incomplete results.<br />Do you want to proceed with this search anyway?</html> AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>Keyword Search Ingest is currently running.<br />Not all files have been indexed and this search might yield incomplete results.<br />Do you want to proceed with this search anyway?</html>
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=Keyword list is empty, please add at least one keyword to the list AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=Keyword list is empty, please add at least one keyword to the list
AbstractKeywordSearchPerformer.search.pleaseEnterKeywordBody=Please enter a keyword to search for
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>No files are in index yet. <br />Try again later. Index is updated every {0} minutes.</html> AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>No files are in index yet. <br />Try again later. Index is updated every {0} minutes.</html>
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>No files were indexed.<br />Re-ingest the image with the Keyword Search Module enabled. </html> AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>No files were indexed.<br />Re-ingest the image with the Keyword Search Module enabled. </html>
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>Loading text... Please wait</span> ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>Loading text... Please wait</span>
@ -195,7 +194,6 @@ KeywordSearchListsEncase.save2.exception.msg=Not supported yet.
KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0} KeywordSearchListsEncase.encaseMetaType.exception.msg=Unsupported EncaseMetaType\: {0}
KeywordSearchListsManagementPanel.getColName.text=Name KeywordSearchListsManagementPanel.getColName.text=Name
KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported KeywordSearchListsManagementPanel.setValueAt.exception.msg=Editing of cells is not supported
KeywordSearchListsViewerPanel.getQueryText.exception.msg=Not supported for multi-word queries.
KeywordSearchOptionsPanelController.moduleErr=Module Error 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.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. KeywordSearchOptionsPanelController.moduleErr.msg2=A module caused an error listening to KeywordSearchOptionsPanelController updates. See log to determine which module. Some data could be incomplete.
@ -280,7 +278,6 @@ KeywordSearchListsAbstract.writeLists.errMsg2.msg=A module caused an error liste
KeywordSearchListsAbstract.deleteList.errMsg1.msg=A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete. KeywordSearchListsAbstract.deleteList.errMsg1.msg=A module caused an error listening to KeywordSearchListsAbstract updates. See log to determine which module. Some data could be incomplete.
KeywordSearchListsManagementPanel.newKeywordListDescription=Keyword List <{0}> already exists as a read-only list. Do you want to replace it for the duration of the program (the change will not be persistent). KeywordSearchListsManagementPanel.newKeywordListDescription=Keyword List <{0}> already exists as a read-only list. Do you want to replace it for the duration of the program (the change will not be persistent).
KeywordSearchListsManagementPanel.newKeywordListDescription2=Keyword List <{0}> already exists, do you want to replace it? KeywordSearchListsManagementPanel.newKeywordListDescription2=Keyword List <{0}> already exists, do you want to replace it?
DropdownSearchPanelgetQueryList.exception.msg=No list for single-keyword search
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings KeywordSearchModuleFactory.createFileIngestModule.exception.msg=Expected settings argument to be instanceof KeywordSearchJobSettings
SearchRunner.Searcher.done.err.msg=Error performing keyword search SearchRunner.Searcher.done.err.msg=Error performing keyword search

View File

@ -44,7 +44,6 @@ AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u30b7\u30f3\u30bf\u30
AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d<br />\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u7d50\u679c\u304c\u4e0d\u5b8c\u5168\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br />\u3053\u306e\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f</html> AbstractKeywordSearchPerformer.search.ingestInProgressBody=<html>\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d<br />\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u7d50\u679c\u304c\u4e0d\u5b8c\u5168\u306b\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<br />\u3053\u306e\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f</html>
AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\u3002\u6700\u4f4e\uff11\u3064\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u4e0b\u3055\u3044\u3002 AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\u3002\u6700\u4f4e\uff11\u3064\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u8ffd\u52a0\u3057\u3066\u4e0b\u3055\u3044\u3002
AbstractKeywordSearchPerformer.search.pleaseEnterKeywordBody=\u691c\u7d22\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044
AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u3057\u3070\u3089\u304f\u3057\u3066\u304b\u3089\u3001\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3000{0}\u3000\u5206\u6bce\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002</html> AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u3057\u3070\u3089\u304f\u3057\u3066\u304b\u3089\u3001\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u3000{0}\u3000\u5206\u6bce\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002</html>
AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u5316\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u3092\u518d\u5ea6\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3002</html> AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=<html>\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002<br />\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u5316\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u3092\u518d\u5ea6\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3002</html>
ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>\u30c6\u30ad\u30b9\u30c8\u30ed\u30fc\u30c9\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...</span> ExtractedContentPanel.setMarkup.panelTxt=<span style\='font-style\:italic'>\u30c6\u30ad\u30b9\u30c8\u30ed\u30fc\u30c9\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...</span>
@ -177,7 +176,6 @@ KeywordSearchListsEncase.save2.exception.msg=\u307e\u3060\u30b5\u30dd\u30fc\u30c
KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType\uff1a{0} KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType\uff1a{0}
KeywordSearchListsManagementPanel.getColName.text=\u540d\u524d KeywordSearchListsManagementPanel.getColName.text=\u540d\u524d
KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30bb\u30eb\u306e\u7de8\u96c6\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093 KeywordSearchListsManagementPanel.setValueAt.exception.msg=\u30bb\u30eb\u306e\u7de8\u96c6\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
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=\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.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 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
@ -272,7 +270,6 @@ KeywordSearchListsAbstract.writeLists.errMsg1.msg=KeywordSearchListsAbstract\u30
KeywordSearchListsAbstract.writeLists.errMsg2.msg=KeywordSearchListsAbstract\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 KeywordSearchListsAbstract.writeLists.errMsg2.msg=KeywordSearchListsAbstract\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
KeywordSearchListsManagementPanel.newKeywordListDescription=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u30ea\u30b9\u30c8\u3068\u3057\u3066\u5b58\u5728\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f7f\u7528\u4e2d\u306e\u307f\u3053\u306e\u30ea\u30b9\u30c8\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f\uff08\u3053\u306e\u5909\u66f4\u306f\u7d99\u7d9a\u3055\u308c\u307e\u305b\u3093\uff09 KeywordSearchListsManagementPanel.newKeywordListDescription=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u30ea\u30b9\u30c8\u3068\u3057\u3066\u5b58\u5728\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f7f\u7528\u4e2d\u306e\u307f\u3053\u306e\u30ea\u30b9\u30c8\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f\uff08\u3053\u306e\u5909\u66f4\u306f\u7d99\u7d9a\u3055\u308c\u307e\u305b\u3093\uff09
KeywordSearchListsManagementPanel.newKeywordListDescription2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f KeywordSearchListsManagementPanel.newKeywordListDescription2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8<{0}>\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f
DropdownSearchPanelgetQueryList.exception.msg=\u30b7\u30f3\u30b0\u30eb\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306e\u30ea\u30b9\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093
KeywordSearchModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings KeywordSearchModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof KeywordSearchJobSettings
SearchRunner.Searcher.done.err.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f SearchRunner.Searcher.done.err.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f

View File

@ -97,3 +97,4 @@ SearchEngineURLQueryAnalyzer.toString=Name\: {0}\
SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity
SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity
SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0} SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0}
UsbDeviceIdMapper.parseAndLookup.text=Product\: {0}

View File

@ -27,10 +27,10 @@ ExtractIE.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u3
ExtractIE.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3 ExtractIE.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
ExtractIE.getURLFromIEBmkFile.errMsg={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f ExtractIE.getURLFromIEBmkFile.errMsg={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
ExtractIE.getURLFromIEBmkFile.errMsg2={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f ExtractIE.getURLFromIEBmkFile.errMsg2={0}\:Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb{1}\u306e\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Exploerer cookie\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Explorer cookie\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Exploerer cookie{1}\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Explorer cookie{1}\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
ExtractIE.getHistory.errMsg.unableToGetHist={0}\:Internet Explorer\u5c65\u6b74\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1apasco\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f ExtractIE.getHistory.errMsg.unableToGetHist={0}\:Internet Explorer\u5c65\u6b74\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1apasco\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
ExtractIE.getHistory.errMsg.errGettingHistFiles={0}\:Internet Exploerer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 ExtractIE.getHistory.errMsg.errGettingHistFiles={0}\:Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
ExtractIE.getHistory.errMsg.noHistFiles=Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002 ExtractIE.getHistory.errMsg.noHistFiles=Internet Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
ExtractIE.getHistory.errMsg.errWriteFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f ExtractIE.getHistory.errMsg.errWriteFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u306e\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
ExtractIE.getHistory.errMsg.errProcHist={0}\: Internet Explorer\u5c65\u6b74\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 ExtractIE.getHistory.errMsg.errProcHist={0}\: Internet Explorer\u5c65\u6b74\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002

View File

@ -34,6 +34,8 @@ import java.util.HashMap;
import java.util.Scanner; import java.util.Scanner;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.coreutils.PlatformUtil; import org.sleuthkit.autopsy.coreutils.PlatformUtil;
/** /**
@ -82,7 +84,8 @@ class UsbDeviceIdMapper {
key = vID + "0000"; key = vID + "0000";
if (devices.containsKey(key)) { if (devices.containsKey(key)) {
USBInfo info = devices.get(key); USBInfo info = devices.get(key);
return new USBInfo(info.getVendor(), "Product: " + pID); return new USBInfo(info.getVendor(),
NbBundle.getMessage(this.getClass(), "UsbDeviceIdMapper.parseAndLookup.text", pID));
} }
return new USBInfo(null, null); return new USBInfo(null, null);

View File

@ -13,7 +13,6 @@ MboxParser.handleAttch.failedWriteToDisk=Failed to extract attachment to disk\:
PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages. PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages.
PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0} PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0}
ThunderbirdMboxFileIngestModule.moduleName=Email Parser ThunderbirdMboxFileIngestModule.moduleName=Email Parser
ThunderbirdMboxFileIngestModule.hashDbModuleName=Hash Lookup
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse. ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse.
ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0} ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0}

View File

@ -12,7 +12,6 @@ MboxParser.handleAttch.failedWriteToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u3
PstParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EE\u30E1\u30FC\u30EB\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 PstParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EE\u30E1\u30FC\u30EB\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
PstParser.extractAttch.errMsg.failedToExtractToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u30C8\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F PstParser.extractAttch.errMsg.failedToExtractToDisk=\u30A2\u30BF\u30C3\u30C1\u30E1\u30F3\u30C8\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
ThunderbirdMboxFileIngestModule.moduleName=E\u30E1\u30FC\u30EB\u30D1\u30FC\u30B5 ThunderbirdMboxFileIngestModule.moduleName=E\u30E1\u30FC\u30EB\u30D1\u30FC\u30B5
ThunderbirdMboxFileIngestModule.hashDbModuleName=\u30CF\u30C3\u30B7\u30E5\u30EB\u30C3\u30AF\u30A2\u30C3\u30D7
ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u30D1\u30FC\u30B9\u3059\u308B\u70BA\u306B{0}\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3002 ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u30D1\u30FC\u30B9\u3059\u308B\u70BA\u306B{0}\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3002
ThunderbirdMboxFileIngestModule.encryptionFileLevel=\u30D5\u30A1\u30A4\u30EB\u30EC\u30D9\u30EB\u6697\u53F7\u5316 ThunderbirdMboxFileIngestModule.encryptionFileLevel=\u30D5\u30A1\u30A4\u30EB\u30EC\u30D9\u30EB\u6697\u53F7\u5316
ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F