diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java index 8ba77d8690..6c2f9f08fb 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java @@ -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.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.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.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.setFont(openLabel.getFont().deriveFont(13.0f)); javax.swing.GroupLayout editorPanelLayout = new javax.swing.GroupLayout(editorPanel); editorPanel.setLayout(editorPanelLayout); diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java index a8393e42bf..d0b9d8b582 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/AutopsyOptionsPanel.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.corecomponents; import javax.swing.DefaultComboBoxModel; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.core.UserPreferences; /** @@ -29,6 +30,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel { AutopsyOptionsPanel(AutopsyOptionsPanelController controller) { initComponents(); 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() } diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index 191e21f78c..e9c7d0403f 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -139,4 +139,4 @@ AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText=For example, stay in Hex vie AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer AutopsyOptionsPanel.jLabel1.text=When selecting a file: 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. diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java index 0a897a61c2..46095fb18a 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java @@ -22,6 +22,7 @@ import java.awt.Cursor; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; +import java.beans.PropertyVetoException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; @@ -367,7 +368,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C } @Override - public void setNode(Node selectedNode) { + public void setNode(final Node selectedNode) { if (this.rootNode != null) { this.rootNode.removeNodeListener(dummyNodeListener); } @@ -390,6 +391,20 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C if (selectedNode != null) { int childrenCount = selectedNode.getChildren().getNodesCount(); 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); } diff --git a/Core/src/org/sleuthkit/autopsy/externalresults/Bundle.properties b/Core/src/org/sleuthkit/autopsy/externalresults/Bundle.properties index 3a33f900fe..94ded0f3d5 100644 --- a/Core/src/org/sleuthkit/autopsy/externalresults/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/externalresults/Bundle.properties @@ -1,10 +1,27 @@ -# To change this template, choose Tools | Templates -# and open the template in the editor. - -ExternalResultsIngestModule.moduleName.text=External Results Importer -ExternalResultsIngestModule.properties.text=ExternalResultsImporter -ExternalResultsIngestModule.moduleDesc.text=Parse command line tool output to create blackboard entries and add files to the database. -ExternalResultsIngestModule.startUp.exception.importdir=Import directory does not exist and was not able to be created. -ExternalResultsIngestModule.process.exception.datasourcepath=Error getting the data source path. -ExternalResultsIngestModule.process.exception.run=Error running the external command: -ExternalResultsIngestModule.process.shutdown.finished=Finished \ No newline at end of file +ExternalResultsImporter.importDerivedFiles.errMsg1.text=Could not import derived file at {0}, parent file {1} not found. +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. +ExternalResultsImporter.importArtifacts.caseErrMsg1.text=Could not import {0} attribute, value \= {1}, for {2} artifact from {3}, unrecognized attribute value type\: {4}. +ExternalResultsImporter.importArtifacts.errMsg1.text=Could not import {0} artifact from {1}, source file not found. +ExternalResultsImporter.importArtifacts.errMsg2.text=Could not import {0} artifact from {1}, error updating case database. +ExternalResultsImporter.importReports.errMsg1.text=Could not import report at {0}, file does not exist. +ExternalResultsImporter.importReports.errMsg2.text=Could not import report at {0}, error updating case database. +ExternalResultsImporter.findFileInCaseDatabase.errMsg1.text=Parent file path {0} is ambiguous, using first file found. +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. \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/externalresults/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/externalresults/Bundle_ja.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResults.java b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResults.java index 06afcabe14..1553de721f 100644 --- a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResults.java +++ b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResults.java @@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.externalresults; import java.util.ArrayList; import java.util.Collections; import java.util.List; + +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.Content; /** @@ -43,10 +45,12 @@ final public class ExternalResults { Artifact addArtifact(String type, String sourceFilePath) { 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()) { - 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); artifacts.add(artifact); @@ -59,10 +63,12 @@ final public class ExternalResults { void addReport(String localPath, String sourceModuleName, String reportName) { 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()) { - 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); reports.add(report); @@ -74,10 +80,12 @@ final public class ExternalResults { void addDerivedFile(String localPath, String parentPath) { 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()) { - 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); derivedFiles.add(file); @@ -108,13 +116,16 @@ final public class ExternalResults { void addAttribute(String type, String value, String valueType, String sourceModule) { 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()) { - throw new IllegalArgumentException("value argument is empty"); + throw new IllegalArgumentException(NbBundle.getMessage(this.getClass(), + "ExternalResults.Artifact.addAttribute.exception.msg2.text")); } 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)); } diff --git a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsImporter.java b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsImporter.java index 67cc2bb804..e64d00556b 100644 --- a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsImporter.java +++ b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsImporter.java @@ -26,6 +26,8 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.casemodule.services.FileManager; 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. IngestServices.getInstance().fireModuleContentEvent(new ModuleContentEvent(derivedFile)); } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); } } } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); } } 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); 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)); break; 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(), artifactData.getType(), artifactData.getSourceFilePath(), attributeData.getValueType()); @@ -165,12 +174,16 @@ public final class ExternalResultsImporter { IngestServices.getInstance().fireModuleDataEvent(new ModuleDataEvent(this.getClass().getSimpleName(), BlackboardArtifact.ARTIFACT_TYPE.fromID(artifactTypeId))); } } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); } } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex)); } @@ -185,12 +198,12 @@ public final class ExternalResultsImporter { if (reportFile.exists()) { Case.getCurrentCase().addReport(reportPath, report.getSourceModuleName(), report.getReportName()); } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage)); } } 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); this.errors.add(new ErrorInfo(ExternalResultsImporter.class.getName(), errorMessage, ex)); } @@ -213,7 +226,7 @@ public final class ExternalResultsImporter { if (!files.isEmpty()) { file = files.get(0); 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); } } @@ -230,13 +243,15 @@ public final class ExternalResultsImporter { Path pathRelative = pathBase.relativize(path); relativePath = pathRelative.toString(); } catch (IllegalArgumentException ex) { - String errorMessage = String.format("Did not convert %s to relative path, not in a subdirectory of case directory %s", - localPath, caseDirectoryPath); + String errorMessage = NbBundle.getMessage(this.getClass(), + "ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg1.text", + localPath, caseDirectoryPath); this.recordError(errorMessage, ex); } } else { - String errorMessage = String.format("Expected %s to be an absolute path to a file in a subdirectory of case directory %s", - localPath, caseDirectoryPath); + String errorMessage = NbBundle.getMessage(this.getClass(), + "ExternalResultsImporter.getPathRelativeToCaseFolder.errMsg2.text", + localPath, caseDirectoryPath); this.recordError(errorMessage); } return relativePath; diff --git a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsXMLParser.java b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsXMLParser.java index 0465cf9404..daf00a7913 100644 --- a/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsXMLParser.java +++ b/Core/src/org/sleuthkit/autopsy/externalresults/ExternalResultsXMLParser.java @@ -22,6 +22,8 @@ import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ErrorInfo; import org.sleuthkit.autopsy.coreutils.XMLUtil; import org.sleuthkit.datamodel.Content; @@ -115,7 +117,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { /** * 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) { this.dataSource = dataSource; @@ -140,12 +142,14 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { parseArtifacts(rootElem); parseReports(rootElem); } 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); } } } 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); } return this.resultsData; @@ -220,8 +224,9 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { } final String value = valueElem.getTextContent(); if (value.isEmpty()) { - String errorMessage = String.format("Found %s element that has no content in %s", - TagNames.VALUE_ELEM.toString(), this.resultsFilePath); + String errorMessage = NbBundle.getMessage(this.getClass(), + "ExternalResultsXMLParser.parseArtifactAttributes.errMsg1.text", + TagNames.VALUE_ELEM.toString(), this.resultsFilePath); recordError(errorMessage); continue; } @@ -246,10 +251,11 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { && !valueType.equals(AttributeValues.VALUE_TYPE_DOUBLE.toString()) && !valueType.equals(AttributeValues.VALUE_TYPE_INT32.toString()) && !valueType.equals(AttributeValues.VALUE_TYPE_INT64.toString())) { - String errorMessage = String.format("Found unrecognized value %s for %s attribute of %s element", - valueType, - AttributeNames.TYPE_ATTR.toString(), - TagNames.VALUE_ELEM.toString()); + String errorMessage = NbBundle.getMessage(this.getClass(), + "ExternalResultsXMLParser.parseAttributeValueType.errMsg1.text", + valueType, + AttributeNames.TYPE_ATTR.toString(), + TagNames.VALUE_ELEM.toString()); this.recordError(errorMessage); valueType = ""; } @@ -285,7 +291,7 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { private String getElementAttributeValue(Element element, String attributeName) { final String attributeValue = element.getAttribute(attributeName); 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(), attributeName, this.resultsFilePath}); @@ -299,17 +305,18 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { if (childElement != null) { content = childElement.getTextContent(); if (content.isEmpty()) { - String errorMessage = String.format("Found %s element with %s child element that has no content in %s", - parentElement.getTagName(), - childElementTagName, - this.resultsFilePath); + String errorMessage = NbBundle.getMessage(this.getClass(), + "ExternalResultsXMLParser.getChildElementContent.errMsg1.text", + parentElement.getTagName(), + childElementTagName, + this.resultsFilePath); this.recordError(errorMessage); } } else if (required) { - String errorMessage = String.format("Found %s element missing %s child element in %s", - parentElement.getTagName(), - childElementTagName, - this.resultsFilePath); + String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElementContent.errMsg2.text", + parentElement.getTagName(), + childElementTagName, + this.resultsFilePath); this.recordError(errorMessage); } return content; @@ -321,10 +328,10 @@ public final class ExternalResultsXMLParser implements ExternalResultsParser { if (childNodes.getLength() > 0) { childElem = (Element) childNodes.item(0); if (childNodes.getLength() > 1) { - String errorMessage = String.format("Found multiple %s child elements for %s element in %s, ignoring all but first occurrence", - childElementTagName, - parentElement.getTagName(), - this.resultsFilePath); + String errorMessage = NbBundle.getMessage(this.getClass(), "ExternalResultsXMLParser.getChildElement.errMsg1.text", + childElementTagName, + parentElement.getTagName(), + this.resultsFilePath); this.recordError(errorMessage); } } diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties index 9238a9f40a..bc7c8f2783 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/ingest/Bundle.properties @@ -71,3 +71,9 @@ IngestJobConfigurationPanel.descriptionLabel.text= IngestProgressSnapshotDialog.title.text=Ingest Task Progress Snapshots IngestProgressSnapshotPanel.refreshButton.text=Refresh 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) diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java index a452481e63..be24910cdd 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestMessagePanel.java @@ -63,8 +63,8 @@ class IngestMessagePanel extends JPanel implements TableModelListener { private MessageTableModel tableModel; private MessageTableRenderer renderer; private IngestMessageMainPanel mainPanel; - private static Font visitedFont = new Font("Arial", Font.PLAIN, 12); - private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12); + private static Font visitedFont = new Font("Arial", Font.PLAIN, 12); //NON-NLS + private static Font notVisitedFont = new Font("Arial", Font.BOLD, 12); //NON-NLS private static Color ERROR_COLOR = new Color(255, 90, 90); private volatile int lastRowSelected = -1; private volatile long totalMessages = 0; @@ -132,7 +132,7 @@ class IngestMessagePanel extends JPanel implements TableModelListener { jScrollPane1.setPreferredSize(new java.awt.Dimension(32767, 32767)); 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.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); messageTable.setAutoscrolls(false); diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryLoader.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryLoader.java index 8e331598cb..55061fbe65 100644 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryLoader.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestModuleFactoryLoader.java @@ -67,21 +67,21 @@ final class IngestModuleFactoryLoader { } // Kick out the sample module factories. - moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory"); - moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory"); + moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleIngestModuleFactory"); //NON-NLS + moduleFactoriesByClass.remove("org.sleuthkit.autopsy.examples.SampleExecutableIngestModuleFactory"); //NON-NLS // Do the core ingest module ordering hack described above. ArrayList coreModuleOrdering = new ArrayList() { { - add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory"); - add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory"); - add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory"); - add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory"); - add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory"); - add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory"); - add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory"); - add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory"); - add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory"); + add("org.sleuthkit.autopsy.recentactivity.RecentActivityExtracterModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.ewfverify.EwfVerifierModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.hashdatabase.HashLookupModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.modules.filetypeid.FileTypeIdModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.modules.sevenzip.ArchiveFileExtractorModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.modules.exif.ExifParserModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.keywordsearch.KeywordSearchModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.thunderbirdparser.EmailParserModuleFactory"); //NON-NLS + add("org.sleuthkit.autopsy.modules.fileextmismatch.FileExtMismatchDetectorModuleFactory"); //NON-NLS } }; List orderedModuleFactories = new ArrayList<>(); diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotPanel.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotPanel.java index adea6c681f..0ea37f4679 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotPanel.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotPanel.java @@ -26,6 +26,7 @@ import javax.swing.JDialog; import javax.swing.table.AbstractTableModel; import javax.swing.table.TableColumn; import org.apache.commons.lang3.time.DurationFormatUtils; +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.AbstractFile; public class IngestProgressSnapshotPanel extends javax.swing.JPanel { @@ -79,7 +80,18 @@ public class IngestProgressSnapshotPanel extends javax.swing.JPanel { 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 snapshots; private SnapshotsTableModel() { diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties index 663a0631ec..656b70b559 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle.properties @@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\ OpenIDE-Module-Name=ExifParser OpenIDE-Module-Short-Description=Exif metadata ingest module ExifParserFileIngestModule.moduleName.text=Exif Parser -ExifParserFileIngestModule.getName.text=Exif Image Parser ExifParserFileIngestModule.getDesc.text=Ingests JPEG files and retrieves their EXIF metadata. diff --git a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties index da648be524..f7df05c7bf 100644 --- a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties @@ -5,5 +5,4 @@ OpenIDE-Module-Long-Description=\ 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 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 \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle.properties index 61c0ad1fe5..596d7e46e1 100644 --- a/Core/src/org/sleuthkit/autopsy/report/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/report/Bundle.properties @@ -191,3 +191,9 @@ ReportWizardPanel1.finishButton.text=Finish ReportWizardPanel2.finishButton.text=Finish ReportWizardPanel2.nextButton.text=Next > ReportHTML.writeSum.noCaseNum=No case number +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 diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportBodyFile.java b/Core/src/org/sleuthkit/autopsy/report/ReportBodyFile.java index 06578dc719..60abc397e6 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportBodyFile.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportBodyFile.java @@ -152,7 +152,10 @@ import org.sleuthkit.datamodel.*; if (out != null) { out.flush(); out.close(); - Case.getCurrentCase().addReport(reportPath, "TSK Body File", ""); + Case.getCurrentCase().addReport(reportPath, + NbBundle.getMessage(this.getClass(), + "ReportBodyFile.generateReport.srcModuleName.text"), ""); + } } catch (IOException ex) { logger.log(Level.WARNING, "Could not flush and close the BufferedWriter.", ex); //NON-NLS diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java b/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java index c504ef1646..e15688ac28 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportExcel.java @@ -112,7 +112,8 @@ import org.sleuthkit.datamodel.TskCoreException; try { out = new FileOutputStream(reportPath); wb.write(out); - Case.getCurrentCase().addReport(reportPath, "Excel Report", ""); + Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(), + "ReportExcel.endReport.srcModuleName.text"), ""); } catch (IOException ex) { logger.log(Level.SEVERE, "Failed to write Excel report.", ex); //NON-NLS } catch (TskCoreException ex) { diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java index 41a24e6294..678c7b871f 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportGenerator.java @@ -1318,8 +1318,8 @@ import org.sleuthkit.datamodel.TskData; case TSK_EXT_MISMATCH_DETECTED: columnHeaders = new ArrayList<>(Arrays.asList(new String[] { NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.file"), - "Extension", - "MIME Type", + NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.extension.text"), + NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.mimeType.text"), NbBundle.getMessage(this.getClass(), "ReportGenerator.artTableColHdr.path")})); break; default: diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java index 9553b299e8..e456efd8af 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportHTML.java @@ -803,7 +803,7 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM; */ private void writeIndex() { Writer indexOut = null; - String indexFilePath = path + "index.html"; + String indexFilePath = path + "index.html"; //NON-NLS try { indexOut = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(indexFilePath), "UTF-8")); //NON-NLS StringBuilder index = new StringBuilder(); @@ -821,7 +821,8 @@ import org.sleuthkit.datamodel.TskData.TSK_DB_FILES_TYPE_ENUM; index.append("\n"); //NON-NLS index.append(""); //NON-NLS 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) { logger.log(Level.SEVERE, "Error creating Writer for index.html: {0}", ex); //NON-NLS } catch (TskCoreException ex) { diff --git a/Core/src/org/sleuthkit/autopsy/report/ReportKML.java b/Core/src/org/sleuthkit/autopsy/report/ReportKML.java index 90b23fd442..5dc0fd2381 100644 --- a/Core/src/org/sleuthkit/autopsy/report/ReportKML.java +++ b/Core/src/org/sleuthkit/autopsy/report/ReportKML.java @@ -256,7 +256,8 @@ class ReportKML implements GeneralReportModule { FileOutputStream writer = new FileOutputStream(reportPath); outputter.output(kmlDocument, writer); writer.close(); - Case.getCurrentCase().addReport(reportPath, "KML Report", ""); + Case.getCurrentCase().addReport(reportPath, NbBundle.getMessage(this.getClass(), + "ReportKML.genReport.srcModuleName.text"), ""); } catch (IOException ex) { logger.log(Level.WARNING, "Could not write the KML file.", ex); //NON-NLS } catch (TskCoreException ex) { diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties index db5ea3f6cb..610f81257a 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle.properties @@ -56,7 +56,6 @@ AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Invalid query syntax. AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=Keyword Search Ingest in Progress AbstractKeywordSearchPerformer.search.ingestInProgressBody=Keyword Search Ingest is currently running.
Not all files have been indexed and this search might yield incomplete results.
Do you want to proceed with this search anyway? 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=No files are in index yet.
Try again later. Index is updated every {0} minutes. AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=No files were indexed.
Re-ingest the image with the Keyword Search Module enabled. ExtractedContentPanel.setMarkup.panelTxt=Loading text... Please wait @@ -195,7 +194,6 @@ 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.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. @@ -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. 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? -DropdownSearchPanelgetQueryList.exception.msg=No list for single-keyword search KeywordSearchModuleFactory.getIngestJobSettingsPanel.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 diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties index 9185aad303..b35952eb9c 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties @@ -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.ingestInProgressBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u5b9f\u884c\u4e2d
\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
\u3053\u306e\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f 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=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\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 AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\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 ExtractedContentPanel.setMarkup.panelTxt=\u30c6\u30ad\u30b9\u30c8\u30ed\u30fc\u30c9\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044... @@ -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} 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 -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 @@ -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 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 -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.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 diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties index 7f13f9a286..c42c3ef9dc 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle.properties @@ -97,3 +97,4 @@ SearchEngineURLQueryAnalyzer.toString=Name\: {0}\ SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=RecentActivity SearchEngineURLQueryAnalyzer.parentModuleName=Recent Activity SearchEngineURLQueryAnalyzer.init.exception.msg=Unable to find {0} +UsbDeviceIdMapper.parseAndLookup.text=Product\: {0} diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties index 7a0527b0fd..99a79ee3bb 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties @@ -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.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.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.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.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 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.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.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 diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/UsbDeviceIdMapper.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/UsbDeviceIdMapper.java index 5cdc517fe0..b043ce54f8 100644 --- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/UsbDeviceIdMapper.java +++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/UsbDeviceIdMapper.java @@ -34,6 +34,8 @@ import java.util.HashMap; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.PlatformUtil; /** @@ -82,7 +84,8 @@ class UsbDeviceIdMapper { key = vID + "0000"; if (devices.containsKey(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); diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties index 655af1dbfc..82e9e87245 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle.properties @@ -13,7 +13,6 @@ MboxParser.handleAttch.failedWriteToDisk=Failed to extract attachment to disk\: PstParser.parse.errMsg.failedToParseNMsgs=Failed to extract {0} email messages. PstParser.extractAttch.errMsg.failedToExtractToDisk=Failed to extract attachment to disk\: {0} ThunderbirdMboxFileIngestModule.moduleName=Email Parser -ThunderbirdMboxFileIngestModule.hashDbModuleName=Hash Lookup ThunderbirdMboxFileIngestModule.processPst.errMsg.outOfDiskSpace=Out of disk space. Can't copy {0} to parse. ThunderbirdMboxFileIngestModule.encryptionFileLevel=File-level Encryption ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg=Error while processing {0} diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties index d27134b30b..ab47acb465 100644 --- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties +++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties @@ -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.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.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.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