associatedObjectArtifacts = file.getArtifacts(ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ if (!associatedObjectArtifacts.isEmpty()) {
+ BlackboardArtifact artifact = associatedObjectArtifacts.get(0);
+ BlackboardAttribute associatedArtifactAttribute = artifact.getAttribute(new BlackboardAttribute.Type(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT));
+ if (associatedArtifactAttribute != null) {
+ long artifactId = associatedArtifactAttribute.getValueLong();
+ BlackboardArtifact associatedArtifact = artifact.getSleuthkitCase().getBlackboardArtifact(artifactId);
+ addDownloadSourceRow(sb, associatedArtifact);
}
}
} catch (TskCoreException ex) {
@@ -292,6 +294,26 @@ public class Metadata extends javax.swing.JPanel implements DataContentViewer {
this.setCursor(null);
}
+ /**
+ * Adds a row for download source from the given associated artifact,
+ * if the associated artifacts specifies a source.
+ *
+ * @param sb string builder.
+ * @param associatedArtifact
+ *
+ * @throws TskCoreException if there is an error
+ */
+ private void addDownloadSourceRow(StringBuilder sb, BlackboardArtifact associatedArtifact ) throws TskCoreException {
+ if (associatedArtifact != null &&
+ ((associatedArtifact.getArtifactTypeID() == ARTIFACT_TYPE.TSK_WEB_DOWNLOAD.getTypeID()) ||
+ (associatedArtifact.getArtifactTypeID() == ARTIFACT_TYPE.TSK_WEB_CACHE.getTypeID())) ) {
+ BlackboardAttribute urlAttr = associatedArtifact.getAttribute(new BlackboardAttribute.Type(ATTRIBUTE_TYPE.TSK_URL));
+ if (urlAttr != null) {
+ addRow(sb, NbBundle.getMessage(this.getClass(), "Metadata.tableRowTitle.downloadSource"), urlAttr.getValueString());
+ }
+ }
+ }
+
/**
* Add the acquisition details to the results (if applicable)
*
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ja.properties
index f139f20a19..8ce5b3ba54 100644
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ja.properties
@@ -1,15 +1,23 @@
-StringsTextViewer.goToPageTextField.msgDlg=\uff11\u304b\u3089{0}\u306e\u9593\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u6570\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044
-StringsTextViewer.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u6570
-StringsTextViewer.setDataView.errorText=\uff08\u30aa\u30d5\u30bb\u30c3\u30c8{0}-{1}\u306f\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\uff09
-StringsTextViewer.title=\u30b9\u30c8\u30ea\u30f3\u30b0
-StringsTextViewer.toolTip=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u62bd\u51fa\u3055\u308c\u305fASCII\u304a\u3088\u3073\u30e6\u30cb\u30b3\u30fc\u30c9\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
+StringsTextViewer.goToPageTextField.msgDlg=1 \u304b\u3089 {0} \u307e\u3067\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
+StringsTextViewer.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3067\u3059
+StringsTextViewer.setDataView.errorText=(\u30aa\u30d5\u30bb\u30c3\u30c8 {0}-{1} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f)
+StringsTextViewer.setDataView.errorNoText=(\u30aa\u30d5\u30bb\u30c3\u30c8 {0}-{1} \u306b\u306f\u30c6\u30ad\u30b9\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093)
+StringsTextViewer.title=\u6587\u5b57\u5217
+StringsTextViewer.toolTip=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u62bd\u51fa\u3057\u305fASCII\u6587\u5b57\u5217\u3068Unicode\u6587\u5b57\u5217\u3092\u8868\u793a
StringsContentPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
StringsContentPanel.currentPageLabel.text_1=1
StringsContentPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
-StringsContentPanel.ofLabel.text_1=of
+StringsContentPanel.ofLabel.text_1=/
StringsContentPanel.totalPageLabel.text_1=100
-StringsContentPanel.languageLabel.text=\u30b9\u30af\u30ea\u30d7\u30c8\uff1a
-StringsContentPanel.languageCombo.toolTipText=\u30d0\u30a4\u30ca\u30ea\u30b9\u30c8\u30ea\u30f3\u30b0\u306e\u51e6\u7406\uff08\u62bd\u51fa\u304a\u3088\u3073\u30c7\u30b3\u30fc\u30c9\uff09\u306b\u4f7f\u7528\u3059\u308b\u8a00\u8a9e
-StringsContentPanel.goToPageLabel.text=\u6b21\u306e\u30da\u30fc\u30b8\u3078\u79fb\u52d5\uff1a
+StringsContentPanel.languageLabel.toolTipText=
+StringsContentPanel.languageLabel.text=\u30b9\u30af\u30ea\u30d7\u30c8:
+StringsContentPanel.languageCombo.toolTipText=\u30d0\u30a4\u30ca\u30ea\u30fc\u30c7\u30fc\u30bf\u306e\u6587\u5b57\u5217\u306e\u89e3\u91c8(\u62bd\u51fa\u304a\u3088\u3073\u30c7\u30b3\u30fc\u30c9)\u4e2d\u306b\u8a66\u3059\u8a00\u8a9e
+StringsContentPanel.goToPageTextField.text=
+StringsContentPanel.goToPageLabel.text=\u30da\u30fc\u30b8\u306b\u79fb\u52d5:
+StringsContentPanel.prevPageButton.text=
StringsContentPanel.pageLabel2.text=\u30da\u30fc\u30b8
-StringsContentPanel.pageLabel.text_1=\u30da\u30fc\u30b8\uff1a
+StringsContentPanel.nextPageButton.text=
+StringsContentPanel.pageLabel.text_1=\u30da\u30fc\u30b8:
+TextContentViewer.title=\u30c6\u30ad\u30b9\u30c8
+TextContentViewer.tooltip=\u9078\u629e\u3057\u305f\u9805\u76ee\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a
+TextContentViewerPanel.defaultName=\u30c6\u30ad\u30b9\u30c8
diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties
index 7bd07e089b..3bda55e29c 100644
--- a/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/core/Bundle_ja.properties
@@ -1,30 +1,33 @@
+Installer.closing.confirmationDialog.message=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059\u3002\u7d42\u4e86\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+Installer.closing.confirmationDialog.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059
+# {0} - \u4f8b\u5916\u30e1\u30c3\u30bb\u30fc\u30b8
+Installer.closing.messageBox.caseCloseExceptionMessage=\u6b21\u306e\u30b1\u30fc\u30b9\u3092\u9589\u3058\u3066\u3044\u308b\u9593\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u30fc
OpenIDE-Module-Long-Description=\
- \u3053\u308c\u304cAutopsy\u306e\u30b3\u30a2\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002\n\n\
- \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u307f\u3067\u5b9f\u884c\u3059\u308b\u306e\u306b\u5fc5\u8981\u306a\u4e3b\u8981\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\uff1aRCP\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3001\u30a6\u30a3\u30f3\u30c9\u30a6\u30a4\u30f3\u30b0GUI\u3001Sleuth Kit\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u30e2\u30c7\u30eb\uff0f\u30b9\u30c8\u30ec\u30fc\u30b8\u3001\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u3001\u7d50\u679c\u30d3\u30e5\u30fc\u30a2\u3001\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30a2\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u7528\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3001\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u3001\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u7b49\u306e\u4e3b\u8981\u30c4\u30fc\u30eb\u3002\n\n\
- \u30e2\u30b8\u30e5\u30fc\u30eb\u5185\u306e\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306b\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3001\u30d3\u30e5\u30fc\u30a2\u3001\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u958b\u767a\u7528\u306eAPI\u304c\u542b\u307e\u308c\u307e\u3059\u3002\
- \u30e2\u30b8\u30e5\u30fc\u30eb\u306fAutopsy\u30d7\u30e9\u30b0\u30a4\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u3057\u3066\u5b9f\u88c5\u3067\u304d\u307e\u3059\u3002\n\
- \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u3001Autopsy\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\n\n\
- \u8a73\u7d30\u306f\u3053\u3061\u3089\u3067\u3054\u78ba\u8a8d\u304f\u3060\u3055\u3044\u3002http\://www.sleuthkit.org/autopsy/
-OpenIDE-Module-Name=Autopsy-\u30b3\u30a2
+ \u3053\u308c\u306fAutopsy\u306e\u30b3\u30a2\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002\n\n\
+ \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u3001RCP\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3001\u30a6\u30a3\u30f3\u30c9\u30a6\u4f5c\u6210GUI\u3001sleuthkit\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u30e2\u30c7\u30eb / \u30b9\u30c8\u30ec\u30fc\u30b8\u3001\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30fc\u3001\u7d50\u679c\u30d3\u30e5\u30fc\u30ef\u30fc\u3001\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30ef\u30fc\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3001\u30ec\u30dd\u30fc\u30c6\u30a3\u30f3\u30b0\u3001\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u306a\u3069\u306e\u30b3\u30a2\u30c4\u30fc\u30eb\u3068\u3044\u3063\u305f\u3001\u30d9\u30a2\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u306b\u5fc5\u8981\u306a\u30b3\u30a2\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\n\n\
+ \u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u542b\u307e\u308c\u308b\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306b\u306f\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3001\u30d3\u30e5\u30fc\u30ef\u30fc\u3001\u30ec\u30dd\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u4f5c\u6210\u7528API\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002 \
+ \u30e2\u30b8\u30e5\u30fc\u30eb\u306fAutopsy\u30d7\u30e9\u30b0\u30a4\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u30fc\u3092\u7528\u3044\u308b\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u3057\u3066\u5c55\u958b\u3067\u304d\u307e\u3059\u3002\n\
+ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a2\u30f3\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044 - \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u306a\u3044\u3068Autopsy\u304c\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002\n\n\
+ \u8a73\u7d30\u306f\u3001http://www.sleuthkit.org/autopsy/ \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044
+OpenIDE-Module-Name=Autopsy-Core
OpenIDE-Module-Short-Description=Autopsy\u30b3\u30a2\u30e2\u30b8\u30e5\u30fc\u30eb
-org_sleuthkit_autopsy_core_update_center=http\://sleuthkit.org/autopsy/updates_ja.xml
+org_sleuthkit_autopsy_core_update_center=http://sleuthkit.org/autopsy/updates.xml
Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Autopsy\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30bb\u30f3\u30bf\u30fc
-Installer.errorInitJavafx.msg=JavaFX\u521d\u671f\u5316\u30a8\u30e9\u30fc
-ServicesMonitor.failedService.notify.title=\u30b5\u30fc\u30d3\u30b9\u304c\u505c\u6b62\u3057\u3066\u3044\u307e\u3059
-ServicesMonitor.failedService.notify.msg={0}\u3078\u306e\u63a5\u7d9a\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
-ServicesMonitor.restoredService.notify.title=\u30b5\u30fc\u30d3\u30b9\u304c\u7a3c\u50cd\u4e2d\u3067\u3059
-ServicesMonitor.restoredService.notify.msg={0}\u3078\u306e\u63a5\u7d9a\u304c\u5229\u7528\u3067\u304d\u307e\u3059
-ServicesMonitor.statusChange.notify.title=\u30b5\u30fc\u30d3\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8
-ServicesMonitor.statusChange.notify.msg={0}\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f{1}
-ServicesMonitor.nullServiceName.excepton.txt=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9\u306f\u30cc\u30eb\u3067\u3059
-ServicesMonitor.unknownServiceName.excepton.txt=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9{0}\u306f\u4e0d\u660e\u3067\u3059
-TextConverter.convert.exception.txt=\u30c6\u30ad\u30b9\u30c8{0}\u3092hex\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-TextConverter.convertFromHex.exception.txt=hex\u30c6\u30ad\u30b9\u30c8\u3092\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-ServicesMonitor.KeywordSearchNull=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u3092\u898b\u3064\u3051\u308c\u307e\u305b\u3093\u3067\u3057\u305f
-ServicesMonitor.InvalidPortNumber=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7
-ServicesMonitor.remoteCaseDatabase.displayName.text=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u30b1\u30fc\u30b9\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b5\u30fc\u30d3\u30b9
-ServicesMonitor.remoteKeywordSearch.displayName.text=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9
-ServicesMonitor.messaging.displayName.text=\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9
-ServicesMonitor.databaseConnectionInfo.error.msg=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u63a5\u7d9a\u60c5\u5831\u3092\u5165\u624b\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-ServicesMonitor.messagingService.connErr.text=\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u306e\u63a5\u7d9a\u60c5\u5831\u3092\u5165\u624b\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
\ No newline at end of file
+Installer.errorInitJavafx.msg=JavaFX\u306e\u521d\u671f\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Installer.errorInitJavafx.details=\ \u4e00\u90e8\u306e\u6a5f\u80fd\u304c\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002 \u9069\u5207\u306aJRE\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u304f\u3060\u3055\u3044(Oracle JRE 1.7.10\u4ee5\u964d)\u3002
+ServicesMonitor.failedService.notify.title=\u30b5\u30fc\u30d3\u30b9\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
+ServicesMonitor.failedService.notify.msg={0} \u3078\u306e\u63a5\u7d9a\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
+ServicesMonitor.restoredService.notify.title=\u30b5\u30fc\u30d3\u30b9\u304c\u5b9f\u884c\u4e2d\u3067\u3059
+ServicesMonitor.restoredService.notify.msg={0} \u3078\u306e\u63a5\u7d9a\u304c\u5b9f\u884c\u4e2d\u3067\u3059
+ServicesMonitor.statusChange.notify.title=\u30b5\u30fc\u30d3\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9\u66f4\u65b0
+ServicesMonitor.statusChange.notify.msg={0} \u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u306f {1} \u3067\u3059
+ServicesMonitor.nullServiceName.excepton.txt=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9\u540d\u306fnull\u3067\u3059
+ServicesMonitor.unknownServiceName.excepton.txt=\u30ea\u30af\u30a8\u30b9\u30c8\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9\u540d {0} \u306f\u4e0d\u660e\u3067\u3059
+ServicesMonitor.KeywordSearchNull=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+ServicesMonitor.InvalidPortNumber=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
+ServicesMonitor.remoteCaseDatabase.displayName.text=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b5\u30fc\u30d3\u30b9
+ServicesMonitor.remoteKeywordSearch.displayName.text=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9
+ServicesMonitor.messaging.displayName.text=\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9
+ServicesMonitor.databaseConnectionInfo.error.msg=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u60c5\u5831\u306b\u30a2\u30af\u30bb\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ServicesMonitor.messagingService.connErr.text=\u30e1\u30c3\u30bb\u30fc\u30b8\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u63a5\u7d9a\u60c5\u5831\u306b\u30a2\u30af\u30bb\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
diff --git a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java
index b65d0873fe..409e27f080 100644
--- a/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java
+++ b/Core/src/org/sleuthkit/autopsy/core/UserPreferences.java
@@ -81,6 +81,7 @@ public final class UserPreferences {
private static final String GEO_TILE_OPTION = "GeolocationTileOption";
private static final String GEO_OSM_TILE_ZIP_PATH = "GeolocationOsmZipPath";
private static final String GEO_OSM_SERVER_ADDRESS = "GeolocationOsmServerAddress";
+ private static final String GEO_MBTILES_FILE_PATH = "GeolcoationMBTilesFilePath";
// Prevent instantiation.
private UserPreferences() {
@@ -576,7 +577,7 @@ public final class UserPreferences {
}
/**
- * Sets the address of the OSM tile server.
+ * Sets the address of geolocation window user defined OSM server data source.
*
* @param address
*/
@@ -592,4 +593,22 @@ public final class UserPreferences {
public static String getGeolocationOsmServerAddress() {
return preferences.get(GEO_OSM_SERVER_ADDRESS, "");
}
+
+ /**
+ * Sets the path for Geolocation MBTiles data source file.
+ *
+ * @param absolutePath
+ */
+ public static void setGeolocationMBTilesFilePath(String absolutePath) {
+ preferences.put(GEO_MBTILES_FILE_PATH, absolutePath);
+ }
+
+ /**
+ * Retrieves the path for the Geolocation MBTiles data source file.
+ *
+ * @return Absolute path to MBTiles file or empty string if none was found.
+ */
+ public static String getGeolocationMBTilesFilePath() {
+ return preferences.get(GEO_MBTILES_FILE_PATH, "");
+ }
}
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ja.properties
index a2727c5700..91f27d6210 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ja.properties
@@ -1,3 +1,3 @@
-OpenIDE-Module-Name=\u4E3B\u8981\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30A4\u30B9
-CoreComponentControl.CTL_DirectoryTreeTopComponent=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC
-CoreComponentControl.CTL_FavoritesTopComponent=\u304A\u6C17\u306B\u5165\u308A
\ No newline at end of file
+OpenIDE-Module-Name=\u4e3b\u8981\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9
+CoreComponentControl.CTL_DirectoryTreeTopComponent=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc
+CoreComponentControl.CTL_FavoritesTopComponent=\u304a\u6c17\u306b\u5165\u308a
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ja.properties
index 3f1c8c2ac5..6f941632c8 100644
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ja.properties
@@ -1,117 +1,274 @@
-CTL_DataContentAction=\u30c7\u30fc\u30bf\u30b3\u30f3\u30c6\u30f3\u30c4
-OptionsCategory_Keywords_General=Autopsy\u30aa\u30d7\u30b7\u30e7\u30f3
-CTL_CustomAboutAction=Autopsy\u306b\u3064\u3044\u3066
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidImageSpecified.text=\u7121\u52b9\u306e\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u304c\u6307\u5b9a\u3055\u308c\u307e\u3057\u305f\u3002
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidPath.text=\u30d1\u30b9\u306f\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.pathNotSet.text=\u30a8\u30fc\u30b8\u30a7\u30f3\u30b7\u30fc\u30ed\u30b4\u30d1\u30b9\u3092\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+AutopsyOptionsPanel.invalidImageFile.msg=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30a8\u30fc\u30b8\u30a7\u30f3\u30b7\u30fc\u30ed\u30b4\u3068\u3057\u3066\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+AutopsyOptionsPanel.invalidImageFile.title=\u7121\u52b9\u306a\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3067\u3059
+AutopsyOptionsPanel.logNumAlert.invalidInput.text=\u3053\u3053\u3067\u306f\u6b63\u306e\u6574\u6570\u304c\u5fc5\u8981\u3067\u3059\u3002
+AutopsyOptionsPanel.memFieldValidationLabel.developerMode.text=\u958b\u767a\u8005\u30e2\u30fc\u30c9\u3067\u5b9f\u884c\u4e2d\u306f\u30e1\u30e2\u30ea\u30fc\u8a2d\u5b9a\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093
+AutopsyOptionsPanel.memFieldValidationLabel.invalidCharacters.text=\u7121\u52b9\u306a\u6587\u5b57\u3067\u3059\u3002\u5024\u306f\u6b63\u306e\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
+AutopsyOptionsPanel.memFieldValidationLabel.not64BitInstall.text=JVM\u30e1\u30e2\u30ea\u30fc\u8a2d\u5b9a\u306f64\u30d3\u30c3\u30c8\u7248\u306b\u306e\u307f\u6709\u52b9\u3067\u3059
+AutopsyOptionsPanel.memFieldValidationLabel.noValueEntered.text=\u5024\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+# {0} - systemMemory
+AutopsyOptionsPanel.memFieldValidationLabel.overMaxMemory.text=\u5024\u306f\u5408\u8a08\u30b7\u30b9\u30c6\u30e0\u30e1\u30e2\u30ea\u30fc\u306e {0}GB\u4ee5\u4e0b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
+# {0} - minimumMemory
+AutopsyOptionsPanel.memFieldValidationLabel.underMinMemory.text=\u5024\u306f\u5c11\u306a\u304f\u3068\u3082 {0}GB\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
+CTL_DataContentAction=DataContent
CTL_DataContentTopComponent=\u30c7\u30fc\u30bf\u30b3\u30f3\u30c6\u30f3\u30c4
-HINT_DataContentTopComponent=\u3053\u308c\u306f\u30c7\u30fc\u30bf\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
-HINT_NodeTableTopComponent=\u3053\u308c\u306f\u30c7\u30fc\u30bf\u7d50\u679c\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
-OpenIDE-Module-Name=\u4e3b\u8981\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
-DataContentViewerHex.pageLabel.text_1=\u30da\u30fc\u30b8\uff1a
+CTL_CustomAboutAction=\u6982\u8981
+CTL_OfflineHelpAction=Autopsy\u30aa\u30d5\u30e9\u30a4\u30f3\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8
+CTL_OnlineHelpAction=Autopsy\u30aa\u30f3\u30e9\u30a4\u30f3\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8
+DataContentViewerArtifact.attrsTableHeader.sources=\u30bd\u30fc\u30b9
+DataContentViewerArtifact.attrsTableHeader.type=\u30bf\u30a4\u30d7
+DataContentViewerArtifact.attrsTableHeader.value=\u5024
+DataContentViewerArtifact.failedToGetAttributes.message=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u4e00\u90e8\u307e\u305f\u306f\u3059\u3079\u3066\u306e\u5c5e\u6027\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+DataContentViewerArtifact.failedToGetSourcePath.message=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+DataContentViewerHex.copyingFile=HxD\u3067\u958b\u304f\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u4e2d\u3067\u3059...
+DataContentViewerHex.launchError=HxD\u30a8\u30c7\u30a3\u30bf\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3002[\u30c4\u30fc\u30eb] -> [\u30aa\u30d7\u30b7\u30e7\u30f3] -> [\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc] \u3067HxD\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5834\u6240\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044
+DataResultViewerTable.commentRender.name=C
+DataResultViewerTable.commentRender.toolTip=C(\u30b3\u30e1\u30f3\u30c8)\u306f\u9805\u76ee\u306b\u30b3\u30e1\u30f3\u30c8\u304c\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u793a\u3057\u3066\u3044\u307e\u3059
+DataResultViewerTable.commentRenderer.crAndTagComment.toolTip=\u30b3\u30e1\u30f3\u30c8\u304c\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u3068\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30bf\u30b0\u306e\u4e21\u65b9\u306b\u5b58\u5728\u3057\u307e\u3059
+DataResultViewerTable.commentRenderer.crComment.toolTip=\u30b3\u30e1\u30f3\u30c8\u304c\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306b\u5b58\u5728\u3057\u307e\u3059
+DataResultViewerTable.commentRenderer.noComment.toolTip=\u30b3\u30e1\u30f3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+DataResultViewerTable.commentRenderer.tagComment.toolTip=\u30b3\u30e1\u30f3\u30c8\u304c\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30bf\u30b0\u306b\u5b58\u5728\u3057\u307e\u3059
+DataResultViewerTable.countRender.name=O
+DataResultViewerTable.countRender.toolTip=O(\u767a\u751f)\u306f\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306e\u9805\u76ee\u3092\u542b\u3080\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u6570\u3092\u793a\u3057\u3066\u3044\u307e\u3059
+DataResultViewerTable.exportCSVButtonActionPerformed.empty=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b\u30c7\u30fc\u30bf\u306f\u3042\u308a\u307e\u305b\u3093
+DataResultViewerTable.firstColLbl=\u540d\u524d
+DataResultViewerTable.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3067\u3059
+# {0} - totalPages
+DataResultViewerTable.goToPageTextField.msgDlg=1 \u304b\u3089 {0} \u307e\u3067\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
+# {0} - currentPage
+# {1} - totalPages
+DataResultViewerTable.pageNumbers.curOfTotal={0} / {1}
+DataResultViewerTable.scoreRender.name=S
+DataResultViewerTable.scoreRender.toolTip=S(\u30b9\u30b3\u30a2)\u306f\u9805\u76ee\u304c\u8208\u5473\u6df1\u3044\u304b\u9855\u8457\u306a\u3082\u306e\u3067\u3042\u308b\u304b\u3069\u3046\u304b\u3092\u793a\u3057\u3066\u3044\u307e\u3059
+DataResultViewerTable.title=\u30c6\u30fc\u30d6\u30eb
+DataResultViewerThumbnail.sortLabel.text=\u6b21\u3067\u30bd\u30fc\u30c8: ---
+# {0} - \u30bd\u30fc\u30c8\u6761\u4ef6
+DataResultViewerThumbnail.sortLabel.textTemplate=\u6b21\u3067\u30bd\u30fc\u30c8: {0}
+DataResultViewerThumbnail.thumbnailSizeComboBox.large=\u5927\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+DataResultViewerThumbnail.thumbnailSizeComboBox.medium=\u4e2d\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+DataResultViewerThumbnail.thumbnailSizeComboBox.small=\u5c0f\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+OptionsCategory_Name_General=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+OptionsCategory_Keywords_General=Autopsy\u30aa\u30d7\u30b7\u30e7\u30f3
+HINT_DataContentTopComponent=\u3053\u308c\u306fDataContent\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
+HINT_NodeTableTopComponent=\u3053\u308c\u306fDataResult\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
+OpenIDE-Module-Name=CoreComponents
+DataContentViewerHex.prevPageButton.text=
+DataContentViewerHex.nextPageButton.text=
+DataContentViewerHex.pageLabel.text_1=\u30da\u30fc\u30b8:
DataContentViewerHex.currentPageLabel.text_1=1
+DataContentViewerHex.ofLabel.text_1=/
DataContentViewerHex.totalPageLabel.text_1=100
DataContentViewerHex.pageLabel2.text=\u30da\u30fc\u30b8
-Format_OperatingSystem_Value={0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 {2}
+
+# \u88fd\u54c1\u60c5\u5831\u30d1\u30cd\u30eb
+LBL_Description=\n \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3: {0} ({9})
Sleuth Kit\u30d0\u30fc\u30b8\u30e7\u30f3: {7}
Netbeans RCP\u30d3\u30eb\u30c9: {8}
Java: {1}; {2}
\u30b7\u30b9\u30c6\u30e0: {3}; {4}; {5}
Userdir: {6}
+Format_OperatingSystem_Value={2} \u4e0a\u3067 {0} \u30d0\u30fc\u30b8\u30e7\u30f3 {1} \u304c\u5b9f\u884c\u4e2d\u3067\u3059
+LBL_Copyright=Autopsy™ \u306fSleuth Kit&trade\u3068\u305d\u306e\u4ed6\u30c4\u30fc\u30eb\u3092\u30d9\u30fc\u30b9\u3068\u3057\u305f\u30c7\u30b8\u30bf\u30eb\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30fb\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059\u3002
\u8457\u4f5c\u6a29 © 2003-2018.
+SortChooser.dialogTitle=\u30bd\u30fc\u30c8\u6761\u4ef6\u3092\u9078\u629e
+ThumbnailViewChildren.progress.cancelling=(\u53d6\u308a\u6d88\u3057\u4e2d)
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+ThumbnailViewNode.progressHandle.text={0} \u306e\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u4f5c\u6210\u4e2d\u3067\u3059
+URL_ON_IMG=http://www.sleuthkit.org/
+FILE_FOR_LOCAL_HELP=file:///
+INDEX_FOR_LOCAL_HELP=/docs/index.html
LBL_Close=\u9589\u3058\u308b
DataContentViewerHex.copyMenuItem.text=\u30b3\u30d4\u30fc
-DataContentViewerHex.selectAllMenuItem.text=\u5168\u3066\u9078\u629e
+DataContentViewerHex.selectAllMenuItem.text=\u3059\u3079\u3066\u3092\u9078\u629e
DataContentViewerArtifact.totalPageLabel.text=100
+DataContentViewerArtifact.prevPageButton.text=
DataContentViewerArtifact.pageLabel2.text=\u7d50\u679c
+DataContentViewerArtifact.nextPageButton.text=
DataContentViewerArtifact.currentPageLabel.text=1
+DataContentViewerArtifact.ofLabel.text=/
DataContentViewerArtifact.copyMenuItem.text=\u30b3\u30d4\u30fc
-DataContentViewerArtifact.selectAllMenuItem.text=\u5168\u3066\u9078\u629e
-DataContentViewerArtifact.pageLabel.text=\u7d50\u679c\uff1a
+DataContentViewerArtifact.selectAllMenuItem.text=\u3059\u3079\u3066\u3092\u9078\u629e
+DataContentViewerArtifact.pageLabel.text=\u7d50\u679c:
AdvancedConfigurationDialog.applyButton.text=OK
-DataContentViewerHex.goToPageLabel.text=\u6b21\u306e\u30da\u30fc\u30b8\u3078\u79fb\u52d5\uff1a
-DataResultViewerThumbnail.pageLabel.text=\u30da\u30fc\u30b8\uff1a
-DataResultViewerThumbnail.pagesLabel.text=\u30da\u30fc\u30b8\uff1a
-DataResultViewerThumbnail.imagesLabel.text=\u30a4\u30e1\u30fc\u30b8\uff1a
+DataContentViewerHex.goToPageTextField.text=
+DataContentViewerHex.goToPageLabel.text=\u30da\u30fc\u30b8\u306b\u79fb\u52d5:
+DataResultViewerThumbnail.pageLabel.text=\u30da\u30fc\u30b8:
+DataResultViewerThumbnail.pagesLabel.text=\u30da\u30fc\u30b8:
+DataResultViewerThumbnail.pagePrevButton.text=
+DataResultViewerThumbnail.pageNextButton.text=
+DataResultViewerThumbnail.imagesLabel.text=\u30a4\u30e1\u30fc\u30b8:
DataResultViewerThumbnail.imagesRangeLabel.text=-
DataResultViewerThumbnail.pageNumLabel.text=-
-DataResultViewerThumbnail.goToPageLabel.text=\u6b21\u306e\u30da\u30fc\u30b8\u306b\u79fb\u52d5\uff1a
-AdvancedConfigurationDialog.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
-DataContentViewerArtifact.waitText=\u30c7\u30fc\u30bf\u3092\u53d6\u8fbc\u307f\u304a\u3088\u3073\u6e96\u5099\u4e2d\u3002\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u4e0b\u3055\u3044...
-DataContentViewerArtifact.errorText=\u7d50\u679c\u3092\u53d6\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+DataResultViewerThumbnail.filePathLabel.text=\ \ \
+DataResultViewerThumbnail.goToPageLabel.text=\u30da\u30fc\u30b8\u306b\u79fb\u52d5:
+DataResultViewerThumbnail.goToPageField.text=
+AdvancedConfigurationDialog.cancelButton.text=\u53d6\u308a\u6d88\u3057
+DataContentViewerArtifact.waitText=\u30c7\u30fc\u30bf\u3092\u691c\u7d22\u3057\u3066\u6e96\u5099\u4e2d\u3067\u3059\u3002\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
+DataContentViewerArtifact.errorText=\u7d50\u679c\u306e\u691c\u7d22\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
DataContentViewerArtifact.title=\u7d50\u679c
-DataContentViewerArtifact.toolTip=\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u9023\u3059\u308b\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059
-DataContentViewerHex.goToPageTextField.msgDlg=\uff11\u304b\u3089 {0}\u306e\u9593\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u6570\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044
-DataContentViewerHex.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u6570
-DataContentViewerHex.setDataView.errorText=\uff08\u30aa\u30d5\u30bb\u30c3\u30c8{0}-{1}\u306f\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\uff09
-DataContentViewerHex.title=HEX
-DataContentViewerHex.toolTip=\u30d0\u30a4\u30ca\u30ea\u30b3\u30f3\u30c6\u30f3\u30c4\u3092HEX\u30d5\u30a1\u30a4\u30eb\u3068\u3057\u3066\u8868\u793a\u3057\u3001ASCII\u3068\u3057\u3066\u8868\u793a\u3067\u304d\u308b\u30d0\u30a4\u30c8\u306f\u53f3\u5074\u306b\u8868\u793a\u3057\u307e\u3059\u3002
-DataResultPanel.pleasewaitNodeDisplayName=\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u2026
-DataResultViewerTable.firstColLbl=\u540d\u524d
-DataResultViewerTable.illegalArgExc.noChildFromParent=\u6307\u5b9a\u3055\u308c\u305f\u30da\u30a2\u30ec\u30f3\u30c8\u304b\u3089\u30c1\u30e3\u30a4\u30eb\u30c9\u30ce\u30fc\u30c9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-DataResultViewerTable.illegalArgExc.childWithoutPropertySet=\u30c1\u30e3\u30a4\u30eb\u30c9\u30ce\u30fc\u30c9\u306f\u901a\u5e38\u306ePropertySet\u3092\u6301\u3063\u3066\u3044\u307e\u305b\u3093\u3002
-DataResultViewerTable.title=\u30c6\u30fc\u30d6\u30eb
-DataResultViewerTable.pleasewaitNodeDisplayName=\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u2026
+DataContentViewerArtifact.toolTip=\u30d5\u30a1\u30a4\u30eb\u3068\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u7d50\u679c\u3092\u8868\u793a
+DataContentViewerHex.goToPageTextField.msgDlg=1 \u304b\u3089 {0} \u307e\u3067\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
+DataContentViewerHex.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3067\u3059
+DataContentViewerHex.setDataView.errorText=(\u30aa\u30d5\u30bb\u30c3\u30c8 {0}-{1} \u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f)
+DataContentViewerHex.title=16\u9032\u6570
+DataContentViewerHex.toolTip=\u30d5\u30a1\u30a4\u30eb\u306e\u30d0\u30a4\u30ca\u30ea\u30fc\u30b3\u30f3\u30c6\u30f3\u30c4\u309216\u9032\u6570\u3068\u3057\u3066\u8868\u793a\u3057\u307e\u3059\u3002\u53f3\u5074\u306bASCII\u6587\u5b57\u3068\u3057\u3066\u8868\u793a\u53ef\u80fd\u306a\u30d0\u30a4\u30c8\u304c\u793a\u3055\u308c\u307e\u3059\u3002
+DataResultPanel.pleasewaitNodeDisplayName=\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
+DataResultViewerTable.illegalArgExc.noChildFromParent=\u6307\u5b9a\u3057\u305f\u89aa\u304b\u3089\u5b50\u30ce\u30fc\u30c9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+DataResultViewerTable.illegalArgExc.childWithoutPropertySet=\u5b50\u30ce\u30fc\u30c9\u306b\u306f\u6b63\u898f\u306ePropertySet\u304c\u3042\u308a\u307e\u305b\u3093\u3002
DataResultViewerThumbnail.title=\u30b5\u30e0\u30cd\u30a4\u30eb
-DataResultViewerThumbnail.goToPageTextField.msgDlg=\uff11\u304b\u3089{0}\u306e\u9593\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u6570\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044
-DataResultViewerThumbnail.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u6570
-DataResultViewerThumbnail.genThumbs=\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u4f5c\u6210\u4e2d\u2026
-DataResultViewerThumbnail.pageNumbers.curOfTotal={0}\uff0f{1}\u76ee
+DataResultViewerThumbnail.goToPageTextField.msgDlg=1 \u304b\u3089 {0} \u307e\u3067\u306e\u6709\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
+DataResultViewerThumbnail.goToPageTextField.err=\u7121\u52b9\u306a\u30da\u30fc\u30b8\u756a\u53f7\u3067\u3059
+DataResultViewerThumbnail.genThumbs=\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u4f5c\u6210\u4e2d\u3067\u3059...
+DataResultViewerThumbnail.pageNumbers.curOfTotal={0} / {1}
GeneralOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-GeneralOptionsPanelController.moduleErr.msg=GeneralOptionsPanelController\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\u3092\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
-LBL_Description=\n \u88fd\u54c1\u30d0\u30fc\u30b8\u30e7\u30f3\uff1a {0} ({9})
Sleuth Kit\u30d0\u30fc\u30b8\u30e7\u30f3\uff1a {7}
Netbeans RCP\u30d3\u30eb\u30c9\: {8}
Java\: {1}; {2}
\u30b7\u30b9\u30c6\u30e0\uff1a {3}; {4}; {5}
\u30e6\u30fc\u30b6\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d {6}
-LBL_Copyright=Autopsy™\u306fSleuth Kit™\u3084\u305d\u306e\u4ed6\u30c4\u30fc\u30eb\u3092\u57fa\u306b\u3057\u305f\u30c7\u30b8\u30bf\u30eb\u30fb\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30fb\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u3067\u3059\u3002
Copyright © 2003-2013. \u8a73\u7d30\u306f\u4e0b\u8a18\u3092\u3054\u89a7\u4e0b\u3055\u3044\u3002
http\://www.sleuthkit.org.
-ProductInformationPanel.verbLoggingEnabled.text=Verbose\u30ed\u30b0\u304c\u6709\u52b9\u3067\u3059
+GeneralOptionsPanelController.moduleErr.msg=GeneralOptionsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+ProductInformationPanel.verbLoggingEnabled.text=\u8a73\u7d30\u30ed\u30ae\u30f3\u30b0\u304c\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059
ProductInformationPanel.propertyUnknown.text=\u4e0d\u660e
ProductInformationPanel.getVMValue.text={0} {1}
TableFilterNode.displayName.text=\u540d\u524d
-DataContentViewerHex.ofLabel.text_1=of
-DataContentViewerArtifact.ofLabel.text=of
-DataContentViewerString.setDataView.errorNoText=\uff08\u30aa\u30d5\u30bb\u30c3\u30c8{0}-{1}\u306b\u306f\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\uff09
-DataResultViewerThumbnail.comboBox.smallThumbnails=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5c0f\uff09
-DataResultViewerThumbnail.comboBox.mediumThumbnails=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u4e2d\uff09
-DataResultViewerThumbnail.comboBox.largeThumbnails=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5927\uff09
-DataResultViewerThumbnail.switchPage.done.errMsg=\u30b5\u30e0\u30cd\u30a4\u30eb\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
-AboutWindowPanel.actVerboseLogging.text=Verbose\u30ed\u30b0\u3092\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8
-OptionsCategory_Name_Multi_User_Settings=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc
-OptionsCategory_Keywords_Multi_User_Options=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u30aa\u30d7\u30b7\u30e7\u30f3
+DataResultViewerThumbnail.comboBox.smallThumbnails=\u5c0f\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+DataResultViewerThumbnail.comboBox.mediumThumbnails=\u4e2d\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+DataResultViewerThumbnail.comboBox.largeThumbnails=\u5927\u30b5\u30a4\u30ba\u306e\u30b5\u30e0\u30cd\u30a4\u30eb
+DataResultViewerThumbnail.switchPage.done.errMsg=\u6b21\u306e\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+AboutWindowPanel.actVerboseLogging.text=\u8a73\u7d30\u30ed\u30ae\u30f3\u30b0\u3092\u30a2\u30af\u30c6\u30a3\u30d6\u5316
+OptionsCategory_Name_Multi_User_Settings=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc
+OptionsCategory_Keywords_Multi_User_Options=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u8a2d\u5b9a
MultiUserSettingsPanel.lbSolrSettings.text=Solr\u8a2d\u5b9a
-MultiUserSettingsPanel.cbEnableMultiUser.text=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u3092\u6709\u52b9\u5316
+MultiUserSettingsPanel.cbEnableMultiUser.text=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u3092\u6709\u52b9\u5316
MultiUserSettingsPanel.lbDatabaseSettings.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a
-MultiUserSettingsPanel.validationErrMsg.incomplete=\u5168\u3066\u306e\u30d0\u30ea\u30e5\u30fc\u3092\u5165\u529b
-MultiUserSettingsPanel.nonWindowsOs.msg=Windows\u3067\u3057\u304b\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u7248\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
-MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=\u7121\u52b9\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30dd\u30fc\u30c8\u756a\u53f7
-MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=\u7121\u52b9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u30dd\u30fc\u30c8\u756a\u53f7
-MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=\u7121\u52b9\u306aSolr\u30b5\u30fc\u30d0\u30fc\u30dd\u30fc\u30c8\u756a\u53f7
-MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=\u7121\u52b9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u30db\u30b9\u30c8\u3084\u30dd\u30fc\u30c8\u756a\u53f7
+MultiUserSettingsPanel.validationErrMsg.incomplete=\u3059\u3079\u3066\u306e\u5024\u3092\u5165\u529b
+MultiUserSettingsPanel.nonWindowsOs.msg=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u306fWindows\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u4e0a\u3067\u306e\u307f\u5229\u7528\u3067\u304d\u307e\u3059
+MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=\u7121\u52b9\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059
+MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=\u7121\u52b9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059
+MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=\u7121\u52b9\u306aSolr \u30b5\u30fc\u30d0\u30fc\u306e\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059
+MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=\u6709\u52b9\u3067\u306f\u306a\u3044\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u30db\u30b9\u30c8\u304a\u3088\u3073/\u307e\u305f\u306f\u30dd\u30fc\u30c8\u3067\u3059
DataContentViewerHex.goToOffsetLabel.text=\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u30b8\u30e3\u30f3\u30d7
-DataContentViewerHex.goToOffsetTextField.msgDlg=\u7121\u52b9\u306a\u30aa\u30d5\u30bb\u30c3\u30c8\uff1a{0}
-DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=\u8a08\u7b97\u3055\u308c\u305f\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u30b8\u30e3\u30f3\u30d7\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+DataContentViewerHex.goToOffsetTextField.text=
+DataContentViewerHex.goToOffsetTextField.msgDlg=\u7121\u52b9\u306a\u30aa\u30d5\u30bb\u30c3\u30c8: {0}
+DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=\u7d50\u679c\u3068\u3057\u3066\u751f\u3058\u305f\u30aa\u30d5\u30bb\u30c3\u30c8\u306b\u30b8\u30e3\u30f3\u30d7\u3067\u304d\u307e\u305b\u3093
+MultiUserSettingsPanel.tbOops.text=
+MultiUserSettingsPanel.lbTestDatabase.text=
MultiUserSettingsPanel.bnTestDatabase.text=\u30c6\u30b9\u30c8
MultiUserSettingsPanel.tbDbHostname.toolTipText=\u30db\u30b9\u30c8\u540d\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9
+MultiUserSettingsPanel.tbDbHostname.text=
MultiUserSettingsPanel.tbDbPort.toolTipText=\u30dd\u30fc\u30c8\u756a\u53f7
-MultiUserSettingsPanel.tbDbUsername.toolTipText=\u30e6\u30fc\u30b6\u30fc\u540d
+MultiUserSettingsPanel.tbDbPort.text=
+MultiUserSettingsPanel.tbDbUsername.toolTipText=\u30e6\u30fc\u30b6\u30fc\u540d
+MultiUserSettingsPanel.tbDbUsername.text=
MultiUserSettingsPanel.tbDbPassword.toolTipText=\u30d1\u30b9\u30ef\u30fc\u30c9
+MultiUserSettingsPanel.tbDbPassword.text=
+MultiUserSettingsPanel.lbTestSolr.text=
MultiUserSettingsPanel.bnTestSolr.text=\u30c6\u30b9\u30c8
MultiUserSettingsPanel.tbSolrHostname.toolTipText=\u30db\u30b9\u30c8\u540d\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9
MultiUserSettingsPanel.tbSolrPort.toolTipText=\u30dd\u30fc\u30c8\u756a\u53f7
+MultiUserSettingsPanel.lbTestMessageService.text=
MultiUserSettingsPanel.bnTestMessageService.text=\u30c6\u30b9\u30c8
MultiUserSettingsPanel.lbMessageServiceSettings.text=ActiveMQ\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u8a2d\u5b9a
MultiUserSettingsPanel.tbMsgPort.toolTipText=\u30dd\u30fc\u30c8\u756a\u53f7
-MultiUserSettingsPanel.tbMsgUsername.toolTipText=\u30e6\u30fc\u30b6\u30fc\u540d\uff08\u30aa\u30d7\u30b7\u30e7\u30ca\u30eb\uff09
-MultiUserSettingsPanel.tbMsgPassword.toolTipText=\u30d1\u30b9\u30ef\u30fc\u30c9\uff08\u30aa\u30d7\u30b7\u30e7\u30ca\u30eb\uff09
+MultiUserSettingsPanel.tbMsgPort.text=
+MultiUserSettingsPanel.tbMsgUsername.toolTipText=\u30e6\u30fc\u30b6\u30fc\u540d(\u4efb\u610f)
+MultiUserSettingsPanel.tbMsgUsername.text=
+MultiUserSettingsPanel.tbMsgPassword.toolTipText=\u30d1\u30b9\u30ef\u30fc\u30c9(\u4efb\u610f)
+MultiUserSettingsPanel.tbMsgPassword.text=
MultiUserSettingsPanel.tbMsgHostname.toolTipText=\u30db\u30b9\u30c8\u540d\u307e\u305f\u306fIP\u30a2\u30c9\u30ec\u30b9
-MultiUserSettingsPanel.KeywordSearchNull=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u3092\u898b\u3064\u3051\u308c\u3089\u308c\u307e\u305b\u3093
-MultiUserSettingsPanel.InvalidPortNumber=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7
-CTL_OfflineHelpAction=\u30aa\u30d5\u30e9\u30a4\u30f3Autopsy\u30c9\u30ad\u30e5\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3
-CTL_OnlineHelpAction=\u30aa\u30f3\u30e9\u30a4\u30f3Autopsy\u30c9\u30ad\u30e5\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3
-DataResultViewerThumbnail.thumbnailSizeComboBox.large=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5927\uff09
-DataResultViewerThumbnail.thumbnailSizeComboBox.medium=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u4e2d\uff09
-DataResultViewerThumbnail.thumbnailSizeComboBox.small=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5c0f\uff09
-MediaViewImagePanel.errorLabel.OOMText=\u30d5\u30a1\u30a4\u30eb\u3092\u30e1\u30c7\u30a3\u30a2\u30d3\u30e5\u30fc\u306b\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\uff1a\u30e1\u30e2\u30ea\u4e0d\u8db3\u3002
-MediaViewImagePanel.errorLabel.text=\u30d5\u30a1\u30a4\u30eb\u3092\u30e1\u30c7\u30a3\u30a2\u30d3\u30e5\u30fc\u306b\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-MediaViewImagePanel.externalViewerButton.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u30fc\u3067\u958b\u304f
+MultiUserSettingsPanel.tbMsgHostname.text=
+MultiUserSettingsPanel.lbTestMessageWarning.text=
+MultiUserSettingsPanel.lbTestSolrWarning.text=
+MultiUserSettingsPanel.lbTestDbWarning.text=
+MultiUserSettingsPanel.KeywordSearchNull=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+MultiUserSettingsPanel.InvalidPortNumber=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059
+AutopsyOptionsPanel.agencyLogoImageLabel.toolTipText=
+AutopsyOptionsPanel.agencyLogoPathField.text=
+SortChooserDialog.label=\u524a\u9664
+SortChooser.addCriteriaButton.text=\u30bd\u30fc\u30c8\u6761\u4ef6\u3092\u8ffd\u52a0
+DataResultViewerThumbnail.sortButton.text=\u30bd\u30fc\u30c8
+CriterionChooser.ascendingRadio.text=\u25b2 \u6607\u9806\n
+CriterionChooser.removeButton.text=\u524a\u9664
+CriterionChooser.descendingRadio.text=\u25bc \u964d\u9806
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.text=
+AutopsyOptionsPanel.logNumAlert.text=
+AutopsyOptionsPanel.totalMemoryLabel.text=\u5408\u8a08\u30b7\u30b9\u30c6\u30e0\u30e1\u30e2\u30ea\u30fc:
+AutopsyOptionsPanel.maxMemoryLabel.text=\u6700\u5927JVM\u30e1\u30e2\u30ea\u30fc:
+AutopsyOptionsPanel.maxLogFileCount.text=\u6700\u5927\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u6570:
+AutopsyOptionsPanel.maxMemoryUnitsLabel.text=GB
+AutopsyOptionsPanel.restartNecessaryWarning.text=\u30e1\u30e2\u30ea\u30fc\u5909\u66f4\u3092\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u518d\u8d77\u52d5\u304c\u5fc5\u8981\u3067\u3059\u3002
+AutopsyOptionsPanel.browseLogosButton.text=\u53c2\u7167
+AutopsyOptionsPanel.defaultLogoRB.text=\u30c7\u30d5\u30a9\u30eb\u30c8\u3092\u4f7f\u7528
+AutopsyOptionsPanel.specifyLogoRB.text=\u30ed\u30b4\u3092\u6307\u5b9a
+AutopsyOptionsPanel.agencyLogoPreview.text=\u30ed\u30b4\u304c\u3042\u308a\u307e\u305b\u3093
selected
+AutopsyOptionsPanel.logoPanel.border.title=\u30ed\u30b4
+AutopsyOptionsPanel.runtimePanel.border.title=\u30e9\u30f3\u30bf\u30a4\u30e0
DataResultPanel.matchLabel.text=\u7d50\u679c
DataResultPanel.numberOfChildNodesLabel.text=0
-DataResultPanel.descriptionLabel.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30d1\u30b9
+DataResultPanel.descriptionLabel.text=directoryPath
+ViewOptionsController.moduleErr=\u5024\u306e\u5909\u66f4\u3092\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ViewOptionsController.moduleErr.msg=\u5024\u306e\u5909\u66f4\u306e\u51e6\u7406\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+ViewPreferencesPanel.groupByDataSourceCheckbox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5225\u306b\u30b0\u30eb\u30fc\u30d7\u5316
+ViewPreferencesPanel.currentCaseSettingsPanel.border.title=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u8a2d\u5b9a
+OptionsCategory_Name_View=\u8868\u793a
+OptionsCategory_Keywords_View=\u8868\u793a
+ViewPreferencesPanel.currentSessionSettingsPanel.border.title=\u73fe\u5728\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u8a2d\u5b9a
+ViewPreferencesPanel.hideRejectedResultsCheckbox.text=\u62d2\u5426\u3055\u308c\u305f\u7d50\u679c\u3092\u975e\u8868\u793a\u306b\u3059\u308b
+ViewPreferencesPanel.selectFileLabel.text=\u30d5\u30a1\u30a4\u30eb\u9078\u629e\u6642:
+ViewPreferencesPanel.globalSettingsPanel.border.title=\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a
+ViewPreferencesPanel.translateTextLabel.text=\u30c6\u30ad\u30b9\u30c8\u3092\u7ffb\u8a33:
+ViewPreferencesPanel.hideOtherUsersTagsLabel.text=\u6b21\u306e\u305d\u306e\u4ed6\u306e\u30e6\u30fc\u30b6\u30fc\u306e\u30bf\u30b0\u3092\u975e\u8868\u793a\u306b\u3059\u308b:
+ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text=\u30c4\u30ea\u30fc\u5185\u306e\u30bf\u30b0\u9818\u57df
+ViewPreferencesPanel.useAnotherTimeRadioButton.text=\u5225\u306e\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u4f7f\u7528
ViewPreferencesPanel.useLocalTimeRadioButton.text=\u30ed\u30fc\u30ab\u30eb\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u4f7f\u7528
-ViewPreferencesPanel.displayTimeLabel.text=\u6642\u9593\u3092\u8868\u793a\u3059\u308b\u5834\u5408\uff1a
-ViewPreferencesPanel.viewsHideKnownCheckbox.text=\u30d3\u30e5\u30fc\u30a8\u30ea\u30a2
-ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30a8\u30ea\u30a2\uff08\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u968e\u5c64\uff09
-ViewPreferencesPanel.hideKnownFilesLabel.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\uff08NIST NSRL\u5185\u306e\uff09\u3092\u6b21\u306b\u96a0\u3059\uff1a
-ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u305d\u306e\u307e\u307eHEX\u30d3\u30e5\u30fc\u3092\u4f7f\u7528\u3002
-ViewPreferencesPanel.keepCurrentViewerRadioButton.text=\u305d\u306e\u307e\u307e\u540c\u3058\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u3092\u4f7f\u7528
-ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u306fHEX\u304b\u3089\u30e1\u30c7\u30a3\u30a2\u306b\u5909\u66f4\u3059\u308b\u3002
-ViewPreferencesPanel.useBestViewerRadioButton.text=\u6700\u3082\u5c02\u9580\u7684\u306a\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u306b\u5909\u66f4
-ViewPreferencesPanel.selectFileLabel.text=\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3059\u308b\u5834\u5408\uff1a
+ViewPreferencesPanel.displayTimeLabel.text=\u6642\u523b\u8868\u793a\u6642:
+ViewPreferencesPanel.viewsHideSlackCheckbox.text=\u30d3\u30e5\u30fc\u9818\u57df
+ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u9818\u57df(\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u968e\u5c64)
+ViewPreferencesPanel.hideSlackFilesLabel.text=\u6b21\u306e\u30b9\u30e9\u30c3\u30af\u30d5\u30a1\u30a4\u30eb\u3092\u975e\u8868\u793a\u306b\u3059\u308b:
+ViewPreferencesPanel.viewsHideKnownCheckbox.text=\u30d3\u30e5\u30fc\u9818\u57df
+ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u9818\u57df(\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u968e\u5c64)
+ViewPreferencesPanel.hideKnownFilesLabel.text=\u6b21\u306e\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb(NIST NSRL\u5185\u306e\u30d5\u30a1\u30a4\u30eb)\u3092\u975e\u8868\u793a\u306b\u3059\u308b:
+ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=\u305f\u3068\u3048\u3070\u3001JPEG\u9078\u629e\u6642\u306f16\u9032\u30d3\u30e5\u30fc\u306e\u307e\u307e\u306b\u3057\u307e\u3059\u3002
+ViewPreferencesPanel.keepCurrentViewerRadioButton.text=\u540c\u3058\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u306e\u307e\u307e\u306b\u3059\u308b
+ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=\u305f\u3068\u3048\u3070\u3001JPEG\u9078\u629e\u6642\u306f16\u9032\u304b\u3089\u30e1\u30c7\u30a3\u30a2\u306b\u5207\u308a\u66ff\u3048\u307e\u3059\u3002
+ViewPreferencesPanel.useBestViewerRadioButton.text=\u6700\u3082\u56fa\u6709\u306e\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u306b\u5207\u308a\u66ff\u3048\u308b
+ViewPreferencesPanel.fileNameTranslationColumnCheckbox.text=\u7d50\u679c\u30d3\u30e5\u30fc\u30ef\u30fc\u306b\u30d5\u30a1\u30a4\u30eb\u540d\u7ffb\u8a33\u7528\u5217\u3092\u8ffd\u52a0
+DataContentViewerHex.launchHxDButton.text=HxD\u3067\u8d77\u52d5
+ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.newRuleButton.text=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=\u53c2\u7167
+ExternalViewerGlobalSettingsPanel.jLabel2.text=\u8d77\u52d5\u53ef\u80fd\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30ef\u30fc\u306e\u62e1\u5f35\u5b50\u3092\u8a2d\u5b9a
+ExternalViewerGlobalSettingsPanel.jLabel1.text=HxD\u30a8\u30c7\u30a3\u30bf\u30fc\u30d1\u30b9:
+ExternalViewerGlobalSettingsPanel.editRuleButton.text=\u30eb\u30fc\u30eb\u3092\u7de8\u96c6
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=\u30eb\u30fc\u30eb\u3092\u524a\u9664
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=\u7279\u5b9a\u306eMIME\u30bf\u30a4\u30d7/\u62e1\u5f35\u5b50\u3092\u3082\u3064\u30d5\u30a1\u30a4\u30eb\u306b\u4f7f\u7528\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d3\u30e5\u30fc\u30ef\u30fc\u3092\u8a2d\u5b9a:
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0=MIME\u30bf\u30a4\u30d7/\u62e1\u5f35\u5b50
+AddExternalViewerRulePanel.nameLabel.text=MIME\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50
+AddExternalViewerRulePanel.browseButton.text=\u53c2\u7167
+AddExternalViewerRulePanel.exePathTextField.text=
+AddExternalViewerRulePanel.exePathLabel.text=\u3053\u306e\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u4f7f\u7528\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d1\u30b9
+AddExternalViewerRulePanel.extRadioButton.text=\u62e1\u5f35\u5b50
+AddExternalViewerRulePanel.mimeRadioButton.text=MIME\u30bf\u30a4\u30d7
+AddExternalViewerRulePanel.nameTextField.text=
+ExternalViewerGlobalSettingsPanel.jButton2.text_1=jButton2
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text_1=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.newRuleButton.text_1=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text_1=\u53c2\u7167
+ExternalViewerGlobalSettingsPanel.jLabel2.text_1=\u8d77\u52d5\u53ef\u80fd\u306a\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30ef\u30fc\u306e\u62e1\u5f35\u5b50\u3092\u8a2d\u5b9a
+ExternalViewerGlobalSettingsPanel.jLabel1.text_1=HxD\u30a8\u30c7\u30a3\u30bf\u30fc\u30d1\u30b9:
+ExternalViewerGlobalSettingsPanel.HxDPath.text=C:/Program Files/HxD/HxD.exe
+ExternalViewerGlobalSettingsPanel.editRuleButton.text_1=\u30eb\u30fc\u30eb\u3092\u7de8\u96c6
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text_1=\u30eb\u30fc\u30eb\u3092\u524a\u9664
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text_1=\u7279\u5b9a\u306eMIME\u30bf\u30a4\u30d7/\u62e1\u5f35\u5b50\u3092\u3082\u3064\u30d5\u30a1\u30a4\u30eb\u306b\u4f7f\u7528\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d3\u30e5\u30fc\u30ef\u30fc\u3092\u8a2d\u5b9a:
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1_1=\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0_1=MIME\u30bf\u30a4\u30d7/\u62e1\u5f35\u5b50
+AutopsyOptionsPanel.maxSolrMemoryLabel.text=\u6700\u5927SolrJVM\u30e1\u30e2\u30ea\u30fc:
+AutopsyOptionsPanel.maxMemoryUnitsLabel2.text=MB
+AutopsyOptionsPanel.solrJVMHeapWarning.text=\u6ce8: \u3053\u308c\u3092\u3042\u307e\u308a\u306b\u3082\u5927\u304d\u304f\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5168\u4f53\u306b\u5f71\u97ff\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+DataResultViewerTable.gotoPageTextField.text=
+DataResultViewerTable.gotoPageLabel.AccessibleContext.accessibleName=
+DataResultViewerTable.gotoPageLabel.text=\u30da\u30fc\u30b8\u306b\u79fb\u52d5:
+DataResultViewerTable.pageNextButton.text=
+DataResultViewerTable.pagePrevButton.text=
+DataResultViewerTable.pagesLabel.text=\u30da\u30fc\u30b8:
+DataResultViewerTable.pageNumLabel.text=
+DataResultViewerTable.pageLabel.text=\u30da\u30fc\u30b8:
+ViewPreferencesPanel.maxResultsLabel.text=\u30c6\u30fc\u30d6\u30eb\u3067\u8868\u793a\u3059\u308b\u6700\u5927\u7d50\u679c\u6570:
+ViewPreferencesPanel.maxResultsLabel.toolTipText=\n\u3053\u306e\u5024\u30920 \u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u3059\u3079\u3066\u306e\u7d50\u679c\u304c\u7d50\u679c\u30c6\u30fc\u30d6\u30eb\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002\n
\u3053\u306e\u5024\u30920 \u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u7d50\u679c\u6570\u304c\u591a\u3044\u5834\u5408UI\u306e\u5fdc\u7b54\u6027\u304c\u60aa\u304f\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059 \u3002\n
+DataResultViewerTable.exportCSVButton.text=\u30c6\u30fc\u30d6\u30eb\u3092CSV\u3068\u3057\u3066\u4fdd\u5b58
+ViewPreferencesPanel.scoColumnsCheckbox.text=S(\u30b9\u30b3\u30a2)\u3001C(\u30b3\u30e1\u30f3\u30c8)\u3001O(\u767a\u751f)
+ViewPreferencesPanel.scoColumnsWrapAroundText.text=\u975e\u8868\u793a\u306b\u3059\u308b\u3068\u8aad\u8fbc\u307f\u304c\u65e9\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+ViewPreferencesPanel.scoColumnsLabel.text=\u6b21\u306e\u305f\u3081\u306e\u5217\u3092\u8ffd\u52a0\u3057\u306a\u3044:
diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties
index 861bb54da9..5f460a7c53 100644
--- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ja.properties
@@ -1,27 +1,35 @@
-OpenIDE-Module-Name=\u4E3B\u8981\u30E6\u30FC\u30C6\u30A3\u30EA\u30C6\u30A3
-JLNK.noPrefPath.text=\u512A\u5148\u7684\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093
-PlatformUtil.nameUnknown=\u4E0D\u660E
-PlatformUtil.verUnknown=\u4E0D\u660E
-PlatformUtil.archUnknown=\u4E0D\u660E
-PlatformUtil.jrePath.jreDir.msg=\u57CB\u3081\u8FBC\u307E\u308C\u305FJRE\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u304C\u767A\u898B\u3055\u308C\u307E\u3057\u305F\uFF1A{0}
-PlatformUtil.jrePath.usingJavaPath.msg=JAVA\u30D0\u30A4\u30CA\u30EA\u30D1\u30B9\u3092\u4F7F\u7528\uFF1A{0}
-PlatformUtil.getPID.sigarNotInit.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-PlatformUtil.getPID.gen.msg=PID\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001{0}
-PlatformUtil.getJavaPID.sigarNotInit.msg=JAVA\u30D7\u30ED\u30BB\u30B9\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-PlatformUtil.getJavaPID.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
-PlatformUtil.getJavaPIDs.sigarNotInit=JAVA\u30D7\u30ED\u30BB\u30B9\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-PlatformUtil.getJavaPIDs.gen.msg=\u30AF\u30A8\u30EA\u30FC\u306EPID\u304C\u5165\u624B\u3067\u304D\u307E\u305B\u3093\uFF1A{0}, {1}
-PlatformUtil.killProcess.sigarNotInit.msg=PID\u3092\u4F7F\u7528\u3057\u3066\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u7D42\u4E86\u3067\u304D\u307E\u305B\u3093\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-PlatformUtil.killProcess.gen.msg=\u30D7\u30ED\u30BB\u30B9\u3092\u5F37\u5236\u7D42\u4E86\u3067\u304D\u307E\u305B\u3093\uFF1A {0}, {1}
-PlatformUtil.getProcVmUsed.sigarNotInit.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001Sigar\u304C\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-PlatformUtil.getProcVmUsed.gen.msg=\u4F7F\u7528\u4E2D\u306E\u4EEE\u60F3\u30E1\u30E2\u30EA\u91CF\u3092\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3001{0}
-PlatformUtil.getJvmMemInfo.usageText=JVM\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{0}\u3001JVM\u975E\u30D2\u30FC\u30D7\u4F7F\u7528\u72B6\u6CC1\uFF1A{1}
-PlatformUtil.getPhysicalMemInfo.usageText=\u7269\u7406\u30E1\u30E2\u30EA\u4F7F\u7528\u72B6\u6CC1\uFF08\u6700\u5927\u3001\u5408\u8A08\u3001\u5229\u7528\u53EF\u80FD\uFF09\uFF1A {0}, {1}, {2}
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+GetOrGenerateThumbnailTask.generatingPreviewFor={0} \u306e\u30d7\u30ec\u30d3\u30e5\u30fc\u3092\u751f\u6210\u4e2d\u3067\u3059
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+GetOrGenerateThumbnailTask.loadingThumbnailFor={0} \u306e\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059
+ImageUtils.ffmpegLoadedError.msg=OpenCV FFMpeg\u30e9\u30a4\u30d6\u30e9\u30ea\u30fc\u304c\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u8a73\u7d30\u306f\u30ed\u30b0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044
+ImageUtils.ffmpegLoadedError.title=OpenCV FFMpeg
+OpenIDE-Module-Name=CoreUtils
+JLNK.noPrefPath.text=\u63a8\u5968\u30d1\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+PlatformUtil.nameUnknown=\u4e0d\u660e
+PlatformUtil.verUnknown=\u4e0d\u660e
+PlatformUtil.archUnknown=\u4e0d\u660e
+PlatformUtil.jrePath.jreDir.msg=\u57cb\u3081\u8fbc\u307fjre\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u304c\u691c\u51fa\u3055\u308c\u305f\u5834\u6240: {0}
+PlatformUtil.jrePath.usingJavaPath.msg=\u6b21\u306ejava\u30d0\u30a4\u30ca\u30ea\u30fc\u30d1\u30b9\u3092\u4f7f\u7528\u4e2d\u3067\u3059: {0}
+PlatformUtil.getPID.sigarNotInit.msg=PID\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002Sigar\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+PlatformUtil.getPID.gen.msg=PID,{0} \u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093
+PlatformUtil.getJavaPID.sigarNotInit.msg=java\u30d7\u30ed\u30bb\u30b9\u306ePID\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002Sigar\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+PlatformUtil.getJavaPID.gen.msg=\u6b21\u306e\u30af\u30a8\u30ea\u306ePID\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093: {0}\u3001{1}
+PlatformUtil.getJavaPIDs.sigarNotInit=java\u30d7\u30ed\u30bb\u30b9\u306ePID\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002Sigar\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+PlatformUtil.getJavaPIDs.gen.msg=\u6b21\u306e\u30af\u30a8\u30ea\u306ePID\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093: {0}\u3001{1}
+PlatformUtil.killProcess.sigarNotInit.msg=PID\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u5f37\u5236\u7d42\u4e86\u3067\u304d\u307e\u305b\u3093\u3002Sigar\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+PlatformUtil.killProcess.gen.msg=\u6b21\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u5f37\u5236\u7d42\u4e86\u3067\u304d\u307e\u305b\u3093: {0}\u3001{1}
+PlatformUtil.getProcVmUsed.sigarNotInit.msg=\u4f7f\u7528\u3057\u3066\u3044\u308b\u4eee\u60f3\u30e1\u30e2\u30ea\u30fc\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002Sigar\u304c\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+PlatformUtil.getProcVmUsed.gen.msg=\u4f7f\u7528\u3057\u3066\u3044\u308b\u4eee\u60f3\u30e1\u30e2\u30ea\u30fc\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3001{0}
+PlatformUtil.getJvmMemInfo.usageText=JVM \u30d2\u30fc\u30d7\u4f7f\u7528\u7387: {0}\u3001\u4f7f\u7528\u3055\u308c\u3066\u3044\u306a\u3044JVM\u30d2\u30fc\u30d7\u9818\u57df: {1}
+PlatformUtil.getPhysicalMemInfo.usageText=\u7269\u7406\u30e1\u30e2\u30ea\u30fc\u4f7f\u7528\u7387\uff08\u6700\u5927\u3001\u5408\u8a08\u3001\u7a7a\u304d\uff09: {0}\u3001{1}\u3001{2}
PlatformUtil.getAllMemUsageInfo.usageText={0}\n\
{1}\n\
-\u30D7\u30ED\u30BB\u30B9\u4EEE\u60F3\u30E1\u30E2\u30EA\uFF1A{2}
-StringExtract.illegalStateException.cannotInit.msg=\u30E6\u30CB\u30B3\u30FC\u30C9\u30C6\u30FC\u30D6\u30EB\u304C\u6B63\u3057\u304F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3001StringExtract\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093
-ImageUtils.GetOrGenerateThumbnailTask.loadingThumbnailFor={0}\u306E\u30B5\u30E0\u30CD\u30FC\u30EB\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
-ImageUtils.GetOrGenerateThumbnailTask.generatingPreviewFor={0}\u306E\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u4F5C\u6210\u4E2D
-ImageUtils.ReadImageTask.mesage.text={0}\u3092\u8AAD\u307F\u53D6\u308A\u4E2D
-VideoUtils.genVideoThumb.progress.text=\u4E00\u6642\u30D5\u30A1\u30A4\u30EB{0}\u3092\u62BD\u51FA\u4E2D
\ No newline at end of file
+\u6b21\u306e\u4eee\u60f3\u30e1\u30e2\u30ea\u30fc\u3092\u51e6\u7406: {2}
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+ReadImageTask.mesageText=\u6b21\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059: {0}
+StringExtract.illegalStateException.cannotInit.msg=Unicode\u30c6\u30fc\u30d6\u30eb\u304c\u6b63\u3057\u304f\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002StringExtract\u3092\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u5316\u3067\u304d\u307e\u305b\u3093
+TextConverter.convert.exception.txt=\u30c6\u30ad\u30b9\u30c8 {0} \u309216\u9032\u6570\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093
+TextConverter.convertFromHex.exception.txt=16\u9032\u6570\u30c6\u30ad\u30b9\u30c8\u3092\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3067\u304d\u307e\u305b\u3093
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+VideoUtils.genVideoThumb.progress.text=\u4e00\u6642\u30d5\u30a1\u30a4\u30eb {0} \u3092\u62bd\u51fa\u4e2d\u3067\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties
index 2f91dfb27a..ee9b6fb4b6 100644
--- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties
@@ -1,26 +1,179 @@
-OpenIDE-Module-Name=\u30c7\u30fc\u30bf\u30e2\u30c7\u30eb
-AbstractAbstractFileNode.nameColLbl=\u540d\u524d
-AbstractAbstractFileNode.locationColLbl=\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3
-AbstractAbstractFileNode.modifiedTimeColLbl=\u4fee\u6b63\u65e5\u6642
-AbstractAbstractFileNode.changeTimeColLbl=\u5909\u66f4\u65e5\u6642
-AbstractAbstractFileNode.accessTimeColLbl=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-AbstractAbstractFileNode.createdTimeColLbl=\u4f5c\u6210\u65e5\u6642
-AbstractAbstractFileNode.sizeColLbl=\u30b5\u30a4\u30ba
-AbstractAbstractFileNode.modeColLbl=\u30e2\u30fc\u30c9
-AbstractAbstractFileNode.useridColLbl=\u30e6\u30fc\u30b6ID
+AbstractAbstractFileNode.accessTimeColLbl=\u30a2\u30af\u30bb\u30b9\u6642\u523b
+AbstractAbstractFileNode.attrAddrColLbl=\u5c5e\u6027\u30a2\u30c9\u30ec\u30b9
+AbstractAbstractFileNode.changeTimeColLbl=\u6642\u523b\u5909\u66f4
+AbstractAbstractFileNode.createdTimeColLbl=\u4f5c\u6210\u3057\u305f\u6642\u523b
+AbstractAbstractFileNode.createSheet.comment.displayName=C
+AbstractAbstractFileNode.createSheet.comment.name=C
+# {0} - occurrenceCount
+AbstractAbstractFileNode.createSheet.count.description=MD5\u76f8\u95a2\u5024\u304c\u767a\u751f\u3057\u305f {0} \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
+AbstractAbstractFileNode.createSheet.count.displayName=O
+AbstractAbstractFileNode.createSheet.count.hashLookupNotRun.description=\u5217\u304c\u5165\u529b\u3055\u308c\u305f\u3068\u304d\u306b\u3001\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u4e0a\u3067\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u304c\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
+AbstractAbstractFileNode.createSheet.count.name=O
+AbstractAbstractFileNode.createSheet.interestingResult.description=\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u8208\u5473\u6df1\u3044\u7d50\u679c\u304c\u3042\u308a\u307e\u3059\u3002
+AbstractAbstractFileNode.createSheet.noScore.description=\u30b9\u30b3\u30a2\u306a\u3057
+AbstractAbstractFileNode.createSheet.notableFile.description=\u9855\u8457\u3068\u8a8d\u8b58\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002
+AbstractAbstractFileNode.createSheet.notableTaggedFile.description=\u9855\u8457\u30bf\u30b0\u3067\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002
+AbstractAbstractFileNode.createSheet.score.displayName=S
+AbstractAbstractFileNode.createSheet.score.name=S
+AbstractAbstractFileNode.createSheet.taggedFile.description=\u30d5\u30a1\u30a4\u30eb\u304c\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u307e\u3057\u305f\u3002
+AbstractAbstractFileNode.extensionColLbl=\u62e1\u5f35\u5b50
+AbstractAbstractFileNode.flagsDirColLbl=\u30d5\u30e9\u30b0(\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc)
+AbstractAbstractFileNode.flagsMetaColLbl=\u30d5\u30e9\u30b0(\u30e1\u30bf)
AbstractAbstractFileNode.groupidColLbl=\u30b0\u30eb\u30fc\u30d7ID
AbstractAbstractFileNode.knownColLbl=\u65e2\u77e5
+AbstractAbstractFileNode.locationColLbl=\u5834\u6240
AbstractAbstractFileNode.md5HashColLbl=MD5\u30cf\u30c3\u30b7\u30e5
-AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=\u6307\u5b9a\u3055\u308c\u305fSleuthkitItem\u306e\u30ce\u30fc\u30c9\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=\u6307\u5b9a\u3055\u308c\u305f\u8868\u793a\u53ef\u80fd\u306a\u30a2\u30a4\u30c6\u30e0(DisplayableItem)\u306e\u30ce\u30fc\u30c9\u304c\u5b9a\u7fa9\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+AbstractAbstractFileNode.metaAddrColLbl=\u30e1\u30bf\u30a2\u30c9\u30ec\u30b9
+AbstractAbstractFileNode.mimeType=MIME\u30bf\u30a4\u30d7
+AbstractAbstractFileNode.modeColLbl=\u30e2\u30fc\u30c9
+AbstractAbstractFileNode.modifiedTimeColLbl=MFT\u5909\u66f4\u6642\u523b
+AbstractAbstractFileNode.nameColLbl=\u540d\u524d
+AbstractAbstractFileNode.objectId=\u30aa\u30d6\u30b8\u30a7\u30af\u30c8ID
+AbstractAbstractFileNode.originalName=\u30aa\u30ea\u30b8\u30ca\u30eb\u540d
+AbstractAbstractFileNode.sizeColLbl=\u30b5\u30a4\u30ba
+AbstractAbstractFileNode.tagsProperty.displayName=\u30bf\u30b0
+AbstractAbstractFileNode.typeDirColLbl=\u30bf\u30a4\u30d7(\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc)
+AbstractAbstractFileNode.typeMetaColLbl=\u30bf\u30a4\u30d7(\u30e1\u30bf)
+AbstractAbstractFileNode.useridColLbl=\u30e6\u30fc\u30b6\u30fcID
+AbstractContentNode.nodescription=\u8aac\u660e\u306a\u3057
+AbstractContentNode.valueLoading=\u5024\u306e\u8aad\u307f\u8fbc\u307f\u4e2d
+AbstractFsContentNode.noDesc.text=\u8aac\u660e\u306a\u3057
+ArtifactStringContent.attrsTableHeader.sources=\u30bd\u30fc\u30b9
+ArtifactStringContent.attrsTableHeader.type=\u30bf\u30a4\u30d7
+ArtifactStringContent.attrsTableHeader.value=\u5024
+ArtifactStringContent.failedToGetAttributes.message=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u4e00\u90e8\u307e\u305f\u306f\u3059\u3079\u3066\u306e\u5c5e\u6027\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+ArtifactStringContent.failedToGetSourcePath.messagee=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+# {0} - \u30e2\u30fc\u30c9\u540d
+BaseChildFactory.NoSuchEventBusException.message=\u6b21\u306e\u30ce\u30fc\u30c9\u306e\u30a4\u30d9\u30f3\u30c8\u30d0\u30b9\u306f\u3042\u308a\u307e\u305b\u3093: {0}
+BlackboardArtifactNode.createSheet.artifactDetails.displayName=\u7d50\u679c\u8a73\u7d30
+BlackboardArtifactNode.createSheet.artifactDetails.name=\u7d50\u679c\u8a73\u7d30
+BlackboardArtifactNode.createSheet.artifactMD5.displayName=MD5\u30cf\u30c3\u30b7\u30e5
+BlackboardArtifactNode.createSheet.artifactMD5.name=MD5\u30cf\u30c3\u30b7\u30e5
+BlackboardArtifactNode.createSheet.artifactType.displayName=\u7d50\u679c\u30bf\u30a4\u30d7
+BlackboardArtifactNode.createSheet.artifactType.name=\u7d50\u679c\u30bf\u30a4\u30d7
+BlackboardArtifactNode.createSheet.comment.displayName=C
+BlackboardArtifactNode.createSheet.comment.name=C
+# {0} - occurrenceCount
+# {1} - attributeType
+BlackboardArtifactNode.createSheet.count.description=\u30bf\u30a4\u30d7 {1} \u306e\u76f8\u95a2\u5024\u304c\u767a\u751f\u3057\u305f {0} \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
+BlackboardArtifactNode.createSheet.count.displayName=O
+BlackboardArtifactNode.createSheet.count.name=O
+BlackboardArtifactNode.createSheet.count.noCorrelationAttributes.description=\u76f8\u95a2\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+BlackboardArtifactNode.createSheet.count.noCorrelationValues.description=\u5229\u7528\u53ef\u80fd\u306a\u76f8\u95a2\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u5024\u304c\u5b58\u5728\u3057\u306a\u3044\u305f\u3081\u3001\u305d\u306e\u4ed6\u306e\u767a\u751f\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+BlackboardArtifactNode.createSheet.fileSize.displayName=\u30b5\u30a4\u30ba
+BlackboardArtifactNode.createSheet.fileSize.name=\u30b5\u30a4\u30ba
+BlackboardArtifactNode.createSheet.interestingResult.description=\u7d50\u679c\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u8208\u5473\u6df1\u3044\u7d50\u679c\u304c\u3042\u308a\u307e\u3059\u3002
+BlackboardArtifactNode.createSheet.noScore.description=\u30b9\u30b3\u30a2\u306a\u3057
+BlackboardArtifactNode.createSheet.notableTaggedItem.description=\u9855\u8457\u3068\u8a8d\u8b58\u3055\u308c\u305f\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002
+BlackboardArtifactNode.createSheet.notableTaggedItem.description=\u7d50\u679c\u307e\u305f\u306f\u9855\u8457\u3068\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002
+BlackboardArtifactNode.createSheet.path.displayName=\u30d1\u30b9
+BlackboardArtifactNode.createSheet.path.name=\u30d1\u30b9
+BlackboardArtifactNode.createSheet.score.displayName=S
+BlackboardArtifactNode.createSheet.score.name=S
+BlackboardArtifactNode.createSheet.taggedItem.description=\u7d50\u679c\u307e\u305f\u306f\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u30bf\u30b0\u4ed8\u3051\u307e\u3057\u305f\u3002
+BlackboardArtifactNode.createSheet.tags.displayName=\u30bf\u30b0
+# {0} - artifactDisplayName
+BlackboardArtifactNode.displayName.artifact={0} \u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8
+BlackboardArtifactNode.getAction.errorTitle=\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+BlackboardArtifactNode.getAction.linkedFileMessage=\u9078\u629e\u3057\u305f\u7d50\u679c\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002 [\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a] \u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+BlackboardArtifactNode.getAction.resultErrorMessage=\u9078\u629e\u3057\u305f\u7d50\u679c\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002 [\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u7d50\u679c\u3092\u8868\u793a] \u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+BlackboardArtifactTagNode.createSheet.userName.text=\u30e6\u30fc\u30b6\u30fc\u540d
+BlackboardArtifactTagNode.viewSourceArtifact.text=\u30bd\u30fc\u30b9\u7d50\u679c\u3092\u8868\u793a
+Category.five=CAT-5: \u95a2\u9023\u6027\u306a\u3057
+Category.four=CAT-4: \u4e8b\u4f8b/\u6bd4\u8f03(\u793e\u5185\u4f7f\u7528\u9650\u5b9a)
+Category.one=CAT-1: \u5150\u7ae5\u52b4\u50cd(\u9055\u6cd5)
+Category.three=CAT-3: CGI/\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3(\u5150\u7ae5\u52b4\u50cd)
+Category.two=CAT-2: \u5150\u7ae5\u52b4\u50cd(\u9055\u6cd5\u3067\u306f\u306a\u3044/\u96e3\u3057\u3044\u5e74\u9f62)
+Category.zero=CAT-0: \u672a\u5206\u985e
+ContentTagNode.createSheet.artifactMD5.displayName=MD5\u30cf\u30c3\u30b7\u30e5
+ContentTagNode.createSheet.artifactMD5.name=MD5\u30cf\u30c3\u30b7\u30e5
+ContentTagNode.createSheet.userName.text=\u30e6\u30fc\u30b6\u30fc\u540d
+DeletedContent.allDelFilter.text=\u3059\u3079\u3066
+DeletedContent.createSheet.filterType.desc=\u8aac\u660e\u306a\u3057
+DeletedContent.createSheet.filterType.displayName=\u30bf\u30a4\u30d7
+DeletedContent.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+DeletedContent.createSheet.name.displayName=\u540d\u524d
+DeletedContent.deletedContentsNode.name=\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+DeletedContent.fsDelFilter.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0
+DeleteReportAction.showConfirmDialog.errorMsg=\u30ec\u30dd\u30fc\u30c8\u306e\u524a\u9664\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+DeleteReportAction.showConfirmDialog.multiple.explanation=\u30c7\u30a3\u30b9\u30af\u4e0a\u306b\u30ec\u30dd\u30fc\u30c8\u304c\u6b8b\u308a\u307e\u3059\u3002
+DeleteReportAction.showConfirmDialog.single.explanation=\u30c7\u30a3\u30b9\u30af\u4e0a\u306b\u30ec\u30dd\u30fc\u30c8\u304c\u6b8b\u308a\u307e\u3059\u3002
+FileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
+FileNode.getActions.searchFilesSameMD5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+FileNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+FileNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+FileTypeExtensionFilters.tskDatabaseFilter.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
+FileTypes.bgCounting.placeholder=\ (\u30ab\u30a6\u30f3\u30c8\u4e2d...)
+FileTypes.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+FileTypes.createSheet.name.displayName=\u540d\u524d
+FileTypes.createSheet.name.name=\u540d\u524d
+FileTypes.name.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
+FileTypesByMimeType.name.text=MIME\u30bf\u30a4\u30d7\u5225
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.desc=\u8aac\u660e\u306a\u3057
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.displayName=\u30b5\u30d6\u30bf\u30a4\u30d7
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.name=\u30b5\u30d6\u30bf\u30a4\u30d7
+FileTypesByMimeTypeNode.createSheet.mediaType.desc=\u8aac\u660e\u306a\u3057
+FileTypesByMimeTypeNode.createSheet.mediaType.displayName=\u30bf\u30a4\u30d7
+FileTypesByMimeTypeNode.createSheet.mediaType.name=\u30bf\u30a4\u30d7
+GetSCOTask.occurrences.defaultDescription=\u76f8\u95a2\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+GetSCOTask.occurrences.multipleProperties=\u3053\u306e\u7d50\u679c\u306b\u8907\u6570\u306e\u7570\u306a\u308b\u76f8\u95a2\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u5b58\u5728\u3057\u307e\u3059
+ImageNode.action.runIngestMods.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
+ImageNode.createSheet.deviceId.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30c7\u30d0\u30a4\u30b9ID
+ImageNode.createSheet.deviceId.displayName=\u30c7\u30d0\u30a4\u30b9ID
+ImageNode.createSheet.deviceId.name=\u30c7\u30d0\u30a4\u30b9ID
+ImageNode.createSheet.sectorSize.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30b9(\u30d0\u30a4\u30c8)\u3067\u3059\u3002
+ImageNode.createSheet.sectorSize.displayName=\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30b9(\u30d0\u30a4\u30c8)
+ImageNode.createSheet.sectorSize.name=\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30b9(\u30d0\u30a4\u30c8)
+ImageNode.createSheet.size.desc=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)\u3067\u3059\u3002
+ImageNode.createSheet.size.displayName=\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)
+ImageNode.createSheet.size.name=\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)
+ImageNode.createSheet.timezone.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+ImageNode.createSheet.timezone.displayName=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+ImageNode.createSheet.timezone.name=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+ImageNode.createSheet.type.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30bf\u30a4\u30d7\u3067\u3059\u3002
+ImageNode.createSheet.type.displayName=\u30bf\u30a4\u30d7
+ImageNode.createSheet.type.name=\u30bf\u30a4\u30d7
+ImageNode.createSheet.type.text=\u30a4\u30e1\u30fc\u30b8
+ImageNode.getActions.openFileSearchByAttr.text=\u5c5e\u6027\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u3092\u958b\u304f
+KeyValueNode.menuItemText.viewFileInDir=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+KeywordHits.createNodeForKey.accessTime.desc=\u30a2\u30af\u30bb\u30b9\u6642\u523b
+KeywordHits.createNodeForKey.accessTime.displayName=\u30a2\u30af\u30bb\u30b9\u6642\u523b
+KeywordHits.createNodeForKey.accessTime.name=AccessTime
+KeywordHits.createNodeForKey.chgTime.desc=\u6642\u523b\u5909\u66f4
+KeywordHits.createNodeForKey.chgTime.displayName=\u5909\u66f4\u6642\u523b
+KeywordHits.createNodeForKey.chgTime.name=ChangeTime
+KeywordHits.createNodeForKey.modTime.desc=MFT\u5909\u66f4\u6642\u523b
+KeywordHits.createNodeForKey.modTime.displayName=MFT\u5909\u66f4\u6642\u523b
+KeywordHits.createNodeForKey.modTime.name=ModifiedTime
+KeywordHits.createSheet.filesWithHits.desc=\u8aac\u660e\u306a\u3057
+KeywordHits.createSheet.filesWithHits.displayName=\u30d2\u30c3\u30c8\u306e\u3042\u308b\u30d5\u30a1\u30a4\u30eb
+KeywordHits.createSheet.filesWithHits.name=\u30d2\u30c3\u30c8\u306e\u3042\u308b\u30d5\u30a1\u30a4\u30eb
+KeywordHits.createSheet.listName.desc=\u8aac\u660e\u306a\u3057
+KeywordHits.createSheet.listName.displayName=\u30ea\u30b9\u30c8\u540d
+KeywordHits.createSheet.listName.name=\u30ea\u30b9\u30c8\u540d
+KeywordHits.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+KeywordHits.createSheet.name.displayName=\u540d\u524d
+KeywordHits.createSheet.name.name=\u540d\u524d
+KeywordHits.createSheet.numChildren.desc=\u8aac\u660e\u306a\u3057
+KeywordHits.createSheet.numChildren.displayName=\u5b50\u306e\u6570
+KeywordHits.createSheet.numChildren.name=\u5b50\u306e\u6570
+KeywordHits.kwHits.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8
+KeywordHits.simpleLiteralSearch.text=\u5358\u72ec\u30ea\u30c6\u30e9\u30eb\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+KeywordHits.singleRegexSearch.text=\u5358\u72ec\u6b63\u898f\u8868\u73fe\u691c\u7d22
+LayoutFileNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+OpenIDE-Module-Name=DataModel
+AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=\u6307\u5b9a\u3057\u305fSleuthkitItem\u306b\u5b9a\u7fa9\u3055\u308c\u305f\u30ce\u30fc\u30c9\u306f\u3042\u308a\u307e\u305b\u3093
+AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=\u6307\u5b9a\u3057\u305fDisplayableItem\u306b\u5b9a\u7fa9\u3055\u308c\u305f\u30ce\u30fc\u30c9\u306f\u3042\u308a\u307e\u305b\u3093
AbstractContentNode.exception.cannotChangeSysName.msg=\u30b7\u30b9\u30c6\u30e0\u540d\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\u3002
-AbstractFsContentNode.noDesc.text=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
ArtifactStringContent.getStr.srcFilePath.text=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
-ArtifactStringContent.getStr.err=\u30b3\u30f3\u30c6\u30f3\u30c4\u53d6\u5f97\u30a8\u30e9\u30fc
-ArtifactTypeNode.createSheet.artType.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-ArtifactTypeNode.createSheet.childCnt.name=\u30c1\u30e3\u30a4\u30eb\u30c9\u6570
-ArtifactTypeNode.createSheet.childCnt.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-BlackboardArtifactNode.noDesc.text=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+ArtifactStringContent.getStr.err=\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ArtifactTypeNode.createSheet.artType.name=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7
+ArtifactTypeNode.createSheet.artType.displayNamee=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7
+ArtifactTypeNode.createSheet.artType.desc=\u8aac\u660e\u306a\u3057
+ArtifactTypeNode.createSheet.childCnt.name=\u5b50\u306e\u30ab\u30a6\u30f3\u30c8
+ArtifactTypeNode.createSheet.childCnt.displayName=\u5b50\u306e\u30ab\u30a6\u30f3\u30c8
+ArtifactTypeNode.createSheet.childCnt.desc=\u8aac\u660e\u306a\u3057
+BlackboardArtifactNode.noDesc.text=\u8aac\u660e\u306a\u3057
BlackboardArtifactNode.createSheet.srcFile.name=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
BlackboardArtifactNode.createSheet.srcFile.displayName=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
BlackboardArtifactNode.createSheet.ext.name=\u62e1\u5f35\u5b50
@@ -32,7 +185,7 @@ BlackboardArtifactNode.createSheet.filePath.displayName=\u30d5\u30a1\u30a4\u30eb
BlackboardArtifactNode.createSheet.dataSrc.name=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
BlackboardArtifactNode.createSheet.dataSrc.displayName=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
BlackboardArtifactTagNode.createSheet.srcFile.text=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
-BlackboardArtifactTagNode.createSheet.unavail.text=\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
+BlackboardArtifactTagNode.createSheet.unavail.text=\u5229\u7528\u3067\u304d\u307e\u305b\u3093
BlackboardArtifactTagNode.createSheet.srcFilePath.text=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
BlackboardArtifactTagNode.createSheet.resultType.text=\u7d50\u679c\u30bf\u30a4\u30d7
BlackboardArtifactTagNode.createSheet.comment.text=\u30b3\u30e1\u30f3\u30c8
@@ -41,154 +194,145 @@ BlackboardArtifactTagTypeNode.createSheet.name.name=\u540d\u524d
BlackboardArtifactTagTypeNode.createSheet.name.displayName=\u540d\u524d
ContentTagNode.createSheet.file.name=\u30d5\u30a1\u30a4\u30eb
ContentTagNode.createSheet.file.displayName=\u30d5\u30a1\u30a4\u30eb
-ContentTagNode.createSheet.unavail.path=\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093
+ContentTagNode.createSheet.unavail.path=\u5229\u7528\u3067\u304d\u307e\u305b\u3093
ContentTagNode.createSheet.filePath.name=\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
ContentTagNode.createSheet.filePath.displayName=\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
ContentTagNode.createSheet.comment.name=\u30b3\u30e1\u30f3\u30c8
ContentTagNode.createSheet.comment.displayName=\u30b3\u30e1\u30f3\u30c8
+ContentTagNode.createSheet.fileModifiedTime.nam=MFT\u5909\u66f4\u6642\u523b
+ContentTagNode.createSheet.fileModifiedTime.displayName=MFT\u5909\u66f4\u6642\u523b
+ContentTagNode.createSheet.fileChangedTime.name=\u5909\u66f4\u3055\u308c\u305f\u523b\u523b
+ContentTagNode.createSheet.fileChangedTime.displayName=\u5909\u66f4\u3055\u308c\u305f\u523b\u523b
+ContentTagNode.createSheet.fileAccessedTime.name=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u6642\u523b
+ContentTagNode.createSheet.fileAccessedTime.displayName=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u6642\u523b
+ContentTagNode.createSheet.fileCreatedTime.name=\u4f5c\u6210\u3057\u305f\u6642\u523b
+ContentTagNode.createSheet.fileCreatedTime.displayName=\u4f5c\u6210\u3057\u305f\u6642\u523b
+ContentTagNode.createSheet.fileSize.name=\u30b5\u30a4\u30ba
+ContentTagNode.createSheet.fileSize.displayName=\u30b5\u30a4\u30ba
ContentTagTypeNode.displayName.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30b0
ContentTagTypeNode.createSheet.name.name=\u540d\u524d
ContentTagTypeNode.createSheet.name.displayName=\u540d\u524d
-ContentUtils.exception.msg={0}\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093
-DataModelActionsFactory.srcFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-DataModelActionsFactory.fileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-DataModelActionsFactory.viewNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
-DataModelActionsFactory.openExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u306b\u8868\u793a
+ContentUtils.exception.msg={0} \u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093
+DataModelActionsFactory.srcFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+DataModelActionsFactory.fileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+DataModelActionsFactory.viewNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+DataModelActionsFactory.openExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
DataSourcesNode.name=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
DataSourcesNode.group_by_datasource.name=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
DataSourcesNode.createSheet.name.name=\u540d\u524d
DataSourcesNode.createSheet.name.displayName=\u540d\u524d
-DataSourcesNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-DeletedContent.fsDelFilter.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0
-DeletedContent.allDelFilter.text=\u3059\u3079\u3066
-DeletedContent.deletedContentsNode.name=\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
-DeletedContent.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-DeletedContent.createSheet.filterType.name=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
-DeletedContent.createSheet.filterType.displayName=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
-DeletedContent.createSheet.filterType.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-DeletedContent.createKeys.maxObjects.msg=\u8868\u793a\u53ef\u80fd\u306a\u6570\u3088\u308a\u3082\u591a\u304f\u306e\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u6700\u521d\u306e{0}\u306e\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
-DeletedContent.createNodeForKey.typeNotSupported.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u30a2\u30a4\u30c6\u30e0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff1a{0}
-DirectoryNode.parFolder.text=[\u30da\u30a2\u30ec\u30f3\u30c8\u30d5\u30a9\u30eb\u30c0]
-DirectoryNode.curFolder.text=[\u73fe\u5728\u306e\u30d5\u30a9\u30eb\u30c0]
-DirectoryNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-DirectoryNode.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
+DataSourcesNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+DirectoryNode.parFolder.text=[\u89aa\u30d5\u30a9\u30eb\u30c0\u30fc]
+DirectoryNode.curFolder.text=[\u73fe\u5728\u306e\u30d5\u30a9\u30eb\u30c0\u30fc]
+DirectoryNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+DirectoryNode.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
EmailExtracted.mailAccount.text=\u30a2\u30ab\u30a6\u30f3\u30c8
-EmailExtracted.mailFolder.text=\u30d5\u30a9\u30eb\u30c0
+EmailExtracted.mailFolder.text=\u30d5\u30a9\u30eb\u30c0\u30fc
EmailExtracted.defaultAcct.text=\u30c7\u30d5\u30a9\u30eb\u30c8
EmailExtracted.defaultFolder.text=\u30c7\u30d5\u30a9\u30eb\u30c8
EmailExtracted.createSheet.name.name=\u540d\u524d
EmailExtracted.createSheet.name.displayName=\u540d\u524d
-EmailExtracted.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+EmailExtracted.createSheet.name.desc=\u8aac\u660e\u306a\u3057
ExtractedContentNode.name.text=\u62bd\u51fa\u3055\u308c\u305f\u30b3\u30f3\u30c6\u30f3\u30c4
ExtractedContentNode.createSheet.name.name=\u540d\u524d
ExtractedContentNode.createSheet.name.displayName=\u540d\u524d
-ExtractedContentNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-FileNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-FileNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
-FileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
-FileNode.getActions.searchFilesSameMD5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+ExtractedContentNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+LocalFileNode.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
FileSize.fileSizeRootNode.name=\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba
-FileSize.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-FileSize.createSheet.filterType.name=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
-FileSize.createSheet.filterType.displayName=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
-FileSize.createSheet.filterType.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-FileSize.exception.notSupported.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u30a2\u30a4\u30c6\u30e0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff1a{0}
-FileTypeChildren.exception.notSupported.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u30a2\u30a4\u30c6\u30e0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff1a{0}
-FileTypeExtensionFilters.tskImgFilter.text=\u30a4\u30e1\u30fc\u30b8
-FileTypeExtensionFilters.tskVideoFilter.text=\u30d3\u30c7\u30aa
-FileTypeExtensionFilters.tskAudioFilter.text=\u30aa\u30fc\u30c7\u30a3\u30aa
-FileTypeExtensionFilters.tskArchiveFilter.text=\u30a2\u30fc\u30ab\u30a4\u30d6
-FileTypeExtensionFilters.tskDocumentFilter.text=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8
-FileTypeExtensionFilters.tskExecFilter.text=\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb
-FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
-FileTypeExtensionFilters.autDocOfficeFilter.text=\u30aa\u30d5\u30a3\u30b9
-FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
-FileTypeExtensionFilters.autDocTxtFilter.text=\u30d7\u30ec\u30fc\u30f3\u30c6\u30ad\u30b9\u30c8
-FileTypeExtensionFilters.autDocRtfFilter.text=\u30ea\u30c3\u30c1\u30c6\u30ad\u30b9\u30c8
-FileTypesByExtNode.createSheet.filterType.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+FileSize.createSheet.name.name=\u540d\u524d
+FileSize.createSheet.name.displayName=\u540d\u524d
+FileSize.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+FileSize.createSheet.filterType.name=\u30b5\u30a4\u30ba\u7bc4\u56f2
+FileSize.createSheet.filterType.displayName=\u30b5\u30a4\u30ba\u7bc4\u56f2
+FileSize.createSheet.filterType.desc=\u8aac\u660e\u306a\u3057
+FileSize.exception.notSupported.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u9805\u76ee\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}
+FileTypeChildren.exception.notSupported.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u9805\u76ee\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}
+FileTypesByExtNode.createSheet.filterType.name=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
+FileTypesByExtNode.createSheet.filterType.displayName=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
+FileTypesByExtNode.createSheet.filterType.desc=\u8aac\u660e\u306a\u3057
FileTypesByExtNode.createSheet.fileExt.name=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50
FileTypesByExtNode.createSheet.fileExt.displayName=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50
-FileTypesByExtNode.createSheet.fileExt.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+FileTypesByExtNode.createSheet.fileExt.desc=\u8aac\u660e\u306a\u3057
+FileTypesByExtNode.fname.text=\u62e1\u5f35\u5b50\u5225
FileTypesByExtNode.createSheet.name.name=\u540d\u524d
FileTypesByExtNode.createSheet.name.displayName=\u540d\u524d
-FileTypesByExtNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+FileTypesByExtNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
HashsetHits.createSheet.name.name=\u540d\u524d
HashsetHits.createSheet.name.displayName=\u540d\u524d
-HashsetHits.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-ImageNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
-ImageNode.getActions.openFileSearchByAttr.text=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u3092\u958b\u304f
+HashsetHits.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+ImageNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
ImageNode.createSheet.name.name=\u540d\u524d
ImageNode.createSheet.name.displayName=\u540d\u524d
-ImageNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI\u30c6\u30b9\u30c8\u30b3\u30fc\u30eb\u3067\u306f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u30b9\u30c8\u30ea\u30f3\u30b0\u306f\u30cc\u30eb\u3067\u3057\u305f\uff01
-Installer.tskLibErr.msg=Sleuth Kit JNI\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30c6\u30b9\u30c8\u30b3\u30fc\u30eb\u304c\u5931\u6557\u3057\u307e\u3057\u305f\uff01\n\n\u8a73\u7d30\uff1a {0}
-Installer.tskLibErr.err=\u81f4\u547d\u7684\u30a8\u30e9\u30fc\uff01
-InterestingHits.interestingItems.text=\u7591\u308f\u3057\u3044\u30a2\u30a4\u30c6\u30e0
-InterestingHits.displayName.text=\u7591\u308f\u3057\u3044\u30a2\u30a4\u30c6\u30e0
+ImageNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+Installer.exception.tskVerStringNull.msg=Sleuth Kit\u306eJNI\u30c6\u30b9\u30c8\u30b3\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u306a\u3057\u3067\u8fd4\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u6587\u5b57\u5217\u304cnull\u3067\u3057\u305f\!
+Installer.exception.taskVerStringBang.msg=Sleuth Kit\u306eJNI\u30c6\u30b9\u30c8\u30b3\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u306a\u3057\u3067\u8fd4\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u6587\u5b57\u5217\u304c""\u3067\u3057\u305f\!
+Installer.tskLibErr.msg=Problem with Sleuth Kit\u306eJNI\u3067\u3059\u3002 Test call failed\!\n\nDetails: {0}
+Installer.tskLibErr.err=\u81f4\u547d\u7684\u306a\u30a8\u30e9\u30fc\u3067\u3059\!
+InterestingHits.interestingItems.text=\u8208\u5473\u6df1\u3044\u9805\u76ee
+InterestingHits.displayName.text=\u8208\u5473\u6df1\u3044\u9805\u76ee
InterestingHits.createSheet.name.name=\u540d\u524d
InterestingHits.createSheet.name.displayName=\u540d\u524d
-InterestingHits.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+InterestingHits.createSheet.name.desc=\u8aac\u660e\u306a\u3057
KeyValueNode.createSheet.name.name=\u540d\u524d
KeyValueNode.createSheet.name.displayName=\u540d\u524d
-KeyValueNode.createSheet.name.desc=\u8a72\u5f53\u306a\u3057
-KeyValueNode.createSheet.map.desc=\u8a72\u5f53\u306a\u3057
-KeywordHits.kwHits.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8
-KeywordHits.createSheet.name.name=\u540d\u524d
-KeywordHits.createSheet.name.displayName=\u540d\u524d
-KeywordHits.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-KeywordHits.createSheet.listName.name=\u30ea\u30b9\u30c8\u540d
-KeywordHits.createSheet.listName.displayName=\u30ea\u30b9\u30c8\u540d
-KeywordHits.createSheet.listName.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-KeywordHits.createSheet.numChildren.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-KeywordHits.createSheet.filesWithHits.name=\u30d2\u30c3\u30c8\u3057\u305f\u30d5\u30a1\u30a4\u30eb
-KeywordHits.createSheet.filesWithHits.displayName=\u30d2\u30c3\u30c8\u3057\u305f\u30d5\u30a1\u30a4\u30eb
-KeywordHits.createSheet.filesWithHits.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-KeywordHits.createNodeForKey.modTime.displayName=\u4fee\u6b63\u65e5\u6642
-KeywordHits.createNodeForKey.modTime.desc=\u4fee\u6b63\u65e5\u6642
-KeywordHits.createNodeForKey.accessTime.displayName=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-KeywordHits.createNodeForKey.accessTime.desc=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-KeywordHits.createNodeForKey.chgTime.displayName=\u5909\u66f4\u65e5\u6642
-KeywordHits.createNodeForKey.chgTime.desc=\u5909\u66f4\u65e5\u6642
-KeywordHits.createNodeForKey.chgTime.name=\u5909\u66f4\u65e5\u6642
-KeywordHits.createNodeForKey.accessTime.name=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-KeywordHits.createNodeForKey.modTime.name=\u4fee\u6b63\u65e5\u6642
-KnownFileFilterNode.selectionContext.dataSources=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
-KnownFileFilterNode.selectionContext.views=\u30d3\u30e5\u30fc
+KeyValueNode.createSheet.name.desc=n/a
+KeyValueNode.createSheet.map.desc=n/a
LayoutFileNode.propertyType.parts=\u30d1\u30fc\u30c4
LayoutFileNode.createSheet.name.name=\u540d\u524d
LayoutFileNode.createSheet.name.displayName=\u540d\u524d
-LayoutFileNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-LayoutFileNode.createSheet.noDescr.text=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-LayoutFileNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
-LayoutFileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
+LayoutFileNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+LayoutFileNode.createSheet.noDescr.text=\u8aac\u660e\u306a\u3057
+LayoutFileNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+LayoutFileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
LocalFileNode.createSheet.name.name=\u540d\u524d
LocalFileNode.createSheet.name.displayName=\u540d\u524d
-LocalFileNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-LocalFileNode.createSheet.noDescr.text=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-LocalFileNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
-LocalFileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
-LocalFileNode.getActions.searchFilesSameMd5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+LocalFileNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+LocalFileNode.createSheet.noDescr.text=\u8aac\u660e\u306a\u3057
+LocalFileNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+LocalFileNode.getActions.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
+LocalFileNode.getActions.searchFilesSameMd5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+OpenReportAction.actionDisplayName=\u30ec\u30dd\u30fc\u30c8\u3092\u958b\u304f
+OpenReportAction.actionPerformed.MessageBoxTitle=\u30ec\u30dd\u30fc\u30c8\u30aa\u30fc\u30d7\u30f3\u5931\u6557
+OpenReportAction.actionPerformed.NoAssociatedEditorMessage=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u30ec\u30dd\u30fc\u30c8\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a8\u30c7\u30a3\u30bf\u30fc\u304c\u306a\u3044\u304b\u3001\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+OpenReportAction.actionPerformed.NoOpenInEditorSupportMessage=\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0(\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0)\u306f\u3053\u306e\u65b9\u6cd5\u3067\u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u3053\u3068\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002
+OpenReportAction.actionPerformed.MissingReportFileMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+OpenReportAction.actionPerformed.ReportFileOpenPermissionDeniedMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u8a31\u53ef\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
RecentFiles.aut0DayFilter.displayName.text=\u6700\u7d42\u65e5
RecentFiles.aut1dayFilter.displayName.text=\u6700\u7d42\u65e5 - 1
-RecentFiles.aut2dayFilter.displayName.text=\u6700\u7d42\u65e5 - \uff12
-RecentFiles.aut3dayFilter.displayName.text=\u6700\u7d42\u65e5 - \uff13
-RecentFiles.aut4dayFilter.displayName.text=\u6700\u7d42\u65e5 - \uff14
-RecentFiles.aut5dayFilter.displayName.text=\u6700\u7d42\u65e5 - \uff15
-RecentFiles.aut6dayFilter.displayName.text=\u6700\u7d42\u65e5 - \uff16
-RecentFilesFilterChildren.exception.defaultVisit.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u3067\u304d\u308b\u30a2\u30a4\u30c6\u30e0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff1a{0}
-Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI\u30c6\u30b9\u30c8\u30b3\u30fc\u30eb\u3067\u306f\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u304c\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u30b9\u30c8\u30ea\u30f3\u30b0\u306f""\u3067\u3057\u305f\uff01
+RecentFiles.aut2dayFilter.displayName.text=\u6700\u7d42\u65e5 - 2
+RecentFiles.aut3dayFilter.displayName.text=\u6700\u7d42\u65e5 - 3
+RecentFiles.aut4dayFilter.displayName.text=\u6700\u7d42\u65e5 - 4
+RecentFiles.aut5dayFilter.displayName.text=\u6700\u7d42\u65e5 - 5
+RecentFiles.aut6dayFilter.displayName.text=\u6700\u7d42\u65e5 - 6
+RecentFilesFilterChildren.exception.defaultVisit.msg=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u8868\u793a\u53ef\u80fd\u306a\u9805\u76ee\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093: {0}
RecentFilesFilterNode.createSheet.filterType.name=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
RecentFilesFilterNode.createSheet.filterType.displayName=\u30d5\u30a3\u30eb\u30bf\u30fc\u30bf\u30a4\u30d7
-RecentFilesFilterNode.createSheet.filterType.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+RecentFilesFilterNode.createSheet.filterType.desc=\u8aac\u660e\u306a\u3057
RecentFilesNode.createSheet.name.name=\u540d\u524d
RecentFilesNode.createSheet.name.displayName=\u540d\u524d
-RecentFilesNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-RecentFilesNode.name.text=\u6700\u8fd1\u4f7f\u7528\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
-ResultsNode.name.text=\u7d50\u679c
-ResultsNode.createSheet.name.name=\u540d\u524d
+RecentFilesNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+RecentFilesNode.name.text=\u6700\u8fd1\u306e\u30d5\u30a1\u30a4\u30eb
+ReportNode.sourceModuleNameProperty.name=\u30bd\u30fc\u30b9\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
+ReportNode.sourceModuleNameProperty.displayName=\u30bd\u30fc\u30b9\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
+ReportNode.sourceModuleNameProperty.desc=\u30ec\u30dd\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
+ReportNode.createdTimeProperty.name=\u4f5c\u6210\u3057\u305f\u6642\u523b
+ReportNode.createdTimeProperty.displayName=\u4f5c\u6210\u3057\u305f\u6642\u523b
+ReportNode.createdTimeProperty.desc=\u30ec\u30dd\u30fc\u30c8\u304c\u4f5c\u6210\u3055\u308c\u305f\u6642\u523b
+ReportNode.pathProperty.name= \u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
+ReportNode.pathProperty.displayName= \u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
+ReportNode.pathProperty.desc=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u30ed\u30fc\u30ab\u30eb\u30d1\u30b9
+ReportNode.reportNameProperty.name=\u30ec\u30dd\u30fc\u30c8\u540d
+ReportNode.reportNameProperty.displayName=\u30ec\u30dd\u30fc\u30c8\u540d
+ReportNode.reportNameProperty.desc=\u30ec\u30dd\u30fc\u30c8\u540d
+ReportsListNode.displayName=\u30ec\u30dd\u30fc\u30c8
+ResultsNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
ResultsNode.createSheet.name.displayName=\u540d\u524d
-ResultsNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-TagNameNode.namePlusTags.text={0}\u30bf\u30b0
+ResultsNode.createSheet.name.name=\u540d\u524d
+ResultsNode.name.text=\u7d50\u679c
+SlackFileNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+SlackFileNode.getActions.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+SpecialDirectoryNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+TagNameNode.namePlusTags.text={0} \u30bf\u30b0
TagNameNode.contentTagTypeNodeKey.text=\u30b3\u30f3\u30c6\u30f3\u30c4\u30bf\u30b0
TagNameNode.bbArtTagTypeNodeKey.text=\u7d50\u679c\u30bf\u30b0
TagNameNode.bookmark.text=\u30d6\u30c3\u30af\u30de\u30fc\u30af
@@ -196,81 +340,62 @@ TagNameNode.createSheet.name.name=\u540d\u524d
TagNameNode.createSheet.name.displayName=\u540d\u524d
TagsNode.displayName.text=\u30bf\u30b0
TagsNode.createSheet.name.name=\u540d\u524d
-AbstractAbstractFileNode.flagsDirColLbl=\u30d5\u30e9\u30b0\uff08\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff09
-AbstractAbstractFileNode.flagsMetaColLbl=\u30d5\u30e9\u30b0\uff08\u30e1\u30bf\u30c7\u30fc\u30bf\uff09
-AbstractAbstractFileNode.metaAddrColLbl=\u30e1\u30bf\u30c7\u30fc\u30bf\u30a2\u30c9\u30ec\u30b9
-AbstractAbstractFileNode.attrAddrColLbl=\u5c5e\u6027\u30a2\u30c9\u30ec\u30b9
-AbstractAbstractFileNode.typeDirColLbl=\u30bf\u30a4\u30d7\uff08\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff09
-AbstractAbstractFileNode.typeMetaColLbl=\u30bf\u30a4\u30d7\uff08\u30e1\u30bf\u30c7\u30fc\u30bf\uff09
-ArtifactTypeNode.createSheet.childCnt.displayName=\u30c1\u30e3\u30a4\u30eb\u30c9\u6570
TagsNode.createSheet.name.displayName=\u540d\u524d
ViewsNode.name.text=\u30d3\u30e5\u30fc
ViewsNode.createSheet.name.name=\u540d\u524d
ViewsNode.createSheet.name.displayName=\u540d\u524d
-ViewsNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-VirtualDirectoryNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
+ViewsNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+ImageNode.createSheet.deviceId.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30c7\u30d0\u30a4\u30b9ID
+VirtualDirectoryNode.createSheet.deviceId.displayName=\u30c7\u30d0\u30a4\u30b9ID
+VirtualDirectoryNode.createSheet.deviceId.name=\u30c7\u30d0\u30a4\u30b9ID
+VirtualDirectoryNode.createSheet.size.desc=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)\u3067\u3059\u3002
+VirtualDirectoryNode.createSheet.size.displayName=\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)
+VirtualDirectoryNode.createSheet.size.name=\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)
+VirtualDirectoryNode.createSheet.timezone.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+VirtualDirectoryNode.createSheet.timezone.displayName=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+VirtualDirectoryNode.createSheet.timezone.name=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+ImageNode.createSheet.type.desc=\u30a4\u30e1\u30fc\u30b8\u306e\u30bf\u30a4\u30d7\u3067\u3059\u3002
+VirtualDirectoryNode.createSheet.type.displayName=\u30bf\u30a4\u30d7
+VirtualDirectoryNode.createSheet.type.name=\u30bf\u30a4\u30d7
+VirtualDirectoryNode.createSheet.type.text=\u8ad6\u7406\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8
+VirtualDirectoryNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
VirtualDirectoryNode.createSheet.name.name=\u540d\u524d
VirtualDirectoryNode.createSheet.name.displayName=\u540d\u524d
-VirtualDirectoryNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-VirtualDirectoryNode.createSheet.noDesc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-VolumeNode.getActions.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
+VirtualDirectoryNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
+VirtualDirectoryNode.createSheet.noDesc=\u8aac\u660e\u306a\u3057
+VolumeNode.getActions.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
VolumeNode.createSheet.name.name=\u540d\u524d
VolumeNode.createSheet.name.displayName=\u540d\u524d
-VolumeNode.createSheet.name.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+VolumeNode.createSheet.name.desc=\u8aac\u660e\u306a\u3057
VolumeNode.createSheet.id.name=ID
VolumeNode.createSheet.id.displayName=ID
-VolumeNode.createSheet.id.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-VolumeNode.createSheet.startSector.name=\u6700\u521d\u306e\u30bb\u30af\u30bf\u30fc
-VolumeNode.createSheet.startSector.displayName=\u6700\u521d\u306e\u30bb\u30af\u30bf\u30fc
-VolumeNode.createSheet.startSector.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-VolumeNode.createSheet.lenSectors.name=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055
-VolumeNode.createSheet.lenSectors.displayName=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055
-VolumeNode.createSheet.lenSectors.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+VolumeNode.createSheet.id.desc=\u8aac\u660e\u306a\u3057
+VolumeNode.createSheet.startSector.name=\u30bb\u30af\u30bf\u30fc\u3092\u958b\u59cb\u4e2d\u3067\u3059
+VolumeNode.createSheet.startSector.displayName=\u30bb\u30af\u30bf\u30fc\u3092\u958b\u59cb\u4e2d\u3067\u3059
+VolumeNode.createSheet.startSector.desc=\u8aac\u660e\u306a\u3057
+VolumeNode.createSheet.lenSectors.name=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055:
+VolumeNode.createSheet.lenSectors.displayName=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055:
+VolumeNode.createSheet.lenSectors.desc=\u8aac\u660e\u306a\u3057
VolumeNode.createSheet.description.name=\u8aac\u660e
VolumeNode.createSheet.description.displayName=\u8aac\u660e
-VolumeNode.createSheet.description.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
+VolumeNode.createSheet.description.desc=\u8aac\u660e\u306a\u3057
VolumeNode.createSheet.flags.name=\u30d5\u30e9\u30b0
VolumeNode.createSheet.flags.displayName=\u30d5\u30e9\u30b0
-VolumeNode.createSheet.flags.desc=\u8aac\u660e\u304c\u3042\u308a\u307e\u305b\u3093
-ArtifactTypeNode.createSheet.artType.name=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7
-ArtifactTypeNode.createSheet.artType.displayName=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7
-KeywordHits.createSheet.numChildren.name=\u30c1\u30e3\u30a4\u30eb\u30c9\u6570
-KeywordHits.createSheet.numChildren.displayName=\u30c1\u30e3\u30a4\u30eb\u30c9\u6570
-KeywordHits.simpleLiteralSearch.text=\u30b7\u30f3\u30b0\u30eb\u30ea\u30c6\u30e9\u30eb\u691c\u7d22
-KeywordHits.singleRegexSearch.text=\u30b7\u30f3\u30b0\u30eb\u6b63\u898f\u8868\u73fe\u691c\u7d22
-AbstractAbstractFileNode.objectId=\u30aa\u30d6\u30b8\u30a7\u30af\u30c8ID
+VolumeNode.createSheet.flags.desc=\u8aac\u660e\u306a\u3057
ArtifactStringContent.getStr.artifactId.text=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8ID
-OpenReportAction.actionDisplayName=\u30ec\u30dd\u30fc\u30c8\u3092\u958b\u304f
-OpenReportAction.actionPerformed.MessageBoxTitle=\u5931\u6557\u30ec\u30dd\u30fc\u30c8\u3092\u958b\u304f
-OpenReportAction.actionPerformed.MissingReportFileMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306f\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002
-OpenReportAction.actionPerformed.NoAssociatedEditorMessage=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u30ec\u30dd\u30fc\u30c8\u306b\u95a2\u9023\u3059\u308b\u30a8\u30c7\u30a3\u30bf\u30fc\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305f\u306f\u3001\u95a2\u9023\u3059\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u958b\u59cb\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-OpenReportAction.actionPerformed.NoOpenInEditorSupportMessage=\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\uff08\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\uff09\u306f\u3053\u306e\u65b9\u6cd5\u3067\u3001\u30d5\u30a1\u30a4\u30eb\u3092\u30a8\u30c7\u30a3\u30bf\u30fc\u306b\u3066\u958b\u304f\u306e\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002
-OpenReportAction.actionPerformed.ReportFileOpenPermissionDeniedMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
-ReportNode.createdTimeProperty.desc=\u30bf\u30a4\u30e0\u30ec\u30dd\u30fc\u30c8\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002
-ReportNode.createdTimeProperty.displayName=\u4f5c\u6210\u65e5\u6642
-ReportNode.createdTimeProperty.name=\u4f5c\u6210\u65e5\u6642
-ReportNode.pathProperty.desc=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u30ed\u30fc\u30ab\u30eb\u30d1\u30b9
-ReportNode.pathProperty.displayName=\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u30ec\u30dd\u30fc\u30c8
-ReportNode.pathProperty.name=\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u30ec\u30dd\u30fc\u30c8
-ReportNode.sourceModuleNameProperty.desc=\u30ec\u30dd\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
-ReportNode.sourceModuleNameProperty.displayName=\u30bd\u30fc\u30b9\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
-ReportNode.sourceModuleNameProperty.name=\u30bd\u30fc\u30b9\u30e2\u30b8\u30e5\u30fc\u30eb\u540d
-ReportsListNode.displayName=\u30ec\u30dd\u30fc\u30c8
-AbstractAbstractFileNode.mimeType=MIME\u30bf\u30a4\u30d7
-ContentTagNode.createSheet.fileModifiedTime.name=\u4fee\u6b63\u65e5\u6642
-ContentTagNode.createSheet.fileModifiedTime.displayName=\u4fee\u6b63\u65e5\u6642
-ContentTagNode.createSheet.fileChangedTime.name=\u5909\u66f4\u65e5\u6642
-ContentTagNode.createSheet.fileChangedTime.displayName=\u5909\u66f4\u65e5\u6642
-ContentTagNode.createSheet.fileAccessedTime.name=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-ContentTagNode.createSheet.fileAccessedTime.displayName=\u30a2\u30af\u30bb\u30b9\u65e5\u6642
-ContentTagNode.createSheet.fileCreatedTime.name=\u4f5c\u6210\u65e5\u6642
-ContentTagNode.createSheet.fileCreatedTime.displayName=\u4f5c\u6210\u65e5\u6642
-ContentTagNode.createSheet.fileSize.name=\u30b5\u30a4\u30ba
-ContentTagNode.createSheet.fileSize.displayName=\u30b5\u30a4\u30ba
-LocalFileNode.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-ReportNode.reportNameProperty.name=\u30ec\u30dd\u30fc\u30c8\u540d
-ReportNode.reportNameProperty.displayName=\u30ec\u30dd\u30fc\u30c8\u540d
-ReportNode.reportNameProperty.desc=\u30ec\u30dd\u30fc\u30c8\u306e\u540d\u524d
DeleteReportAction.actionDisplayName.singleReport=\u30ec\u30dd\u30fc\u30c8\u3092\u524a\u9664
DeleteReportAction.actionDisplayName.multipleReports=\u30ec\u30dd\u30fc\u30c8\u3092\u524a\u9664
-DeleteReportAction.actionPerformed.showConfirmDialog.title=\u524a\u9664\u3092\u78ba\u5b9a\u3059\u308b
\ No newline at end of file
+DeleteReportAction.actionPerformed.showConfirmDialog.title=\u524a\u9664\u3092\u78ba\u5b9a
+DeleteReportAction.actionPerformed.showConfirmDialog.single.msg=\u30b1\u30fc\u30b9\u304b\u3089\u30ec\u30dd\u30fc\u30c8\u30921\u4ef6\u524a\u9664\u3057\u307e\u3059\u304b?
+DeleteReportAction.actionPerformed.showConfirmDialog.multiple.msg=\u30b1\u30fc\u30b9\u304b\u3089\u30ec\u30dd\u30fc\u30c8\u3092 {0} \u4ef6\u524a\u9664\u3057\u307e\u3059\u304b?
+FileTypeExtensionFilters.tskImgFilter.text=\u30a4\u30e1\u30fc\u30b8
+FileTypeExtensionFilters.tskVideoFilter.text=\u52d5\u753b
+FileTypeExtensionFilters.tskAudioFilter.text=\u30aa\u30fc\u30c7\u30a3\u30aa
+FileTypeExtensionFilters.tskArchiveFilter.text=\u30a2\u30fc\u30ab\u30a4\u30d6
+FileTypeExtensionFilters.tskDocumentFilter.text=\u6587\u66f8
+FileTypeExtensionFilters.tskExecFilter.text=\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb
+FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
+FileTypeExtensionFilters.autDocOfficeFilter.text=Office
+FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
+FileTypeExtensionFilters.autDocTxtFilter.text=\u30d7\u30ec\u30fc\u30f3\u30c6\u30ad\u30b9\u30c8
+FileTypeExtensionFilters.autDocRtfFilter.text=\u30ea\u30c3\u30c1\u30c6\u30ad\u30b9\u30c8
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java
index e52e50c31c..d97e980a8b 100644
--- a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContent.java
@@ -43,6 +43,7 @@ import org.sleuthkit.datamodel.Blackboard;
import org.sleuthkit.datamodel.BlackboardArtifact;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_ACCOUNT;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT;
+import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_DATA_SOURCE_USAGE;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_GEN_INFO;
@@ -229,7 +230,7 @@ public class ExtractedContent implements AutopsyVisitableItem {
TypeFactory() {
super();
- // these are shown in other parts of the UI tree
+ // these are shown in other parts of the UI
doNotShow.add(new BlackboardArtifact.Type(TSK_GEN_INFO));
doNotShow.add(new BlackboardArtifact.Type(TSK_EMAIL_MSG));
doNotShow.add(new BlackboardArtifact.Type(TSK_HASHSET_HIT));
@@ -239,6 +240,9 @@ public class ExtractedContent implements AutopsyVisitableItem {
doNotShow.add(new BlackboardArtifact.Type(TSK_ACCOUNT));
doNotShow.add(new BlackboardArtifact.Type(TSK_DATA_SOURCE_USAGE));
doNotShow.add(new BlackboardArtifact.Type(TSK_DOWNLOAD_SOURCE));
+ doNotShow.add(new BlackboardArtifact.Type(TSK_TL_EVENT));
+
+ //This is not meant to be shown in the UI at all. It is more of a meta artifact.
doNotShow.add(new BlackboardArtifact.Type(TSK_ASSOCIATED_OBJECT));
}
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ja.properties
new file mode 100644
index 0000000000..1e28a40973
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ja.properties
@@ -0,0 +1,28 @@
+Accounts.BINNode.accountsProperty.displayName=\u30a2\u30ab\u30a6\u30f3\u30c8
+Accounts.BINNode.bankCityProperty.displayName=\u9280\u884c\u6240\u5728\u5730\u5e02\u753a\u6751\u533a
+Accounts.BINNode.bankCountryProperty.displayName=\u9280\u884c\u6240\u5728\u56fd
+Accounts.BINNode.bankPhoneProperty.displayName=\u9280\u884c\u96fb\u8a71\u756a\u53f7#
+Accounts.BINNode.bankProperty.displayName=\u9280\u884c
+Accounts.BINNode.bankURLProperty.displayName=\u9280\u884cURL
+Accounts.BINNode.binProperty.displayName=\u9280\u884c\u8b58\u5225\u756a\u53f7
+Accounts.BINNode.brandProperty.displayName=\u30d6\u30e9\u30f3\u30c9
+Accounts.BINNode.cardTypeProperty.displayName=\u652f\u6255\u3044\u30ab\u30fc\u30c9\u306e\u7a2e\u985e
+Accounts.BINNode.noDescription=\u8aac\u660e\u306a\u3057
+Accounts.BINNode.schemeProperty.displayName=\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u30b9\u30ad\u30fc\u30e0
+# {0} - \u5b50\u306e\u6570
+Accounts.ByBINNode.displayName=BIN\u5225 ({0})
+Accounts.ByBINNode.name=BIN\u5225
+# {0} - \u5b50\u306e\u6570
+Accounts.ByFileNode.displayName=\u30d5\u30a1\u30a4\u30eb\u5225 ({0})
+Accounts.FileWithCCNNode.accountsProperty.displayName=\u30a2\u30ab\u30a6\u30f3\u30c8
+Accounts.FileWithCCNNode.nameProperty.displayName=\u30d5\u30a1\u30a4\u30eb
+Accounts.FileWithCCNNode.noDescription=\u8aac\u660e\u306a\u3057
+Accounts.FileWithCCNNode.statusProperty.displayName=\u30b9\u30c6\u30fc\u30bf\u30b9
+# {0} - \u30ed\u30fc\u30d5\u30a1\u30a4\u30eb\u540d
+# {1} - Solr\u30c1\u30e3\u30f3\u30afID
+Accounts.FileWithCCNNode.unallocatedSpaceFile.displayName={0}_\u30c1\u30e3\u30f3\u30af_{1}
+Accounts.RootNode.displayName=\u30a2\u30ab\u30a6\u30f3\u30c8
+AccountsRootNode.name=\u30a2\u30ab\u30a6\u30f3\u30c8
+ApproveAccountsAction.name=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u627f\u8a8d
+RejectAccountsAction.name=\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u62d2\u5426
+ToggleShowRejected.name=\u62d2\u5426\u3055\u308c\u305f\u7d50\u679c\u3092\u8868\u793a
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/utils/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/utils/Bundle_ja.properties
new file mode 100644
index 0000000000..b3e4e61e7d
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/utils/Bundle_ja.properties
@@ -0,0 +1,7 @@
+FileTypeCategory.Audio.displayName=\u30aa\u30fc\u30c7\u30a3\u30aa
+FileTypeCategory.Documents.displayName=\u6587\u66f8
+FileTypeCategory.Executables.displayName=\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb
+FileTypeCategory.Image.displayName=\u30a4\u30e1\u30fc\u30b8
+FileTypeCategory.Media.displayName=\u30e1\u30c7\u30a3\u30a2
+FileTypeCategory.Video.displayName=\u52d5\u753b
+FileTypeCategory.Visual.displayName=\u30d3\u30b8\u30e5\u30a2\u30eb
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ja.properties
new file mode 100644
index 0000000000..7086b898db
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ja.properties
@@ -0,0 +1,21 @@
+# \u3053\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3] \u3067 [\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc] \u3092\u9078\u629e\u3057\u307e\u3059\u3002
+# \u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30c4\u30fc\u30eb | \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8] \u3092\u9078\u629e\u3057\u3001
+# \u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u958b\u304d\u307e\u3059\u3002
+
+AddRawImageTask.for.device=\u30c7\u30d0\u30a4\u30b9\u7528
+AddRawImageTask.image.critical.error.adding=\u8ffd\u52a0\u4e2d\u306e\u91cd\u5927\u306a\u30a8\u30e9\u30fc
+AddRawImageTask.image.critical.error.adding=\u8ffd\u52a0\u4e2d\u306e\u91cd\u5927\u3067\u306f\u306a\u3044\u30a8\u30e9\u30fc
+AddRawImageTask.image.notExisting=\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+AddRawImageTask.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+AddRawImageTask.progress.add.text=\u6b21\u306e\u30ed\u30fc\u30a4\u30e1\u30fc\u30b8\u3092\u8ffd\u52a0\u4e2d\u3067\u3059:
+RawDSInputPanel.error.text=\u30de\u30eb\u30c1\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30d1\u30b9\u306f "C:" \u30c9\u30e9\u30a4\u30d6\u306b\u3042\u308a\u307e\u3059
+RawDSInputPanel.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306e\u53d6\u5f97\u4e2d\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+RawDSInputPanel.pathLabel.text=\u672a\u4f7f\u7528\u9818\u57df\u306e\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3092\u53c2\u7167:
+RawDSInputPanel.errorLabel.text=\u30a8\u30e9\u30fc\u30e9\u30d9\u30eb
+RawDSInputPanel.browseButton.text=\u53c2\u7167
+RawDSInputPanel.pathTextField.text=
+RawDSInputPanel.jBreakFileUpLabel.text=\u6b21\u307e\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u7d30\u5206\u5316:
+RawDSInputPanel.jNoBreakupRadioButton.text=\u7d30\u5206\u5316\u3057\u306a\u3044
+RawDSInputPanel.j2GBBreakupRadioButton.text=2GB\u30c1\u30e3\u30f3\u30af
+RawDSInputPanel.timeZoneLabel.text=\u5165\u529b\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044:
+RawDSProcessor.dataSourceType=\u672a\u4f7f\u7528\u9818\u57df\u306e\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/XRYFileReader.java b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/XRYFileReader.java
index bc3c04259b..726c86f170 100755
--- a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/XRYFileReader.java
+++ b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/XRYFileReader.java
@@ -52,7 +52,11 @@ final class XRYFileReader implements AutoCloseable {
//Assume UTF_16LE
private static final Charset CHARSET = StandardCharsets.UTF_16LE;
- //Assume all XRY reports have the type on the 3rd line.
+ //Assume the header begins with 'xry export'.
+ private static final String START_OF_HEADER = "xry export";
+
+ //Assume all XRY reports have the type on the 3rd line
+ //relative to the start of the header.
private static final int LINE_WITH_REPORT_TYPE = 3;
//Assume all headers are 5 lines in length.
@@ -91,8 +95,12 @@ final class XRYFileReader implements AutoCloseable {
reader = Files.newBufferedReader(xryFile, CHARSET);
xryFilePath = xryFile;
- //Advance the reader to the start of the first XRY entity.
- for (int i = 0; i < HEADER_LENGTH_IN_LINES; i++) {
+ //Advance the reader to the start of the header.
+ advanceToHeader(reader);
+
+ //Advance the reader past the header to the start
+ //of the first XRY entity.
+ for (int i = 1; i < HEADER_LENGTH_IN_LINES; i++) {
reader.readLine();
}
@@ -298,8 +306,11 @@ final class XRYFileReader implements AutoCloseable {
*/
private static Optional getType(Path file) throws IOException {
try (BufferedReader reader = Files.newBufferedReader(file, CHARSET)) {
+ //Header may not start at the beginning of the file.
+ advanceToHeader(reader);
+
//Advance the reader to the line before the report type.
- for (int i = 0; i < LINE_WITH_REPORT_TYPE - 1; i++) {
+ for (int i = 1; i < LINE_WITH_REPORT_TYPE - 1; i++) {
reader.readLine();
}
@@ -310,4 +321,51 @@ final class XRYFileReader implements AutoCloseable {
return Optional.empty();
}
}
+
+ /**
+ * Advances the reader to the start of the header. The XRY Export header may
+ * not be the first n lines of the file. It may be preceded by new lines or
+ * white space.
+ *
+ * This function will consume the first line of the header, which will be
+ * 'XRY Export'.
+ *
+ * @param reader BufferedReader pointing to the xry file
+ * @throws IOException if an I/O error occurs
+ */
+ private static void advanceToHeader(BufferedReader reader) throws IOException {
+ String line;
+ if((line = reader.readLine()) == null) {
+ return;
+ }
+
+ String normalizedLine = line.trim().toLowerCase();
+ if (normalizedLine.equals(START_OF_HEADER)) {
+ return;
+ }
+
+ /**
+ * The first line may have 0xFFFE BOM prepended to it, which will cause
+ * the equality check to fail. This bit a logic will try to remove those
+ * bytes and attempt another check.
+ */
+ byte[] normalizedBytes = normalizedLine.getBytes(CHARSET);
+ if (normalizedBytes.length > 2) {
+ normalizedLine = new String(normalizedBytes, 2,
+ normalizedBytes.length - 2, CHARSET);
+ if (normalizedLine.equals(START_OF_HEADER)) {
+ return;
+ }
+ }
+
+ /**
+ * All other lines will need to match completely.
+ */
+ while ((line = reader.readLine()) != null) {
+ normalizedLine = line.trim().toLowerCase();
+ if (normalizedLine.equals(START_OF_HEADER)) {
+ return;
+ }
+ }
+ }
}
diff --git a/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ja.properties
index 860af87697..c21e75e73c 100644
--- a/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ja.properties
@@ -1,22 +1,29 @@
-CTL_PerformancePanelAction=\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u8A3A\u65AD
-PerformancePanel.cpuTest.basemsg=CPU\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
-PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}MB\u30CF\u30C3\u30B7\u30E5\u5B8C\u4E86
-PerformancePanel.cpuTest.cpuLabel.md5AlgNotFound.text=MD5\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F
-PerformancePanel.dbTest.dbLabel.errPerformQuery.text=\u30AF\u30A8\u30EA\u3092\u5B9F\u884C\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-PerformancePanel.dbTest.dbLabel.recordsPerSec.text=\uFF11\u79D2\u3054\u3068\u306B{0}\u30EC\u30B3\u30FC\u30C9
-PerformancePanel.dbTest.status.running=DB\u30C6\u30B9\u30C8\u3092\u5B9F\u884C\u4E2D
-PerformancePanel.done.statusMsg.err.text=\u30A8\u30E9\u30FC\uFF1A{0}
-PerformancePanel.fileReadLabel.errMakeFileReader.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C0\u30FC\u3092\u4F5C\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-PerformancePanel.fileReadLabel.imgPathNotExist.text=\u30A4\u30E1\u30FC\u30B8\u30D1\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093
-PerformancePanel.FileReadTest.fileReadLabel.skipped.text=\u30B9\u30AD\u30C3\u30D7\u3055\u308C\u307E\u3057\u305F
-PerformancePanel.FileReadTest.statusMsg.runningFileReadTest.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u3092\u5B9F\u884C\u4E2D
-PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\u30C6\u30B9\u30C8\u5B9F\u884C\u4E2D
-PerformancePanel.jLabel1.text=\u30A4\u30E1\u30FC\u30B8\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
-PerformancePanel.jLabel2.text=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
-PerformancePanel.jLabel3.text=CPU\uFF1A
-PerformancePanel.jLabel4.text=\u30D5\u30A1\u30A4\u30EB\u30EA\u30FC\u30C7\u30A3\u30F3\u30B0\uFF1A
-PerformancePanel.jLabel5.text=\u30B7\u30B9\u30C6\u30E0\u306E\u30DC\u30C8\u30EB\u30CD\u30C3\u30AF\u3092\u7279\u5B9A\u3059\u308B\u4E00\u9023\u306E\u30C6\u30B9\u30C8\u3092\u884C\u3046\u30D1\u30CD\u30EB\u3067\u3059\u3002
-PerformancePanel.label.caseNotOpen.text=\u30B1\u30FC\u30B9\u304C\u958B\u3044\u3066\u3044\u307E\u305B\u3093
-PerformancePanel.label.noImgInCase.text=\u30B1\u30FC\u30B9\u306B\u30A4\u30E1\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093
-PerformancePanel.startButton.text=\u958B\u59CB
-PerformancePanel.title=\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u8A3A\u65AD
\ No newline at end of file
+CTL_PerformancePanelAction=\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8a3a\u65ad
+PerformancePanel.jLabel1.text=\u30a4\u30e1\u30fc\u30b8\u306e\u8aad\u307f\u8fbc\u307f:
+PerformancePanel.jLabel2.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u8aad\u307f\u8fbc\u307f:
+PerformancePanel.jLabel3.text=CPU:
+PerformancePanel.imgReadLabel.text=\
+PerformancePanel.dbReadLabel.text=\
+PerformancePanel.cpuTimeLabel.text=\
+PerformancePanel.startButton.text=\u958b\u59cb
+PerformancePanel.statusLabel.text=\
+PerformancePanel.jLabel4.text=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f:
+PerformancePanel.fileReadLabel.text=\
+PerformancePanel.jLabel5.text=\u3053\u306e\u30d1\u30cd\u30eb\u306f\u4e00\u9023\u306e\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3059\u308b\u3053\u3068\u3067\u3001\u30b7\u30b9\u30c6\u30e0\u306e\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306e\u7279\u5b9a\u3092\u652f\u63f4\u3057\u307e\u3059\u3002
+PerformancePanel.title=\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8a3a\u65ad
+PerformancePanel.cpuTest.basemsg=CPU\u30c6\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059
+PerformancePanel.cpuTest.cpuLabel.md5AlgNotFound.text=MD5\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text=\u30cf\u30c3\u30b7\u30e5\u6e08\u307f {0} MB / \u79d2
+PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=\u30a4\u30e1\u30fc\u30b8\u8aad\u307f\u8fbc\u307f\u30c6\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059
+PerformancePanel.label.caseNotOpen.text=\u30b1\u30fc\u30b9\u304c\u958b\u3044\u3066\u3044\u307e\u305b\u3093
+PerformancePanel.label.noImgInCase.text=\u30b1\u30fc\u30b9\u306b\u30a4\u30e1\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093
+PerformancePanel.ImgTest.imgLabel.MBReadPerSec.text=\u8aad\u307f\u53d6\u308a\u6e08\u307f {0} MB / \u79d2({1})
+PerformancePanel.FileReadTest.fileReadLabel.skipped.text=\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3057\u305f
+PerformancePanel.FileReadTest.statusMsg.runningFileReadTest.text=\u30d5\u30a1\u30a4\u30eb\u8aad\u307f\u8fbc\u307f\u30c6\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059
+PerformancePanel.fileReadLabel.imgPathNotExist.text=\u30a4\u30e1\u30fc\u30b8\u30d1\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
+PerformancePanel.fileReadLabel.errMakeFileReader.text=\u30d5\u30a1\u30a4\u30eb\u30ea\u30fc\u30c0\u30fc\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PerformancePanel.ImgTest.fileReadLabel.MBReadPerSec.text=\u8aad\u307f\u53d6\u308a\u6e08\u307f {0} MB / \u79d2({1})
+PerformancePanel.dbTest.status.running=DB\u30c6\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d\u3067\u3059
+PerformancePanel.dbTest.dbLabel.recordsPerSec.text={0} \u30ec\u30b3\u30fc\u30c9 / \u79d2
+PerformancePanel.dbTest.dbLabel.errPerformQuery.text=\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PerformancePanel.done.statusMsg.err.text=\u30a8\u30e9\u30fc: {0}
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ja.properties
index 567e7b1478..1d92def2e4 100644
--- a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ja.properties
@@ -1,8 +1,44 @@
-CTL_DirectoryTreeTopComponent=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc
-HINT_DirectoryTreeTopComponent=\u3053\u308c\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
-OpenIDE-Module-Name=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc
-FileSystemDetailsPanel.imgOffsetLabel.text=\u30a4\u30e1\u30fc\u30b8\u30aa\u30d5\u30bb\u30c3\u30c8\uff1a
-FileSystemDetailsPanel.fsTypeLabel.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u30bf\u30a4\u30d7\uff1a
+CSVWriter.done.notifyMsg.error=CSV \u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - \u51fa\u529b\u30d5\u30a1\u30a4\u30eb
+CSVWriter.done.notifyMsg.success={0} \u306b\u66f8\u304d\u8fbc\u307f\u307e\u3057\u305f
+CSVWriter.progress.cancelling=\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059
+CSVWriter.progress.extracting=CSV \u30d5\u30a1\u30a4\u30eb\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d\u3067\u3059
+CTL_DirectoryTreeTopComponent=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u30d5\u30a1\u30a4\u30eb
+DataResultFilterNode.viewSourceArtifact.text=\u30bd\u30fc\u30b9\u7d50\u679c\u3092\u8868\u793a
+# {0} - dataSourceCount
+DirectoryTreeTopComponent.componentOpened.groupDataSources.text=\u3053\u306e\u30b1\u30fc\u30b9\u306b\u306f {0} \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5225\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u3066\u8aad\u307f\u8fbc\u307f\u3092\u65e9\u304f\u3057\u307e\u3059\u304b?
+DirectoryTreeTopComponent.componentOpened.groupDataSources.title=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5225\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u307e\u3059\u304b?
+DirectoryTreeTopComponent.emptyMimeNode.text=\u30c7\u30fc\u30bf\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u8b58\u5225\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+DirectoryTreeTopComponent.resultsView.title=\u30ea\u30c3\u30b9\u30f3\u4e2d\u3067\u3059
+ExportCSV.saveNodesToCSV.empty=\u30c7\u30fc\u30bf\u306f\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
+# {0} - \u51fa\u529b\u30d5\u30a1\u30a4\u30eb
+ExportCSV.saveNodesToCSV.fileExists=\u30d5\u30a1\u30a4\u30eb {0} \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+ExportCSV.saveNodesToCSV.noCurrentCase=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093
+ExportCSV.title.text=\u9078\u629e\u3057\u305f\u884c\u3092CSV\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+ExternalViewerAction.actionPerformed.failure.exe.message=\u30d5\u30a1\u30a4\u30eb\u306f\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u3067\u3042\u308b\u305f\u3081\u958b\u304d\u307e\u305b\u3093\u3002
+ExternalViewerAction.actionPerformed.failure.IO.message=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a8\u30c7\u30a3\u30bf\u30fc\u304c\u306a\u3044\u304b\u3001\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ExternalViewerAction.actionPerformed.failure.missingFile.message=\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+ExternalViewerAction.actionPerformed.failure.open.url=URL\u3092\u958b\u3051\u307e\u305b\u3093
+ExternalViewerAction.actionPerformed.failure.permission.message=\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u8a31\u53ef\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
+ExternalViewerAction.actionPerformed.failure.support.message=\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0(\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0)\u306f\u3053\u306e\u65b9\u6cd5\u3067\u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u3053\u3068\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+ExternalViewerAction.actionPerformed.failure.title=\u30d5\u30a1\u30a4\u30eb\u30aa\u30fc\u30d7\u30f3\u5931\u6557 {0}
+ExternalViewerAction.actionPerformed.urlFailure.title=URL\u30aa\u30fc\u30d7\u30f3\u5931\u6557
+ExternalViewerShortcutAction.title.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
+ExtractAction.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+ExtractUnallocAction.imageError=\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u672a\u4f7f\u7528\u9818\u57df\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractUnallocAction.noFiles=\u30dc\u30ea\u30e5\u30fc\u30e0\u306b\u672a\u4f7f\u7528\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+ExtractUnallocAction.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+ExtractUnallocAction.volumeError=\u30dc\u30ea\u30e5\u30fc\u30e0\u304b\u3089\u672a\u4f7f\u7528\u9818\u57df\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - fileName
+ExtractUnallocAction.volumeInProgress=\u672a\u4f7f\u7528\u9818\u57df\u3092\u3059\u3067\u306b {0} \u306b\u62bd\u51fa\u4e2d\u3067\u3059 - \u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059
+FileSystemDetailsAction.title.text=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u8a73\u7d30
+# {0} - dataSourceCount
+GroupDataSourcesDialog.groupDataSources.text=\u3053\u306e\u30b1\u30fc\u30b9\u306b\u306f {0} \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
+HINT_DirectoryTreeTopComponent=\u3053\u308c\u306fDirectoryTree\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u3059
+OpenIDE-Module-Name=DirectoryTree
+FileSystemDetailsPanel.imgOffsetLabel.text=\u30a4\u30e1\u30fc\u30b8\u30aa\u30d5\u30bb\u30c3\u30c8:
+FileSystemDetailsPanel.fsTypeLabel.text=FileSystem\u30bf\u30a4\u30d7:
FileSystemDetailsPanel.jLabel2.text=\u30d0\u30a4\u30c8
FileSystemDetailsPanel.jLabel3.text=\u30d0\u30a4\u30c8
FileSystemDetailsPanel.fsTypeValue.text=...
@@ -13,73 +49,123 @@ FileSystemDetailsPanel.blockCountValue.text=...
FileSystemDetailsPanel.rootInumValue.text=...
FileSystemDetailsPanel.firstInumValue.text=...
FileSystemDetailsPanel.lastInumValue.text=...
-FileSystemDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID\uff1a
-FileSystemDetailsPanel.blockSizeLabel.text=\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba\uff1a
-FileSystemDetailsPanel.blockCountLabel.text=\u30d6\u30ed\u30c3\u30af\u6570\uff1a
-FileSystemDetailsPanel.rootInumLabel.text=\u30eb\u30fc\u30c8\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
-FileSystemDetailsPanel.firstInumLabel.text=\u6700\u521d\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
-FileSystemDetailsPanel.lastInumLabel.text=\u6700\u5f8c\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30a8\u30f3\u30c8\u30ea\u30fc\uff1a
+FileSystemDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID:
+FileSystemDetailsPanel.blockSizeLabel.text=\u30d6\u30ed\u30c3\u30af\u30b5\u30a4\u30ba:
+FileSystemDetailsPanel.blockCountLabel.text=\u30d6\u30ed\u30c3\u30af\u30ab\u30a6\u30f3\u30c8:
+FileSystemDetailsPanel.rootInumLabel.text=\u30eb\u30fc\u30c8\u30e1\u30bf\u30c7\u30fc\u30bf\u5165\u529b:
+FileSystemDetailsPanel.firstInumLabel.text=\u6700\u521d\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u5165\u529b:
+FileSystemDetailsPanel.lastInumLabel.text=\u6700\u5f8c\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u5165\u529b:
FileSystemDetailsPanel.OKButton.text=OK
-VolumeDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID\uff1a
+SelectionContext.dataSourceFiles=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
+SelectionContext.dataSources=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
+SelectionContext.views=\u30d3\u30e5\u30fc
+ViewContextAction.errorMessage.cannotFindDirectory=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ViewContextAction.errorMessage.cannotFindNode=\u30c4\u30ea\u30fc\u5185\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30ce\u30fc\u30c9\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ViewContextAction.errorMessage.cannotSelectDirectory=\u30c4\u30ea\u30fc\u5185\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u9078\u629e\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+VolumeDetailsPanel.volumeIDLabel.text=\u30dc\u30ea\u30e5\u30fc\u30e0ID:
VolumeDetailsPanel.volumeIDValue.text=...
VolumeDetailsPanel.startValue.text=...
VolumeDetailsPanel.lengthValue.text=...
VolumeDetailsPanel.descValue.text=...
VolumeDetailsPanel.flagsValue.text=...
-VolumeDetailsPanel.startLabel.text=\u6700\u521d\u306e\u30bb\u30af\u30bf\u30fc\uff1a
-VolumeDetailsPanel.lengthLabel.text=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055\uff1a
-VolumeDetailsPanel.descLabel.text=\u8aac\u660e\uff1a
-VolumeDetailsPanel.flagsLabel.text=\u30d5\u30e9\u30b0\uff1a
-VolumeDetailsPanel.jLabel1.text=\u30dc\u30ea\u30e5\u30fc\u30e0\u4e00\u822c\u60c5\u5831
+VolumeDetailsPanel.startLabel.text=\u30bb\u30af\u30bf\u30fc\u3092\u958b\u59cb\u4e2d\u3067\u3059:
+VolumeDetailsPanel.lengthLabel.text=\u30bb\u30af\u30bf\u30fc\u306e\u9577\u3055:
+VolumeDetailsPanel.descLabel.text=\u8a18\u8ff0:
+VolumeDetailsPanel.flagsLabel.text=\u30d5\u30e9\u30b0:
+VolumeDetailsPanel.jLabel1.text=\u30dc\u30ea\u30e5\u30fc\u30e0\u60c5\u5831\u5168\u822c
VolumeDetailsPanel.OKButton.text=OK
ImageDetailsPanel.imageInfoLabel.text=\u30a4\u30e1\u30fc\u30b8\u60c5\u5831
-ImageDetailsPanel.imgNameLabel.text=\u540d\u524d\uff1a
+ImageDetailsPanel.imgNameLabel.text=\u540d\u524d:
ImageDetailsPanel.imgNameValue.text=...
-ImageDetailsPanel.imgTypeLabel.text=\u30bf\u30a4\u30d7\uff1a
+ImageDetailsPanel.imgTypeLabel.text=\u30bf\u30a4\u30d7:
ImageDetailsPanel.imgTypeValue.text=...
ImageDetailsPanel.OKButton.text=OK
-ImageDetailsPanel.imgSectorSizeLabel.text=\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30ba\uff1a
+ImageDetailsPanel.imgSectorSizeLabel.text=\u30bb\u30af\u30bf\u30fc\u30b5\u30a4\u30ba:
ImageDetailsPanel.imgSectorSizeValue.text=...
+DirectoryTreeTopComponent.backButton.text=
+DirectoryTreeTopComponent.forwardButton.text=
ImageDetailsPanel.imgTotalSizeValue.text=...
-ImageDetailsPanel.imgTotalSizeLabel.text=\u5408\u8a08\u30b5\u30a4\u30ba\uff1a
+ImageDetailsPanel.imgTotalSizeLabel.text=\u5408\u8a08\u30b5\u30a4\u30ba:
ImageDetailsPanel.imgHashValue.text=...
-ImageDetailsPanel.imgHashLabel.text=\u30cf\u30c3\u30b7\u30e5\u5024\uff1a
-DataResultFilterNode.action.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-DataResultFilterNode.action.viewSrcFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
-DataResultFilterNode.action.viewInNewWin.text=\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8868\u793a
-DataResultFilterNode.action.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
-DataResultFilterNode.action.searchFilesSameMd5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
-DataResultFilterNode.action.viewInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306b\u8868\u793a
-DirectoryTreeFilterNode.action.openFileSrcByAttr.text=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u3092\u958b\u304f
+ImageDetailsPanel.imgHashLabel.text=\u30cf\u30c3\u30b7\u30e5\u5024:
+DataResultFilterNode.action.viewFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+DataResultFilterNode.action.viewSrcFileInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u5185\u306e\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a
+DataResultFilterNode.action.viewInNewWin.text=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
+DataResultFilterNode.action.openInExtViewer.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
+DataResultFilterNode.action.searchFilesSameMd5.text=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+DataResultFilterNode.action.viewInDir.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3067\u8868\u793a
+DirectoryTreeFilterNode.action.collapseAll.text=\u3059\u3079\u3066\u3092\u6298\u308a\u305f\u305f\u3080
+DirectoryTreeFilterNode.action.openFileSrcByAttr.text=\u5c5e\u6027\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u3092\u958b\u304f
DirectoryTreeFilterNode.action.runIngestMods.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
-DirectoryTreeTopComponent.action.viewArtContent.text=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u8868\u793a
+DirectoryTreeTopComponent.action.viewArtContent.text=\u904e\u53bb\u306e\u691c\u7d22\u7d50\u679c\u306e\u5185\u5bb9\u3092\u8868\u793a
ExplorerNodeActionVisitor.action.imgDetails.title=\u30a4\u30e1\u30fc\u30b8\u8a73\u7d30
-ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u5185\u306e\u30c7\u30fc\u30bf\u3092\u30b7\u30f3\u30b0\u30eb\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
+ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=\u672a\u4f7f\u7528\u9818\u57df\u3092\u5358\u4e00\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
ExplorerNodeActionVisitor.action.fileSystemDetails.title=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u8a73\u7d30
ExplorerNodeActionVisitor.action.volumeDetails.title=\u30dc\u30ea\u30e5\u30fc\u30e0\u8a73\u7d30
-ExplorerNodeActionVisitor.action.extUnallocToSingleFile=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u5185\u306e\u30c7\u30fc\u30bf\u3092\u30b7\u30f3\u30b0\u30eb\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
-ExplorerNodeActionVisitor.volDetail.noVolMatchErr=\u30a8\u30e9\u30fc\uff1a\u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=\u30a8\u30e9\u30fc\uff1a\u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-ExplorerNodeActionVisitor.exception.probGetParent.text={0}\: {1}\u304b\u3089\u30da\u30a2\u30ec\u30f3\u30c8\u3092\u53d6\u5f97\u3059\u308b\u969b\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExplorerNodeActionVisitor.action.extUnallocToSingleFile=\u672a\u4f7f\u7528\u9818\u57df\u3092\u5358\u4e00\u30d5\u30a1\u30a4\u30eb\u306b\u62bd\u51fa
+ExplorerNodeActionVisitor.volDetail.noVolMatchErr=\u30a8\u30e9\u30fc: \u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=\u30a8\u30e9\u30fc: \u4e00\u81f4\u3059\u308b\u30dc\u30ea\u30e5\u30fc\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+ExplorerNodeActionVisitor.exception.probGetParent.text={0} \u304b\u3089\u6b21\u306e\u89aa\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {1}
ExtractAction.title.extractFiles.text=\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa
-ExtractAction.extractFiles.cantCreateFolderErr.msg=\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-ExtractAction.confDlg.destFileExist.msg=\u4fdd\u5b58\u5148\u306e\u30d5\u30a1\u30a4\u30eb{0}\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3001\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b\uff1f
+ExtractAction.extractFiles.cantCreateFolderErr.msg=\u9078\u629e\u3057\u305f\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ExtractAction.confDlg.destFileExist.msg=\u5b9b\u5148\u30d5\u30a1\u30a4\u30eb {0} \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
ExtractAction.confDlg.destFileExist.title=\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3057\u307e\u3059
-ExtractAction.msgDlg.cantOverwriteFile.msg=\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb{0}\u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-ExtractAction.notifyDlg.noFileToExtr.msg=\u62bd\u51fa\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-ExtractAction.progress.extracting=\u62bd\u51fa\u4e2d
-ExtractAction.progress.cancellingExtraction={0}\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
+ExtractAction.msgDlg.cantOverwriteFile.msg=\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb {0} \u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+ExtractAction.notifyDlg.noFileToExtr.msg=\u62bd\u51fa\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+ExtractAction.progress.extracting=\u62bd\u51fa\u4e2d\u3067\u3059
+ExtractAction.progress.cancellingExtraction={0} (\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...)
ExtractAction.done.notifyMsg.fileExtr.text=\u30d5\u30a1\u30a4\u30eb\u304c\u62bd\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
-ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=\u3053\u306e\u30a4\u30e1\u30fc\u30b8\u306e\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u306f\u65e2\u306b\u62bd\u51fa\u4e2d\u3067\u3059\u3002\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002
-ExtractUnallocAction.msgDlg.folderDoesntExist.msg=\u30d5\u30a9\u30eb\u30c0\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u7d9a\u884c\u3059\u308b\u524d\u306b\u6709\u52b9\u306a\u30d5\u30a9\u30eb\u30c0\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002
-ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=\u4fdd\u5b58\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044
-ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306e\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30d5\u30a1\u30a4\u30eb{0}\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b\uff1f
-ExtractUnallocAction.progress.extractUnalloc.title=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u4e2d
-ExtractUnallocAction.progress.displayName.cancelling.text=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u30c7\u30fc\u30bf\u3092\u62bd\u51fa\u4e2d\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
-ExtractUnallocAction.processing.counter.msg={0}\uff0f{1} MBs\u3092\u51e6\u7406\u4e2d
-ExtractUnallocAction.done.notifyMsg.completedExtract.title=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u62bd\u51fa\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002
-ExtractUnallocAction.done.notifyMsg.completedExtract.msg=\u30d5\u30a1\u30a4\u30eb\u306f{0}\u3078\u62bd\u51fa\u3055\u308c\u307e\u3057\u305f
-ExtractUnallocAction.done.errMsg.title=\u62bd\u51fa\u30a8\u30e9\u30fc
-ExtractUnallocAction.done.errMsg.msg=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u3092\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
-DirectoryTreeFilterNode.action.collapseAll.text=\u3059\u3079\u3066\u30b3\u30e9\u30d7\u30b9
-ExtractAction.done.notifyMsg.extractErr=\u4e0b\u8a18\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
+ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=\u672a\u4f7f\u7528\u9818\u57df\u306f\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u4e0a\u3067\u3059\u3067\u306b\u62bd\u51fa\u4e2d\u3067\u3059\u3002\u5225\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ExtractUnallocAction.msgDlg.folderDoesntExist.msg=\u30d5\u30a9\u30eb\u30c0\u30fc\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u6709\u52b9\u306a\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u9078\u629e\u3057\u3066\u7d9a\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=\u4fdd\u5b58\u5148\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u9078\u629e
+ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=\u3053\u306e\u30dc\u30ea\u30e5\u30fc\u30e0\u306eUnalloc\u30d5\u30a1\u30a4\u30eb {0} \u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b?
+ExtractUnallocAction.progress.extractUnalloc.title=\u672a\u4f7f\u7528\u9818\u57df\u3092\u62bd\u51fa\u4e2d\u3067\u3059
+ExtractUnallocAction.progress.displayName.cancelling.text=\u672a\u4f7f\u7528\u9818\u57df\u3092\u62bd\u51fa\u4e2d\u3067\u3059(\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...)
+ExtractUnallocAction.processing.counter.msg=\u30e1\u30e2\u30ea\u30fc {1} MB\u306e {0} \u3092\u51e6\u7406\u4e2d\u3067\u3059
+ExtractUnallocAction.done.notifyMsg.completedExtract.title=\u672a\u4f7f\u7528\u9818\u57df\u306e\u62bd\u51fa\u3092\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002
+ExtractUnallocAction.done.notifyMsg.completedExtract.msg=\u30d5\u30a1\u30a4\u30eb\u3092 {0} \u306b\u62bd\u51fa\u3057\u307e\u3057\u305f
+ExtractUnallocAction.done.errMsg.title=\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractUnallocAction.done.errMsg.msg=\u6b21\u306e\u672a\u4f7f\u7528\u9818\u57df\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+ExtractAction.done.notifyMsg.extractErr=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+OptionsCategory_Name_ExternalViewer=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc
+OptionsCategory_Keywords_ExternalViewer=ExternalViewer
+ExternalViewerGlobalSettingsPanel.exePathLabel.MIME.text=\u3053\u306eMIME\u30bf\u30a4\u30d7\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30d7\u30ed\u30b0\u30e9\u30e0
+ExternalViewerGlobalSettingsPanel.exePathLabel.EXT.text=\u3053\u306e\u62e1\u5f35\u5b50\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30d7\u30ed\u30b0\u30e9\u30e0
+ExternalViewerGlobalSettingsPanel.exePathLabel.empty.text=MIME\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+AddExternalViewerRuleDialog.saveButton.title=\u4fdd\u5b58
+AddExternalViewerRuleDialog.cancelButton.title=\u53d6\u308a\u6d88\u3057
+AddExternalViewerRuleDialog.title=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.message=MIME \u30bf\u30a4\u30d7\u304c\u7121\u52b9\u3067\u3059\u3002[\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u30aa\u30d7\u30b7\u30e7\u30f3] \u30d1\u30cd\u30eb\u306b\u30ab\u30b9\u30bf\u30e0\u30bf\u30a4\u30d7\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.title=\u7121\u52b9\u306aMIME\u30bf\u30a4\u30d7
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.message=\u62e1\u5f35\u5b50\u304c\u7121\u52b9\u3067\u3059\u3002
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.title=\u7121\u52b9\u306a\u62e1\u5f35\u5b50
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.message=\u5b9f\u884c\u53ef\u80fd\u306a\u30d7\u30ed\u30b0\u30e9\u30e0\u3078\u306e\u30d1\u30b9\u304c\u7121\u52b9\u3067\u3059
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.title=\u7121\u52b9\u306a\u30d1\u30b9
+ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.message=\u3053\u306eMIME\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50\u306e\u30eb\u30fc\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u30eb\u30fc\u30eb\u3092\u7de8\u96c6\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.title=\u30eb\u30fc\u30eb\u306f\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+AddExternalViewerRulePanel.mimeRadioButton.text=MIME\u30bf\u30a4\u30d7
+AddExternalViewerRulePanel.nameTextField.text=
+AddExternalViewerRulePanel.nameLabel.text=MIME\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50
+AddExternalViewerRulePanel.browseButton.text=\u53c2\u7167
+AddExternalViewerRulePanel.exePathTextField.text=
+AddExternalViewerRulePanel.exePathLabel.text=\u3053\u306e\u30bf\u30a4\u30d7\u307e\u305f\u306f\u62e1\u5f35\u5b50\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u4f7f\u7528\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u30d1\u30b9
+AddExternalViewerRulePanel.extRadioButton.text=\u62e1\u5f35\u5b50
+GroupDataSourcesDialog.dataSourceCountLabel.text=jLabel1
+GroupDataSourcesDialog.queryLabel.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5225\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u3066\u8aad\u307f\u8fbc\u307f\u3092\u65e9\u304f\u3057\u307e\u3059\u304b?
+GroupDataSourcesDialog.yesButton.text=\u306f\u3044
+GroupDataSourcesDialog.noButton.text=\u3044\u3044\u3048
+GroupDataSourcesDialog.title=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5225\u306b\u30b0\u30eb\u30fc\u30d7\u5316\u3057\u307e\u3059\u304b?
+DirectoryTreeTopComponent.openViewPreferencesButton.text=
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3=\u30bf\u30a4\u30c8\u30eb4
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2=\u30bf\u30a4\u30c8\u30eb3
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3_1=\u30bf\u30a4\u30c8\u30eb4
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2_1=\u30bf\u30a4\u30c8\u30eb3
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.editRuleButton.text=\u30eb\u30fc\u30eb\u3092\u7de8\u96c6
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=\u30eb\u30fc\u30eb\u3092\u524a\u9664
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u306e\u30ab\u30b9\u30bf\u30e0\u30eb\u30fc\u30eb\u3092\u8ffd\u52a0:
+ExternalViewerGlobalSettingsPanel.newRuleButton.text=\u65b0\u898f\u30eb\u30fc\u30eb
+ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=\u53c2\u7167
+ExternalViewerGlobalSettingsPanel.HxDLabel.text=HxD\u30a8\u30c7\u30a3\u30bf\u30fc\u30d1\u30b9:
+ExternalViewerGlobalSettingsPanel.ContentViewerExtensionLabel.text=\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30ef\u30fc\u306e\u62e1\u5f35\u5b50\u3092\u8ffd\u52a0:
diff --git a/Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties
index ec61e857ea..e00b218ce5 100644
--- a/Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/events/Bundle_ja.properties
@@ -1,10 +1,10 @@
-MessageServiceConnectionInfo.ConnectionCheck.Everything=\u30DB\u30B9\u30C8\u540D\u3001\u30DD\u30FC\u30C8\u756A\u53F7\u3001\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u7121\u52B9\u3067\u3059
-MessageServiceConnectionInfo.ConnectionCheck.Hostname=\u7121\u52B9\u306A\u30DB\u30B9\u30C8\u540D
-MessageServiceConnectionInfo.ConnectionCheck.Port=\u7121\u52B9\u306A\u30DD\u30FC\u30C8\u756A\u53F7
-MessageServiceConnectionInfo.ConnectionCheck.Username=\u7121\u52B9\u306A\u30E6\u30FC\u30B6\u30FC\u540D
-MessageServiceConnectionInfo.ConnectionCheck.Password=\u7121\u52B9\u306A\u30D1\u30B9\u30EF\u30FC\u30C9
-MessageServiceConnectionInfo.ConnectionCheck.UsernameAndPassword=\u7121\u52B9\u306A\u30E6\u30FC\u30B6\u30FC\u540D\u307E\u305F\u306F\u30D1\u30B9\u30EF\u30FC\u30C9
-MessageServiceConnectionInfo.ConnectionCheck.HostnameOrPort=\u7121\u52B9\u306A\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306F\u30DD\u30FC\u30C8\u756A\u53F7
-MessageServiceConnectionInfo.MissingHostname=\u30DB\u30B9\u30C8\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
-MessageServiceConnectionInfo.MissingUsername=\u30E6\u30FC\u30B6\u30FC\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002
-MessageServiceConnectionInfo.MissingPassword=\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5FC5\u8981\u3067\u3059\u3002
\ No newline at end of file
+MessageServiceConnectionInfo.ConnectionCheck.Everything=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u3001\u30dd\u30fc\u30c8\u756a\u53f7\u3001\u30e6\u30fc\u30b6\u30fc\u540d\u3001\u304a\u3088\u3073/\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.Hostname=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.Port=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.Username=\u7121\u52b9\u306a\u30e6\u30fc\u30b6\u30fc\u540d\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.Password=\u7121\u52b9\u306a\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.UsernameAndPassword=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u304a\u3088\u3073/\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u3002
+MessageServiceConnectionInfo.ConnectionCheck.HostnameOrPort=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u304a\u3088\u3073/\u307e\u305f\u306f\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
+MessageServiceConnectionInfo.MissingHostname=\u30db\u30b9\u30c8\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+MessageServiceConnectionInfo.MissingUsername=\u30e6\u30fc\u30b6\u30fc\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+MessageServiceConnectionInfo.MissingPassword=\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/examples/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/examples/Bundle_ja.properties
new file mode 100644
index 0000000000..8fc0db1332
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/examples/Bundle_ja.properties
@@ -0,0 +1,6 @@
+SampleContentViewer.jLabel1.text=jLabel1
+SampleIngestModuleFactory.moduleName=\u30b5\u30f3\u30d7\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
+SampleIngestModuleFactory.moduleDescription=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u8005\u306e\u30b5\u30f3\u30d7\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002
+SampleIngestModuleIngestJobSettingsPanel.skipKnownFilesCheckBox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb(NSRL)\u3092\u30b9\u30ad\u30c3\u30d7
+SampleIngestModuleFactory.moduleName=\u30b5\u30f3\u30d7\u30eb\u5b9f\u884c\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
+SampleExecutableIngestModuleFactory.moduleDescription=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u958b\u767a\u8005\u306e\u30b5\u30f3\u30d7\u30eb\u5b9f\u884c\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u3057\u3066\u6a5f\u80fd\u3057\u307e\u3059\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ja.properties
index 401f521568..9da6f45334 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ja.properties
@@ -1,50 +1,74 @@
-OpenIDE-Module-Name=\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-KnownStatusSearchPanel.knownCheckBox.text=\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9\uff1a
-KnownStatusSearchPanel.knownBadOptionCheckBox.text=\u65e2\u77e5\u306e\u60aa\u8cea
-KnownStatusSearchPanel.knownOptionCheckBox.text=\u65e2\u77e5\uff08NSRL\u307e\u305f\u306f\u305d\u306e\u4ed6\uff09
+DataSourceFilter.errorMessage.emptyDataSource=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+DateSearchFilter.errorMessage.endDateBeforeStartDate=\u7d42\u4e86\u65e5\u306f\u958b\u59cb\u65e5\u3088\u308a\u5f8c\u306e\u65e5\u4ed8\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+DataSourceFilter.errorMessage.emptyDataSource=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u306e\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FileSearchPanel.emptyNode.display.text=\u8a72\u5f53\u3059\u308b\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+HashSearchFilter.errorMessage.emptyHash=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u304c\u7a7a(\u672a\u5165\u529b)\u3067\u3059\u3002
+HashSearchFilter.errorMessage.wrongCharacter=MD5\u306b\u7121\u52b9\u306a16\u9032\u6570\u6587\u5b57\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
+# {0} - \u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u9577
+HashSearchFilter.errorMessage.wrongLength=\u5165\u529b\u306e\u9577\u3055({0}) \u304cMD5\u306e\u9577\u3055(32)\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002
+KnownStatusSearchFilter.errorMessage.noKnownStatusCheckboxSelected=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u65e2\u77e5\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+MimeTypeFilter.errorMessage.emptyMimeType=\u5c11\u306a\u304f\u3068\u30821\u3064\u306eMIME\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+NameSearchFilter.errorMessage.emtpyName=\u691c\u7d22\u3059\u308b\u540d\u524d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+OpenIDE-Module-Name=FileSearch
+KnownStatusSearchPanel.knownCheckBox.text=\u65e2\u77e5\u306e\u30b9\u30c6\u30fc\u30bf\u30b9:
+KnownStatusSearchPanel.knownBadOptionCheckBox.text=\u9855\u8457
+KnownStatusSearchPanel.knownOptionCheckBox.text=\u65e2\u77e5(NSRL\u307e\u305f\u306f\u305d\u306e\u4ed6)
KnownStatusSearchPanel.unknownOptionCheckBox.text=\u4e0d\u660e
-DateSearchFilter.noneSelectedMsg.text=\u6700\u4f4e\u4e00\u3064\u306e\u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff01
-DateSearchPanel.dateCheckBox.text=\u65e5\u4ed8\uff1a
-DateSearchPanel.jLabel4.text=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\uff1a
-DateSearchPanel.jLabel3.text=*\u65e5\u4ed8\u306e\u5f62\u5f0f\u306fmm/dd/yyyy
-DateSearchPanel.jLabel2.text=*\u7a7a\u767d\u306e\u9805\u76ee\u306f\u300c\u5236\u9650\u306a\u3057\u300d\u3068\u3044\u3046\u610f\u5473\u3067\u3059
+DateSearchFilter.noneSelectedMsg.text=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093!
+DateSearchPanel.dateCheckBox.text=\u65e5\u4ed8:
+DateSearchPanel.jLabel4.text=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3:
+DateSearchPanel.jLabel3.text=*\u65e5\u4ed8\u5f62\u5f0f\u306fmm/dd/yyyy\u3067\u3059
+DateSearchPanel.jLabel2.text=*\u7a7a(\u672a\u5165\u529b)\u306e\u30d5\u30a3\u30fc\u30c9\u306f\u300c\u5236\u9650\u306a\u3057\u300d\u3092\u610f\u5473\u3057\u307e\u3059
DateSearchPanel.createdCheckBox.text=\u4f5c\u6210\u6e08\u307f
DateSearchPanel.accessedCheckBox.text=\u30a2\u30af\u30bb\u30b9\u6e08\u307f
DateSearchPanel.changedCheckBox.text=\u5909\u66f4\u6e08\u307f
DateSearchPanel.modifiedCheckBox.text=\u4fee\u6b63\u6e08\u307f
-DateSearchPanel.jLabel1.text=to
-NameSearchPanel.nameCheckBox.text=\u540d\u524d\uff1a
-NameSearchPanel.noteNameLabel.text=*\u6ce8\u610f\uff1a\u540d\u524d\u30de\u30c3\u30c1\u306f\u5927\u6587\u5b57\u3068\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3057\u307e\u3059\u3002\u307e\u305f\u3001
\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u3044\u304b\u306a\u308b\u90e8\u5206\u3082\u30de\u30c3\u30c1\u3057\u307e\u3059\u3002\u6b63\u898f\u8868\u73fe\u306f
\u73fe\u5728\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-SizeSearchPanel.sizeCheckBox.text=\u30b5\u30a4\u30ba\uff1a
-NameSearchPanel.cutMenuItem.text=\u30ab\u30c3\u30c8
+DateSearchPanel.jLabel1.text=\u5b9b\u5148
+NameSearchPanel.nameCheckBox.text=\u540d\u524d:
+NameSearchPanel.noteNameLabel.text=*\u6ce8: \u540d\u524d\u7167\u5408\u306f\u5927\u6587\u5b57\u5c0f\u6587\u5b57\u3092\u533a\u5225\u305b\u305a\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u4e00\u90e8\u3068\u7167\u5408\u3057\u307e\u3059\u3002\u6b63\u898f\u8868\u73fe\u306f\u73fe\u5728\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+NameSearchPanel.searchTextField.text=
+SizeSearchFilter.errorMessage.nonNegativeNumber=\u5165\u529b\u30b5\u30a4\u30ba\u30c7\u30fc\u30bf\u306f\u8ca0\u306e\u6570\u3067\u3059\u3002
+SizeSearchFilter.errorMessage.notANumber=\u5165\u529b\u30b5\u30a4\u30ba\u30c7\u30fc\u30bf\u306f\u6570\u5b57\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+SizeSearchPanel.sizeCheckBox.text=\u30b5\u30a4\u30ba:
+NameSearchPanel.cutMenuItem.text=\u5207\u308a\u53d6\u308a
NameSearchPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
NameSearchPanel.pasteMenuItem.text=\u8cbc\u308a\u4ed8\u3051
NameSearchPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
SizeSearchPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
SizeSearchPanel.pasteMenuItem.text=\u8cbc\u308a\u4ed8\u3051
SizeSearchPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
-SizeSearchPanel.cutMenuItem.text=\u30ab\u30c3\u30c8
-DateSearchPanel.cutMenuItem.text=\u30ab\u30c3\u30c8
+SizeSearchPanel.cutMenuItem.text=\u5207\u308a\u53d6\u308a
+DateSearchPanel.cutMenuItem.text=\u5207\u308a\u53d6\u308a
DateSearchPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
DateSearchPanel.pasteMenuItem.text=\u8cbc\u308a\u4ed8\u3051
DateSearchPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
-FileSearchAction.getName.text=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-FileSearchDialog.frame.title=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-FileSearchDialog.frame.msg=\u5c5e\u6027\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-FileSearchPanel.custComp.label.text=\u6b21\u306e\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\uff1a
+FileSearchAction.getName.text=\u5c5e\u6027\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+FileSearchDialog.frame.title=\u5c5e\u6027\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+FileSearchDialog.frame.msg=\u5c5e\u6027\u5225\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+FileSearchPanel.custComp.label.text=\u6b21\u306e\u6761\u4ef6\u306b\u4e00\u81f4\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22:
FileSearchPanel.filterTitle.name=\u540d\u524d
FileSearchPanel.filterTitle.metadata=\u30e1\u30bf\u30c7\u30fc\u30bf
-FileSearchPanel.filterTitle.knownStatus=\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9
-FileSearchPanel.search.results.title=\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u7d50\u679c{0}
-FileSearchPanel.search.results.pathText=\u30d5\u30a1\u30a4\u30eb\u540d\u691c\u7d22\u7d50\u679c\uff1a
-FileSearchPanel.search.results.msg=\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\uff1a{0}\u500b\u306e\u30de\u30c3\u30c1\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
-FileSearchPanel.search.results.details=\u591a\u304f\u306e\u30de\u30c3\u30c1\u304c\u3042\u308b\u5834\u5408\u3001\u4e00\u90e8\u306e\u51e6\u7406\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3092\u4e0e\u3048\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093
-FileSearchPanel.search.exception.noFilterSelected.msg=\u6700\u4f4e\uff11\u500b\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-FileSearchPanel.search.validationErr.msg=\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\uff1a{0}
-FileSearchPanel.emptyWhereClause.text=\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002\u8868\u793a\u3059\u308b\u3082\u306e\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-KnownStatusSearchFilter.noneSelectedMsg.text=\u6700\u4f4e\uff11\u500b\u306e\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\uff01
-NameSearchFilter.emptyNameMsg.text=\u540d\u524d\u691c\u7d22\u306b\u4f55\u304b\u8a18\u5165\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
+FileSearchPanel.filterTitle.knownStatus=\u65e2\u77e5\u306e\u30b9\u30c6\u30fc\u30bf\u30b9
+FileSearchPanel.search.results.title=\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u7d50\u679c {0}
+FileSearchPanel.search.results.pathText=\u30d5\u30a1\u30a4\u30eb\u540d\u691c\u7d22\u7d50\u679c:
+FileSearchPanel.search.results.msg=\u30d5\u30a1\u30a4\u30eb\u691c\u7d22: \u4e00\u81f4\u3059\u308b\u7d50\u679c\u304c {0} \u4ef6\u898b\u3064\u304b\u308a\u307e\u3057\u305f
+FileSearchPanel.search.results.details=\u4e00\u81f4\u3059\u308b\u7d50\u679c\u6570\u304c\u591a\u3044\u3068\u3001\u4e00\u90e8\u306e\u64cd\u4f5c\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306b\u5f71\u97ff\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+FileSearchPanel.search.exception.noFilterSelected.msg=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FileSearchPanel.search.validationErr.msg=\u691c\u8a3c\u30a8\u30e9\u30fc: {0}
+FileSearchPanel.emptyWhereClause.text=\u7121\u52b9\u306a\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u3059\u3002\u8868\u793a\u3059\u308b\u3082\u306e\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+KnownStatusSearchFilter.noneSelectedMsg.text=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u65e2\u77e5\u306e\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093!
+NameSearchFilter.emptyNameMsg.text=\u540d\u524d\u691c\u7d22\u306b\u4f55\u304b\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
SearchNode.getName.text=\u691c\u7d22\u7d50\u679c
-SizeSearchPanel.sizeCompareComboBox.equalTo=\u4e0b\u8a18\u3068\u7b49\u3057\u3044
-SizeSearchPanel.sizeCompareComboBox.greaterThan=\u4e0b\u8a18\u3088\u308a\u5927\u304d\u3044
-SizeSearchPanel.sizeCompareComboBox.lessThan=\u4e0b\u8a18\u3088\u308a\u5c0f\u3055\u3044
+SizeSearchPanel.sizeCompareComboBox.equalTo=\u76f8\u5f53
+SizeSearchPanel.sizeCompareComboBox.greaterThan=\u4ee5\u4e0a
+SizeSearchPanel.sizeCompareComboBox.lessThan=\u4ee5\u4e0b
+MimeTypePanel.jLabel1.text=*\u6ce8: \u8907\u6570\u306eMIME\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3067\u304d\u307e\u3059
+FileSearchPanel.searchButton.text=\u691c\u7d22
+MimeTypePanel.mimeTypeCheckBox.text=MIME\u30bf\u30a4\u30d7:
+HashSearchPanel.md5CheckBox.text=MD5:
+HashSearchPanel.emptyHashMsg.text=\u30cf\u30c3\u30b7\u30e5\u691c\u7d22\u306b\u4f55\u304b\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+FileSearchPanel.errorLabel.text=\
+DataSourcePanel.dataSourceCheckBox.label=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9:
+DataSourcePanel.dataSourceCheckBox.actionCommand=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9:
+DataSourcePanel.dataSourceCheckBox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9:
+DataSourcePanel.dataSourceNoteLabel.text=*\u6ce8: \u8907\u6570\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u9078\u629e\u3067\u304d\u307e\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties
index 84d4ab700c..5525fed84c 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties
@@ -4,7 +4,6 @@ CTL_GeolocationTopComponent=Geolocation
RefreshPanel.refreshLabel.text=The geolocation data has been updated, the visualization may be out of date.
RefreshPanel.refreshButton.text=Refresh View
RefreshPanel.closeButton.text=
-MapPanel.cordLabel.text=
WaypointDetailPanel.closeButton.text=
WaypointDetailPanel.imageLabel.text=
GeoFilterPanel.waypointSettings.border.title=
@@ -19,14 +18,21 @@ CheckBoxListPanel.uncheckButton.text=Uncheck All
GeoFilterPanel.optionsLabel.text=Waypoints
OptionsCategory_Name_Geolocation=Geolocation
OptionsCategory_Keywords_Geolocation=Geolocation Settings
-GeolocationSettingsPanel.tilePane.border.title=Map Tile Source
+GeolocationSettingsPanel.tilePane.border.title=Map Tile Data Source
OptionsCategory_Keywords_Geolocation=Geolocation
-OptionsCategory_Name_Geolocation=Geolocation
-GeolocationSettingsPanel.defaultButton.text=Default online tile server (bing.com/maps)
-GeolocationSettingsPanel.tileServerButton.text=OpenStreetMap tile server
-GeolocationSettingsPanel.tileServerFiled.text=
-GeolocationSettingsPanel.osmZipButton.text=OpenStreeMap Tile Zip File
-GeolocationSettingsPanel.osmZipFileField.text=
-GeolocationSettingsPanel.osmZipFileBrowseButton.text=Browse
-GeolocationSettingsPanel.serverTestButton.text=Test
-GeolocationSettingsPanel.osmZipButton.actionCommand=OpenStreeMap tile ZIP file
+GeolocationSettingsPanel.mbtileFileField.toolTipText=
+GeolocationSettingsPanel.mbtileFileField.text=
+GeolocationSettingsPanel.defaultDataSource.text=Default online tile server (bing.com/maps)
+GeolocationSettingsPanel.osmServerRBnt.text=OpenStreetMap server
+GeolocationSettingsPanel.zipFileRBnt.text=OpenStreeMap zip file
+GeolocationSettingsPanel.zipFileRBnt.actionCommand=OpenStreeMap tile ZIP file
+GeolocationSettingsPanel.mbtilesRBtn.text=MBTiles file
+GeolocationSettingsPanel.osmServerAddressField.text=
+GeolocationSettingsPanel.zipFilePathField.text=
+GeolocationSettingsPanel.serverTestBtn.text=Test
+GeolocationSettingsPanel.mbtilesBrowseBtn.text=Browse
+GeolocationSettingsPanel.zipFileBrowseBnt.text=Browse
+GeolocationSettingsPanel.mbtileTestBtn.text=Test
+GeolocationTopComponent.reportButton.text=KML Report
+GeolocationTopComponent.coordLabel.text=
+
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties-MERGED
index c69264acae..19ce2c9a59 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties-MERGED
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle.properties-MERGED
@@ -3,6 +3,14 @@ CTL_GeolocationTopComponentAction=GeolocationTopComponent
CTL_GeolocationTopComponent=Geolocation
GeoFilterPanel_DataSource_List_Title=Data Sources
GeoFilterPanel_empty_dataSource=Data Source list is empty.
+GeolocationSettings_mbtile_does_not_exist_message=The file supplied does not exist.\nPlease verify that the file exists and try again.
+GeolocationSettings_mbtile_does_not_exist_title=File Not Found
+GeolocationSettings_mbtile_not_valid_message=The supplied file is not a raster tile file.
+GeolocationSettings_mbtile_not_valid_title=File Not Valid
+GeolocationSettings_mbtile_test_success_message=The supplied file is a valid mbtile raster file.
+GeolocationSettings_mbtile_test_success_title=Success
+GeolocationSettings_path_not_valid_message=The supplied file path is empty.\nPlease supply a valid file path.
+GeolocationSettings_path_not_valid_title=File Not Valid
GeolocationSettingsPanel_malformed_url_message=The supplies OSM tile server address is invalid.\nPlease supply a well formed url prefixed with http://
GeolocationSettingsPanel_malformed_url_message_tile=Malformed URL
GeolocationSettingsPanel_osm_server_test_fail_message=OSM tile server test failed.\nUnable to connect to server.
@@ -11,6 +19,9 @@ GeolocationSettingsPanel_osm_server_test_success_message=The provide OSM tile se
GeolocationSettingsPanel_osm_server_test_success_message_title=Success
GeolocationTC_connection_failure_message=Failed to connect to map title source.\nPlease review map source in Options dialog.
GeolocationTC_connection_failure_message_title=Connection Failure
+GeolocationTC_empty_waypoint_message=Unable to generate KML report due to a lack of waypoints.\nPlease make sure there are waypoints visible before generating the KML report
+GeolocationTC_KML_report_title=KML Report
+GeolocationTC_report_progress_title=KML Report Progress
GeoTopComponent_filer_data_invalid_msg=Unable to run waypoint filter.\nPlease select one or more data sources.
GeoTopComponent_filer_data_invalid_Title=Filter Failure
GeoTopComponent_filter_exception_msg=Exception occured during waypoint filtering.
@@ -28,7 +39,6 @@ OpenGeolocationAction_name=Geolocation
RefreshPanel.refreshLabel.text=The geolocation data has been updated, the visualization may be out of date.
RefreshPanel.refreshButton.text=Refresh View
RefreshPanel.closeButton.text=
-MapPanel.cordLabel.text=
WaypointDetailPanel.closeButton.text=
WaypointDetailPanel.imageLabel.text=
GeoFilterPanel.waypointSettings.border.title=
@@ -43,15 +53,22 @@ CheckBoxListPanel.uncheckButton.text=Uncheck All
GeoFilterPanel.optionsLabel.text=Waypoints
OptionsCategory_Name_Geolocation=Geolocation
OptionsCategory_Keywords_Geolocation=Geolocation Settings
-GeolocationSettingsPanel.tilePane.border.title=Map Tile Source
+GeolocationSettingsPanel.tilePane.border.title=Map Tile Data Source
OptionsCategory_Keywords_Geolocation=Geolocation
-OptionsCategory_Name_Geolocation=Geolocation
-GeolocationSettingsPanel.defaultButton.text=Default online tile server (bing.com/maps)
-GeolocationSettingsPanel.tileServerButton.text=OpenStreetMap tile server
-GeolocationSettingsPanel.tileServerFiled.text=
-GeolocationSettingsPanel.osmZipButton.text=OpenStreeMap Tile Zip File
-GeolocationSettingsPanel.osmZipFileField.text=
-GeolocationSettingsPanel.osmZipFileBrowseButton.text=Browse
-GeolocationSettingsPanel.serverTestButton.text=Test
-GeolocationSettingsPanel.osmZipButton.actionCommand=OpenStreeMap tile ZIP file
+GeolocationSettingsPanel.mbtileFileField.toolTipText=
+GeolocationSettingsPanel.mbtileFileField.text=
+GeolocationSettingsPanel.defaultDataSource.text=Default online tile server (bing.com/maps)
+GeolocationSettingsPanel.osmServerRBnt.text=OpenStreetMap server
+GeolocationSettingsPanel.zipFileRBnt.text=OpenStreeMap zip file
+GeolocationSettingsPanel.zipFileRBnt.actionCommand=OpenStreeMap tile ZIP file
+GeolocationSettingsPanel.mbtilesRBtn.text=MBTiles file
+GeolocationSettingsPanel.osmServerAddressField.text=
+GeolocationSettingsPanel.zipFilePathField.text=
+GeolocationSettingsPanel.serverTestBtn.text=Test
+GeolocationSettingsPanel.mbtilesBrowseBtn.text=Browse
+GeolocationSettingsPanel.zipFileBrowseBnt.text=Browse
+GeolocationSettingsPanel.mbtileTestBtn.text=Test
+GeolocationTopComponent.reportButton.text=KML Report
+GeolocationTopComponent.coordLabel.text=
+
WaypointExtractAction_label=Extract Files(s)
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxJList.java b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxJList.java
index 52276b6046..2f4247f3e6 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxJList.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxJList.java
@@ -68,7 +68,7 @@ final class CheckBoxJList extends JLis
CheckBoxJList() {
initalize();
}
-
+
/**
* Do all of the UI initialization.
*/
@@ -103,6 +103,7 @@ final class CheckBoxJList extends JLis
setBackground(list.getBackground());
setSelected(value.isChecked());
setText(value.getDisplayName());
+ setEnabled(list.isEnabled());
return this;
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.form b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.form
index 112b734f1e..75fb1d4c62 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.form
@@ -37,10 +37,6 @@
-
-
-
-
@@ -56,10 +52,6 @@
-
-
-
-
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.java
index 37dea163f5..0942a9e528 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/CheckBoxListPanel.java
@@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.geolocation;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
+import java.util.Objects;
import javax.swing.DefaultListModel;
import javax.swing.Icon;
@@ -52,7 +53,11 @@ final class CheckBoxListPanel extends javax.swing.JPanel {
* @param obj Object that the checkbox represents
*/
void addElement(String displayName, T obj) {
- model.addElement(new ObjectCheckBox<>(displayName, true, obj));
+ ObjectCheckBox newCheckBox = new ObjectCheckBox<>(displayName, true, obj);
+
+ if(!model.contains(newCheckBox)) {
+ model.addElement(newCheckBox);
+ }
}
/**
@@ -61,6 +66,14 @@ final class CheckBoxListPanel extends javax.swing.JPanel {
void clearList() {
model.removeAllElements();
}
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ checkboxList.setEnabled(enabled);
+ checkButton.setEnabled(enabled);
+ uncheckButton.setEnabled(enabled);
+ checkboxList.setEnabled(enabled);
+ }
/**
* Returns a list of all of the selected elements.
@@ -126,8 +139,8 @@ final class CheckBoxListPanel extends javax.swing.JPanel {
java.awt.GridBagConstraints gridBagConstraints;
titleLabel = new javax.swing.JLabel();
- javax.swing.JButton uncheckButton = new javax.swing.JButton();
- javax.swing.JButton checkButton = new javax.swing.JButton();
+ uncheckButton = new javax.swing.JButton();
+ checkButton = new javax.swing.JButton();
scrollPane = new javax.swing.JScrollPane();
setLayout(new java.awt.GridBagLayout());
@@ -186,8 +199,10 @@ final class CheckBoxListPanel extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton checkButton;
private javax.swing.JScrollPane scrollPane;
private javax.swing.JLabel titleLabel;
+ private javax.swing.JButton uncheckButton;
// End of variables declaration//GEN-END:variables
/**
@@ -234,6 +249,21 @@ final class CheckBoxListPanel extends javax.swing.JPanel {
public String getDisplayName() {
return displayName;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if(obj instanceof ObjectCheckBox) {
+ return object.equals(((ObjectCheckBox)obj).object);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 7;
+ hash = 31 * hash + Objects.hashCode(this.object);
+ return hash;
+ }
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.form b/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.form
index 79a852b4d4..1b80568453 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.form
@@ -115,10 +115,6 @@
-
-
-
-
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.java
index 9e009d1245..51238a033e 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeoFilterPanel.java
@@ -74,6 +74,20 @@ class GeoFilterPanel extends javax.swing.JPanel {
add(checkboxPanel, gridBagConstraints);
}
+ @Override
+ public void setEnabled(boolean enabled) {
+ applyButton.setEnabled(enabled);
+ mostRecentButton.setEnabled(enabled);
+ allButton.setEnabled(enabled);
+ showWaypointsWOTSCheckBox.setEnabled(enabled && mostRecentButton.isSelected());
+ checkboxPanel.setEnabled(enabled);
+ daysLabel.setEnabled(enabled);
+ daysSpinner.setEnabled(enabled);
+ }
+
+ /**
+ * Update the data source list with the current data sources
+ */
void updateDataSourceList() {
try {
initCheckboxList();
@@ -81,6 +95,13 @@ class GeoFilterPanel extends javax.swing.JPanel {
logger.log(Level.WARNING, "Failed to initialize the CheckboxListPane", ex); //NON-NLS
}
}
+
+ /**
+ * Clears the data source list.
+ */
+ void clearDataSourceList() {
+ checkboxPanel.clearList();
+ }
/**
* Adds an actionListener to listen for the filter apply action
@@ -120,8 +141,6 @@ class GeoFilterPanel extends javax.swing.JPanel {
*/
private void initCheckboxList() throws TskCoreException {
final SleuthkitCase sleuthkitCase = Case.getCurrentCase().getSleuthkitCase();
-
- checkboxPanel.clearList();
for (DataSource dataSource : sleuthkitCase.getDataSources()) {
String dsName = sleuthkitCase.getContentById(dataSource.getId()).getName();
@@ -155,7 +174,7 @@ class GeoFilterPanel extends javax.swing.JPanel {
mostRecentButton = new javax.swing.JRadioButton();
showWaypointsWOTSCheckBox = new javax.swing.JCheckBox();
daysSpinner = new javax.swing.JSpinner(numberModel);
- javax.swing.JLabel daysLabel = new javax.swing.JLabel();
+ daysLabel = new javax.swing.JLabel();
javax.swing.JPanel buttonPanel = new javax.swing.JPanel();
applyButton = new javax.swing.JButton();
javax.swing.JLabel optionsLabel = new javax.swing.JLabel();
@@ -272,6 +291,7 @@ class GeoFilterPanel extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JRadioButton allButton;
private javax.swing.JButton applyButton;
+ private javax.swing.JLabel daysLabel;
private javax.swing.JSpinner daysSpinner;
private javax.swing.JRadioButton mostRecentButton;
private javax.swing.JCheckBox showWaypointsWOTSCheckBox;
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.form b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.form
index 0fd5461656..e2121d0772 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.form
@@ -28,7 +28,7 @@
-
+
@@ -46,72 +46,36 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -119,10 +83,46 @@
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -134,33 +134,99 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.java
index 9be1f08927..f66d05c08d 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationSettingsPanel.java
@@ -20,7 +20,9 @@ package org.sleuthkit.autopsy.geolocation;
import java.awt.Color;
import java.io.File;
+import java.sql.SQLException;
import java.util.Arrays;
+import java.util.logging.Level;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import org.apache.commons.validator.routines.UrlValidator;
@@ -32,6 +34,7 @@ import org.openide.util.NbBundle.Messages;
import org.sleuthkit.autopsy.casemodule.GeneralFilter;
import org.sleuthkit.autopsy.core.UserPreferences;
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
+import org.sleuthkit.autopsy.coreutils.Logger;
/**
* A panel to allow the user to set the custom properties of the geolocation
@@ -41,6 +44,8 @@ import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
final class GeolocationSettingsPanel extends javax.swing.JPanel implements OptionsPanel {
private static final long serialVersionUID = 1L;
+
+ private static final Logger logger = Logger.getLogger(GeolocationSettingsPanel.class.getName());
/**
* Creates new GeolocationSettingsPanel
@@ -52,24 +57,29 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
@Override
public void store() {
- UserPreferences.setGeolocationTileOption(getServerOption().getValue());
- UserPreferences.setGeolocationOsmZipPath(osmZipFileField.getText());
- UserPreferences.setGeolocationOsmServerAddress(tileServerFiled.getText());
+ UserPreferences.setGeolocationTileOption(getDataSourceOption().getValue());
+ UserPreferences.setGeolocationOsmZipPath(zipFilePathField.getText());
+ UserPreferences.setGeolocationOsmServerAddress(osmServerAddressField.getText());
+ UserPreferences.setGeolocationMBTilesFilePath(mbtileFileField.getText());
}
@Override
public void load() {
- tileServerFiled.setText(UserPreferences.getGeolocationOsmServerAddress());
- osmZipFileField.setText(UserPreferences.getGeolocationOsmZipPath());
- switch (GeolocationTileOption.getOptionForValue(UserPreferences.getGeolocationtTileOption())) {
+ osmServerAddressField.setText(UserPreferences.getGeolocationOsmServerAddress());
+ zipFilePathField.setText(UserPreferences.getGeolocationOsmZipPath());
+ mbtileFileField.setText(UserPreferences.getGeolocationMBTilesFilePath());
+ switch (GeolocationDataSourceType.getOptionForValue(UserPreferences.getGeolocationtTileOption())) {
case ONLINE_USER_DEFINED_OSM_SERVER:
- tileServerButton.setSelected(true);
+ osmServerRBnt.setSelected(true);
break;
case OFFLINE_OSM_ZIP:
- osmZipButton.setSelected(true);
+ zipFileRBnt.setSelected(true);
+ break;
+ case OFFILE_MBTILES_FILE:
+ mbtilesRBtn.setSelected(true);
break;
default:
- defaultButton.setSelected(true);
+ defaultDataSource.setSelected(true);
break;
}
@@ -81,10 +91,13 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
* selection state.
*/
private void updateControlState() {
- tileServerFiled.setEnabled(tileServerButton.isSelected());
- serverTestButton.setEnabled(tileServerButton.isSelected());
- osmZipFileField.setEnabled(osmZipButton.isSelected());
- osmZipFileBrowseButton.setEnabled(osmZipButton.isSelected());
+ osmServerAddressField.setEnabled(osmServerRBnt.isSelected());
+ serverTestBtn.setEnabled(osmServerRBnt.isSelected());
+ zipFilePathField.setEnabled(zipFileRBnt.isSelected());
+ zipFileBrowseBnt.setEnabled(zipFileRBnt.isSelected());
+ mbtileFileField.setEnabled(mbtilesRBtn.isSelected());
+ mbtilesBrowseBtn.setEnabled(mbtilesRBtn.isSelected());
+ mbtileTestBtn.setEnabled(mbtilesRBtn.isSelected());
}
/**
@@ -93,13 +106,15 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
*
* @return Current GEOLOCATION_TILE_OPTION
*/
- private GeolocationTileOption getServerOption() {
- if (tileServerButton.isSelected()) {
- return GeolocationTileOption.ONLINE_USER_DEFINED_OSM_SERVER;
- } else if (osmZipButton.isSelected()) {
- return GeolocationTileOption.OFFLINE_OSM_ZIP;
+ private GeolocationDataSourceType getDataSourceOption() {
+ if (osmServerRBnt.isSelected()) {
+ return GeolocationDataSourceType.ONLINE_USER_DEFINED_OSM_SERVER;
+ } else if (zipFileRBnt.isSelected()) {
+ return GeolocationDataSourceType.OFFLINE_OSM_ZIP;
+ } else if (mbtilesRBtn.isSelected()) {
+ return GeolocationDataSourceType.OFFILE_MBTILES_FILE;
}
- return GeolocationTileOption.ONLINE_DEFAULT_SERVER;
+ return GeolocationDataSourceType.ONLINE_DEFAULT_SERVER;
}
/**
@@ -135,105 +150,159 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
javax.swing.ButtonGroup buttonGroup = new javax.swing.ButtonGroup();
javax.swing.JPanel tilePane = new javax.swing.JPanel();
- defaultButton = new javax.swing.JRadioButton();
- tileServerButton = new javax.swing.JRadioButton();
- tileServerFiled = new javax.swing.JTextField();
- osmZipButton = new javax.swing.JRadioButton();
- osmZipFileField = new javax.swing.JTextField();
- osmZipFileBrowseButton = new javax.swing.JButton();
- serverTestButton = new javax.swing.JButton();
+ defaultDataSource = new javax.swing.JRadioButton();
+ osmServerRBnt = new javax.swing.JRadioButton();
+ osmServerAddressField = new javax.swing.JTextField();
+ zipFileRBnt = new javax.swing.JRadioButton();
+ zipFilePathField = new javax.swing.JTextField();
+ zipFileBrowseBnt = new javax.swing.JButton();
+ serverTestBtn = new javax.swing.JButton();
+ mbtilesRBtn = new javax.swing.JRadioButton();
+ mbtileFileField = new javax.swing.JTextField();
+ mbtilesBrowseBtn = new javax.swing.JButton();
+ mbtileTestBtn = new javax.swing.JButton();
setLayout(new java.awt.GridBagLayout());
tilePane.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.tilePane.border.title"))); // NOI18N
tilePane.setLayout(new java.awt.GridBagLayout());
- buttonGroup.add(defaultButton);
- defaultButton.setSelected(true);
- org.openide.awt.Mnemonics.setLocalizedText(defaultButton, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.defaultButton.text")); // NOI18N
- defaultButton.addActionListener(new java.awt.event.ActionListener() {
+ buttonGroup.add(defaultDataSource);
+ defaultDataSource.setSelected(true);
+ org.openide.awt.Mnemonics.setLocalizedText(defaultDataSource, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.defaultDataSource.text")); // NOI18N
+ defaultDataSource.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- defaultButtonActionPerformed(evt);
+ defaultDataSourceActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0;
- gridBagConstraints.gridwidth = 3;
+ gridBagConstraints.gridwidth = 4;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0);
- tilePane.add(defaultButton, gridBagConstraints);
+ gridBagConstraints.insets = new java.awt.Insets(9, 0, 9, 0);
+ tilePane.add(defaultDataSource, gridBagConstraints);
- buttonGroup.add(tileServerButton);
- org.openide.awt.Mnemonics.setLocalizedText(tileServerButton, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.tileServerButton.text")); // NOI18N
- tileServerButton.addActionListener(new java.awt.event.ActionListener() {
+ buttonGroup.add(osmServerRBnt);
+ org.openide.awt.Mnemonics.setLocalizedText(osmServerRBnt, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmServerRBnt.text")); // NOI18N
+ osmServerRBnt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- tileServerButtonActionPerformed(evt);
- }
- });
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
- gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0);
- tilePane.add(tileServerButton, gridBagConstraints);
-
- tileServerFiled.setText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.tileServerFiled.text")); // NOI18N
- tileServerFiled.setPreferredSize(new java.awt.Dimension(300, 26));
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0);
- tilePane.add(tileServerFiled, gridBagConstraints);
-
- buttonGroup.add(osmZipButton);
- org.openide.awt.Mnemonics.setLocalizedText(osmZipButton, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmZipButton.text")); // NOI18N
- osmZipButton.setActionCommand(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmZipButton.actionCommand")); // NOI18N
- osmZipButton.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- osmZipButtonActionPerformed(evt);
+ osmServerRBntActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
- tilePane.add(osmZipButton, gridBagConstraints);
+ tilePane.add(osmServerRBnt, gridBagConstraints);
- osmZipFileField.setText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmZipFileField.text")); // NOI18N
- osmZipFileField.setPreferredSize(new java.awt.Dimension(300, 26));
+ osmServerAddressField.setText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmServerAddressField.text")); // NOI18N
+ osmServerAddressField.setPreferredSize(new java.awt.Dimension(300, 26));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 1;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
+ tilePane.add(osmServerAddressField, gridBagConstraints);
+
+ buttonGroup.add(zipFileRBnt);
+ org.openide.awt.Mnemonics.setLocalizedText(zipFileRBnt, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.zipFileRBnt.text")); // NOI18N
+ zipFileRBnt.setActionCommand(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.zipFileRBnt.actionCommand")); // NOI18N
+ zipFileRBnt.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ zipFileRBntActionPerformed(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
+ tilePane.add(zipFileRBnt, gridBagConstraints);
+
+ zipFilePathField.setText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.zipFilePathField.text")); // NOI18N
+ zipFilePathField.setPreferredSize(new java.awt.Dimension(300, 26));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
- tilePane.add(osmZipFileField, gridBagConstraints);
+ tilePane.add(zipFilePathField, gridBagConstraints);
- org.openide.awt.Mnemonics.setLocalizedText(osmZipFileBrowseButton, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.osmZipFileBrowseButton.text")); // NOI18N
- osmZipFileBrowseButton.addActionListener(new java.awt.event.ActionListener() {
+ org.openide.awt.Mnemonics.setLocalizedText(zipFileBrowseBnt, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.zipFileBrowseBnt.text")); // NOI18N
+ zipFileBrowseBnt.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- osmZipFileBrowseButtonActionPerformed(evt);
+ zipFileBrowseBntActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
- gridBagConstraints.weightx = 1.0;
gridBagConstraints.insets = new java.awt.Insets(0, 9, 9, 9);
- tilePane.add(osmZipFileBrowseButton, gridBagConstraints);
+ tilePane.add(zipFileBrowseBnt, gridBagConstraints);
- org.openide.awt.Mnemonics.setLocalizedText(serverTestButton, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.serverTestButton.text")); // NOI18N
- serverTestButton.addActionListener(new java.awt.event.ActionListener() {
+ org.openide.awt.Mnemonics.setLocalizedText(serverTestBtn, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.serverTestBtn.text")); // NOI18N
+ serverTestBtn.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
- serverTestButtonActionPerformed(evt);
+ serverTestBtnActionPerformed(evt);
}
});
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 1;
+ gridBagConstraints.ipadx = 20;
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
gridBagConstraints.insets = new java.awt.Insets(0, 9, 9, 9);
- tilePane.add(serverTestButton, gridBagConstraints);
+ tilePane.add(serverTestBtn, gridBagConstraints);
+
+ buttonGroup.add(mbtilesRBtn);
+ org.openide.awt.Mnemonics.setLocalizedText(mbtilesRBtn, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.mbtilesRBtn.text")); // NOI18N
+ mbtilesRBtn.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ mbtilesRBtnActionPerformed(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
+ tilePane.add(mbtilesRBtn, gridBagConstraints);
+
+ mbtileFileField.setText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.mbtileFileField.text")); // NOI18N
+ mbtileFileField.setToolTipText(org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.mbtileFileField.toolTipText")); // NOI18N
+ mbtileFileField.setPreferredSize(new java.awt.Dimension(300, 26));
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.insets = new java.awt.Insets(0, 0, 9, 0);
+ tilePane.add(mbtileFileField, gridBagConstraints);
+
+ org.openide.awt.Mnemonics.setLocalizedText(mbtilesBrowseBtn, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.mbtilesBrowseBtn.text")); // NOI18N
+ mbtilesBrowseBtn.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ mbtilesBrowseBtnActionPerformed(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.insets = new java.awt.Insets(0, 9, 9, 9);
+ tilePane.add(mbtilesBrowseBtn, gridBagConstraints);
+
+ org.openide.awt.Mnemonics.setLocalizedText(mbtileTestBtn, org.openide.util.NbBundle.getMessage(GeolocationSettingsPanel.class, "GeolocationSettingsPanel.mbtileTestBtn.text")); // NOI18N
+ mbtileTestBtn.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ mbtileTestBtnActionPerformed(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 3;
+ gridBagConstraints.gridy = 3;
+ gridBagConstraints.ipadx = 20;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
+ gridBagConstraints.weightx = 1.0;
+ tilePane.add(mbtileTestBtn, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
@@ -243,7 +312,7 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
add(tilePane, gridBagConstraints);
}// //GEN-END:initComponents
- private void osmZipFileBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_osmZipFileBrowseButtonActionPerformed
+ private void zipFileBrowseBntActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zipFileBrowseBntActionPerformed
JFileChooser fileWindow = new JFileChooser();
fileWindow.setFileSelectionMode(JFileChooser.FILES_ONLY);
GeneralFilter fileFilter = new GeneralFilter(Arrays.asList(".zip"), "Zips (*.zip)"); //NON-NLS
@@ -253,26 +322,26 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
int returnVal = fileWindow.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File zipFile = fileWindow.getSelectedFile();
- osmZipFileField.setForeground(Color.BLACK);
- osmZipFileField.setText(zipFile.getAbsolutePath());
+ zipFilePathField.setForeground(Color.BLACK);
+ zipFilePathField.setText(zipFile.getAbsolutePath());
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
}
- }//GEN-LAST:event_osmZipFileBrowseButtonActionPerformed
+ }//GEN-LAST:event_zipFileBrowseBntActionPerformed
- private void defaultButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_defaultButtonActionPerformed
+ private void defaultDataSourceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_defaultDataSourceActionPerformed
updateControlState();
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
- }//GEN-LAST:event_defaultButtonActionPerformed
+ }//GEN-LAST:event_defaultDataSourceActionPerformed
- private void tileServerButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tileServerButtonActionPerformed
+ private void osmServerRBntActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_osmServerRBntActionPerformed
updateControlState();
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
- }//GEN-LAST:event_tileServerButtonActionPerformed
+ }//GEN-LAST:event_osmServerRBntActionPerformed
- private void osmZipButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_osmZipButtonActionPerformed
+ private void zipFileRBntActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_zipFileRBntActionPerformed
updateControlState();
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
- }//GEN-LAST:event_osmZipButtonActionPerformed
+ }//GEN-LAST:event_zipFileRBntActionPerformed
@Messages({
"GeolocationSettingsPanel_malformed_url_message=The supplies OSM tile server address is invalid.\nPlease supply a well formed url prefixed with http://",
@@ -281,8 +350,8 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
"GeolocationSettingsPanel_osm_server_test_fail_message_title=Error",
"GeolocationSettingsPanel_osm_server_test_success_message=The provide OSM tile server address is valid.",
"GeolocationSettingsPanel_osm_server_test_success_message_title=Success",})
- private void serverTestButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_serverTestButtonActionPerformed
- String address = tileServerFiled.getText();
+ private void serverTestBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_serverTestBtnActionPerformed
+ String address = osmServerAddressField.getText();
String message = Bundle.GeolocationSettingsPanel_osm_server_test_fail_message();
String title = Bundle.GeolocationSettingsPanel_osm_server_test_fail_message_title();
@@ -297,31 +366,95 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
}
JOptionPane.showMessageDialog(this, message, title, JOptionPane.INFORMATION_MESSAGE);
- }//GEN-LAST:event_serverTestButtonActionPerformed
+ }//GEN-LAST:event_serverTestBtnActionPerformed
+
+ private void mbtilesRBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mbtilesRBtnActionPerformed
+ updateControlState();
+ firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
+ }//GEN-LAST:event_mbtilesRBtnActionPerformed
+
+ private void mbtilesBrowseBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mbtilesBrowseBtnActionPerformed
+ JFileChooser fileWindow = new JFileChooser();
+ fileWindow.setFileSelectionMode(JFileChooser.FILES_ONLY);
+ GeneralFilter fileFilter = new GeneralFilter(Arrays.asList(".mbtiles"), "MBTiles (*.mbtiles)"); //NON-NLS
+ fileWindow.setDragEnabled(false);
+ fileWindow.setFileFilter(fileFilter);
+ fileWindow.setMultiSelectionEnabled(false);
+ int returnVal = fileWindow.showSaveDialog(this);
+ if (returnVal == JFileChooser.APPROVE_OPTION) {
+ File zipFile = fileWindow.getSelectedFile();
+ mbtileFileField.setForeground(Color.BLACK);
+ mbtileFileField.setText(zipFile.getAbsolutePath());
+ firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
+ }
+ }//GEN-LAST:event_mbtilesBrowseBtnActionPerformed
+
+ @Messages({
+ "GeolocationSettings_mbtile_does_not_exist_message=The file supplied does not exist.\nPlease verify that the file exists and try again.",
+ "GeolocationSettings_mbtile_does_not_exist_title=File Not Found",
+ "GeolocationSettings_mbtile_not_valid_message=The supplied file is not a raster tile file.",
+ "GeolocationSettings_mbtile_not_valid_title=File Not Valid",
+ "GeolocationSettings_path_not_valid_message=The supplied file path is empty.\nPlease supply a valid file path.",
+ "GeolocationSettings_path_not_valid_title=File Not Valid",
+ "GeolocationSettings_mbtile_test_success_message=The supplied file is a valid mbtile raster file.",
+ "GeolocationSettings_mbtile_test_success_title=Success",
+ })
+ private void mbtileTestBtnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mbtileTestBtnActionPerformed
+ String mbtilePath = mbtileFileField.getText();
+
+ if(mbtilePath.isEmpty()) {
+ JOptionPane.showMessageDialog(this, Bundle.GeolocationSettings_path_not_valid_message(), Bundle.GeolocationSettings_path_not_valid_title(), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ File file = new File(mbtilePath);
+ if(!file.exists()) {
+ JOptionPane.showMessageDialog(this, Bundle.GeolocationSettings_mbtile_does_not_exist_message(), Bundle.GeolocationSettings_mbtile_does_not_exist_title(), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ try {
+ if(!MBTilesFileConnector.isValidMBTileRasterFile(mbtilePath)) {
+ JOptionPane.showMessageDialog(this, Bundle.GeolocationSettings_mbtile_not_valid_message(), Bundle.GeolocationSettings_mbtile_not_valid_title(), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ } catch (SQLException ex) {
+ JOptionPane.showMessageDialog(this, Bundle.GeolocationSettings_mbtile_not_valid_message(), Bundle.GeolocationSettings_mbtile_not_valid_title(), JOptionPane.ERROR_MESSAGE);
+ logger.log(Level.WARNING, String.format("Exception thrown while testing mbtile file %s", mbtilePath), ex);
+ return;
+ }
+
+ JOptionPane.showMessageDialog(this, Bundle.GeolocationSettings_mbtile_test_success_message(), Bundle.GeolocationSettings_mbtile_test_success_title(), JOptionPane.INFORMATION_MESSAGE);
+ }//GEN-LAST:event_mbtileTestBtnActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JRadioButton defaultButton;
- private javax.swing.JRadioButton osmZipButton;
- private javax.swing.JButton osmZipFileBrowseButton;
- private javax.swing.JTextField osmZipFileField;
- private javax.swing.JButton serverTestButton;
- private javax.swing.JRadioButton tileServerButton;
- private javax.swing.JTextField tileServerFiled;
+ private javax.swing.JRadioButton defaultDataSource;
+ private javax.swing.JTextField mbtileFileField;
+ private javax.swing.JButton mbtileTestBtn;
+ private javax.swing.JButton mbtilesBrowseBtn;
+ private javax.swing.JRadioButton mbtilesRBtn;
+ private javax.swing.JTextField osmServerAddressField;
+ private javax.swing.JRadioButton osmServerRBnt;
+ private javax.swing.JButton serverTestBtn;
+ private javax.swing.JButton zipFileBrowseBnt;
+ private javax.swing.JTextField zipFilePathField;
+ private javax.swing.JRadioButton zipFileRBnt;
// End of variables declaration//GEN-END:variables
/**
* Tile server option enum. The enum was given values to simplify the
* storing of the user preference for a particular option.
*/
- enum GeolocationTileOption{
+ enum GeolocationDataSourceType{
ONLINE_DEFAULT_SERVER(0),
ONLINE_USER_DEFINED_OSM_SERVER(1),
- OFFLINE_OSM_ZIP(2);
+ OFFLINE_OSM_ZIP(2),
+ OFFILE_MBTILES_FILE(3);
private final int value;
- GeolocationTileOption(int value) {
+ GeolocationDataSourceType(int value) {
this.value = value;
}
@@ -329,8 +462,8 @@ final class GeolocationSettingsPanel extends javax.swing.JPanel implements Optio
return value;
}
- static GeolocationTileOption getOptionForValue(int value) {
- for (GeolocationTileOption option : GeolocationTileOption.values()) {
+ static GeolocationDataSourceType getOptionForValue(int value) {
+ for (GeolocationDataSourceType option : GeolocationDataSourceType.values()) {
if (option.getValue() == value) {
return option;
}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.form b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.form
index 16cd5368a6..c51c8d496e 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.form
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.form
@@ -16,6 +16,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -24,17 +81,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java
index a653979bb6..b1dee1cbb4 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/GeolocationTopComponent.java
@@ -21,13 +21,23 @@ package org.sleuthkit.autopsy.geolocation;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.File;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.EnumSet;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
import java.util.logging.Level;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
+import javax.swing.SwingWorker;
+import org.openide.filesystems.FileUtil;
import org.openide.util.NbBundle.Messages;
import org.openide.windows.RetainLocation;
import org.openide.windows.TopComponent;
@@ -45,6 +55,8 @@ import org.sleuthkit.autopsy.geolocation.datamodel.WaypointBuilder.WaypointFilte
import org.sleuthkit.autopsy.ingest.IngestManager;
import static org.sleuthkit.autopsy.ingest.IngestManager.IngestModuleEvent.DATA_ADDED;
import org.sleuthkit.autopsy.ingest.ModuleDataEvent;
+import org.sleuthkit.autopsy.report.ReportProgressPanel;
+import org.sleuthkit.autopsy.report.modules.kml.KMLReport;
import org.sleuthkit.datamodel.BlackboardArtifact;
/**
@@ -64,10 +76,16 @@ public final class GeolocationTopComponent extends TopComponent {
private static final Set INGEST_MODULE_EVENTS_OF_INTEREST = EnumSet.of(DATA_ADDED);
private final PropertyChangeListener ingestListener;
+ private final PropertyChangeListener caseEventListener;
private final GeoFilterPanel geoFilterPanel;
final RefreshPanel refreshPanel = new RefreshPanel();
+ private static final String REPORT_PATH_FMT_STR = "%s" + File.separator + "%s %s %s" + File.separator;
+
+ // This is the hardcoded report name from KMLReport.java
+ private static final String REPORT_KML = "ReportKML.kml";
+
@Messages({
"GLTopComponent_name=Geolocation",
"GLTopComponent_initilzation_error=An error occurred during waypoint initilization. Geolocation data maybe incomplete."
@@ -79,7 +97,7 @@ public final class GeolocationTopComponent extends TopComponent {
@ThreadConfined(type = ThreadConfined.ThreadType.AWT)
public GeolocationTopComponent() {
initComponents();
-
+
setName(Bundle.GLTopComponent_name());
this.ingestListener = pce -> {
@@ -99,6 +117,13 @@ public final class GeolocationTopComponent extends TopComponent {
}
}
};
+
+ this.caseEventListener = pce -> {
+ mapPanel.clearWaypoints();
+ if (pce.getNewValue() != null) {
+ updateWaypoints();
+ }
+ };
refreshPanel.addCloseActionListener(new ActionListener() {
@Override
@@ -110,6 +135,7 @@ public final class GeolocationTopComponent extends TopComponent {
refreshPanel.addRefreshActionListner(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
+ geoFilterPanel.updateDataSourceList();
mapPanel.clearWaypoints();
updateWaypoints();
showRefreshPanel(false);
@@ -120,36 +146,47 @@ public final class GeolocationTopComponent extends TopComponent {
filterPane.setPanel(geoFilterPanel);
geoFilterPanel.addActionListener(new ActionListener() {
@Override
- public void actionPerformed(ActionEvent e) {
+ public void actionPerformed(ActionEvent e) {
updateWaypoints();
}
});
+
+ mapPanel.addPropertyChangeListener(MapPanel.CURRENT_MOUSE_GEOPOSITION, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ String label = "";
+ Object newValue = evt.getNewValue();
+ if (newValue != null) {
+ label = newValue.toString();
+ }
+
+ coordLabel.setText(label);
+ }
+
+ });
}
@Override
public void addNotify() {
super.addNotify();
IngestManager.getInstance().addIngestModuleEventListener(INGEST_MODULE_EVENTS_OF_INTEREST, ingestListener);
- Case.addEventTypeSubscriber(EnumSet.of(CURRENT_CASE), evt -> {
- mapPanel.clearWaypoints();
- if (evt.getNewValue() != null) {
- updateWaypoints();
- }
- });
+ Case.addEventTypeSubscriber(EnumSet.of(CURRENT_CASE), caseEventListener);
}
@Override
public void removeNotify() {
super.removeNotify();
IngestManager.getInstance().removeIngestModuleEventListener(ingestListener);
+ Case.removeEventTypeSubscriber(EnumSet.of(CURRENT_CASE), caseEventListener);
}
@Override
public void componentOpened() {
super.componentOpened();
WindowManager.getDefault().setTopComponentFloating(this, true);
+
}
-
+
@Messages({
"GeolocationTC_connection_failure_message=Failed to connect to map title source.\nPlease review map source in Options dialog.",
"GeolocationTC_connection_failure_message_title=Connection Failure"
@@ -157,20 +194,22 @@ public final class GeolocationTopComponent extends TopComponent {
@Override
public void open() {
super.open();
+ geoFilterPanel.clearDataSourceList();
geoFilterPanel.updateDataSourceList();
try {
mapPanel.initMap();
} catch (GeoLocationDataException ex) {
- JOptionPane.showMessageDialog(this,
- Bundle.GeolocationTC_connection_failure_message(),
- Bundle.GeolocationTC_connection_failure_message_title(),
- JOptionPane.ERROR_MESSAGE);
- MessageNotifyUtil.Notify.error(
- Bundle.GeolocationTC_connection_failure_message_title(),
- Bundle.GeolocationTC_connection_failure_message());
- logger.log(Level.SEVERE, ex.getMessage(), ex);
- return; // Doen't set the waypoints.
+ JOptionPane.showMessageDialog(this,
+ Bundle.GeolocationTC_connection_failure_message(),
+ Bundle.GeolocationTC_connection_failure_message_title(),
+ JOptionPane.ERROR_MESSAGE);
+ MessageNotifyUtil.Notify.error(
+ Bundle.GeolocationTC_connection_failure_message_title(),
+ Bundle.GeolocationTC_connection_failure_message());
+ logger.log(Level.SEVERE, ex.getMessage(), ex);
+ return; // Doen't set the waypoints.
}
+ mapPanel.setWaypoints(new ArrayList<>());
updateWaypoints();
}
@@ -207,42 +246,56 @@ public final class GeolocationTopComponent extends TopComponent {
try {
filters = geoFilterPanel.getFilterState();
} catch (GeoLocationUIException ex) {
- JOptionPane.showMessageDialog(this,
- Bundle.GeoTopComponent_filer_data_invalid_msg(),
- Bundle.GeoTopComponent_filer_data_invalid_Title(),
- JOptionPane.INFORMATION_MESSAGE);
+ JOptionPane.showMessageDialog(this,
+ Bundle.GeoTopComponent_filer_data_invalid_msg(),
+ Bundle.GeoTopComponent_filer_data_invalid_Title(),
+ JOptionPane.INFORMATION_MESSAGE);
return;
}
- SwingUtilities.invokeLater(new Runnable() {
- public void run() {
- Case currentCase = Case.getCurrentCase();
- try {
- WaypointBuilder.getAllWaypoints(currentCase.getSleuthkitCase(), filters.getDataSources(), filters.showAllWaypoints(), filters.getMostRecentNumDays(), filters.showWaypointsWithoutTimeStamp(), new WaypointFilterQueryCallBack() {
- @Override
- public void process(List waypoints) {
- // If the list is empty, tell the user and do not change
- // the visible waypoints.
- if (waypoints == null || waypoints.isEmpty()) {
- JOptionPane.showMessageDialog(GeolocationTopComponent.this,
- Bundle.GeoTopComponent_no_waypoints_returned_Title(),
- Bundle.GeoTopComponent_no_waypoints_returned_mgs(),
- JOptionPane.INFORMATION_MESSAGE);
-
- return;
- }
- mapPanel.setWaypoints(MapWaypoint.getWaypoints(waypoints));
- }
- });
- } catch (GeoLocationDataException ex) {
- logger.log(Level.SEVERE, "Failed to filter waypoints.", ex);
- JOptionPane.showMessageDialog(GeolocationTopComponent.this,
- Bundle.GeoTopComponent_filter_exception_Title(),
- Bundle.GeoTopComponent_filter_exception_msg(),
- JOptionPane.ERROR_MESSAGE);
- }
- }
- });
+ setWaypointLoading(true);
+ geoFilterPanel.setEnabled(false);
+
+ Thread thread = new Thread(new WaypointRunner(filters));
+ thread.start();
+ }
+
+ /**
+ * Show or hide the waypoint loading progress bar.
+ *
+ * @param loading
+ */
+ void setWaypointLoading(boolean loading) {
+ progressBar.setEnabled(true);
+ progressBar.setVisible(loading);
+ progressBar.setString("Loading Waypoints");
+ }
+
+ /**
+ * Create the directory path for the KML report.
+ *
+ * This is a modified version of the similar private function from
+ * KMLReport.
+ *
+ * @return Path for the report
+ *
+ * @throws IOException
+ */
+ private static String createReportDirectory() throws IOException {
+ Case currentCase = Case.getCurrentCase();
+
+ // Create the root reports directory path of the form: /Reports/ /
+ DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy-HH-mm-ss", Locale.US);
+ Date date = new Date();
+ String dateNoTime = dateFormat.format(date);
+ String reportPath = String.format(REPORT_PATH_FMT_STR, currentCase.getReportDirectory(), currentCase.getDisplayName(), "Goggle Earth KML", dateNoTime);
+ // Create the root reports directory.
+ try {
+ FileUtil.createFolder(new File(reportPath));
+ } catch (IOException ex) {
+ throw new IOException("Failed to make report folder, unable to generate reports.", ex);
+ }
+ return reportPath;
}
/**
@@ -253,20 +306,165 @@ public final class GeolocationTopComponent extends TopComponent {
@SuppressWarnings("unchecked")
// //GEN-BEGIN:initComponents
private void initComponents() {
+ java.awt.GridBagConstraints gridBagConstraints;
- mapPanel = new org.sleuthkit.autopsy.geolocation.MapPanel();
filterPane = new org.sleuthkit.autopsy.geolocation.HidingPane();
+ statusBar = new javax.swing.JPanel();
+ reportButton = new javax.swing.JButton();
+ progressBar = new javax.swing.JProgressBar();
+ coordLabel = new javax.swing.JLabel();
+ mapPanel = new org.sleuthkit.autopsy.geolocation.MapPanel();
setLayout(new java.awt.BorderLayout());
+ add(filterPane, java.awt.BorderLayout.WEST);
- mapPanel.add(filterPane, java.awt.BorderLayout.LINE_START);
+ statusBar.setLayout(new java.awt.GridBagLayout());
+ org.openide.awt.Mnemonics.setLocalizedText(reportButton, org.openide.util.NbBundle.getMessage(GeolocationTopComponent.class, "GeolocationTopComponent.reportButton.text")); // NOI18N
+ reportButton.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ reportButtonActionPerformed(evt);
+ }
+ });
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 2;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
+ statusBar.add(reportButton, gridBagConstraints);
+
+ progressBar.setIndeterminate(true);
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 1;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ statusBar.add(progressBar, gridBagConstraints);
+
+ org.openide.awt.Mnemonics.setLocalizedText(coordLabel, org.openide.util.NbBundle.getMessage(GeolocationTopComponent.class, "GeolocationTopComponent.coordLabel.text")); // NOI18N
+ gridBagConstraints = new java.awt.GridBagConstraints();
+ gridBagConstraints.gridx = 0;
+ gridBagConstraints.gridy = 0;
+ gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
+ gridBagConstraints.weightx = 1.0;
+ gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 0);
+ statusBar.add(coordLabel, gridBagConstraints);
+
+ add(statusBar, java.awt.BorderLayout.SOUTH);
add(mapPanel, java.awt.BorderLayout.CENTER);
}// //GEN-END:initComponents
+ @Messages({
+ "GeolocationTC_empty_waypoint_message=Unable to generate KML report due to a lack of waypoints.\nPlease make sure there are waypoints visible before generating the KML report",
+ "GeolocationTC_KML_report_title=KML Report",
+ "GeolocationTC_report_progress_title=KML Report Progress"
+ })
+ private void reportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_reportButtonActionPerformed
+ List visiblePoints = mapPanel.getVisibleWaypoints();
+ if (visiblePoints.isEmpty()) {
+ JOptionPane.showConfirmDialog(this, Bundle.GeolocationTC_empty_waypoint_message(), Bundle.GeolocationTC_KML_report_title(), JOptionPane.OK_OPTION, JOptionPane.INFORMATION_MESSAGE);
+ return;
+ }
+
+ try {
+ ReportProgressPanel progressPanel = new ReportProgressPanel();
+ String reportBaseDir = createReportDirectory();
+
+ progressPanel.setLabels(REPORT_KML, reportBaseDir);
+
+ SwingWorker worker = new SwingWorker() {
+ @Override
+ protected Void doInBackground() throws Exception {
+ KMLReport.getDefault().generateReport(reportBaseDir, progressPanel, MapWaypoint.getDataModelWaypoints(visiblePoints));
+ return null;
+ }
+ };
+ worker.execute();
+ JOptionPane.showConfirmDialog(this, progressPanel, Bundle.GeolocationTC_report_progress_title(), JOptionPane.CLOSED_OPTION, JOptionPane.PLAIN_MESSAGE);
+ } catch (IOException ex) {
+ logger.log(Level.WARNING, "Unable to create KML report", ex);
+ }
+ }//GEN-LAST:event_reportButtonActionPerformed
+
// Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel coordLabel;
private org.sleuthkit.autopsy.geolocation.HidingPane filterPane;
private org.sleuthkit.autopsy.geolocation.MapPanel mapPanel;
+ private javax.swing.JProgressBar progressBar;
+ private javax.swing.JButton reportButton;
+ private javax.swing.JPanel statusBar;
// End of variables declaration//GEN-END:variables
+
+ /**
+ * A runnable class for getting waypoints based on the current filters.
+ */
+ private class WaypointRunner implements Runnable {
+
+ private final GeoFilter filters;
+
+ /**
+ * Constructs the Waypoint Runner
+ *
+ * @param filters
+ */
+ WaypointRunner(GeoFilter filters) {
+ this.filters = filters;
+ }
+
+ @Override
+ public void run() {
+ Case currentCase = Case.getCurrentCase();
+ try {
+ WaypointBuilder.getAllWaypoints(currentCase.getSleuthkitCase(),
+ filters.getDataSources(),
+ filters.showAllWaypoints(),
+ filters.getMostRecentNumDays(),
+ filters.showWaypointsWithoutTimeStamp(),
+ new WaypointCallBack());
+
+ } catch (GeoLocationDataException ex) {
+ logger.log(Level.SEVERE, "Failed to filter waypoints.", ex);
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ JOptionPane.showMessageDialog(GeolocationTopComponent.this,
+ Bundle.GeoTopComponent_filter_exception_Title(),
+ Bundle.GeoTopComponent_filter_exception_msg(),
+ JOptionPane.ERROR_MESSAGE);
+ }
+ });
+ }
+ }
+
+ }
+
+ /**
+ * Callback for getting waypoints.
+ */
+ private class WaypointCallBack implements WaypointFilterQueryCallBack {
+
+ @Override
+ public void process(List waypoints) {
+ // Make sure that the waypoints are added to the map panel in
+ // the correct thread.
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ // If the list is empty, tell the user and do not change
+ // the visible waypoints.
+ if (waypoints == null || waypoints.isEmpty()) {
+ JOptionPane.showMessageDialog(GeolocationTopComponent.this,
+ Bundle.GeoTopComponent_no_waypoints_returned_Title(),
+ Bundle.GeoTopComponent_no_waypoints_returned_mgs(),
+ JOptionPane.INFORMATION_MESSAGE);
+
+ return;
+ }
+ mapPanel.setWaypoints(MapWaypoint.getWaypoints(waypoints));
+ setWaypointLoading(false);
+ geoFilterPanel.setEnabled(true);
+ }
+ });
+ }
+ }
}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesFileConnector.java b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesFileConnector.java
new file mode 100755
index 0000000000..7990b09a29
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesFileConnector.java
@@ -0,0 +1,138 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2019 Basis Technology Corp.
+ * Contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.geolocation;
+
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import org.jxmapviewer.OSMTileFactoryInfo;
+import org.jxmapviewer.viewer.TileFactoryInfo;
+import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException;
+
+/**
+ * Wraps the connection to the MBTiles file\sqlite db.
+ */
+final class MBTilesFileConnector {
+
+ private final static String DB_URL = "jdbc:sqlite:%s";
+ private final static String TILE_QUERY = "SELECT tile_data FROM images WHERE tile_id = '%s'";
+ private final static String FORMAT_QUERY = "SELECT value FROM metadata WHERE name='format'";
+ private final TileFactoryInfo factoryInfo;
+ private final String connectionString;
+
+ /**
+ * Returns whether or not the file at the given path is a mbtiles file.
+ *
+ * @param filePath Absolute path the the file.
+ *
+ * @return True if the file is an mbtiles file
+ *
+ * @throws SQLException
+ */
+ static boolean isValidMBTileRasterFile(String filePath) throws SQLException {
+ Path p = Paths.get(filePath);
+ if (!p.toFile().exists()) {
+ return false;
+ }
+
+ String path = filePath.replaceAll("\\\\", "/");
+ String url = String.format(DB_URL, path);
+
+ try (Connection connection = DriverManager.getConnection(url)) {
+ try (Statement statement = connection.createStatement();
+ ResultSet resultSet = statement.executeQuery(FORMAT_QUERY)) {
+ if (resultSet.next()) {
+ String format = resultSet.getString(1);
+ return format.equals("jpg");
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Construct a new connection to the MBTile file.
+ *
+ * @param tileFilePath MBTiles file absolute path
+ *
+ * @throws GeoLocationDataException
+ */
+ MBTilesFileConnector(String tileFilePath) throws GeoLocationDataException {
+ String path = tileFilePath.replaceAll("\\\\", "/");
+ connectionString = String.format(DB_URL, path);
+ factoryInfo = new MBTilesInfo();
+ }
+
+ /**
+ * Returns the TileFacortyInfo object for the MBTile file.
+ *
+ * @return TileFactoryInfo object or null if the connection has been closed.
+ */
+ TileFactoryInfo getInfo() {
+ return factoryInfo;
+ }
+
+ /**
+ * Get the tile for the given tileID.
+ *
+ * @param tileID String tile ID in the format of zoom/x/y
+ *
+ * @return The tile image byte array or an empty array if the tile was not
+ * found.
+ *
+ * @throws GeoLocationDataException
+ */
+ byte[] getTileBytes(String tileID) throws GeoLocationDataException {
+ String query = String.format(TILE_QUERY, tileID);
+
+ try (Connection connection = DriverManager.getConnection(connectionString)) {
+ try (Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query)) {
+ if (resultSet.next()) {
+ return resultSet.getBytes(1);
+ }
+ }
+ } catch (SQLException ex) {
+ throw new GeoLocationDataException(String.format("Failed to get tile %s", tileID), ex);
+ }
+ return new byte[0];
+ }
+
+ /**
+ * Overload the existing OSMTileFacotyInfo to return a "url" specific to
+ * MBTiles.
+ */
+ private final class MBTilesInfo extends OSMTileFactoryInfo {
+
+ MBTilesInfo() {
+ super("MBTilesFile", "");
+ }
+
+ @Override
+ public String getTileUrl(int x, int y, int zoom) {
+ // OSM zoom levels are reversed from how the TileFactory deals with
+ // them.
+ int osmZoom = getTotalMapZoom() - zoom;
+ return String.format("%d/%d/%d", osmZoom, x, y);
+ }
+ }
+}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTile.java b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTile.java
new file mode 100755
index 0000000000..848f31511c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTile.java
@@ -0,0 +1,122 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2019 Basis Technology Corp.
+ * Contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.geolocation;
+
+import java.awt.image.BufferedImage;
+import java.lang.ref.SoftReference;
+
+import org.jxmapviewer.viewer.Tile;
+
+/**
+ * Provides a MBTile specific implementation of Tile.
+ *
+ * This class borrows functionality from Tile.
+ */
+final class MBTilesTile extends Tile {
+
+ private SoftReference image = new SoftReference<>(null);
+ private Priority priority = Priority.High;
+ private boolean loaded = false;
+ private final String tileID;
+
+ /**
+ * Construct an empty tile.
+ *
+ * @param x
+ * @param y
+ * @param zoom
+ */
+ MBTilesTile(int x, int y, int zoom) {
+ super(x, y, zoom);
+ tileID = null;
+ }
+
+ /**
+ * Construct a new tile.
+ *
+ * @param x Tile row
+ * @param y Tile column
+ * @param zoom Tile Zoom level
+ * @param tileID Tile identifier
+ * @param priority Priority for loading the tile
+ */
+ MBTilesTile(int x, int y, int zoom, String tileID, Priority priority) {
+ super(x, y, zoom);
+ this.priority = priority;
+ this.tileID = tileID;
+ }
+
+ /**
+ * Sets the image for this Tile.
+ *
+ * @param image
+ */
+ void setImage(BufferedImage image) {
+ this.image = new SoftReference<>(image);
+ setLoaded(true);
+ }
+
+ /**
+ * Indicates if this tile's underlying image has been successfully loaded
+ * yet.
+ *
+ * @return true if the Tile has been loaded
+ */
+ @Override
+ public synchronized boolean isLoaded() {
+ return loaded;
+ }
+
+ synchronized void setLoaded(boolean loaded) {
+ boolean old = isLoaded();
+ this.loaded = loaded;
+ firePropertyChange("loaded", old, isLoaded());
+ }
+
+ @Override
+ public BufferedImage getImage() {
+ BufferedImage img = image.get();
+ if (img == null) {
+ setLoaded(false);
+ }
+ return img;
+ }
+
+ @Override
+ public Priority getPriority() {
+ return priority;
+ }
+
+ @Override
+ public void setPriority(Priority priority) {
+ this.priority = priority;
+ }
+
+ /**
+ * Overloading the original version of this function to return the tileID
+ * for this tile.
+ *
+ * @return tileID or null if none was set
+ */
+ @Override
+ public String getURL() {
+ return tileID;
+ }
+
+}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTileFactory.java b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTileFactory.java
new file mode 100755
index 0000000000..372d2e1561
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MBTilesTileFactory.java
@@ -0,0 +1,351 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2019 Basis Technology Corp.
+ * Contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.geolocation;
+
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.PriorityBlockingQueue;
+import java.util.concurrent.ThreadFactory;
+import java.util.logging.Level;
+
+import javax.imageio.ImageIO;
+import javax.swing.SwingUtilities;
+
+import org.jxmapviewer.viewer.Tile;
+import org.jxmapviewer.viewer.TileCache;
+import org.jxmapviewer.viewer.TileFactory;
+import org.jxmapviewer.viewer.util.GeoUtil;
+import org.sleuthkit.autopsy.coreutils.Logger;
+import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException;
+
+/**
+ * This TileFactory class borrows from org.jxmapviewer.viewer.AbstractTileFactory, changing to support
+ * the getting the tiles from a database instead the web.
+ *
+ * @see AbstractTileFactory
+ *
+ */
+final class MBTilesTileFactory extends TileFactory {
+
+ private static final Logger logger = Logger.getLogger(MBTilesTileFactory.class.getName());
+
+ private volatile int pendingTiles = 0;
+ private static final int THREAD_POOL_SIZE = 4;
+ private ExecutorService service;
+
+ private final Map tileMap;
+
+ private final TileCache cache;
+
+ private MBTilesFileConnector connector;
+
+ /**
+ * Construct a new TileFactory for the MBTiles file at the given location.
+ *
+ * @param filePath
+ *
+ * @throws GeoLocationDataException
+ */
+ MBTilesTileFactory(String filePath) throws GeoLocationDataException {
+ this(new MBTilesFileConnector(filePath));
+ }
+
+ /**
+ * Construct a new TileFacotry.
+ *
+ * @param connector
+ */
+ private MBTilesTileFactory(MBTilesFileConnector connector) {
+ super(connector.getInfo());
+ this.connector = connector;
+ cache = new TileCache();
+ tileMap = new HashMap<>();
+ }
+
+ /**
+ * Returns the tile that is located at the given tile point for this zoom.
+ *
+ * @param x Tile column
+ * @param y Tile row
+ * @param zoom Current zoom level
+ *
+ * @return A new Tile object
+ *
+ */
+ @Override
+ public Tile getTile(int x, int y, int zoom) {
+ return getTile(x, y, zoom, true);
+ }
+
+ /**
+ * Returns the tile object for the given location.
+ *
+ * @param tpx
+ * @param tpy
+ * @param zoom
+ * @param eagerLoad
+ *
+ * @return
+ */
+ private Tile getTile(int tpx, int tpy, int zoom, boolean eagerLoad) {
+ // wrap the tiles horizontally --> mod the X with the max width
+ // and use that
+ int tileX = tpx;// tilePoint.getX();
+ int numTilesWide = (int) getMapSize(zoom).getWidth();
+ if (tileX < 0) {
+ tileX = numTilesWide - (Math.abs(tileX) % numTilesWide);
+ }
+
+ tileX %= numTilesWide;
+ int tileY = tpy;
+
+ String url = getInfo().getTileUrl(tileX, tileY, zoom);
+
+ Tile.Priority pri = Tile.Priority.High;
+ if (!eagerLoad) {
+ pri = Tile.Priority.Low;
+ }
+ Tile tile;
+ if (!tileMap.containsKey(url)) {
+ // If its not a valid tile location return an empty tile.
+ if (!GeoUtil.isValidTile(tileX, tileY, zoom, getInfo())) {
+ tile = new MBTilesTile(tileX, tileY, zoom);
+ } else {
+ tile = new MBTilesTile(tileX, tileY, zoom, url, pri);
+ startLoading(tile);
+ }
+ tileMap.put(url, tile);
+ } else {
+ tile = tileMap.get(url);
+ // If the tile is in the tileMap, but the image is not loaded yet,
+ // bump the priority.
+ if (tile.getPriority() == Tile.Priority.Low && eagerLoad && !tile.isLoaded()) {
+ promote(tile);
+ }
+ }
+
+ return tile;
+ }
+
+ /**
+ * Returns the TileCache.
+ *
+ * @return the tile cache
+ */
+ TileCache getTileCache() {
+ return cache;
+ }
+
+ /**
+ * ==== Threaded Tile loading code ===
+ */
+ /**
+ * Thread pool for loading the tiles
+ */
+ private final BlockingQueue tileQueue = new PriorityBlockingQueue<>(5, new Comparator() {
+ @Override
+ public int compare(Tile o1, Tile o2) {
+ if (o1.getPriority() == Tile.Priority.Low && o2.getPriority() == Tile.Priority.High) {
+ return 1;
+ }
+ if (o1.getPriority() == Tile.Priority.High && o2.getPriority() == Tile.Priority.Low) {
+ return -1;
+ }
+ return 0;
+
+ }
+ });
+
+ /**
+ * Subclasses may override this method to provide their own executor
+ * services. This method will be called each time a tile needs to be loaded.
+ * Implementations should cache the ExecutorService when possible.
+ *
+ * @return ExecutorService to load tiles with
+ */
+ synchronized ExecutorService getService() {
+ if (service == null) {
+ // System.out.println("creating an executor service with a threadpool of size " + threadPoolSize);
+ service = Executors.newFixedThreadPool(THREAD_POOL_SIZE, new ThreadFactory() {
+ private int count = 0;
+
+ @Override
+ public Thread newThread(Runnable r) {
+ Thread t = new Thread(r, "tile-pool-" + count++);
+ t.setPriority(Thread.MIN_PRIORITY);
+ t.setDaemon(true);
+ return t;
+ }
+ });
+ }
+ return service;
+ }
+
+ @Override
+ public void dispose() {
+ if (service != null) {
+ service.shutdown();
+ service = null;
+ }
+ }
+
+ @Override
+ protected synchronized void startLoading(Tile tile) {
+ if (tile.isLoading()) {
+ return;
+ }
+ pendingTiles++;
+ tile.setLoading(true);
+ try {
+ tileQueue.put(tile);
+ getService().submit(new TileRunner());
+ } catch (InterruptedException ex) {
+
+ }
+ }
+
+ /**
+ * Increase the priority of this tile so it will be loaded sooner.
+ *
+ * @param tile the tile
+ */
+ synchronized void promote(Tile tile) {
+ if (tileQueue.contains(tile)) {
+ try {
+ tileQueue.remove(tile);
+ tile.setPriority(Tile.Priority.High);
+ tileQueue.put(tile);
+ } catch (InterruptedException ex) {
+
+ }
+ }
+ }
+
+ /**
+ * @return the number of pending (loading or queues) tiles
+ */
+ int getPendingTiles() {
+ return pendingTiles;
+ }
+
+ /**
+ * An inner class which actually loads the tiles. Used by the thread queue.
+ * Subclasses can override this via {@link #createTileRunner(Tile)} if
+ * necessary.
+ */
+ private class TileRunner implements Runnable {
+
+ /**
+ * Gets the full URI of a tile.
+ *
+ * @param tile the tile
+ *
+ * @throws URISyntaxException if the URI is invalid
+ * @return a URI for the tile
+ */
+ protected URI getURI(Tile tile) throws URISyntaxException {
+ if (tile.getURL() == null) {
+ return null;
+ }
+ return new URI(tile.getURL());
+ }
+
+ @Override
+ public void run() {
+ /*
+ * Attempt to load the tile from . If loading fails, retry two more
+ * times. If all attempts fail, nothing else is done. This way, if
+ * there is some kind of failure, the pooled thread can try to load
+ * other tiles.
+ */
+ final Tile tile = tileQueue.remove();
+
+ int remainingAttempts = 3;
+ while (!tile.isLoaded() && remainingAttempts > 0) {
+ remainingAttempts--;
+ try {
+ URI uri = getURI(tile);
+ BufferedImage img = cache.get(uri);
+ if (img == null) {
+ img = getImage(uri);
+ }
+ if (img != null) {
+ addImageToTile(tile, img);
+ }
+ } catch (OutOfMemoryError memErr) {
+ cache.needMoreMemory();
+ } catch (IOException | GeoLocationDataException | InterruptedException | InvocationTargetException | URISyntaxException ex) {
+ if (remainingAttempts == 0) {
+ logger.log(Level.SEVERE, String.format("Failed to load a tile at URL: %s, stopping", tile.getURL()), ex);
+ } else {
+ logger.log(Level.WARNING, "Failed to load a tile at URL: " + tile.getURL() + ", retrying", ex);
+ }
+ }
+ }
+ tile.setLoading(false);
+ }
+ }
+
+ /**
+ *
+ * @param uri
+ * @return
+ * @throws IOException
+ * @throws GeoLocationDataException
+ */
+ private BufferedImage getImage(URI uri ) throws IOException, GeoLocationDataException{
+ BufferedImage img = null;
+ byte[] bimg = connector.getTileBytes(uri.toString());
+ if (bimg != null && bimg.length > 0) {
+ img = ImageIO.read(new ByteArrayInputStream(bimg));
+ cache.put(uri, bimg, img);
+ }
+ return img;
+ }
+
+ /**
+ *
+ * @param tile
+ * @param image
+ * @throws InterruptedException
+ * @throws InvocationTargetException
+ */
+ private void addImageToTile(Tile tile, BufferedImage image) throws InterruptedException, InvocationTargetException {
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ if (tile instanceof MBTilesTile) {
+ ((MBTilesTile) tile).setImage(image);
+ }
+ pendingTiles--;
+ fireTileLoadedEvent(tile);
+ }
+ });
+ }
+}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.form b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.form
index 454008c062..bea654be40 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.form
@@ -91,28 +91,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java
index fb5cdc23e5..9b648e7658 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapPanel.java
@@ -19,16 +19,21 @@
package org.sleuthkit.autopsy.geolocation;
import java.awt.Dimension;
+import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
+import java.awt.event.MouseEvent;
import java.awt.geom.Point2D;
+import java.awt.image.BufferedImage;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
@@ -45,6 +50,7 @@ import javax.swing.Popup;
import javax.swing.PopupFactory;
import javax.swing.Timer;
import javax.swing.event.MouseInputListener;
+import org.jxmapviewer.JXMapViewer;
import org.jxmapviewer.OSMTileFactoryInfo;
import org.jxmapviewer.VirtualEarthTileFactoryInfo;
import org.jxmapviewer.input.CenterMapListener;
@@ -56,19 +62,22 @@ import org.jxmapviewer.viewer.TileFactory;
import org.jxmapviewer.viewer.TileFactoryInfo;
import org.jxmapviewer.viewer.Waypoint;
import org.jxmapviewer.viewer.WaypointPainter;
-import org.jxmapviewer.viewer.util.GeoUtil;
+import org.jxmapviewer.viewer.WaypointRenderer;
import org.openide.util.NbBundle.Messages;
import org.sleuthkit.autopsy.core.UserPreferences;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
import org.sleuthkit.autopsy.geolocation.datamodel.GeoLocationDataException;
import org.sleuthkit.datamodel.TskCoreException;
+import javax.imageio.ImageIO;
+import org.jxmapviewer.viewer.DefaultWaypointRenderer;
/**
* The map panel. This panel contains the jxmapviewer MapViewer
*/
final public class MapPanel extends javax.swing.JPanel {
+ static final String CURRENT_MOUSE_GEOPOSITION = "CURRENT_MOUSE_GEOPOSITION";
private static final Logger logger = Logger.getLogger(MapPanel.class.getName());
private static final long serialVersionUID = 1L;
@@ -113,7 +122,10 @@ final public class MapPanel extends javax.swing.JPanel {
@Override
public void preferenceChange(PreferenceChangeEvent evt) {
try {
- mapViewer.setTileFactory(new DefaultTileFactory(getTileFactoryInfo()));
+ // Tell the old factory to cleanup
+ mapViewer.getTileFactory().dispose();
+
+ mapViewer.setTileFactory(getTileFactory());
initializeZoomSlider();
} catch (GeoLocationDataException ex) {
logger.log(Level.SEVERE, "Failed to connect to new geolocation tile server.", ex); //NON-NLS
@@ -122,20 +134,40 @@ final public class MapPanel extends javax.swing.JPanel {
Bundle.MapPanel_connection_failure_message_title(),
JOptionPane.ERROR_MESSAGE);
MessageNotifyUtil.Notify.error(
- Bundle.MapPanel_connection_failure_message_title(),
- Bundle.MapPanel_connection_failure_message());
+ Bundle.MapPanel_connection_failure_message_title(),
+ Bundle.MapPanel_connection_failure_message());
}
}
});
}
+ /**
+ * Get a list of the waypoints that are currently visible in the viewport.
+ *
+ * @return A list of waypoints or empty list if none were found.
+ */
+ List getVisibleWaypoints() {
+
+ Rectangle viewport = mapViewer.getViewportBounds();
+ List waypoints = new ArrayList<>();
+
+ Iterator iterator = waypointTree.iterator();
+ while (iterator.hasNext()) {
+ MapWaypoint waypoint = iterator.next();
+ if (viewport.contains(mapViewer.getTileFactory().geoToPixel(waypoint.getPosition(), mapViewer.getZoom()))) {
+ waypoints.add(waypoint);
+ }
+ }
+
+ return waypoints;
+ }
+
/**
* Initialize the map.
*/
void initMap() throws GeoLocationDataException {
- TileFactoryInfo info = getTileFactoryInfo();
- DefaultTileFactory tileFactory = new DefaultTileFactory(info);
+ TileFactory tileFactory = getTileFactory();
mapViewer.setTileFactory(tileFactory);
// Add Mouse interactions
@@ -158,8 +190,8 @@ final public class MapPanel extends javax.swing.JPanel {
zoomSlider.setMaximum(tileFactory.getInfo().getMaximumZoomLevel());
setZoom(tileFactory.getInfo().getMaximumZoomLevel() - 1);
-
- mapViewer.setCenterPosition(new GeoPosition(0,0));
+
+ mapViewer.setCenterPosition(new GeoPosition(0, 0));
// Basic painters for the way points.
WaypointPainter waypointPainter = new WaypointPainter() {
@@ -175,6 +207,13 @@ final public class MapPanel extends javax.swing.JPanel {
return set;
}
};
+
+ try {
+ waypointPainter.setRenderer(new MapWaypointRenderer());
+ } catch (IOException ex) {
+ logger.log(Level.WARNING, "Failed to load waypoint image resource, using DefaultWaypointRenderer", ex);
+ waypointPainter.setRenderer(new DefaultWaypointRenderer());
+ }
mapViewer.setOverlayPainter(waypointPainter);
}
@@ -192,50 +231,49 @@ final public class MapPanel extends javax.swing.JPanel {
}
/**
- * Create the TileFactoryInfo object based on the user preference.
+ * Create the TileFactory object based on the user preference.
*
* @return
*/
- TileFactoryInfo getTileFactoryInfo() throws GeoLocationDataException {
- switch (GeolocationSettingsPanel.GeolocationTileOption.getOptionForValue(UserPreferences.getGeolocationtTileOption())) {
+ private TileFactory getTileFactory() throws GeoLocationDataException {
+ switch (GeolocationSettingsPanel.GeolocationDataSourceType.getOptionForValue(UserPreferences.getGeolocationtTileOption())) {
case ONLINE_USER_DEFINED_OSM_SERVER:
- return createOnlineOSMFactory(UserPreferences.getGeolocationOsmServerAddress());
+ return new DefaultTileFactory(createOnlineOSMFactory(UserPreferences.getGeolocationOsmServerAddress()));
case OFFLINE_OSM_ZIP:
- return createOSMZipFactory(UserPreferences.getGeolocationOsmZipPath());
+ return new DefaultTileFactory(createOSMZipFactory(UserPreferences.getGeolocationOsmZipPath()));
+ case OFFILE_MBTILES_FILE:
+ return new MBTilesTileFactory(UserPreferences.getGeolocationMBTilesFilePath());
default:
- return new VirtualEarthTileFactoryInfo(VirtualEarthTileFactoryInfo.MAP);
+ return new DefaultTileFactory(new VirtualEarthTileFactoryInfo(VirtualEarthTileFactoryInfo.MAP));
}
}
-
+
/**
* Create the TileFactoryInfo for an online OSM tile server.
- *
- * @param address Tile server address
- *
+ *
+ * @param address Tile server address
+ *
* @return TileFactoryInfo object for server address.
- *
- * @throws GeoLocationDataException
+ *
+ * @throws GeoLocationDataException
*/
private TileFactoryInfo createOnlineOSMFactory(String address) throws GeoLocationDataException {
if (address.isEmpty()) {
throw new GeoLocationDataException("Invalid user preference for OSM user define tile server. Address is an empty string.");
} else {
TileFactoryInfo info = new OSMTileFactoryInfo("User Defined Server", address);
- if (!GeoUtil.isValidTile(1, 1, 1, info)) {
- throw new GeoLocationDataException(String.format("Invalid OSM user define tile server: %s", address));
- }
return info;
}
}
-
+
/**
* Create the TileFactoryInfo for OSM zip File
- *
+ *
* @param zipPath Path to zip file.
- *
+ *
* @return TileFactoryInfo for zip file.
- *
- * @throws GeoLocationDataException
+ *
+ * @throws GeoLocationDataException
*/
private TileFactoryInfo createOSMZipFactory(String path) throws GeoLocationDataException {
if (path.isEmpty()) {
@@ -300,7 +338,10 @@ final public class MapPanel extends javax.swing.JPanel {
// it the popup is currently visible
if (waypoint != null && !waypoint.equals(currentlySelectedWaypoint)) {
currentlySelectedWaypoint = waypoint;
- showDetailsPopup();
+ if(currentPopup != null) {
+ showDetailsPopup();
+ }
+ mapViewer.repaint();
}
} catch (TskCoreException ex) {
logger.log(Level.WARNING, "Failed to show popup for waypoint", ex);
@@ -328,7 +369,7 @@ final public class MapPanel extends javax.swing.JPanel {
popupMenu.add(new JSeparator());
}
}
- popupMenu.show(this, point.x, point.y);
+ popupMenu.show(mapViewer, point.x, point.y);
}
/**
@@ -358,6 +399,8 @@ final public class MapPanel extends javax.swing.JPanel {
currentPopup = popupFactory.getPopup(this, detailPane, popupLocation.x, popupLocation.y);
currentPopup.show();
+
+ mapViewer.repaint();
}
}
@@ -484,8 +527,6 @@ final public class MapPanel extends javax.swing.JPanel {
mapViewer = new org.jxmapviewer.JXMapViewer();
zoomPanel = new javax.swing.JPanel();
zoomSlider = new javax.swing.JSlider();
- infoPanel = new javax.swing.JPanel();
- cordLabel = new javax.swing.JLabel();
setFocusable(false);
setLayout(new java.awt.BorderLayout());
@@ -552,13 +593,6 @@ final public class MapPanel extends javax.swing.JPanel {
mapViewer.add(zoomPanel, gridBagConstraints);
add(mapViewer, java.awt.BorderLayout.CENTER);
-
- infoPanel.setLayout(new java.awt.BorderLayout());
-
- org.openide.awt.Mnemonics.setLocalizedText(cordLabel, org.openide.util.NbBundle.getMessage(MapPanel.class, "MapPanel.cordLabel.text")); // NOI18N
- infoPanel.add(cordLabel, java.awt.BorderLayout.EAST);
-
- add(infoPanel, java.awt.BorderLayout.SOUTH);
}// //GEN-END:initComponents
private void zoomSliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_zoomSliderStateChanged
@@ -581,20 +615,51 @@ final public class MapPanel extends javax.swing.JPanel {
private void mapViewerMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_mapViewerMouseMoved
GeoPosition geopos = mapViewer.getTileFactory().pixelToGeo(evt.getPoint(), mapViewer.getZoom());
- cordLabel.setText(geopos.toString());
+ firePropertyChange(CURRENT_MOUSE_GEOPOSITION, null, geopos);
}//GEN-LAST:event_mapViewerMouseMoved
private void mapViewerMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_mapViewerMouseClicked
- currentlySelectedWaypoint = findClosestWaypoint(evt.getPoint());
- showDetailsPopup();
+ if(!evt.isPopupTrigger() && (evt.getButton() == MouseEvent.BUTTON1)) {
+ currentlySelectedWaypoint = findClosestWaypoint(evt.getPoint());
+ showDetailsPopup();
+ }
}//GEN-LAST:event_mapViewerMouseClicked
// Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JLabel cordLabel;
- private javax.swing.JPanel infoPanel;
private org.jxmapviewer.JXMapViewer mapViewer;
private javax.swing.JPanel zoomPanel;
private javax.swing.JSlider zoomSlider;
// End of variables declaration//GEN-END:variables
+
+ /**
+ * Renderer for the map waypoints.
+ */
+ private class MapWaypointRenderer implements WaypointRenderer {
+ private final BufferedImage defaultWaypointImage;
+ private final BufferedImage selectedWaypointImage;
+
+ /**
+ * Construct a WaypointRenederer
+ *
+ * @throws IOException
+ */
+ MapWaypointRenderer() throws IOException {
+ defaultWaypointImage = ImageIO.read(getClass().getResource("/org/sleuthkit/autopsy/images/waypoint_teal.png"));
+ selectedWaypointImage = ImageIO.read(getClass().getResource("/org/sleuthkit/autopsy/images/waypoint_yellow.png"));
+ }
+
+ @Override
+ public void paintWaypoint(Graphics2D gd, JXMapViewer jxmv, Waypoint waypoint) {
+ Point2D point = jxmv.getTileFactory().geoToPixel(waypoint.getPosition(), jxmv.getZoom());
+
+ int x = (int)point.getX();
+ int y = (int)point.getY();
+
+ BufferedImage image = (waypoint == currentlySelectedWaypoint ? selectedWaypointImage: defaultWaypointImage);
+
+ (gd.create()).drawImage(image, x -image.getWidth() / 2, y -image.getHeight(), null);
+ }
+
+ }
}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java
index 7a28f49737..61b4800d7a 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/MapWaypoint.java
@@ -95,21 +95,21 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
return mapPoints;
}
-
+
/**
- * Returns a list of of MapWaypoint objects for the given list of
+ * Returns a list of of MapWaypoint objects for the given list of
* datamodel.Waypoint objects.
- *
+ *
* @param dmWaypoints
- *
- * @return List of MapWaypoint objects. List will be empty if dmWaypoints was
- * empty or null.
+ *
+ * @return List of MapWaypoint objects. List will be empty if dmWaypoints
+ * was empty or null.
*/
static List getWaypoints(List dmWaypoints) {
List mapPoints = new ArrayList<>();
if (dmWaypoints != null) {
-
+
for (Waypoint point : dmWaypoints) {
mapPoints.add(new MapWaypoint(point));
}
@@ -118,6 +118,27 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
return mapPoints;
}
+ /**
+ * Helper function to get a list of data model waypoints from a list of
+ * MapWaypoints.
+ *
+ * @param mapWaypoints
+ *
+ * @return A list of Waypoint objects, or empty list if mapWaypoints was
+ * null or empty.
+ */
+ static List getDataModelWaypoints(List mapWaypoints) {
+ List waypoints = new ArrayList<>();
+
+ if (mapWaypoints != null) {
+ for (MapWaypoint point : mapWaypoints) {
+ waypoints.add(point.dataModelWaypoint);
+ }
+ }
+
+ return waypoints;
+ }
+
/**
* Returns a MapWaypoint without a reference to the datamodel waypoint.
*
@@ -271,20 +292,20 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
}
return menuItems;
}
-
- /**
+
+ /**
* Get the nicely formatted details for the given waypoint.
- *
- * @param point Waypoint object
+ *
+ * @param point Waypoint object
* @param header String details header
- *
- * @return HTML formatted String of details for given waypoint
+ *
+ * @return HTML formatted String of details for given waypoint
*/
private String getFormattedDetails(Waypoint point) {
StringBuilder result = new StringBuilder(); //NON-NLS
-
+
result.append("").append(formatAttribute("Name", point.getLabel()));
-
+
Long timestamp = point.getTimestamp();
if (timestamp != null) {
result.append(formatAttribute("Timestamp", getTimeStamp(timestamp)));
@@ -292,19 +313,19 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
result.append(formatAttribute("Latitude", point.getLatitude().toString()))
.append(formatAttribute("Longitude", point.getLongitude().toString()));
-
+
if (point.getAltitude() != null) {
result.append(formatAttribute("Altitude", point.getAltitude().toString()));
}
List list = point.getOtherProperties();
- for(Waypoint.Property prop: list) {
+ for (Waypoint.Property prop : list) {
String value = prop.getValue();
- if(value != null && !value.isEmpty()) {
+ if (value != null && !value.isEmpty()) {
result.append(formatAttribute(prop.getDisplayName(), value));
}
}
-
+
result.append("");
return result.toString();
@@ -312,16 +333,16 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
/**
* Format a title value pair.
- *
+ *
* @param title Title of the property
* @param value Value of the property
- *
- * @return Formatted string with the title and value
+ *
+ * @return Formatted string with the title and value
*/
private String formatAttribute(String title, String value) {
return String.format(HTML_PROP_FORMAT, title, value);
}
-
+
/**
* Format a point time stamp (in seconds) to the report format.
*
@@ -333,7 +354,6 @@ final class MapWaypoint extends KdTree.XYZPoint implements org.jxmapviewer.viewe
return DATE_FORMAT.format(new java.util.Date(timeStamp * 1000));
}
-
/**
* An action class for Extracting artifact files.
*/
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/BookmarkWaypoint.java b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/BookmarkWaypoint.java
new file mode 100755
index 0000000000..08fdfeccb6
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/BookmarkWaypoint.java
@@ -0,0 +1,78 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2019 Basis Technology Corp.
+ * contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.geolocation.datamodel;
+
+import java.util.Map;
+import org.sleuthkit.datamodel.BlackboardArtifact;
+import org.sleuthkit.datamodel.BlackboardAttribute;
+
+/**
+ * Class to represent TSK_GPS_BOOKMARK waypoints
+ *
+ */
+final class BookmarkWaypoint extends Waypoint {
+
+ /**
+ * Constructs a new BookmarkWaypoint from the given artifact.
+ *
+ * @param artifact BlackboardArtifact for this waypoint
+ *
+ * @throws GeoLocationDataException
+ */
+ BookmarkWaypoint(BlackboardArtifact artifact) throws GeoLocationDataException {
+ this(artifact, getAttributesFromArtifactAsMap(artifact));
+ }
+
+ /**
+ * Constructs a new BookmarkWaypoint.
+ *
+ * @param artifact BlackboardArtifact for this waypoint
+ * @param attributeMap A Map of the BlackboardAttributes for the given
+ * artifact.
+ *
+ * @throws GeoLocationDataException
+ */
+ private BookmarkWaypoint(BlackboardArtifact artifact, Map attributeMap) throws GeoLocationDataException {
+ super(artifact,
+ getLabelFromArtifact(attributeMap),
+ attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME).getValueLong() : null,
+ attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE).getValueDouble() : null,
+ attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE).getValueDouble() : null,
+ attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE).getValueDouble() : null,
+ null, attributeMap, null);
+ }
+
+ /**
+ * Gets the label for this waypoint.
+ *
+ * @param artifact BlackboardArtifact for waypoint
+ *
+ * @return Returns a label for the waypoint, or empty string if no label was
+ * found.
+ */
+ private static String getLabelFromArtifact(Map attributeMap) {
+ BlackboardAttribute attribute = attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME);
+ if (attribute != null) {
+ return attribute.getDisplayString();
+ }
+
+ return "";
+ }
+
+}
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Waypoint.java b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Waypoint.java
index 27e5da0dbd..8cc35555eb 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Waypoint.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Waypoint.java
@@ -50,10 +50,10 @@ public class Waypoint {
final private List immutablePropertiesList;
/**
- * This is a list of attributes that are already being handled by the
- * by getter functions.
+ * This is a list of attributes that are already being handled by the by
+ * getter functions.
*/
- static private BlackboardAttribute.ATTRIBUTE_TYPE[] ALREADY_HANDLED_ATTRIBUTES = {
+ static final private BlackboardAttribute.ATTRIBUTE_TYPE[] ALREADY_HANDLED_ATTRIBUTES = {
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_NAME,
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE,
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE,
@@ -65,19 +65,6 @@ public class Waypoint {
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE_END,
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE_END,};
- /**
- * Construct a waypoint with the given artifact.
- *
- * @param artifact BlackboardArtifact for this waypoint
- *
- * @throws GeoLocationDataException Exception will be thrown if artifact did
- * not have a valid longitude and latitude.
- */
- Waypoint(BlackboardArtifact artifact) throws GeoLocationDataException {
- this(artifact,
- getAttributesFromArtifactAsMap(artifact));
- }
-
/**
* Constructor that initializes all of the member variables.
*
@@ -110,25 +97,6 @@ public class Waypoint {
immutablePropertiesList = Collections.unmodifiableList(createGeolocationProperties(attributeMap));
}
- /**
- * Constructs a new ArtifactWaypoint.
- *
- * @param artifact BlackboardArtifact for this waypoint
- * @param attributeMap A Map of the BlackboardAttributes for the given
- * artifact.
- *
- * @throws GeoLocationDataException
- */
- private Waypoint(BlackboardArtifact artifact, Map attributeMap) throws GeoLocationDataException {
- this(artifact,
- getLabelFromArtifact(attributeMap),
- attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME).getValueLong() : null,
- attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LATITUDE).getValueDouble() : null,
- attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_LONGITUDE).getValueDouble() : null,
- attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE) != null ? attributeMap.get(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_GEO_ALTITUDE).getValueDouble() : null,
- null, attributeMap, null);
- }
-
/**
* Get the BlackboardArtifact that this waypoint represents.
*
@@ -205,11 +173,12 @@ public class Waypoint {
public List getOtherProperties() {
return immutablePropertiesList;
}
-
+
/**
* Returns the route that this waypoint is apart of .
- *
- * @return The waypoint route or null if the waypoint is not apart of a route.
+ *
+ * @return The waypoint route or null if the waypoint is not apart of a
+ * route.
*/
public Route getRoute() {
return route;
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java
index 7189302809..86539412be 100755
--- a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/WaypointBuilder.java
@@ -45,7 +45,7 @@ public final class WaypointBuilder {
= "SELECT artifact_id, artifact_type_id "
+ "FROM blackboard_attributes "
+ "WHERE attribute_type_id IN (%d, %d) "; //NON-NLS
-
+
// SELECT statement to get only artifact_ids
final static String GEO_ARTIFACT_QUERY_ID_ONLY
= "SELECT artifact_id "
@@ -70,8 +70,8 @@ public final class WaypointBuilder {
+ " )";
// Returns a list of artifacts with no time stamp
- final static String SELECT_WO_TIMESTAMP =
- "SELECT DISTINCT artifact_id, artifact_type_id "
+ final static String SELECT_WO_TIMESTAMP
+ = "SELECT DISTINCT artifact_id, artifact_type_id "
+ "FROM blackboard_attributes "
+ "WHERE artifact_id NOT IN (%s) "
+ "AND artifact_id IN (%s)"; //NON-NLS
@@ -121,6 +121,25 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of routes from the given list of waypoints.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of routes or an empty list if none were found.
+ */
+ public static List getRoutes(List waypoints) {
+ List routeList = new ArrayList<>();
+ for (Waypoint point : waypoints) {
+ Route route = point.getRoute();
+ if (route != null && !routeList.contains(route)) {
+ routeList.add(route);
+ }
+ }
+
+ return routeList;
+ }
+
/**
* Gets a list of Waypoints for TSK_GPS_TRACKPOINT artifacts.
*
@@ -150,6 +169,25 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of waypoints that come from TSK_GEO_TRACKPOINT artifacts.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of trackpoint waypoints or empty list if none were found.
+ */
+ public static List getTrackpointWaypoints(List waypoints) {
+ List specificPoints = new ArrayList<>();
+
+ for (Waypoint point : waypoints) {
+ if (point instanceof TrackpointWaypoint) {
+ specificPoints.add(point);
+ }
+ }
+
+ return specificPoints;
+ }
+
/**
* Gets a list of Waypoints for TSK_METADATA_EXIF artifacts.
*
@@ -183,6 +221,25 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of waypoints that come from TSK_METADATA_EXIF artifacts.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of trackpoint waypoints or empty list if none were found.
+ */
+ public static List getEXIFWaypoints(List waypoints) {
+ List specificPoints = new ArrayList<>();
+
+ for (Waypoint point : waypoints) {
+ if (point instanceof EXIFWaypoint) {
+ specificPoints.add(point);
+ }
+ }
+
+ return specificPoints;
+ }
+
/**
* Gets a list of Waypoints for TSK_GPS_SEARCH artifacts.
*
@@ -214,6 +271,25 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of waypoints that come from TSK_GPS_SEARCH artifacts.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of trackpoint waypoints or empty list if none were found.
+ */
+ public static List getSearchWaypoints(List waypoints) {
+ List specificPoints = new ArrayList<>();
+
+ for (Waypoint point : waypoints) {
+ if (point instanceof SearchWaypoint) {
+ specificPoints.add(point);
+ }
+ }
+
+ return specificPoints;
+ }
+
/**
* Gets a list of Waypoints for TSK_GPS_LAST_KNOWN_LOCATION artifacts.
*
@@ -245,6 +321,26 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of waypoints that come from TSK_GPS_LAST_KNOWN_LOCATION
+ * artifacts.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of trackpoint waypoints or empty list if none were found.
+ */
+ public static List getLastKnownWaypoints(List waypoints) {
+ List specificPoints = new ArrayList<>();
+
+ for (Waypoint point : waypoints) {
+ if (point instanceof LastKnownWaypoint) {
+ specificPoints.add(point);
+ }
+ }
+
+ return specificPoints;
+ }
+
/**
* Gets a list of Waypoints for TSK_GPS_BOOKMARK artifacts.
*
@@ -266,7 +362,7 @@ public final class WaypointBuilder {
if (artifacts != null) {
for (BlackboardArtifact artifact : artifacts) {
try {
- Waypoint point = new Waypoint(artifact);
+ Waypoint point = new BookmarkWaypoint(artifact);
points.add(point);
} catch (GeoLocationDataException ex) {
logger.log(Level.WARNING, String.format("No longitude or latitude available for TSK_GPS_BOOKMARK artifactID: %d", artifact.getArtifactID()), ex);//NON-NLS
@@ -276,6 +372,26 @@ public final class WaypointBuilder {
return points;
}
+ /**
+ * Returns a list of waypoints that come from TSK_GPS_LAST_KNOWN_LOCATION
+ * artifacts.
+ *
+ * @param waypoints A list of waypoints
+ *
+ * @return A list of trackpoint waypoints or empty list if none were found.
+ */
+ public static List getBookmarkWaypoints(List waypoints) {
+ List specificPoints = new ArrayList<>();
+
+ for (Waypoint point : waypoints) {
+ if (point instanceof BookmarkWaypoint) {
+ specificPoints.add(point);
+ }
+ }
+
+ return specificPoints;
+ }
+
/**
* Get a filtered list of waypoints.
*
@@ -386,7 +502,7 @@ public final class WaypointBuilder {
String mostRecentQuery = "";
if (!showAll && cntDaysFromRecent > 0) {
- mostRecentQuery = String.format("AND value_int64 > (%s)", //NON-NLS
+ mostRecentQuery = String.format("AND value_int64 > (%s)", //NON-NLS
String.format(MOST_RECENT_TIME,
cntDaysFromRecent,
BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DATETIME.getTypeID(),
@@ -464,7 +580,7 @@ public final class WaypointBuilder {
waypoints.add(new EXIFWaypoint(artifact));
break;
case TSK_GPS_BOOKMARK:
- waypoints.add(new Waypoint(artifact));
+ waypoints.add(new BookmarkWaypoint(artifact));
break;
case TSK_GPS_TRACKPOINT:
waypoints.add(new TrackpointWaypoint(artifact));
@@ -477,8 +593,7 @@ public final class WaypointBuilder {
waypoints.addAll(route.getRoute());
break;
default:
- waypoints.add(new Waypoint(artifact));
- break;
+ throw new GeoLocationDataException(String.format("Unable to create waypoint for artifact of type %s", type.toString()));
}
return waypoints;
diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ja.properties
new file mode 100644
index 0000000000..20895b6374
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ja.properties
@@ -0,0 +1,3 @@
+StatusIconCellRenderer.tooltiptext.error=\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+StatusIconCellRenderer.tooltiptext.ok=OK
+StatusIconCellRenderer.tooltiptext.warning=\u8b66\u544a\u304c\u767a\u751f\u3057\u307e\u3057\u305f
diff --git a/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ja.properties
new file mode 100644
index 0000000000..ec245205c5
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ja.properties
@@ -0,0 +1,28 @@
+HealthMonitorDashboard.createAdminPanel.disableButton=\u30e2\u30cb\u30bf\u30fc\u3092\u7121\u52b9\u5316
+HealthMonitorDashboard.createAdminPanel.enableButton=\u30e2\u30cb\u30bf\u30fc\u3092\u6709\u52b9\u5316
+HealthMonitorDashboard.createTimingControlPanel.filterByHost=\u30db\u30b9\u30c8\u5225\u306b\u30d5\u30a3\u30eb\u30bf\u30fc
+HealthMonitorDashboard.createTimingControlPanel.maxDays=\u6700\u5927\u8868\u793a\u65e5\u6570
+HealthMonitorDashboard.createTimingControlPanel.showTrendLine=\u30c8\u30ec\u30f3\u30c9\u30e9\u30a4\u30f3\u3092\u8868\u793a
+HealthMonitorDashboard.createTimingControlPanel.skipOutliers=\u5916\u308c\u5024\u3092\u30d7\u30ed\u30c3\u30c8\u3057\u306a\u3044
+HealthMonitorDashboard.createTimingPanel.noData=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093 - \u30e2\u30cb\u30bf\u30fc\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093
+HealthMonitorDashboard.createTimingPanel.timingMetricsTitle=\u30bf\u30a4\u30df\u30f3\u30b0\u6307\u6a19
+HealthMonitorDashboard.createUserControlPanel.maxDays=\u6700\u5927\u8868\u793a\u65e5\u6570
+HealthMonitorDashboard.createUserPanel.noData=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093 - \u30e2\u30cb\u30bf\u30fc\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093
+HealthMonitorDashboard.createUserPanel.userMetricsTitle=\u30e6\u30fc\u30b6\u30fc\u6307\u6a19
+HealthMonitorDashboard.DateRange.oneDay=1\u65e5
+HealthMonitorDashboard.DateRange.oneMonth=1\u30f5\u6708
+HealthMonitorDashboard.DateRange.oneWeek=1\u9031\u9593
+HealthMonitorDashboard.DateRange.twoWeeks=2\u9031\u9593
+HealthMonitorDashboard.display.dashboardTitle=\u6b63\u5e38\u6027\u30e2\u30cb\u30bf\u30fc
+HealthMonitorDashboard.display.errorCreatingDashboard=\u6b63\u5e38\u6027\u30e2\u30cb\u30bf\u30fc\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HealthMonitorDashboard.updateTimingMetricGraphs.noData=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093
+HealthMonitorDashboard.updateUserMetricGraphs.noData=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u3042\u308a\u307e\u305b\u3093
+TimeZonePanel.title=\u6b21\u306e\u5358\u4f4d\u3067\u6642\u523b\u3092\u8868\u793a:
+TimingMetricGraphPanel.paintComponent.hours=\u6642
+TimingMetricGraphPanel.paintComponent.microseconds=\u30de\u30a4\u30af\u30ed\u79d2
+TimingMetricGraphPanel.paintComponent.milliseconds=\u30df\u30ea\u79d2
+TimingMetricGraphPanel.paintComponent.minutes=\u5206
+TimingMetricGraphPanel.paintComponent.nanoseconds=\u30ca\u30ce\u79d2
+TimingMetricGraphPanel.paintComponent.seconds=\u79d2
+UserMetricGraphPanel.constructor.casesOpen=\u30b1\u30fc\u30b9\u304c\u958b\u3044\u3066\u3044\u307e\u3059
+UserMetricGraphPanel.constructor.loggedIn=Users logged in - \u8abf\u67fb\u54e1\u30ce\u30fc\u30c9\u306f\u9752\u8272\u3067\u3001\u81ea\u52d5\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30ce\u30fc\u30c9\u306f\u7dd1\u8272\u3067\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/images/waypoint_teal.png b/Core/src/org/sleuthkit/autopsy/images/waypoint_teal.png
new file mode 100755
index 0000000000..3860d1973c
Binary files /dev/null and b/Core/src/org/sleuthkit/autopsy/images/waypoint_teal.png differ
diff --git a/Core/src/org/sleuthkit/autopsy/images/waypoint_yellow.png b/Core/src/org/sleuthkit/autopsy/images/waypoint_yellow.png
new file mode 100755
index 0000000000..1cd715c101
Binary files /dev/null and b/Core/src/org/sleuthkit/autopsy/images/waypoint_yellow.png differ
diff --git a/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ja.properties
new file mode 100644
index 0000000000..2a979c7f04
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ja.properties
@@ -0,0 +1,10 @@
+# \u3053\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3] \u3067 [\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc] \u3092\u9078\u629e\u3057\u307e\u3059\u3002
+# \u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30c4\u30fc\u30eb | \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8] \u3092\u9078\u629e\u3057\u3001
+# \u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u958b\u304d\u307e\u3059\u3002
+
+# {0} - \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
+ImageWriter.progressBar.message=Finishing acquisition of {0} \u306e\u53d6\u5f97\u3092\u5b8c\u4e86\u4e2d\u3067\u3059(\u53d6\u308a\u6d88\u3059\u306b\u306f\u30c7\u30d0\u30a4\u30b9\u306e\u96fb\u6e90\u30d7\u30e9\u30b0\u3092\u629c\u304d\u307e\u3059)
+ImageWriterService.serviceName=\u30a4\u30e1\u30fc\u30b8\u30e9\u30a4\u30bf\u30fc
+ImageWriterService.waitingForVHDs=VHD\u304c\u5b8c\u4e86\u3059\u308b\u306e\u3092\u5f85\u3063\u3066\u3044\u307e\u3059
+ImageWriterService.shouldWait=\u9032\u884c\u4e2d\u306eVHD\u304c\u5b8c\u4e86\u3059\u308b\u306e\u3092\u5f85\u3063\u3066\u3044\u307e\u3059
+ImageWriterService.localDisk=\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u30b3\u30d4\u30fc
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties
index 2fc82d0dd9..215b536e3d 100644
--- a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ja.properties
@@ -1,117 +1,157 @@
+CTL_RunIngestAction=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c
+IngestJobSettingsPanel.IngestModulesTableRenderer.info.message=\u4ee5\u524d\u306b\u3053\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u4e0a\u3067\u3053\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u65e7\u30d0\u30fc\u30b8\u30e7\u30f3\u304c\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002
+IngestJobSettingsPanel.IngestModulesTableRenderer.warning.message=\u4ee5\u524d\u306b\u3053\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u4e0a\u3067\u3053\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\u3002
+IngestJobSettingsPanel.noPerRunSettings=\u9078\u629e\u3055\u308c\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u5b9f\u884c\u3054\u3068\u306e\u8a2d\u5b9a\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+IngestJobSettingsPanel.pastJobsButton.action.frame.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5c65\u6b74
+IngestManager.startupErr.dlgErrorList=\u30a8\u30e9\u30fc:
+IngestManager.startupErr.dlgMsg=1\u3064\u4ee5\u4e0a\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f\u3002
+IngestManager.startupErr.dlgSolution=\u5931\u6557\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u306b\u3059\u308b\u304b\u3001\u30a8\u30e9\u30fc\u3092\u4fee\u6b63\u3057\u3066\u304b\u3089\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+IngestManager.startupErr.dlgTitle=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u8d77\u52d5\u5931\u6557
+IngestOptionsPanel.fileFiltersTab.text=\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc
+IngestOptionsPanel.fileFiltersTab.toolTipText=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u4f5c\u6210\u304a\u3088\u3073\u7de8\u96c6\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u3067\u3059\u3002
+IngestOptionsPanel.profilesTab.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb
+IngestOptionsPanel.profilesTab.toolTipText=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u304a\u3088\u3073\u7de8\u96c6\u3059\u308b\u305f\u3081\u306e\u8a2d\u5b9a\u3067\u3059\u3002
+IngestOptionsPanel.settingsTab.text=\u8a2d\u5b9a
+IngestOptionsPanel.settingsTab.toolTipText=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u63d0\u4f9b\u53ef\u80fd\u306a\u30ea\u30bd\u30fc\u30b9\u306b\u95a2\u3059\u308b\u8a2d\u5b9a\u3067\u3059\u3002
+OpenIDE-Module-Name=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
+Menu/Tools/RunIngestModules=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
CTL_IngestMessageTopComponent=\u30e1\u30c3\u30bb\u30fc\u30b8
HINT_IngestMessageTopComponent=\u30e1\u30c3\u30bb\u30fc\u30b8\u30a6\u30a3\u30f3\u30c9\u30a6
-IngestDialog.closeButton.title=\u9589\u3058\u308b
-IngestDialog.startButton.title=\u958b\u59cb
-IngestJob.progress.cancelling=\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026
-IngestJob.progress.dataSourceIngest.displayName={1}\u306e{0}
-IngestJob.progress.fileIngest.displayName={0}\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u4e2d
-IngestManager.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-IngestManager.moduleErr.errListenToUpdates.msg=Ingest Manager\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\u3092\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
-IngestManager.StartIngestJobsTask.run.cancelling={0}\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
-IngestManager.StartIngestJobsTask.run.displayName=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u958b\u59cb\u4e2d
-IngestMessage.exception.srcSubjDetailsDataNotNull.msg=\u30bd\u30fc\u30b9\u3001\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u3001\u8a73\u7d30\u304a\u3088\u3073\u30c7\u30fc\u30bf\u306f\u30cc\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-IngestMessage.exception.srcSubjNotNull.msg=\u30bd\u30fc\u30b9\u304a\u3088\u3073\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u30cc\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-IngestMessage.exception.typeSrcSubjNotNull.msg=\u30e1\u30c3\u30bb\u30fc\u30b8\u30bf\u30a4\u30d7\u3001\u30bd\u30fc\u30b9\u304a\u3088\u3073\u30b5\u30d6\u30b8\u30a7\u30af\u30c8\u306f\u30cc\u30eb\u3067\u306f\u3044\u3051\u307e\u305b\u3093
-IngestMessage.toString.data.text=\ \u30c7\u30fc\u30bf\uff1a{0}
-IngestMessage.toString.date.text=\ \u65e5\u4ed8\uff1a{0}
-IngestMessage.toString.details.text=\ \u8a73\u7d30\uff1a{0}
-IngestMessage.toString.subject.text=\ \u30b5\u30d6\u30b8\u30a7\u30af\u30c8\uff1a{0}
-IngestMessage.toString.type.text=\u30bf\u30a4\u30d7\uff1a{0}
+IngestMessageDetailsPanel.backButton.text=
+IngestMessageDetailsPanel.viewArtifactButton.text=\u7d50\u679c\u306b\u79fb\u52d5
+IngestMessageDetailsPanel.viewContentButton.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306b\u79fb\u52d5
+IngestMessagePanel.sortByLabel.text=\u6b21\u3067\u30bd\u30fc\u30c8:
+IngestMessagePanel.sortByComboBox.toolTipText=\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u6642\u9593(\u6642\u7cfb\u5217\u9806)\u307e\u305f\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u512a\u5148\u5ea6\u3067\u30bd\u30fc\u30c8
+IngestMessageDetailsPanel.messageDetailsPane.contentType=\u30c6\u30ad\u30b9\u30c8/html
+IngestMessageDetailsPanel.messageDetailsPane.toolTipText=
+IngestMessagesToolbar.toolTipText=
IngestMessageDetailsPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
-IngestMessageDetailsPanel.messageDetailsPane.contentType=\u30c6\u30ad\u30b9\u30c8\uff0fhtml
-IngestMessageDetailsPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
-IngestMessageDetailsPanel.viewArtifactButton.text=\u7d50\u679c\u3078\u79fb\u52d5
-IngestMessageDetailsPanel.viewContentButton.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u79fb\u52d5
-IngestMessagePanel.BooleanRenderer.exception.nonBoolVal.msg=\u30d6\u30fc\u30eb\u5024\u3067\u306f\u306a\u3044\u3082\u306e\u306bBooleanRenderer\u3092\u4f7f\u7528\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-IngestMessagePanel.DateRenderer.exception.nonDateVal.text=\u65e5\u4ed8\u3067\u306f\u306a\u3044\u3082\u306e\u306bDateRenderer\u3092\u4f7f\u7528\u3057\u3088\u3046\u3068\u3057\u307e\u3057\u305f\u3002
-IngestMessagePanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-IngestMessagePanel.moduleErr.errListenUpdates.text=IngestMessagePanel\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\u3092\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
-IngestMessagePanel.MsgTableMod.colNames.module=\u30e2\u30b8\u30e5\u30fc\u30eb
-IngestMessagePanel.MsgTableMod.colNames.new=\u65b0\u898f\uff1f
-IngestMessagePanel.MsgTableMod.colNames.num=\u756a\u53f7
-IngestMessagePanel.MsgTableMod.colNames.subject=\u30b5\u30d6\u30b8\u30a7\u30af\u30c8
-IngestMessagePanel.MsgTableMod.colNames.timestamp=\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7
-IngestMessagePanel.sortByComboBox.model.priority=\u512a\u5148\u5ea6
-IngestMessagePanel.sortByComboBox.model.time=\u6642\u9593
-IngestMessagePanel.sortByComboBox.toolTipText=\u6642\u9593\u9806\uff08\u6642\u7cfb\u5217\uff09\u307e\u305f\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u512a\u5148\u5ea6\u3067\u30bd\u30fc\u30c8
-IngestMessagePanel.sortByLabel.text=\u6b21\u3067\u30bd\u30fc\u30c8\uff1a
-IngestMessagePanel.totalMessagesNameLabel.text=\u5408\u8a08\uff1a
+IngestMessageDetailsPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u3092\u9078\u629e
+IngestMessageTopComponent.displayName=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30dc\u30c3\u30af\u30b9
+IngestMessagePanel.totalMessagesNameLabel.text=\u5408\u8a08:
IngestMessagePanel.totalMessagesNameVal.text=-
-IngestMessagePanel.totalUniqueMessagesNameLabel.text=\u30e6\u30cb\u30fc\u30af\uff1a
+IngestMessagePanel.totalUniqueMessagesNameLabel.text=\u4e00\u610f:
IngestMessagePanel.totalUniqueMessagesNameVal.text=-
-IngestMessagesToolbar.customizeButton.toolTipText=\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
-IngestMessageTopComponent.displayName=\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
-IngestMessageTopComponent.displayReport.option.GenRpt=\u30ec\u30dd\u30fc\u30c8\u3092\u751f\u6210
+IngestJob.progress.dataSourceIngest.initialDisplayName={0} \u3092\u89e3\u6790\u4e2d\u3067\u3059
+IngestJob.progress.dataSourceIngest.displayName={1} \u306e {0}
+IngestJob.progress.fileIngest.displayName={0} \u304b\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u4e2d\u3067\u3059
+IngestJob.progress.cancelling=\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...
+IngestJob.cancellationDialog.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u53d6\u308a\u6d88\u3059
+IngestDialog.startButton.title=\u958b\u59cb
+IngestDialog.closeButton.title=\u7d42\u4e86
+IngestManager.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
+IngestManager.moduleErr.errListenToUpdates.msg=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+IngestMessage.toString.type.text=\u30bf\u30a4\u30d7: {0}
+IngestMessage.toString.date.text=\ \u65e5\u4ed8: {0}
+IngestMessage.toString.subject.text=\ \u4ef6\u540d: {0}
+IngestMessage.toString.details.text=\ \u8a73\u7d30: {0}
+IngestMessage.toString.date.text=\ \u30c7\u30fc\u30bf: {0}
+IngestMessage.exception.typeSrcSubjNotNull.msg=\u30e1\u30c3\u30bb\u30fc\u30b8\u30bf\u30a4\u30d7\u3001\u30bd\u30fc\u30b9\u304a\u3088\u3073\u4ef6\u540d\u3092null\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+IngestMessage.exception.srcSubjNotNull.msg=\u30bd\u30fc\u30b9\u3068\u4ef6\u540d\u3092null\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+IngestMessage.exception.srcSubjDetailsDataNotNull.msg=\u30bd\u30fc\u30b9\u3001\u4ef6\u540d\u3001\u8a73\u7d30\u304a\u3088\u3073\u30c7\u30fc\u30bf\u3092null\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093
+IngestMessagePanel.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
+IngestMessagePanel.moduleErr.errListenUpdates.text=IngestMessagePanel\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+IngestMessagePanel.MsgTableMod.colNames.module=\u30e2\u30b8\u30e5\u30fc\u30eb
+IngestMessagePanel.MsgTableMod.colNames.num=\u6570\u5b57
+IngestMessagePanel.MsgTableMod.colNames.new=\u65b0\u898f?
+IngestMessagePanel.MsgTableMod.colNames.subject=\u4ef6\u540d
+IngestMessagePanel.MsgTableMod.colNames.timestamp=\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7
+IngestMessagePanel.BooleanRenderer.exception.nonBoolVal.msg=\u30d6\u30fc\u30eb\u5024\u4ee5\u5916\u306e\u5024\u3067BooleanRenderer\u3092\u4f7f\u7528\u3057\u3088\u3046\u3068\u8a66\u307f\u307e\u3057\u305f\u3002
+IngestMessagePanel.DateRenderer.exception.nonDateVal.text=\u65e5\u4ed8\u5024\u4ee5\u5916\u306e\u5024\u3067DateRenderer\u3092\u4f7f\u7528\u3057\u3088\u3046\u3068\u8a66\u307f\u307e\u3057\u305f\u3002
IngestMessageTopComponent.displayReport.option.OK=OK
-IngestMessageTopComponent.initComponents.name=\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
-IngestMessageTopComponent.msgDlg.ingestRpt.text=\u30ec\u30dd\u30fc\u30c8\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
-IngestMonitor.mgrErrMsg.lowDiskSpace.msg=\u30c7\u30a3\u30b9\u30af{0}\u306e\u30c7\u30a3\u30b9\u30af\u9818\u57df\u4e0d\u8db3\u306e\u305f\u3081\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u4e2d\u6b62\u3057\u307e\u3059\u3002\n\u30b1\u30fc\u30b9\u30c9\u30e9\u30a4\u30d6\u306b\u6700\u4f4e1GB\u306e\u7a7a\u304d\u9818\u57df\u304c\u3042\u308b\u306e\u3092\u78ba\u8a8d\u3057\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u518d\u5b9f\u884c\u3057\u3066\u4e0b\u3055\u3044\u3002
-IngestMonitor.mgrErrMsg.lowDiskSpace.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u4e2d\u6b62\u3055\u308c\u307e\u3057\u305f\u30fc{0}\u306e\u30c7\u30a3\u30b9\u30af\u9818\u57df\u4e0d\u8db3
-OpenIDE-Module-Name=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
-IngestManager.StartIngestJobsTask.run.startupErr.dlgErrorList=\n\u30a8\u30e9\u30fc\uff1a\n{0}
-IngestManager.StartIngestJobsTask.run.startupErr.dlgMsg=\u5358\u6570\u307e\u305f\u306f\u8907\u6570\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30b9\u30bf\u30fc\u30c8\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u306f\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f\u3002
-IngestManager.StartIngestJobsTask.run.startupErr.dlgSolution=\u5931\u6557\u3057\u305f\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u5316\u3059\u308b\u304b\u30a8\u30e9\u30fc\u3092\u89e3\u6c7a\u3057\u3001\u305d\u306e\u5f8c\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3001\n\u300c\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u5b9f\u884c\u300d\u3092\u9078\u629e\u3057\u3066\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u518d\u5b9f\u884c\u3057\u3066\u4e0b\u3055\u3044\u3002
-IngestManager.StartIngestJobsTask.run.startupErr.dlgTitle=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5931\u6557
-IngestJobSettings.createModuleSettingsFolder.warning=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u8a2d\u5b9a\u30d5\u30a9\u30eb\u30c0\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3002
-IngestJob.progress.dataSourceIngest.initialDisplayName={0}\u3092\u89e3\u6790\u4e2d
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=\u7d4c\u904e\u6642\u9593\uff08\u6642\uff1a\u5206\uff1a\u79d2\uff09
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=\u30d5\u30a1\u30a4\u30eb
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=\u958b\u59cb\u6642\u9593
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=\u30b9\u30ec\u30c3\u30c9ID
-IngestManager.IngestMessage.ErrorMessageLimitReached.msg=\u6700\u5927\u6570({0})\u306e\u30a8\u30e9\u30fc\u304a\u3088\u3073\u307e\u305f\u306f\u8b66\u544a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u63b2\u8f09\u3055\u308c\u307e\u3057\u305f\u3002\u3055\u3089\u306a\u308b\u30a8\u30e9\u30fc\uff0f\u8b66\u544a\u306f\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\uff08\u30d8\u30eb\u30d7->\u30ed\u30b0\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u958b\u304f\uff09
-IngestManager.IngestMessage.ErrorMessageLimitReached.subject=\u6700\u5927\u6570\u306e\u30a8\u30e9\u30fc\u304c\u63b2\u8f09\u3055\u308c\u307e\u3057\u305f
-IngestManager.IngestMessage.ErrorMessageLimitReached.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30de\u30cd\u30b8\u30e3\u30fc
-IngestManager.IngestThreadActivitySnapshot.idleThread=\u30a2\u30a4\u30c9\u30eb
-IngestProgressSnapshotDialog.title.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d7\u30ed\u30b0\u30ec\u30b9\u30fb\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
-IngestProgressSnapshotPanel.closeButton.text=\u9589\u3058\u308b
-IngestProgressSnapshotPanel.refreshButton.text=\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.activity=\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
-ModuleTableModel.colName.duration=\u6240\u8981\u6642\u9593
-IngestJob.cancellationDialog.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u30ad\u30e3\u30f3\u30bb\u30eb
-IngestJobSettings.missingModule.warning=\u4ee5\u524d\u306b\u8aad\u307f\u8fbc\u3093\u3060{0}\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-DataSourceIngestCancellationPanel.cancelAllModulesRadioButton.text=\u5168\u3066\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30ad\u30e3\u30f3\u30bb\u30eb
-DataSourceIngestCancellationPanel.cancelCurrentModuleRadioButton.text=\u73fe\u5728\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u307f\u30ad\u30e3\u30f3\u30bb\u30eb
-FileIngestCancellationPanel.cancelFileIngestRadioButton.text=\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u307f\u30ad\u30e3\u30f3\u30bb\u30eb
-FileIngestCancellationPanel.cancelIngestJobRadioButton.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304a\u3088\u3073\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u30ad\u30e3\u30f3\u30bb\u30eb
-IngestJobSettings.moduleSettingsLoad.warning={1}\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e{0}\u30e2\u30b8\u30e5\u30fc\u30eb\u7528\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3092\u4f7f\u7528\u3057\u3066\u3044\u307e\u3059\u3002
-IngestJobSettings.save.warning={0}\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-IngestJobTableModel.colName.dataSource=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
-IngestJobTableModel.colName.dirQueued=\u30ad\u30e5\u30fc\u3055\u308c\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
-IngestJobTableModel.colName.filesPerSec=\u30d5\u30a1\u30a4\u30eb\uff0f\u79d2
-IngestJobTableModel.colName.filesQueued=\u30ad\u30e5\u30fc\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
-IngestJobTableModel.colName.inProgress=\u51e6\u7406\u4e2d
-IngestJobTableModel.colName.jobID=\u30b8\u30e7\u30d6ID
-IngestJobTableModel.colName.numProcessed=\u51e6\u7406\u3055\u308c\u305f\u6570
-IngestJobTableModel.colName.rootQueued=\u30ad\u30e5\u30fc\u3055\u308c\u305f\u30eb\u30fc\u30c8
-IngestJobTableModel.colName.start=\u30b9\u30bf\u30fc\u30c8
-IngestModuleFactoryLoader.errorMessages.duplicateDisplayName=\u5225\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u540d\u524d\u3092\u91cd\u8907\u3059\u308b\u3001{0}\u306e\u540d\u524d\u3092\u6301\u3064\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u4f7f\u7528\u3057\u307e\u305b\u3093\u3002
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.jobID=\u30b8\u30e7\u30d6ID
-ModuleTableModel.colName.module=\u30e2\u30b8\u30e5\u30fc\u30eb
-
-Menu/Tools/RunIngestModules=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
-IngestManager.OpenEventChannel.Fail.ErrMsg=\u3053\u306e\u30b1\u30fc\u30b9\u3067\u4f7f\u308f\u308c\u3066\u3044\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u4ed6\u306e\u30ce\u30fc\u30c9\u306b\u89e3\u6790\u30d7\u30ed\u30bb\u30b9\u304c\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+IngestMessageTopComponent.displayReport.option.GenRpt=\u30ec\u30dd\u30fc\u30c8\u751f\u6210
+IngestMessageTopComponent.msgDlg.ingestRpt.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30ec\u30dd\u30fc\u30c8
+IngestMonitor.mgrErrMsg.lowDiskSpace.title=Ingest stopped - {0} \u306e\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u5c11\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3059
+IngestMonitor.mgrErrMsg.lowDiskSpace.msg=\u30c7\u30a3\u30b9\u30af {0} \u306e\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u5c11\u306a\u304f\u306a\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u4e2d\u6b62\u3057\u307e\u3057\u305f\u3002\n\u30b1\u30fc\u30b9\u306e\u30c9\u30e9\u30a4\u30d6\u306e\u7a7a\u304d\u9818\u57df\u304c\u5c11\u306a\u304f\u30681GB\u3042\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304b\u3089\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+IngestManager.StartIngestJobsTask.run.displayName=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u8d77\u52d5\u4e2d\u3067\u3059
+IngestManager.StartIngestJobsTask.run.cancelling={0} (\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...)
+IngestMessagePanel.sortByComboBox.model.time=\u6642\u523b
+IngestMessagePanel.sortByComboBox.model.priority=\u512a\u5148\u5ea6
+IngestMessagesToolbar.customizeButton.toolTipText=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8
+IngestMessageTopComponent.initComponents.name=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30dc\u30c3\u30af\u30b9
+IngestManager.OpenEventChannel.Fail.ErrMsg=\u30b1\u30fc\u30b9\u3067\u9023\u643a\u3057\u3066\u3044\u308b\u53ef\u80fd\u6027\u306e\u3042\u308b\u305d\u306e\u4ed6\u306e\u30ce\u30fc\u30c9\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
IngestManager.OpenEventChannel.Fail.Title=\u63a5\u7d9a\u5931\u6557
-IngestJobSettings.moduleSettingsSave.warning={1}\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e{0}\u30e2\u30b8\u30e5\u30fc\u30eb\u7528\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-IngestJobTableModel.colName.dsQueued=\u30ad\u30e5\u30fc\u3055\u308c\u305fDS
-IngestJobSettingsPanel.jButtonSelectAll.text=\u5168\u3066\u9078\u629e
-IngestJobSettingsPanel.jButtonDeselectAll.text=\u5168\u3066\u9078\u629e\u89e3\u9664
-IngestManager.cancellingIngest.msgDlg.text=\u73fe\u5728\u5b9f\u884c\u4e2d\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u3092\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d
-IngestManager.serviceIsDown.msgDlg.text={0}\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
-RunIngestSubMenu.menuItem.empty=\u30fc\u7a7a\u767d\u30fc
+IngestJobSettings.createModuleSettingsFolder.warning=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u8a2d\u5b9a\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3002
+IngestJobSettings.missingModule.warning=\u4ee5\u524d\u306b\u8aad\u307f\u8fbc\u3093\u3060 {0} \u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+IngestJobSettings.save.warning={0} \u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+IngestJobSettings.moduleSettingsLoad.warning=\u30c7\u30d5\u30a9\u30eb\u30c8\u8a2d\u5b9a\u3067\u3001{1} \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e {0} \u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+IngestJobSettings.moduleSettingsSave.warning={1} \u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306e {0} \u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u8a2d\u5b9a\u3092\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+IngestProgressSnapshotDialog.title.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u9032\u6357\u72b6\u6cc1\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8
+IngestProgressSnapshotPanel.refreshButton.text=\u66f4\u65b0
+IngestProgressSnapshotPanel.closeButton.text=\u7d42\u4e86
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=\u30b9\u30ec\u30c3\u30c9ID
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.activity=\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=\u30d5\u30a1\u30a4\u30eb
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=\u958b\u59cb\u6642\u523b
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=\u7d4c\u904e\u6642\u9593(H:M:S)
+IngestManager.IngestThreadActivitySnapshot.idleThread=\u30a2\u30a4\u30c9\u30eb\u4e2d
+IngestManager.IngestMessage.ErrorMessageLimitReached.subject=\u63d0\u793a\u3055\u308c\u305f\u6700\u5927\u30a8\u30e9\u30fc\u6570
+IngestManager.IngestMessage.ErrorMessageLimitReached.msg=\u63d0\u793a\u3055\u308c\u305f\u30a8\u30e9\u30fc\u304a\u3088\u3073/\u307e\u305f\u306f\u8b66\u544a\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u6700\u5927\u6570 ({0}) \u3067\u3059\u3002\u305d\u306e\u4ed6\u306e\u30a8\u30e9\u30fc/\u8b66\u544a\u306f\u3001\u30ed\u30b0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044([\u30d8\u30eb\u30d7] -> [\u30ed\u30b0\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u958b\u304f])\u3002
+IngestManager.IngestMessage.ErrorMessageLimitReached.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30de\u30cd\u30fc\u30b8\u30e3\u30fc
+IngestModuleFactoryLoader.errorMessages.duplicateDisplayName={0} \u306e\u540d\u524d\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\u5225\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u540d\u3068\u91cd\u8907\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u4f7f\u7528\u3055\u308c\u307e\u305b\u3093\u3002
+DataSourceIngestCancellationPanel.cancelCurrentModuleRadioButton.text=\u73fe\u5728\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u307f\u3092\u53d6\u308a\u6d88\u3059
+FileIngestCancellationPanel.cancelIngestJobRadioButton.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3068\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u53d6\u308a\u6d88\u3059
+FileIngestCancellationPanel.cancelFileIngestRadioButton.text=\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u307f\u3092\u53d6\u308a\u6d88\u3059
+DataSourceIngestCancellationPanel.cancelAllModulesRadioButton.text=\u3059\u3079\u3066\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u53d6\u308a\u6d88\u3059
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.jobID=\u30b8\u30e7\u30d6ID
+IngestJobTableModel.colName.jobID=\u30b8\u30e7\u30d6ID
+IngestJobTableModel.colName.dataSource=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
+IngestJobTableModel.colName.start=\u958b\u59cb
+IngestJobTableModel.colName.numProcessed=\u51e6\u7406\u3057\u305f\u6570
+IngestJobTableModel.colName.filesPerSec=\u30d5\u30a1\u30a4\u30eb/\u79d2
+IngestJobTableModel.colName.inProgress=\u9032\u884c\u4e2d
+IngestJobTableModel.colName.filesQueued=\u30ad\u30e5\u30fc\u6e08\u307f\u30d5\u30a1\u30a4\u30eb
+IngestJobTableModel.colName.dirQueued=\u30ad\u30e5\u30fc\u6e08\u307f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc
+IngestJobTableModel.colName.rootQueued=\u30ad\u30e5\u30fc\u6e08\u307f\u30eb\u30fc\u30c8
+IngestJobTableModel.colName.dsQueued=\u30ad\u30e5\u30fc\u6e08\u307f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9
+ModuleTableModel.colName.module=\u30e2\u30b8\u30e5\u30fc\u30eb
+ModuleTableModel.colName.duration=\u671f\u9593
+IngestJobSettingsPanel.jButtonSelectAll.text=\u3059\u3079\u3066\u3092\u9078\u629e
+IngestJobSettingsPanel.jButtonDeselectAll.text=\u3059\u3079\u3066\u306e\u9078\u629e\u3092\u89e3\u9664
+IngestManager.cancellingIngest.msgDlg.text=\u73fe\u5728\u5b9f\u884c\u4e2d\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u3092\u3059\u3079\u3066\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059
+IngestManager.serviceIsDown.msgDlg.text={0} \u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
+ProfilePanel.messages.profileNameContainsIllegalCharacter=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u4e0d\u6b63\u306a\u6587\u5b57\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059
+ProfilePanel.messages.profilesMustBeNamed=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306b\u540d\u524d\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+ProfilePanel.newProfileText=NewEmptyProfile
+ProfilePanel.profileDescLabel.text=\u8aac\u660e:
+ProfilePanel.profileNameLabel.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d:
+ProfilePanel.title.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb
+ProfileSettingsPanel.deleteProfileButton.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664
+# {0} - \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d
+ProfileSettingsPanel.doFileSetsDialog.duplicateProfile.text={0} \u306e\u540d\u524d\u306e\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
+ProfileSettingsPanel.editProfileButton.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u7de8\u96c6
+ProfileSettingsPanel.filterNameLabel.text=\u30d5\u30a3\u30eb\u30bf\u30fc:
+ProfileSettingsPanel.infoTextArea.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5185\u306e\u4e00\u90e8\u307e\u305f\u306f\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u4e0a\u3067\u4e8b\u524d\u69cb\u6210\u6e08\u307f\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30bb\u30c3\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30d6\u30bb\u30c3\u30c8\u4e0a\u3067\u540c\u3058\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30bb\u30c3\u30c8\u3092\u983b\u7e41\u306b\u5b9f\u884c\u3059\u308b\u5834\u5408\u306f\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ProfileSettingsPanel.messages.filterLoadFailed=\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f
+ProfileSettingsPanel.newProfileButton.text=\u65b0\u898f\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb
+ProfileSettingsPanel.profileDescLabel.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u8aac\u660e:
+ProfileSettingsPanel.profileListLabel.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb:
+ProfileSettingsPanel.selectedModulesLabel.text=\u9078\u629e\u3057\u305f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb:
+ProfileSettingsPanel.title=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u8a2d\u5b9a
+RunIngestSubMenu.menuItem.empty=-\u7a7a(\u672a\u5165\u529b)-
RunIngestModulesMenu.getName.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
-DataSourceIngestPipeline.moduleError.title.text={0}\u30a8\u30e9\u30fc
-FileIngestPipeline.moduleError.title.text={0}\u30a8\u30e9\u30fc
-IngestJob.cancelReason.notCancelled.text=\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-IngestJob.cancelReason.cancelledByUser.text=\u30e6\u30fc\u30b6\u30fc\u304c\u30ad\u30e3\u30f3\u30bb\u30eb\u3057\u307e\u3057\u305f
-IngestJob.cancelReason.ingestModStartFail.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8d77\u52d5\u306b\u5931\u6557
-IngestJob.cancelReason.outOfDiskSpace.text=\u30c7\u30a3\u30b9\u30af\u30b9\u30da\u30fc\u30b9\u304c\u8db3\u308a\u307e\u305b\u3093
+DataSourceIngestPipeline.moduleError.title.text={0} \u30a8\u30e9\u30fc
+FileIngestPipeline.moduleError.title.text={0} \u30a8\u30e9\u30fc
+IngestJob.cancelReason.notCancelled.text=\u53d6\u308a\u6d88\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+IngestJob.cancelReason.cancelledByUser.text=\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f
+IngestJob.cancelReason.ingestModStartFail.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+IngestJob.cancelReason.outOfDiskSpace.text=\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u3042\u308a\u307e\u305b\u3093
+IngestJob.cancelReason.servicesDown.text=\u30b5\u30fc\u30d3\u30b9\u304c\u30c0\u30a6\u30f3\u3057\u3066\u3044\u307e\u3059
IngestJob.cancelReason.caseClosed.text=\u30b1\u30fc\u30b9\u3092\u9589\u3058\u307e\u3057\u305f
-IngestJobSettingsPanel.globalSettingsButton.actionCommand=\u30a2\u30c9\u30d0\u30f3\u30b9
-IngestJobSettingsPanel.globalSettingsButton.text=\u30a2\u30c9\u30d0\u30f3\u30b9
-IngestSettingsPanel.jLabelNumThreads.text=\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u4f7f\u7528\u3059\u308b\u30b9\u30ec\u30c3\u30c9\u6570\uff1a
+IngestJobSettingsPanel.globalSettingsButton.text=\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a
+\u30b2\u30b9\u30c8
+IngestJobSettingsPanel.globalSettingsButton.actionCommand=\u9ad8\u5ea6
+IngestJobSettingsPanel.globalSettingsButton.text=\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a
+IngestJobSettingsPanel.pastJobsButton.text=\u5c65\u6b74
+IngestJobSettingsPanel.fileIngestFilterLabel.text=\u6b21\u3067\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c:
+OptionsCategory_Name_IngestOptions=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
+OptionsCategory_Keywords_IngestOptions=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
IngestSettingsPanel.jLabelProcessTimeOutUnits.text=\u6642\u9593
-IngestSettingsPanel.jLabelSetProcessTimeOut.text=\u4e00\u5b9a\u306e\u6642\u9593\u304c\u904e\u304e\u305f\u5f8c\u306b\u81ea\u52d5\u7684\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u505c\u6b62\u3067\u304d\u308b\u3088\u3046\u306b\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u6709\u52b9\u5316\uff1a
-IngestSettingsPanel.restartRequiredLabel.text=\u3053\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u3067\u306f\u6700\u5927{0}\u306e\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b9\u30ec\u30c3\u30c9\u3092\u4f7f\u7528\u3059\u3079\u304d\u3067\u3059\u3002\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u518d\u8d77\u52d5\u304c\u5fc5\u8981\u3067\u3059\u3002
-IngestSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-ProfileSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+IngestSettingsPanel.jFormattedTextFieldProcTimeOutHrs.text=60
+IngestSettingsPanel.jCheckBoxEnableProcTimeout.text=
+IngestSettingsPanel.jLabelSetProcessTimeOut.text=\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u6709\u52b9\u306b\u3059\u308b\u3068\u3001\u8a2d\u5b9a\u3057\u305f\u6642\u9593\u306e\u7d4c\u904e\u5f8c\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u81ea\u52d5\u7684\u306b\u7d42\u4e86\u3067\u304d\u307e\u3059\u3002
+IngestSettingsPanel.restartRequiredLabel.text=\u3053\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u306e\u5834\u5408\u3001\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b9\u30ec\u30c3\u30c9 {0} \u306e\u6700\u5927\u6570\u3092\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u6709\u52b9\u306b\u3059\u308b\u306b\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u518d\u8d77\u52d5\u304c\u5fc5\u8981\u3067\u3059\u3002
+IngestSettingsPanel.jLabelNumThreads.text=\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u4f7f\u7528\u3067\u304d\u308b\u30b9\u30ec\u30c3\u30c9\u6570:
+IngestSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ProfileSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ja.properties
index 39d7a2632b..431b60a8b1 100644
--- a/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ja.properties
@@ -1 +1,8 @@
-RunIngestModulesAction.name=\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
\ No newline at end of file
+IngestModulesConfigWizardPanel.name.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u69cb\u6210
+IngestProfileSelectionPanel.customSettings.description=\u30a6\u30a3\u30b6\u30fc\u30c9\u306e\u6b21\u306e\u30b9\u30c6\u30c3\u30d7\u3067\u500b\u3005\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u8a2d\u5b9a\u3092\u69cb\u6210
+IngestProfileSelectionPanel.customSettings.name=\u30ab\u30b9\u30bf\u30e0\u8a2d\u5b9a
+IngestProfileSelectionPanel.ingestSettingsButton.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u8a2d\u5b9a
+IngestProfileSelectionPanel.profileListLabel.text=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e:
+IngestProfileWizardPanel.panelName=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u9078\u629e\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
+RunIngestModulesAction.actionPerformed.errorMessage=\u9078\u629e\u3057\u305f\u9805\u76ee\u306e\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30af\u30a8\u30ea\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+RunIngestModulesAction.name=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c
diff --git a/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ja.properties
index 9bbd244f08..76dff54faf 100644
--- a/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ja.properties
@@ -1,7 +1,7 @@
-OpenIDE-Module-Name=\u30E1\u30CB\u30E5\u30FC\u30A2\u30AF\u30B7\u30E7\u30F3
-DataContentDynamicMenu.menu.dataContentWin.text=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4\u30A6\u30A3\u30F3\u30C9\u30A6
-DataContentMenu.getName.text=\u30C7\u30FC\u30BF\u30B3\u30F3\u30C6\u30F3\u30C4\u30E1\u30CB\u30E5\u30FC
-DataExplorerMenu.getName.text=\u30C7\u30FC\u30BF\u30A8\u30AF\u30B9\u30D7\u30ED\u30FC\u30E9\u30C4\u30FC\u30EB
-DataResultMenu.menu.dataResWin.text=\u30C7\u30FC\u30BF\u7D50\u679C\u30A6\u30A3\u30F3\u30C9\u30A6
-DataResultMenu.getName.text=\u30C7\u30FC\u30BF\u7D50\u679C\u30E1\u30CB\u30E5\u30FC
-SearchResultMenu.menu.dataRes.text=\u30C7\u30FC\u30BF\u7D50\u679C
\ No newline at end of file
+OpenIDE-Module-Name=\u30e1\u30cb\u30e5\u30fc\u30a2\u30af\u30b7\u30e7\u30f3
+DataContentDynamicMenu.menu.dataContentWin.text=\u30c7\u30fc\u30bf\u30b3\u30f3\u30c6\u30f3\u30c4\u30a6\u30a3\u30f3\u30c9\u30a6
+DataContentMenu.getName.text=\u30c7\u30fc\u30bf\u30b3\u30f3\u30c6\u30f3\u30c4\u30e1\u30cb\u30e5\u30fc
+DataExplorerMenu.getName.text=\u30c7\u30fc\u30bf\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u30c4\u30fc\u30eb
+DataResultMenu.menu.dataResWin.text=\u30c7\u30fc\u30bf\u7d50\u679c\u30a6\u30a3\u30f3\u30c9\u30a6
+DataResultMenu.getName.text=\u30c7\u30fc\u30bf\u7d50\u679c\u30e1\u30cb\u30e5\u30fc
+SearchResultMenu.menu.dataRes.text=\u30c7\u30fc\u30bf\u7d50\u679c
diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ja.properties
index cbd02b8693..f73bf77a55 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ja.properties
@@ -1,14 +1,50 @@
-OpenIDE-Module-Name=EWFVerify
-DataSourceIntegrityIngestModule.process.errProcImg={0}\u3092\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-DataSourceIntegrityModuleFactory.moduleName.text=E01\u8a8d\u8a3c\u30c4\u30fc\u30eb
-DataSourceIntegrityModuleFactory.moduleDesc.text=E01\u30d5\u30a1\u30a4\u30eb\u306e\u6574\u5408\u6027\u3092\u8a8d\u8a3c\u3057\u307e\u3059\u3002
-DataSourceIntegrityIngestModule.process.skipNonEwf=E01\u30a4\u30e1\u30fc\u30b8\u3067\u306f\u306a\u3044{0}\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u3044\u307e\u3059
-DataSourceIntegrityIngestModule.process.noStoredHash=\u30a4\u30e1\u30fc\u30b8{0}\u306f\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u30cf\u30c3\u30b7\u30e5\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-DataSourceIntegrityIngestModule.process.startingImg={0}\u3092\u958b\u59cb\u4e2d
-DataSourceIntegrityIngestModule.process.errReadImgAtChunk={0}\u306e\u30c1\u30e3\u30f3\u30af{1}\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-DataSourceIntegrityIngestModule.shutDown.calcHashLi=\u8a08\u7b97\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\u5024\uff1a{0}
-DataSourceIntegrityIngestModule.shutDown.notVerified=\u8a8d\u8a3c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-DataSourceIntegrityIngestModule.shutDown.resultLi=\u7d50\u679c\uff1a{0}
-DataSourceIntegrityIngestModule.shutDown.storedHashLi=\u4fdd\u5b58\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\uff1a {0}
-DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader={0}\u306eEWF\u30d9\u30ea\u30d5\u30a3\u30b1\u30fc\u30b7\u30e7\u30f3\u7d50\u679c
-EwfVerifyIDataSourceIntegrityIngestModulengestModule.shutDown.verified=\u8a8d\u8a3c\u3055\u308c\u307e\u3057\u305f
\ No newline at end of file
+# {0} - hashName
+# {1} - calculatedHashValue
+DataSourceIntegrityIngestModule.process.calcHashWithType=\u8a08\u7b97\u6e08\u307f {0} \u30cf\u30c3\u30b7\u30e5: {1}
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.calculateHashDone= {0} \u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30cf\u30c3\u30b7\u30e5\u8a08\u7b97\u7d50\u679c
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.errorLoadingHashes=\ \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304b\u3089\u30a4\u30e1\u30fc\u30b8 {0} \u306e\u30cf\u30c3\u30b7\u30e5\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.errorSavingHashes=\ \u30a4\u30e1\u30fc\u30b8 {0} \u306e\u30cf\u30c3\u30b7\u30e5\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - hashName
+DataSourceIntegrityIngestModule.process.hashAlgorithmError={0} \u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30c0\u30a4\u30b8\u30a7\u30b9\u30c8\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+DataSourceIntegrityIngestModule.process.hashesCalculated=\ \u8a08\u7b97\u6e08\u307f\u30cf\u30c3\u30b7\u30e5
+# {0} - hashAlgorithm
+# {1} - calculatedHashValue
+# {2} - storedHashValue
+DataSourceIntegrityIngestModule.process.hashFailedForArtifact={0} \u30cf\u30c3\u30b7\u30e5\u306e\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f:\n \u8a08\u7b97\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {1}\N \u4fdd\u5b58\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {2}\n
+# {0} - calculatedHashValue
+# {1} - storedHashValue
+DataSourceIntegrityIngestModule.process.hashList=- \u8a08\u7b97\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {0}
- \u4fdd\u5b58\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {1}
+# {0} - hashName
+DataSourceIntegrityIngestModule.process.hashMatch={0} \u691c\u8a3c\u6e08\u307f\u30cf\u30c3\u30b7\u30e5
+# {0} - hashName
+DataSourceIntegrityIngestModule.process.hashNonMatch={0} \u30cf\u30c3\u30b7\u30e5\u304c\u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.skipCompute=\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3060\u3063\u305f\u305f\u3081 {0} \u306e\u65b0\u898f\u30cf\u30c3\u30b7\u30e5\u306e\u8a08\u7b97\u304c\u884c\u308f\u308c\u3066\u3044\u307e\u305b\u3093
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.skipVerify=\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u7121\u52b9\u3060\u3063\u305f\u305f\u3081 {0} \u306e\u65e2\u5b58\u30cf\u30c3\u30b7\u30e5\u306e\u691c\u8a3c\u304c\u884c\u308f\u308c\u3066\u3044\u307e\u305b\u3093
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.verificationFailure={0} \u304c\u5b8c\u5168\u6027\u691c\u8a3c\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+# {0} - imageName
+DataSourceIntegrityIngestModule.process.verificationSuccess={0} \u306e\u5b8c\u5168\u6027\u304c\u691c\u8a3c\u3055\u308c\u307e\u3057\u305f
+DataSourceIntegrityIngestModule.startup.noCheckboxesSelected=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
+OpenIDE-Module-Name=ewfVerify
+DataSourceIntegrityModuleFactory.moduleName.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5b8c\u5168\u6027
+DataSourceIntegrityModuleFactory.moduleDesc.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30cf\u30c3\u30b7\u30e5\u3092\u8a08\u7b97\u304a\u3088\u3073\u691c\u8a3c\u3057\u307e\u3059\u3002
+DataSourceIntegrityIngestModule.process.errProcImg={0} \u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+DataSourceIntegrityIngestModule.process.skipNonEwf=\u975e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9 {0} \u3092\u30b9\u30ad\u30c3\u30d7\u4e2d\u3067\u3059
+DataSourceIntegrityIngestModule.process.noStoredHash=\u30a4\u30e1\u30fc\u30b8 {0} \u306b\u4fdd\u5b58\u6e08\u307f\u30cf\u30c3\u30b7\u30e5\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+DataSourceIntegrityIngestModule.process.startingImg={0} \u3092\u8d77\u52d5\u4e2d\u3067\u3059
+DataSourceIntegrityIngestModule.process.errReadImgAtChunk=\u30c1\u30e3\u30f3\u30af {1} \u306e {0} \u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+DataSourceIntegrityIngestModule.shutDown.verified=\ \u691c\u8a3c\u6e08\u307f
+DataSourceIntegrityIngestModule.shutDown.notVerified=\ \u691c\u8a3c\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader= {0} \u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u691c\u8a3c\u7d50\u679c
+DataSourceIntegrityIngestModule.shutDown.resultLi=\u7d50\u679c:{0}
+DataSourceIntegrityIngestModule.shutDown.calcHashLi=\u8a08\u7b97\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {0}
+DataSourceIntegrityIngestModule.shutDown.storedHashLi=\u4fdd\u5b58\u6e08\u307f\u30cf\u30c3\u30b7\u30e5: {0}
+DataSourceIntegrityIngestSettingsPanel.computeHashesCheckbox.text=\u4f55\u3082\u306a\u3044\u5834\u5408\u306f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30cf\u30c3\u30b7\u30e5\u3092\u8a08\u7b97
+DataSourceIntegrityIngestSettingsPanel.jLabel1.text=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u8ad6\u7406\u30d5\u30a1\u30a4\u30eb\u4e0a\u3067\u306f\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093
+DataSourceIntegrityIngestSettingsPanel.jLabel3.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u8a2d\u5b9a
+DataSourceIntegrityIngestSettingsPanel.verifyHashesCheckbox.text=\u65e2\u5b58\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30cf\u30c3\u30b7\u30e5\u3092\u691c\u8a3c
diff --git a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ja.properties
index 66063448fd..355c94be83 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ja.properties
@@ -1,40 +1,55 @@
+CannotCreateOutputFolder=\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+CannotRunFileTypeDetection=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u691c\u51fa\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleDesc.text=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb(doc, docx, ppt, pptx, xls, xlsx, zip, rar, arj, 7z, gzip, bzip2, tar)\u3092\u62bd\u51fa\u3057\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3057\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u30c4\u30ea\u30fc\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u5165\u529b\u3057\u307e\u3059\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleName=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u30c4\u30fc\u30eb
+EmbeddedFileExtractorIngestModule.NoOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+EmbeddedFileExtractorIngestModule.UnableToGetMSOfficeExtractor.errMsg=MSOfficeEmbeddedContentExtractor\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
+ExtractArchiveWithPasswordAction.extractFailed.title=\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u5c01\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+ExtractArchiveWithPasswordAction.name.text=\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u89e3\u51cd
+# {0} - archiveFile
+ExtractArchiveWithPasswordAction.progress.text=\u6b21\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u958b\u5c01\u4e2d\u3067\u3059: {0}
+ExtractArchiveWithPasswordAction.prompt.text=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b
+ExtractArchiveWithPasswordAction.prompt.title=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\
- \u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\n\n\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30d5\u30a1\u30a4\u30eb\uff08doc\u3001docx\u3001ppt\u3001pptx\u3001xls\u3001xlsx\u7b49\uff09\u3084\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\uff08zip\u3084\u305d\u306e\u4ed6\u306e7zip\u30a8\u30af\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\n\
- 7Zip\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\n\n7Zip\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u3092\u51e6\u7406\u3057\u307e\u3059\uff08zip\u30847zip\u30a8\u30af\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u306b\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u305d\u306e\u4ed6\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u30bf\u30a4\u30d7\u306a\u3069\uff09\u3002\n\
- \u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u62bd\u51fa\u3055\u308c\u3001\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u306f\u5b9f\u884c\u4e2d\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u8ffd\u52a0\u3055\u308c\u3001\u8a2d\u5b9a\u3055\u308c\u305f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u51e6\u7406\u3055\u308c\u307e\u3059\u3002\n\
- \u3082\u3057\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u304c\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u3067\u3042\u308c\u3070\u30017Zip\u30a8\u30af\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u306b\u3088\u308a\u3001\u518d\u5ea6\u51e6\u7406\u3055\u308c\u307e\u3059 - \u30a8\u30af\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u306f\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u3092N-\u30ec\u30d9\u30eb\u306e\u6df1\u3055\u3067\u51e6\u7406\u3057\u307e\u3059\u3002\n\n\
- \u62bd\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc\u3067\u30ca\u30d3\u30b2\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002\n\n\
- \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306fWindows\u3001Linux\u3001Mac\u306e\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u74b0\u5883\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u3059\u3002
+ Embedded File Extraction Ingest Module\n\n\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u3001\u6587\u66f8\u30d5\u30a1\u30a4\u30eb(\u4f8b: doc, docx, ppt, pptx, xls, xlsx)\u3068\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb(\u4f8b: zip\u3001\u5727\u7e2e\u30fb\u89e3\u51cd\u30bd\u30d5\u30c87zip\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u305d\u306e\u4ed6\u30a2\u30fc\u30ab\u30a4\u30d6\u30bf\u30a4\u30d7)\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\n\
+ \u3053\u308c\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u62bd\u51fa\u3057\u3001\u69cb\u6210\u6e08\u307f\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u3088\u3063\u3066\u51e6\u7406\u3055\u308c\u308b\u73fe\u5728\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u3092\u623b\u3057\u307e\u3059\u3002\n\
+ \u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u304c\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u306e\u5834\u5408\u3001\u5727\u7e2e\u30fb\u89e3\u51cd\u30bd\u30d5\u30c87zip\u3067\u518d\u51e6\u7406\u3055\u308c\u307e\u3059\u3002\u5727\u7e2e\u30fb\u89e3\u51cd\u30bd\u30d5\u30c8\u304cN\u30ec\u30d9\u30eb\u306e\u6df1\u3055\u3067\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\n\n\
+ \u62bd\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u30c4\u30ea\u30fc\u3067\u53c2\u7167\u3067\u304d\u307e\u3059\u3002\n\n\
+ \u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u3002Windows\u3001Linux\u3001Mac\u306e\u5404\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002
OpenIDE-Module-Name=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa
-OpenIDE-Module-Short-Description=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-SevenZipContentReadStream.seek.exception.invalidOrigin=\u7121\u52b9\u306a\u30b7\u30fc\u30af\u539f\u70b9\uff1a {0}
-SevenZipContentReadStream.read.exception.errReadStream=\u30b3\u30f3\u30c6\u30f3\u30c4\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.seek.exception.invalidOrigin=\u7121\u52b9\u306a\u30b7\u30fc\u30af\u306e\u539f\u70b9\: {0}
+OpenIDE-Module-Short-Description=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u62bd\u51fa\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
+EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.seek.exception.invalidOrigin=\u7121\u52b9\u306a\u30b7\u30fc\u30af\u30aa\u30ea\u30b8\u30f3: {0}
EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.read.exception.errReadStream=\u30b3\u30f3\u30c6\u30f3\u30c4\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleName=\u57cb\u3081\u8fbc\u307f\u30d5\u30a1\u30a4\u30eb\u306e\u62bd\u51fa\u30c4\u30fc\u30eb
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFileLevel=\u30d5\u30a1\u30a4\u30eb\u30ec\u30d9\u30eb\u3067\u306e\u6697\u53f7\u5316
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFull=\u5b8c\u5168\u306a\u6697\u53f7\u5316
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.init.errInitModule.details=\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\: {0}\: {1}\u3092\u8d77\u52d5\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnMsg=\u30a2\u30fc\u30ab\u30a4\u30d6\: {0}, item\: {1}\u306bZIP\u7206\u5f3e\u304b\u3082\u3057\u308c\u306a\u3044\u3082\u306e\u3092\u767a\u898b
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnDetails=\u5727\u7e2e\u7387\u304c{0}\u3001{1}\u306b\u3042\u308b\u30a2\u30a4\u30c6\u30e0\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnMsg.zipBomb=ZIP\u7206\u5f3e\u304b\u3082\u3057\u308c\u306a\u3044\u3082\u306e\u3092\u767a\u898b\uff1a{0}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnDetails.zipBomb=\u30a2\u30fc\u30ab\u30a4\u30d6\u306f{0}\u30ec\u30d9\u30eb\u306e\u6df1\u3055\u3067\u3059\u3002{1}\u306e\u51e6\u7406\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.unknownPath.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\: {0}\u306b\u4e0d\u660e\u306a\u30a2\u30a4\u30c6\u30e0\u30d1\u30b9\u304c\u3042\u308a\u307e\u3059\u3002{1}\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\u30a2\u30a4\u30c6\u30e0\: {0}, {1}\u3092\u89e3\u51cd\u3059\u308b\u306e\u306b\u30c7\u30a3\u30b9\u30af\u30b9\u30da\u30fc\u30b9\u304c\u8db3\u308a\u307e\u305b\u3093
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.details=\u30a2\u30fc\u30ab\u30a4\u30d6\u30a2\u30a4\u30c6\u30e0\u304c\u89e3\u51cd\u3059\u308b\u306e\u306b\u5927\u304d\u3059\u304e\u307e\u3059\u3002\u3053\u306e\u30a2\u30a4\u30c6\u30e0\u306e\u89e3\u51cd\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.msg={0}\u306e\u89e3\u51cd\u30a8\u30e9\u30fc
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.details={0}. {1}\u3092\u89e3\u51cd\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u6697\u53f7\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u767a\u898b\u3057\u307e\u3057\u305f\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.details=\u30a2\u30fc\u30ab\u30a4\u30d6\: {0}\u306e\u4e00\u90e8\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u6697\u53f7\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002 {1} \u30a8\u30af\u30b9\u30c8\u30e9\u30af\u30bf\u30fc\u304c\u3053\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.exception.msg=\u89e3\u51cd\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\: {0}\u306b\u66f8\u304d\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackedTree.exception.msg=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\:{0}\u306b\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err=\u8aad\u307f\u53d6\u308a\u4e2d\u306bDoc\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err={0}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bDocx\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err={0}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bPpt\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err={0}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bPptx\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err={0}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bXls\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err={0}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bXlsx\u30b3\u30f3\u30c6\u30a4\u30ca\u30fc\u3092\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=\u30a2\u30d6\u30b9\u30c8\u30e9\u30af\u30c8\u30d5\u30a1\u30a4\u30eb\: {0}\u304b\u3089\u753b\u50cf\u62bd\u51fa\u306e\u30d1\u30b9\u3092\u5165\u624b\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.noSpace.msg=\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30c7\u30a3\u30b9\u30af\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFileLevel=\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u307f\u306e\u6697\u53f7\u5316(\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb)
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFull=\u5b8c\u5168\u306a\u6697\u53f7\u5316(\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a1\u30a4\u30eb)
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.init.errInitModule.details=\u30a8\u30e9\u30fc\u307e\u305f\u306f\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u306e\u521d\u671f\u5316\u4e2d\u3067\u3059: {0}: {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnMsg=\u30a2\u30fc\u30ab\u30a4\u30d6\u3067ZIP\u7206\u5f3e\u304c\u691c\u51fa\u3055\u308c\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059: {0}\u3001\u9805\u76ee: {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnDetails=\u5727\u7e2e\u7387\u306f {0} \u3067\u3059\u3002{1} \u306e\u9805\u76ee\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnMsg.zipBomb=ZIP\u7206\u5f3e\u304c\u691c\u51fa\u3055\u308c\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059: {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnDetails.zipBomb=\u30a2\u30fc\u30ab\u30a4\u30d6\u306f {0} \u30ec\u30d9\u30eb\u306e\u6df1\u3055\u3067\u3059\u3002{1} \u306e\u51e6\u7406\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.unknownPath.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u4e0d\u660e\u306a\u9805\u76ee\u30d1\u30b9: {0}\u3001\u6b21\u3092\u4f7f\u7528\u3057\u307e\u3059: {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\u9805\u76ee\u3092\u958b\u5c01\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u3042\u308a\u307e\u305b\u3093: {0}\u3001{1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.details=\u30a2\u30fc\u30ab\u30a4\u30d6\u9805\u76ee\u304c\u5927\u304d\u3059\u304e\u3067\u958b\u5c01\u3067\u304d\u307e\u305b\u3093\u3002\u3053\u306e\u9805\u76ee\u306e\u958b\u5c01\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.msg={0} \u306e\u958b\u5c01\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.details={0} \u306e\u958b\u5c01\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002{1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.msg=\u30a2\u30fc\u30ab\u30a4\u30d6\u306b\u6697\u53f7\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.details=\u30a2\u30fc\u30ab\u30a4\u30d6\u306e\u3044\u304f\u3064\u304b\u306e\u30d5\u30a1\u30a4\u30eb: {0} \u304c\u6697\u53f7\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u5727\u7e2e\u30fb\u89e3\u51cd\u30bd\u30d5\u30c8 {1} \u306f\u3053\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u304b\u3089\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.exception.msg=\u30d5\u30a1\u30a4\u30eb\u3092\u6b21\u306b\u958b\u5c01\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackedTree.exception.msg=\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u3092\u6b21\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:{0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err=\u8aad\u307f\u53d6\u308a\u4e2d\u306bDOC\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err=\u6b21\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bDOCX\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err=\u6b21\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bPPT\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err=\u8aad\u307f\u53d6\u308a\u4e2d\u306bPPTX\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err=\u6b21\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bXLS\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err=\u6b21\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306bXLSX\u30b3\u30f3\u30c6\u30ca\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=\u6d3e\u751f\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093.
+EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=\u6b21\u306e\u62bd\u8c61\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u30a4\u30e1\u30fc\u30b8\u62bd\u51fa\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.getOutputFolderPath.exception.msg=\u6b21\u306e\u62bd\u8c61\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u30a4\u30e1\u30fc\u30b8\u62bd\u51fa\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.noSpace.msg=\u30c7\u30a3\u30b9\u30af\u306b\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3002\u5341\u5206\u306a\u9818\u57df\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+SevenZipContentReadStream.seek.exception.invalidOrigin=\u7121\u52b9\u306a\u30aa\u30ea\u30b8\u30f3 {0}
+SevenZipContentReadStream.read.exception.errReadStream=\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+SevenZipExtractor.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u6697\u53f7\u5316\u691c\u51fa\u6e08\u307f\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+# {0} - rootArchive
+SevenZipExtractor.zipBombArtifactCreation.text=Zip\u7206\u5f3e\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f {0}
+UnableToInitializeLibraries=7Zip\u30e9\u30a4\u30d6\u30e9\u30ea\u30fc\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/SevenZipExtractor.java b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/SevenZipExtractor.java
index 0ccd35cef9..958813a905 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/SevenZipExtractor.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/SevenZipExtractor.java
@@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.modules.embeddedfileextractor;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -37,12 +38,14 @@ import net.sf.sevenzipjbinding.ExtractAskMode;
import net.sf.sevenzipjbinding.ExtractOperationResult;
import net.sf.sevenzipjbinding.IArchiveExtractCallback;
import net.sf.sevenzipjbinding.ICryptoGetTextPassword;
+import net.sf.sevenzipjbinding.IInArchive;
import net.sf.sevenzipjbinding.ISequentialOutStream;
-import net.sf.sevenzipjbinding.ISevenZipInArchive;
import net.sf.sevenzipjbinding.PropID;
import net.sf.sevenzipjbinding.SevenZip;
import net.sf.sevenzipjbinding.SevenZipException;
import net.sf.sevenzipjbinding.SevenZipNativeInitializationException;
+import org.apache.tika.parser.txt.CharsetDetector;
+import org.apache.tika.parser.txt.CharsetMatch;
import org.netbeans.api.progress.ProgressHandle;
import org.openide.util.NbBundle;
import org.openide.util.NbBundle.Messages;
@@ -76,6 +79,7 @@ import org.sleuthkit.datamodel.TskData;
class SevenZipExtractor {
private static final Logger logger = Logger.getLogger(SevenZipExtractor.class.getName());
+
private static final String MODULE_NAME = EmbeddedFileExtractorModuleFactory.getModuleName();
//encryption type strings
@@ -185,7 +189,7 @@ class SevenZipExtractor {
*
* @return true if potential zip bomb, false otherwise
*/
- private boolean isZipBombArchiveItemCheck(AbstractFile archiveFile, ISevenZipInArchive inArchive, int inArchiveItemIndex, ConcurrentHashMap depthMap, String escapedFilePath) {
+ private boolean isZipBombArchiveItemCheck(AbstractFile archiveFile, IInArchive inArchive, int inArchiveItemIndex, ConcurrentHashMap depthMap, String escapedFilePath) {
//If a file is corrupted as a result of reconstructing it from unallocated space, then
//7zip does a poor job estimating the original uncompressed file size.
//As a result, many corrupted files have wonky compression ratios and could flood the UI
@@ -399,18 +403,16 @@ class SevenZipExtractor {
/**
* Get the path in the archive of the specified item
*
- * @param item - the item to get the path for
- * @param itemNumber - the item number to help provide uniqueness to the
- * path
- * @param archiveFile - the archive file the item exists in
+ * @param archive - the archive to get the path for
+ * @param inArchiveItemIndex - the item index to help provide uniqueness to the path
+ * @param archiveFile - the archive file the item exists in
*
* @return a string representing the path to the item in the archive
*
* @throws SevenZipException
*/
- private String getPathInArchive(ISevenZipInArchive archive, int inArchiveItemIndex, AbstractFile archiveFile) throws SevenZipException {
- String pathInArchive = (String) archive.getProperty(
- inArchiveItemIndex, PropID.PATH);
+ private String getPathInArchive(IInArchive archive, int inArchiveItemIndex, AbstractFile archiveFile) throws SevenZipException {
+ String pathInArchive = (String) archive.getProperty(inArchiveItemIndex, PropID.PATH);
if (pathInArchive == null || pathInArchive.isEmpty()) {
//some formats (.tar.gz) may not be handled correctly -- file in archive has no name/path
@@ -454,6 +456,10 @@ class SevenZipExtractor {
}
return pathInArchive;
}
+
+ private byte[] getPathBytesInArchive(IInArchive archive, int inArchiveItemIndex, AbstractFile archiveFile) throws SevenZipException {
+ return (byte[]) archive.getProperty(inArchiveItemIndex, PropID.PATH_BYTES);
+ }
/*
* Get the String that will represent the key for the hashmap which keeps
@@ -505,7 +511,7 @@ class SevenZipExtractor {
final String escapedArchiveFilePath = FileUtil.escapeFileName(archiveFilePath);
HashMap statusMap = new HashMap<>();
List unpackedFiles = Collections.emptyList();
- ISevenZipInArchive inArchive = null;
+
currentArchiveName = archiveFile.getName();
SevenZipContentReadStream stream = null;
@@ -520,7 +526,6 @@ class SevenZipExtractor {
return unpackSuccessful;
}
try {
-
List existingFiles = getAlreadyExtractedFiles(archiveFile, archiveFilePath);
for (AbstractFile file : existingFiles) {
statusMap.put(getKeyAbstractFile(file), new ZipFileStatusWrapper(file, ZipFileStatus.EXISTS));
@@ -553,6 +558,7 @@ class SevenZipExtractor {
return unpackSuccessful;
}
}
+ IInArchive inArchive = null;
try {
stream = new SevenZipContentReadStream(new ReadContentInputStream(archiveFile));
// for RAR files we need to open them explicitly as RAR. Otherwise, if there is a ZIP archive inside RAR archive
@@ -600,7 +606,8 @@ class SevenZipExtractor {
}
String pathInArchive = getPathInArchive(inArchive, inArchiveItemIndex, archiveFile);
- UnpackedTree.UnpackedNode unpackedNode = unpackedTree.addNode(pathInArchive);
+ byte[] pathBytesInArchive = getPathBytesInArchive(inArchive, inArchiveItemIndex, archiveFile);
+ UnpackedTree.UnpackedNode unpackedNode = unpackedTree.addNode(pathInArchive, pathBytesInArchive);
final boolean isEncrypted = (Boolean) inArchive.getProperty(inArchiveItemIndex, PropID.ENCRYPTED);
@@ -801,6 +808,34 @@ class SevenZipExtractor {
return unpackSuccessful;
}
+ private Charset detectFilenamesCharset(List byteDatas) {
+ Charset detectedCharset = null;
+ CharsetDetector charsetDetector = new CharsetDetector();
+ int byteSum = 0;
+ int fileNum = 0;
+ for (byte[] byteData : byteDatas) {
+ fileNum++;
+ byteSum += byteData.length;
+ // Only read ~1000 bytes of filenames in this directory
+ if (byteSum >= 1000) {
+ break;
+ }
+ }
+ byte[] allBytes = new byte[byteSum];
+ int start = 0;
+ for (int i = 0; i < fileNum; i++) {
+ byte[] byteData = byteDatas.get(i);
+ System.arraycopy(byteData, 0, allBytes, start, byteData.length);
+ start += byteData.length;
+ }
+ charsetDetector.setText(allBytes);
+ CharsetMatch cm = charsetDetector.detect();
+ if (cm.getConfidence() >= 90 && Charset.isSupported(cm.getName())) {
+ detectedCharset = Charset.forName(cm.getName());
+ }
+ return detectedCharset;
+ }
+
/**
* Produce a list of archive indices needed for the call to extract, which
* will open the archive and begin unpacking the files.
@@ -906,7 +941,7 @@ class SevenZipExtractor {
implements IArchiveExtractCallback, ICryptoGetTextPassword {
private final AbstractFile archiveFile;
- private final ISevenZipInArchive inArchive;
+ private final IInArchive inArchive;
private UnpackStream unpackStream = null;
private final Map archiveDetailsMap;
private final ProgressHandle progressHandle;
@@ -922,11 +957,10 @@ class SevenZipExtractor {
private boolean unpackSuccessful = true;
- StandardIArchiveExtractCallback(ISevenZipInArchive inArchive,
- AbstractFile archiveFile, ProgressHandle progressHandle,
- Map archiveDetailsMap,
- String password, long freeDiskSpace) {
-
+ StandardIArchiveExtractCallback(IInArchive inArchive,
+ AbstractFile archiveFile, ProgressHandle progressHandle,
+ Map archiveDetailsMap,
+ String password, long freeDiskSpace) {
this.inArchive = inArchive;
this.progressHandle = progressHandle;
this.archiveFile = archiveFile;
@@ -998,7 +1032,7 @@ class SevenZipExtractor {
final Date accessTime = (Date) inArchive.getProperty(
inArchiveItemIndex, PropID.LAST_ACCESS_TIME);
final Date writeTime = (Date) inArchive.getProperty(
- inArchiveItemIndex, PropID.LAST_WRITE_TIME);
+ inArchiveItemIndex, PropID.LAST_MODIFICATION_TIME);
createTimeInSeconds = createTime == null ? 0L
: createTime.getTime() / 1000;
@@ -1100,7 +1134,6 @@ class SevenZipExtractor {
* @param localPathRoot Path in module output folder that files will be
* saved to
* @param archiveFile Archive file being extracted
- * @param fileManager
*/
UnpackedTree(String localPathRoot, AbstractFile archiveFile) {
this.rootNode = new UnpackedNode();
@@ -1118,7 +1151,7 @@ class SevenZipExtractor {
*
* @return child node for the last file token in the filePath
*/
- UnpackedNode addNode(String filePath) {
+ UnpackedNode addNode(String filePath, byte[] filePathBytes) {
String[] toks = filePath.split("[\\/\\\\]");
List tokens = new ArrayList<>();
for (int i = 0; i < toks.length; ++i) {
@@ -1126,7 +1159,36 @@ class SevenZipExtractor {
tokens.add(toks[i]);
}
}
- return addNode(rootNode, tokens);
+
+ List byteTokens = null;
+ if (filePathBytes == null) {
+ return addNode(rootNode, tokens, null);
+ } else {
+ byteTokens = new ArrayList<>(tokens.size());
+ int last = 0;
+ for (int i = 0; i < filePathBytes.length; i++) {
+ if (filePathBytes[i] == '/') {
+ int len = i - last;
+ byte[] arr = new byte[len];
+ System.arraycopy(filePathBytes, last, arr, 0, len);
+ byteTokens.add(arr);
+ last = i + 1;
+ }
+ }
+ int len = filePathBytes.length - last;
+ if (len > 0) {
+ byte[] arr = new byte[len];
+ System.arraycopy(filePathBytes, last, arr, 0, len);
+ byteTokens.add(arr);
+ }
+
+ if (tokens.size() != byteTokens.size()) {
+ logger.log(Level.WARNING, "Could not map path bytes to path string");
+ return addNode(rootNode, tokens, null);
+ }
+ }
+
+ return addNode(rootNode, tokens, byteTokens);
}
/**
@@ -1137,7 +1199,8 @@ class SevenZipExtractor {
*
* @return
*/
- private UnpackedNode addNode(UnpackedNode parent, List tokenPath) {
+ private UnpackedNode addNode(UnpackedNode parent,
+ List tokenPath, List tokenPathBytes) {
// we found all of the tokens
if (tokenPath.isEmpty()) {
return parent;
@@ -1145,15 +1208,20 @@ class SevenZipExtractor {
// get the next name in the path and look it up
String childName = tokenPath.remove(0);
+ byte[] childNameBytes = null;
+ if (tokenPathBytes != null) {
+ childNameBytes = tokenPathBytes.remove(0);
+ }
UnpackedNode child = parent.getChild(childName);
// create new node
if (child == null) {
child = new UnpackedNode(childName, parent);
+ child.setFileNameBytes(childNameBytes);
parent.addChild(child);
}
// go down one more level
- return addNode(child, tokenPath);
+ return addNode(child, tokenPath, tokenPathBytes);
}
/**
@@ -1254,6 +1322,32 @@ class SevenZipExtractor {
NbBundle.getMessage(SevenZipExtractor.class, "EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackedTree.exception.msg",
node.getFileName()), ex);
}
+
+ // Determine encoding of children
+ if (node.getChildren().size() > 0) {
+ String names = "";
+ ArrayList byteDatas = new ArrayList<>();
+ for (UnpackedNode child : node.getChildren()) {
+ byte[] childBytes = child.getFileNameBytes();
+ if (childBytes != null) {
+ byteDatas.add(childBytes);
+ }
+ names += child.getFileName();
+ }
+ Charset detectedCharset = detectFilenamesCharset(byteDatas);
+
+ // If a charset was detected, transcode filenames accordingly
+ if (detectedCharset != null && detectedCharset.canEncode()) {
+ for (UnpackedNode child : node.getChildren()) {
+ byte[] childBytes = child.getFileNameBytes();
+ if (childBytes != null) {
+ String decodedName = new String(childBytes, detectedCharset);
+ child.setFileName(decodedName);
+ }
+ }
+ }
+ }
+
//recurse adding the children if this file was incomplete the children presumably need to be added
for (UnpackedNode child : node.getChildren()) {
updateOrAddFileToCaseRec(child, fileManager, statusMap, getKeyFromUnpackedNode(node, archiveFilePath));
@@ -1266,6 +1360,7 @@ class SevenZipExtractor {
private class UnpackedNode {
private String fileName;
+ private byte[] fileNameBytes;
private AbstractFile file;
private final List children = new ArrayList<>();
private String localRelPath = "";
@@ -1396,6 +1491,19 @@ class SevenZipExtractor {
boolean isIsFile() {
return isFile;
}
+
+ void setFileNameBytes(byte[] fileNameBytes) {
+ if (fileNameBytes != null) {
+ this.fileNameBytes = Arrays.copyOf(fileNameBytes, fileNameBytes.length);
+ }
+ }
+
+ byte[] getFileNameBytes() {
+ if (fileNameBytes == null) {
+ return null;
+ }
+ return Arrays.copyOf(fileNameBytes, fileNameBytes.length);
+ }
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ja.properties
new file mode 100644
index 0000000000..8d75ef4fad
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ja.properties
@@ -0,0 +1,17 @@
+EncryptionDetectionDataSourceIngestModule.artifactComment.bitlocker=Bitlocker\u6697\u53f7\u5316\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
+EncryptionDetectionDataSourceIngestModule.artifactComment.suspected=\u9ad8\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc(%f)\u306b\u3088\u308a\u6697\u53f7\u5316\u304c\u7591\u308f\u308c\u307e\u3057\u305f\u3002
+EncryptionDetectionDataSourceIngestModule.processing.message=\u6697\u53f7\u5316\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u30c1\u30a7\u30c3\u30af\u4e2d\u3067\u3059\u3002
+EncryptionDetectionFileIngestModule.artifactComment.password=\u30d1\u30b9\u30ef\u30fc\u30c9\u4fdd\u8b77\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f\u3002
+EncryptionDetectionFileIngestModule.artifactComment.suspected=\u9ad8\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc(%f)\u306b\u3088\u308a\u6697\u53f7\u5316\u304c\u7591\u308f\u308c\u307e\u3057\u305f\u3002
+EncryptionDetectionFileIngestModule.getDesc.text=\u6307\u5b9a\u3057\u305f\u6700\u5c0f\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u3092\u4f7f\u3063\u3066\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3057\u307e\u3059\u3002
+EncryptionDetectionFileIngestModule.moduleName.text=\u6697\u53f7\u5316\u691c\u51fa
+EncryptionDetectionIngestJobSettingsPanel.minimumEntropyLabel.text=\u6700\u5c0f\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc:
+EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeLabel.text=\u6700\u5c0f\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba:
+EncryptionDetectionIngestJobSettingsPanel.fileSizeMultiplesEnforcedCheckbox.text=512\u306e\u500d\u6570\u306b\u306a\u308b\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u306e\u307f\u3092\u691c\u8a0e\u3057\u307e\u3059\u3002
+EncryptionDetectionIngestJobSettingsPanel.slackFilesAllowedCheckbox.text=\u30b9\u30e9\u30c3\u30af\u9818\u57df\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u8a0e\u3057\u307e\u3059\u3002
+EncryptionDetectionIngestJobSettingsPanel.mbLabel.text=MB
+EncryptionDetectionIngestJobSettingsPanel.detectionSettingsLabel.text=\u691c\u51fa\u8a2d\u5b9a
+EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeTextbox.text=
+EncryptionDetectionIngestJobSettingsPanel.minimumEntropyTextbox.text=
+EncryptionDetectionTools.errorMessage.minimumEntropyInput=\u6700\u5c0f\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u306e\u5165\u529b\u306f6.0\uff5e8.0\u306e\u6570\u5b57\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+EncryptionDetectionTools.errorMessage.minimumFileSizeInput=\u6700\u5c0f\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u306e\u5165\u529b\u306f1\u4ee5\u4e0a\u306e\u6574\u6570(\u5358\u4f4d:\u30e1\u30ac\u30d0\u30a4\u30c8)\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
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 4200bd7f58..fb0ec85c09 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/exif/Bundle_ja.properties
@@ -1,8 +1,10 @@
+CannotRunFileTypeDetection=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u691c\u51fa\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+ExifParserFileIngestModule.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001EXIF\u30e1\u30bf\u30c7\u30fc\u30bf\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\
- Exif\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\
- \u3053\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u3057\u3001Exif\u60c5\u5831\u3092\u62bd\u51fa\u3057\u3001Exif\u60c5\u5831\u3092\u7d50\u679c\u3068\u3057\u3066\u30dd\u30b9\u30c8\u3057\u307e\u3059\u3002
-OpenIDE-Module-Name=Exif\u30d1\u30fc\u30b5
-OpenIDE-Module-Short-Description=Exif\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-ExifParserFileIngestModule.moduleName.text=Exif\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
+ EXIF\u30e1\u30bf\u30c7\u30fc\u30bf\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002 \n\n\
+ \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a4\u30e1\u30fc\u30b8\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u3057\u3001Exif\u60c5\u5831\u3092\u62bd\u51fa\u3057\u3001Exif\u30c7\u30fc\u30bf\u3092\u7d50\u679c\u3068\u3057\u3066\u6295\u7a3f\u3057\u307e\u3059\u3002
+OpenIDE-Module-Name=ExifParser
+OpenIDE-Module-Short-Description=Exif\u30e1\u30bf\u30c7\u30fc\u30bf\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002
+ExifParserFileIngestModule.moduleName.text=Exif\u89e3\u6790\u30c4\u30fc\u30eb
+ExifParserFileIngestModule.getDesc.text=Ingests JPEG\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3057\u3001EXIF\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u56de\u53ce\u3057\u307e\u3059\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties
index fc35bab029..24969e973b 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ja.properties
@@ -1,44 +1,64 @@
-OpenIDE-Module-Name=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
+AddFileExtensionAction.writeError.message=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u8a2d\u5b9a\u3092\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+CannotRunFileTypeDetection=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u691c\u51fa\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+FileExtMismatchIngestModule.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+FileExtMismatchIngestModule.readError.message=\u8a2d\u5b9a\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+FileExtMismatchSettingsPanel.Title=\u30b0\u30ed\u30fc\u30d0\u30eb\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u8b58\u5225\u8a2d\u5b9a
+OpenIDE-Module-Name=FileExtMismatch
OptionsCategory_Name_FileExtMismatchOptions=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
OptionsCategory_FileExtMismatch=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4
-AddFileExtensionAction.msgDlg.msg=XML\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f\u306e\u3092\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-AddFileExtensionAction.msgDlg.title=\u4e0d\u4e00\u81f4\u62e1\u5f35\u5b50\u306e\u30a8\u30e9\u30fc\u3092\u8ffd\u52a0
-FileExtMismatchConfigPanel.addExtButton.errLabel.empty=\u62e1\u5f35\u5b50\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\uff01
-FileExtMismatchConfigPanel.addExtButton.errLabel.noMimeType=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
-FileExtMismatchConfigPanel.addExtButton.errLabel.extExists=\u62e1\u5f35\u5b50\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\uff01
-FileExtMismatchConfigPanel.addExtButton.errLabel.extAdded=\u62e1\u5f35\u5b50{0}\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.addTypeButton.empty=MIME\u30bf\u30a4\u30d7\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u767d\u3067\u3059\uff01
-FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotSupported=MIME\u30bf\u30a4\u30d7\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
-FileExtMismatchConfigPanel.addTypeButton.mimeTypeExists=MIME\u30bf\u30a4\u30d7\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\uff01
-FileExtMismatchConfigPanel.addTypeButton.mimeTypeNotDetectable=MIME\u30bf\u30a4\u30d7\u304c\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u306f\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
-FileExtMismatchConfigPanel.addTypeButton.mimeTypeAdded=MIME\u30bf\u30a4\u30d7{0}\u304c\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.removeTypeButton.noneSelected=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
-FileExtMismatchConfigPanel.remoteTypeButton.deleted=MIME\u30bf\u30a4\u30d7{0}\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.removeExtButton.noneSelected=\u62e1\u5f35\u5b50\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
-FileExtMismatchConfigPanel.removeExtButton.noMimeTypeSelected=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\uff01
-FileExtMismatchConfigPanel.removeExtButton.deleted=\u62e1\u5f35\u5b50{0}\u304c\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.store.msg=\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.store.msgDlg.msg=XML\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304f\u306e\u3092\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-FileExtMismatchConfigPanel.save.msgDlg.title=\u4fdd\u5b58\u30a8\u30e9\u30fc
-FileExtMismatchConfigPanel.ok.confDlg.msg=\u8a2d\u5b9a\u5909\u66f4\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b\uff1f
+AddFileExtensionAction.msgDlg.msg2=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u8a2d\u5b9a\u304c\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u62e1\u5f35\u5b50\u306e\u66f4\u65b0\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+AddFileExtensionAction.msgDlg.title=\u4e0d\u4e00\u81f4\u62e1\u5f35\u5b50\u30a8\u30e9\u30fc\u3092\u8ffd\u52a0
+AddFileExtensionAction.extHeaderLbl.text=\u62e1\u5f35\u5b50\u306e\u8a31\u53ef\u5148
+FileExtMismatchConfigPanel.store.msg=\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002
+FileExtMismatchConfigPanel.store.msgDlg.msg=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+FileExtMismatchConfigPanel.save.msgDlg.title=\u30a8\u30e9\u30fc\u3092\u4fdd\u5b58
+FileExtMismatchConfigPanel.ok.confDlg.msg=\u69cb\u6210\u306e\u5909\u66f4\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b?
FileExtMismatchConfigPanel.confDlg.title=\u4fdd\u5b58\u3055\u308c\u3066\u3044\u306a\u3044\u5909\u66f4
FileExtMismatchConfigPanel.mimeTableModel.colName=MIME\u30bf\u30a4\u30d7
FileExtMismatchConfigPanel.extTableModel.colName=\u62e1\u5f35\u5b50
-FileExtMismatchContextMenuActionsProvider.menuItemStr=\u62e1\u5f35\u5b50{0}\u3092MIME\u30bf\u30a4\u30d7{1}\u306e\u4e00\u81f4\u3068\u3057\u3066\u8ffd\u52a0
-FileExtMismatchIngestModule.moduleName=\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u30c7\u30a3\u30c6\u30af\u30bf\u30fc
-FileExtMismatchIngestModule.moduleDesc.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306b\u57fa\u3065\u3044\u3066\u3001\u6a19\u6e96\u7684\u3067\u306f\u306a\u3044\u62e1\u5f35\u5b50\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u30d5\u30e9\u30b0\u3057\u307e\u3059\u3002d
+FileExtMismatchContextMenuActionsProvider.menuItemStr=\u4e00\u81f4\u3059\u308bMIME\u30bf\u30a4\u30d7 {1} \u3068\u3057\u3066\u62e1\u5f35\u5b50 {0} \u3092\u8ffd\u52a0
+FileExtMismatchIngestModule.moduleName=\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u691c\u51fa\u30c4\u30fc\u30eb
+FileExtMismatchIngestModule.moduleDesc.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306b\u57fa\u3065\u304d\u3001\u975e\u6a19\u6e96\u306e\u62e1\u5f35\u5b50\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u306b\u30d5\u30e9\u30b0\u3092\u7acb\u3066\u307e\u3059\u3002
FileExtMismatchIngestModule.complete.totalProcTime=\u5408\u8a08\u51e6\u7406\u6642\u9593
-FileExtMismatchIngestModule.complete.totalFiles=\u5408\u8a08\u51e6\u7406\u30d5\u30a1\u30a4\u30eb\u6570
+FileExtMismatchIngestModule.complete.totalFiles=\u30d5\u30a1\u30a4\u30eb\u51e6\u7406\u306b\u8cbb\u3084\u3057\u305f\u5408\u8a08\u6642\u9593
FileExtMismatchIngestModule.complete.svcMsg.text=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u4e0d\u4e00\u81f4\u7d50\u679c
FileExtMismatchOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-FileExtMismatchOptionsPanelController.moduleErr.msg=FileExtMismatchOptionsPanelController\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u306e\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\u3092\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
-AddFileExtensionAction.extHeaderLbl.text=\u4e0b\u8a18\u7528\u306b\u8a31\u53ef\u3059\u308b\u62e1\u5f35\u5b50
-FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=\u62e1\u5f35\u5b50\u306e\u7121\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30c3\u30d7
-FileExtMismatchSettingsPanel.extHeaderLabel.text=\u8a31\u53ef\u3059\u308b\u62e1\u5f35\u5b50\uff1a
-FileExtMismatchSettingsPanel.removeExtButton.text=\u9078\u629e\u3057\u305f\u62e1\u5f35\u5b50\u3092\u524a\u9664
-FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof FileExtMismatchDetectorModuleSettings\u3067\u3059\u3002
-FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof FileExtMismatchDetectorModuleSettings\u3067\u3059\u3002
-FileExtMismatchSettingsPanel.removeTypeButton.text=\u9078\u629e\u3057\u305f\u30bf\u30a4\u30d7\u3092\u524a\u9664
-FileExtMismatchSettingsPanel.newTypeButton.text=\u30bf\u30a4\u30d7\u3092\u8ffd\u52a0
-FileExtMismatchSettingsPanel.jLabel1.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\uff1a
-FileExtMismatchSettingsPanel.newExtButton.text=\u62e1\u5f35\u5b50\u3092\u8ffd\u52a0
+FileExtMismatchOptionsPanelController.moduleErr.msg=FileExtMismatchOptionsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=\u62e1\u5f35\u5b50\u306e\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30c3\u30d7
+FileExtMismatchSettingsPanel.extHeaderLabel.text=\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u62e1\u5f35\u5b50:
+FileExtMismatchSettingsPanel.removeExtButton.text=\u62e1\u5f35\u5b50\u3092\u524a\u9664
+FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=instanceof FileExtMismatchDetectorModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=instanceof FileExtMismatchDetectorModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+FileExtMismatchModuleSettingsPanel.skipKnownFiles.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u3092\u30b9\u30ad\u30c3\u30d7
+FileExtMismatchSettingsPanel.removeTypeButton.text=\u30bf\u30a4\u30d7\u3092\u524a\u9664
+FileExtMismatchSettingsPanel.newTypeButton.text=\u65b0\u898f\u30bf\u30a4\u30d7
+FileExtMismatchSettingsPanel.jLabel1.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
+FileExtMismatchSettingsPanel.newExtButton.text=\u65b0\u898f\u62e1\u5f35\u5b50
+FileExtMismatchSettingsPanel.newMimePrompt.message=\u65b0\u898fMIME\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u8ffd\u52a0:
+FileExtMismatchSettingsPanel.newMimePrompt.title=\u65b0\u898fMIME
+FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.message=MIME\u30bf\u30a4\u30d7\u306e\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a(\u672a\u5165\u529b)\u3067\u3059\!
+FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.title=\u7a7a(\u672a\u5165\u529b)\u306e\u30bf\u30a4\u30d7
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.message=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044MIME\u30bf\u30a4\u30d7\u3067\u3059\!
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.title=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30bf\u30a4\u30d7
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.message=MIME\u30bf\u30a4\u30d7\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\!
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.title=\u30bf\u30a4\u30d7\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.message=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u306fMIME\u30bf\u30a4\u30d7\u3092\u691c\u51fa\u3067\u304d\u307e\u305b\u3093\u3002
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.title=\u691c\u51fa\u4e0d\u80fd\u306e\u30bf\u30a4\u30d7
+FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.message=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\!
+FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.title=\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+FileExtMismatchSettingsPanel.newExtPrompt.message=\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u62e1\u5f35\u5b50\u3092\u8ffd\u52a0:
+FileExtMismatchSettingsPanel.newExtPrompt.title=\u65b0\u898f\u8a31\u53ef\u3055\u308c\u305f\u62e1\u5f35\u5b50
+FileExtMismatchSettingsPanel.newExtPrompt.empty.message=\u62e1\u5f35\u5b50\u306e\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a(\u672a\u5165\u529b)\u3067\u3059\!
+FileExtMismatchSettingsPanel.newExtPrompt.empty.title=\u62e1\u5f35\u5b50\u306e\u30c6\u30ad\u30b9\u30c8\u304c\u7a7a\u5165\u529b)\u3067\u3059
+FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.message=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\!
+FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.title=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+FileExtMismatchSettingsPanel.newExtPrompt.extExists.message=\u62e1\u5f35\u5b50\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\!
+FileExtMismatchSettingsPanel.newExtPrompt.extExists.title=\u62e1\u5f35\u5b50\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+FileExtMismatchSettingsPanel.removeExtButton.noneSelected.message=\u62e1\u5f35\u5b50\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\!
+FileExtMismatchSettingsPanel.removeExtButton.noneSelected.title=\u62e1\u5f35\u5b50\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.message=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\!
+FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.title=MIME\u30bf\u30a4\u30d7\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+FileExtMismatchSettingsPanel.removeTypeButton.toolTipText=
+FileExtMismatchModuleSettingsPanel.checkAllRadioButton.text=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u30c1\u30a7\u30c3\u30af
+FileExtMismatchModuleSettingsPanel.checkNoTextRadioButton.text=\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u4ee5\u5916\u306e\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u30c1\u30a7\u30c3\u30af
+FileExtMismatchModuleSettingsPanel.checkMediaExeRadioButton.text=\u30de\u30eb\u30c1\u30e1\u30c7\u30a3\u30a2\u30d5\u30a1\u30a4\u30eb\u3068\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u306e\u307f\u3092\u30c1\u30a7\u30c3\u30af
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ja.properties
index 61626e69aa..8620a7ca3d 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ja.properties
@@ -1,42 +1,75 @@
-OpenIDE-Module-Name=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7ID
-FileTypeIdIngestModule.moduleName.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u7279\u5b9a
-FileTypeIdIngestModule.moduleDesc.text=\u30d0\u30a4\u30ca\u30ea\u30b7\u30b0\u30cd\u30c1\u30e3\u306b\u57fa\u3065\u3044\u3066\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u4e00\u81f4\u3057\u307e\u3059\u3002
-FileTypeIdIngestModule.complete.totalProcTime=\u5408\u8a08\u51e6\u7406\u6642\u9593
-FileTypeIdIngestModule.complete.totalFiles=\u5408\u8a08\u51e6\u7406\u30d5\u30a1\u30a4\u30eb\u6570
-FileTypeIdIngestModule.complete.srvMsg.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7ID\u306e\u7d50\u679c
-FileTypeIdModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof FileTypeIdModuleSettings\u3067\u3059\u3002
-FileTypeIdModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof FileTypeIdModuleSettings\u3067\u3059\u3002
-FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.toolTipText=\u65e2\u77e5\u306e\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u6570\u306b\u3088\u3063\u3066\u306f\u3001\u3053\u306e\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3059\u308b\u3053\u3068\u306b\u3088\u308a\u3001\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u7279\u5b9a\u3092\u52a0\u901f\u3057\u307e\u3059\u3002
-FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\uff08NSRL\uff09\u3092\u30b9\u30ad\u30c3\u30d7
-FileTypeIdGlobalSettingsPanel.deleteTypeButton.text=\u524a\u9664
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.title=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d\u304c\u6b20\u3051\u3066\u3044\u307e\u3059
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.message=MIME\u30bf\u30a4\u30d7\u304c\u5fc5\u8981\u3067\u3059\u3002
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.title=MIME\u30bf\u30a4\u30d7\u304c\u6b20\u3051\u3066\u3044\u307e\u3059
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.message=\u30aa\u30d5\u30bb\u30c3\u30c8\u306f\u6b63\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.title=\u7121\u52b9\u306a\u30aa\u30d5\u30bb\u30c3\u30c8
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidRawSignatureBytes.message=\u3053\u306e\u30b7\u30b0\u30cd\u30c1\u30e3\u306b\u4e00\u3064\u4ee5\u4e0a\u306e\u7121\u52b9\u306a16\u9032\u6570\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.message=\u30b7\u30b0\u30cd\u30c1\u30e3\u304c\u5fc5\u8981\u3067\u3059\u3002
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.title=\u30b7\u30b0\u30cd\u30c1\u30e3\u304c\u6b20\u3051\u3066\u3044\u307e\u3059
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignatureBytes.title=\u30b7\u30b0\u30cd\u30c1\u30e3\u304c\u7121\u52b9\u3067\u3059
-FileTypeIdGlobalSettingsPanel.JOptionPane.loadFailed.title=\u8aad\u307f\u8fbc\u307f\u304c\u5931\u6557\u3057\u307e\u3057\u305f
-FileTypeIdGlobalSettingsPanel.JOptionPane.storeFailed.title=\u4fdd\u5b58\u304c\u5931\u6557\u3057\u307e\u3057\u305f
-FileTypeIdGlobalSettingsPanel.newTypeButton.text=\u65b0\u898f\u30bf\u30a4\u30d7
-FileTypeIdGlobalSettingsPanel.signatureComboBox.asciiItem=\u30b9\u30c8\u30ea\u30f3\u30b0\uff08ASCII\uff09
-FileTypeIdGlobalSettingsPanel.signatureComboBox.rawItem=\u30d0\u30a4\u30c8\uff08HEX\uff09
-OptionsCategory_Keywords_FileTypeId=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7ID
+# {0} - \u30bf\u30a4\u30d7\u540d
+AddFileTypePanel.containsIllegalCharacter.message=\u4ee3\u308f\u308a\u306bMIME\u30bf\u30a4\u30d7\u306e\u7121\u52b9\u306a\u6587\u5b57 {0} \u304c\u63d0\u6848\u3055\u308c\u307e\u3057\u305f
+AddFileTypePanel.containsIllegalCharacter.title=MIME\u30bf\u30a4\u30d7\u306e\u7121\u52b9\u306a\u6587\u5b57
+AddFileTypePanel.mimeFormatLabel.text=MIME\u30bf\u30a4\u30d7\u306e\u5f62\u5f0f\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059: \u30e1\u30c7\u30a3\u30a2\u30bf\u30a4\u30d7/\u30e1\u30c7\u30a3\u30a2\u30b5\u30d6\u30bf\u30a4\u30d7
+# {0} - \u30e1\u30c7\u30a3\u30a2\u30b5\u30d6\u30bf\u30a4\u30d7
+AddFileTypePanel.nonStandardMIMEType.message=MIME\u30bf\u30a4\u30d7\u306e\u5f62\u5f0f\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093: \u30e1\u30c7\u30a3\u30a2\u30bf\u30a4\u30d7/\u30e1\u30c7\u30a3\u30a2\u30b5\u30d6\u30bf\u30a4\u30d7\u3002\u4ee3\u308f\u308a\u306b\u30ab\u30b9\u30bf\u30e0/{0} \u304c\u63d0\u6848\u3055\u308c\u307e\u3057\u305f\u3002
+AddFileTypePanel.nonStandardMIMEType.title=\u975e\u6a19\u6e96\u306eMIME\u30bf\u30a4\u30d7
+AddFileTypeSignatureDialog.addButton.title=OK
+AddFileTypeSignatureDialog.cancelButton.title=\u53d6\u308a\u6d88\u3057
+AddFileTypeSignatureDialog.invalidSignature.message=\u7121\u52b9\u306a\u7f72\u540d
+AddFileTypeSignaturePanel.signatureStringFail.text=\u7f72\u540d\u6587\u5b57\u5217\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+AddMimeTypeDialog.addButton.title=OK
+AddMimeTypeDialog.cancelButton.title=\u53d6\u308a\u6d88\u3057
+AddMimeTypedialog.title=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
+AddMimeTypePanel.emptySetName.message=\u30a2\u30e9\u30fc\u30c8\u304c\u8981\u6c42\u3055\u308c\u305f\u5834\u5408\u3001\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
+AddMimeTypePanel.emptySetName.title=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+AddMimeTypePanel.emptySigList.message=\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u7f72\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
+AddMimeTypePanel.emptySigList.title=\u7121\u52b9\u306a\u7f72\u540d\u30ea\u30b9\u30c8
+CannotRunFileTypeDetection=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u691c\u51fa\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+FileTypeIdGlobalSettingsPanel.Title=\u30b0\u30ed\u30fc\u30d0\u30eb\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u8b58\u5225\u8a2d\u5b9a
OptionsCategory_Name_FileTypeId=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
-FileTypeIdGlobalSettingsPanel.loadFileTypes.errorMessage=\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f
-FileTypeIdGlobalSettingsPanel.saveFileTypes.errorMessage=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u306e\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.message=\u30a2\u30e9\u30fc\u30c8\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
+OptionsCategory_Keywords_FileTypeId=FileTypeId
+OpenIDE-Module-Name=FileTypeId
+FileTypeIdIngestModule.moduleName.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u8b58\u5225
+FileTypeIdIngestModule.moduleDesc.text=\u30d0\u30a4\u30ca\u30ea\u30fc\u7f72\u540d\u306b\u57fa\u3065\u304d\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u7167\u5408\u3057\u307e\u3059\u3002
+FileTypeIdIngestModule.complete.totalProcTime=\u5408\u8a08\u51e6\u7406\u6642\u9593
+FileTypeIdIngestModule.complete.totalFiles=\u30d5\u30a1\u30a4\u30eb\u51e6\u7406\u306b\u8cbb\u3084\u3057\u305f\u5408\u8a08\u6642\u9593
+FileTypeIdIngestModule.complete.srvMsg.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7ID\u7d50\u679c
+FileTypeIdModuleFactory.getIngestJobSettingsPanel.exception.msg=instanceof FileTypeIdModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+FileTypeIdModuleFactory.createFileIngestModule.exception.msg=instanceof FileTypeIdModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.toolTipText=\u65e2\u77e5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u6570\u306b\u5fdc\u3058\u3066\u3001\u3053\u306e\u30dc\u30c3\u30af\u30b9\u3092\u30c1\u30a7\u30c3\u30af\u3059\u308b\u3068\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u8b58\u5225\u901f\u5ea6\u304c\u5411\u4e0a\u3057\u307e\u3059\u3002
+FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb(NSRL)\u3092\u30b9\u30ad\u30c3\u30d7
+FileTypeIdGlobalSettingsPanel.deleteTypeButton.text=\u30bf\u30a4\u30d7\u3092\u524a\u9664
+FileTypeIdGlobalSettingsPanel.signatureComboBox.rawItem=\u30d0\u30a4\u30c8(16\u9032\u6570)
+FileTypeIdGlobalSettingsPanel.signatureComboBox.asciiItem=\u6587\u5b57\u5217(ASCII)
FileTypeIdGlobalSettingsPanel.offsetComboBox.startItem=\u958b\u59cb
-FileTypeIdGlobalSettingsPanel.offsetComboBox.endItem=\u505c\u6b62
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.length=\u30aa\u30d5\u30bb\u30c3\u30c8\u306f\u30b7\u30b0\u30cd\u30c1\u30e3\u30b5\u30a4\u30ba\u3088\u308a\u5c0f\u3055\u304f\u3066\u306f\u3044\u3051\u307e\u305b\u3093\u3002
-FileTypeIdGlobalSettingsPanel.jLabel2.text=MIME\u30bf\u30a4\u30d7\uff1a
-FileTypeIdGlobalSettingsPanel.startUp.fileTypeDetectorInitializationException.msg=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u30c7\u30a3\u30c6\u30af\u30bf\u3092\u8d77\u52d5\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-AddFileTypeSignaturePanel.signatureTypeLabel.text=\u30b7\u30b0\u30cd\u30c1\u30e3\u30bf\u30a4\u30d7
-AddFileTypeSignaturePanel.signatureLabel.text=\u30b7\u30b0\u30cd\u30c1\u30e3
-AddFileTypeSignaturePanel.offsetRelativeToLabel.text=\u30aa\u30d5\u30bb\u30c3\u30c8\u306f\u6b21\u3068\u76f8\u5bfe\u7684
+FileTypeIdGlobalSettingsPanel.offsetComboBox.endItem=\u7d42\u4e86
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.message=MIME\u30bf\u30a4\u30d7\u304c\u5fc5\u8981\u3067\u3059\u3002
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.title=MIME\u30bf\u30a4\u30d7\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.message=\u7f72\u540d\u304c\u5fc5\u8981\u3067\u3059\u3002
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.title=\u7f72\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.length=\u30aa\u30d5\u30bb\u30c3\u30c8\u306f\u7f72\u540d\u30b5\u30a4\u30ba\u3088\u308a\u3082\u5c0f\u3055\u304f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.message=\u30aa\u30d5\u30bb\u30c3\u30c8\u306f\u6b63\u306e\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.title=\u7121\u52b9\u306a\u30aa\u30d5\u30bb\u30c3\u30c8
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidRawSignatureBytes.message=\u7f72\u540d\u306b1\u3064\u4ee5\u4e0a\u306e\u7121\u52b9\u306a16\u9032\u6570\u306e\u6841\u304c\u3042\u308a\u307e\u3059\u3002
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignatureBytes.title=\u7121\u52b9\u306a\u7f72\u540d
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.message=
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.title=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+FileTypeIdGlobalSettingsPanel.JOptionPane.storeFailed.title=\u4fdd\u5b58\u5931\u6557
+FileTypeIdGlobalSettingsPanel.JOptionPane.loadFailed.title=\u8aad\u307f\u8fbc\u307f\u5931\u6557
+FileTypeIdGlobalSettingsPanel.loadFileTypes.errorMessage=\u65e2\u5b58\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+FileTypeIdGlobalSettingsPanel.saveFileTypes.errorMessage=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+FileTypeIdGlobalSettingsPanel.newTypeButton.text=\u65b0\u898f\u30bf\u30a4\u30d7
+FileTypeIdGlobalSettingsPanel.jLabel2.text=\u30ab\u30b9\u30bf\u30e0MIME\u30bf\u30a4\u30d7:
+FileTypeIdGlobalSettingsPanel.startUp.fileTypeDetectorInitializationException.msg=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u691c\u51fa\u30c4\u30fc\u30eb\u306e\u521d\u671f\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
AddFileTypeSignaturePanel.offsetLabel.text=\u30d0\u30a4\u30c8\u30aa\u30d5\u30bb\u30c3\u30c8
+AddFileTypeSignaturePanel.signatureTextField.text=
+AddFileTypeSignaturePanel.signatureTypeLabel.text=\u7f72\u540d\u30bf\u30a4\u30d7
+AddFileTypeSignaturePanel.signatureLabel.text=\u7f72\u540d
+AddFileTypeSignaturePanel.hexPrefixLabel.text=0x
+AddFileTypeSignaturePanel.offsetRelativeToLabel.text=\u30aa\u30d5\u30bb\u30c3\u30c8\u76f8\u5bfe\u5148
+AddFileTypeSignaturePanel.offsetTextField.text=
+FileTypeIdGlobalSettingsPanel.jLabel1.text=\u7f72\u540d
+FileTypeIdGlobalSettingsPanel.editTypeButton.text=\u30bf\u30a4\u30d7\u3092\u7de8\u96c6
+AddFileTypePanel.mimeTypeTextField.text=
AddFileTypePanel.mimeTypeLabel.text=MIME\u30bf\u30a4\u30d7
-FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u4e2d\u306b\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093\uff01
-FileTypeIdGlobalSettingsPanel.jLabel3.text=Autopsy\u306f\u81ea\u52d5\u7684\u306b\u591a\u304f\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u691c\u77e5\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u306b\u306f\u3042\u306a\u305f\u306e\u30ab\u30b9\u30bf\u30e0\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+AddFileTypePanel.deleteSigButton.text=\u7f72\u540d\u3092\u524a\u9664
+AddFileTypePanel.jLabel1.text=\u7f72\u540d
+AddFileTypePanel.editSigButton.text=\u7f72\u540d\u3092\u7de8\u96c6
+AddFileTypePanel.addSigButton.text=\u7f72\u540d\u3092\u8ffd\u52a0
+AddFileTypePanel.postHitCheckBox.text=\u691c\u51fa\u6642\u306b"\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb"\u3068\u3057\u3066\u30a2\u30e9\u30fc\u30c8
+AddFileTypePanel.setNameLabel.text=\u30bb\u30c3\u30c8\u540d
+AddFileTypePanel.setNameTextField.text=
+FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5b9f\u884c\u4e2d\u306f\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u5b9a\u7fa9\u3092\u5909\u66f4\u3067\u304d\u307e\u305b\u3093!
+FileTypeIdGlobalSettingsPanel.jLabel3.text=Autopsy\u306f\u81ea\u52d5\u7684\u306b\u591a\u304f\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u691c\u51fa\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u306b\u30ab\u30b9\u30bf\u30e0\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java
index 0c885472de..46b60d9b1e 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/FileTypeDetector.java
@@ -18,6 +18,7 @@
*/
package org.sleuthkit.autopsy.modules.filetypeid;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -29,6 +30,7 @@ import org.apache.tika.Tika;
import org.apache.tika.io.TikaInputStream;
import org.apache.tika.mime.MimeTypes;
import org.sleuthkit.autopsy.coreutils.Logger;
+import org.sleuthkit.autopsy.textextractors.TextFileExtractor;
import org.sleuthkit.datamodel.AbstractFile;
import org.sleuthkit.datamodel.ReadContentInputStream;
import org.sleuthkit.datamodel.TskCoreException;
@@ -249,6 +251,17 @@ public class FileTypeDetector {
mimeType = tikaType.replace("tika-", ""); //NON-NLS
mimeType = removeOptionalParameter(mimeType);
}
+ } else {
+ /*
+ * If the file was marked as an octet stream and the extension is .txt, try to detect a text
+ * encoding with Decodetect.
+ */
+ if (file.getNameExtension().equals("txt")) {
+ Charset detectedCharset = TextFileExtractor.getEncoding(file);
+ if (detectedCharset != TextFileExtractor.UNKNOWN_CHARSET) {
+ mimeType = MimeTypes.PLAIN_TEXT;
+ }
+ }
}
/**
diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties
index 47a18afeda..3f5ea43a61 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ja.properties
@@ -1,207 +1,297 @@
+HashDbCreateDatabaseDialog.databaseCreationError=\u65b0\u898f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbCreateDatabaseDialog.databaseLookupError=\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbCreateDatabaseDialog.duplicateName=\u3053\u306e\u540d\u524d\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+HashDbCreateDatabaseDialog.missingOrg=\u7d44\u7e54\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
+HashDbCreateDatabaseDialog.populateOrgsError.message=\u7d44\u7e54\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+HashDbImportDatabaseDialog.databaseLookupError=\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbImportDatabaseDialog.duplicateName=\u3053\u306e\u540d\u524d\u3068\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u30d0\u30fc\u30b8\u30e7\u30f3\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+HashDbImportDatabaseDialog.missingOrg=\u7d44\u7e54\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
+HashDbImportDatabaseDialog.missingVersion=\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059
+HashDbImportDatabaseDialog.mustEnterHashSetNameMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbImportDatabaseDialog.populateOrgsError.message=\u7d44\u7e54\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+HashDbIngestModule.dialogTitle.errorFindingArtifacts=\u6b21\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u691c\u7d22\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+HashDbIngestModule.errorMessage.lookingForFileArtifacts={0} \u306e\u65e2\u5b58\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u691c\u7d22\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashDbIngestModule.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u30d2\u30c3\u30c8\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=\u9855\u8457\u306a\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u306f\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002
+HashDbIngestModule.knownFileSearchWillNotExecuteWarn=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u306e\u691c\u7d22\u306f\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002
+HashDbIngestModule.noKnownBadHashDbSetMsg=\u9855\u8457\u306a\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+HashDbIngestModule.noKnownHashDbSetMsg=\u65e2\u77e5\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+HashDbManager.CentralRepoHashDb.orgError=\u7d44\u7e54\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbManager.centralRepoLoadError.message=\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d
+HashDbManager.noDbPath.message=\u6b21\u306e\u305f\u3081\u306e\u6709\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+HashDbSearchAction.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+HashDbSearchPanel.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+HashLookupSettingsPanel.centralRepo=\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc
+HashLookupSettingsPanel.editable=\u7de8\u96c6\u53ef\u80fd
+HashLookupSettingsPanel.indexNsrl.text=\u3053\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306fNSRL\u306e\u3088\u3046\u306b\u898b\u3048\u308b\u305f\u3081\u3001\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3059\u3002\n
+HashLookupSettingsPanel.indexNsrl.title=NSRL\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u307e\u305b\u3093\u3002
+HashLookupSettingsPanel.notApplicable=N/A
+HashLookupSettingsPanel.promptMessage.deleteHashDb=\u3053\u308c\u306b\u3088\u308a\u3001\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u306b\u5229\u7528\u3067\u304d\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u7d9a\u884c\u3057\u307e\u3059\u304b?\n\n\u6ce8: \u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u5f8c\u304b\u3089\u3067\u3082\u518d\u30a4\u30f3\u30dd\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002
+HashLookupSettingsPanel.promptTitle.deleteHashDb=\u69cb\u6210\u304b\u3089\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u524a\u9664
+HashLookupSettingsPanel.readOnly=\u8aad\u307f\u53d6\u308a\u5c02\u7528
+# {0} - \u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u540d
+HashLookupSettingsPanel.removeDatabaseFailure.message=\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+# {0} - nsrlUrlAddress
+HashLookupSettingsPanel.removeUnindexedNsrl.text=NSRL\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001\u3053\u3053\u3067\u5165\u624b\u53ef\u80fd\u306a\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u6e08\u307f\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044:\n{0}
+HashLookupSettingsPanel.removeUnindexedNsrl.title=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u306a\u3044NSRL(s)\u306f\u524a\u9664\u3055\u308c\u307e\u3059
+HashLookupSettingsPanel.saveFail.message=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashLookupSettingsPanel.saveFail.title=\u4fdd\u5b58\u5931\u6557
+HashLookupSettingsPanel.Title=\u30b0\u30ed\u30fc\u30d0\u30eb\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u8a2d\u5b9a
+# {0} - nsrlHashSet
+HashLookupSettingsPanel.unindexedNsrl.base=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u306a\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306eNSRL\u306e\u3088\u3046\u306b\u898b\u3048\u308b\u305f\u3081\u3001\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3059\u3002\nHash set:{0}\n
+# {0} - nsrlHashSets
+HashLookupSettingsPanel.unindexedNsrls.base=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u306a\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306eNSRL\u306e\u3088\u3046\u306b\u898b\u3048\u308b\u305f\u3081\u3001\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3059\u3002\nHash sets:{0}\n
+HashLookupSettingsPanel.updateStatusError=\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ImportCentralRepoDbProgressDialog.errorParsingFile.message=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ImportCentralRepoDbProgressDialog.linesProcessed.message=\ \u51e6\u7406\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5
+ImportCentralRepoDbProgressDialog.title.text=\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\
- \u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb \n\n\
- \u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306b\u3042\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u3057\u3001\u300c\u65e2\u77e5\u300d\uff08NSRL\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u300c\u65e2\u77e5\u300d\u30d5\u30a1\u30a4\u30eb\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u57fa\u306b\uff09\u307e\u305f\u306f\u300c\u60aa\u8cea\uff0f\u7591\u308f\u3057\u3044\u300d\uff08\u30e6\u30fc\u30b6\u30fc\u304c\u6307\u5b9a\u3057\u305f\u5358\u6570\u307e\u305f\u306f\u8907\u6570\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u57fa\u306b\uff09\u3068\u30de\u30fc\u30af\u3057\u307e\u3059\u3002\n\n\
- \u30cf\u30c3\u30b7\u30e5\u3084\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a\u306b\u57fa\u3065\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3069\u3001\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306fGUI\u306b\u9023\u643a\u3057\u3066\u3044\u308b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3057\u306a\u3044\u3001\u8ffd\u52a0\u306e\u30c4\u30fc\u30eb\u304c\u542b\u307e\u308c\u307e\u3059\u3002
-OpenIDE-Module-Name=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
+ \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002 \n\n\
+ \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u6790\u3057\u3001\u300c\u65e2\u77e5\u300d(\u300c\u65e2\u77e5\u300d\u30d5\u30a1\u30a4\u30eb\u306eNSRL\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u306b\u57fa\u3065\u304f)\u304a\u3088\u3073\u300c\u4e0d\u6b63 / \u8208\u5473\u6df1\u3044\u300d(\u30e6\u30fc\u30b6\u30fc\u304c\u63d0\u4f9b\u3059\u308b1\u3064\u4ee5\u4e0a\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u57fa\u3065\u304f)\u3068\u30de\u30fc\u30af\u4ed8\u3051\u3057\u307e\u3059\u3002\n\n\
+ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u3001\u30cf\u30c3\u30b7\u30e5\u3084\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u69cb\u6210\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u306a\u3069\u306e\u3001GUI\u306b\u7d71\u5408\u3055\u308c\u3066\u3044\u308b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30c4\u30fc\u30eb\u4ee5\u5916\u306e\u305d\u306e\u4ed6\u306e\u30c4\u30fc\u30eb\u3082\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
+OpenIDE-Module-Name=HashDatabases
+OptionsCategory_Name_HashDatabase=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
+OptionsCategory_Keywords_HashDatabase=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
HashDbSearchPanel.hashTable.columnModel.title0=MD5\u30cf\u30c3\u30b7\u30e5
HashDbSearchPanel.addButton.text=\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
-HashDbSearchPanel.hashLabel.text=MD5\u30cf\u30c3\u30b7\u30e5\uff1a
+HashDbSearchPanel.hashField.text=
+HashDbSearchPanel.hashLabel.text=MD5\u30cf\u30c3\u30b7\u30e5:
HashDbSearchPanel.searchButton.text=\u691c\u7d22
-HashDbSearchPanel.removeButton.text=\u9078\u629e\u3057\u305f\u3082\u306e\u3092\u524a\u9664
-HashDbSearchPanel.titleLabel.text=\u6b21\u306eMD5\u30cf\u30c3\u30b7\u30e5\u4ed8\u304d\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\uff1a
-HashDbSearchPanel.errorField.text=\u30a8\u30e9\u30fc\uff1a\u5168\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30cf\u30c3\u30b7\u30e5\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashDbSearchPanel.removeButton.text=\u9078\u629e\u3055\u308c\u305f\u9805\u76ee\u3092\u524a\u9664
+HashDbSearchPanel.titleLabel.text=\u6b21\u306eMD5\u30cf\u30c3\u30b7\u30e5\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22:
+HashDbSearchPanel.errorField.text=\u30a8\u30e9\u30fc: \u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30cf\u30c3\u30b7\u30e5\u3055\u308c\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
HashDbSearchPanel.saveBox.text=\u30cf\u30c3\u30b7\u30e5\u3092\u8a18\u61b6
-HashDbSearchPanel.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
-OpenIDE-Module-Short-Description=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u304a\u3088\u3073\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30c4\u30fc\u30eb
-HashDbImportDatabaseDialog.jLabel1.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\uff1a
-HashDbImportDatabaseDialog.knownBadRadioButton.text=\u65e2\u77e5\u306e\u60aa\u8cea
-HashDbImportDatabaseDialog.jLabel2.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30bf\u30a4\u30d7\uff1a
+HashDbSearchPanel.cancelButton.text=\u53d6\u308a\u6d88\u3057
+OpenIDE-Module-Short-Description=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3068\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30c4\u30fc\u30eb
+HashDbImportDatabaseDialog.jLabel1.text=\u540d\u524d:
+HashDbImportDatabaseDialog.databasePathTextField.text=
+HashDbImportDatabaseDialog.knownBadRadioButton.text=\u9855\u8457
+HashDbImportDatabaseDialog.jLabel2.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30bf\u30a4\u30d7:
HashDbImportDatabaseDialog.okButton.text=OK
-HashDbImportDatabaseDialog.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
-HashDbCreateDatabaseDialog.jLabel2.text=\u30bf\u30a4\u30d7\uff1a
-HashDbCreateDatabaseDialog.knownBadRadioButton.text=\u65e2\u77e5\u306e\u60aa\u8cea
-HashDbCreateDatabaseDialog.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
-ModalNoButtons.CURRENTLYON_LABEL.text=y\u306ex\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-ModalNoButtons.GO_GET_COFFEE_LABEL.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d\u3067\u3059\u3002\u6642\u9593\u304c\u304b\u304b\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002
-ModalNoButtons.CANCEL_BUTTON.text=\u30ad\u30e3\u30f3\u30bb\u30eb
-HashDbImportDatabaseDialog.knownRadioButton.text=\u65e2\u77e5\uff08NSRL\u307e\u305f\u306f\u305d\u306e\u4ed6\uff09
+HashDbImportDatabaseDialog.cancelButton.text=\u53d6\u308a\u6d88\u3057
+HashDbCreateDatabaseDialog.jLabel2.text=\u30bf\u30a4\u30d7:
+HashDbCreateDatabaseDialog.knownBadRadioButton.text=\u9855\u8457
+HashDbCreateDatabaseDialog.cancelButton.text=\u53d6\u308a\u6d88\u3057
+ModalNoButtons.CURRENTDB_LABEL.text=(CurrentDb)
+ModalNoButtons.CURRENTLYON_LABEL.text=\u73fe\u5728y\u306ex\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4e2d\u3067\u3059
+ModalNoButtons.GO_GET_COFFEE_LABEL.text=\u73fe\u5728\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u4e2d\u3067\u3059\u3002\u3053\u308c\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+ModalNoButtons.CANCEL_BUTTON.text=\u53d6\u308a\u6d88\u3057
+HashDbImportDatabaseDialog.knownRadioButton.text=\u65e2\u77e5(NSRL\u307e\u305f\u306f\u305d\u306e\u4ed6)
HashDbCreateDatabaseDialog.knownRadioButton.text=\u65e2\u77e5
-HashDbCreateDatabaseDialog.saveAsButton.text=\u540d\u524d\u3092\u3064\u3051\u3066\u4fdd\u5b58\u2026
-HashDbImportDatabaseDialog.jLabel3.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\uff1a
-HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u6bce\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b
-HashDbImportDatabaseDialog.sendIngestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u6bce\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b
+HashDbCreateDatabaseDialog.saveAsButton.text=\u540d\u524d\u3092\u4ed8\u3051\u3066\u4fdd\u5b58...
+HashDbCreateDatabaseDialog.hashSetNameTextField.text=
+HashDbImportDatabaseDialog.jLabel3.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9:
+HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u3054\u3068\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u53d7\u4fe1\u7bb1\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
+HashDbImportDatabaseDialog.sendIngestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u3054\u3068\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u53d7\u4fe1\u7bb1\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
+HashDbImportDatabaseDialog.hashSetNameTextField.text=
HashDbImportDatabaseDialog.openButton.text=\u958b\u304f...
-HashDbCreateDatabaseDialog.jLabel3.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\uff1a
+HashDbCreateDatabaseDialog.jLabel3.text=\u540d\u524d:
HashDbCreateDatabaseDialog.okButton.text=OK
-AddContentToHashDbAction.ContentMenu.noHashDbsConfigd=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-AddContentToHashDbAction.ContentMenu.createDbItem=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210...
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr1.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr2.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr3.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b{0}\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileSzMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b{0}\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30cf\u30c3\u30b7\u30e5\u304c\u8a08\u7b97\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u9069\u5207\u306a\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u8a2d\u5b9a\u3057\u3001\u5b9f\u884c\u3057\u3066\u4e0b\u3055\u3044\u3002
+HashDbCreateDatabaseDialog.databasePathTextField.text=
+AddContentToHashDbAction.ContentMenu.noHashDbsConfigd=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u69cb\u6210\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+AddContentToHashDbAction.ContentMenu.createDbItem=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u4f5c\u6210...
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr1.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr2.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr3.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a8\u30e9\u30fc\u306b\u8ffd\u52a0
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileMsg={0} \u3092\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileEmptyMsg={0} \u3092\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileSzMsg={0} \u3092\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3002\u30cf\u30c3\u30b7\u30e5\u304c\u8a08\u7b97\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u9069\u5207\u306a\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u69cb\u6210\u3057\u3066\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
HashDatabaseOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-HashDatabaseOptionsPanelController.moduleErrMsg=HashDatabaseOptionsPanelController\u306e\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\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u5b8c\u5168\u3067\u306a\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
-HashDbConfigPanel.noSelectionText=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+HashDatabaseOptionsPanelController.moduleErrMsg=HashDatabaseOptionsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbConfigPanel.noSelectionText=
HashDbConfigPanel.errorGettingPathText=\u30d1\u30b9\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-HashDbConfigPanel.errorGettingIndexStatusText=\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-HashDbConfigPanel.indexButtonText.index=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9
-HashDbConfigPanel.indexButtonText.indexing=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-HashDbConfigPanel.indexStatusText.indexGen=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u4e2d\u3067\u3059
-HashDbConfigPanel.indexStatusText.indexOnly=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u307f
-HashDbConfigPanel.indexStatusText.indexed=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u6e08\u307f
+HashDbConfigPanel.errorGettingIndexStatusText=\u30b9\u30c6\u30fc\u30bf\u30b9\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbConfigPanel.indexButtonText.index=\u7d22\u5f15
+HashDbConfigPanel.indexButtonText.indexing=\u7d22\u5f15\u751f\u6210
+HashDbConfigPanel.indexStatusText.indexGen=\u73fe\u5728\u7d22\u5f15\u3092\u751f\u6210\u4e2d\u3067\u3059
+HashDbConfigPanel.indexStatusText.indexOnly=\u7d22\u5f15\u306e\u307f
+HashDbConfigPanel.indexButtonText.indexing=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u6e08\u307f
HashDbConfigPanel.indexButtonText.reIndex=\u518d\u30a4\u30f3\u30c7\u30c3\u30af\u30b9
-HashDbConfigPanel.indexStatusText.noIndex=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u7121\u3057
-HashDbConfigPanel.dbsNotIndexedMsg=\u6b21\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u307e\u3059\u304b\uff1f\n {0}
-HashDbConfigPanel.unindexedDbsMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
-HashDbConfigPanel.allUnindexedDbsRmFromListMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u306a\u3044\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664\u3055\u308c\u307e\u3059
+HashDbConfigPanel.indexStatusText.noIndex=\u7d22\u5f15\u304c\u3042\u308a\u307e\u305b\u3093
+HashDbConfigPanel.dbsNotIndexedMsg=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4eca\u3059\u3050\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3057\u307e\u3059\u304b? \n {0}
+HashDbConfigPanel.dbNotIndexedMsg=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4eca\u3059\u3050\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3057\u307e\u3059\u304b? \n{0}
+HashDbConfigPanel.unindexedDbsMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u306a\u3044\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
+HashDbConfigPanel.allUnindexedDbsRmFromListMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u306a\u3044\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u30ea\u30b9\u30c8\u304b\u3089\u3059\u3079\u3066\u524a\u9664\u3055\u308c\u307e\u3059
HashDbConfigPanel.nameColLbl=\u540d\u524d
-HashDbConfigPanel.editingCellsNotSupportedMsg=\u30bb\u30eb\u306f\u7de8\u96c6\u4e0d\u53ef\u3067\u3059
-HashDbCreateDatabaseDialog.createHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210
-HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u306f .{0} \u306e\u62e1\u5f35\u5b50\u304c\u5fc5\u8981\u3067\u3059\u3002
+HashDbConfigPanel.editingCellsNotSupportedMsg=\u30bb\u30eb\u306e\u7de8\u96c6\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+HashDbCreateDatabaseDialog.defaultFileName=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
+HashDbCreateDatabaseDialog.createHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u4f5c\u6210
+HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u306f .{0} \u62e1\u5f35\u5b50\u304c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
HashDbCreateDatabaseDialog.fileNameErr=\u30d5\u30a1\u30a4\u30eb\u540d\u30a8\u30e9\u30fc
-HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg=\u540c\u540d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044\u3002
-HashDbCreateDatabaseDialog.fileExistsErr=\u30d5\u30a1\u30a4\u30eb\u304c\u65e2\u306b\u5b58\u5728\u3057\u3066\u3044\u308b\u30a8\u30e9\u30fc
-HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\u306e\u5165\u529b\u304c\u5fc5\u8981\u3067\u3059
-HashDbCreateDatabaseDialog.createHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210\u30a8\u30e9\u30fc
-HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\u306e\u5165\u529b\u304c\u5fc5\u8981\u3067\u3059\u3002
-HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u4f5c\u6210\u30a8\u30e9\u30fc
-HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg=\u6307\u5b9a\u3055\u308c\u305f\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
-HashDbCreateDatabaseDialog.failedToCreateHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u4f5c\u6210\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-HashDbImportDatabaseDialog.importHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
-HashDbImportDatabaseDialog.fileNameExtFilter.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
-HashDbImportDatabaseDialog.failedToGetDbPathMsg=\u9078\u629e\u3057\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d1\u30b9\u306e\u5165\u624b\u3092\u5931\u6557\u3057\u307e\u3057\u305f\u3002
-HashDbImportDatabaseDialog.importHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a8\u30e9\u30fc\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
-HashDbImportDatabaseDialog.mustSelectHashDbFilePathMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u306e\u9078\u629e\u304c\u5fc5\u8981\u3067\u3059\u3002
-HashDbImportDatabaseDialog.hashDbDoesNotExistMsg=\u9078\u629e\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-HashDbImportDatabaseDialog.errorMessage.failedToOpenHashDbMsg={0}\u3067\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u958b\u304f\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg=\u3053\u306e\u540d\u524d\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u65b0\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+HashDbCreateDatabaseDialog.fileExistsErr=\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u306e\u30a8\u30e9\u30fc
+HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbCreateDatabaseDialog.createHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u4f5c\u6210\u30a8\u30e9\u30fc
+HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9\u3092\u5165\u529b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u4f5c\u6210\u30a8\u30e9\u30fc
+HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg=\u9078\u629e\u3057\u305f\u5834\u6240\u3067\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3002
+HashDbCreateDatabaseDialog.failedToCreateHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashDbImportDatabaseDialog.importHashDbMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+HashDbImportDatabaseDialog.fileNameExtFilter.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb
+HashDbImportDatabaseDialog.failedToGetDbPathMsg=\u9078\u629e\u3057\u305f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashDbImportDatabaseDialog.importHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a4\u30f3\u30dd\u30fc\u30c8\u30a8\u30e9\u30fc
+HashDbImportDatabaseDialog.mustSelectHashDbFilePathMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbImportDatabaseDialog.hashDbDoesNotExistMsg=\u9078\u629e\u3057\u305f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+HashDbImportDatabaseDialog.unableToCopyToUserDirMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30e6\u30fc\u30b6\u30fc\u69cb\u6210\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc {0} \u306b\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\u3002
+HashDbImportDatabaseDialog.errorMessage.failedToOpenHashDbMsg={0} \u306b\u3042\u308b\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002
HashLookupModuleFactory.moduleName.text=\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7
-HashLookupModuleFactory.moduleDescription.text=\u6a19\u6e96\u306eNSRL\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306a\u3069\u3001\u63d0\u4f9b\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5229\u7528\u3057\u3066\u3001\u65e2\u77e5\u307e\u305f\u306f\u7591\u308f\u3057\u3044\u3082\u306e\u3092\u691c\u77e5\u3057\u307e\u3059\u3002
-HashDbIngestModule.noKnownHashDbSetMsg=\u65e2\u77e5\u306e\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-HashDbIngestModule.knownFileSearchWillNotExecuteWarn=\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u304c\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002
-HashDbIngestModule.noKnownBadHashDbSetMsg=\u65e2\u77e5\u306e\u60aa\u8cea\u306a\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30bb\u30c3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-HashDbConfigPanel.dbNotIndexedMsg=\u6b21\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u307e\u3059\u304b\uff1f\n{0}
-HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=\u65e2\u77e5\u306e\u60aa\u8cea\u30d5\u30a1\u30a4\u30eb\u691c\u7d22\u306f\u5b9f\u884c\u3055\u308c\u307e\u305b\u3093\u3002
-HashDbIngestModule.fileReadErrorMsg=\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc\uff1a {0}
-HashDbIngestModule.calcHashValueErr={0}\u306e\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u8a08\u7b97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-HashDbIngestModule.hashLookupErrorMsg=\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u30a8\u30e9\u30fc\uff1a {0}
-HashDbIngestModule.lookingUpKnownBadHashValueErr={0}\u306e\u65e2\u77e5\u306e\u60aa\u8cea\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-HashDbIngestModule.lookingUpKnownHashValueErr={0}\u306e\u65e2\u77e5\u306e\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashLookupModuleFactory.moduleDescription.text=\u6a19\u6e96\u306eNSRL\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306a\u3069\u306e\u63d0\u4f9b\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u4f7f\u3063\u3066\u3001\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u3068\u9855\u8457\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u8b58\u5225\u3057\u307e\u3059\u3002
+HashDbIngestModule.fileReadErrorMsg=\u8aad\u307f\u53d6\u308a\u30a8\u30e9\u30fc: {0}
+HashDbIngestModule.calcHashValueErr={0} ({1}) \u306e\u30cf\u30c3\u30b7\u30e5\u5024\u306e\u8a08\u7b97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashDbIngestModule.hashLookupErrorMsg=\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u30a8\u30e9\u30fc: {0}
+HashDbIngestModule.settingKnownBadStateErr={0} \u306e\u9855\u8457\u306a\u72b6\u614b\u306e\u8a2d\u5b9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashDbIngestModule.lookingUpKnownBadHashValueErr={0} \u306e\u9855\u8457\u306a\u30cf\u30c3\u30b7\u30e5\u5024\u306e\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashDbIngestModule.lookingUpKnownHashValueErr={0} \u306e\u65e2\u77e5\u30cf\u30c3\u30b7\u30e5\u5024\u306e\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
HashDbIngestModule.postToBB.fileName=\u30d5\u30a1\u30a4\u30eb\u540d
HashDbIngestModule.postToBB.md5Hash=MD5\u30cf\u30c3\u30b7\u30e5
HashDbIngestModule.postToBB.hashsetName=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d
-HashDbIngestModule.postToBB.knownBadMsg=\u65e2\u77e5\u306e\u60aa\u8cea\: {0}
-HashDbIngestModule.complete.knownBadsFound=\u767a\u898b\u3055\u308c\u305f\u65e2\u77e5\u306e\u60aa\u8cea\uff1a
-HashDbIngestModule.complete.totalCalcTime=\u8a08\u7b97\u6642\u9593\u306e\u5408\u8a08
-HashDbIngestModule.complete.totalLookupTime=\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u6642\u9593\u306e\u5408\u8a08
-HashDbIngestModule.complete.databasesUsed=\u5229\u7528\u3057\u305f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1a
+HashDbIngestModule.postToBB.knownBadMsg=\u9855\u8457: {0}
+HashDbIngestModule.complete.knownBadsFound=\u898b\u3064\u304b\u3063\u305f\u9855\u8457\u6027:
+HashDbIngestModule.complete.totalCalcTime=\u5408\u8a08\u8a08\u7b97\u6642\u9593
+HashDbIngestModule.complete.totalLookupTime=\u5408\u8a08\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u6642\u9593
+HashDbIngestModule.complete.databasesUsed=\u4f7f\u7528\u3057\u305f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8:
HashDbIngestModule.complete.hashLookupResults=\u30cf\u30c3\u30b7\u30e5\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u7d50\u679c
-HashDbManager.moduleErrorListeningToUpdatesMsg=HashDbManager\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\u304c\u539f\u56e0\u306a\u306e\u304b\u3092\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u5b8c\u5168\u3067\u306a\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
-HashDbManager.replacingDuplicateHashsetNameMsg=\u91cd\u8907\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d {0} \u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002\n {1}\u306b\u66f8\u304d\u63db\u3048\u307e\u3059\u3002
-HashDbManager.openHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u958b\u304f\u30a8\u30e9\u30fc
-HashDbManager.unableToOpenHashDbMsg=\ {0} \u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u958b\u3051\u307e\u305b\u3093\u3002
-HashDbManager.savedBackupOfOldConfigMsg={0}\n\u53e4\u3044\u8a2d\u5b9a\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30b3\u30d4\u30fc\u304c\u6b21\u306e\u901a\u308a\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f\u3002\n{1}
-HashDbManager.baseMessage.updatedFormatHashDbConfig=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u5f62\u5f0f\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002
-HashDbManager.msgBoxTitle.confFileFmtChanged=\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u306e\u5909\u66f4\u5b8c\u4e86
-HashDbManager.dlgMsg.dbNotFoundAtLoc=\ {0} \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u6b21\u306e\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\n {1}\n \u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3057\u307e\u3059\u304b\uff1f
-HashDbManager.dlgTitle.MissingDb=\u6b20\u843d\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
-HashDbManager.progress.indexingHashSet=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d {0}
-HashDbManager.dlgMsg.errorIndexingHashSet=\ {0} \u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d\u306e\u30a8\u30e9\u30fc
-HashDbManager.hashDbIndexingErr=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d\u306e\u30a8\u30e9\u30fc
-HashDbPanelSearchAction.actionName=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u57fa\u3065\u304f\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-HashDbSearchAction.dlgMsg.noFilesHaveMD5Calculated=MD5\u30cf\u30c3\u30b7\u30e5\u304c\u8a08\u7b97\u3055\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305a\u306fHashDB\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3057\u3066\u4e0b\u3055\u3044\u3002
+HashDbManager.moduleErrorListeningToUpdatesMsg=HashDbManager\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+HashDbManager.replacingDuplicateHashsetNameMsg=\u691c\u51fa\u3055\u308c\u305f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d {0} \u3092\u8907\u88fd\u3057\u307e\u3059\u3002\n{1} \u3067\u7f6e\u304d\u63db\u3048\u4e2d\u3067\u3059\u3002
+HashDbManager.openHashDbErr=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a4\u30f3\u30aa\u30fc\u30d7\u30f3\u30a8\u30e9\u30fc
+HashDbManager.unableToOpenHashDbMsg={0} \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u958b\u3051\u307e\u305b\u3093\u3002
+HashDbManager.savedBackupOfOldConfigMsg={0}\n\u53e4\u3044\u69cb\u6210\u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30b3\u30d4\u30fc\u304c \n{1} \u3068\u3057\u3066\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f
+HashDbManager.baseMessage.updatedFormatHashDbConfig=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306e\u5f62\u5f0f\u304c\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f\u3002
+HashDbManager.msgBoxTitle.confFileFmtChanged=\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306e\u5f62\u5f0f\u304c\u5909\u66f4\u3055\u308c\u307e\u3057\u305f
+HashDbManager.dlgMsg.dbNotFoundAtLoc=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8 {0} \u304c\n{1}\u306e\u5834\u6240\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\n\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3057\u307e\u3059\u304b?
+HashDbManager.dlgTitle.MissingDb=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093
+HashDbManager.progress.indexingHashSet={0} \u306e\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+HashDbManager.dlgMsg.errorIndexingHashSet={0} \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u7d22\u5f15\u751f\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+HashDbManager.hashDbIndexingErr=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30a8\u30e9\u30fc
+HashDbPanelSearchAction.actionName=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
+HashDbSearchAction.dlgMsg.noFilesHaveMD5Calculated=\u73fe\u5728MD5\u30cf\u30c3\u30b7\u30e5\u304c\u8a08\u7b97\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u6700\u521d\u306bHashDB\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
HashDbSearchManager.MD5HashSearch=MD5\u30cf\u30c3\u30b7\u30e5\u691c\u7d22
-HashDbSearchManager.noResultsFoundMsg=\u4e00\u81f4\u3059\u308b\u3082\u306e\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-HashDbSearchPanel.titleText.ingestOngoing=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\uff1b\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-HashDbSearchPanel.noFilesHaveMD5HashMsg=MD5\u30cf\u30c3\u30b7\u30e5\u4ed8\u304d\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-HashDbSearchPanel.errorText.noHashesAddedMsg=\u30a8\u30e9\u30fc\uff1a\u30cf\u30c3\u30b7\u30e5\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-HashDbSearchPanel.errorText.hashAlreadyAddedMsg=\u30a8\u30e9\u30fc\uff1a\u30cf\u30c3\u30b7\u30e5\u304c\u65e2\u306b\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-HashDbSearchPanel.errorText.invalidMD5HashMsg=\u30a8\u30e9\u30fc\uff1a\u6709\u52b9\u306aMD5\u30cf\u30c3\u30b7\u30e5\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-HashDbSearchThread.progress.cancellingSearch={0}\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
-HashDbSearchThread.name.searching=\u691c\u7d22\u4e2d
-HashDbSearchThread.noMoreFilesWithMD5Msg=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u4ed8\u304d\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4ed6\u306b\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-ModalNoButtons.indexingDbsTitle=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-ModalNoButtons.indexingDbTitle=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-ModalNoButtons.exitHashDbIndexingMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u4e2d\u6b62\u3057\u307e\u3059\u3002\n\
-\u4f5c\u6210\u3055\u308c\u305f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f\u5229\u7528\u4e0d\u53ef\u3068\u306a\u308a\u307e\u3059\u3002\u7d9a\u884c\u3059\u308b\u5834\u5408\u306f\n\
-\u30cf\u30c3\u30b7\u30e5\u30d5\u30a9\u30eb\u30c0\u5185\u306b\u3042\u308b\u3001\u5bfe\u5fdc\u3059\u308b-md5.idx \u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u4e0b\u3055\u3044\u3002\n\
-\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u4e2d\u6b62\u3057\u307e\u3059\u304b\uff1f
-ModalNoButtons.dlgTitle.unfinishedIndexing=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u672a\u5b8c\u4e86
-ModalNoButtons.indexThis.currentlyIndexing1Db=\uff11\u3064\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=\uff11\uff0f {0}\u3064\u76ee\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-ModalNoButtons.propChg.currentlyIndexingXofN={0}\uff0f {1}\u3064\u76ee\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u4e2d
-HashDbManager.duplicateHashSetNameExceptionMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d''{0}''\u306f\u65e2\u306b\u5225\u306e\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4f7f\u308f\u308c\u3066\u3044\u307e\u3059\u3002
-HashDbManager.hashDbDoesNotExistExceptionMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u6b21\u3067\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\n{0}
-HashDbManager.hashDbFileExistsExceptionMsg=\u65e2\u306b\u30d5\u30a1\u30a4\u30eb\u304c\u6b21\u306b\u5b58\u5728\u3057\u307e\u3059\n{0}
-HashDbManager.hashDbAlreadyAddedExceptionMsg=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\n{0}\n\u306f\u65e2\u306b\u4f5c\u6210\u307e\u305f\u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002
-HashDbManager.illegalHashDbFileNameExtensionMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u540d\u306f.{0}\u306e\u62e1\u5f35\u5b50\u304c\u5fc5\u8981\u3067\u3059\u3002
+HashDbSearchManager.noResultsFoundMsg=\u8a72\u5f53\u3059\u308b\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+HashDbSearchPanel.titleText.ingestOngoing=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+HashDbSearchPanel.noFilesHaveMD5HashMsg=\u73fe\u5728MD5\u30cf\u30c3\u30b7\u30e5\u304c\u8a08\u7b97\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+HashDbSearchPanel.errorText.noHashesAddedMsg=\u30a8\u30e9\u30fc: \u30cf\u30c3\u30b7\u30e5\u304c\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+HashDbSearchPanel.errorText.hashAlreadyAddedMsg=\u30a8\u30e9\u30fc: \u30cf\u30c3\u30b7\u30e5\u304c\u3059\u3067\u306b\u8ffd\u52a0\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+HashDbSearchPanel.errorText.invalidMD5HashMsg=\u30a8\u30e9\u30fc: \u305d\u308c\u306f\u6709\u52b9\u306aMD5\u30cf\u30c3\u30b7\u30e5\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+HashDbSearchThread.progress.cancellingSearch={0} (\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...)
+HashDbSearchThread.name.searching=\u691c\u7d22\u4e2d\u3067\u3059
+HashDbSearchThread.noMoreFilesWithMD5Msg=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u4ed6\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ModalNoButtons.indexingDbsTitle=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+ModalNoButtons.indexingDbTitle=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+ModalNoButtons.exitHashDbIndexingMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u7d22\u5f15\u751f\u6210\u3092\u7d42\u4e86\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002\n\
+\u751f\u6210\u3055\u308c\u305f\u7d22\u5f15\u306f\u4f7f\u7528\u3067\u304d\u306a\u3044\u72b6\u614b\u306e\u307e\u307e\u306b\u306a\u308a\u307e\u3059\u3002\u7d9a\u884c\u3092\u9078\u629e\u3059\u308b\u5834\u5408\u3001\n\
+ \u30cf\u30c3\u30b7\u30e5\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e\u8a72\u5f53\u3059\u308b-md5.idx\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\
+ \u7d22\u5f15\u751f\u6210\u3092\u7d42\u4e86\u3057\u307e\u3059\u304b?
+ModalNoButtons.dlgTitle.unfinishedIndexing=\u5b8c\u4e86\u3057\u3066\u3044\u306a\u3044\u7d22\u5f15\u751f\u6210
+ModalNoButtons.indexThis.currentlyIndexing1Db=\u73fe\u57281\u3064\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=\u73fe\u5728 {0} \u306e1\u3064\u3092\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+ModalNoButtons.propChg.currentlyIndexingXofN=\u73fe\u5728 {1} \u306e {0} \u3092\u7d22\u5f15\u751f\u6210\u4e2d\u3067\u3059
+HashDbManager.duplicateHashSetNameExceptionMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d ''{0}'' \u306f\u3059\u3067\u306b\u4ed6\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+HashDbManager.hashDbDoesNotExistExceptionMsg=\n{0} \u306b\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+HashDbManager.hashDbFileExistsExceptionMsg=at\n{0} \u306b\u30d5\u30a1\u30a4\u30eb\u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+HashDbManager.hashDbAlreadyAddedExceptionMsg=\n{0}\n \u306b\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u3059\u3067\u306b\u4f5c\u6210\u307e\u305f\u306f\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+HashDbManager.illegalHashDbFileNameExtensionMsg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u306f .{0} \u62e1\u5f35\u5b50\u304c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
HashDbManager.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-HashDbManager.knownBad.text=\u65e2\u77e5\u306e\u60aa\u8cea
+HashDbManager.knownBad.text=\u9855\u8457
HashDbManager.known.text=\u65e2\u77e5
-HashDbManager.fileNameExtensionFilter.title=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
-HashDbSearchAction.dlgMsg.title=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u57fa\u3065\u3044\u305f\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
+HashDbManager.fileNameExtensionFilter.title=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb
+HashDbSearchAction.dlgMsg.title=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
HashDbSearchAction.getName.text=\u30cf\u30c3\u30b7\u30e5\u691c\u7d22
-HashDbSearchPanel.dlgMsg.title=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u57fa\u3065\u304f\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
-AddContentToHashDbAction.singleSelectionName=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0
-AddContentToHashDbAction.multipleSelectionName=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0
-OptionsCategory_Name_HashDatabase=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
-OptionsCategory_Keywords_HashDatabase=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9
-HashDbManager.ingestRunningExceptionMsg=\u51e6\u7406\u4e2d\uff1b\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-ModalNoButtons.CURRENTDB_LABEL.text=\uff08\u73fe\u5728\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff09
-HashDbCreateDatabaseDialog.defaultFileName=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
-HashDbManager.saveErrorExceptionMsg=\u30cf\u30c3\u30b7\u30e5\u8a2d\u5b9a\u306e\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbSearchPanel.dlgMsg.title=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u3088\u308b\u30d5\u30a1\u30a4\u30eb\u691c\u7d22
+AddContentToHashDbAction.singleSelectionName=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0
+AddContentToHashDbAction.multipleSelectionName=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0
+AddContentToHashDbAction.singleSelectionNameDuringIngest=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d)
+AddContentToHashDbAction.multipleSelectionNameDuringIngest=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b9f\u884c\u4e2d)
+AddContentToHashDbAction.singleSelectionNameNoMD5=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(MD5\u30cf\u30c3\u30b7\u30e5\u306a\u3057)
+AddContentToHashDbAction.multipleSelectionNameNoMD5=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(MD5\u30cf\u30c3\u30b7\u30e5\u306a\u3057)
+AddContentToHashDbAction.singleSelectionNameEmpty=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(\u7a7a(\u672a\u8a18\u5165)\u306e\u30d5\u30a1\u30a4\u30eb)
+AddContentToHashDbAction.multipleSelectionNameEmpty=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8ffd\u52a0(\u7a7a(\u672a\u8a18\u5165)\u306e\u30d5\u30a1\u30a4\u30eb)
+HashDbManager.ingestRunningExceptionMsg=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+HashDbManager.saveErrorExceptionMsg=\u30cf\u30c3\u30b7\u30e5\u69cb\u6210\u306e\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashLookupSettingsPanel.jButton3.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+HashLookupSettingsPanel.jLabel6.text=\u30bf\u30a4\u30d7:
+HashLookupSettingsPanel.jLabel4.text=\u5834\u6240:
+HashLookupSettingsPanel.jLabel2.text=\u540d\u524d:
+HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3067\u3082MD5\u3092\u8a08\u7b97
+HashLookupModuleSettingsPanel.knownHashDbsLabel.text=\u4f7f\u7528\u3059\u308b\u65e2\u77e5\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u9078\u629e:
+HashLookupModuleSettingsPanel.knownBadHashDbsLabel.text=\u4f7f\u7528\u3059\u308b\u9855\u8457\u306a\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u9078\u629e:
AddContentToHashDbAction.addFilesToHashSet.files=\u30d5\u30a1\u30a4\u30eb
AddContentToHashDbAction.addFilesToHashSet.file=\u30d5\u30a1\u30a4\u30eb
-HashDbManager.errCreatingIndex.title=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-HashDbManager.errCreatingIndex.msg=\u6b21\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
-HashLookupSettingsPanel.jButton3.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
-HashLookupSettingsPanel.jLabel6.text=\u30bf\u30a4\u30d7\uff1a
-HashLookupSettingsPanel.jLabel4.text=\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\uff1a
-HashLookupSettingsPanel.jLabel2.text=\u540d\u524d\uff1a
-HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u306a\u304f\u3066\u3082\u3001MD5\u3092\u8a08\u7b97
-HashLookupModuleSettingsPanel.knownHashDbsLabel.text=\u5229\u7528\u3059\u308b\u65e2\u77e5\u306e\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u9078\u629e\uff1a
-HashLookupModuleSettingsPanel.knownBadHashDbsLabel.text=\u51e6\u7406\u306b\u5229\u7528\u3059\u308b\u65e2\u77e5\u306e\u60aa\u8cea\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u9078\u629e\uff1a
-HashLookupModuleFactory.createFileIngestModule.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof HashLookupModuleSettings\u3067\u3059\u3002
-HashLookupModuleFactory.getIngestJobSettingsPanel.exception.msg=\u8a2d\u5b9a\u3092\u884c\u3046\u70ba\u306e\u60f3\u5b9a\u3055\u308c\u308b\u5f15\u6570\u306finstanceof HashLookupModuleSettings\u3067\u3059\u3002
-HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.toolTipText=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u306a\u304f\u3066\u3082\u3001MD5\u3092\u8a08\u7b97
+HashDbManager.errCreatingIndex.title=\u7d22\u5f15\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+HashDbManager.errCreatingIndex.msg=\u6b21\u306e\u7d22\u5f15\u3092\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+HashLookupModuleFactory.getIngestJobSettingsPanel.exception.msg=instanceof HashLookupModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+HashLookupModuleFactory.createFileIngestModule.exception.msg=instanceof HashLookupModuleSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.toolTipText=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3067\u3082MD5\u3092\u8a08\u7b97
HashDbSearchPanel.hashTable.defaultModel.title.text=MD5\u30cf\u30c3\u30b7\u30e5
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileEmptyMsg=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b{0}\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-AddHashValuesToDatabaseDialog.JDialog.Title=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0\
-HashLookupSettingsPanel.addHashesToDatabaseButton.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
-AddHashValuesToDatabaseDialog.instructionLabel.text_1=\u4e0b\u8a18\u306bMD5\u306e\u30cf\u30c3\u30b7\u30e5\u5024\u3092\u8cbc\u308a\u4ed8\u3051\u308b\uff08\u30e9\u30a4\u30f3\u3054\u3068\u306b\u4e00\u3064\u305a\u3064\uff09\uff1a
-AddHashValuesToDatabaseDialog.cancelButton.text_2=\u30ad\u30e3\u30f3\u30bb\u30eb
-AddHashValuesToDatabaseDialog.pasteFromClipboardButton.text_2=\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u304b\u3089\u8cbc\u308a\u4ed8\u3051\u308b
+AddHashValuesToDatabaseDialog.JDialog.Title=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
+AddHashValuesToDatabaseDialog.instructionLabel.text_1=\u4ee5\u4e0b\u306eMD5\u30cf\u30c3\u30b7\u30e5\u5024(1\u30e9\u30a4\u30f3\u306b\u3064\u304d1\u3064)\u3092\u8cbc\u308a\u4ed8\u3051:
+AddHashValuesToDatabaseDialog.cancelButton.text_2=\u53d6\u308a\u6d88\u3057
+AddHashValuesToDatabaseDialog.pasteFromClipboardButton.text_2=\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u304b\u3089\u8cbc\u308a\u4ed8\u3051
AddHashValuesToDatabaseProgressDialog.okButton.text=OK
AddHashValuesToDatabaseProgressDialog.statusLabel.text=\u30b9\u30c6\u30fc\u30bf\u30b9
-AddHashValuesToDatabaseProgressDialog.title=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d7\u30ed\u30b0\u30ec\u30b9\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
-AddHashValuesToDatabaseDialog.title=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
+AddHashValuesToDatabaseProgressDialog.title=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3078\u306e\u30cf\u30c3\u30b7\u30e5\u8ffd\u52a0\u306e\u9032\u6357\u72b6\u6cc1
+AddHashValuesToDatabaseDialog.title=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
AddHashValuesToDatabaseProgressDialog.showErrorsButton.text=\u30a8\u30e9\u30fc\u3092\u8868\u793a
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.parsing=MD5\u30cf\u30c3\u30b7\u30e5\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u30d1\u30fc\u30b9\u4e2d...
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invalidHash=\u30a4\u30f3\u30d7\u30c3\u30c8\u306b\u7121\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invaliHash.msg=\u7121\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\uff1a
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.parsing=MD5\u30cf\u30c3\u30b7\u30e5\u306e\u30c6\u30ad\u30b9\u30c8\u306e\u89e3\u6790\u4e2d\u3067\u3059...
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invalidHash=\u5165\u529b\u306b\u7121\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u304c\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invaliHash.msg=\u7121\u52b9\u306a\u30cf\u30c3\u30b7\u30e5:
AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.noHashesToAdd=\u8ffd\u52a0\u3059\u308b\u30cf\u30c3\u30b7\u30e5\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.success={0}\u30cf\u30c3\u30b7\u30e5\u304c\u6b63\u3057\u304f\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash=\u6709\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash.msg=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u6709\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-HashLookupSettingsPanel.deleteDatabaseButton.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u524a\u9664
-HashLookupSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-HashLookupSettingsPanel.addHashesToDatabaseButton.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
-HashLookupSettingsPanel.indexPathLabelLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30d1\u30b9\uff1a
-HashLookupSettingsPanel.createDatabaseButton.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210
-HashLookupSettingsPanel.informationLabel.text=\u60c5\u5831
-HashLookupSettingsPanel.sendIngestMessagesCheckBox.text=\u30d2\u30c3\u30c8\u6bce\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b
-HashLookupSettingsPanel.indexButton.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9
-HashLookupSettingsPanel.indexLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b9\u30c6\u30fc\u30bf\u30b9\uff1a
-HashLookupSettingsPanel.hashDbIndexStatusLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-HashLookupSettingsPanel.hashDbTypeLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-HashLookupSettingsPanel.typeLabel.text=\u30bf\u30a4\u30d7\uff1a
-HashLookupSettingsPanel.locationLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\uff1a
-HashLookupSettingsPanel.hashDbLocationLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-HashLookupSettingsPanel.hashDbNameLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-HashLookupSettingsPanel.nameLabel.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\uff1a
-HashLookupSettingsPanel.hashDatabasesLabel.text=\u30cf\u30c3\u30b7\u30e5\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff1a
-HashLookupSettingsPanel.importDatabaseButton.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
-HashDbCreateDatabaseDialog.databasePathLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\uff1a
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.success={0} \u30cf\u30c3\u30b7\u30e5\u304c\u6b63\u5e38\u306b\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash=\u6709\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u306e\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash.msg=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u6709\u52b9\u306a\u30cf\u30c3\u30b7\u30e5\u306e\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:
+HashLookupSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+HashLookupSettingsPanel.addHashesToDatabaseButton.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306b\u30cf\u30c3\u30b7\u30e5\u3092\u8ffd\u52a0
+HashLookupSettingsPanel.indexPathLabelLabel.text=\u7d22\u5f15\u30d1\u30b9:
+HashLookupSettingsPanel.createDatabaseButton.toolTipText=
+HashLookupSettingsPanel.createDatabaseButton.text=\u65b0\u898f\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
+HashLookupSettingsPanel.informationLabel.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u8a73\u7d30
+HashLookupSettingsPanel.sendIngestMessagesCheckBox.text=\u30d2\u30c3\u30c8\u3054\u3068\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u53d7\u4fe1\u7bb1\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
+HashLookupSettingsPanel.indexButton.text=\u7d22\u5f15
+HashLookupSettingsPanel.indexLabel.text=\u7d22\u5f15\u30b9\u30c6\u30fc\u30bf\u30b9:
+HashLookupSettingsPanel.hashDbIndexStatusLabel.text=
+HashLookupSettingsPanel.hashDbTypeLabel.text=
+HashLookupSettingsPanel.typeLabel.text=\u30bf\u30a4\u30d7:
+HashLookupSettingsPanel.locationLabel.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9:
+HashLookupSettingsPanel.hashDbLocationLabel.text=
+HashLookupSettingsPanel.hashDbNameLabel.text=
+HashLookupSettingsPanel.nameLabel.text=\u540d\u524d:
+HashLookupSettingsPanel.hashDatabasesLabel.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8:
+HashLookupSettingsPanel.importDatabaseButton.toolTipText=
+HashLookupSettingsPanel.importDatabaseButton.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+HashLookupSettingsPanel.deleteDatabaseButton.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u524a\u9664
+ImportHashDatabaseDialog.lbFilePath.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9:
+ImportHashDatabaseDialog.tfDatabaseName.tooltip=\u3053\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u540d\u524d
+ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7
+ImportHashDatabaseDialog.tfDatabaseName.tooltip=\u3053\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u540d\u524d
+ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7
+ImportCentralRepoDbProgressDialog.lbProgress.text=\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u958b\u59cb\u3057\u307e\u3059...
+ImportCentralRepoDbProgressDialog.bnOk.text=OK
+ImportCentralRepoDbProgressDialog.bnCancel.text=\u53d6\u308a\u6d88\u3057
+HashLookupSettingsPanel.versionLabel.text_1=\u30d0\u30fc\u30b8\u30e7\u30f3:
+HashLookupSettingsPanel.hashDbVersionLabel.text_1=
+HashLookupSettingsPanel.orgLabel.text_1=\u7d44\u7e54:
+HashLookupSettingsPanel.hashDbOrgLabel.text_1=
+HashLookupSettingsPanel.readOnlyLabel.text_1=\u8aad\u307f\u53d6\u308a\u5c02\u7528:
+HashLookupSettingsPanel.hashDbReadOnlyLabel.text_1=
+ImportCentralRepoDbProgressDialog.jLabel1.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc\u306b\u30a4\u30f3\u30dd\u30fc\u30c8\u4e2d\u3067\u3059
+HashDbImportDatabaseDialog.lbVersion.text=\u30d0\u30fc\u30b8\u30e7\u30f3:
+HashDbImportDatabaseDialog.lbOrg.text=\u30bd\u30fc\u30b9\u7d44\u7e54:
+HashDbImportDatabaseDialog.readOnlyCheckbox.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u8aad\u307f\u53d6\u308a\u5c02\u7528\u306b\u3059\u308b
+HashDbImportDatabaseDialog.orgButton.text=\u7d44\u7e54\u3092\u7ba1\u7406
+HashDbImportDatabaseDialog.versionTextField.text=1.0
+HashDbImportDatabaseDialog.fileTypeRadioButton.text=\u30ed\u30fc\u30ab\u30eb
+HashDbImportDatabaseDialog.centralRepoRadioButton.text=\u30ea\u30e2\u30fc\u30c8(\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc)
+HashDbImportDatabaseDialog.jLabel4.text=\u5b9b\u5148:
+HashDbCreateDatabaseDialog.jLabel4.text=\u5b9b\u5148:
+HashDbCreateDatabaseDialog.fileTypeRadioButton.text=\u30ed\u30fc\u30ab\u30eb
+HashDbCreateDatabaseDialog.centralRepoRadioButton.text=\u30ea\u30e2\u30fc\u30c8(\u30bb\u30f3\u30c8\u30e9\u30eb\u30fb\u30ec\u30dd\u30b8\u30c8\u30ea\u30fc)
+HashDbCreateDatabaseDialog.lbOrg.text=\u30bd\u30fc\u30b9\u7d44\u7e54:
+HashDbCreateDatabaseDialog.orgButton.text=\u7d44\u7e54\u3092\u7ba1\u7406
+HashDbCreateDatabaseDialog.databasePathLabel.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d1\u30b9:
AddHashValuesToDatabaseDialog.okButton.text_2=OK
-HashLookupSettingsPanel.indexPathLabel.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3092\u30e6\u30fc\u30b6\u30fc\u69cb\u6210\u30d5\u30a1\u30a4\u30eb\u306b\u30b3\u30d4\u30fc
+HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.toolTipText=\u30e9\u30a4\u30d6\u30c8\u30ea\u30a2\u30fc\u30b8\u306e\u72b6\u6cc1\u3067\u306f\u3001\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3088\u3063\u3066\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u3078\u306e\u30d1\u30b9\u304c\u6709\u52b9\u3067\u3042\u308b\u3053\u3068\u304c\u4fdd\u8a3c\u3055\u308c\u307e\u3059\u3002
+HashLookupSettingsPanel.indexPathLabel.text=
diff --git a/Core/src/org/sleuthkit/autopsy/modules/iOS/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/iOS/Bundle_ja.properties
index bfccdf05e9..03cd3cc41e 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/iOS/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/iOS/Bundle_ja.properties
@@ -1,5 +1,8 @@
-iOSModuleFactory.moduleDescription=\u30B7\u30B9\u30C6\u30E0\u304A\u3088\u3073\u7B2C\u4E09\u8005\u30A2\u30D7\u30EA\u30C7\u30FC\u30BF\u3092\u62BD\u51FA
-iOSModuleFactory.moduleName=iOS\u30A2\u30CA\u30E9\u30A4\u30B6
-TextMessageAnalyzer.bbAttribute.incoming=\u53D7\u4FE1
-TextMessageAnalyzer.bbAttribute.outgoing=\u9001\u4FE1
-TextMessageAnalyzer.bbAttribute.smsMessage=SMS\u30E1\u30C3\u30BB\u30FC\u30B8
\ No newline at end of file
+CallLogAnalyzer.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u901a\u8a71\u30ed\u30b0\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ContactAnalyzer.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u9023\u7d61\u5148\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+iOSModuleFactory.moduleName=iOS Analyzer
+iOSModuleFactory.moduleDescription=\u30b7\u30b9\u30c6\u30e0\u3068\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u88fd\u30a2\u30d7\u30ea\u30c7\u30fc\u30bf\u3092\u62bd\u51fa
+TextMessageAnalyzer.bbAttribute.incoming=\u53d7\u4fe1
+TextMessageAnalyzer.bbAttribute.outgoing=\u9001\u4fe1
+TextMessageAnalyzer.bbAttribute.smsMessage=SMS\u30e1\u30c3\u30bb\u30fc\u30b8
+TextMessageAnalyzer.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u30c6\u30ad\u30b9\u30c8\u30e1\u30c3\u30bb\u30fc\u30b8\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ja.properties
index 6f6d7f49cf..5a940ca1fd 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ja.properties
@@ -1,51 +1,142 @@
-FilesIdentifierIngestJobSettingsPanel.border.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u6709\u52b9\u306b\u3059\u308b\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u9078\u629e\uff1a
-FilesSetPanel.descPanel.border.title=\u6982\u8981
-FilesSetPanel.descriptionPanel.border.title=\u6982\u8981
-FilesSetPanel.ignoreKnownFilesCheckbox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u3092\u7121\u8996
-FilesSetPanel.interesting.messages.filesSetsMustBeNamed=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306f\u540d\u524d\u304c\u5fc5\u8981\u3067\u3059\u3002
-FilesSetPanel.interesting.nameLabel.text=\u30bb\u30c3\u30c8\u540d\uff1a
-FilesSetPanel.title=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8
-FilesSetRulePanel.extensionRadioButton.text=\u62e1\u5f35\u5b50\u306e\u307f
-FilesSetRulePanel.fullNameRadioButton.text=\u30d5\u30eb\u30cd\u30fc\u30e0
-FilesSetRulePanel.jLabel1.text=\u30bf\u30a4\u30d7*\uff1a
-FilesSetRulePanel.messages.emptyNameCondition=\u3053\u306e\u30eb\u30fc\u30eb\u306f\u30cd\u30fc\u30e0\u30d1\u30bf\u30fc\u30f3\u3092\u7279\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-FilesSetRulePanel.messages.invalidCharInName=\u6b63\u898f\u8868\u73fe\u4ee5\u5916\u306f\\\u3001/\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u540d\u524d\u306b\u542b\u3081\u307e\u305b\u3093\u3002
-FilesSetRulePanel.messages.invalidCharInPath=\u6b63\u898f\u8868\u73fe\u4ee5\u5916\u306f\\\u3001\:\u3001*\u3001?\u3001"\u3001<\u3001>\u3092\u30d1\u30b9\u306b\u542b\u3081\u307e\u305b\u3093\u3002
-FilesSetRulePanel.messages.invalidNameRegex=\u6b63\u898f\u8868\u73fe\u306f\u6709\u52b9\u306a\u540d\u524d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff1a\n\n{0}
-FilesSetRulePanel.messages.invalidPathRegex=\u6b63\u898f\u8868\u73fe\u306f\u6709\u52b9\u306a\u30d1\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff1a\n\n{0}
-FilesSetRulePanel.nameRegexCheckbox.text=\u6b63\u898f\u8868\u73fe
-FilesSetRulePanel.pathRegexCheckBox.text=\u6b63\u898f\u8868\u73fe
-FilesSetRulePanel.pathSeparatorInfoLabel.text=/\u3092\u30d1\u30b9\u533a\u5207\u308a\u6587\u5b57\u3068\u3057\u3066\u5229\u7528
-FilesSetRulePanel.ruleNameLabel.text=\u30eb\u30fc\u30eb\u540d\uff1a
-FilesSetRulePanel.title=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u30eb\u30fc\u30eb
-InterestingItemsIdentifierIngestModule.moduleDescription=\u7591\u308f\u3057\u3044\u30a2\u30a4\u30c6\u30e0\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u306e\u5b9a\u7fa9\u3092\u3082\u3068\u306b\u7591\u308f\u3057\u3044\u30a2\u30a4\u30c6\u30e0\u3092\u691c\u77e5\u3057\u307e\u3059\u3002
-InterestingItemsIdentifierIngestModule.moduleName=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u691c\u77e5
+FilesIdentifierIngestJobSettingsPanel.getError=\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+FilesIdentifierIngestJobSettingsPanel.updateError=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u66f4\u65b0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+FilesIdentifierIngestModule.getFilesError=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+FilesIdentifierIngestModule.indexError.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u691c\u7d22\u3059\u308b\u305f\u3081\u306e\u3001\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u306e\u30d2\u30c3\u30c8\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+# {0} - daysIncluded
+FilesSet.rule.dateRule.toString=({0} \u65e5\u4ee5\u5185\u306b\u4fee\u6b63)
+FilesSetDefsPanel.bytes=\u30d0\u30a4\u30c8
+FilesSetDefsPanel.cancelImportMsg=\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u53d6\u308a\u6d88\u3059
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+FilesSetDefsPanel.exportButtonActionPerformed.fileExistPrompt=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
+FilesSetDefsPanel.gigaBytes=\u30ae\u30ac\u30d0\u30a4\u30c8
+# {0} - \u30d5\u30a3\u30eb\u30bf\u30fc\u540d
+# {1} - \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u540d
+FilesSetDefsPanel.ingest.fileFilterInUseError=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc {0} \u3092\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb {1} \u304c\u4f7f\u7528\u4e2d\u3067\u3059\u3002\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u304c\u4f7f\u7528\u3057\u3066\u3044\u308b\u9593\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002
+FilesSetDefsPanel.Ingest.Title=\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc\u8a2d\u5b9a
+FilesSetDefsPanel.interesting.copySetButton.text=\u30bb\u30c3\u30c8\u3092\u30b3\u30d4\u30fc
+FilesSetDefsPanel.interesting.exportButtonAction.featureName=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+FilesSetDefsPanel.interesting.ExportedMsg=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u304c\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u307e\u3057\u305f
+FilesSetDefsPanel.interesting.exportSetButton.text=\u30bb\u30c3\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+FilesSetDefsPanel.interesting.failExportMsg=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+FilesSetDefsPanel.interesting.failImportMsg=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u304c\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+FilesSetDefsPanel.interesting.fileExtensionFilterLbl=Autopsy\u306e\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb(xml)
+FilesSetDefsPanel.interesting.importButtonAction.featureName=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30a4\u30f3\u30dd\u30fc\u30c8
+FilesSetDefsPanel.interesting.importOwConflict=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30b3\u30f3\u30d5\u30ea\u30af\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+FilesSetDefsPanel.interesting.importSetButton.text=\u30bb\u30c3\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+# {0} - \u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u540d
+FilesSetDefsPanel.interesting.overwriteSetPrompt=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8 <{0}> \u304c\u3059\u3067\u306b\u30ed\u30fc\u30ab\u30eb\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
+FilesSetDefsPanel.Interesting.Title=\u8208\u5473\u6df1\u3044\u9805\u76ee\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u8a2d\u5b9a
+FilesSetDefsPanel.kiloBytes=\u30ad\u30ed\u30d0\u30a4\u30c8
+FilesSetDefsPanel.loadError=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+FilesSetDefsPanel.megaBytes=\u30e1\u30ac\u30d0\u30a4\u30c8
+FilesSetDefsPanel.noSkipMsg=\u3044\u3044\u3048\u3001\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059
+FilesSetDefsPanel.saveError=\u30d5\u30a1\u30a4\u30eb\u306b\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+FilesSetDefsPanel.yesOwMsg=\u306f\u3044\u3001\u4e0a\u66f8\u304d\u3057\u307e\u3059
+FilesSetPanel.filter.title=\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc
+FilesSetPanel.ingest.createNewFilter=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u4f5c\u6210/\u7de8\u96c6...
+FilesSetPanel.ingest.messages.filtersMustBeNamed=\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30fc\u306b\u540d\u524d\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+FilesSetPanel.rule.title=\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc\u30eb\u30fc\u30eb
+FilesSetRulePanel.bytes=\u30d0\u30a4\u30c8
+# {0} - \u6b63\u898f\u8868\u73fe
+FilesSetRulePanel.CommaInRegexWarning=\u8b66\u544a: \u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u30ab\u30f3\u30de\u306f\u6b63\u898f\u8868\u73fe\u306e\u4e00\u90e8\u3068\u3057\u3066\u89e3\u91c8\u3055\u308c\u3001\u8907\u6570\u306e\u62e1\u5f35\u5b50 (\u5165\u529b\u6570: "{0}") \u306b\u5165\u529b\u3092\u5206\u5272\u3057\u307e\u305b\u3093\u3002
+FilesSetRulePanel.DaysIncludedEmptyError=\u542b\u307e\u308c\u308b\u65e5\u6570\u306f\u7a7a(\u672a\u5165\u529b)\u306b\u3067\u304d\u307e\u305b\u3093\u3002
+FilesSetRulePanel.DaysIncludedEmptyError=\u542b\u307e\u308c\u308b\u65e5\u6570\u306f\u6b63\u306e\u6574\u6570\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FilesSetRulePanel.gigaBytes=\u30ae\u30ac\u30d0\u30a4\u30c8
+FilesSetRulePanel.kiloBytes=\u30ad\u30ed\u30d0\u30a4\u30c8
+FilesSetRulePanel.megaBytes=\u30e1\u30ac\u30d0\u30a4\u30c8
+FilesSetRulePanel.nameTextField.extensionExample=\u4f8b: "jpg" \u307e\u305f\u306f "jpg,jpeg,gif"
+FilesSetRulePanel.nameTextField.fullNameExample=\u4f8b: "file.exe"
+FilesSetRulePanel.NoConditionError=\u30eb\u30fc\u30eb\u3092\u4f5c\u308b\u305f\u3081\u306e\u6761\u4ef6\u304c\u5c11\u306a\u304f\u3068\u30821\u3064\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+FilesSetRulePanel.NoMimeTypeError=\u6709\u52b9\u306aMIME\u30bf\u30a4\u30d7\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+FilesSetRulePanel.NoNameError=\u540d\u524d\u306f\u7a7a(\u672a\u5165\u529b)\u306b\u3067\u304d\u307e\u305b\u3093
+FilesSetRulePanel.NoPathError=\u30d1\u30b9\u306f\u7a7a(\u672a\u5165\u529b)\u306b\u3067\u304d\u307e\u305b\u3093
+FilesSetRulePanel.ZeroFileSizeError=\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\u306e\u6761\u4ef6\u5024\u306f0\u306b\u3067\u304d\u307e\u305b\u3093(= \u3092\u9078\u629e\u3059\u308b\u5834\u5408\u3092\u9664\u304f)\u3002
+FilesSetsManager.allFilesAndDirectories=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc(\u672a\u4f7f\u7528\u9818\u57df\u4ee5\u5916)
+FilesSetsManager.allFilesDirectoriesAndUnallocated=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3001\u672a\u4f7f\u7528\u9818\u57df
+InterestingItemsIngestModuleFactory.defaultSettingsError=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-OpenIDE-Module-Long-Description=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u691c\u77e5\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u306e\u5b9a\u7fa9\u3092\u3082\u3068\u306b\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u77e5\u3057\u307e\u3059\u3002
-OpenIDE-Module-Name=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u691c\u77e5
-OpenIDE-Module-Short-Description=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u691c\u77e5\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-OptionsCategory_Name_InterestingItemDefinitions=\u7591\u308f\u3057\u3044\u30d5\u30a1\u30a4\u30eb
-OptionsCategory_Keywords_InterestingItemDefinitions=\u7591\u308f\u3057\u3044\u30a2\u30a4\u30c6\u30e0\u5b9a\u7fa9
-FilesSetDefsPanel.doFileSetsDialog.duplicateRuleSet.text=\u540d\u524d\u304c{0}\u306e\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
-FilesSetRulePanel.interesting.jLabel5.text=\u898b\u3064\u3051\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u306e\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-FilesSetDefsPanel.interesting.setsListLabel.text=\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8
+OpenIDE-Module-Long-Description=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u8b58\u5225\u5b50\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002\n\n \u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u306e\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u3067\u5b9a\u3081\u308b\u3068\u304a\u308a\u306b\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u8b58\u5225\u3057\u307e\u3059\u3002
+OpenIDE-Module-Short-Description=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u8b58\u5225\u5b50\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002
+OpenIDE-Module-Name=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u8b58\u5225\u5b50
+OptionsCategory_Name_InterestingItemDefinitions=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb
+OptionsCategory_Keywords_InterestingItemDefinitions=InterestingItemDefinitions
+InterestingItemsIdentifierIngestModule.moduleName=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u8b58\u5225\u5b50
+InterestingItemsIdentifierIngestModule.moduleDescription=\u8208\u5473\u6df1\u3044\u9805\u76ee\u306e\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u3067\u5b9a\u3081\u308b\u3068\u304a\u308a\u306b\u8208\u5473\u6df1\u3044\u9805\u76ee\u3092\u8b58\u5225\u3057\u307e\u3059\u3002
+FilesSetPanel.interesting.title=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30eb\u30fc\u30eb
+FilesSetPanel.interesting.messages.filesSetsMustBeNamed=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u540d\u524d\u3092\u4ed8\u3051\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+FilesSetPanel.messages.filesSetsReservedName=\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c\u30ea\u30b6\u30fc\u30d6\u3059\u308b\u540d\u524d\u3092\u9078\u629e\u3057\u307e\u3057\u305f\u3002\u5225\u306e\u540d\u524d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+FilesSetPanel.ignoreKnownFilesCheckbox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u3092\u7121\u8996
+FilesSetPanel.descriptionPanel.border.title=\u8aac\u660e
+FilesSetPanel.interesting.nameLabel.text=\u30bb\u30c3\u30c8\u540d:
+FilesSetPanel.ingest.nameLabel.text=\u30d5\u30a3\u30eb\u30bf\u30fc\u540d:
+FilesSetPanel.descPanel.border.title=\u8aac\u660e
+FilesSetPanel.ignoreUnallocCheckbox.toolTipText=\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u3001\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996\u3057\u307e\u3059\u3002\u5b9f\u884c\u901f\u5ea6\u304c\u901f\u304f\u306a\u308a\u3001\u3088\u308a\u5b8c\u5168\u3067\u306f\u306a\u3044\u7d50\u679c\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002
+FilesSetPanel.ignoreUnallocCheckbox.text=\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996
+FilesSetRulePanel.title=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u306e\u30eb\u30fc\u30eb
+FilesSetRulePanel.extensionRadioButton.text=\u62e1\u5f35\u5b50\u306e\u307f
+FilesSetRulePanel.pathRegexCheckBox.text=\u6b63\u898f\u8868\u73fe
+FilesSetRulePanel.pathTextField.text=
+FilesSetRulePanel.fullNameRadioButton.text=\u5b8c\u5168\u306a\u540d\u524d
+FilesSetRulePanel.nameRegexCheckbox.text=\u5f93\u5c5e\u6587\u5b57\u5217 / \u6b63\u898f\u8868\u73fe
+FilesSetRulePanel.ruleNameTextField.text=
+FilesSetRulePanel.nameTextField.text=
+FilesSetRulePanel.ruleNameLabel.text=\u30eb\u30fc\u30eb\u540d(\u4efb\u610f):
+FilesSetRulePanel.messages.emptyNameCondition=\u3053\u306e\u30eb\u30fc\u30eb\u306e\u540d\u524d\u30d1\u30bf\u30fc\u30f3\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+FilesSetRulePanel.messages.invalidNameRegex=\u540d\u524d\u306e\u6b63\u898f\u8868\u73fe\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093:\n\n{0}
+FilesSetRulePanel.messages.invalidCharInName=\u540d\u524d\u306b\u306f \\\u3001/\u3001 :\u3001*\u3001?\u3001\"\u3001 <\u3001> \u3092\u542b\u3081\u3089\u308c\u307e\u305b\u3093(\u6b63\u898f\u8868\u73fe\u306e\u5834\u5408\u3092\u9664\u304f)\u3002
+FilesSetRulePanel.messages.invalidCharInPath=\u30d1\u30b9\u306b\u306f \\\u3001/\u3001 :\u3001*\u3001?\u3001\"\u3001 <\u3001> \u3092\u542b\u3081\u3089\u308c\u307e\u305b\u3093(\u6b63\u898f\u8868\u73fe\u306e\u5834\u5408\u3092\u9664\u304f)\u3002
+FilesSetRulePanel.messages.invalidPathRegex=\u30d1\u30b9\u306e\u6b63\u898f\u8868\u73fe\u304c\u6709\u52b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093:\n\n{0}
+FilesSetDefsPanel.doFileSetsDialog.duplicateRuleSet.text= {0} \u306e\u540d\u524d\u306e\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
+FilesSetRulePanel.pathSeparatorInfoLabel.text=\u30d5\u30a9\u30eb\u30c0\u30fc\u304c\u89aa\u30d1\u30b9\u306b\u542b\u307e\u308c\u3066\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002'/\u2019 \u3092\u4f7f\u7528\u3057\u3066\u9023\u7d9a\u3059\u308b\u540d\u524d\u3092\u53d6\u5f97
+FilesIdentifierIngestJobSettingsPanel.border.title=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u6709\u52b9\u5316\u3059\u308b\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u30bb\u30c3\u30c8\u3092\u9078\u629e:
+FilesSetRulePanel.jLabel1.text=\u30bf\u30a4\u30d7:
+FilesSetRulePanel.interesting.jLabel5.text=\u691c\u7d22\u3057\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u5165\u529b\u3057\u307e\u3059\u3002
+FilesSetRulePanel.ingest.jLabel5.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u305f\u3044\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u5165\u529b\u3057\u307e\u3059\u3002
+FilesSetRulePanel.nameCheck.text=\u540d\u524d:
+FilesSetRulePanel.pathCheck.text=\u30d5\u30a9\u30eb\u30c0\u30fc\u540d:
+FilesSetRulePanel.filesRadioButton.text=\u30d5\u30a1\u30a4\u30eb
+FilesSetRulePanel.dirsRadioButton.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc
+FilesSetDefsPanel.interesting.setsListLabel.text=\u30eb\u30fc\u30eb\u30bb\u30c3\u30c8:
+FilesSetDefsPanel.ingest.setsListLabel.text=\u30d5\u30a1\u30a4\u30eb\u30d5\u30a3\u30eb\u30bf\u30fc:
+FilesSetDefsPanel.interesting.jTextArea1.text=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u4f7f\u7528\u3059\u308b\u3068\u3001\u6307\u5b9a\u3057\u305f\u6761\u4ef6\u3068\u4e00\u81f4\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u3067\u304d\u307e\u3059\u3002\u5404\u30bb\u30c3\u30c8\u306b\u3001\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u7279\u5fb4\u3068\u4e00\u81f4\u3059\u308b\u30eb\u30fc\u30eb\u30ea\u30b9\u30c8\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb\u306f\u691c\u7d22\u5bfe\u8c61\u3068\u306a\u308b1\u3064\u306e\u30eb\u30fc\u30eb\u3068\u4e00\u81f4\u3059\u308b\u3060\u3051\u3067\u5341\u5206\u3067\u3059\u3002
+FilesSetDefsPanel.ingest.jTextArea1.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30b5\u30d6\u30bb\u30c3\u30c8\u306e\u307f\u3092\u5206\u6790\u3059\u308b\u3088\u3046\u30eb\u30fc\u30eb\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u30eb\u30fc\u30eb\u3092\u30bb\u30c3\u30c8\u306b\u69cb\u9020\u5316\u3057\u307e\u3059\u3002\u4e00\u5ea6\u306b1\u3064\u306e\u30bb\u30c3\u30c8\u306e\u307f\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb\u306f\u5206\u6790\u5bfe\u8c61\u3068\u306a\u308b1\u3064\u306e\u30eb\u30fc\u30eb\u3068\u4e00\u81f4\u3059\u308b\u3060\u3051\u3067\u5341\u5206\u3067\u3059\u3002
FilesSetDefsPanel.interesting.editSetButton.text=\u30bb\u30c3\u30c8\u3092\u7de8\u96c6
+FilesSetDefsPanel.ingest.editSetButton.text=\u7de8\u96c6\u30d5\u30a3\u30eb\u30bf\u30fc
FilesSetDefsPanel.interesting.newSetButton.text=\u65b0\u898f\u30bb\u30c3\u30c8
+FilesSetDefsPanel.ingest.newSetButton.text=\u65b0\u898f\u30d5\u30a3\u30eb\u30bf\u30fc
FilesSetDefsPanel.interesting.deleteSetButton.text=\u30bb\u30c3\u30c8\u3092\u524a\u9664
+FilesSetDefsPanel.ingest.deleteSetButton.text=\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u524a\u9664
+FilesSetDefsPanel.interesting.jLabel6.text=\u8a73\u7d30\u3092\u8a2d\u5b9a
+FilesSetDefsPanel.ingest.jLabel6.text=\u30d5\u30a3\u30eb\u30bf\u30fc\u8a73\u7d30
FilesSetDefsPanel.newRuleButton.text=\u65b0\u898f\u30eb\u30fc\u30eb
+FilesSetDefsPanel.jLabel8.text=\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba:
+FilesSetDefsPanel.jLabel7.text=MIME\u30bf\u30a4\u30d7:
FilesSetDefsPanel.rulePathConditionRegexCheckBox.text=\u6b63\u898f\u8868\u73fe
-FilesSetDefsPanel.jLabel4.text=\u30d1\u30b9\u30d1\u30bf\u30fc\u30f3\uff1a
+FilesSetDefsPanel.jLabel4.text=\u30d1\u30b9\u306e\u5f93\u5c5e\u6587\u5b57\u5217:
FilesSetDefsPanel.jLabel1.text=\u30eb\u30fc\u30eb\u8a73\u7d30
-FilesSetDefsPanel.dirsRadioButton.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
-FilesSetDefsPanel.jLabel2.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\uff1a
+FilesSetDefsPanel.dirsRadioButton.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc
+FilesSetDefsPanel.jLabel2.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7:
FilesSetDefsPanel.deleteRuleButton.text=\u30eb\u30fc\u30eb\u3092\u524a\u9664
-FilesSetDefsPanel.fileNameRegexCheckbox.text=\u6b63\u898f\u8868\u73fe
+FilesSetDefsPanel.fileNameRegexCheckbox.text=\u5f93\u5c5e\u6587\u5b57\u5217 / \u6b63\u898f\u8868\u73fe
FilesSetDefsPanel.ignoreKnownFilesCheckbox.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\u3092\u7121\u8996
-FilesSetDefsPanel.fileNameRadioButton.text=\u30d5\u30a1\u30a4\u30eb\u540d
-FilesSetDefsPanel.jLabel5.text=\u6982\u8981\uff1a
-FilesSetDefsPanel.jLabel3.text=\u30cd\u30fc\u30e0\u30d1\u30bf\u30fc\u30f3
+FilesSetDefsPanel.rulePathConditionTextField.text=
+FilesSetDefsPanel.fileNameRadioButton.text=\u5b8c\u5168\u306a\u540d\u524d
+FilesSetDefsPanel.jLabel5.text=\u8aac\u660e:
+FilesSetDefsPanel.fileNameTextField.text=
+FilesSetDefsPanel.jLabel3.text=\u540d\u524d:
FilesSetDefsPanel.fileNameExtensionRadioButton.text=\u62e1\u5f35\u5b50\u306e\u307f
-FilesSetDefsPanel.rulesListLabel.text=\u30eb\u30fc\u30eb\uff1a
+FilesSetDefsPanel.rulesListLabel.text=\u30eb\u30fc\u30eb:
FilesSetDefsPanel.editRuleButton.text=\u30eb\u30fc\u30eb\u3092\u7de8\u96c6
FilesSetDefsPanel.filesRadioButton.text=\u30d5\u30a1\u30a4\u30eb
-FilesSetDefsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+FilesSetRulePanel.allRadioButton.text=\u3059\u3079\u3066
+FilesSetDefsPanel.ingoreUnallocCheckbox.text=\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996
+FilesSetDefsPanel.ingoreUnallocCheckbox.toolTipText=\u524a\u9664\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u3001\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996\u3057\u307e\u3059\u3002\u5b9f\u884c\u901f\u5ea6\u304c\u901f\u304f\u306a\u308a\u3001\u3088\u308a\u5b8c\u5168\u3067\u306f\u306a\u3044\u7d50\u679c\u304c\u751f\u6210\u3055\u308c\u307e\u3059\u3002
+FilesSetDefsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+FilesSetDefsPanel.allRadioButton.text=\u3059\u3079\u3066
+FilesSetRulePanel.dateCheck.text=\u6b21\u306e\u4e2d\u3067\u4fee\u6b63\u6e08\u307f:
+FilesSetRulePanel.fileSizeCheck.text=\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba:
+FilesSetRulePanel.mimeCheck.text=MIME\u30bf\u30a4\u30d7:
+FilesSetDefsPanel.modifiedDateLabel.text=\u6b21\u306e\u4e2d\u3067\u4fee\u6b63\u6e08\u307f:
+FilesSetDefsPanel.daysIncludedTextField.text=
+FilesSetDefsPanel.daysIncludedLabel.text=\u65e5
+FilesSetRulePanel.daysIncludedLabel.text=\u65e5
diff --git a/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ja.properties
index d97b6ae613..864c9c27f4 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ja.properties
@@ -1,25 +1,30 @@
-moduleDescription.text=\u30b7\u30b9\u30c6\u30e0\u306e\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306b\u5bfe\u3057\u3066PhotoRec\u30ab\u30fc\u30d0\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
-moduleDisplayName.text=PhotoRec\u30ab\u30fc\u30d0
+# {0} - \u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u540d
+cannotCreateOutputDir.message=\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093: {0}\u3002
+cannotRunExecutable.message=PhotoRec\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+missingExecutable.message=\u5b9f\u884c\u53ef\u80fd\u306aPhotoRec\u3092\u898b\u3064\u3051\u3089\u308c\u307e\u305b\u3093\u3002
+OpenIDE-Module-Name=PhotoRec Carver\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-OpenIDE-Module-Long-Description=PhotoRec\u30ab\u30fc\u30d0\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u3092\u5207\u308a\u51fa\u3057\u3001\u5207\u308a\u51fa\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u51e6\u7406\u3059\u308b\u3081\u306b\u30b7\u30b9\u30c6\u30e0\u3078\u30d5\u30a3\u30fc\u30c9\u3057\u307e\u3059\u3002
-OpenIDE-Module-Name=PhotoRec\u30ab\u30fc\u30d0\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-OpenIDE-Module-Short-Description=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u3092\u5207\u308a\u51fa\u3057\u3001\u5207\u308a\u51fa\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u51e6\u7406\u306e\u305f\u3081\u306b\u30b7\u30b9\u30c6\u30e0\u3078\u30d5\u30a3\u30fc\u30c9\u3057\u307e\u3059\u3002
-unallocatedSpaceProcessingSettingsError.message=\u300c\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u3092\u51e6\u7406\u300d\u304c\u30c1\u30a7\u30c3\u30af\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002PhotoRec\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u3092\u30ab\u30fc\u30d6\u3059\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u306e\u51e6\u7406\u3092\u6709\u52b9\u306b\u3059\u308b\u304b\u3001\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-missingExecutable.message=PhotoRec\u306e\u5b9f\u884c\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-cannotRunExecutable.message=PhotoRec\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-cannotCreateOutputDir.message=\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea{0}\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-PhotoRecIngestModule.processTerminated=\u30b9\u30ad\u30e3\u30f3\u306b\u304b\u3051\u308c\u308b\u6700\u5927\u306e\u6642\u9593\u304c\u904e\u304e\u305f\u306e\u3067\u3001PhotoRec\u30ab\u30fc\u30d0\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u505c\u6b62\u3057\u307e\u3057\u305f
-PhotoRecIngestModule.moduleError=PhotoRec\u30ab\u30fc\u30d0\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-PhotoRecIngestModule.UnableToCarve=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30ab\u30fc\u30d6\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
-PhotoRecIngestModule.NotEnoughDiskSpace=\u672a\u5272\u308a\u5f53\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3059\u308b\u306e\u306b\u30c7\u30a3\u30b9\u30af\u30b9\u30da\u30fc\u30b9\u304c\u8db3\u308a\u307e\u305b\u3093\u3002\u30ab\u30fc\u30d3\u30f3\u30b0\u304c\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002
-PhotoRecIngestModule.complete.numberOfCarved=\u30ab\u30fc\u30d6\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u6570\uff1a
-PhotoRecIngestModule.complete.totalWritetime=\u30c7\u30a3\u30b9\u30af\u3078\u306e\u66f8\u304d\u8fbc\u307f\u6642\u9593\u306e\u5408\u8a08
-PhotoRecIngestModule.complete.totalParsetime=\u30d1\u30fc\u30b7\u30f3\u30b0\u6642\u9593\u306e\u5408\u8a08\uff1a
+OpenIDE-Module-Long-Description=PhotoRec Carver\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3067\u3059\u3002\n\n \u672a\u4f7f\u7528\u9818\u57df\u3092\u30ab\u30fc\u30d3\u30f3\u30b0\u3057\u3001\u7d50\u679c\u3068\u3057\u3066\u30ab\u30fc\u30d3\u30f3\u30b0\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30b7\u30b9\u30c6\u30e0\u306b\u623b\u3057\u3066\u51e6\u7406\u3057\u307e\u3059\u3002
+OpenIDE-Module-Short-Description=\u672a\u4f7f\u7528\u9818\u57df\u3092\u30ab\u30fc\u30d3\u30f3\u30b0\u3057\u3068\u3057\u3066\u30ab\u30fc\u30d3\u30f3\u30b0\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30b7\u30b9\u30c6\u30e0\u306b\u623b\u3057\u3066\u51e6\u7406\u3057\u307e\u3059\u3002
+moduleDisplayName.text=PhotoRec Carver
+moduleDescription.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u5185\u306e\u672a\u4f7f\u7528\u9818\u57df\u306b\u5bfe\u3057\u3066PhotoRec Carver\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
+PhotoRecIngestModule.nonHostnameUNCPathUsed=PhotoRec\u306f\u3001IP\u30a2\u30c9\u30ec\u30b9\u3092\u542b\u3080UNC\u30d1\u30b9\u3092\u4f7f\u3063\u3066\u64cd\u4f5c\u3067\u304d\u307e\u305b\u3093\u3002
+PhotoRecIngestModule.PermissionsNotSufficient=\u30a2\u30af\u30bb\u30b9\u3059\u308b\u305f\u3081\u306b\u5341\u5206\u306a\u6a29\u9650\u304c\u3042\u308a\u307e\u305b\u3093
+PhotoRecIngestModule.PermissionsNotSufficientSeeReference=Autopsy\u30d8\u30eb\u30d7\u306e\u300c\u5171\u6709\u30c9\u30e9\u30a4\u30d6\u8a8d\u8a3c\u300d\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+PhotoRecIngestModule.processTerminated=\u30b9\u30ad\u30e3\u30f3\u6642\u306e\u6700\u5927\u8a31\u5bb9\u5b9f\u884c\u56de\u6570\u3092\u8d85\u3048\u305f\u305f\u3081\u3001PhotoRec Carver\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u7d42\u4e86\u3057\u307e\u3057\u305f
+PhotoRecIngestModule.moduleError=PhotoRec Carver\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
+PhotoRecIngestModule.UnableToCarve=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30ab\u30fc\u30d3\u30f3\u30b0\u3067\u304d\u307e\u305b\u3093: {0}
+PhotoRecIngestModule.NotEnoughDiskSpace=\u672a\u4f7f\u7528\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u3042\u308a\u307e\u305b\u3093\u3002\u30ab\u30fc\u30d3\u30f3\u30b0\u304c\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3057\u305f\u3002
+PhotoRecIngestModule.complete.numberOfCarved=\u30ab\u30fc\u30d3\u30f3\u30b0\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u6570:
+PhotoRecIngestModule.complete.totalWritetime=\u30c7\u30a3\u30b9\u30af\u3078\u306e\u66f8\u304d\u8fbc\u307f\u306b\u8981\u3059\u308b\u5408\u8a08\u6642\u9593:
+PhotoRecIngestModule.complete.totalParsetime=\u5408\u8a08\u89e3\u6790\u6642\u9593:
PhotoRecIngestModule.complete.photoRecResults=PhotoRec\u7d50\u679c
-PhotoRecIngestModule.NotEnoughDiskSpace.detail.msg={0}\u3092{1}\u3067\u51e6\u7406\u3059\u308b\u969b\u306bPhotoRec\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u672a\u5272\u308a\u5f53\u3066\u30b9\u30da\u30fc\u30b9\u3092\u30d7\u30e9\u30a4\u30de\u30ea\u30fc\u30c7\u30a3\u30b9\u30af\u306b\u4fdd\u5b58\u3059\u308b\u306e\u306b\u30b9\u30da\u30fc\u30b9\u304c\u8db3\u308a\u307e\u305b\u3093\u3002
-PhotoRecIngestModule.cancelledByUser=PhotoRec\u304c\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u308a\u30ad\u30e3\u30f3\u30bb\u30eb\u3055\u308c\u307e\u3057\u305f\u3002
-PhotoRecIngestModule.error.exitValue=PhotoRec\u304c\u30a8\u30e9\u30fc\u3092\u51fa\u3057\u307e\u3057\u305f\u3002Exit\u30d0\u30ea\u30e5\u30fc\uff1d{1}\u3092\u30b9\u30ad\u30e3\u30f3\u4e2d\u306b{0}
-PhotoRecIngestModule.error.msg=PhotoRec\u30ab\u30fc\u30d0\u3067{0}\u3092\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-PhotoRecIngestModule.complete.numberOfErrors=\u30ab\u30fc\u30d3\u30f3\u30b0\u4e2d\u306e\u30a8\u30e9\u30fc\u6570\uff1a
-PhotoRecIngestModule.PermissionsNotSufficient=\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3\u306e\u30a2\u30af\u30bb\u30b9\u304c\u4e0d\u5341\u5206\u3067\u3059
-PhotoRecIngestModule.PermissionsNotSufficientSeeReference=Autopsy\u30d8\u30eb\u30d7\u3067\u300c\u5171\u6709\u30c9\u30e9\u30a4\u30d6\u8a8d\u8a3c\u300d\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002
\ No newline at end of file
+PhotoRecIngestModule.NotEnoughDiskSpace.detail.msg={1} \u3092\u4f7f\u3063\u3066 {0} \u3092\u51e6\u7406\u4e2d\u306bPhotoRec\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u30021\u6b21\u30c7\u30a3\u30b9\u30af\u306b\u672a\u4f7f\u7528\u30d5\u30a1\u30a4\u30eb\u3092\u4fdd\u5b58\u3059\u308b\u305f\u3081\u306e\u5341\u5206\u306a\u9818\u57df\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+PhotoRecIngestModule.cancelledByUser=PhotoRec\u304c\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f\u3002
+PhotoRecIngestModule.error.exitValue={1} \u3092\u30b9\u30ad\u30e3\u30f3\u4e2d\u306bPhotoRec Carver\u304c \u9593\u9055\u3063\u305f\u7d42\u4e86\u5024 \= {0} \u3092\u8fd4\u3057\u307e\u3057\u305f
+PhotoRecIngestModule.error.msg=PhotoRec Carver\u3067 {0} \u3092\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+PhotoRecIngestModule.complete.numberOfErrors=\u30ab\u30fc\u30d3\u30f3\u30b0\u4e2d\u306e\u30a8\u30e9\u30fc\u6570:
+PhotoRecCarverIngestJobSettingsPanel.detectionSettingsLabel.text=PhotoRec\u8a2d\u5b9a
+PhotoRecCarverIngestJobSettingsPanel.keepCorruptedFilesCheckbox.text=\u7834\u640d\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u7dad\u6301
+unallocatedSpaceProcessingSettingsError.message=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996\u3057\u307e\u3059\u3002\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u672a\u4f7f\u7528\u9818\u57df\u3092\u30ab\u30fc\u30d3\u30f3\u30b0\u3057\u307e\u3059\u3002\u672a\u4f7f\u7528\u9818\u57df\u3092\u7121\u8996\u3057\u306a\u3044\u304b\u3001\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u7121\u52b9\u5316\u3057\u306a\u3044\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+unsupportedOS.message=PhotoRec\u30e2\u30b8\u30e5\u30fc\u30eb\u306fWindows\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u307f\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u3059\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/modules/plaso/PlasoIngestModule.java b/Core/src/org/sleuthkit/autopsy/modules/plaso/PlasoIngestModule.java
index c9fad6c1bc..d359332f84 100755
--- a/Core/src/org/sleuthkit/autopsy/modules/plaso/PlasoIngestModule.java
+++ b/Core/src/org/sleuthkit/autopsy/modules/plaso/PlasoIngestModule.java
@@ -85,7 +85,7 @@ public class PlasoIngestModule implements DataSourceIngestModule {
private static final int LOG2TIMELINE_WORKERS = 2;
private static final long TERMINATION_CHECK_INTERVAL = 5;
private static final TimeUnit TERMINATION_CHECK_INTERVAL_UNITS = TimeUnit.SECONDS;
-
+
private File log2TimeLineExecutable;
private File psortExecutable;
@@ -103,8 +103,7 @@ public class PlasoIngestModule implements DataSourceIngestModule {
@NbBundle.Messages({
"PlasoIngestModule.executable.not.found=Plaso Executable Not Found.",
- "PlasoIngestModule.requires.windows=Plaso module requires windows.",
- "PlasoIngestModule.dataSource.not.an.image=Datasource is not an Image."})
+ "PlasoIngestModule.requires.windows=Plaso module requires windows."})
@Override
public void startUp(IngestJobContext context) throws IngestModuleException {
this.context = context;
@@ -121,11 +120,6 @@ public class PlasoIngestModule implements DataSourceIngestModule {
throw new IngestModuleException(Bundle.PlasoIngestModule_executable_not_found(), exception);
}
- Content dataSource = context.getDataSource();
- if (!(dataSource instanceof Image)) {
- throw new IngestModuleException(Bundle.PlasoIngestModule_dataSource_not_an_image());
- }
- image = (Image) dataSource;
}
@NbBundle.Messages({
@@ -138,80 +132,90 @@ public class PlasoIngestModule implements DataSourceIngestModule {
"PlasoIngestModule.psort.cancelled=psort run was canceled",
"PlasoIngestModule.bad.imageFile=Cannot find image file name and path",
"PlasoIngestModule.completed=Plaso Processing Completed",
- "PlasoIngestModule.has.run=Plaso Plugin has been run.",
- "PlasoIngestModule.psort.fail=Plaso returned an error when sorting events. Results are not complete."})
+ "PlasoIngestModule.has.run=Plaso",
+ "PlasoIngestModule.psort.fail=Plaso returned an error when sorting events. Results are not complete.",
+ "PlasoIngestModule.dataSource.not.an.image=Skipping non-disk image datasource"})
@Override
public ProcessResult process(Content dataSource, DataSourceIngestModuleProgress statusHelper) {
- assert dataSource.equals(image);
- statusHelper.switchToDeterminate(100);
- currentCase = Case.getCurrentCase();
- fileManager = currentCase.getServices().getFileManager();
+ if (!(dataSource instanceof Image)) {
+ IngestMessage message = IngestMessage.createMessage(IngestMessage.MessageType.DATA,
+ Bundle.PlasoIngestModule_has_run(),
+ Bundle.PlasoIngestModule_dataSource_not_an_image());
+ IngestServices.getInstance().postMessage(message);
+ return ProcessResult.OK;
+ } else {
+ image = (Image) dataSource;
- String currentTime = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss z", Locale.US).format(System.currentTimeMillis());//NON-NLS
- Path moduleOutputPath = Paths.get(currentCase.getModuleDirectory(), PLASO, currentTime);
- try {
- Files.createDirectories(moduleOutputPath);
- } catch (IOException ex) {
- logger.log(Level.SEVERE, "Error creating Plaso module output directory.", ex); //NON-NLS
- return ProcessResult.ERROR;
- }
+ statusHelper.switchToDeterminate(100);
+ currentCase = Case.getCurrentCase();
+ fileManager = currentCase.getServices().getFileManager();
- // Run log2timeline
- logger.log(Level.INFO, "Starting Plaso Run.");//NON-NLS
- statusHelper.progress(Bundle.PlasoIngestModule_starting_log2timeline(), 0);
- ProcessBuilder log2TimeLineCommand = buildLog2TimeLineCommand(moduleOutputPath, image);
- try {
- Process log2TimeLineProcess = log2TimeLineCommand.start();
- try (BufferedReader log2TimeLineOutpout = new BufferedReader(new InputStreamReader(log2TimeLineProcess.getInputStream()))) {
- L2TStatusProcessor statusReader = new L2TStatusProcessor(log2TimeLineOutpout, statusHelper, moduleOutputPath);
- new Thread(statusReader, "log2timeline status reader").start(); //NON-NLS
- ExecUtil.waitForTermination(LOG2TIMELINE_EXECUTABLE, log2TimeLineProcess, TERMINATION_CHECK_INTERVAL, TERMINATION_CHECK_INTERVAL_UNITS, new DataSourceIngestModuleProcessTerminator(context));
- statusReader.cancel();
- }
-
- if (context.dataSourceIngestIsCancelled()) {
- logger.log(Level.INFO, "Log2timeline run was canceled"); //NON-NLS
- return ProcessResult.OK;
- }
- if (Files.notExists(moduleOutputPath.resolve(PLASO))) {
- logger.log(Level.WARNING, "Error running log2timeline: there was no storage file."); //NON-NLS
+ String currentTime = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss z", Locale.US).format(System.currentTimeMillis());//NON-NLS
+ Path moduleOutputPath = Paths.get(currentCase.getModuleDirectory(), PLASO, currentTime);
+ try {
+ Files.createDirectories(moduleOutputPath);
+ } catch (IOException ex) {
+ logger.log(Level.SEVERE, "Error creating Plaso module output directory.", ex); //NON-NLS
return ProcessResult.ERROR;
}
- // sort the output
- statusHelper.progress(Bundle.PlasoIngestModule_running_psort(), 33);
- ProcessBuilder psortCommand = buildPsortCommand(moduleOutputPath);
- int result = ExecUtil.execute(psortCommand, new DataSourceIngestModuleProcessTerminator(context));
- if (result != 0) {
- logger.log(Level.SEVERE, String.format("Error running Psort, error code returned %d", result)); //NON-NLS
- MessageNotifyUtil.Notify.error(MODULE_NAME, Bundle.PlasoIngestModule_psort_fail());
- return ProcessResult.ERROR;
- }
+ // Run log2timeline
+ logger.log(Level.INFO, "Starting Plaso Run.");//NON-NLS
+ statusHelper.progress(Bundle.PlasoIngestModule_starting_log2timeline(), 0);
+ ProcessBuilder log2TimeLineCommand = buildLog2TimeLineCommand(moduleOutputPath, image);
+ try {
+ Process log2TimeLineProcess = log2TimeLineCommand.start();
+ try (BufferedReader log2TimeLineOutpout = new BufferedReader(new InputStreamReader(log2TimeLineProcess.getInputStream()))) {
+ L2TStatusProcessor statusReader = new L2TStatusProcessor(log2TimeLineOutpout, statusHelper, moduleOutputPath);
+ new Thread(statusReader, "log2timeline status reader").start(); //NON-NLS
+ ExecUtil.waitForTermination(LOG2TIMELINE_EXECUTABLE, log2TimeLineProcess, TERMINATION_CHECK_INTERVAL, TERMINATION_CHECK_INTERVAL_UNITS, new DataSourceIngestModuleProcessTerminator(context));
+ statusReader.cancel();
+ }
- if (context.dataSourceIngestIsCancelled()) {
- logger.log(Level.INFO, "psort run was canceled"); //NON-NLS
- return ProcessResult.OK;
- }
- Path plasoFile = moduleOutputPath.resolve("plasodb.db3"); //NON-NLS
- if (Files.notExists(plasoFile)) {
- logger.log(Level.SEVERE, "Error running Psort: there was no sqlite db file."); //NON-NLS
+ if (context.dataSourceIngestIsCancelled()) {
+ logger.log(Level.INFO, "Log2timeline run was canceled"); //NON-NLS
+ return ProcessResult.OK;
+ }
+ if (Files.notExists(moduleOutputPath.resolve(PLASO))) {
+ logger.log(Level.WARNING, "Error running log2timeline: there was no storage file."); //NON-NLS
+ return ProcessResult.ERROR;
+ }
+
+ // sort the output
+ statusHelper.progress(Bundle.PlasoIngestModule_running_psort(), 33);
+ ProcessBuilder psortCommand = buildPsortCommand(moduleOutputPath);
+ int result = ExecUtil.execute(psortCommand, new DataSourceIngestModuleProcessTerminator(context));
+ if (result != 0) {
+ logger.log(Level.SEVERE, String.format("Error running Psort, error code returned %d", result)); //NON-NLS
+ MessageNotifyUtil.Notify.error(MODULE_NAME, Bundle.PlasoIngestModule_psort_fail());
+ return ProcessResult.ERROR;
+ }
+
+ if (context.dataSourceIngestIsCancelled()) {
+ logger.log(Level.INFO, "psort run was canceled"); //NON-NLS
+ return ProcessResult.OK;
+ }
+ Path plasoFile = moduleOutputPath.resolve("plasodb.db3"); //NON-NLS
+ if (Files.notExists(plasoFile)) {
+ logger.log(Level.SEVERE, "Error running Psort: there was no sqlite db file."); //NON-NLS
+ return ProcessResult.ERROR;
+ }
+
+ // parse the output and make artifacts
+ createPlasoArtifacts(plasoFile.toString(), statusHelper);
+
+ } catch (IOException ex) {
+ logger.log(Level.SEVERE, "Error running Plaso.", ex);//NON-NLS
return ProcessResult.ERROR;
}
- // parse the output and make artifacts
- createPlasoArtifacts(plasoFile.toString(), statusHelper);
-
- } catch (IOException ex) {
- logger.log(Level.SEVERE, "Error running Plaso.", ex);//NON-NLS
- return ProcessResult.ERROR;
+ IngestMessage message = IngestMessage.createMessage(IngestMessage.MessageType.DATA,
+ Bundle.PlasoIngestModule_has_run(),
+ Bundle.PlasoIngestModule_completed());
+ IngestServices.getInstance().postMessage(message);
+ return ProcessResult.OK;
}
-
- IngestMessage message = IngestMessage.createMessage(IngestMessage.MessageType.DATA,
- Bundle.PlasoIngestModule_has_run(),
- Bundle.PlasoIngestModule_completed());
- IngestServices.getInstance().postMessage(message);
- return ProcessResult.OK;
}
private ProcessBuilder buildLog2TimeLineCommand(Path moduleOutputPath, Image image) {
@@ -240,8 +244,10 @@ public class PlasoIngestModule implements DataSourceIngestModule {
static private ProcessBuilder buildProcessWithRunAsInvoker(String... commandLine) {
ProcessBuilder processBuilder = new ProcessBuilder(commandLine);
- /* Add an environment variable to force log2timeline/psort to run with
- * the same permissions Autopsy uses. */
+ /*
+ * Add an environment variable to force log2timeline/psort to run with
+ * the same permissions Autopsy uses.
+ */
processBuilder.environment().put("__COMPAT_LAYER", "RunAsInvoker"); //NON-NLS
return processBuilder;
}
@@ -277,31 +283,30 @@ public class PlasoIngestModule implements DataSourceIngestModule {
"PlasoIngestModule.create.artifacts.cancelled=Cancelled Plaso Artifact Creation ",
"# {0} - file that events are from",
"PlasoIngestModule.artifact.progress=Adding events to case: {0}",
- "PlasoIngestModule.info.empty.database=Plaso database was empty.",
- })
+ "PlasoIngestModule.info.empty.database=Plaso database was empty.",})
private void createPlasoArtifacts(String plasoDb, DataSourceIngestModuleProgress statusHelper) {
Blackboard blackboard = currentCase.getSleuthkitCase().getBlackboard();
String sqlStatement = "SELECT substr(filename,1) AS filename, "
- + " strftime('%s', datetime) AS epoch_date, "
- + " description, "
- + " source, "
- + " type, "
- + " sourcetype "
- + " FROM log2timeline "
- + " WHERE source NOT IN ('FILE', "
- + " 'WEBHIST') " // bad dates and duplicates with what we have.
- + " AND sourcetype NOT IN ('UNKNOWN', "
- + " 'PE Import Time');"; // lots of bad dates //NON-NLS
+ + " strftime('%s', datetime) AS epoch_date, "
+ + " description, "
+ + " source, "
+ + " type, "
+ + " sourcetype "
+ + " FROM log2timeline "
+ + " WHERE source NOT IN ('FILE', "
+ + " 'WEBHIST') " // bad dates and duplicates with what we have.
+ + " AND sourcetype NOT IN ('UNKNOWN', "
+ + " 'PE Import Time');"; // lots of bad dates //NON-NLS
try (SQLiteDBConnect tempdbconnect = new SQLiteDBConnect("org.sqlite.JDBC", "jdbc:sqlite:" + plasoDb); //NON-NLS
ResultSet resultSet = tempdbconnect.executeQry(sqlStatement)) {
-
+
boolean dbHasData = false;
-
+
while (resultSet.next()) {
dbHasData = true;
-
+
if (context.dataSourceIngestIsCancelled()) {
logger.log(Level.INFO, "Cancelled Plaso Artifact Creation."); //NON-NLS
return;
@@ -314,20 +319,20 @@ public class PlasoIngestModule implements DataSourceIngestModule {
logger.log(Level.INFO, "File {0} from Plaso output not found in case. Associating it with the data source instead.", currentFileName);//NON-NLS
resolvedFile = image;
}
-
+
String description = resultSet.getString("description");
TimelineEventType eventType = findEventSubtype(currentFileName, resultSet);
-
+
// If the description is empty use the event type display name
// as the description.
- if ( description == null || description.isEmpty() ) {
+ if (description == null || description.isEmpty()) {
if (eventType != TimelineEventType.OTHER) {
description = eventType.getDisplayName();
} else {
continue;
}
}
-
+
Collection bbattributes = Arrays.asList(
new BlackboardAttribute(
TSK_DATETIME, MODULE_NAME,
@@ -338,14 +343,16 @@ public class PlasoIngestModule implements DataSourceIngestModule {
new BlackboardAttribute(
TSK_TL_EVENT_TYPE, MODULE_NAME,
eventType.getTypeID()));
-
+
try {
BlackboardArtifact bbart = resolvedFile.newArtifact(TSK_TL_EVENT);
bbart.addAttributes(bbattributes);
try {
- /* Post the artifact which will index the artifact for
+ /*
+ * Post the artifact which will index the artifact for
* keyword search, and fire an event to notify UI of
- * this new artifact */
+ * this new artifact
+ */
blackboard.postArtifact(bbart, MODULE_NAME);
} catch (BlackboardException ex) {
logger.log(Level.SEVERE, "Error Posting Artifact.", ex);//NON-NLS
@@ -354,12 +361,12 @@ public class PlasoIngestModule implements DataSourceIngestModule {
logger.log(Level.SEVERE, "Exception Adding Artifact.", ex);//NON-NLS
}
}
-
+
// Check if there is data the db
- if( !dbHasData ) {
+ if (!dbHasData) {
logger.log(Level.INFO, String.format("PlasoDB was empty: %s", plasoDb));
MessageNotifyUtil.Notify.info(MODULE_NAME, Bundle.PlasoIngestModule_info_empty_database());
- }
+ }
} catch (SQLException ex) {
logger.log(Level.SEVERE, "Error while trying to read into a sqlite db.", ex);//NON-NLS
}
@@ -377,8 +384,8 @@ public class PlasoIngestModule implements DataSourceIngestModule {
// check the cached file
//TODO: would we reduce 'cache misses' if we retrieved the events sorted by file? Is that overhead worth it?
if (previousFile != null
- && previousFile.getName().equalsIgnoreCase(fileName)
- && previousFile.getParentPath().equalsIgnoreCase(filePath)) {
+ && previousFile.getName().equalsIgnoreCase(fileName)
+ && previousFile.getParentPath().equalsIgnoreCase(filePath)) {
return previousFile;
}
@@ -416,7 +423,7 @@ public class PlasoIngestModule implements DataSourceIngestModule {
switch (row.getString("source")) {
case "WEBHIST": //These shouldn't actually be present, but keeping the logic just in case...
if (fileName.toLowerCase().contains(COOKIE)
- || row.getString("type").toLowerCase().contains(COOKIE)) {//NON-NLS
+ || row.getString("type").toLowerCase().contains(COOKIE)) {//NON-NLS
return TimelineEventType.WEB_COOKIE;
} else {
diff --git a/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ja.properties
index 17ff042186..5b6cba0d5f 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ja.properties
@@ -1,11 +1,15 @@
-VMExtractorIngestModuleFactory.moduleDisplayName=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30A8\u30AF\u30B9\u30C8\u30E9\u30AF\u30BF\u30FC
-VMExtractorIngestModuleFactory.moduleDescription=\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA\u3057\u3001\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u3068\u3057\u3066\u30B1\u30FC\u30B9\u306B\u8FFD\u52A0\u3057\u307E\u3059\u3002
-VMExtractorIngestModule.cannotCreateOutputDir.message=\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\uFF1A{0}\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-VMExtractorIngestModule.addedVirtualMachineImage.message=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30A4\u30E1\u30FC\u30B8{0}\u3092\u8FFD\u52A0
-VMExtractorIngestModule.searchingImage.message=\u30A4\u30E1\u30FC\u30B8\u306B\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D5\u30A1\u30A4\u30EB\u304C\u306A\u3044\u304B\u691C\u7D22\u4E2D
-VMExtractorIngestModule.exportingToDisk.message=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D5\u30A1\u30A4\u30EB\u3092\u30C7\u30A3\u30B9\u30AF\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D
-VMExtractorIngestModule.queuingIngestJobs.message=\u62BD\u51FA\u3055\u308C\u305F\u4EEE\u60F3\u30DE\u30B7\u30F3\u306E\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30B8\u30E7\u30D6\u3092\u30AD\u30E5\u30FC\u30A4\u30F3\u30B0
-VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D5\u30A1\u30A4\u30EB{0}\u3092\u30C7\u30A3\u30B9\u30AF\u306B\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt=\u4EEE\u60F3\u30DE\u30B7\u30F3\u3092\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt=\u4EEE\u60F3\u30DE\u30B7\u30F3\u30D5\u30A1\u30A4\u30EB{0}\u3092\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
\ No newline at end of file
+# {0} - \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
+deviceIdQueryErrMsg=\u30c7\u30d0\u30a4\u30b9ID\u306e\u306a\u3044\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9 {0}
+# {0} - \u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u540d
+VMExtractorIngestModule.cannotCreateOutputDir.message=\u51fa\u529b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093: {0}\u3002
+VMExtractorIngestModule.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+VMExtractorIngestModuleFactory.moduleDisplayName=\u4eee\u60f3\u30de\u30b7\u30f3\u62bd\u51fa\u30c4\u30fc\u30eb
+VMExtractorIngestModuleFactory.moduleDescription=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u3057\u3001\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3068\u3057\u3066\u30b1\u30fc\u30b9\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002
+VMExtractorIngestModule.addedVirtualMachineImage.message=\u8ffd\u52a0\u3055\u308c\u305f\u4eee\u60f3\u30de\u30b7\u30f3\u30a4\u30e1\u30fc\u30b8 {0}
+VMExtractorIngestModule.searchingImage.message=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30e1\u30fc\u30b8\u3092\u691c\u7d22\u4e2d\u3067\u3059
+VMExtractorIngestModule.exportingToDisk.message=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30a3\u30b9\u30af\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u4e2d\u3067\u3059
+VMExtractorIngestModule.queuingIngestJobs.message=\u62bd\u51fa\u3055\u308c\u305f\u4eee\u60f3\u30de\u30b7\u30f3\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b8\u30e7\u30d6\u3092\u30ad\u30e5\u30fc\u30a4\u30f3\u30b0\u4e2d\u3067\u3059
+VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30c7\u30a3\u30b9\u30af\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt=\u4eee\u60f3\u30de\u30b7\u30f3\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
diff --git a/Core/src/org/sleuthkit/autopsy/progress/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/progress/Bundle_ja.properties
new file mode 100644
index 0000000000..d56b88e754
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/progress/Bundle_ja.properties
@@ -0,0 +1,6 @@
+# \u3053\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30d7\u30ed\u30d1\u30c6\u30a3] \u3067 [\u30e9\u30a4\u30bb\u30f3\u30b9\u30d8\u30c3\u30c0\u30fc] \u3092\u9078\u629e\u3057\u307e\u3059\u3002
+# \u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u5909\u66f4\u3059\u308b\u306b\u306f\u3001[\u30c4\u30fc\u30eb | \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8] \u3092\u9078\u629e\u3057\u3001
+# \u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u958b\u304d\u307e\u3059\u3002
+
+ProgressPanel.progressMessage.text=\u30e1\u30c3\u30bb\u30fc\u30b8
+TaskCanceller.progress.cancellingMessage=\u53d6\u308a\u6d88\u3057\u4e2d\u3067\u3059...
diff --git a/Core/src/org/sleuthkit/autopsy/python/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/python/Bundle_ja.properties
index c407b6cf35..fdbd43efd7 100644
--- a/Core/src/org/sleuthkit/autopsy/python/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/python/Bundle_ja.properties
@@ -1,2 +1,2 @@
-JythonModuleLoader.errorMessages.failedToOpenModule={0}\u304C\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-JythonModuleLoader.errorMessages.failedToLoadModule={0}. {1}. \u304C\u958B\u3051\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
\ No newline at end of file
+JythonModuleLoader.errorMessages.failedToOpenModule={0}\u304c\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u8a73\u7d30\u306f\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+JythonModuleLoader.errorMessages.failedToLoadModule={0}. {1}. \u304c\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u8a73\u7d30\u306f\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties
index f666513e92..6dde31add8 100644
--- a/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/Bundle_ja.properties
@@ -1,8 +1,334 @@
OpenIDE-Module-Name=\u30ec\u30dd\u30fc\u30c8
-DefaultReportConfigurationPanel.infoLabel.text=\u3053\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u6b21\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u3067\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002
-ReportBranding.defaultReportTitle.text=Autopsy\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30ec\u30dd\u30fc\u30c8
-ReportBranding.defaultReportFooter.text=Autopsy\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30fb\u30c7\u30b8\u30bf\u30eb\u30fb\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30fb\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u3088\u308a\u63d0\u4f9b - www.sleuthkit.org
-ReportProgressPanel.pathLabel.text=\u30d1\u30b9\u30e9\u30d9\u30eb
-ReportProgressPanel.reportLabel.text=\u30ec\u30dd\u30fc\u30c8\u30e9\u30d9\u30eb
-ReportProgressPanel.statusMessageLabel.text=\u30d7\u30ed\u30bb\u30b7\u30f3\u30b0\u30e9\u30d9\u30eb
+CTL_ReportWizardAction=\u30ec\u30dd\u30fc\u30c8\u3092\u5b9f\u884c
+ArtifactSelectionDialog.titleLabel.text=\u30ec\u30dd\u30fc\u30c8\u4f5c\u6210\u5bfe\u8c61\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u9078\u629e:
+ArtifactSelectionDialog.okButton.text=OK
+PortableCaseInterestingItemsListPanel.error.errorLoadingTags=\u8208\u5473\u6df1\u3044\u9805\u76ee\u30bb\u30c3\u30c8\u540d\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseInterestingItemsListPanel.error.errorTitle=\u30b1\u30fc\u30b9\u306e\u8208\u5473\u6df1\u3044\u9805\u76ee\u30bb\u30c3\u30c8\u540d\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseInterestingItemsListPanel.error.noOpenCase=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093
+PortableCaseReportModule.compressCase.canceled=\u30e6\u30fc\u30b6\u30fc\u306b\u3088\u3063\u3066\u5727\u7e2e\u304c\u53d6\u308a\u6d88\u3055\u308c\u307e\u3057\u305f
+PortableCaseReportModule.compressCase.errorCompressingCase=\u30b1\u30fc\u30b9\u306e\u5727\u7e2e\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - \u4e00\u6642\u30d5\u30a9\u30eb\u30c0\u30fc\u30d1\u30b9
+PortableCaseReportModule.compressCase.errorCreatingTempFolder=\u4e00\u6642\u30d5\u30a9\u30eb\u30c0\u30fc {0} \u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+PortableCaseReportModule.compressCase.errorFinding7zip=7-Zip\u5b9f\u884c\u53ef\u80fd\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+PortableCaseReportModule.copyContentToPortableCase.copyingFile={0} \u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30d4\u30fc\u4e2d\u3067\u3059
+# {0} - \u30b1\u30fc\u30b9\u30d5\u30a9\u30eb\u30c0\u30fc
+PortableCaseReportModule.createCase.caseDirExists=\u30b1\u30fc\u30b9\u30d5\u30a9\u30eb\u30c0\u30fc {0} \u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059
+PortableCaseReportModule.createCase.errorCreatingCase=\u30b1\u30fc\u30b9\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - \u30d5\u30a9\u30eb\u30c0\u30fc
+PortableCaseReportModule.createCase.errorCreatingFolder=Error creating \u30d5\u30a9\u30eb\u30c0\u30fc {0} \u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.createCase.errorStoringMaxIds=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9ID\u306e\u6700\u5927\u6570\u3092\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.caseClosed=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u304c\u9589\u3058\u3089\u308c\u307e\u3057\u305f\u3002
+PortableCaseReportModule.generateReport.compressingCase=\u30b1\u30fc\u30b9\u3092\u5727\u7e2e\u4e2d\u3067\u3059...
+# {0} - \u30bf\u30b0\u540d
+PortableCaseReportModule.generateReport.copyingArtifacts={0} \u3068\u3057\u3066\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30b3\u30d4\u30fc\u4e2d\u3067\u3059...
+# {0} - \u30bf\u30b0\u540d
+PortableCaseReportModule.generateReport.copyingFiles={0} \u3068\u3057\u3066\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u4e2d\u3067\u3059...
+PortableCaseReportModule.generateReport.copyingTags=\u30bf\u30b0\u3092\u30b3\u30d4\u30fc\u4e2d\u3067\u3059...
+PortableCaseReportModule.generateReport.creatingCase=\u30dd\u30fc\u30bf\u30d6\u30eb\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u4e2d\u3067\u3059...
+PortableCaseReportModule.generateReport.errorCopyingArtifacts=\u30bf\u30b0\u4ed8\u304d\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u30b3\u30d4\u30fc\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.errorCopyingFiles=\u30bf\u30b0\u4ed8\u304d\u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30d4\u30fc\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.errorCopyingInterestingFiles=\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u306e\u30b3\u30d4\u30fc\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.errorCopyingInterestingResults=\u8208\u5473\u6df1\u3044\u7d50\u679c\u306e\u30b3\u30d4\u30fc\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.errorCopyingTags=\u30bf\u30b0\u306e\u30b3\u30d4\u30fc\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+# {0} - \u5c5e\u6027\u30bf\u30a4\u30d7\u540d
+PortableCaseReportModule.generateReport.errorLookingUpAttrType=\u5c5e\u6027\u30bf\u30a4\u30d7 {0} \u306e\u691c\u7d22\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.interestingItemError=\u8208\u5473\u6df1\u3044\u9805\u76ee\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseReportModule.generateReport.noContentToCopy=\u30b3\u30d4\u30fc\u3059\u308b\u8208\u5473\u6df1\u3044\u30d5\u30a1\u30a4\u30eb\u3001\u7d50\u679c\u3001\u307e\u305f\u306f\u30bf\u30b0\u4ed8\u304d\u9805\u76ee\u304c\u3042\u308a\u307e\u305b\u3093
+# {0} - \u51fa\u529b\u30d5\u30a9\u30eb\u30c0\u30fc
+PortableCaseReportModule.generateReport.outputDirDoesNotExist=\u51fa\u529b\u30d5\u30a9\u30eb\u30c0\u30fc {0} \u304c\u5b58\u5728\u3057\u307e\u305b\u3093
+# {0} - \u51fa\u529b\u30d5\u30a9\u30eb\u30c0\u30fc
+PortableCaseReportModule.generateReport.outputDirIsNotDir=\u51fa\u529b\u30d5\u30a9\u30eb\u30c0\u30fc {0} \u306f\u30d5\u30a9\u30eb\u30c0\u30fc\u3067\u306f\u3042\u308a\u307e\u305b\u3093
+PortableCaseReportModule.generateReport.verifying=\u9078\u629e\u3057\u305f\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u691c\u8a3c\u4e2d\u3067\u3059...
+PortableCaseReportModule.getDescription.description=\u9078\u629e\u3057\u305f\u9805\u76ee\u3092\u7c21\u5358\u306b\u5171\u6709\u53ef\u80fd\u306a\u65b0\u898f\u30b7\u30f3\u30b0\u30eb\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u306b\u30b3\u30d4\u30fc\u3057\u307e\u3059
+PortableCaseReportModule.getName.name=\u30dd\u30fc\u30bf\u30d6\u30eb\u30b1\u30fc\u30b9
+PortableCaseTagsListPanel.error.errorLoadingTags=\u30bf\u30b0\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseTagsListPanel.error.errorTitle=\u30b1\u30fc\u30b9\u306e\u30bf\u30b0\u540d\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+PortableCaseTagsListPanel.error.noOpenCase=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093
+ReportExcel.exceptionMessage.dataTooLarge=\u5024\u304c\u9577\u3059\u304e\u3066Excel\u306e\u30bb\u30eb\u5185\u306b\u53ce\u307e\u308a\u307e\u305b\u3093\u3002
+ReportExcel.exceptionMessage.errorText=Excel\u306e\u30bb\u30eb\u5185\u3067\u30c7\u30fc\u30bf\u3092\u8868\u793a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ReportExcel.writeSummary.caseName=\u30b1\u30fc\u30b9\u540d:
+ReportExcel.writeSummary.caseNotes=\u30b1\u30fc\u30b9\u5099\u8003:
+ReportExcel.writeSummary.caseNum=\u30b1\u30fc\u30b9\u756a\u53f7:
+ReportExcel.writeSummary.examiner=\u8abf\u67fb\u54e1:
+ReportExcel.writeSummary.numImages=\u30a4\u30e1\u30fc\u30b8\u6570:
+ReportExcel.writeSummary.sheetName=\u30b5\u30de\u30ea\u30fc
+ReportExcel.writeSummary.summary=\u30b5\u30de\u30ea\u30fc
+ReportGenerator.artTableColHdr.comment=\u30b3\u30e1\u30f3\u30c8
+ReportGenerator.errList.noOpenCase=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+ReportGenerator.tagTable.header.userName=\u30e6\u30fc\u30b6\u30fc\u540d
+ReportHTML.writeSum.case=\u30b1\u30fc\u30b9:
+ReportHTML.writeSum.caseNotes=\u5099\u8003:
+ReportHTML.writeSum.caseNumber=\u30b1\u30fc\u30b9\u756a\u53f7:
+ReportHTML.writeSum.caseNumImages=\u30a4\u30e1\u30fc\u30b8\u6570:
+ReportHTML.writeSum.examiner=\u8abf\u67fb\u54e1:
+ReportVisualPanel1.reportModulesLabel.text=\u30ec\u30dd\u30fc\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb:
+ReportVisualPanel1.invalidModuleWarning=\u7121\u52b9\u306a\u30ec\u30dd\u30fc\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb ({0}) \u306b\u906d\u9047\u3057\u307e\u3057\u305f
+DefaultReportConfigurationPanel.infoLabel.text=\u3053\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u6b21\u306e\u753b\u9762\u3067\u69cb\u6210\u3055\u308c\u307e\u3059\u3002
+ReportVisualPanel2.dataLabel.text=\u30ec\u30dd\u30fc\u30c8\u4f5c\u6210\u5bfe\u8c61\u306e\u30c7\u30fc\u30bf\u3092\u9078\u629e:
+ReportVisualPanel2.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+ReportVisualPanel2.selectAllButton.text=\u3059\u3079\u3066\u9078\u629e
+ReportVisualPanel2.advancedButton.text=\u30c7\u30fc\u30bf\u30bf\u30a4\u30d7
+ArtifactSelectionDialog.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+ArtifactSelectionDialog.selectAllButton.text=\u3059\u3079\u3066\u9078\u629e
+ReportGenerationPanel.closeButton.text=\u9589\u3058\u308b
+ReportProgressPanel.reportLabel.text=reportLabel
+ReportProgressPanel.pathLabel.text=pathLabel
ReportProgressPanel.separationLabel.text=:
+ReportProgressPanel.statusMessageLabel.text=processingLabel
+ReportGenerationPanel.titleLabel.text=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u9032\u6357\u72b6\u6cc1
+ReportVisualPanel2.taggedResultsRadioButton.text=\u30bf\u30b0\u4ed8\u304d\u7d50\u679c
+ReportVisualPanel2.allResultsRadioButton.text=\u3059\u3079\u3066\u306e\u7d50\u679c
+ReportWizardFileOptionsVisualPanel.selectAllButton.text=\u3059\u3079\u3066\u9078\u629e
+ReportWizardFileOptionsVisualPanel.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+ReportWizardFileOptionsVisualPanel.jLabel1.text=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u30ec\u30dd\u30fc\u30c8\u306b\u542b\u3081\u308b\u9805\u76ee\u3092\u9078\u629e:
+ArtifactSelectionDialog.dlgTitle.text=\u9ad8\u5ea6\u306a\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u9078\u629e
+FileReportDataTypes.filename.text=\u540d\u524d
+FileReportDataTypes.fileExt.text=\u30d5\u30a1\u30a4\u30eb\u62e1\u5f35\u5b50
+FileReportDataTypes.fileType.text=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7
+FileReportDataTypes.isDel.text=\u524a\u9664\u3055\u308c\u3066\u3044\u307e\u3059
+FileReportDataTypes.aTime.text=\u6700\u7d42\u30a2\u30af\u30bb\u30b9\u65e5
+FileReportDataTypes.crTime.text=\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+FileReportDataTypes.mTime.text=\u6700\u7d42\u66f4\u65b0\u65e5
+FileReportDataTypes.size.text=\u30b5\u30a4\u30ba
+FileReportDataTypes.address.text=\u30a2\u30c9\u30ec\u30b9
+FileReportDataTypes.hash.text=\u30cf\u30c3\u30b7\u30e5\u5024
+FileReportDataTypes.knownStatus.text=\u65e2\u77e5\u306e\u30b9\u30c6\u30fc\u30bf\u30b9
+FileReportDataTypes.perms.text=\u30a2\u30af\u30bb\u30b9\u6a29
+FileReportDataTypes.path.text=\u5b8c\u5168\u306a\u30d1\u30b9
+FileReportText.getName.text=\u30d5\u30a1\u30a4\u30eb - \u30c6\u30ad\u30b9\u30c8
+FileReportText.getDesc.text=\u30b1\u30fc\u30b9\u306e\u500b\u3005\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u542b\u3080\u533a\u5207\u308a\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3067\u3059\u3002
+ReportBodyFile.progress.querying=\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30a8\u30ea\u4e2d\u3067\u3059...
+ReportBodyFile.ingestWarning.text=\u8b66\u544a: \u3053\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b5\u30fc\u30d3\u30b9\u306e\u5b8c\u4e86\u524d\u306b\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\\uff01
+ReportBodyFile.progress.loading=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059...
+ReportBodyFile.progress.processing={0} \u3092\u73fe\u5728\u51e6\u7406\u4e2d\u3067\u3059...
+ReportBodyFile.getName.text=TSK Body\u30d5\u30a1\u30a4\u30eb
+ReportBodyFile.getDesc.text=\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u5fdc\u3057\u305f\u3001MAC\u56de\u6570\u3092\u6301\u3064Body\u30d5\u30a1\u30a4\u30eb\u5f62\u5f0f\u3067\u3059\u3002\u3053\u306e\u5f62\u5f0f\u306f\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30d3\u30e5\u30fc\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
+ReportBodyFile.getFilePath.text=BodyFile.txt
+ReportKML.progress.querying=\u30d5\u30a1\u30a4\u30eb\u3092\u30af\u30a8\u30ea\u4e2d\u3067\u3059...
+ReportKML.progress.loading=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059...
+ReportKML.getName.text=Google Earth KML
+ReportKML.getDesc.text=\u95a2\u9023\u30d5\u30a1\u30a4\u30eb\u306e\u5ea7\u6a19\u3092\u6301\u3064KML\u5f62\u5f0f\u30ec\u30dd\u30fc\u30c8\u3067\u3059\u3002\u3053\u306e\u5f62\u5f0f\u306fGoogle Earth\u30d3\u30e5\u30fc\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002
+ReportKML.getFilePath.text=ReportKML.kml
+ReportBranding.defaultReportTitle.text=Autopsy\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30ec\u30dd\u30fc\u30c8
+ReportBranding.defaultReportFooter.text=Autopsy\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30c7\u30b8\u30bf\u30eb\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u4f7f\u7528 - www.sleuthkit.org
+ReportExcel.numAartifacts.text=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u6570:
+ReportExcel.getName.text=Excel\u30ec\u30dd\u30fc\u30c8
+ReportExcel.getDesc.text=\u7d50\u679c\u3068\u30bf\u30b0\u4ed8\u304d\u9805\u76ee\u306b\u95a2\u3059\u308bExcel (XLS)\u5f62\u5f0f\u306e\u30ec\u30dd\u30fc\u30c8\u3067\u3059\u3002
+ReportExcel.sheetName.text=\u30b5\u30de\u30ea\u30fc
+ReportExcel.cellVal.summary=\u30b5\u30de\u30ea\u30fc
+ReportExcel.cellVal.caseName=\u30b1\u30fc\u30b9\u540d:
+ReportExcel.cellVal.caseNum=\u30b1\u30fc\u30b9\u756a\u53f7:
+ReportExcel.cellVal.examiner=\u8abf\u67fb\u54e1:
+ReportExcel.cellVal.numImages=\u30a4\u30e1\u30fc\u30b8\u6570:
+ReportGenerationPanel.confDlg.sureToClose.msg=\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u9589\u3058\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?\n\u3059\u3079\u3066\u306e\u30ec\u30dd\u30fc\u30c8\u304c\u53d6\u308a\u6d88\u3055\u308c\u307e\u3059\u3002
+ReportGenerationPanel.confDlg.title.closing=\u9589\u3058\u3066\u3044\u307e\u3059
+ReportGenerationPanel.confDlg.cancelReport.msg=\u30ec\u30dd\u30fc\u30c8\u3092\u53d6\u308a\u6d88\u3057\u3066\u3082\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+ReportGenerator.displayProgress.title.text=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u9032\u6357\u72b6\u6cc1...
+ReportGenerator.progress.queryingDb.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30af\u30a8\u30ea\u4e2d\u3067\u3059...
+ReportGenerator.progress.processingFile.text={0} \u3092\u73fe\u5728\u51e6\u7406\u4e2d\u3067\u3059...
+ReportGenerator.artifactTable.taggedResults.text=\u6b21\u306e\u3044\u305a\u308c\u304b\u3067\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u7d50\u679c\u3092\u542b\u307f\u307e\u3059:
+ReportGenerator.progress.processing={0} \u3092\u73fe\u5728\u51e6\u7406\u4e2d\u3067\u3059...\u3002
+ReportGenerator.msgShow.skippingArtType.title=\u30ec\u30dd\u30fc\u30c8\u5185\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7 {0} \u306e\u30b9\u30ad\u30c3\u30d7\u4e2d\u3067\u3059
+ReportGenerator.msgShow.skippingArtType.msg=\u4e0d\u660e\u306a\u30ec\u30dd\u30fc\u30c8\u4f5c\u6210\u5bfe\u8c61\u306e\u5217
+ReportGenerator.makeContTagTab.taggedFiles.msg=\u6b21\u306e\u3044\u305a\u308c\u304b\u3067\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u542b\u307f\u307e\u3059:
+ReportGenerator.makeBbArtTagTab.taggedRes.msg=\u3053\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u6b21\u3067\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u7d50\u679c\u306e\u307f\u3092\u542b\u307f\u307e\u3059:
+ReportGenerator.tagTable.header.resultType=\u7d50\u679c\u30bf\u30a4\u30d7
+ReportGenerator.tagTable.header.tag=\u30bf\u30b0
+ReportGenerator.tagTable.header.comment=\u30b3\u30e1\u30f3\u30c8
+ReportGenerator.tagTable.header.srcFile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
+ReportGenerator.progress.createdThumb.text=\u30b5\u30e0\u30cd\u30a4\u30eb\u306e\u4f5c\u6210\u4e2d\u3067\u3059...
+ReportGenerator.htmlOutput.header.file=\u30d5\u30a1\u30a4\u30eb
+ReportGenerator.htmlOutput.header.tag=\u30bf\u30b0
+ReportGenerator.htmlOutput.header.comment=\u30b3\u30e1\u30f3\u30c8
+ReportGenerator.htmlOutput.header.timeModified=MFT\u5909\u66f4\u6642\u523b
+ReportGenerator.htmlOutput.header.timeChanged=\u5909\u66f4\u3055\u308c\u305f\u523b\u523b
+ReportGenerator.htmlOutput.header.timeAccessed=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u6642\u523b
+ReportGenerator.htmlOutput.header.timeCreated=\u4f5c\u6210\u3055\u308c\u305f\u6642\u523b
+ReportGenerator.htmlOutput.header.size=\u30b5\u30a4\u30ba(\u30d0\u30a4\u30c8)
+ReportGenerator.htmlOutput.header.hash=\u30cf\u30c3\u30b7\u30e5
+ReportGenerator.thumbnailTable.name=\u30bf\u30b0\u4ed8\u304d\u30a4\u30e1\u30fc\u30b8
+ReportGenerator.thumbnailTable.desc=\u30bf\u30b0\u4ed8\u304d\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u7d50\u679c\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30e0\u30cd\u30a4\u30eb\u3092\u542b\u307f\u307e\u3059\u3002
+ReportGenerator.writeKwHits.userSrchs=\u30e6\u30fc\u30b6\u30fc\u691c\u7d22
+ReportGenerator.progress.processing={0} ({1}) \u3092\u73fe\u5728\u51e6\u7406\u4e2d\u3067\u3059...
+ReportGenerator.artTableColHdr.url=URL
+ReportGenerator.artTableColHdr.title=\u30bf\u30a4\u30c8\u30eb
+ReportGenerator.artTableColHdr.dateCreated=\u4f5c\u6210\u3055\u308c\u305f\u30c7\u30fc\u30bf
+ReportGenerator.artTableColHdr.program=\u30d7\u30ed\u30b0\u30e9\u30e0
+ReportGenerator.artTableColHdr.urlDomainDecoded=URL\u30c9\u30e1\u30a4\u30f3
+ReportGenerator.artTableColHdr.srcFile=\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb
+ReportGenerator.artTableColHdr.dateTime=\u65e5\u6642
+ReportGenerator.artTableColHdr.name=\u540d\u524d
+ReportGenerator.artTableColHdr.value=\u5024
+ReportGenerator.artTableColHdr.dateAccessed=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u30c7\u30fc\u30bf
+ReportGenerator.artTableColHdr.referrer=\u30ea\u30d5\u30a1\u30e9\u30fc
+ReportGenerator.artTableColHdr.dest=\u5b9b\u5148
+ReportGenerator.artTableColHdr.sourceUrl=\u30bd\u30fc\u30b9URL
+ReportGenerator.artTableColHdr.path=\u30d1\u30b9
+ReportGenerator.artTableColHdr.progName=\u30d7\u30ed\u30b0\u30e9\u30e0\u540d
+ReportGenerator.artTableColHdr.dateTime=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65e5\u6642
+ReportGenerator.artTableColHdr.preview=\u30d7\u30ec\u30d3\u30e5\u30fc
+ReportGenerator.artTableColHdr.file=\u30d5\u30a1\u30a4\u30eb
+ReportGenerator.artTableColHdr.size=\u30b5\u30a4\u30ba
+ReportGenerator.artTableColHdr.deviceId=\u30c7\u30d0\u30a4\u30b9ID
+ReportGenerator.artTableColHdr.text=\u30c6\u30ad\u30b9\u30c8
+ReportGenerator.artTableColHdr.domain=\u30c9\u30e1\u30a4\u30f3
+ReportGenerator.artTableColHdr.dateTaken=\u53d6\u5f97\u65e5
+ReportGenerator.artTableColHdr.devManufacturer=\u30c7\u30d0\u30a4\u30b9\u30e1\u30fc\u30ab\u30fc
+ReportGenerator.artTableColHdr.devMake=\u30c7\u30d0\u30a4\u30b9\u30e1\u30fc\u30ab\u30fc
+ReportGenerator.artTableColHdr.devModel=\u30c7\u30d0\u30a4\u30b9\u578b\u5f0f
+ReportGenerator.artTableColHdr.latitude=\u7def\u5ea6
+ReportGenerator.artTableColHdr.longitude=\u7d4c\u5ea6
+ReportGenerator.artTableColHdr.latitudeStart=\u958b\u59cb\u7def\u5ea6
+ReportGenerator.artTableColHdr.longitudeStart=\u958b\u59cb\u7d4c\u5ea6
+ReportGenerator.artTableColHdr.latitudeEnd=\u7d42\u4e86\u7def\u5ea6
+ReportGenerator.artTableColHdr.longitudeEnd=\u7d42\u4e86\u7d4c\u5ea6
+ReportGenerator.artTableColHdr.associatedArtifact=\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8
+ReportGenerator.artTableColHdr.count=\u30ab\u30a6\u30f3\u30c8
+ReportGenerator.artTableColHdr.personName=\u4eba\u540d
+ReportGenerator.artTableColHdr.phoneNumber=\u96fb\u8a71\u756a\u53f7
+ReportGenerator.artTableColHdr.phoneNumHome=\u96fb\u8a71\u756a\u53f7(\u81ea\u5b85)
+ReportGenerator.artTableColHdr.phoneNumOffice=\u96fb\u8a71\u756a\u53f7(\u4f1a\u793e)
+ReportGenerator.artTableColHdr.phoneNumMobile=\u96fb\u8a71\u756a\u53f7(\u643a\u5e2f)
+ReportGenerator.artTableColHdr.email=\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.msgType=\u30e1\u30c3\u30bb\u30fc\u30b8\u30bf\u30a4\u30d7
+ReportGenerator.artTableColHdr.direction=\u65b9\u5411
+ReportGenerator.artTableColHdr.readStatus=\u8aad\u307f\u53d6\u308a\u30b9\u30c6\u30fc\u30bf\u30b9
+ReportGenerator.artTableColHdr.fromPhoneNum=\u767a\u4fe1\u5143\u96fb\u8a71\u756a\u53f7
+ReportGenerator.artTableColHdr.fromEmail=\u9001\u4fe1\u5143\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.toPhoneNum=\u76f8\u624b\u5148\u96fb\u8a71\u756a\u53f7
+ReportGenerator.artTableColHdr.toEmail=\u9001\u4fe1\u5148\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.subject=\u4ef6\u540d
+ReportGenerator.artTableColHdr.tskEmailTo=To\u306e\u5b9b\u5148\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.tskEmailTo=CC\u306e\u5b9b\u5148\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.tskEmailTo=BCC\u306e\u5b9b\u5148\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.tskEmailTo=\u5dee\u51fa\u4eba\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.tskMsgId=\u30e1\u30c3\u30bb\u30fc\u30b8ID
+ReportGenerator.artTableColHdr.tskDateTimeRcvd=\u53d7\u4fe1\u65e5
+ReportGenerator.artTableColHdr.tskDateTimeSent=\u9001\u4fe1\u65e5
+ReportGenerator.artTableColHdr.tskSubject=\u4ef6\u540d
+ReportGenerator.artTableColHdr.tskSetName=\u30bb\u30c3\u30c8\u540d
+ReportGenerator.artTableColHdr.tskInterestingFilesCategory=\u30eb\u30fc\u30eb
+ReportGenerator.artTableColHdr.tskGpsRouteCategory=\u30ab\u30c6\u30b4\u30ea\u30fc
+ReportGenerator.artTableColHdr.tskPath=\u30d1\u30b9
+ReportGenerator.artTableColHdr.calendarEntryType=\u30ab\u30ec\u30f3\u30c0\u30fc\u5165\u529b\u30bf\u30a4\u30d7
+ReportGenerator.artTableColHdr.description=\u8aac\u660e
+ReportGenerator.artTableColHdr.startDateTime=\u958b\u59cb\u65e5\u6642
+ReportGenerator.artTableColHdr.endDateTime=\u7d42\u4e86\u65e5\u6642
+ReportGenerator.artTableColHdr.location=\u5834\u6240
+ReportGenerator.artTableColHdr.shortCut=\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8
+ReportGenerator.artTableColHdr.deviceName=\u30c7\u30d0\u30a4\u30b9\u540d
+ReportGenerator.artTableColHdr.deviceAddress=\u30c7\u30d0\u30a4\u30b9\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.altitude=\u6a19\u9ad8
+ReportGenerator.artTableColHdr.locationAddress=\u6240\u5728\u5730\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.category=\u30ab\u30c6\u30b4\u30ea\u30fc
+ReportGenerator.artTableColHdr.userId=\u30e6\u30fc\u30b6\u30fcID
+ReportGenerator.artTableColHdr.userName=\u30e6\u30fc\u30b6\u30fc\u540d
+ReportGenerator.artTableColHdr.password=\u30d1\u30b9\u30ef\u30fc\u30c9
+ReportGenerator.artTableColHdr.appName=\u30a2\u30d7\u30ea\u540d
+ReportGenerator.artTableColHdr.appPath=\u30a2\u30d7\u30ea\u30d1\u30b9
+ReportGenerator.artTableColHdr.replytoAddress=\u8fd4\u4fe1\u5148\u30a2\u30c9\u30ec\u30b9
+ReportGenerator.artTableColHdr.mailServer=\u30e1\u30fc\u30eb\u30b5\u30fc\u30d0\u30fc
+ReportGenerator.artTableColHdr.tags=\u30bf\u30b0
+ReportGenerator.artTableColHdr.localPath=\u30ed\u30fc\u30ab\u30eb\u30d1\u30b9
+ReportGenerator.artTableColHdr.remotePath=\u30ea\u30e2\u30fc\u30c8\u30d1\u30b9
+ReportGenerator.errors.reportErrorTitle=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ReportGenerator.errors.reportErrorText=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:
+ReportHTML.addThumbRows.dataType.title=\u30bf\u30b0\u4ed8\u3051\u30a4\u30e1\u30fc\u30b8 - {0}
+ReportHTML.addThumbRows.dataType.msg=\u30a4\u30e1\u30fc\u30b8\u3092\u542b\u3080\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u7d50\u679c\u3068\u30b3\u30f3\u30c6\u30f3\u30c4
+ReportHTML.thumbLink.tags=\u30bf\u30b0:
+ReportHTML.getName.text=HTML\u30ec\u30dd\u30fc\u30c8
+ReportHTML.getDesc.text=\u7d50\u679c\u3068\u30bf\u30b0\u4ed8\u304d\u9805\u76ee\u306b\u95a2\u3059\u308bHTML\u5f62\u5f0f\u306e\u30ec\u30dd\u30fc\u30c8\u3067\u3059\u3002
+ReportHTML.writeIndex.title=\u30b1\u30fc\u30b9 {0} \u306e
+ReportHTML.writeIndex.noFrames.msg=\u304a\u4f7f\u3044\u306e\u30d6\u30e9\u30a6\u30b6\u30fc\u306f\u5f53\u793e\u306e\u30d5\u30ec\u30fc\u30e0\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+ReportHTML.writeIndex.noFrames.seeNav=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u30ea\u30f3\u30af\u306f\u3001the navigation page \u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ReportHTML.writeIndex.seeSum=and \u30b1\u30fc\u30b9\u30b5\u30de\u30ea\u30fc\u306e \u30b5\u30de\u30ea\u30fc\u30da\u30fc\u30b8\u3067\u3059\u3002
+ReportHTML.writeNav.title=\u30ec\u30dd\u30fc\u30c8\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3
+ReportHTML.writeNav.h1=\u30ec\u30dd\u30fc\u30c8\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3
+ReportHTML.writeNav.summary=\u30b1\u30fc\u30b9\u30b5\u30de\u30ea\u30fc
+ReportHTML.writeSum.title=\u30b1\u30fc\u30b9\u30b5\u30de\u30ea\u30fc
+ReportHTML.writeSum.warningMsg=\u8b66\u544a: \u3053\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30b5\u30fc\u30d3\u30b9\u306e\u5b8c\u4e86\u524d\u306b\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\!
+#
+# autopsy/test/scripts/regression.py._html_report_diff()\u306f reportGenOn.text\u3001caseName\u3001caseNum\u3001
+# examiner\u3092\u6b63\u898f\u8868\u73fe\u30b7\u30b0\u30cd\u30c1\u30e3\u30fc\u3068\u3057\u3066\u4f7f\u7528\u3057\u3001report.html\u3068summary.html\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002
+#
+ReportHTML.writeSum.reportGenOn.text={0} \u3067\u751f\u6210\u3055\u308c\u305fHTML\u30ec\u30dd\u30fc\u30c8
+ReportHTML.writeSum.imageInfoHeading=\u30a4\u30e1\u30fc\u30b8\u60c5\u5831:
+ReportHTML.writeSum.softwareInfoHeading=\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u60c5\u5831:
+ReportHTML.writeSum.ingestHistoryHeading=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5c65\u6b74:
+ReportHTML.writeSum.modulesEnabledHeading=\u6709\u52b9\u5316\u3055\u308c\u305f\u30e2\u30b8\u30e5\u30fc\u30eb:
+ReportHTML.writeSum.autopsyVersion=Autopsy\u30d0\u30fc\u30b8\u30e7\u30f3:
+ReportHTML.writeSum.timezone=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3:
+ReportHTML.writeSum.path=\u30d1\u30b9:
+ReportProgressPanel.progress.queuing=\u30ad\u30e5\u30fc\u30a4\u30f3\u30b0\u4e2d\u3067\u3059...
+ReportProgressPanel.initPathLabel.noFile=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u304c\u3042\u308a\u307e\u305b\u3093
+ReportProgressPanel.start.cancelButton.text=\u53d6\u308a\u6d88\u3057
+ReportProgressPanel.start.progress.text=\u30ec\u30dd\u30fc\u30c8\u3092\u958b\u59cb\u4e2d\u3067\u3059...
+ReportProgressPanel.complete.processLbl.text=\u5b8c\u4e86
+ReportProgressPanel.complete.processLb2.text=\u30a8\u30e9\u30fc\u3067\u5b8c\u4e86\u3057\u307e\u3057\u305f
+ReportProgressPanel.complete.cancelButton.text=\u5b8c\u4e86
+ReportProgressPanel.cancel.cancelButton.toolTipText=\u53d6\u308a\u6d88\u3057\u6e08\u307f
+ReportProgressPanel.cancel.procLbl.text=\u53d6\u308a\u6d88\u3057\u6e08\u307f
+ReportVisualPanel1.getName.text=\u30ec\u30dd\u30fc\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u9078\u629e\u3057\u3066\u69cb\u6210
+ReportVisualPanel2.getName.text=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30ec\u30dd\u30fc\u30c8\u3092\u69cb\u6210
+ReportWizardAction.actionName.text=\u30ec\u30dd\u30fc\u30c8\u751f\u6210
+ReportWizardAction.reportWiz.title=\u30ec\u30dd\u30fc\u30c8\u751f\u6210
+ReportWizardAction.toolBarButton.text=\u30ec\u30dd\u30fc\u30c8\u751f\u6210
+ReportWizardFileOptionsPanel.finishButton.text=\u5b8c\u4e86
+ReportWizardFileOptionsVisualPanel.getName.text=\u30d5\u30a1\u30a4\u30eb\u30ec\u30dd\u30fc\u30c8\u3092\u69cb\u6210
+ReportWizardPanel1.nextButton.text=\u6b21\u3078 >
+ReportWizardPanel1.finishButton.text=\u5b8c\u4e86
+ReportWizardPanel2.finishButton.text=\u5b8c\u4e86
+ReportWizardPanel2.nextButton.text=\u6b21\u3078 >
+ReportBodyFile.generateReport.srcModuleName.text=TSK Body\u30d5\u30a1\u30a4\u30eb
+ReportExcel.endReport.srcModuleName.text=Excel\u30ec\u30dd\u30fc\u30c8
+ReportHTML.writeIndex.srcModuleName.text=HTML\u30ec\u30dd\u30fc\u30c8
+ReportKML.genReport.srcModuleName.text=\u5730\u7406\u7a7a\u9593\u30c7\u30fc\u30bf
+ReportKML.genReport.reportName=KML\u30ec\u30dd\u30fc\u30c8
+ReportGenerator.artTableColHdr.extension.text=\u62e1\u5f35\u5b50
+ReportGenerator.artTableColHdr.mimeType.text=MIME\u30bf\u30a4\u30d7
+ReportGenerator.artTableColHdr.processorArchitecture.text=\u30d7\u30ed\u30bb\u30c3\u30b5\u30fc\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3
+ReportGenerator.artTableColHdr.osName.text=\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u540d
+ReportGenerator.artTableColHdr.osInstallDate.text=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65e5
+ReportGenerator.errList.failedMakeRptFolder=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30ec\u30dd\u30fc\u30c8\u3092\u751f\u6210\u3067\u304d\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+ReportGenerator.notifyErr.errsDuringRptGen=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:
+ReportGenerator.errList.failedGetContentTags=\u30b3\u30f3\u30c6\u30f3\u30c4\u30bf\u30b0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedGetBBArtifactTags=\u30d6\u30e9\u30c3\u30af\u30dc\u30fc\u30c9\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30b0\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.errGetContentFromBBArtifact=\u30ec\u30dd\u30fc\u30c8\u4f5c\u6210\u5bfe\u8c61\u306e\u30d6\u30e9\u30c3\u30af\u30dc\u30fc\u30c9\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ReportGenerator.errList.failedGetBBAttribs=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u4e2d\u306b\u30d6\u30e9\u30c3\u30af\u30dc\u30fc\u30c9\u5c5e\u6027\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedGetBBArtifacts=\u30ec\u30dd\u30fc\u30c8\u751f\u6210\u4e2d\u306b\u30d6\u30e9\u30c3\u30af\u30dc\u30fc\u30c9\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedQueryKWLists=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30af\u30a8\u30ea\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedGetAbstractFileByID=ID\u5225\u306b\u62bd\u8c61\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedQueryKWs=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30af\u30a8\u30ea\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedQueryHashsetLists=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30ea\u30b9\u30c8\u3092\u30af\u30a8\u30ea\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedGetAbstractFileFromID=ID\u304b\u3089\u62bd\u8c61\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.failedQueryHashsetHits=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d2\u30c3\u30c8\u3092\u30af\u30a8\u30ea\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ReportGenerator.errList.coreExceptionWhileGenRptRow=\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30ec\u30dd\u30fc\u30c8\u306e\u5217\u30c7\u30fc\u30bf\u306e\u751f\u6210\u4e2d\u306b\u30b3\u30a2\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ReportKML.latLongStartPoint={0};{1};;{2} (\u958b\u59cb)\n
+ReportKML.latLongEndPoint={0};{1};;{2} (\u7d42\u4e86)\n
+ReportGenerationPanel.cancelButton.actionCommand=\u53d6\u308a\u6d88\u3057
+ReportGenerationPanel.cancelButton.text=\u53d6\u308a\u6d88\u3057
+ReportHTMLConfigurationPanel.headerTextField.text=
+ReportHTMLConfigurationPanel.footerTextField.text=
+ReportHTMLConfigurationPanel.headerLabel.text=\u30d8\u30c3\u30c0\u30fc:
+ReportHTMLConfigurationPanel.footerLabel.text=\u30d5\u30c3\u30bf\u30fc:
+CreatePortableCasePanel.selectAllButton.text=\u3059\u3079\u3066\u9078\u629e
+CreatePortableCasePanel.deselectAllButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+CreatePortableCasePanel.outputFolderTextField.text=jTextField1
+CreatePortableCasePanel.chooseOutputFolderButton.text=\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u9078\u629e
+CreatePortableCasePanel.jLabel1.text=\u6b21\u3068\u3057\u3066\u30bf\u30b0\u4ed8\u3051\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8:
+CreatePortableCasePanel.jLabel2.text=\u51fa\u529b\u30d5\u30a9\u30eb\u30c0\u30fc\u3092\u9078\u629e:
+CreatePortableCasePanel.errorLabel.text_1=Windows\u306e\u307f
+ReportWizardPortableCaseOptionsVisualPanel.errorLabel.text=Windows\u306e\u307f
+ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.text=\u30b1\u30fc\u30b9\u3092\u30a2\u30fc\u30ab\u30a4\u30d6\u5185\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u5316:
+PortableCaseTagsListPanel.deselectButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+PortableCaseTagsListPanel.selectButton.text=\u3059\u3079\u3066\u9078\u629e
+PortableCaseInterestingItemsListPanel.selectButton.text=\u3059\u3079\u3066\u9078\u629e
+PortableCaseInterestingItemsListPanel.deselectButton.text=\u3059\u3079\u3066\u9078\u629e\u89e3\u9664
+ReportFileTextConfigurationPanel.tabDelimitedButton.text=\u533a\u5207\u308a\u30bf\u30d6
+ReportFileTextConfigurationPanel.commaDelimitedButton.text=\u533a\u5207\u308a\u30ab\u30f3\u30de
+PortableCaseTagsListPanel.descLabel.text=\u6b21\u306e\u30bf\u30b0\u3092\u542b\u3080:
+PortableCaseInterestingItemsListPanel.descLabel.text=\u3053\u308c\u3089\u306e\u30bb\u30c3\u30c8\u306e\u8208\u5473\u6df1\u3044\u9805\u76ee\u3092\u542b\u3080:
+ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.toolTipText=
+ReportWizardPortableCaseOptionsVisualPanel.getName.title=\u30dd\u30fc\u30bf\u30d6\u30eb\u30b1\u30fc\u30b9\u8a2d\u5b9a\u3092\u9078\u629e
+TableReportGenerator.StatusColumn.Header=\u30ec\u30d3\u30e5\u30fc\u30b9\u30c6\u30fc\u30bf\u30b9
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/ArtifactSelectionDialog.java b/Core/src/org/sleuthkit/autopsy/report/infrastructure/ArtifactSelectionDialog.java
index 8fef4083ef..78ae4479a5 100644
--- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/ArtifactSelectionDialog.java
+++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/ArtifactSelectionDialog.java
@@ -77,8 +77,16 @@ class ArtifactSelectionDialog extends javax.swing.JDialog {
BlackboardArtifact.ARTIFACT_TYPE.TSK_GEN_INFO.getDisplayName()));
doNotReport.add(new BlackboardArtifact.Type(BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getLabel(),
- BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getDisplayName())); // output is too unstructured for table review
-
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getDisplayName())); // output is too unstructured for table review
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getDisplayName()));
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getDisplayName()));
+
artifactTypes = Case.getCurrentCaseThrows().getSleuthkitCase().getArtifactTypesInUse();
artifactTypes.removeAll(doNotReport);
Collections.sort(artifactTypes, new Comparator() {
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ja.properties
old mode 100755
new mode 100644
index c911dd381d..5077b78fd1
--- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ja.properties
@@ -183,4 +183,4 @@ FileReportDataTypes.address.text=\u30a2\u30c9\u30ec\u30b9
FileReportDataTypes.hash.text=\u30cf\u30c3\u30b7\u30e5\u5024
FileReportDataTypes.knownStatus.text=\u65e2\u77e5\u30b9\u30c6\u30fc\u30bf\u30b9
FileReportDataTypes.perms.text=\u30d1\u30fc\u30df\u30c3\u30b7\u30e7\u30f3
-FileReportDataTypes.path.text=\u30d5\u30eb\u30d1\u30b9
\ No newline at end of file
+FileReportDataTypes.path.text=\u30d5\u30eb\u30d1\u30b9
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/ReportVisualPanel2.java b/Core/src/org/sleuthkit/autopsy/report/infrastructure/ReportVisualPanel2.java
index 7a69681322..e804f0384f 100644
--- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/ReportVisualPanel2.java
+++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/ReportVisualPanel2.java
@@ -206,7 +206,14 @@ final class ReportVisualPanel2 extends JPanel {
doNotReport.add(new BlackboardArtifact.Type(BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getLabel(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getDisplayName())); // output is too unstructured for table review
-
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getDisplayName()));
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getDisplayName()));
// get artifact types that exist in the current case
artifacts = openCase.getSleuthkitCase().getArtifactTypesInUse();
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/TableReportGenerator.java b/Core/src/org/sleuthkit/autopsy/report/infrastructure/TableReportGenerator.java
index 264ed461c4..3d4355f233 100644
--- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/TableReportGenerator.java
+++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/TableReportGenerator.java
@@ -108,6 +108,14 @@ class TableReportGenerator {
doNotReport.add(new BlackboardArtifact.Type(BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getTypeID(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getLabel(),
BlackboardArtifact.ARTIFACT_TYPE.TSK_TOOL_OUTPUT.getDisplayName())); // output is too unstructured for table review
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT.getDisplayName()));
+ doNotReport.add(new BlackboardArtifact.Type(
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getTypeID(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getLabel(),
+ BlackboardArtifact.ARTIFACT_TYPE.TSK_TL_EVENT.getDisplayName()));
Case.getCurrentCaseThrows().getSleuthkitCase().getArtifactTypes().forEach(artifactTypes::add);
artifactTypes.removeAll(doNotReport);
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_ja.properties
old mode 100755
new mode 100644
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ja.properties
old mode 100755
new mode 100644
index 0c990dc024..fd9a57fb2a
--- a/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ja.properties
@@ -7,4 +7,4 @@ ReportExcel.cellVal.caseName=\u30b1\u30fc\u30b9\u540d\uff1a
ReportExcel.cellVal.caseNum=\u30b1\u30fc\u30b9\u756a\u53f7\uff1a
ReportExcel.cellVal.examiner=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
ReportExcel.cellVal.numImages=\u30a4\u30e1\u30fc\u30b8\u6570\uff1a
-ReportExcel.endReport.srcModuleName.text=Excel\u30ec\u30dd\u30fc\u30c8
\ No newline at end of file
+ReportExcel.endReport.srcModuleName.text=Excel\u30ec\u30dd\u30fc\u30c8
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_ja.properties
old mode 100755
new mode 100644
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ja.properties
old mode 100755
new mode 100644
index 50dfb93246..f05aa0e273
--- a/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ja.properties
@@ -22,4 +22,4 @@ ReportHTML.writeSum.imageInfoHeading=\u30a4\u30e1\u30fc\u30b8\u60c5\u5831\uf
ReportHTML.writeSum.timezone=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\uff1a
ReportHTML.writeSum.reportGenOn.text={0}\u306bHTML\u30ec\u30dd\u30fc\u30c8\u306f\u751f\u6210\u3055\u308c\u307e\u3057\u305f
ReportHTML.writeSum.noCaseNum=\u30b1\u30fc\u30b9\u756a\u53f7\u304c\u3042\u308a\u307e\u305b\u3093
-ReportHTML.writeIndex.srcModuleName.text=HTML\u30ec\u30dd\u30fc\u30c8
\ No newline at end of file
+ReportHTML.writeIndex.srcModuleName.text=HTML\u30ec\u30dd\u30fc\u30c8
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ja.properties
old mode 100755
new mode 100644
index 27048c26c1..4593a4b4b6
--- a/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ja.properties
@@ -3,4 +3,4 @@ ReportKML.getName.text=Google Earth/KML
ReportKML.progress.loading=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u2026
ReportKML.progress.querying=\u30d5\u30a1\u30a4\u30eb\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u4e2d\u2026
ReportKML.genReport.reportName=KML\u30ec\u30dd\u30fc\u30c8
-ReportKML.getFilePath.text=\u30ec\u30dd\u30fc\u30c8KML.kml
\ No newline at end of file
+ReportKML.getFilePath.text=\u30ec\u30dd\u30fc\u30c8KML.kml
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/kml/KMLReport.java b/Core/src/org/sleuthkit/autopsy/report/modules/kml/KMLReport.java
index a140338524..a002a0279d 100644
--- a/Core/src/org/sleuthkit/autopsy/report/modules/kml/KMLReport.java
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/kml/KMLReport.java
@@ -33,6 +33,7 @@ import java.io.OutputStream;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import org.jdom2.Document;
@@ -59,7 +60,7 @@ import org.sleuthkit.datamodel.TskCoreException;
/**
* Generates a KML file based on geospatial information from the BlackBoard.
*/
-class KMLReport implements GeneralReportModule {
+public final class KMLReport implements GeneralReportModule {
private static final Logger logger = Logger.getLogger(KMLReport.class.getName());
private static final String KML_STYLE_FILE = "style.kml";
@@ -79,6 +80,8 @@ class KMLReport implements GeneralReportModule {
private Element gpsSearchesFolder;
private Element gpsTrackpointsFolder;
+ private List waypointList = null;
+
private enum FeatureColor {
RED("style.kml#redFeature"),
GREEN("style.kml#greenFeature"),
@@ -141,6 +144,11 @@ class KMLReport implements GeneralReportModule {
"Route_Details_Header=GPS Route"
})
+ public void generateReport(String baseReportDir, ReportProgressPanel progressPanel, List waypointList) {
+ this.waypointList = waypointList;
+ generateReport(baseReportDir, progressPanel);
+ }
+
@Override
public void generateReport(String baseReportDir, ReportProgressPanel progressPanel) {
try {
@@ -298,7 +306,7 @@ class KMLReport implements GeneralReportModule {
* @throws IOException
*/
void addExifMetadataContent(List points, String baseReportDirectory) throws IOException {
- for(Waypoint point: points) {
+ for (Waypoint point : points) {
Element mapPoint = makePoint(point);
if (mapPoint == null) {
return;
@@ -332,41 +340,49 @@ class KMLReport implements GeneralReportModule {
* @throws IOException
*/
void addLocationsToReport(SleuthkitCase skCase, String baseReportDir) throws GeoLocationDataException, IOException {
- addExifMetadataContent(WaypointBuilder.getEXIFWaypoints(skCase), baseReportDir);
- addWaypoints(WaypointBuilder.getBookmarkWaypoints(skCase), gpsBookmarksFolder, FeatureColor.BLUE, Bundle.Waypoint_Bookmark_Display_String());
- addWaypoints(WaypointBuilder.getLastKnownWaypoints(skCase), gpsLastKnownLocationFolder, FeatureColor.PURPLE, Bundle.Waypoint_Last_Known_Display_String());
- addWaypoints(WaypointBuilder.getSearchWaypoints(skCase), gpsSearchesFolder, FeatureColor.WHITE, Bundle.Waypoint_Search_Display_String());
- addWaypoints(WaypointBuilder.getTrackpointWaypoints(skCase), gpsTrackpointsFolder, FeatureColor.WHITE, Bundle.Waypoint_Trackpoint_Display_String());
+ if (waypointList == null) {
+ addExifMetadataContent(WaypointBuilder.getEXIFWaypoints(skCase), baseReportDir);
+ addWaypoints(WaypointBuilder.getBookmarkWaypoints(skCase), gpsBookmarksFolder, FeatureColor.BLUE, Bundle.Waypoint_Bookmark_Display_String());
+ addWaypoints(WaypointBuilder.getLastKnownWaypoints(skCase), gpsLastKnownLocationFolder, FeatureColor.PURPLE, Bundle.Waypoint_Last_Known_Display_String());
+ addWaypoints(WaypointBuilder.getSearchWaypoints(skCase), gpsSearchesFolder, FeatureColor.WHITE, Bundle.Waypoint_Search_Display_String());
+ addWaypoints(WaypointBuilder.getTrackpointWaypoints(skCase), gpsTrackpointsFolder, FeatureColor.WHITE, Bundle.Waypoint_Trackpoint_Display_String());
+ } else {
+ addExifMetadataContent(WaypointBuilder.getEXIFWaypoints(waypointList), baseReportDir);
+ addWaypoints(WaypointBuilder.getBookmarkWaypoints(waypointList), gpsBookmarksFolder, FeatureColor.BLUE, Bundle.Waypoint_Bookmark_Display_String());
+ addWaypoints(WaypointBuilder.getLastKnownWaypoints(waypointList), gpsLastKnownLocationFolder, FeatureColor.PURPLE, Bundle.Waypoint_Last_Known_Display_String());
+ addWaypoints(WaypointBuilder.getSearchWaypoints(waypointList), gpsSearchesFolder, FeatureColor.WHITE, Bundle.Waypoint_Search_Display_String());
+ addWaypoints(WaypointBuilder.getTrackpointWaypoints(waypointList), gpsTrackpointsFolder, FeatureColor.WHITE, Bundle.Waypoint_Trackpoint_Display_String());
+ }
}
-
+
/**
- * For each point in the waypoint list an Element to represent the given waypoint
- * is created and added it to the given Element folder.
- *
- * @param points List of waypoints to add to the report
- * @param folder The Element folder to add the points to
+ * For each point in the waypoint list an Element to represent the given
+ * waypoint is created and added it to the given Element folder.
+ *
+ * @param points List of waypoints to add to the report
+ * @param folder The Element folder to add the points to
* @param waypointColor The color the waypoint should appear in the report
*/
void addWaypoints(List points, Element folder, FeatureColor waypointColor, String headerLabel) {
- for(Waypoint point: points) {
+ for (Waypoint point : points) {
addContent(folder, point.getLabel(), waypointColor, getFormattedDetails(point, headerLabel), point.getTimestamp(), makePoint(point), point.getLatitude(), point.getLongitude());
}
}
-
+
/**
* Adds the waypoint Element with details to the report in the given folder.
- *
- * @param folder Element folder to add the waypoint to
- * @param waypointLabel String waypoint Label
- * @param waypointColor FeatureColor for the waypoint
+ *
+ * @param folder Element folder to add the waypoint to
+ * @param waypointLabel String waypoint Label
+ * @param waypointColor FeatureColor for the waypoint
* @param formattedDetails String HTML formatted waypoint details
- * @param timestamp Long timestamp (unix\jave epoch seconds)
- * @param point Element point object
- * @param latitude Double latitude value
- * @param longitude Double longitude value
+ * @param timestamp Long timestamp (unix\jave epoch seconds)
+ * @param point Element point object
+ * @param latitude Double latitude value
+ * @param longitude Double longitude value
*/
void addContent(Element folder, String waypointLabel, FeatureColor waypointColor, String formattedDetails, Long timestamp, Element point, Double latitude, Double longitude) {
- if(folder != null && point != null) {
+ if (folder != null && point != null) {
String formattedCords = formattedCoordinates(latitude, longitude);
folder.addContent(makePlacemark(waypointLabel, waypointColor, formattedDetails, timestamp, point, formattedCords));
}
@@ -380,17 +396,19 @@ class KMLReport implements GeneralReportModule {
* @throws TskCoreException
*/
void makeRoutes(SleuthkitCase skCase) throws GeoLocationDataException {
- List routes = Route.getRoutes(skCase);
-
- if(routes == null) {
- return;
+ List routes = null;
+
+ if (waypointList == null) {
+ routes = Route.getRoutes(skCase);
+ } else {
+ routes = new ArrayList<>();
}
for (Route route : routes) {
addRouteToReport(route);
}
}
-
+
void addRouteToReport(Route route) {
List routePoints = route.getRoute();
Waypoint start = null;
@@ -423,15 +441,15 @@ class KMLReport implements GeneralReportModule {
}
if (startingPoint != null) {
- gpsRouteFolder.addContent(makePlacemark(start.getLabel(),
- FeatureColor.GREEN, getFormattedDetails(start, Bundle.Waypoint_Route_Point_Display_String()),
+ gpsRouteFolder.addContent(makePlacemark(start.getLabel(),
+ FeatureColor.GREEN, getFormattedDetails(start, Bundle.Waypoint_Route_Point_Display_String()),
start.getTimestamp(), startingPoint, formattedStart)); //NON-NLS
}
if (endingPoint != null) {
- gpsRouteFolder.addContent(makePlacemark(end.getLabel(),
- FeatureColor.GREEN,
- getFormattedDetails(end, Bundle.Waypoint_Route_Point_Display_String()),
+ gpsRouteFolder.addContent(makePlacemark(end.getLabel(),
+ FeatureColor.GREEN,
+ getFormattedDetails(end, Bundle.Waypoint_Route_Point_Display_String()),
end.getTimestamp(), endingPoint, formattedEnd)); //NON-NLS
}
}
@@ -688,11 +706,11 @@ class KMLReport implements GeneralReportModule {
/**
* Get the nicely formatted details for the given waypoint.
- *
- * @param point Waypoint object
+ *
+ * @param point Waypoint object
* @param header String details header
- *
- * @return HTML formatted String of details for given waypoint
+ *
+ * @return HTML formatted String of details for given waypoint
*/
private String getFormattedDetails(Waypoint point, String header) {
StringBuilder result = new StringBuilder(); //NON-NLS
@@ -706,15 +724,15 @@ class KMLReport implements GeneralReportModule {
result.append(formatAttribute("Latitude", point.getLatitude().toString()))
.append(formatAttribute("Longitude", point.getLongitude().toString()));
-
+
if (point.getAltitude() != null) {
result.append(formatAttribute("Altitude", point.getAltitude().toString()));
}
List list = point.getOtherProperties();
- for(Waypoint.Property prop: list) {
+ for (Waypoint.Property prop : list) {
String value = prop.getValue();
- if(value != null && !value.isEmpty()) {
+ if (value != null && !value.isEmpty()) {
result.append(formatAttribute(prop.getDisplayName(), value));
}
}
@@ -733,8 +751,7 @@ class KMLReport implements GeneralReportModule {
*
* @return A HTML formatted list of the Route attributes
*/
-
- private String getFormattedDetails(Route route) {
+ private String getFormattedDetails(Route route) {
List points = route.getRoute();
StringBuilder result = new StringBuilder(); //NON-NLS
@@ -752,38 +769,38 @@ class KMLReport implements GeneralReportModule {
result.append(formatAttribute("Start Latitude", start.getLatitude().toString()))
.append(formatAttribute("Start Longitude", start.getLongitude().toString()));
-
+
Double altitude = start.getAltitude();
- if(altitude != null) {
+ if (altitude != null) {
result.append(formatAttribute("Start Altitude", altitude.toString()));
}
-
+
result.append(formatAttribute("End Latitude", end.getLatitude().toString()))
.append(formatAttribute("End Longitude", end.getLongitude().toString()));
-
+
altitude = end.getAltitude();
- if(altitude != null) {
+ if (altitude != null) {
result.append(formatAttribute("End Altitude", altitude.toString()));
}
}
List list = route.getOtherProperties();
- for(Waypoint.Property prop: list) {
+ for (Waypoint.Property prop : list) {
String value = prop.getValue();
- if(value != null && !value.isEmpty()) {
+ if (value != null && !value.isEmpty()) {
result.append(formatAttribute(prop.getDisplayName(), value));
}
}
return result.toString();
}
-
+
/**
* Helper functions for consistently formatting longitude and latitude.
- *
- * @param latitude Double latitude value
+ *
+ * @param latitude Double latitude value
* @param longitude Double longitude value
- *
+ *
* @return String Nicely formatted double values separated by a comma
*/
private String formattedCoordinates(Double latitude, Double longitude) {
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/stix/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/report/modules/stix/Bundle_ja.properties
index 5dfc25469b..b57761ac09 100644
--- a/Core/src/org/sleuthkit/autopsy/report/modules/stix/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/stix/Bundle_ja.properties
@@ -10,4 +10,4 @@ STIXReportModuleConfigPanel.jButton1.text=\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u
STIXReportModuleConfigPanel.jCheckBox1.text=\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u8aa4\u3063\u305f\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u30fc\u306e\u7d50\u679c\u3082\u542b\u3080
STIXReportModuleConfigPanel.jLabel2.text=STIX\u30d5\u30a1\u30a4\u30eb\u307e\u305f\u306fSTIX\u30d5\u30a1\u30a4\u30eb\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u9078\u629e
STIXReportModule.notifyErr.noFildDirProvided=STIX\u30d5\u30a1\u30a4\u30eb\uff0f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u305b\u3093
-STIXReportModule.progress.noFildDirProvided=STIX\u30d5\u30a1\u30a4\u30eb\uff0f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u305b\u3093
\ No newline at end of file
+STIXReportModule.progress.noFildDirProvided=STIX\u30d5\u30a1\u30a4\u30eb\uff0f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u305b\u3093
diff --git a/Core/src/org/sleuthkit/autopsy/test/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/test/Bundle_ja.properties
new file mode 100644
index 0000000000..5e2cc58164
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/test/Bundle_ja.properties
@@ -0,0 +1,3 @@
+CustomArtifactsCreatorDataSourceIngestModule.exceptionMessage.errorCreatingCustomType=\u30ab\u30b9\u30bf\u30e0\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+CustomArtifactsCreatorFileIngestModule.exceptionMessage.errorCreatingCustomType=\u30ab\u30b9\u30bf\u30e0\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+InterestingArtifactCreatorIngestModule.exceptionMessage.errorCreatingCustomType=\u30ab\u30b9\u30bf\u30e0\u306e\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u30bf\u30a4\u30d7\u306e\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ja.properties
old mode 100755
new mode 100644
index 5d243eba03..8966e582e2
--- a/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ja.properties
@@ -1,2 +1,2 @@
-AbstractFileTikaTextExtract.index.exception.tikaParse.msg=\u4f8b\u5916\uff1a\u30d5\u30a1\u30a4\u30eb\uff1a{0}, {1}\u306eApache Tika\u30d1\u30fc\u30b9\u30bf\u30b9\u30af\u5b9f\u884c\u4e2d\u306e\u4e88\u671f\u305b\u306c\u4f8b\u5916
-AbstractFileTikaTextExtract.index.tikaParseTimeout.text=\u4f8b\u5916\uff1a\u30b3\u30f3\u30c6\u30f3\u30c4\uff1a{0}, {1}\u306eApache Tika\u30d1\u30fc\u30b9\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
\ No newline at end of file
+AbstractFileTikaTextExtract.index.tikaParseTimeout.text=\u4f8b\u5916: \u6b21\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306eTika\u89e3\u6790\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8: {0}\u3001{1}
+AbstractFileTikaTextExtract.index.exception.tikaParse.msg=\u4f8b\u5916: \u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u306eTika\u89e3\u6790\u30bf\u30b9\u30af\u5b9f\u884c\u6642\u306e\u4e88\u671f\u305b\u306c\u4f8b\u5916: {0}\u3001{1}
diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextExtractorFactory.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextExtractorFactory.java
index 2c8316ba60..ff0ba51dd1 100755
--- a/Core/src/org/sleuthkit/autopsy/textextractors/TextExtractorFactory.java
+++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextExtractorFactory.java
@@ -89,6 +89,7 @@ public class TextExtractorFactory {
*/
private static List getFileExtractors(AbstractFile content, Lookup context) {
List fileExtractors = Arrays.asList(
+ new TextFileExtractor(content),
new HtmlTextExtractor(content),
new SqliteTextExtractor(content),
new TikaTextExtractor(content));
diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java
new file mode 100644
index 0000000000..3efb6b1aed
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/textextractors/TextFileExtractor.java
@@ -0,0 +1,135 @@
+/*
+ * Autopsy Forensic Browser
+ *
+ * Copyright 2018-2019 Basis Technology Corp.
+ * Contact: carrier sleuthkit org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.sleuthkit.autopsy.textextractors;
+
+import com.ethteck.decodetect.core.Decodetect;
+import com.ethteck.decodetect.core.DecodetectResult;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.StandardCharsets;
+import java.nio.charset.UnsupportedCharsetException;
+import java.util.List;
+import org.apache.tika.parser.txt.CharsetDetector;
+import org.apache.tika.parser.txt.CharsetMatch;
+import org.sleuthkit.datamodel.AbstractFile;
+import org.sleuthkit.datamodel.Content;
+import org.sleuthkit.datamodel.ReadContentInputStream;
+
+/**
+ * Extract text from text files
+ */
+public final class TextFileExtractor implements TextExtractor {
+ public static Charset UNKNOWN_CHARSET = new Charset("unknown", null) {
+ @Override
+ public boolean contains(Charset cs) {
+ return false;
+ }
+
+ @Override
+ public CharsetDecoder newDecoder() {
+ return null;
+ }
+
+ @Override
+ public CharsetEncoder newEncoder() {
+ return null;
+ }
+ };
+
+ // This value will be used as a threshold for determining which encoding
+ // detection library to use. If Tika's own confidence is at least
+ // MIN_MATCH_CONFIDENCE, Tika's result will be used for decoding.
+ // Otherwise, Decodetect will be used.
+ static final private int MIN_TIKA_MATCH_CONFIDENCE = 35;
+
+ // This value determines whether we will consider Decodetect's top-scoring
+ // result a legitimate match or if we will disregard its findings
+ //
+ // Possible values are 0 to 1, inclusive
+ static final private double MIN_DECODETECT_MATCH_CONFIDENCE = 0.4;
+
+ private final AbstractFile file;
+
+ public TextFileExtractor(AbstractFile file) {
+ this.file = file;
+ }
+
+ @Override
+ public Reader getReader() {
+ Charset encoding = getEncoding(file);
+ if (encoding.equals(UNKNOWN_CHARSET)) {
+ encoding = StandardCharsets.UTF_8;
+ }
+ return getReader(encoding);
+ }
+
+ public Reader getReader(Charset encoding) {
+ return new InputStreamReader(new BufferedInputStream(new ReadContentInputStream(file)), encoding);
+ }
+
+ @Override
+ public boolean isSupported() {
+ return file.getMIMEType().equals("text/plain");
+ }
+
+ public class TextFileExtractorException extends Exception {
+ public TextFileExtractorException(String msg, Throwable ex) {
+ super(msg, ex);
+ }
+ public TextFileExtractorException(String msg) {
+ super(msg);
+ }
+ }
+
+ public static Charset getEncoding(Content content) {
+ try (InputStream stream = new BufferedInputStream(new ReadContentInputStream(content))) {
+ // Tika first
+ CharsetDetector detector = new CharsetDetector();
+ detector.setText(stream);
+ CharsetMatch tikaResult = detector.detect();
+ if (tikaResult != null && tikaResult.getConfidence() >= MIN_TIKA_MATCH_CONFIDENCE) {
+ try {
+ return Charset.forName(tikaResult.getName());
+ } catch (UnsupportedCharsetException ignored) {
+ }
+ }
+
+ // Decodetect if Tika fails or falls below confidence threshold
+ int maxBytes = 100000;
+ int numBytes = Math.min(stream.available(), maxBytes);
+ byte[] targetArray = new byte[numBytes];
+ stream.read(targetArray);
+ List results = Decodetect.DECODETECT.getResults(targetArray);
+ if (!results.isEmpty()) {
+ DecodetectResult topResult = results.get(0);
+ if (topResult.getConfidence() >= MIN_DECODETECT_MATCH_CONFIDENCE) {
+ return topResult.getEncoding();
+ }
+ }
+ } catch (IOException ignored) {
+ }
+ return UNKNOWN_CHARSET;
+ }
+}
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ja.properties
new file mode 100644
index 0000000000..f09a84b18c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ja.properties
@@ -0,0 +1,12 @@
+OptionsCategory_Name_Machine_Translation=\u6a5f\u68b0\u7ffb\u8a33
+OptionsCategory_Keywords_Machine_Translation_Settings=\u6a5f\u68b0\u7ffb\u8a33\u8a2d\u5b9a
+TranslationContentPanel.ocrLabel.text=OCR:
+TranslationOptionsPanel.noTextTranslators.text=\u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u30c4\u30fc\u30eb\u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002\u7ffb\u8a33\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002
+TranslationOptionsPanel.noTextTranslators.text=\u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u30c4\u30fc\u30eb\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u7ffb\u8a33\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002
+TranslationOptionsPanel.textTranslatorsUnavailable.text=\u9078\u629e\u3057\u305f\u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u30c4\u30fc\u30eb\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002\u7ffb\u8a33\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002
+TranslationOptionsPanel.translationDisabled.text=\u7ffb\u8a33\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059
+TranslationOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
+TranslationOptionsPanelController.moduleErr.msg=TranslationSettingsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TranslationContentPanel.showLabel.text=\u8868\u793a:
+TranslationOptionsPanel.translationServiceLabel.text=\u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u30c4\u30fc\u30eb:
+TranslationOptionsPanel.translationOptionsDescription.text=\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u88fd\u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u30b5\u30fc\u30d3\u30b9\u3092\u69cb\u6210\u3057\u3001\u30c6\u30ad\u30b9\u30c8\u3068\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u7ffb\u8a33\u3092\u6709\u52b9\u5316\u3057\u307e\u3059\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ja.properties
new file mode 100644
index 0000000000..885df0f635
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ja.properties
@@ -0,0 +1,30 @@
+BingTranslator.name.text=Bing\u3067\u7ffb\u8a33\u8005\u3092\u691c\u7d22
+BingTranslatorSettingsPanel.warning.invalidKey=\u7121\u52b9\u306a\u7ffb\u8a33\u8a8d\u8a3c\u30ad\u30fc\u3067\u3059
+BingTranslatorSettingsPanel.warning.targetLanguageFailure=\u5bfe\u8c61\u8a00\u8a9e\u306e\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3067\u304d\u306a\u3044\u304b\u3001\u53d7\u4fe1\u3057\u305f\u7d50\u679c\u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093
+GoogleTranslator.name.text=Google\u7ffb\u8a33
+GoogleTranslatorSettingsPanel.browseButton.text=\u53c2\u7167
+GoogleTranslatorSettingsPanel.credentialsLabel.text=\u8cc7\u683c\u60c5\u5831\u306e\u30d1\u30b9:
+GoogleTranslatorSettingsPanel.errorMessage.fileNotFound=\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u6709\u52b9\u306aJSON\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+GoogleTranslatorSettingsPanel.errorMessage.noFileSelected=Google\u7ffb\u8a33\u306b\u8cc7\u683c\u60c5\u5831\u3092\u63d0\u4f9b\u3059\u308b\u305f\u3081\u306b\u30011\u3064\u306eJSON\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+GoogleTranslatorSettingsPanel.errorMessage.translationFailure=\u6307\u5b9a\u3057\u305f\u8cc7\u683c\u60c5\u5831\u3067\u306f\u7ffb\u8a33\u3067\u304d\u307e\u305b\u3093
+GoogleTranslatorSettingsPanel.errorMessage.unableToMakeCredentials=\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8cc7\u683c\u60c5\u5831\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u69cb\u7bc9\u3067\u304d\u307e\u305b\u3093\u3002\u6709\u52b9\u306aJSON\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+GoogleTranslatorSettingsPanel.errorMessage.unableToReadCredentials=\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u8cc7\u683c\u60c5\u5831\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3002\u6709\u52b9\u306aJSON\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u306e\u3042\u308b\u5834\u6240\u3092\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+GoogleTranslatorSettingsPanel.errorMessage.unknownFailureGetting=\u73fe\u5728\u306e\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u8a00\u8a9e\u306e\u30ea\u30b9\u30c8\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
+GoogleTranslatorSettingsPanel.errorMessage.unknownFailurePopulating=\u73fe\u5728\u306e\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u3067\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u8a00\u8a9e\u306e\u30ea\u30b9\u30c8\u3092\u5165\u529b\u3067\u304d\u307e\u305b\u3093\u3002
+GoogleTranslatorSettingsPanel.fileChooser.confirmButton=\u9078\u629e
+GoogleTranslatorSettingsPanel.json.description=JSON\u30d5\u30a1\u30a4\u30eb
+GoogleTranslatorSettingsPanel.warningLabel.text=
+GoogleTranslatorSettingsPanel.targetLanguageLabel.text=\u5bfe\u8c61\u8a00\u8a9e:
+BingTranslatorSettingsPanel.testButton.text=\u30c6\u30b9\u30c8
+BingTranslatorSettingsPanel.testResultValueLabel.text=
+BingTranslatorSettingsPanel.resultLabel.text=\u7d50\u679c:
+BingTranslatorSettingsPanel.untranslatedLabel.text=\u672a\u7ffb\u8a33:
+BingTranslatorSettingsPanel.targetLanguageLabel.text=\u5bfe\u8c61\u8a00\u8a9e:
+BingTranslatorSettingsPanel.authenticationKeyField.toolTipText=\u6b21\u306e\u30cf\u30c3\u30b7\u30e5\u3092\u5165\u529b\u3059\u308b
+GoogleTranslatorSettingsPanel.testButton.text=\u30c6\u30b9\u30c8
+GoogleTranslatorSettingsPanel.untranslatedLabel.text=\u672a\u7ffb\u8a33:
+GoogleTranslatorSettingsPanel.resultLabel.text=\u7d50\u679c:
+GoogleTranslatorSettingsPanel.testResultValueLabel.text=
+BingTranslatorSettingsPanel.authenticationKeyLabel.text=\u8a8d\u8a3c\u30ad\u30fc:
+BingTranslatorSettingsPanel.instructionsTextArea.text=\u304a\u4f7f\u3044\u306eMicrosoft Translator\u30a2\u30ab\u30a6\u30f3\u30c8\u306bMicrosoft Translator\u8a8d\u8a3c\u30ad\u30fc\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30ad\u30fc\u306e\u53d6\u5f97\u65b9\u6cd5\u306b\u95a2\u3059\u308b\u624b\u9806\u306f\u3053\u3061\u3089\u306b\u3042\u308a\u307e\u3059: https://docs.microsoft.com/en-us/azure/cognitive-services/translator/translator-text-how-to-signup
+GoogleTranslatorSettingsPanel.instructionsTextArea.text=\u304a\u4f7f\u3044\u306eGoogle\u7ffb\u8a33\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u30ad\u30fc\u306b\u542b\u307e\u308c\u308bJSON\u8cc7\u683c\u60c5\u5831\u30d5\u30a1\u30a4\u30eb\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u30ad\u30fc\u306e\u4f5c\u6210\u65b9\u6cd5\u306b\u95a2\u3059\u308b\u60c5\u5831\u306f\u3053\u3061\u3089\u306b\u3042\u308a\u3042\u307e\u3059: https://cloud.google.com/iam/docs/creating-managing-service-account-keys
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ja.properties
new file mode 100644
index 0000000000..b9442d6a12
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ja.properties
@@ -0,0 +1,22 @@
+OptionsCategory_Name_Machine_Translation=\u6a5f\u68b0\u7ffb\u8a33
+OptionsCategory_Keywords_Machine_Translation_Settings=\u6a5f\u68b0\u7ffb\u8a33\u8a2d\u5b9a
+TranslatedContentPanel.comboBoxOption.originalText=\u30aa\u30ea\u30b8\u30ca\u30eb\u30c6\u30ad\u30b9\u30c8(\u6700\u592725KB)
+TranslatedContentPanel.comboBoxOption.translatedText=\u7ffb\u8a33\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8
+TranslatedContentViewer.emptyTranslation=\u751f\u6210\u3055\u308c\u305f\u7ffb\u8a33\u7d50\u679c\u306f\u7a7a(\u672a\u5165\u529b)\u3067\u3057\u305f\u3002
+TranslatedContentViewer.errorExtractingText=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u3092\u62bd\u51fa\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+TranslatedContentViewer.errorMsg=\u30d5\u30a1\u30a4\u30eb\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+TranslatedContentViewer.extractingFileText=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u3092\u62bd\u51fa\u4e2d\u3067\u3059\u3002\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
+TranslatedContentViewer.extractingImageText=\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u30c6\u30ad\u30b9\u30c8\u3092\u62bd\u51fa\u4e2d\u3067\u3059\u3002\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
+TranslatedContentViewer.noIndexedTextMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u3001\u7ffb\u8a33\u30c6\u30ad\u30b9\u30c8\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002
+TranslatedContentViewer.noServiceProvider=\u6a5f\u68b0\u7ffb\u8a33\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+TranslatedContentViewer.textAlreadyIndexed=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u306e\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u30aa\u30ea\u30b8\u30ca\u30eb\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+TranslatedContentViewer.translatingText=\u30c6\u30ad\u30b9\u30c8\u3092\u7ffb\u8a33\u4e2d\u3067\u3059\u3002T\u304a\u5f85\u3061\u304f\u3060\u3055\u3044...
+TranslatedContentViewer.translationException=\u7ffb\u8a33\u3092\u8a66\u307f\u3066\u3044\u308b\u9593\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+TranslatedTextViewer.maxPayloadSize=\u30c6\u30ad\u30b9\u30c8\u306e\u6700\u521d\u306e %dKB \u307e\u3067\u7ffb\u8a33\u3055\u308c\u307e\u3059
+TranslatedTextViewer.title=\u7ffb\u8a33
+TranslatedTextViewer.toolTip=\u7ffb\u8a33\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306e\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+TranslationContentPanel.autoDetectOCR=\u81ea\u52d5\u691c\u51fa\u3055\u308c\u305f\u8a00\u8a9e
+TranslationContentPanel.ocrLabel.text=OCR:
+TranslationOptionsPanelController.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
+TranslationOptionsPanelController.moduleErr.msg=TranslationSettingsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TranslationContentPanel.showLabel.text=\u8868\u793a:
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties
old mode 100755
new mode 100644
index c631cee729..918ab67c66
--- a/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ja.properties
@@ -1,47 +1,66 @@
-CTL_MakeTimeline=\u300c\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u300d
-CTL_TimeLineTopComponent=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30a6\u30a3\u30f3\u30c9\u30a6
-CTL_TimeLineTopComponentAction=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c8\u30c3\u30d7\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
-OpenTimelineAction.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+CTL_MakeTimeline=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+CTL_TimeLineTopComponentAction=TimeLineTopComponent
+CTL_TimeLineTopComponent=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+
+OpenTimelineAction.displayName=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+OpenTimeLineAction.msgdlg.text=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+OpenTimelineAction.settingsErrorMessage=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u8a2d\u5b9a\u3092\u521d\u671f\u5316\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+PrompDialogManager.buttonType.continueNoUpdate=\u66f4\u65b0\u305b\u305a\u306b\u7d9a\u884c
+PrompDialogManager.buttonType.showTimeline=\u7d9a\u884c
+PrompDialogManager.buttonType.update=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0
+PromptDialogManager.confirmDuringIngest.contentText=\u7d9a\u884c\u3057\u307e\u3059\u304b?
+PromptDialogManager.confirmDuringIngest.headerText=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3048\u306b\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5b8c\u5168\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+PromptDialogManager.progressDialog.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u3092\u5165\u529b\u4e2d\u3067\u3059
+PromptDialogManager.rebuildPrompt.details=\u8a73\u7d30
+PromptDialogManager.rebuildPrompt.headerText=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u304c\u5b8c\u5168\u304a\u3088\u3073/\u307e\u305f\u306f\u6700\u65b0\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u4e00\u90e8\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u6b63\u78ba\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u4e00\u90e8\u306e\u6a5f\u80fd\u304c\u5229\u7528\u3067\u304d\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+PromptDialogManager.showTimeLineDisabledMessage.contentText=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u6a5f\u80fd\u306f\u307e\u3060\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u304c\u7121\u52b9\u306b\u306a\u308a\u307e\u3059\u3002
+PromptDialogManager.showTimeLineDisabledMessage.headerText=
+PromptDialogManager.showTooManyFiles.contentText=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u6570\u304c\u591a\u3059\u304e\u3066\u3001\u76f8\u5fdc\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u4fdd\u8a3c\u3067\u304d\u307e\u305b\u3093\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u304c\u7121\u52b9\u306b\u306a\u308a\u307e\u3059\u3002
+PromptDialogManager.showTooManyFiles.headerText=
+ShowInTimelineDialog.amountValidator.message=\u5165\u529b\u3059\u308b\u91cf\u306b\u306f\u6570\u5b57\u306e\u307f\u304c\u542b\u307e\u308c\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
+ShowInTimelineDialog.artifactTitle=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+ShowInTimelineDialog.eventSelectionValidator.message=\u30a4\u30d9\u30f3\u30c8\u3092\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+# {0} - \u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
+ShowInTimelineDialog.fileTitle=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b {0} \u3092\u8868\u793a\u3057\u307e\u3059\u3002
+ShowInTimelineDialog.showTimelineButtonType.text=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u8868\u793a
+Timeline.dialogs.title=\ \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
Timeline.frameName.text={0} - Autopsy\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
-Timeline.goToButton.text=\u4e0b\u8a18\u3078\u79fb\u52d5\uff1a
-Timeline.pushDescrLOD.confdlg.msg={0}\u30a4\u30d9\u30f3\u30c8\u306e\u8a73\u7d30\u304c\u8868\u793a\u53ef\u80fd\u3067\u3059\u3002\u3053\u306e\u51e6\u7406\u306f\u9577\u6642\u9593\u304b\u304b\u308b\u3082\u3057\u304f\u306fAutopsy\u3092\u30af\u30e9\u30c3\u30b7\u30e5\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n\n\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f
-Timeline.resultPanel.loading=\u30ed\u30fc\u30c9\u4e2d\u30fb\u30fb\u30fb
Timeline.resultsPanel.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u7d50\u679c
-Timeline.runJavaFxThread.progress.creating=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u4f5c\u6210\u4e2d\u30fb\u30fb\u30fb
+Timeline.runJavaFxThread.progress.creating=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u4f5c\u6210\u4e2d\u3067\u3059 ...
Timeline.zoomOutButton.text=\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8
+Timeline.goToButton.text=\u79fb\u52d5:
+Timeline.yearBarChart.x.years=\u5e74
+Timeline.resultPanel.loading=\u8aad\u307f\u8fbc\u307f\u4e2d...
+
+TimeLineController.errorTitle=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30a8\u30e9\u30fc\u3067\u3059\u3002
+TimeLineController.outOfDate.errorMessage=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u304c\u6700\u65b0\u306e\u60c5\u5831\u3067\u306f\u306a\u3044\u304b\u3069\u3046\u304b\u3092\u5224\u65ad\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u66f4\u65b0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u4eee\u5b9a\u3057\u307e\u3059\u3002 \u30ed\u30b0\u3092\u8868\u793a\u3057\u3066\u8a73\u7d30\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+TimeLineController.rebuildReasons.incompleteOldSchema=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u4ee5\u524d\u306b\u4e0d\u5b8c\u5168\u306a\u60c5\u5831\u3067\u5165\u529b\u3055\u308c\u307e\u3057\u305f: \u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u306a\u3044\u9650\u308a\u3001\u4e00\u90e8\u306e\u6a5f\u80fd\u304c\u5229\u7528\u3067\u304d\u306a\u3044\u304b\u6a5f\u80fd\u3057\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLineController.rebuildReasons.ingestWasRunning=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u4ee5\u524d\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5b9f\u884c\u4e2d\u306b\u5165\u529b\u3055\u308c\u307e\u3057\u305f: \u4e00\u90e8\u306e\u30a4\u30d9\u30f3\u30c8\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u304b\u3001\u4e0d\u5b8c\u5168\u304b\u3001\u6b63\u78ba\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLineController.rebuildReasons.outOfDate=\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u306f\u6700\u65b0\u3067\u306f\u3042\u308a\u307e\u305b\u3093: \u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092\u8868\u793a\u3067\u304d\u307e\u305b\u3093\u3002
+TimeLineController.rebuildReasons.outOfDateError=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u304c\u6700\u65b0\u306e\u60c5\u5831\u3067\u306f\u306a\u3044\u304b\u3069\u3046\u304b\u3092\u5224\u65ad\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+TimeLineController.setEventsDBStale.errMsgNotStale=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u53e4\u3044\u3082\u306e\u3068\u3057\u3066\u30de\u30fc\u30af\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u7d50\u679c\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u898b\u3064\u304b\u3089\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLineController.setEventsDBStale.errMsgStale=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u53e4\u3044\u3082\u306e\u3068\u3057\u3066\u30de\u30fc\u30af\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u7d50\u679c\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u898b\u3064\u304b\u3089\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLinecontroller.setIngestRunning.errMsgNotRunning=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b9f\u884c\u3057\u3066\u3044\u306a\u3044\u9593\u306b\u3001\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u529b\u6e08\u307f\u3068\u3057\u3066\u30de\u30fc\u30af\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u7d50\u679c\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u898b\u3064\u304b\u3089\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLineController.setIngestRunning.errMsgRunning=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5b9f\u884c\u4e2d\u306b\u3001\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u529b\u6e08\u307f\u3068\u3057\u3066\u30de\u30fc\u30af\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u4e00\u90e8\u306e\u7d50\u679c\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u898b\u3064\u304b\u3089\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+TimeLinecontroller.updateNowQuestion=\u4eca\u3059\u3050\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u307e\u3059\u304b?
TimelineFrame.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+TimelinePanel.jButton1.text=6m
+TimelinePanel.jButton13.text=\u3059\u3079\u3066
+TimelinePanel.jButton10.text=1h
+TimelinePanel.jButton9.text=12h
+TimelinePanel.jButton11.text=5y
+TimelinePanel.jButton12.text=10y
+TimelinePanel.jButton6.text=1w
+TimelinePanel.jButton5.text=1y
+TimelinePanel.jButton8.text=1d
+TimelinePanel.jButton7.text=3d
+TimelinePanel.jButton2.text=1m
+TimelinePanel.jButton3.text=3m
+TimelinePanel.jButton4.text=2w
+ProgressWindow.progressHeader.text=\
+# {0} - \u65e5\u4ed8\u7bc4\u56f2\u306e\u958b\u59cb
+# {1} - \u65e5\u4ed8\u7bc4\u56f2\u306e\u7d42\u4e86
+TimeLineResultView.startDateToEndDate.text={0} ~ {1}
TimeLineTopComponent.eventsTab.name=\u30a4\u30d9\u30f3\u30c8
TimeLineTopComponent.filterTab.name=\u30d5\u30a3\u30eb\u30bf\u30fc
-OpenTimeLineAction.msgdlg.text=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-PrompDialogManager.buttonType.continueNoUpdate=\u66f4\u65b0\u305b\u305a\u6b21\u3078
-PrompDialogManager.buttonType.showTimeline=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u8868\u793a
-PrompDialogManager.buttonType.update=\u66f4\u65b0
-PromptDialogManager.confirmDuringIngest.contentText=\u6b21\u3078\u9032\u307f\u307e\u3059\u304b\uff1f
-PromptDialogManager.confirmDuringIngest.headerText=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u524d\u306b\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u3092\u8868\u793a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002\n\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u304c\u5b8c\u6210\u3057\u3066\u3044\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-PromptDialogManager.progressDialog.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u3092\u5165\u529b\u4e2d
-PromptDialogManager.rebuildPrompt.details=\u8a73\u7d30\uff1a
-PromptDialogManager.rebuildPrompt.headerText=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u4e0d\u5b8c\u5168\u307e\u305f\u306f\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\n \u6b20\u843d\u3057\u3066\u3044\u308b\u307e\u305f\u306f\u4e0d\u6b63\u78ba\u306a\u30a4\u30d9\u30f3\u30c8\u304c\u4e00\u90e8\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u4e00\u90e8\u306e\u6a5f\u80fd\u304c\u5229\u7528\u3067\u304d\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-Timeline.confirmation.dialogs.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u307e\u3059\u304b\uff1f
-Timeline.pushDescrLOD.confdlg.title=\u8aac\u660e\u306e\u8a18\u8ff0\u30ec\u30d9\u30eb\u3092\u5909\u66f4\u3057\u307e\u3059\u304b\uff1f
-TimeLineController.errorTitle=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30a8\u30e9\u30fc
-TimeLineController.outOfDate.errorMessage=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u304c\u6700\u65b0\u304b\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u66f4\u65b0\u304c\u5fc5\u8981\u3060\u3068\u60f3\u5b9a\u3057\u307e\u3059\u3002
-TimeLineController.rebuildReasons.incompleteOldSchema=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30a4\u30d9\u30f3\u30c8\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u4e0d\u5b8c\u5168\u306a\u60c5\u5831\u304c\u4ee5\u524d\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff1a\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u306a\u3044\u3068\u3001\u4e00\u90e8\u306e\u6a5f\u80fd\u304c\u5229\u7528\u3067\u304d\u306a\u3044\u3001\u307e\u305f\u306f\u6a5f\u80fd\u3057\u306a\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3067\u3059\u3002
-TimeLineController.rebuildReasons.ingestWasRunning=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b9f\u884c\u4e2d\u306b\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30a4\u30d9\u30f3\u30c8\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u60c5\u5831\u304c\u5165\u529b\u3055\u308c\u3066\u3044\u307e\u3057\u305f\uff1a\u30a4\u30d9\u30f3\u30c8\u304c\u6b20\u3051\u3066\u3044\u308b\u3001\u4e0d\u5b8c\u5168\u3001\u307e\u305f\u306f\u4e0d\u6b63\u78ba\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-TimeLineController.rebuildReasons.outOfDate=\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u304c\u6700\u65b0\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff1a\u898b\u308c\u306a\u3044\u30a4\u30d9\u30f3\u30c8\u304c\u3042\u308a\u307e\u3059\u3002
-TimeLineController.rebuildReasons.outOfDateError=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u30c7\u30fc\u30bf\u304c\u6700\u65b0\u304b\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-TimeLinecontroller.updateNowQuestion=\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4eca\u66f4\u65b0\u3057\u307e\u3059\u304b\uff1f
-TimelinePanel.jButton13.text=\u5168\u3066
-Timeline.yearBarChart.x.years=\u5e74
-TimelinePanel.jButton1.text=6\u30f6\u6708
-TimelinePanel.jButton10.text=1\u6642\u9593
-TimelinePanel.jButton9.text=12\u6642\u9593
-TimelinePanel.jButton11.text=5\u5e74
-TimelinePanel.jButton12.text=10\u5e74
-TimelinePanel.jButton6.text=1\u9031\u9593
-TimelinePanel.jButton5.text=1\u5e74
-TimelinePanel.jButton8.text=1\u65e5
-TimelinePanel.jButton7.text=3\u65e5
-TimelinePanel.jButton2.text=1\u30f6\u6708
-TimelinePanel.jButton3.text=3\u30f6\u6708
-TimelinePanel.jButton4.text=2\u9031\u9593
-TimeLineResultView.startDateToEndDate.text={0}\u304b\u3089{1}
\ No newline at end of file
+TimelineTopComponent.selectedEventListener.errorMsg=\u9078\u629e\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/EventsModel.java b/Core/src/org/sleuthkit/autopsy/timeline/EventsModel.java
index 03d48a1711..21e1299574 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/EventsModel.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/EventsModel.java
@@ -185,7 +185,7 @@ public final class EventsModel {
* RJCTODO: Why isn't the event filter state of the initialModelParams
* used here?
*/
- filterStateProperty.set(getDefaultEventFilter());
+ filterStateProperty.set(getDefaultEventFilterState());
/*
* Add a listener to the model parameters property that updates the
@@ -405,11 +405,24 @@ public final class EventsModel {
*
* @return An instance of the default filter state model parameter.
*/
- public synchronized RootFilterState getDefaultEventFilter() {
+ public synchronized RootFilterState getDefaultEventFilterState() {
+ // RJCTODO: Move all of this into FilterUtils, or factor FilterUtils
+ // into this class. The former is probably better, simply passing the
+ // util a list of data source names.
+ /*
+ * Construct data source filters for all of the data sources in the data
+ * sources cache.
+ */
DataSourcesFilter dataSourcesFilter = new DataSourcesFilter();
datasourceIDsToNamesMap.entrySet().forEach(dataSourceEntry
-> dataSourcesFilter.addSubFilter(newDataSourceFilter(dataSourceEntry)));
- return new RootFilterState(new RootFilter(new HideKnownFilter(),
+
+ /*
+ * Make the rest of the event filters and decorate all of the filters
+ * with filter state objects for the GUI.
+ */
+ RootFilterState rootFilterState = new RootFilterState(new RootFilter(
+ new HideKnownFilter(),
new TagsFilter(),
new HashHitsFilter(),
new TextFilter(),
@@ -417,6 +430,8 @@ public final class EventsModel {
dataSourcesFilter,
FilterUtils.createDefaultFileTypesFilter(),
Collections.emptySet()));
+
+ return rootFilterState;
}
/**
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/TimeLineController.java b/Core/src/org/sleuthkit/autopsy/timeline/TimeLineController.java
index d30fde7798..9401bcf987 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/TimeLineController.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/TimeLineController.java
@@ -323,7 +323,7 @@ public class TimeLineController {
}
public void applyDefaultFilters() {
- pushFilters(filteredEvents.getDefaultEventFilter());
+ pushFilters(filteredEvents.getDefaultEventFilterState());
}
public void zoomOutToActivity() throws TskCoreException {
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ja.properties
old mode 100755
new mode 100644
index af71283ca2..ae83b8c4ac
--- a/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ja.properties
@@ -1,26 +1,39 @@
-Back.longText=\u6700\u5F8C\u306E\u30D3\u30E5\u30FC\u8A2D\u5B9A\u306B\u623B\u308B\u3002
-Back.text=\u623B\u308B
-Forward.text=\u6B21\u3078
-OpenReportAction.DisplayName=\u30EC\u30DD\u30FC\u30C8\u3092\u958B\u304F
-OpenReportAction.MessageBoxTitle=\u30EC\u30DD\u30FC\u30C8\u3092\u958B\u304F\u306E\u3092\u5931\u6557\u3057\u307E\u3057\u305F
-OpenReportAction.MissingReportFileMessage=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002
-OpenReportAction.NoAssociatedEditorMessage=\u3053\u306E\u30BF\u30A4\u30D7\u306E\u30EC\u30DD\u30FC\u30C8\u306E\u95A2\u9023\u30A8\u30C7\u30A3\u30BF\u30FC\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u307E\u305F\u306F\u95A2\u9023\u306E\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u304C\u8D77\u52D5\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-OpenReportAction.NoOpenInEditorSupportMessage=\u3053\u306E\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\uFF08\u30AA\u30DA\u30EC\u30FC\u30C6\u30A3\u30F3\u30B0\u30B7\u30B9\u30C6\u30E0\uFF09\u306F\u3053\u306E\u3088\u3046\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30C7\u30A3\u30BF\u30FC\u3067\u958B\u304F\u306E\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002
-OpenReportAction.ReportFileOpenPermissionDeniedMessage=\u30EC\u30DD\u30FC\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F\u8A31\u53EF\u304C\u5374\u4E0B\u3055\u308C\u307E\u3057\u305F\u3002
-ResetFilters.text=\u5168\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30EA\u30BB\u30C3\u30C8
-RestFilters.longText=\u5168\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u72B6\u614B\u306B\u30EA\u30BB\u30C3\u30C8\u3057\u307E\u3059\u3002
-SaveSnapshot.action.longText=\u30EC\u30DD\u30FC\u30C8\u3068\u3057\u3066\u30D3\u30B8\u30E5\u30A2\u30E9\u30A4\u30BC\u30FC\u30B7\u30E7\u30F3\uFF08\u53EF\u8996\u5316\uFF09\u306E\u30B9\u30AF\u30EA\u30FC\u30F3\u30AD\u30E3\u30D7\u30C1\u30E3\u3092\u4FDD\u5B58\u3057\u307E\u3059\u3002
-SaveSnapshot.action.name.text=\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u30EC\u30DD\u30FC\u30C8
-SaveSnapshot.fileChoose.title.text=\u6B21\u3078\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u4FDD\u5B58
-SaveSnapShotAsReport.ErrorWritingReport=\u30EC\u30DD\u30FC\u30C8{0}\u3092\u30C7\u30A3\u30B9\u30AF\u306B\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-SaveSnapShotAsReport.FailedToAddReport=\u30EC\u30DD\u30FC\u30C8\u3068\u3057\u3066\u30B9\u30CA\u30C3\u30D7\u30B7\u30E7\u30C3\u30C8\u3092\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-SaveSnapsHotAsReport.ReportName=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3\u30FC\u30EC\u30DD\u30FC\u30C8\u30FC{0}
-SaveSnapShotAsReport.ReportSavedAt=\u30EC\u30DD\u30FC\u30C8\u306F\u6B21\u3078\u4FDD\u5B58\u3055\u308C\u307E\u3057\u305F[{0}]
-SaveSnapShotAsReport.Success=\u6210\u529F
-Timeline.ModuleName=\u30BF\u30A4\u30E0\u30E9\u30A4\u30F3
-ZoomIn.action.text=\u62E1\u5927
-ZoomIn.longText=\u304A\u3088\u305D\u534A\u5206\u306E\u6642\u9593\u3092\u8868\u793A\u3059\u308B\u3088\u3046\u306B\u62E1\u5927\u3057\u307E\u3059\u3002
-ZoomOut.action.text=\u7E2E\u5C0F
-ZoomOut.longText=\u304A\u3088\u305D50%\u591A\u304F\u8868\u793A\u3059\u308B\u3088\u3046\u306B\u7E2E\u5C0F\u3057\u307E\u3059\u3002
-ZoomToEvents.action.text=\u30A4\u30D9\u30F3\u30C8\u306B\u30BA\u30FC\u30E0
-ZoomToEvents.longText=\u4E00\u756A\u8FD1\u304F\u306E\u30A4\u30D9\u30F3\u30C8\u304C\u8868\u793A\u3055\u308C\u308B\u3088\u3046\u306B\u7E2E\u5C0F\u3057\u307E\u3059\u3002
+# {0} - \u30a2\u30af\u30b7\u30e7\u30f3\u30fb\u30a2\u30af\u30bb\u30e9\u30ec\u30fc\u30bf\u30fb\u30ad\u30fc
+Back.longText=\u623b\u308b: {0}\n\u524d\u306e\u30d3\u30e5\u30fc\u8a2d\u5b9a\u306b\u623b\u308a\u307e\u3059\u3002
+Back.text=\u623b\u308b
+# {0} - \u30a2\u30af\u30b7\u30e7\u30f3\u30fb\u30a2\u30af\u30bb\u30e9\u30ec\u30fc\u30bf\u30fb\u30ad\u30fc
+Forward.longText=\u9032\u3080: {0}\n\u6b21\u306e\u30d3\u30e5\u30fc\u8a2d\u5b9a\u306b\u9032\u307f\u307e\u3059\u3002
+Forward.text=\u9032\u3080
+OpenReportAction.DisplayName=\u30ec\u30dd\u30fc\u30c8\u3092\u958b\u304f
+OpenReportAction.MessageBoxTitle=\u30ec\u30dd\u30fc\u30c8\u30aa\u30fc\u30d7\u30f3\u5931\u6557
+OpenReportAction.MissingReportFileMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+OpenReportAction.NoAssociatedEditorMessage=\u3053\u306e\u30bf\u30a4\u30d7\u306e\u30ec\u30dd\u30fc\u30c8\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a8\u30c7\u30a3\u30bf\u30fc\u304c\u306a\u3044\u304b\u3001\u95a2\u9023\u4ed8\u3051\u3089\u308c\u3066\u3044\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+OpenReportAction.NoOpenInEditorSupportMessage=\u3053\u306e\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0(\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0)\u306f\u3053\u306e\u65b9\u6cd5\u3067\u30a8\u30c7\u30a3\u30bf\u30fc\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u3053\u3068\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002
+OpenReportAction.ReportFileOpenPermissionDeniedMessage=\u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u304f\u8a31\u53ef\u304c\u62d2\u5426\u3055\u308c\u307e\u3057\u305f\u3002
+RebuildDataBase.longText=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u3066\u65b0\u3057\u3044\u30a4\u30d9\u30f3\u30c8\u3092\u542b\u3081\u307e\u3059\u3002
+RebuildDataBase.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0
+ResetFilters.text=\u3059\u3079\u3066\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30ea\u30bb\u30c3\u30c8
+RestFilters.longText=\u3059\u3079\u3066\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u72b6\u614b\u306b\u30ea\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002
+SaveSnapShotAsReport.action.dialogs.title=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+SaveSnapShotAsReport.action.longText=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u73fe\u5728\u306e\u30d3\u30e5\u30fc\u306e\u30b9\u30af\u30ea\u30fc\u30f3\u30ad\u30e3\u30d7\u30c1\u30e3\u30fc\u3092\u30ec\u30dd\u30fc\u30c8\u3068\u3057\u3066\u4fdd\u5b58\u3057\u307e\u3059\u3002
+SaveSnapShotAsReport.action.name.text=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u30fb\u30ec\u30dd\u30fc\u30c8
+SaveSnapShotAsReport.duplicateReportNameError.text=\u305d\u306e\u540d\u524d\u306e\u30ec\u30dd\u30fc\u30c8\u306f\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
+# {0} - \u30ec\u30dd\u30fc\u30c8\u30d1\u30b9
+SaveSnapShotAsReport.ErrorWritingReport={0} \u306b\u3042\u308b\u30c7\u30a3\u30b9\u30af\u306b\u30ec\u30dd\u30fc\u30c8\u3092\u66f8\u8fbc\u307f\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+SaveSnapShotAsReport.FailedToAddReport=\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3092\u30b1\u30fc\u30b9\u3068\u3057\u3066\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+SaveSnapShotAsReport.reportName.header=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u30fb\u30ec\u30dd\u30fc\u30c8\u306e\u30ec\u30dd\u30fc\u30c8\u540d\u3092\u5165\u529b\u3057\u307e\u3059\u3002
+# {0} - \u751f\u6210\u3055\u308c\u305f\u30c7\u30d5\u30a9\u30eb\u30c8\u30ec\u30dd\u30fc\u30c8\u540d
+SaveSnapShotAsReport.reportName.prompt=\u6b21\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u30ec\u30dd\u30fc\u30c8\u540d\u3092\u7a7a(\u672a\u5165\u529b)\u306e\u307e\u307e\u306b\u3059\u308b: {0}\u3002
+# {0} - \u30ec\u30dd\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9
+SaveSnapShotAsReport.ReportSavedAt=[{0}] \u306b\u30ec\u30dd\u30fc\u30c8\u304c\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f
+SaveSnapShotAsReport.Success=\u6210\u529f
+Timeline.ModuleName=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3
+ViewArtifactInTimelineAction.displayName=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u7d50\u679c\u3092\u8868\u793a...
+ViewFileInTimelineAction.viewFile.displayName=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a...
+DataResultFilterNode.action.viewSrcFileInDir.text=\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u30bd\u30fc\u30b9\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a...
+ZoomIn.action.text=\u30ba\u30fc\u30e0\u30a4\u30f3
+ZoomIn.longText=\u30ba\u30fc\u30e0\u30a4\u30f3\u3057\u3066\u7d04\u534a\u5206\u306e\u6642\u9593\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+ZoomOut.action.text=\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8
+ZoomOut.longText=\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8\u3057\u3066\u7d0450%\u4ee5\u4e0a\u306e\u6642\u9593\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+ZoomToEvents.action.text=\u30a4\u30d9\u30f3\u30c8\u306b\u30ba\u30fc\u30e0
+ZoomToEvents.longText=\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8\u3057\u3066\u6700\u3082\u6700\u8fd1\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u8868\u793a\u3057\u307e\u3059\u3002
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/ResetFilters.java b/Core/src/org/sleuthkit/autopsy/timeline/actions/ResetFilters.java
index b895d527cb..57f0ed61e5 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/actions/ResetFilters.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/actions/ResetFilters.java
@@ -49,7 +49,7 @@ public class ResetFilters extends Action {
@Override
protected boolean computeValue() {
- return eventsModel.modelParamsProperty().getValue().getEventFilterState().equals(eventsModel.getDefaultEventFilter());
+ return eventsModel.modelParamsProperty().getValue().getEventFilterState().equals(eventsModel.getDefaultEventFilterState());
}
});
setEventHandler((ActionEvent t) -> {
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ja.properties
new file mode 100644
index 0000000000..56871db82c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ja.properties
@@ -0,0 +1,22 @@
+BaseTypes.fileSystem.name=\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0
+BaseTypes.webActivity.name=Web\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30fc
+BaseTypes.miscTypes.name=\u3055\u307e\u3056\u307e\u306a\u30bf\u30a4\u30d7
+FileSystemTypes.fileModified.name=\u4fee\u6b63\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+FileSystemTypes.fileAccessed.name=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+FileSystemTypes.fileCreated.name=\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+FileSystemTypes.fileChanged.name=\u5909\u66f4\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+MiscTypes.message.name=\u30e1\u30c3\u30bb\u30fc\u30b8
+MiscTypes.GPSRoutes.name=GPS\u30eb\u30fc\u30c8
+MiscTypes.GPSTrackpoint.name=\u5834\u6240\u5c65\u6b74
+MiscTypes.Calls.name=\u547c\u3073\u51fa\u3057
+MiscTypes.Email.name=\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9
+MiscTypes.recentDocuments.name=\u6700\u8fd1\u4f7f\u3063\u305f\u6587\u66f8
+MiscTypes.installedPrograms.name=\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d7\u30ed\u30b0\u30e9\u30e0
+MiscTypes.exif.name=\u7d42\u4e86
+MiscTypes.devicesAttached.name=\u88c5\u7740\u3055\u308c\u3066\u3044\u308b\u30c7\u30d0\u30a4\u30b9
+RootEventType.eventTypes.name=\u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7
+WebTypes.webDownloads.name=Web\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
+WebTypes.webCookies.name=Web\u30af\u30c3\u30ad\u30fc
+WebTypes.webBookmarks.name=Web\u30d6\u30c3\u30af\u30de\u30fc\u30af
+WebTypes.webHistory.name=Web\u5c65\u6b74
+WebTypes.webSearch.name=Web\u691c\u7d22
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ja.properties
old mode 100755
new mode 100644
index 7096881555..8e1199be05
--- a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ja.properties
@@ -1 +1,11 @@
-EventRoodNode.tooManyNode.displayName=\u8868\u793a\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u6570\u304c\u591a\u3059\u304e\u307e\u3059\u3002\u6700\u5927 \= {0}\u3002\u8868\u793a\u3059\u308b\u30a4\u30d9\u30f3\u30c8\u306f{1}\u3042\u308a\u307e\u3059\u3002
\ No newline at end of file
+EventNode.getAction.errorTitle=\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+EventNode.getAction.linkedFileMessage=\u9078\u629e\u3057\u305f\u7d50\u679c\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002 [\u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u8868\u793a] \u30a2\u30af\u30b7\u30e7\u30f3\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+# {0} - \u8868\u793a\u53ef\u80fd\u306a\u6700\u5927\u30a4\u30d9\u30f3\u30c8\u6570
+# {1} - \u591a\u3059\u304e\u308b\u30a4\u30d9\u30f3\u30c8\u6570
+EventRoodNode.tooManyNode.displayName=\u30a4\u30d9\u30f3\u30c8\u304c\u591a\u3059\u304e\u3066\u8868\u793a\u3067\u304d\u307e\u305b\u3093\u3002 \u6700\u5927 = {0} \u3067\u3059\u3002\u305f\u3060\u3057\u3001{1} \u3092\u8868\u793a\u3067\u304d\u307e\u3059\u3002
+NodeProperty.displayName.baseType=\u57fa\u672c\u30bf\u30a4\u30d7
+NodeProperty.displayName.dateTime=\u65e5/\u6642\u9593
+NodeProperty.displayName.description=\u8a18\u8ff0
+NodeProperty.displayName.icon=\u30a2\u30a4\u30b3\u30f3
+NodeProperty.displayName.known=\u65e2\u77e5
+NodeProperty.displayName.subType=\u30b5\u30d6\u30bf\u30a4\u30d7
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ja.properties
old mode 100755
new mode 100644
index 5c8dacfed2..2be73fcb0d
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ja.properties
@@ -1,27 +1,31 @@
-Timeline.node.root=\u30eb\u30fc\u30c8
-Timeline.ui.TimeLineChart.tooltip.text=\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3067\u4e0b\u8a18\u306e\u7bc4\u56f2\u3078\u30ba\u30fc\u30e0\uff1a\n{0}\u301c{1}\n\u53f3\u30af\u30ea\u30c3\u30af\u3067\u5143\u306b\u623b\u308a\u307e\u3059\u3002
-Timeline.ui.ZoomRanges.all.text=\u5168\u3066
+/*
+ * Autopsy\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30fb\u30d6\u30e9\u30a6\u30b6\u30fc
+ *
+ * Copyright 2013-15 Basis Technology Corp.
+ * \u9023\u7d61\u5148: carrier sleuthkit org
+ *
+ * Apache License, Version 2.0 (\u4ee5\u4e0b\u300c\u30e9\u30a4\u30bb\u30f3\u30b9\u300d\u3068\u3044\u3044\u307e\u3059)\u306b\u304a\u3044\u3066\u4f7f\u7528\u8a31\u8afe\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+ * \u672c\u30e9\u30a4\u30bb\u30f3\u30b9\u3092\u9075\u5b88\u3059\u308b\u3053\u3068\u306a\u304f\u3057\u3066\u3001\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ * \u672c\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u30b3\u30d4\u30fc\u306f\u6b21\u306e\u30b5\u30a4\u30c8\u3067\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * \u9069\u7528\u6cd5\u4ee4\u306b\u3088\u3063\u3066\u7fa9\u52d9\u4ed8\u3051\u3089\u308c\u308b\u5834\u5408\u307e\u305f\u306f\u66f8\u9762\u306b\u3066\u5408\u610f\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3092\u9664\u304d\u3001\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306f
+ * \u660e\u793a\u7684\u3067\u3042\u308c\u9ed9\u793a\u7684\u3067\u3042\u308c\u3001\u3044\u304b\u306a\u308b\u985e\u306e\u4fdd\u8a3c\u307e\u305f\u306f\u6761\u4ef6\u306a\u3057\u306b\u3001
+ * \u672c\u30e9\u30a4\u30bb\u30f3\u30b9\u306b\u304a\u3044\u3066\u300c\u73fe\u72b6\u300d\u306e\u307e\u307e\u3067\u914d\u5e03\u3055\u308c\u307e\u3059\u3002
+ * \u672c\u30e9\u30a4\u30bb\u30f3\u30b9\u306b\u304a\u3051\u308b\u30a2\u30af\u30bb\u30b9\u6a29\u304a\u3088\u3073\u5236\u9650\u4e8b\u9805\u3092\u898f\u5b9a\u3059\u308b
+ * \u7279\u5b9a\u306e\u8a00\u8a9e\u306b\u3064\u3044\u3066\u306f\u3001\u300c\u30e9\u30a4\u30bb\u30f3\u30b9\u300d\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ */
-ViewFrame.histogramTask.preparing=\u6e96\u5099\u4e2d
-ViewFrame.histogramTask.queryDb=DB\u3092\u30af\u30a8\u30ea\u4e2d
-ViewFrame.histogramTask.resetUI=ui\u3092\u518d\u8a2d\u5b9a\u4e2d
-ViewFrame.histogramTask.title=\u30d2\u30b9\u30c8\u30b0\u30e9\u30e0\u3092\u518d\u30d3\u30eb\u30c9
-ViewFrame.histogramTask.updateUI2=ui\u3092\u66f4\u65b0\u4e2d
-TimeZonePanel.localRadio.text=\u30ed\u30fc\u30ab\u30eb\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
-ViewFrame.countsToggle.text=\u30ab\u30a6\u30f3\u30c8
-ViewFrame.detailsToggle.text=\u8a73\u7d30
-ViewFrame.endLabel.text=\u30a8\u30f3\u30c9\uff1a
-ViewFrame.noEventsDialogLabel.text=\u73fe\u5728\u306e\u30ba\u30fc\u30e0\uff0f\u30d5\u30a3\u30eb\u30bf\u30fc\u8a2d\u5b9a\u3067\u306f\u898b\u3048\u308b\u30a4\u30d9\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-ViewFrame.resetFiltersButton.text=\u5168\u3066\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30ea\u30bb\u30c3\u30c8
-ViewFrame.startLabel.text=\u30b9\u30bf\u30fc\u30c8\uff1a
-ViewFrame.viewModeLabel.text=\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u30e2\u30fc\u30c9\uff1a
-ViewFrame.zoomButton.text=\u30a4\u30d9\u30f3\u30c8\u3078\u30ba\u30fc\u30e0
-ViewFrame.zoomMenuButton.text=\u4e0b\u8a18\u3078\u30ba\u30fc\u30e0\u30a4\u30f3\uff0f\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8
-*=Autopsy\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30d6\u30e9\u30a6\u30b6
-AbstractTimelineChart.defaultTooltip.text=\u30de\u30a6\u30b9\u3092\u30c9\u30e9\u30c3\u30b0\u3057\u3066\u30ba\u30fc\u30e0\u3059\u308b\u30bf\u30a4\u30e0\u9593\u9694\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u305d\u306e\u4ed6\u306e\u30a2\u30af\u30b7\u30e7\u30f3\u306f\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044
-IntervalSelector.ClearSelectedIntervalAction.tooltTipText=\u9078\u629e\u3057\u305f\u9593\u9694\u3092\u30af\u30ea\u30a2\u3059\u308b
+AbstractTimelineChart.defaultTooltip.text=\u30de\u30a6\u30b9\u3092\u30c9\u30e9\u30c3\u30b0\u3057\u3001\u30ba\u30fc\u30e0\u30a4\u30f3\u3059\u308b\u6642\u9593\u9593\u9694\u3092\u9078\u629e\u3057\u307e\u3059\u3002\n\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3001\u3055\u3089\u306a\u308b\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8868\u793a\u3057\u307e\u3059\u3002
+HistoryToolBar.historyLabel.text=\u5c65\u6b74
+IntervalSelector.ClearSelectedIntervalAction.tooltTipText=\u9078\u629e\u3057\u305f\u9593\u9694\u3092\u6d88\u53bb
IntervalSelector.ZoomAction.name=\u30ba\u30fc\u30e0
-NoEventsDialog.titledPane.text=\u898b\u308c\u308b\u30a4\u30d9\u30f3\u30c8\u304c\u3042\u308a\u307e\u305b\u3093
+NoEventsDialog.titledPane.text=\u8868\u793a\u53ef\u80fd\u306a\u30a4\u30d9\u30f3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093
+Timeline.node.root=\u30eb\u30fc\u30c8
+# {0} - \u958b\u59cb\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7
+# {1} - \u7d42\u4e86\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7
+Timeline.ui.TimeLineChart.tooltip.text=\u30c0\u30d6\u30eb\u30af\u30ea\u30c3\u30af\u3057\u3066\u7bc4\u56f2\u306b\u30ba\u30fc\u30e0\u30a4\u30f3:\n{0} to {1}.\n\n\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u9589\u3058\u307e\u3059\u3002
Timeline.ui.ZoomRanges.onemin.text=1\u5206
Timeline.ui.ZoomRanges.fifteenmin.text=15\u5206
Timeline.ui.ZoomRanges.onehour.text=1\u6642\u9593
@@ -31,15 +35,38 @@ Timeline.ui.ZoomRanges.oneday.text=1\u65e5
Timeline.ui.ZoomRanges.threedays.text=3\u65e5
Timeline.ui.ZoomRanges.oneweek.text=1\u9031\u9593
Timeline.ui.ZoomRanges.twoweeks.text=2\u9031\u9593
-Timeline.ui.ZoomRanges.onemonth.text=1\u30f6\u6708
-Timeline.ui.ZoomRanges.threemonths.text=3\u30f6\u6708
-Timeline.ui.ZoomRanges.sixmonths.text=6\u30f6\u6708
+Timeline.ui.ZoomRanges.onemonth.text=1\u30f5\u6708
+Timeline.ui.ZoomRanges.threemonths.text=3\u30f5\u6708
+Timeline.ui.ZoomRanges.sixmonths.text=6\u30f5\u6708
Timeline.ui.ZoomRanges.oneyear.text=1\u5e74
Timeline.ui.ZoomRanges.threeyears.text=3\u5e74
Timeline.ui.ZoomRanges.fiveyears.text=5\u5e74
Timeline.ui.ZoomRanges.tenyears.text=10\u5e74
+Timeline.ui.ZoomRanges.all.text=\u3059\u3079\u3066
TimeLineChart.zoomHistoryActionGroup.name=\u30ba\u30fc\u30e0\u5c65\u6b74
-TimeZonePanel.title=\u6642\u9593\u3092\u6b21\u3067\u8868\u793a\uff1a
-ViewFrame.refresh=\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5
-ViewFrame.tagsAddedOrDeleted=\u30bf\u30b0\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u304a\u3088\u3073\u307e\u305f\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-ViewRefreshTask.preparing=\u30ba\u30fc\u30e0\u304a\u3088\u3073\u30d5\u30a3\u30eb\u30bf\u30fc\u8a2d\u5b9a\u3092\u89e3\u6790\u4e2d
+TimeZonePanel.title=\u6b21\u306b\u6642\u9593\u3092\u8868\u793a:
+ViewFrame.countsToggle.text=\u30ab\u30a6\u30f3\u30c8
+ViewFrame.detailsToggle.text=\u8a73\u7d30
+ViewFrame.endLabel.text=\u7d42\u4e86:
+ViewFrame.histogramTask.preparing=\u6e96\u5099\u4e2d
+ViewFrame.histogramTask.queryDb=FB\u3092\u30af\u30a8\u30ea\u4e2d\u3067\u3059
+ViewFrame.histogramTask.resetUI=UI\u3092\u30ea\u30bb\u30c3\u30c8\u4e2d\u3067\u3059
+ViewFrame.histogramTask.title=\u30d2\u30b9\u30c8\u30b0\u30e9\u30e0\u306e\u518d\u69cb\u7bc9\u4e2d\u3067\u3059
+ViewFrame.histogramTask.updateUI2=UI\u3092\u66f4\u65b0\u4e2d\u3067\u3059
+ViewFrame.listToggle.text=\u30ea\u30b9\u30c8
+ViewFrame.noEventsDialogLabel.text=\u73fe\u5728\u306e\u30ba\u30fc\u30e0 / \u30d5\u30a3\u30eb\u30bf\u30fc\u8a2d\u5b9a\u3067\u8868\u793a\u53ef\u80fd\u306a\u30a4\u30d9\u30f3\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+# {0} - \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
+ViewFrame.notification.analysisComplete={0} \u306e\u5206\u6790\u306f\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+# {0} - \u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u540d
+ViewFrame.notification.newDataSource={0} \u304c\u65b0\u3057\u3044\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3068\u3057\u3066\u8ffd\u52a0\u3055\u308c\u307e\u3057\u305f\u3002 \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+ViewFrame.refresh.longText=\u30d3\u30e5\u30fc\u3092\u66f4\u65b0\u3057\u3001\u65b0\u305f\u306b\u66f4\u65b0\u3055\u308c\u305f\u30bf\u30b0\u306a\u3069\u3001\u8868\u793a\u3055\u308c\u3066\u3044\u306a\u3044\u3082\u306e\u306e\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u5185\u306b\u3042\u308b\u60c5\u5831\u3092\u542b\u3081\u307e\u3059\u3002
+ViewFrame.refresh.text=\u30d3\u30e5\u30fc\u3092\u66f4\u65b0
+ViewFrame.startLabel.text=\u958b\u59cb:
+ViewFrame.tagsAddedOrDeleted=\u30bf\u30b0\u304c\u4f5c\u6210\u304a\u3088\u3073/\u307e\u305f\u306f\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002 \u30d3\u30e5\u30fc\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+ViewFrame.viewModeLabel.text=\u30d3\u30e5\u30fc\u30e2\u30fc\u30c9:
+ViewFrame.zoomButton.text=\u30a4\u30d9\u30f3\u30c8\u306b\u30ba\u30fc\u30e0
+TimeZonePanel.localRadio.text=\u30ed\u30fc\u30ab\u30eb\u30bf\u30a4\u30e0\u30be\u30fc\u30f3
+TimeZonePanel.otherRadio.text=GMT / UTC
+ViewFrame.resetFiltersButton.text=\u3059\u3079\u3066\u306e\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30ea\u30bb\u30c3\u30c8
+ViewFrame.zoomMenuButton.text=\u30ba\u30fc\u30e0\u30a4\u30f3/\u30a2\u30a6\u30c8
+ViewRefreshTask.preparing=\u30ba\u30fc\u30e0\u8a2d\u5b9a\u3068\u30d5\u30a3\u30eb\u30bf\u30fc\u8a2d\u5b9a\u3092\u5206\u6790\u4e2d\u3067\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ja.properties
old mode 100755
new mode 100644
index e60d46f934..138bb42bfe
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ja.properties
@@ -1,14 +1,25 @@
-CountsViewPane.numberOfEvents=\u30a4\u30d9\u30f3\u30c8\u6570
-CountsViewPane.detailSwitchMessage=\u79d2\u3088\u308a\u5c0f\u3055\u3044\u5358\u4f4d\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u8a73\u7d30\u30d3\u30e5\u30fc\u306b\u5909\u66f4\u3057\u307e\u3059\u304b\uff1f
-CountsViewPane.detailSwitchTitle=\u8a73\u7d30\u30d3\u30e5\u30fc\u306b\u5909\u66f4\u3057\u307e\u3059\u304b\uff1f
+CountsViewPane.detailSwitchMessage=\u79d2\u3088\u308a\u3082\u5c0f\u3055\u3044\u6642\u9593\u5206\u89e3\u80fd\u306f\u3042\u308a\u307e\u305b\u3093\u3002\n\u4ee3\u308f\u308a\u306b\u8a73\u7d30\u30d3\u30e5\u30fc\u306b\u5207\u308a\u66ff\u3048\u307e\u3059\u304b?
+CountsViewPane.detailSwitchTitle=\u8a73\u7d30\u30d3\u30e5\u30fc\u306b\u5207\u308a\u66ff\u3048\u307e\u3059\u304b?
+CountsViewPane.linearRadio.text=\u7dda\u5f62
+CountsViewPane.loggedTask.name=\u30ab\u30a6\u30f3\u30c8\u30d3\u30e5\u30fc\u306e\u66f4\u65b0\u4e2d\u3067\u3059
+CountsViewPane.loggedTask.updatingCounts=\u30d3\u30e5\u30fc\u306e\u5165\u529b\u4e2d\u3067\u3059
+CountsViewPane.logRadio.text=\u5bfe\u6570
+# {0} - \u76ee\u76db\u540d
+CountsViewPane.numberOfEvents=\u30a4\u30d9\u30f3\u30c8\u6570 ({0})
+CountsViewPane.scaleHelp.label.text=\u76ee\u76db:
+CountsViewPane.scaleHelpLinear=\u7dda\u5f62\u76ee\u76db\u306f\u591a\u304f\u306e\u4f7f\u7528\u4e8b\u4f8b\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002 \u3053\u306e\u76ee\u76db\u3092\u9078\u629e\u3059\u308b\u3068\u3001\u30d0\u30fc\u306e\u9ad8\u3055\u304c1\u5bfe1\u306e\u7dda\u5f62\u3067\u30ab\u30a6\u30f3\u30c8\u3092\u8868\u3057\u3001y\u8ef8\u306b\u5024\u30e9\u30d9\u30eb\u304c\u4ed8\u304d\u307e\u3059\u3002\u5024\u306e\u7bc4\u56f2\u304c\u975e\u5e38\u306b\u5927\u304d\u3044\u3068\u3001\u30ab\u30a6\u30f3\u30c8\u306e\u5c11\u306a\u3044\u6642\u9593\u5468\u671f\u306b\u5c0f\u3055\u3059\u304e\u3066\u8868\u793a\u3067\u304d\u306a\u3044\u30d0\u30fc\u304c\u3042\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \u30e6\u30fc\u30b6\u30fc\u304c\u3053\u308c\u3092\u5224\u5225\u3067\u304d\u308b\u3088\u3046\u306b\u3001\u30a4\u30d9\u30f3\u30c8\u306e\u3042\u308b\u30c7\u30fc\u30bf\u7bc4\u56f2\u306e\u30e9\u30d9\u30eb\u304c\u592a\u5b57\u3067\u8868\u793a\u3055\u308c\u307e\u3059\u3002 \u5c0f\u3055\u3059\u304e\u308b\u30d0\u30fc\u3092\u8868\u793a\u3059\u308b\u9078\u629e\u80a2\u306f\u6b21\u306e3\u3064\u3067\u3059: \u30bf\u30a4\u30e0\u30e9\u30a4\u30f3\u306e\u7e26\u9818\u57df\u3092\u5e83\u3052\u308b\u305f\u3081\u306b\u30a6\u30a3\u30f3\u30c9\u30a6\u30b5\u30a4\u30ba\u3092\u8abf\u6574\u3001\u3088\u308a\u5927\u304d\u3044\u30d0\u30fc\u306e\u3042\u308b\u6642\u9593\u5468\u671f\u304c\u9664\u5916\u3055\u308c\u308b\u3088\u3046\u6642\u9593\u7bc4\u56f2\u3092\u8abf\u6574\u3001\u3082\u3057\u304f\u306f\u76ee\u76db\u8a2d\u5b9a\u3092\u5bfe\u6570\u306b\u8abf\u6574
+CountsViewPane.scaleHelpLog=\u5bfe\u6570\u76ee\u76db\u306f\u3001\u5927\u304d\u3044\u6570\u5b57\u3068\u5c0f\u3055\u3044\u6570\u5b57\u306e\u5dee\u3092\u5727\u7e2e\u3059\u308b\u975e\u7dda\u5f62\u306a\u65b9\u6cd5\u3067\u30a4\u30d9\u30f3\u30c8\u6570\u3092\u8868\u3057\u307e\u3059\u3002\u5bfe\u6570\u76ee\u76db\u3092\u7528\u3044\u3066\u3082\u3001\u6975\u7aef\u306b\u5927\u304d\u3044\u30ab\u30a6\u30f3\u30c8\u5dee\u306b\u3088\u3063\u3066\u5c0f\u3055\u3059\u304e\u3066\u8868\u793a\u3067\u304d\u306a\u3044\u30d0\u30fc\u304c\u751f\u6210\u3055\u308c\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \u3053\u306e\u5834\u5408\u3001\u30a4\u30d9\u30f3\u30c8\u3092\u30d5\u30a3\u30eb\u30bf\u30fc\u3057\u3066\u30ab\u30a6\u30f3\u30c8\u5dee\u3092\u7e2e\u3081\u308b\u3053\u3068\u304c\u552f\u4e00\u306e\u9078\u629e\u80a2\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 \u6ce8: \u5bfe\u6570\u76ee\u76db\u306f\u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7\u3054\u3068\u306b\u500b\u5225\u306b\u9069\u7528\u3055\u308c\u308b\u305f\u3081\u3001\u8907\u5408\u30d0\u30fc\u306e\u9ad8\u3055\u306e\u610f\u5473\u306f\u76f4\u611f\u7684\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305f\u3001\u3053\u308c\u3092\u5f37\u8abf\u3059\u308b\u305f\u3081\u306b\u3001\u5bfe\u6570\u76ee\u76db\u3092\u7528\u3044\u305fy\u8ef8\u4e0a\u306b\u30e9\u30d9\u30eb\u3092\u8868\u793a\u3057\u307e\u305b\u3093\u3002\u5bfe\u6570\u76ee\u76db\u306f\u30011\u3064\u306e\u30bf\u30a4\u30d7\u5185\u306e\u6642\u9593\u5168\u57df\u3001\u307e\u305f\u306f1\u3064\u306e\u6642\u9593\u5468\u671f\u306e\u30bf\u30a4\u30d7\u5168\u57df\u3067
+CountsViewPane.scaleHelpLog2=\u30ab\u30a6\u30f3\u30c8\u3092\u8fc5\u901f\u306b\u6bd4\u8f03\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305f\u3060\u3057\u4e21\u65b9\u4e00\u5ea6\u306b\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+CountsViewPane.scaleHelpLog3=\ \u5b9f\u969b\u306e\u30ab\u30a6\u30f3\u30c8(\u30c4\u30fc\u30eb\u30c1\u30c3\u30d7\u307e\u305f\u306f\u7d50\u679c\u30d3\u30e5\u30fc\u3067\u5229\u7528\u53ef\u80fd)\u306f\u7d76\u5bfe\u6bd4\u8f03\u306b\u4f7f\u7528\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u614e\u91cd\u306b\u5bfe\u6570\u76ee\u76db\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+CountsViewPane.scaleLabel.text=\u76ee\u76db:
+# {0} - \u30ab\u30a6\u30f3\u30c8
+# {1} - \u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7\u306e\u8868\u793a\u540d
+# {2} - \u958b\u59cb\u65e5\u6642
+# {3} - \u7d42\u4e86\u65e5\u6642
+CountsViewPane.tooltip.text={2}\n\u3068 {3}\n\u9593\u306e {0} {1} \u30a4\u30d9\u30f3\u30c8
+ScaleType.Linear=\u7dda\u5f62
+ScaleType.Logarithmic=\u5bfe\u6570
Timeline.ui.countsview.menuItem.selectEventType=\u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7\u3092\u9078\u629e
Timeline.ui.countsview.menuItem.selectTimeandType=\u6642\u9593\u3068\u30bf\u30a4\u30d7\u3092\u9078\u629e
Timeline.ui.countsview.menuItem.selectTimeRange=\u6642\u9593\u7bc4\u56f2\u3092\u9078\u629e
-Timeline.ui.countsview.menuItem.zoomIntoTimeRange=\u6642\u9593\u7bc4\u56f2\u3078\u30ba\u30fc\u30e0\u30a4\u30f3
-CountsViewPane.loggedTask.name=\u30ab\u30a6\u30f3\u30c8\u30d3\u30e5\u30fc\u3092\u66f4\u65b0\u4e2d
-CountsViewPane.loggedTask.updatingCounts=\u30d3\u30b8\u30e5\u30a2\u30e9\u30a4\u30bc\u30fc\u30b7\u30e7\u30f3\uff08\u53ef\u8996\u5316\uff09\u3092\u5165\u529b\u4e2d
-CountsViewPane.tooltip.text={0} {1} \u30a4\u30d9\u30f3\u30c8\n{2}\u3068\n{3}\u306e\u9593
-CountsViewPane.linearRadio.text=\u30ea\u30cb\u30a2
-CountsViewPane.logRadio.text=\u5bfe\u6570\u7684
-CountsViewPane.scaleLabel.text=\u30b9\u30b1\u30fc\u30eb\uff1a
-*=Autopsy\u30d5\u30a9\u30ec\u30f3\u30b8\u30c3\u30af\u30d6\u30e9\u30a6\u30b6
\ No newline at end of file
+Timeline.ui.countsview.menuItem.zoomIntoTimeRange=\u6642\u9593\u7bc4\u56f2\u306b\u30ba\u30fc\u30e0\u30a4\u30f3
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ja.properties
old mode 100755
new mode 100644
index bf305b6d72..d7ee0e7dd5
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ja.properties
@@ -1,35 +1,40 @@
-DetailViewPane.loggedTask.name=\u8A73\u7D30\u30D3\u30E5\u30FC\u3092\u66F4\u65B0
-DetailViewPane.loggedTask.queryDb=\u30A4\u30D9\u30F3\u30C8\u30C7\u30FC\u30BF\u3092\u53D6\u5F97\u4E2D
-DetailViewPane.loggedTask.updateUI=\u30D3\u30B8\u30E5\u30A2\u30E9\u30A4\u30BC\u30FC\u30B7\u30E7\u30F3\u306B\u60C5\u5831\u3092\u5165\u529B\u4E2D
-EventDetailChart.chartContextMenu.placeMarker.name=\u30DE\u30FC\u30AB\u30FC\u3092\u8A2D\u7F6E
-DetailViewPan.truncateAllBox.text=\u8AAC\u660E\u3092\u524A\u9664
-DetailViewPan.truncateAllBoxMenuItem.text=\u8AAC\u660E\u3092\u524A\u9664
-DetailViewPane.advancedLayoutOptionsButtonLabel.text=\u30A2\u30C9\u30D0\u30F3\u30B9\u30EC\u30A4\u30A2\u30A6\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3
-DetailViewPane.countsRadio.text=\u30AB\u30A6\u30F3\u30C8\u306E\u307F\u8868\u793A
-DetailViewPane.countsRadioMenuItem.text=\u30AB\u30A6\u30F3\u30C8\u306E\u307F\u8868\u793A
-DetailViewPane.descVisSeparatorMenuItem.text=\u8AAC\u660E\u30D3\u30B8\u30D3\u30EA\u30C6\u30A3\uFF08\u53EF\u8996\u6027\uFF09
-DetailViewPane.hiddenRadio.text=\u8AAC\u660E\u3092\u96A0\u3059
-DetailViewPane.hiddenRadioMenuItem.text=\u8AAC\u660E\u3092\u96A0\u3059
-DetailViewPane.oneEventPerRowBox.text=1\u5217\u306B\u3064\u304D1\u30A4\u30D9\u30F3\u30C8
-DetailViewPane.oneEventPerRowBoxMenuItem.text=1\u5217\u306B\u3064\u304D1\u30A4\u30D9\u30F3\u30C8
-DetailViewPane.showRadio.text=\u8A73\u7D30\u8AAC\u660E\u3092\u8868\u793A
-DetailViewPane.showRadioMenuItem.text=\u8A73\u7D30\u8AAC\u660E\u3092\u8868\u793A
-DetailViewPane.truncateSlideLabelMenuItem.text=\u8AAC\u660E\u306E\u6700\u5927\u5E45\uFF08px\uFF09
-DetailViewPane.truncateSliderLabel.text=\u8AAC\u660E\u306E\u6700\u5927\u5E45\uFF08px\uFF09\uFF1A
-DetailViewPane.bandByTypeBox.text=\u30D0\u30F3\u30C9\u30D0\u30A4\u30BF\u30A4\u30D7
-DetailViewPane.bandByTypeBoxMenuItem.text=\u30D0\u30F3\u30C9\u30D0\u30A4\u30BF\u30A4\u30D7
-CollapseClusterAction.text=\u30B3\u30E9\u30D7\u30B9
-DetailViewPane.loggedTask.backButton=\u623B\u308B\uFF08\u53D6\u6D88\uFF09
-DetailViewPane.loggedTask.continueButton=\u9032\u3080
-DetailViewPane.loggedTask.prompt={0}\u30A4\u30D9\u30F3\u30C8\u306E\u8A73\u7D30\u3092\u8868\u793A\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u3002\u3053\u308C\u306F\u975E\u5E38\u306B\u6642\u9593\u304C\u304B\u304B\u308B\u3001\u307E\u305F\u306FAutopsy\u3092\u30AF\u30E9\u30C3\u30B7\u30E5\u3059\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\n\n\u5B9F\u884C\u3057\u307E\u3059\u304B\uFF1F
-EventBundleNodeBase.toolTip.hashSetHits=\n\n\u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8\u30D2\u30C3\u30C8\n{0}
-EventBundleNodeBase.toolTip.loading=\u8AAD\u307F\u8FBC\u307F\u4E2D...
-EventBundleNodeBase.toolTip.loading2=\u30C4\u30FC\u30EB\u30C1\u30C3\u30D7\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
-EventBundleNodeBase.toolTip.tags=\n\n\u30BF\u30B0\n{0}
-EventBundleNodeBase.tooltip.text={0} {1} \u30A4\u30D9\u30F3\u30C8\n{2}\n{3}\u3068{4}\u306E\u9593
-EventStripeNode.loggedTask.name=\u30B5\u30D6\u30AF\u30E9\u30B9\u30BF\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D
-ExpandClusterAction.text=\u30A8\u30AF\u30B9\u30D1\u30F3\u30C9
-GuideLine.tooltip.text={0}\n\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u524A\u9664\u3002\n\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u4F4D\u7F6E\u5909\u66F4\u3002
-HideDescriptionAction.displayMsg=\u8A73\u7D30\u30D3\u30E5\u30FC\u304B\u3089\u3053\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u96A0\u3059\u3002
-HideDescriptionAction.displayName=\u96A0\u3059
-UnhideDescriptionAction.displayName=\u96A0\u3057\u305F\u3082\u306E\u3092\u8868\u793A
\ No newline at end of file
+CollapseClusterAction.text=\u6298\u308a\u305f\u305f\u3080
+DetailViewPane.advancedLayoutOptionsButtonLabel.text=\u9ad8\u5ea6\u306a\u30ec\u30a4\u30a2\u30a6\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3
+DetailViewPane.bandByTypeBox.text=\u30bf\u30a4\u30d7\u5225\u306b\u7d50\u5408
+DetailViewPane.countsRadio.text=\u30ab\u30a6\u30f3\u30c8\u306e\u307f\u8868\u793a
+DetailViewPane.hiddenRadio.text=\u8a18\u8ff0\u3092\u975e\u8868\u793a
+DetailViewPane.loggedTask.backButton=\u623b\u308b(\u53d6\u308a\u6d88\u3057)
+DetailViewPane.loggedTask.continueButton=\u7d9a\u884c
+DetailViewPane.loggedTask.name=\u8a73\u7d30\u30d3\u30e5\u30fc\u306e\u66f4\u65b0\u4e2d\u3067\u3059
+# {0} - \u30a4\u30d9\u30f3\u30c8\u6570
+DetailViewPane.loggedTask.prompt= {0} \u30a4\u30d9\u30f3\u30c8\u306e\u8a73\u7d30\u3092\u8868\u793a\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307e\u3059\u3002 \u3053\u308c\u306b\u306f\u6642\u9593\u304c\u304b\u304b\u308a\u3001\u4f7f\u7528\u53ef\u80fd\u306a\u30e1\u30e2\u30ea\u30fc\u304c\u6d88\u8cbb\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\n\n\u7d9a\u884c\u3057\u307e\u3059\u304b?
+DetailViewPane.loggedTask.queryDb=\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u306e\u691c\u7d22\u4e2d\u3067\u3059
+DetailViewPane.loggedTask.updateUI=\u30d3\u30e5\u30fc\u306e\u5165\u529b\u4e2d\u3067\u3059
+DetailViewPane.oneEventPerRowBox.text=1\u5217\u306b\u3064\u304d1\u3064
+DetailViewPane.pinnedLaneLabel.text=\u30d4\u30f3\u7559\u3081\u3057\u305f\u30a4\u30d9\u30f3\u30c8
+DetailViewPane.primaryLaneLabel.text=\u3059\u3079\u3066\u306e\u30a4\u30d9\u30f3\u30c8(\u30d5\u30a3\u30eb\u30bf\u30fc\u6e08\u307f)
+DetailViewPane.showRadio.text=\u5b8c\u5168\u306a\u8a18\u8ff0\u3092\u8868\u793a
+DetailViewPane.truncateAllBox.text=\u8a18\u8ff0\u3092\u4e00\u62ec\u524a\u9664
+DetailViewPane.truncateSliderLabel.text=\u6700\u5927\u8a18\u8ff0\u5e45(px):
+EventBundleNodeBase.toolTip.loading=\u8aad\u307f\u8fbc\u307f\u4e2d...
+EventClusterNode.loggedTask.name=\u30b5\u30d6\u30a4\u30d9\u30f3\u30c8\u3092\u8aad\u307f\u8fbc\u3080
+# {0} - \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30ab\u30a6\u30f3\u30c8\u6587\u5b57\u5217
+EventNodeBase.toolTip.hashSetHits=\n\n\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u306e\u30d2\u30c3\u30c8\n{0}
+EventNodeBase.toolTip.loading2=\u30c4\u30fc\u30eb\u30c1\u30c3\u30d7\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059
+# {0} - \u30bf\u30b0\u30ab\u30a6\u30f3\u30c8\u6587\u5b57\u5217
+EventNodeBase.toolTip.tags=\n\n\u30bf\u30b0\n{0}
+# {0} - \u30ab\u30a6\u30f3\u30c8
+# {1} - \u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7
+# {2} - \u8a18\u8ff0
+# {3} - \u958b\u59cb\u65e5/\u6642\u9593
+# {4} - \u7d42\u4e86\u65e5/\u6642\u9593
+EventNodeBase.tooltip.text=\t{3}\n\u3068 \t{4}\n{2}\n\u9593\u306e {0} {1} \u30a4\u30d9\u30f3\u30c8
+ExpandClusterAction.text=\u5c55\u958b
+# {0} - \u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u4f4d\u7f6e\u306e\u65e5\u4ed8/\u6642\u9593
+GuideLine.tooltip.text={0}\n\u53f3\u30af\u30ea\u30c3\u30af\u3057\u3066\u524a\u9664\u3057\u307e\u3059\u3002\n\u30c9\u30e9\u30c3\u30b0\u3057\u3066\u518d\u914d\u7f6e\u3057\u307e\u3059\u3002
+HideDescriptionAction.displayMsg=\u3053\u306e\u30b0\u30eb\u30fc\u30d7\u3092\u8a73\u7d30\u30d3\u30e5\u30fc\u304b\u3089\u975e\u8868\u793a\u306b\u3057\u307e\u3059\u3002
+HideDescriptionAction.displayName=\u975e\u8868\u793a
+PinEventAction.text=\u30d4\u30f3\u7559\u3081\u3059\u308b
+PlaceMArkerAction.name=\u5834\u6240\u30de\u30fc\u30ab\u30fc
+UnhideDescriptionAction.displayName=\u518d\u8868\u793a
+UnPinEventAction.text=\u30d4\u30f3\u7559\u3081\u3092\u5916\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ja.properties
old mode 100755
new mode 100644
index 5252dcf4f3..ce6bd8ed7d
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ja.properties
@@ -1,4 +1,4 @@
-EventsTree.Label.text=\u30BD\u30FC\u30C8\u30D0\u30A4\uFF1A
-TreeComparator.Count.displayName=\u30AB\u30A6\u30F3\u30C8
-TreeComparator.Description.displayName=\u8AAC\u660E
-TreeComparator.Type.displayName=\u30BF\u30A4\u30D7
\ No newline at end of file
+EventsTree.Label.text=\u6b21\u3067\u30bd\u30fc\u30c8:
+TreeComparator.Count.displayName=\u30ab\u30a6\u30f3\u30c8
+TreeComparator.Description.displayName=\u8a18\u8ff0
+TreeComparator.Type.displayName=\u30bf\u30a4\u30d7
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle.properties-MERGED
index 149c2da610..e637c111e2 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle.properties-MERGED
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle.properties-MERGED
@@ -1,7 +1,7 @@
FilsetSetPanel.hiddenDescriptionsPane.displayName=Hidden Descriptions
FilterSetPanel.applyButton.longText=(Re)Apply filters
FilterSetPanel.applyButton.text=Apply
-FilterSetPanel.defaultButton.text=Default
+FilterSetPanel.defaultButton.text=Reset
FilterSetPanel.hiddenDescriptionsListView.remove=Remove from list
FilterSetPanel.hiddenDescriptionsListView.unhideAndRemove=Unhide and remove from list
Timeline.ui.filtering.menuItem.all=all
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ja.properties
old mode 100755
new mode 100644
index bad4e2e9ca..6c9352b270
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ja.properties
@@ -1,12 +1,12 @@
-Timeline.ui.filtering.menuItem.all=\u5168\u3066
-Timeline.ui.filtering.menuItem.none=\u7121\u3057
-Timeline.ui.filtering.menuItem.only=\u4E0B\u8A18\u306B\u9650\u5B9A
-Timeline.ui.filtering.menuItem.others=\u305D\u306E\u4ED6
-Timeline.ui.filtering.menuItem.select=\u9078\u629E
-Timeline.ui.filtering.promptText=\u30D5\u30A3\u30EB\u30BF\u30B9\u30C8\u30EA\u30F3\u30B0\u3092\u5165\u529B
+FilsetSetPanel.hiddenDescriptionsPane.displayName=\u975e\u8868\u793a\u306e\u8aac\u660e
+FilterSetPanel.applyButton.longText=\u30d5\u30a3\u30eb\u30bf\u30fc\u3092(\u6700)\u9069\u7528
FilterSetPanel.applyButton.text=\u9069\u7528
-FilterSetPanel.defaultButton.text=\u30C7\u30D5\u30A9\u30EB\u30C8
-FilsetSetPanel.hiddenDescriptionsPane.displayName=\u96A0\u3055\u308C\u305F\u8AAC\u660E
-FilterSetPanel.applyButton.longText=\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\uFF08\u518D\uFF09\u9069\u7528
-FilterSetPanel.hiddenDescriptionsListView.remove=\u30EA\u30B9\u30C8\u304B\u3089\u524A\u9664
-FilterSetPanel.hiddenDescriptionsListView.unhideAndRm=\u96A0\u3057\u305F\u3082\u306E\u3092\u8868\u793A\u3057\u3001\u30EA\u30B9\u30C8\u304B\u3089\u524A\u9664
\ No newline at end of file
+FilterSetPanel.defaultButton.text=\u30c7\u30d5\u30a9\u30eb\u30c8
+FilterSetPanel.hiddenDescriptionsListView.remove=\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664
+FilterSetPanel.hiddenDescriptionsListView.unhideAndRemove=\u975e\u8868\u793a\u306b\u3057\u3066\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664
+Timeline.ui.filtering.menuItem.all=\u3059\u3079\u3066
+Timeline.ui.filtering.menuItem.none=\u306a\u3057
+Timeline.ui.filtering.menuItem.only=\u306e\u307f
+Timeline.ui.filtering.menuItem.others=\u305d\u306e\u4ed6
+Timeline.ui.filtering.menuItem.select=\u9078\u629e
+Timeline.ui.filtering.promptText=\u30d5\u30a3\u30eb\u30bf\u30fc\u6587\u5b57\u5217\u3092\u5165\u529b
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java
index 5b9f417b82..1fa268ffc2 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/FilterSetPanel.java
@@ -90,7 +90,7 @@ final public class FilterSetPanel extends BorderPane {
private double dividerPosition;
@NbBundle.Messages({
- "FilterSetPanel.defaultButton.text=Default",
+ "FilterSetPanel.defaultButton.text=Reset",
"FilsetSetPanel.hiddenDescriptionsPane.displayName=Hidden Descriptions"})
@FXML
void initialize() {
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/CompoundFilterState.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/CompoundFilterState.java
index e85fabe4da..089de71071 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/CompoundFilterState.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/CompoundFilterState.java
@@ -150,7 +150,7 @@ public class CompoundFilterState {
- //set this compound filter state selected af any of the subfilters are selected.
+ //set this compound filter state selected if any of the subfilters are selected.
setSelected(subFilterStates.stream().anyMatch(FilterState::isSelected));
});
newSubFilterState.setDisabled(isActive() == false);
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/SqlFilterState.java b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/SqlFilterState.java
index 195637c4b3..3ace4a5bd8 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/SqlFilterState.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/datamodel/SqlFilterState.java
@@ -24,27 +24,33 @@ import org.sleuthkit.datamodel.TimelineFilter;
* Default FilterState implementation for individual TimelineFilters.
*
* @param
+ *
+ * RJCTODO: We need a better name for this class. Or at least an explanation of
+ * the SQL in the name. The SQL part is not actually enforced or even implied.
+ * IT can only be known by knowledge of the filter hierarchy underlying the
+ * filter states hierarchy.
*/
public class SqlFilterState extends AbstractFilterState {
+
/**
* Selected = false, Disabled = false
*
* @param filter
*/
public SqlFilterState(FilterType filter) {
- // Setting the intial state to all filters to "selected" except
- // the "Hide Known Filters", "Tags", "Hashsets" and "Text".
- // There are better ways to do this, but this works in a pinch
- this(filter, !(filter instanceof TimelineFilter.HideKnownFilter || filter instanceof TimelineFilter.TagsFilter || filter instanceof TimelineFilter.HashHitsFilter || filter instanceof TimelineFilter.TextFilter));
-
- selectedProperty().addListener(selectedProperty -> {
- if (filter instanceof TimelineFilter.TagsFilter) {
- ((TimelineFilter.TagsFilter)filter).setEventSourcesAreTagged(isSelected());
- } else if (filter instanceof TimelineFilter.HashHitsFilter) {
- ((TimelineFilter.HashHitsFilter)filter).setEventSourcesHaveHashSetHits(isSelected());
- }
+ this(filter, false);
+ /*
+ * RJCTODO: This casting is not very nice. We should insert filter state
+ * classes for these two types of filters as subclasses of
+ * SqlFilterState.
+ */
+ selectedProperty().addListener(selectedProperty -> {
+ if (filter instanceof TimelineFilter.TagsFilter) {
+ ((TimelineFilter.TagsFilter) filter).setEventSourcesAreTagged(isSelected());
+ } else if (filter instanceof TimelineFilter.HashHitsFilter) {
+ ((TimelineFilter.HashHitsFilter) filter).setEventSourcesHaveHashSetHits(isSelected());
+ }
});
-
}
/**
@@ -74,9 +80,9 @@ public class SqlFilterState extends AbstractF
@Override
public String toString() {
return "TimelineFilterState{"
- + " filter=" + getFilter().toString()
- + ", selected=" + isSelected()
- + ", disabled=" + isDisabled()
- + ", activeProp=" + isActive() + '}'; //NON-NLS
+ + " filter=" + getFilter().toString()
+ + ", selected=" + isSelected()
+ + ", disabled=" + isDisabled()
+ + ", activeProp=" + isActive() + '}'; //NON-NLS
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ja.properties
new file mode 100644
index 0000000000..7b5a853206
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ja.properties
@@ -0,0 +1,16 @@
+ListChart.errorMsg=\u9078\u629e\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002
+# {0} - \u30a4\u30d9\u30f3\u30c8\u6570
+ListTimeline.eventCountLabel.text={0} \u30a4\u30d9\u30f3\u30c8
+ListTimeline.hashHitTooltip.error=\u9078\u629e\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u306e\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002
+# {0} - \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u540d
+ListTimeline.hashHitTooltip.text=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8:\n{0}
+ListTimeline.taggedTooltip.error=\u9078\u629e\u3057\u305f\u30a4\u30d9\u30f3\u30c8\u306e\u30bf\u30b0\u540d\u3092\u53d6\u5f97\u4e2d\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3057\u305f\u3002
+# {0} - \u30bf\u30b0\u540d
+ListTimeline.taggedTooltip.text=\u30bf\u30b0:\n{0}
+ListView.EventTypeCell.accessedTooltip=\u30a2\u30af\u30bb\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb( A )
+ListView.EventTypeCell.changedTooltip=\u5909\u66f4\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb( C )
+ListView.EventTypeCell.createdTooltip=\u4f5c\u6210\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb( B, for Born )
+ListView.EventTypeCell.modifiedTooltip=\u4fee\u6b63\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb( M )
+ListViewPane.loggedTask.name=\u30ea\u30b9\u30c8\u30d3\u30e5\u30fc\u306e\u66f4\u65b0\u4e2d\u3067\u3059
+ListViewPane.loggedTask.queryDb=\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u306e\u691c\u7d22\u4e2d\u3067\u3059
+ListViewPane.loggedTask.updateUI=\u30d3\u30e5\u30fc\u306e\u5165\u529b\u4e2d\u3067\u3059
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/utils/FilterUtils.java b/Core/src/org/sleuthkit/autopsy/timeline/utils/FilterUtils.java
index 52d8fa4ddf..53c84755f8 100755
--- a/Core/src/org/sleuthkit/autopsy/timeline/utils/FilterUtils.java
+++ b/Core/src/org/sleuthkit/autopsy/timeline/utils/FilterUtils.java
@@ -54,12 +54,10 @@ public final class FilterUtils {
"FilterUtils.otherFilter.displayName=Other"})
public static FileTypesFilter createDefaultFileTypesFilter() {
FileTypesFilter fileTypesFilter = new FileTypesFilter();
-
fileTypesFilter.addSubFilter(new FileTypeFilter(MEDIA.getDisplayName(), MEDIA.getMediaTypes()));
fileTypesFilter.addSubFilter(new FileTypeFilter(DOCUMENTS.getDisplayName(), DOCUMENTS.getMediaTypes()));
fileTypesFilter.addSubFilter(new FileTypeFilter(EXECUTABLE.getDisplayName(), EXECUTABLE.getMediaTypes()));
fileTypesFilter.addSubFilter(new InverseFileTypeFilter(Bundle.FilterUtils_otherFilter_displayName(), NON_OTHER_MIME_TYPES));
-
return fileTypesFilter;
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ja.properties
old mode 100755
new mode 100644
index 29c96aaa13..16cb968d63
--- a/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ja.properties
+++ b/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ja.properties
@@ -1,10 +1,11 @@
-EventTypeZoomLevel.baseType=\u30d9\u30fc\u30b9\u30bf\u30a4\u30d7
+DescriptionLOD.short=\u77ed
+DescriptionLOD.medium=\u4e2d
+DescriptionLOD.full=\u9577
+
+EventTypeZoomLevel.baseType=\u57fa\u672c\u30bf\u30a4\u30d7
EventTypeZoomLevel.rootType=\u30eb\u30fc\u30c8\u30bf\u30a4\u30d7
EventTypeZoomLevel.subType=\u30b5\u30d6\u30bf\u30a4\u30d7
-DescriptionLOD.short=\u7c21\u6f54
-DescriptionLOD.medium=\u6982\u8981
-DescriptionLOD.full=\u8a73\u7d30
-ZoomSettingsPane.descrLODLabel.text=\u8a73\u7d30\u8aac\u660e\uff1a
-ZoomSettingsPane.historyLabel.text=\u5c65\u6b74\uff1a
-ZoomSettingsPane.timeUnitLabel.text=\u6642\u9593\u5358\u4f4d\uff1a
-ZoomSettingsPane.typeZoomLabel.text=\u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7\uff1a
\ No newline at end of file
+ZoomSettingsPane.descrLODLabel.text=\u8aac\u660e\u306e\u8a73\u7d30:
+ZoomSettingsPane.timeUnitLabel.text=\u6642\u9593\u5358\u4f4d:
+ZoomSettingsPane.typeZoomLabel.text=\u30a4\u30d9\u30f3\u30c8\u30bf\u30a4\u30d7:
+ZoomSettingsPane.zoomLabel.text=\u30ba\u30fc\u30e0
diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties
index bbc1bac4b1..2935be7f4e 100644
--- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties
+++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ja.properties
@@ -1,7 +1,7 @@
-OpenIDE-Module-Display-Category=\u30E9\u30A4\u30D6\u30E9\u30EA
-OpenIDE-Module-Name=Autopsy-\u30B3\u30A2\u30E9\u30A4\u30D6\u30E9\u30EA
+OpenIDE-Module-Display-Category=\u30e9\u30a4\u30d6\u30e9\u30ea
+OpenIDE-Module-Name=Autopsy-\u30b3\u30a2\u30e9\u30a4\u30d6\u30e9\u30ea
OpenIDE-Module-Long-Description=\
- \u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u7528\u306E\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA\u3078\u306E\u4F9D\u5B58\u95A2\u4FC2\u3002\n\
- \u30E9\u30A4\u30D6\u30E9\u30EA\u306F\u4ED6\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u304B\u3089\u3082\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u3059\u3002
-OpenIDE-Module-Short-Description=Autopsy\u30B3\u30A2\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA
-SigarLoader.linkErr.msg=Sigar\u30E9\u30A4\u30D6\u30E9\u30EA\u3092\u304A\u4F7F\u3044\u306E\u74B0\u5883\u306B\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\uFF08\u91CD\u5927\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09\u3001OS\u30EC\u30D9\u30EB\u306E\u30E1\u30C8\u30EA\u30AF\u30B9\u306F\u78BA\u8A8D\u3067\u304D\u307E\u305B\u3093\u3002
\ No newline at end of file
+ \u30b3\u30a2\u30e2\u30b8\u30e5\u30fc\u30eb\u7528\u306e\u5916\u90e8\u30e9\u30a4\u30d6\u30e9\u30ea\u3078\u306e\u4f9d\u5b58\u95a2\u4fc2\u3002\n\
+ \u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u4ed6\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u3089\u3082\u30a4\u30f3\u30dd\u30fc\u30c8\u3067\u304d\u307e\u3059\u3002
+OpenIDE-Module-Short-Description=Autopsy\u30b3\u30a2\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u5916\u90e8\u30e9\u30a4\u30d6\u30e9\u30ea
+SigarLoader.linkErr.msg=Sigar\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u304a\u4f7f\u3044\u306e\u74b0\u5883\u306b\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f\uff08\u91cd\u5927\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff09\u3001OS\u30ec\u30d9\u30eb\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3002
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ja.properties
index 60018f7387..8e158e56e1 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ja.properties
@@ -1,32 +1,44 @@
-CopyAnalyzedFiles.committingDb.status=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u4E2D
-CopyAnalyzedFiles.errPopulating.errMsg=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u60C5\u5831\u3092\u5165\u529B\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-CopyAnalyzedFiles.populatingDb.status=\u89E3\u6790\u6E08\u307F\u306E\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306B\u60C5\u5831\u3092\u5165\u529B\u4E2D
-CopyAnalyzedFiles.stopCopy.status=Drawable DB\u30BF\u30B9\u30AF\u3078\u306E\u30B3\u30D4\u30FC\u3092\u505C\u6B62\u4E2D\u3002
-CTL_ImageGalleryAction=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC
-CTL_ImageGalleryTopComponent=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC
-HINT_ImageGalleryTopComponent=\u3053\u308C\u306F\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u3059
-ImageGalleryController.InnerTask.message.name=\u30B9\u30C6\u30FC\u30BF\u30B9
-ImageGalleryController.InnerTask.progress.name=\u9032\u884C\u72B6\u6CC1
-ImageGalleryController.noGroupsDlg.msg1=\u5B8C\u5168\u306B\u89E3\u6790\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u3057\u304B\u3057\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306E\u30EA\u30B9\u30CB\u30F3\u30B0\u304C\u7121\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B8C\u4E86\u3057\u3001\u30EA\u30B9\u30CB\u30F3\u30B0\u304C\u518D\u5EA6\u6709\u52B9\u5316\u3055\u308C\u306A\u3051\u308C\u3070\u30B0\u30EB\u30FC\u30D7\u304C\u4F7F\u3048\u307E\u305B\u3093\u3002
-ImageGalleryController.noGroupsDlg.msg2=\u5B8C\u5168\u306B\u89E3\u6790\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u307E\u3060\u5B9F\u884C\u4E2D\u3067\u3059\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
-ImageGalleryController.noGroupsDlg.msg3=\u5B8C\u5168\u306B\u89E3\u6790\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u306F\u307E\u3060\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30C7\u30FC\u30BF\u306E\u60C5\u5831\u3092\u307E\u3060\u5165\u529B\u4E2D\u3067\u3059\u3002\u3057\u3070\u3089\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
-ImageGalleryController.noGroupsDlg.msg4=\u8FFD\u52A0\u3055\u308C\u305F\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306B\u306F\u4F7F\u3048\u308B\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u3057\u304B\u3057\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306E\u30EA\u30B9\u30CB\u30F3\u30B0\u304C\u7121\u52B9\u306B\u306A\u3063\u3066\u3044\u307E\u3059\u3002\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B8C\u4E86\u3057\u3001\u30EA\u30B9\u30CB\u30F3\u30B0\u304C\u518D\u5EA6\u6709\u52B9\u5316\u3055\u308C\u306A\u3051\u308C\u3070\u30B0\u30EB\u30FC\u30D7\u304C\u4F7F\u3048\u307E\u305B\u3093\u3002
-ImageGalleryController.noGroupsDlg.msg5=\u8FFD\u52A0\u3055\u308C\u305F\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9\u306B\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u304C\u3042\u308A\u307E\u305B\u3093\u3002
-ImageGalleryController.noGroupsDlg.msg6=\u8868\u793A\u3067\u304D\u308B\u5B8C\u5168\u306B\u89E3\u6790\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u304C\u3042\u308A\u307E\u305B\u3093\uFF1A\u73FE\u5728\u306E\u30B0\u30EB\u30FC\u30D7\u30D0\u30A4\u8A2D\u5B9A\u3067\u306F\u30B0\u30EB\u30FC\u30D7\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u307E\u305F\u306F\u5B8C\u5168\u306B\u89E3\u6790\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u304C\u306A\u3044\u3051\u308C\u3069\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B9F\u884C\u3057\u3066\u3044\u306A\u3044\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
-ImageGalleryModule.moduleName=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC
+AddDrawableFilesTask.populatingDb.status=\u5206\u6790\u6e08\u307f\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u529b\u4e2d\u3067\u3059
+BulkDrawableFilesTask.committingDb.status=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30b3\u30df\u30c3\u30c8\u4e2d\u3067\u3059
+BulkDrawableFilesTask.errPopulating.errMsg=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u529b\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3057\u305f\u3002
+BulkDrawableFilesTask.populatingDb.status=\u5206\u6790\u6e08\u307f\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u5165\u529b\u4e2d\u3067\u3059
+BulkDrawableFilesTask.stopCopy.status=\u63cf\u753b\u53ef\u80fd\u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u30b3\u30d4\u30fc\u4f5c\u696d\u3092\u4e2d\u6b62\u4e2d\u3067\u3059\u3002
+CTL_ImageGalleryAction=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30ae\u30e3\u30e9\u30ea\u30fc
+CTL_ImageGalleryTopComponent=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30ae\u30e3\u30e9\u30ea\u30fc
+DrawableDbTask.InnerTask.message.name=\u30b9\u30c6\u30fc\u30bf\u30b9
+DrawableDbTask.InnerTask.progress.name=\u9032\u6357\u72b6\u6cc1
+ImageGallery.dialogTitle=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+ImageGallery.showTooManyFiles.contentText=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u6570\u304c\u591a\u3059\u304e\u3066\u3001\u76f8\u5fdc\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u4fdd\u8a3c\u3067\u304d\u307e\u305b\u3093\u3002
+ImageGallery.showTooManyFiles.headerText=
+ImageGalleryController.dataSourceAnalyzed.confDlg.msg=\ \u65b0\u3057\u3044\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304c\u8ffd\u52a0\u3055\u308c\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\n\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u7d50\u679c\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u66f4\u65b0\u3057\u307e\u3059\u304b?\n
+ImageGalleryController.dataSourceAnalyzed.confDlg.title=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+ImageGalleryController.noGroupsDlg.msg1=\u30b0\u30eb\u30fc\u30d7\u306f\u5b8c\u5168\u306b\u5206\u6790\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u30ea\u30c3\u30b9\u30f3\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002 \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3057\u3001\u30ea\u30c3\u30b9\u30f3\u304c\u518d\u6709\u52b9\u5316\u3055\u308c\u308b\u307e\u3067\u3001\u30b0\u30eb\u30fc\u30d7\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ImageGalleryController.noGroupsDlg.msg2=\u30b0\u30eb\u30fc\u30d7\u306f\u5b8c\u5168\u306b\u5206\u6790\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306f\u307e\u3060\u7d99\u7d9a\u4e2d\u3067\u3059\u3002 \u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u3002
+ImageGalleryController.noGroupsDlg.msg3=\u30b0\u30eb\u30fc\u30d7\u306f\u5b8c\u5168\u306b\u5206\u6790\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u306f\u307e\u3060\u5165\u529b\u4e2d\u3067\u3059\u3002 \u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u3002
+ImageGalleryController.noGroupsDlg.msg4=\u8ffd\u52a0\u3057\u305f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u304b\u3089\u5229\u7528\u3067\u304d\u308b\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u306f\u3042\u308a\u307e\u305b\u3093\u304c\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u30ea\u30c3\u30b9\u30f3\u304c\u7121\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002 \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3057\u3001\u30ea\u30c3\u30b9\u30f3\u304c\u518d\u6709\u52b9\u5316\u3055\u308c\u308b\u307e\u3067\u3001\u30b0\u30eb\u30fc\u30d7\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ImageGalleryController.noGroupsDlg.msg5=\u8ffd\u52a0\u3057\u305f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306b\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+ImageGalleryController.noGroupsDlg.msg6=\u8868\u793a\u5bfe\u8c61\u3068\u306a\u308b\u5b8c\u5168\u306b\u5206\u6790\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u306f\u3042\u308a\u307e\u305b\u3093: \u73fe\u5728\u306e [\u6b21\u3067\u30b0\u30eb\u30fc\u30d7\u5316] \u8a2d\u5b9a\u3067\u30b0\u30eb\u30fc\u30d7\u304c\u751f\u6210\u3055\u308c\u306a\u304b\u3063\u305f\u304b\u3001\u30b0\u30eb\u30fc\u30d7\u306f\u5b8c\u5168\u306b\u5206\u6790\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306f\u5b9f\u884c\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+ImageGalleryModule.moduleName=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+ImageGalleryService.openCaseResources.progressMessage.finish=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u958b\u304d\u307e\u3057\u305f\u3002
+ImageGalleryService.openCaseResources.progressMessage.start=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u958b\u3044\u3066\u3044\u307e\u3059...
+ImageGalleryService.serviceName=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u66f4\u65b0\u30b5\u30fc\u30d3\u30b9
+ImageGalleryTopComponent.chooseDataSourceDialog.all=\u3059\u3079\u3066
+ImageGalleryTopComponent.chooseDataSourceDialog.contentText=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9:
+ImageGalleryTopComponent.chooseDataSourceDialog.headerText=\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u9078\u629e\u3057\u307e\u3059\u3002
+ImageGalleryTopComponent.chooseDataSourceDialog.titleText=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
OpenIDE-Module-Long-Description=\
- \u30A4\u30E1\u30FC\u30B8\u304C\u591A\u3044\u8ABF\u67FB\u3092\u3088\u308A\u52B9\u7387\u7684\u306B\u884C\u3048\u308B\u3088\u3046\u306B\u8A2D\u8A08\u3055\u308C\u305F\u3001\u65B0\u3057\u3044\u30A4\u30E1\u30FC\u30B8\u304A\u3088\u3073\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u3067\u3059\u3002\
- \u3053\u308C\u306FDHS S&T\u304C\u652F\u63F4\u3057\u3001\u30D9\u30FC\u30BF\u7248\u306E\u30EA\u30EA\u30FC\u30B9\u3067\u3059\u3002\
- sleuthkit.org\u3067\u306F\u307E\u3060\u5165\u624B\u3067\u304D\u305A\u3001\u9650\u3089\u308C\u305F\u30E6\u30FC\u30B6\u30FC\u306B\u3057\u304B\u63D0\u4F9B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-OpenIDE-Module-Name=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC
-OpenIDE-Module-Short-Description=\u30A2\u30C9\u30D0\u30F3\u30B9\u30A4\u30E1\u30FC\u30B8\u304A\u3088\u3073\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC
-ImageGalleryOptionsPanel.enabledForCaseBox.text=\u4F5C\u696D\u4E2D\u306E\u30B1\u30FC\u30B9\u306E\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u306E\u66F4\u65B0\u3092\u6709\u52B9\u5316\u3059\u308B\u3002
-ImageGalleryOptionsPanel.enabledByDefaultBox.text=\u30C7\u30D5\u30A9\u30EB\u30C8\u8A2D\u5B9A\u3068\u3057\u3066\u65B0\u3057\u3044\u30B1\u30FC\u30B9\u306E\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u3092\u6709\u52B9\u5316\u3059\u308B\u3002
-ImageGalleryOptionsPanel.enabledForCaseBox.toolTipText=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u7121\u52B9\u306A\u5834\u5408\u3001\u66F4\u65B0\u304C\u5FC5\u8981\u3068\u3044\u3046\u3053\u3068\u3060\u3051\u8A18\u9332\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u5F8C\u306B\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u6709\u52B9\u5316\u3055\u308C\u305F\u5834\u5408\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306E\u7D50\u679C\u3092\u5143\u306B\u4E00\u5EA6\u306B\u307E\u3068\u3081\u3066\u66F4\u65B0\u3092\u3057\u307E\u3059\u3002\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u7121\u52B9\u306E\u5834\u5408\u3001\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u3053\u3046\u3068\u3057\u305F\u969B\u306B\u6709\u52B9\u5316\u3059\u308B\u3088\u3046\u306B\u6307\u793A\u3055\u308C\u307E\u3059\u3002
-ImageGalleryOptionsPanel.descriptionLabel.text=\u30B9\u30BF\u30FC\u30C8\u30A2\u30C3\u30D7\u6642\u9593\u3092\u6700\u5C0F\u9650\u306B\u3059\u308B\u305F\u3081\u3001\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u306F\u7D99\u7D9A\u7684\u306B\u5185\u90E8\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u66F4\u65B0\u3057\u307E\u3059\u3002
\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u306E\u6A5F\u80FD\u304C\u5FC5\u8981\u3067\u306A\u3044\u5834\u5408\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u9045\u304F\u3059\u308B\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002
\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u5FC5\u8981\u3067\u306A\u3044\u5834\u5408\u3001\u3053\u306E\u8A2D\u5B9A\u3092\u4F7F\u3044\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u3092\u7121\u52B9\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-ImageGalleryOptionsPanel.furtherDescriptionArea.text=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u7121\u52B9\u306A\u5834\u5408\u3001\u66F4\u65B0\u304C\u5FC5\u8981\u3068\u3044\u3046\u3053\u3068\u3060\u3051\u8A18\u9332\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u5F8C\u306B\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u6709\u52B9\u5316\u3055\u308C\u305F\u5834\u5408\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u306E\u7D50\u679C\u3092\u5143\u306B\u4E00\u5EA6\u306B\u307E\u3068\u3081\u3066\u66F4\u65B0\u3092\u3057\u307E\u3059\u3002\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u304C\u7121\u52B9\u306E\u5834\u5408\u3001\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u306E\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u958B\u3053\u3046\u3068\u3057\u305F\u969B\u306B\u6709\u52B9\u5316\u3059\u308B\u3088\u3046\u306B\u6307\u793A\u3055\u308C\u307E\u3059\u3002
-ImageGalleryOptionsPanel.unavailableDuringInjestLabel.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u4E2D\u306F\u3053\u306E\u8A2D\u5B9A\u306F\u4F7F\u3048\u307E\u305B\u3093\u3002
-OptionsCategory_Keywords_Options=\u30A4\u30E1\u30FC\u30B8\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u30AB\u30C6\u30B4\u30EA\u30FC
-OptionsCategory_Name_Options=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC
-PrePopulateDataSourceFiles.committingDb.status=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u30B3\u30DF\u30C3\u30C8\u4E2D
-PrePopulateDataSourceFiles.prepopulatingDb.status=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u306B\u60C5\u5831\u3092\u4E8B\u524D\u306B\u5165\u529B\u4E2D
\ No newline at end of file
+ \u30a4\u30e1\u30fc\u30b8\u96c6\u4e2d\u8abf\u67fb\u306e\u5b9f\u884c\u3092\u3088\u308a\u52b9\u7387\u7684\u306b\u3059\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u305f\u3001\u65b0\u3057\u3044\u30a4\u30e1\u30fc\u30b8\u3068\u52d5\u753b\u306e\u30ae\u30e3\u30e9\u30ea\u30fc\u3067\u3059\u3002 \
+ \u3053\u306e\u4f5c\u54c1\u306fDHS S&T\u306e\u8cc7\u91d1\u63f4\u52a9\u3092\u53d7\u3051\u3066\u3044\u307e\u3059\u3002\u306a\u304a\u3001\u3053\u308c\u306f\u30d9\u30fc\u30bf\u30ea\u30ea\u30fc\u30b9\u3067\u3059\u3002\
+ sleuthkit.org\u30b5\u30a4\u30c8\u304b\u3089\u5165\u624b\u3067\u304d\u307e\u305b\u3093\u3002\u9650\u5b9a\u30e6\u30fc\u30b6\u30fc\u306b\u914d\u5e03\u3055\u308c\u3066\u3044\u307e\u3059\u3002
+OpenIDE-Module-Name=ImageGallery
+OpenIDE-Module-Short-Description=\u9ad8\u5ea6\u306a\u30a4\u30e1\u30fc\u30b8\u3068\u52d5\u753b\u306e\u30ae\u30e3\u30e9\u30ea\u30fc
+ImageGalleryOptionsPanel.enabledForCaseBox.text=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u306e\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u66f4\u65b0\u3092\u6709\u52b9\u306b\u3057\u307e\u3059\u3002
+ImageGalleryOptionsPanel.enabledByDefaultBox.text=\u65b0\u3057\u3044\u30b1\u30fc\u30b9\u306e\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u6709\u52b9\u5316\u3057\u307e\u3059\u3002
+ImageGalleryOptionsPanel.enabledForCaseBox.toolTipText=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u304c\u7121\u52b9\u306e\u5834\u5408\u3001\u66f4\u65b0\u304c\u5fc5\u8981\u3067\u3042\u308b\u3068\u3044\u3046\u4e8b\u5b9f\u3060\u3051\u304c\u8a18\u9332\u3055\u308c\u307e\u3059\u3002 \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5f8c\u306b\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u6709\u52b9\u5316\u3057\u305f\u5834\u5408\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u7d50\u679c\u306b\u57fa\u3065\u3044\u3066\u4e00\u62ec\u66f4\u65b0\u30921\u56de\u884c\u3044\u307e\u3059\u3002 \u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u304c\u7121\u52b9\u306e\u5834\u5408\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u958b\u3053\u3046\u3068\u8a66\u307f\u308b\u3068\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u6709\u52b9\u5316\u3059\u308b\u3088\u3046\u4fc3\u3055\u308c\u307e\u3059\u3002
+ImageGalleryOptionsPanel.descriptionLabel.text=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u8d77\u52d5\u6642\u9593\u3092\u6700\u5c0f\u5316\u3059\u308b\u305f\u3081\u306b\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u5185\u90e8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5e38\u6642\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002
\u3053\u308c\u306b\u3088\u308a\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u6a5f\u80fd\u3092\u5fc5\u8981\u3068\u3057\u306a\u3044\u5834\u5408\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b9f\u884c\u304c\u9045\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u5fc5\u8981\u3068\u3057\u306a\u3044\u5834\u5408\u3001\u3053\u308c\u3089\u306e\u8a2d\u5b9a\u3092\u4f7f\u7528\u3057\u3066\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u7121\u52b9\u5316\u3057\u307e\u3059\u3002
+ImageGalleryOptionsPanel.furtherDescriptionArea.text=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u304c\u7121\u52b9\u306e\u5834\u5408\u3001\u66f4\u65b0\u304c\u5fc5\u8981\u3067\u3042\u308b\u3068\u3044\u3046\u4e8b\u5b9f\u3060\u3051\u304c\u8a18\u9332\u3055\u308c\u307e\u3059\u3002 \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5f8c\u306b\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u6709\u52b9\u5316\u3057\u305f\u5834\u5408\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u7d50\u679c\u306b\u57fa\u3065\u3044\u3066\u4e00\u62ec\u66f4\u65b0\u30921\u56de\u884c\u3044\u307e\u3059\u3002 \u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u304c\u7121\u52b9\u306e\u5834\u5408\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u3092\u958b\u3053\u3046\u3068\u8a66\u307f\u308b\u3068\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u6709\u52b9\u5316\u3059\u308b\u3088\u3046\u4fc3\u3055\u308c\u307e\u3059\u3002
+ImageGalleryOptionsPanel.unavailableDuringInjestLabel.text=\u3053\u306e\u8a2d\u5b9a\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u5b9f\u884c\u4e2d\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ImageGalleryOptionsPanel.groupCategorizationWarningBox.text=\u30b0\u30eb\u30fc\u30d7\u5168\u4f53\u306b\u52b9\u529b\u3092\u6301\u305f\u305b\u308b\u3053\u3068\u3067\u3001\u30ab\u30c6\u30b4\u30ea\u30fc\u306e\u4e0a\u66f8\u304d\u4e2d\u306b\u8b66\u544a\u3092\u8868\u793a\u3057\u307e\u305b\u3093\u3002
+CTL_OpenAction=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u3092\u958b\u304f
+OptionsCategory_Keywords_Options=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30ab\u30c6\u30b4\u30ea\u30fc
+OptionsCategory_Name_Options=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30ae\u30e3\u30e9\u30ea\u30fc
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ja.properties
index 122bcaf610..06c4149dec 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ja.properties
@@ -1,23 +1,42 @@
-AddDrawableTagAction.addTagsToFiles.alert={0}\u30D5\u30A1\u30A4\u30EB\u3092\u30BF\u30B0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-AddDrawableTagAction.displayName.plural=\u30D5\u30A1\u30A4\u30EB\u3092\u30BF\u30B0
-AddDrawableTagAction.displayName.singular=\u30D5\u30A1\u30A4\u30EB\u3092\u30BF\u30B0
-AddTagAction.menuItem.newTag=\u65B0\u898F\u30BF\u30B0...
-AddTagAction.menuItem.noTags=\u30BF\u30B0\u7121\u3057
-AddTagAction.menuItem.quickTag=\u30AF\u30A4\u30C3\u30AF\u30BF\u30B0
-AddTagAction.menuItem.tagAndComment=\u30BF\u30B0\uFF0F\u30B3\u30E1\u30F3\u30C8\u3059\u308B...
-Back_diplayName=\u623B\u308B
-CategorizeAction.displayName=\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA
-CategorizeTask.errorUnable.msg={0}\u3092\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-CategorizeTask.errorUnable.title=\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\u30A8\u30E9\u30FC
-CTL_OpenAction=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u3092\u8868\u793A
-CTL_OpenHelpAction=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u30D8\u30EB\u30D7
-DeleteFollwUpTagAction.displayName=\u30D5\u30A9\u30ED\u30FC\u30A2\u30C3\u30D7\u30BF\u30B0\u3092\u524A\u9664
+# {0} - fileID
+AddDrawableTagAction.addTagsToFiles.alert=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30bf\u30b0\u4ed8\u3051\u3067\u304d\u307e\u305b\u3093\u3002
+AddDrawableTagAction.displayName.plural=\u30d5\u30a1\u30a4\u30eb\u3092\u30bf\u30b0\u4ed8\u3051
+AddDrawableTagAction.displayName.singular=\u30d5\u30a1\u30a4\u30eb\u3092\u30bf\u30b0\u4ed8\u3051
+AddTagAction.menuItem.newTag=\u65b0\u898f\u30bf\u30b0...
+AddTagAction.menuItem.noTags=\u30bf\u30b0\u306a\u3057
+AddTagAction.menuItem.quickTag=\u30af\u30a4\u30c3\u30af\u30bf\u30b0
+AddTagAction.menuItem.tagAndComment=\u30bf\u30b0\u3068\u30b3\u30e1\u30f3\u30c8...
+Back_diplayName=\u623b\u308b
+CategorizeAction.displayName=\u5206\u985e
+# {0} - fileID\u756a\u53f7
+CategorizeDrawableFileTask.errorUnable.msg={0} \u3092\u5206\u985e\u3067\u304d\u307e\u305b\u3093\u3002
+CategorizeDrawableFileTask.errorUnable.title=\u30a8\u30e9\u30fc\u3092\u5206\u985e\u4e2d\u3067\u3059
+CategorizeGroupAction.dontShowAgain=\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u518d\u8868\u793a\u3057\u306a\u3044
+CategorizeGroupAction.fileCountHeader=\u6b21\u306e\u30ab\u30c6\u30b4\u30ea\u30fc\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u81ea\u8eab\u306e\u30ab\u30c6\u30b4\u30ea\u30fc\u3092\u4e0a\u66f8\u304d\u3057\u307e\u3059:
+# {0} - \u305d\u306e\u30ab\u30c6\u30b4\u30ea\u30fc\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u6570
+# {1} - \u30ab\u30c6\u30b4\u30ea\u30fc\u540d
+CategorizeGroupAction.fileCountMessage={1} \u3092\u6301\u3064 {0}
+CategorizeGroupAction.OverwriteButton.text=\u4e0a\u66f8\u304d
+CTL_AddImage=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u3092\u8868\u793a
+CTL_OpenAction=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b
+# {0} - fileID
+DeleteDrawableTagAction.deleteTag.alert=\u30d5\u30a1\u30a4\u30eb {0} \u3092\u30bf\u30b0\u306a\u3057\u306b\u3067\u304d\u307e\u305b\u3093\u3002
+DeleteDrawableTagAction.displayName=\u30d5\u30a1\u30a4\u30eb\u30bf\u30b0\u3092\u524a\u9664
+DeleteFollwUpTagAction.displayName=\u30d5\u30a9\u30ed\u30fc\u30a2\u30c3\u30d7\u30bf\u30b0\u3092\u524a\u9664
Forward.displayName=\u9032\u3080
-MediaViewImagePanel.externalViewerButton.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u30FC\u3067\u958B\u304F
-NextUnseenGroup.markGroupSeen=\u78BA\u8A8D\u6E08\u307F\u306E\u30B0\u30EB\u30FC\u30D7\u3092\u30DE\u30FC\u30AF\u3059\u308B
-NextUnseenGroup.nextUnseenGroup=\u6B21\u306E\u672A\u78BA\u8A8D\u306E\u30B0\u30EB\u30FC\u30D7
-OpenAction.stale.confDlg.msg=\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304C\u6700\u65B0\u3067\u306F\u306A\u3044\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u66F4\u65B0\u3057\u3066\u3001\u65B0\u305F\u306A\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u7D50\u679C\u3092\u78BA\u8A8D\u3057\u307E\u3059\u304B\uFF1F\n\u300C\u306F\u3044\u300D\u3092\u9078\u629E\u3059\u308C\u3070\u3001\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u3092\u66F4\u65B0\u3057\u3001\u65B0\u305F\u306A\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u78BA\u8A8D\u3059\u308B\u3053\u3068\u304C\u53EF\u80FD\u306B\u306A\u308A\u307E\u3059\u3002
-OpenAction.stale.confDlg.title=\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC
-OpenExternalViewerAction.displayName=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u30FC
-RedoAction.name=\u518D\u5B9F\u884C
-UndoAction.displayName=\u53D6\u308A\u6D88\u3057
\ No newline at end of file
+MediaViewImagePanel.externalViewerButton.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f
+NextUnseenGroup.allGroupsSeen=\u3059\u3079\u3066\u306e\u30b0\u30eb\u30fc\u30d7\u304c\u8868\u793a\u3055\u308c\u307e\u3057\u305f
+NextUnseenGroup.markGroupSeen=\u8868\u793a\u3057\u305f\u30b0\u30eb\u30fc\u30d7\u3092\u30de\u30fc\u30af\u3059\u308b
+NextUnseenGroup.nextUnseenGroup=\u6b21\u306e\u975e\u8868\u793a\u30b0\u30eb\u30fc\u30d7
+OpenAction.dialogTitle=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+OpenAction.multiUserDialog.checkBox.text=\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u518d\u8868\u793a\u3057\u307e\u305b\u3093\u3002
+OpenAction.multiUserDialog.ContentText=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306f\u30b7\u30f3\u30b0\u30eb\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u3068\u306f\u7570\u306a\u308b\u65b9\u6cd5\u3067\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u306b\u5bfe\u3057\u3066\u66f4\u65b0\u3057\u307e\u3059\u3002\u9855\u8457:\n\nIf \u304a\u4f7f\u3044\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u304c\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u5206\u6790\u4e2d\u3067\u3059\u3002\u30d5\u30a1\u30a4\u30eb\u304c\u5206\u6790\u3055\u308c\u308b\u3068(\u30cf\u30c3\u30b7\u30e5\u5316\u3001EXIF\u306a\u3069)\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u66f4\u65b0\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u30b7\u30f3\u30b0\u30eb\u30e6\u30fc\u30b6\u30fc\u30b1\u30fc\u30b9\u3068\u540c\u3058\u6319\u52d5\u3067\u3059\u3002\n\nIf \u6240\u5c5e\u5148\u306e\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u30af\u30e9\u30b9\u30bf\u30fc\u306e\u5225\u306e\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u304c\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u5206\u6790\u4e2d\u3067\u3059\u3002\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u8d77\u52d5\u3059\u308b\u3068\u3001\u305d\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u4e0a\u306e\u5225\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u66f4\u65b0\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u305d\u306e\u4ed6\u306e\u30ce\u30fc\u30c9\u306e\u7d50\u679c\u306b\u57fa\u3065\u3044\u3066\u30ed\u30fc\u30ab\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u518d\u69cb\u7bc9\u3055\u308c\u307e\u3059\u3002
+OpenAction.multiUserDialog.Header=\u30de\u30eb\u30c1\u30e6\u30fc\u30b6\u30fc\u306e\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+OpenAction.noControllerDialog.header=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u3092\u958b\u3051\u307e\u305b\u3093
+OpenAction.noControllerDialog.text=\u521d\u671f\u5316\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\n\u8a73\u7d30\u306f\u30ed\u30b0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+OpenAction.notAnalyzedDlg.msg=\u8868\u793a\u5bfe\u8c61\u3068\u306a\u308b\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30d5\u30a1\u30a4\u30eb\u304c\u307e\u3060\u3042\u308a\u307e\u305b\u3093\u3002\nFileType\u307e\u305f\u306fEXIF\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+OpenAction.stale.confDlg.msg=\u30a4\u30e1\u30fc\u30b8/\u52d5\u753b\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u66f4\u65b0\u3057\u3066\u3055\u3089\u306a\u308b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u7d50\u679c\u3092\u30ea\u30c3\u30b9\u30f3\u3057\u307e\u3059\u304b?\n [\u306f\u3044] \u3092\u9078\u629e\u3059\u308b\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u66f4\u65b0\u3055\u308c\u3001\u3055\u3089\u306a\u308b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u30ea\u30c3\u30b9\u30f3\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002
+OpenAction.stale.confDlg.title=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+OpenExternalViewerAction.displayName=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc
+RedoAction.name=\u3084\u308a\u76f4\u3057
+UndoAction.displayName=\u5143\u306b\u623b\u3059
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/Bundle_ja.properties
index dca1145fd0..e611c05780 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/Bundle_ja.properties
@@ -1,23 +1,18 @@
-Category.five=CAT-5\uFF1A\u95A2\u9023\u7121\u3057
-Category.four=CAT-4\uFF1A\u898B\u672C\uFF0F\u6BD4\u8F03\u5BFE\u8C61\uFF08\u5185\u90E8\u4F7F\u7528\u306E\u307F\uFF09
-Category.one=CAT-1\uFF1A\u5150\u7AE5\u643E\u53D6\uFF08\u9055\u6CD5\uFF09
-Category.three=CAT-3\uFF1ACGI/\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\uFF08\u5150\u7AE5\u643E\u53D6\u7684\u306A\uFF09
-Category.two=CAT-2\uFF1A\u5150\u7AE5\u643E\u53D6\uFF08\u5408\u6CD5\uFF0F\u5E74\u9F62\u4E0D\u660E\uFF09
-Category.zero=CAT-0\uFF1A\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\u3055\u308C\u3066\u3044\u306A\u3044
-DrawableAttribute.analyzed=\u89E3\u6790\u6E08\u307F
-DrawableAttribute.cameraMake=\u30AB\u30E1\u30E9\u88FD\u9020\u8005
-DrawableAttribute.cameraModel=\u30AB\u30E1\u30E9\u578B\u756A
-DrawableAttribute.category=\u30AB\u30C6\u30B4\u30EA\u30FC
-DrawableAttribute.createdTime=\u4F5C\u6210\u65E5\u6642
-DrawableAttribute.hashSet=\u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8
-DrawableAttribute.height=\u9AD8\u3055
-DrawableAttribute.intObjID=\u5185\u90E8\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8ID
-DrawableAttribute.md5hash=MD\uFF15\u30CF\u30C3\u30B7\u30E5
-DrawableAttribute.mimeType=MIME\u30BF\u30A4\u30D7
-DrawableAttribute.modifiedTime=\u4FEE\u6B63\u65E5\u6642
-DrawableAttribute.name=\u540D\u524D
-DrawableAttribute.path=\u30D1\u30B9
-DrawableAttribute.tags=\u30BF\u30B0
-DrawableAttribute.width=\u5E45
-DrawableTagsManager.followUp=\u30D5\u30A9\u30ED\u30FC\u30A2\u30C3\u30D7
-VideoFile.getMedia.progress=\u30C7\u30A3\u30B9\u30AF\u306B\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u307F\u4E2D
\ No newline at end of file
+DrawableAttribute.analyzed=\u5206\u6790\u6e08\u307f
+DrawableAttribute.cameraMake=\u30ab\u30e1\u30e9\u578b\u5f0f
+DrawableAttribute.cameraModel=\u30ab\u30e1\u30e9\u30e2\u30c7\u30eb
+DrawableAttribute.category=\u30ab\u30c6\u30b4\u30ea\u30fc
+DrawableAttribute.createdTime=\u4f5c\u6210\u6e08\u307f\u6642\u523b
+DrawableAttribute.hashSet=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8
+DrawableAttribute.height=\u9ad8\u3055
+DrawableAttribute.intObjID=\u5185\u90e8\u30aa\u30d6\u30b8\u30a7\u30af\u30c8ID
+DrawableAttribute.md5hash=MD5\u30cf\u30c3\u30b7\u30e5
+DrawableAttribute.mimeType=MIME\u30bf\u30a4\u30d7
+DrawableAttribute.modifiedTime=\u4fee\u6b63\u6e08\u307f\u6642\u523b
+DrawableAttribute.name=\u540d\u524d
+DrawableAttribute.path=\u30d1\u30b9
+DrawableAttribute.tags=\u30bf\u30b0
+DrawableAttribute.width=\u5e45
+DrawableTagsManager.bookMark=\u30d6\u30c3\u30af\u30de\u30fc\u30af
+DrawableTagsManager.followUp=\u30d5\u30a9\u30ed\u30fc\u30a2\u30c3\u30d7
+VideoFile.getMedia.progress=\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u306b\u30c7\u30a3\u30b9\u30af\u3092\u66f8\u304d\u8fbc\u307f\u4e2d\u3067\u3059
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java
index 3e409f97fc..bae9894de9 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/DrawableDB.java
@@ -270,12 +270,10 @@ public final class DrawableDB {
private boolean prepareStatements() {
try {
- selectCountDataSourceIDs = prepareStatement("SELECT COUNT(*) FROM datasources WHERE ds_obj_id = ?"); //NON-NLS
- insertDataSourceStmt = prepareStatement("INSERT INTO datasources (ds_obj_id, drawable_db_build_status) VALUES (?,?)"); //NON-NLS
- updateDataSourceStmt = prepareStatement("UPDATE datasources SET drawable_db_build_status = ? WHERE ds_obj_id = ?"); //NON-NLS
+ insertDataSourceStmt = prepareStatement("INSERT INTO datasources (ds_obj_id, drawable_db_build_status) VALUES (?,?) ON CONFLICT (ds_obj_id) DO UPDATE SET drawable_db_build_status = ?"); //NON-NLS
deleteDataSourceStmt = prepareStatement("DELETE FROM datasources where ds_obj_id = ?"); //NON-NLS
insertFileStmt = prepareStatement("INSERT OR IGNORE INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed) VALUES (?,?,?,?,?,?,?,?,?)"); //NON-NLS
- updateFileStmt = prepareStatement("INSERT OR REPLACE INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed) VALUES (?,?,?,?,?,?,?,?,?)"); //NON-NLS
+ updateFileStmt = prepareStatement("INSERT INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed) VALUES (?,?,?,?,?,?,?,?,?) ON CONFLICT (obj_id) DO UPDATE SET data_source_obj_id = ?, path = ?, name = ?, created_time = ?, modified_time = ?, make = ?, model = ?, analyzed = ?"); //NON-NLS
deleteFileStmt = prepareStatement("DELETE FROM drawable_files WHERE obj_id = ?"); //NON-NLS
insertHashSetStmt = prepareStatement("INSERT OR IGNORE INTO hash_sets (hash_set_name) VALUES (?)"); //NON-NLS
selectHashSetStmt = prepareStatement("SELECT hash_set_id FROM hash_sets WHERE hash_set_name = ?"); //NON-NLS
@@ -1561,21 +1559,50 @@ public final class DrawableDB {
dbWriteLock();
try {
- // "INSERT OR IGNORE/ INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed)"
- stmt.setLong(1, f.getId());
- stmt.setLong(2, f.getAbstractFile().getDataSourceObjectId());
- stmt.setString(3, f.getDrawablePath());
- stmt.setString(4, f.getName());
- stmt.setLong(5, f.getCrtime());
- stmt.setLong(6, f.getMtime());
- if (hasExif) {
- stmt.setString(7, f.getMake());
- stmt.setString(8, f.getModel());
+ if (addGroups) {
+ // "INSERT INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed) VALUES (?,?,?,?,?,?,?,?,?) ON CONFLICT (obj_id) DO UPDATE SET data_source_obj_id = ?, path = ?, name = ?, created_time = ?, modified_time = ?, make = ?, model = ?, analyzed = ?"
+ stmt.setLong(1, f.getId());
+ stmt.setLong(2, f.getAbstractFile().getDataSourceObjectId());
+ stmt.setLong(10, f.getAbstractFile().getDataSourceObjectId());
+ stmt.setString(3, f.getDrawablePath());
+ stmt.setString(11, f.getDrawablePath());
+ stmt.setString(4, f.getName());
+ stmt.setString(12, f.getName());
+ stmt.setLong(5, f.getCrtime());
+ stmt.setLong(13, f.getCrtime());
+ stmt.setLong(6, f.getMtime());
+ stmt.setLong(14, f.getMtime());
+ if (hasExif) {
+ stmt.setString(7, f.getMake());
+ stmt.setString(15, f.getMake());
+ stmt.setString(8, f.getModel());
+ stmt.setString(16, f.getModel());
+ } else {
+ stmt.setString(7, "");
+ stmt.setString(15, "");
+ stmt.setString(8, "");
+ stmt.setString(16, "");
+ }
+ stmt.setBoolean(9, f.isAnalyzed());
+ stmt.setBoolean(17, f.isAnalyzed());
} else {
- stmt.setString(7, "");
- stmt.setString(8, "");
+ // "INSERT OR IGNORE/ INTO drawable_files (obj_id, data_source_obj_id, path, name, created_time, modified_time, make, model, analyzed)"
+ stmt.setLong(1, f.getId());
+ stmt.setLong(2, f.getAbstractFile().getDataSourceObjectId());
+ stmt.setString(3, f.getDrawablePath());
+ stmt.setString(4, f.getName());
+ stmt.setLong(5, f.getCrtime());
+ stmt.setLong(6, f.getMtime());
+ if (hasExif) {
+ stmt.setString(7, f.getMake());
+ stmt.setString(8, f.getModel());
+ } else {
+ stmt.setString(7, "");
+ stmt.setString(8, "");
+ }
+ stmt.setBoolean(9, f.isAnalyzed());
}
- stmt.setBoolean(9, f.isAnalyzed());
+
stmt.executeUpdate();
// Update the list of file IDs in memory
@@ -1716,22 +1743,11 @@ public final class DrawableDB {
public void insertOrUpdateDataSource(long dataSourceObjectID, DrawableDbBuildStatusEnum status) throws SQLException {
dbWriteLock();
try {
- // SELECT COUNT(*) FROM datasources WHERE ds_obj_id = ?
- selectCountDataSourceIDs.setLong(1, dataSourceObjectID);
- try (ResultSet resultSet = selectCountDataSourceIDs.executeQuery()) {
- resultSet.next();
- if (resultSet.getInt(1) == 0) {
- // INSERT INTO datasources (ds_obj_id, drawable_db_build_status) VALUES (?,?)
- insertDataSourceStmt.setLong(1, dataSourceObjectID);
- insertDataSourceStmt.setString(2, status.name());
- insertDataSourceStmt.execute();
- } else {
- // UPDATE datasources SET drawable_db_build_status = ? WHERE ds_obj_id = ?
- updateDataSourceStmt.setString(1, status.name());
- updateDataSourceStmt.setLong(2, dataSourceObjectID);
- updateDataSourceStmt.executeUpdate();
- }
- }
+ // INSERT INTO datasources (ds_obj_id, drawable_db_build_status) values (?,?) ON CONFLICT(ds_obj_id) DO UPDATE SET drawable_db_build_status = ?;
+ insertDataSourceStmt.setLong(1, dataSourceObjectID);
+ insertDataSourceStmt.setString(2, status.name());
+ insertDataSourceStmt.setString(3, status.name());
+ insertDataSourceStmt.executeUpdate();
} finally {
dbWriteUnlock();
}
@@ -2150,6 +2166,7 @@ public final class DrawableDB {
throw ex;
} finally {
dbWriteUnlock();
+
}
}
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/grouping/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/grouping/Bundle_ja.properties
index 5dc38728de..8038238888 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/grouping/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/datamodel/grouping/Bundle_ja.properties
@@ -1,6 +1,6 @@
-GroupSortBy.groupName=\u30B0\u30EB\u30FC\u30D7\u540D
-GroupSortBy.groupSize=\u30B0\u30EB\u30FC\u30D7\u30B5\u30A4\u30BA
-GroupSortBy.none=\u7121\u3057
-GroupSortBy.priority=\u512A\u5148\u5EA6
-ReGroupTask.displayTitle={0}\u306B\u57FA\u3065\u3044\u3066\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u5EA6\u30B0\u30EB\u30FC\u30D7\u5316\u3002{2}\u306E\u9806\u756A\u3067{1}\u306B\u3088\u308A\u30BD\u30FC\u30C8\u3002
-ReGroupTask.progressUpdate={0} \: {1}\u306B\u57FA\u3065\u3044\u3066\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u5EA6\u30B0\u30EB\u30FC\u30D7\u5316
\ No newline at end of file
+GroupSortBy.groupName=\u30b0\u30eb\u30fc\u30d7\u540d
+GroupSortBy.groupSize=\u30b0\u30eb\u30fc\u30d7\u30b5\u30a4\u30ba
+GroupSortBy.none=\u306a\u3057
+GroupSortBy.priority=\u512a\u5148\u5ea6
+# {0} - groupBy\u5c5e\u6027\u540d
+ReGroupTask.displayTitle={0} \u3067\u518d\u30b0\u30eb\u30fc\u30d7\u5316\u4e2d\u3067\u3059:
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Bundle_ja.properties
index 7a18ada46d..5b68e9874b 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/Bundle_ja.properties
@@ -1,13 +1,20 @@
-StatuBar.toolTip=\u4E00\u90E8\u306E\u30C7\u30FC\u30BF\u304C\u6700\u65B0\u3067\u306F\u306A\u3044\u304B\u3082\u3057\u308C\u307E\u305B\u3093\u3002\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u30C7\u30FC\u30BF\u3092\u66F4\u65B0\u3059\u308B\u305F\u3081\u3001\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u304C\u5B8C\u4E86\u5F8C\u30C4\u30FC\u30EB|\u30AA\u30D7\u30B7\u30E7\u30F3|\u30A4\u30E1\u30FC\u30B8\uFF0F\u30D3\u30C7\u30AA\u30AE\u30E3\u30E9\u30EA\u30FC\u3067\u30A4\u30E1\u30FC\u30B8\u30AE\u30E3\u30E9\u30EA\u30FC\u3092\u6709\u52B9\u5316\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-StatusBar.bgTaskLabel.text=\u518D\u5EA6\u30B0\u30EB\u30FC\u30D7\u5316
-StatusBar.fileUpdateTaskLabel.text=\u30D5\u30A1\u30A4\u30EB\u66F4\u65B0\u30BF\u30B9\u30AF
-SummaryTablePane.catColumn=\u30AB\u30C6\u30B4\u30EA\u30FC
-SummaryTablePane.countColumn=\#\u30D5\u30A1\u30A4\u30EB
-Toolbar.ascRadio=\u30A2\u30BB\u30F3\u30C9\uFF08\u4E0B\u304B\u3089\u4E0A\u3078\uFF09
-Toolbar.categoryImageViewLabel=\u30B0\u30EB\u30FC\u30D7\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\uFF1A
-Toolbar.descRadio=\u30C7\u30A3\u30BB\u30F3\u30C9\uFF08\u4E0A\u304B\u3089\u4E0B\u3078\uFF09
-Toolbar.groupByLabel=\u30B0\u30EB\u30FC\u30D7\u30D0\u30A4\uFF1A
-Toolbar.sortByLabel=\u30BD\u30FC\u30C8\u30D0\u30A4\uFF1A
-Toolbar.tagImageViewLabel=\u30B0\u30EB\u30FC\u30D7\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u30BF\u30B0\uFF1A
-Toolbar.thumbnailSizeLabel=\u30B5\u30E0\u30CD\u30A4\u30EB\u30B5\u30A4\u30BA\uFF08px\uFF09\uFF1A
-VideoPlayer.errNotice={0}\n\u8A73\u7D30\u3092\u30ED\u30B0\u3067\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
\ No newline at end of file
+StatuBar.toolTip=\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u6700\u65b0\u3067\u306f\u306a\u3044\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002 \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u5b8c\u4e86\u5f8c\u3001[\u30c4\u30fc\u30eb] | [\u30aa\u30d7\u30b7\u30e7\u30f3] | [\u30a4\u30e1\u30fc\u30b8 / \u52d5\u753b\u30ae\u30e3\u30e9\u30ea\u30fc] \u3067 [\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc] \u3092\u6709\u52b9\u306b\u3057\u3001\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u306e\u30c7\u30fc\u30bf\u3092\u66f4\u65b0\u3057\u307e\u3059\u3002
+StatusBar.bgTaskLabel.text=\u518d\u30b0\u30eb\u30fc\u30d7\u5316\u4e2d\u3067\u3059
+StatusBar.fileUpdateTaskLabel.text=\ \u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u30bf\u30b9\u30af
+SummaryTablePane.catColumn=\u30ab\u30c6\u30b4\u30ea\u30fc
+SummaryTablePane.countColumn=\# \u30d5\u30a1\u30a4\u30eb
+Toolbar.ascRadio=\u6607\u9806
+Toolbar.categoryImageViewLabel=\u30b0\u30eb\u30fc\u30d7\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u985e:
+Toolbar.descRadio=\u964d\u9806
+Toolbar.getDataSources.errMessage=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
+Toolbar.groupByLabel=\u6b21\u3067\u30b0\u30eb\u30fc\u30d7\u5316:
+Toolbar.nonPathGroupingWarning.content=\u518d\u30b0\u30eb\u30fc\u30d7\u5316\u3092\u7d9a\u884c\u3057\u307e\u3059\u304b?
+Toolbar.nonPathGroupingWarning.header=\u30d1\u30b9\u4ee5\u5916\u306e\u5c5e\u6027\u306b\u3088\u308b\u30b0\u30eb\u30fc\u30d7\u5316\u306f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30d5\u30a3\u30eb\u30bf\u30fc\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002\n\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u3068\u30b0\u30eb\u30fc\u30d7\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002
+Toolbar.nonPathGroupingWarning.title=\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc
+Toolbar.sortByLabel=\u6b21\u3067\u30bd\u30fc\u30c8:
+Toolbar.sortHelp=\u30bd\u30fc\u30c8\u9806(\u6607\u9806/\u964d\u9806)\u306f\u30a4\u30e1\u30fc\u30b8\u30ae\u30e3\u30e9\u30ea\u30fc\u304c\u7dad\u6301\u3059\u308b\u975e\u8868\u793a\u30b0\u30eb\u30fc\u30d7\u306e\u30ad\u30e5\u30fc\u306b\u5f71\u97ff\u3057\u307e\u3059\u304c\u3001\u3053\u306e\u30ad\u30e5\u30fc\u3078\u306e\u5909\u66f4\u306f[\u6b21\u306e\u975e\u8868\u793a\u30b0\u30eb\u30fc\u30d7]\u30dc\u30bf\u30f3\u304c\u62bc\u3055\u308c\u308b\u307e\u3067\u660e\u3089\u304b\u306b\u306a\u308a\u307e\u305b\u3093\u3002
+Toolbar.sortHelpTitle=\u30b0\u30eb\u30fc\u30d7\u306e\u4e26\u3079\u66ff\u3048
+Toolbar.tagImageViewLabel=\u30b0\u30eb\u30fc\u30d7\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30bf\u30b0\u4ed8\u3051:
+Toolbar.thumbnailSizeLabel=\u30b5\u30e0\u30cd\u30a4\u30eb\u30b5\u30a4\u30ba(px):
+# {0} - \u4f8b\u5916\u30bf\u30a4\u30d7
+VideoPlayer.errNotice={0}\n\u8a73\u7d30\u306f\u30ed\u30b0\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/Bundle_ja.properties
index 2d5f17cc1c..5a7a8f3b89 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/drawableviews/Bundle_ja.properties
@@ -1,18 +1,24 @@
-DrawableTileBase.externalViewerAction.text=\u5916\u90E8\u30D3\u30E5\u30FC\u30A2\u30FC\u3067\u958B\u304F
-DrawableTileBase.menuItem.extractFiles=\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA
-DrawableTileBase.menuItem.showContentViewer=\u30B3\u30F3\u30C6\u30F3\u30C4\u30D3\u30E5\u30FC\u30A2\u30FC\u3092\u8868\u793A
-DrawableUIBase.errorLabel.OOMText=\u30E1\u30E2\u30EA\u4E0D\u8DB3
-DrawableUIBase.errorLabel.text=\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F
-GroupPane.bottomLabel.displayText=\u30B0\u30EB\u30FC\u30D7\u30D3\u30E5\u30FC\u30A4\u30F3\u30B0\u5C65\u6B74\uFF1A
-GroupPane.catContainerLabel.displayText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\uFF1A
-GroupPane.catHeadingLabel.displayText=\u30AB\u30C6\u30B4\u30EA\u30FC\uFF1A
-GroupPane.gridViewContextMenuItem.extractFiles=\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA
-GroupPane.headerString={0} -- {1} \u30CF\u30C3\u30B7\u30E5\u30BB\u30C3\u30C8\u30D2\u30C3\u30C8\uFF0F{2}\u30D5\u30A1\u30A4\u30EB
-GroupPane.hederLabel.displayText=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u30BF\u30B0\uFF1A
-MediaLoadTask.messageText={0}\u30D3\u30C7\u30AA\u3092\u8AAD\u307F\u53D6\u308A\u4E2D
-MetaDataPane.attributeColumn.headingName=\u5C5E\u6027
-MetaDataPane.copyMenuItem.text=\u30B3\u30D4\u30FC
-MetaDataPane.tableView.placeholder=\u3053\u3053\u306B\u8A73\u7D30\u3092\u8868\u793A\u3059\u308B\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044\u3002
-MetaDataPane.titledPane.displayName=\u8A73\u7D30
-MetaDataPane.valueColumn.headingName=\u30D0\u30EA\u30E5\u30FC
-SlideShowView.supplementalText={1}\u306E\u3046\u3061{0}\u304C\u30B0\u30EB\u30FC\u30D7\u306B\u3042\u308A\u307E\u3059
\ No newline at end of file
+DrawableTileBase.externalViewerAction.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f
+DrawableTileBase.menuItem.extractFiles=\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa
+DrawableTileBase.menuItem.showContentViewer=\u30b3\u30f3\u30c6\u30f3\u30c4\u30d3\u30e5\u30fc\u30ef\u30fc\u3092\u8868\u793a
+DrawableUIBase.errorLabel.OOMText=\u30e1\u30e2\u30ea\u30fc\u4e0d\u8db3
+DrawableUIBase.errorLabel.text=\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f
+GroupPane.bottomLabel.displayText=\u30b0\u30eb\u30fc\u30d7\u95b2\u89a7\u5c65\u6b74:
+GroupPane.catContainerLabel.displayText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u985e:
+GroupPane.catHeadingLabel.displayText=\u30ab\u30c6\u30b4\u30ea\u30fc:
+GroupPane.gridViewContextMenuItem.extractFiles=\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa
+# {0} - \u30c7\u30d5\u30a9\u30eb\u30c8\u30b0\u30eb\u30fc\u30d7\u540d
+# {1} - \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d2\u30c3\u30c8\u30ab\u30a6\u30f3\u30c8
+# {2} - \u30b0\u30eb\u30fc\u30d7\u30b5\u30a4\u30ba
+GroupPane.headerString={0} -- {1} \u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30d2\u30c3\u30c8\u6570 / {2} \u30d5\u30a1\u30a4\u30eb\u6570
+GroupPane.hederLabel.displayText=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u30bf\u30b0\u4ed8\u3051:
+# {0} - \u30d5\u30a1\u30a4\u30eb\u540d
+MediaLoadTask.messageText=\u52d5\u753b\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059: {0}
+MetaDataPane.attributeColumn.headingName=\u5c5e\u6027
+MetaDataPane.copyMenuItem.text=\u30b3\u30d4\u30fc
+MetaDataPane.tableView.placeholder=\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u80a2\u3066\u8a73\u7d30\u3092\u3053\u3053\u306b\u8868\u793a\u3057\u307e\u3059\u3002
+MetaDataPane.titledPane.displayName=\u8a73\u7d30
+MetaDataPane.valueColumn.headingName=\u5024
+# {0} - \u30d5\u30a1\u30a4\u30ebID\u756a\u53f7
+# {1} - \u30d5\u30a1\u30a4\u30ebID\u6570
+SlideShowView.supplementalText=\u30b0\u30eb\u30fc\u30d7\u306e {0} / {1}
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/Bundle_ja.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/Bundle_ja.properties
index 659092aa6d..dbba4fabe0 100644
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/Bundle_ja.properties
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/gui/navpanel/Bundle_ja.properties
@@ -1,10 +1,11 @@
-GroupComparators.groupName=\u30B0\u30EB\u30FC\u30D7\u540D
-GroupComparators.groupSize=\u30B0\u30EB\u30FC\u30D7\u30B5\u30A4\u30BA
-GroupComparators.hitCount=\u30D2\u30C3\u30C8\u30AB\u30A6\u30F3\u30C8
-GroupComparators.hitDensity=\u30D2\u30C3\u30C8\u5BC6\u5EA6
-GroupComparators.uncategorizedCount=\u30AB\u30C6\u30B4\u30E9\u30A4\u30BA\u3055\u308C\u3066\u3044\u306A\u3044\u30AB\u30A6\u30F3\u30C8
-GroupTree.displayName.allGroups=\u5168\u3066\u306E\u30B0\u30EB\u30FC\u30D7
-HashHitGroupList.displayName.onlyHashHits=\u30CF\u30C3\u30B7\u30E5\u30D2\u30C3\u30C8\u306E\u307F
-NavPanel.ascRadio.text=\u30A2\u30BB\u30F3\u30C9\uFF08\u4E0B\u304B\u3089\u4E0A\u3078\uFF09
-NavPanel.descRadio.text=\u30C7\u30A3\u30BB\u30F3\u30C9\uFF08\u4E0A\u304B\u3089\u4E0B\u3078\uFF09
-NavPanel.sortByBoxLabel.text=\u30BD\u30FC\u30C8\u30D0\u30A4\uFF1A
\ No newline at end of file
+GroupComparators.groupName=\u30b0\u30eb\u30fc\u30d7\u540d
+GroupComparators.groupSize=\u30b0\u30eb\u30fc\u30d7\u30b5\u30a4\u30ba
+GroupComparators.hitCount=\u30d2\u30c3\u30c8\u30ab\u30a6\u30f3\u30c8
+GroupComparators.hitDensity=\u30d2\u30c3\u30c8\u306e\u5bc6\u5ea6
+GroupComparators.uncategorizedCount=\u5206\u985e\u3055\u308c\u3066\u3044\u306a\u3044\u30ab\u30a6\u30f3\u30c8
+GroupTree.displayName.allGroups=\u3059\u3079\u3066\u306e\u30b0\u30eb\u30fc\u30d7
+HashHitGroupList.displayName.onlyHashHits=\u30cf\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u6570\u306e\u307f
+NavPanel.ascRadio.text=\u6607\u9806
+NavPanel.descRadio.text=\u964d\u9806
+NavPanel.placeHolder.text=\u30b0\u30eb\u30fc\u30d7\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+NavPanel.sortByBoxLabel.text=\u6b21\u3067\u30bd\u30fc\u30c8:
diff --git a/InternalPythonModules/android/fbmessenger.py b/InternalPythonModules/android/fbmessenger.py
index c19ae87796..e3514e2b17 100644
--- a/InternalPythonModules/android/fbmessenger.py
+++ b/InternalPythonModules/android/fbmessenger.py
@@ -316,19 +316,29 @@ class FBMessengerAnalyzer(general.AndroidComponentAnalyzer):
if (attachment is not None):
attachmentDict = json.loads(attachment)[0]
if (attachmentDict["mime_type"] == "image/jpeg"):
- urlAttachments = self.getJPGListFromJson(attachmentDict["urls"])
+ urls = attachmentDict.get("urls", None)
+ if (urls is not None):
+ urlAttachments = self.getJPGListFromJson(urls)
elif (attachmentDict["mime_type"] == "video/mp4"):
# filename does not have an associated path with it so it will be ignored
- urlAttachments = self.getJPGListFromJson(attachmentDict["urls"])
- urlAttachments.add(URLAttachment(attachmentDict["video_data_url"]))
- urlAttachments.add(URLAttachment(attachmentDict["video_data_thumbnail_url"]))
-
+
+ urls = attachmentDict.get("urls", None)
+ if (urls is not None):
+ urlAttachments = self.getJPGListFromJson(urls)
+
+ video_data_url = attachmentDict.get("video_data_url", None)
+ if (video_data_url is not None):
+ urlAttachments.add(URLAttachment(video_data_url))
+ video_data_thumbnail_url = attachmentDict.get("video_data_thumbnail_url", None)
+
+ if (video_data_thumbnail_url is not None):
+ urlAttachments.add(URLAttachment(video_data_thumbnail_url))
elif (attachmentDict["mime_type"] == "audio/mpeg"):
- if (attachmentDict["audio_uri"] == ""):
+ audioUri = attachmentDict.get("audio_uri", None)
+ if (audioUri is None or audioUri == ""):
continue
else:
- audioUri = attachmentDict["audio_uri"]
fileAttachments.add(FileAttachment(currentCase.getSleuthkitCase(), threadsDb.getDBFile().getDataSource(), audioUri.replace("file://","")))
else:
@@ -336,8 +346,9 @@ class FBMessengerAnalyzer(general.AndroidComponentAnalyzer):
if (pendingAttachment is not None):
pendingAttachmentDict = json.loads(pendingAttachment)[0]
- pendingAttachmentUri = pendingAttachmentDict["uri"]
- fileAttachments.add(FileAttachment(currentCase.getSleuthkitCase(), threadsDb.getDBFile().getDataSource(), pendingAttachmentUri.replace("file://","")))
+ pendingAttachmentUri = pendingAttachmentDict.get("uri", None)
+ if (pendingAttachmentUri is not None):
+ fileAttachments.add(FileAttachment(currentCase.getSleuthkitCase(), threadsDb.getDBFile().getDataSource(), pendingAttachmentUri.replace("file://","")))
messageAttachments = MessageAttachments(fileAttachments, urlAttachments)
diff --git a/InternalPythonModules/android/skype.py b/InternalPythonModules/android/skype.py
index d8b79ac7fe..721fc92421 100644
--- a/InternalPythonModules/android/skype.py
+++ b/InternalPythonModules/android/skype.py
@@ -46,6 +46,8 @@ from org.sleuthkit.datamodel import Account
from org.sleuthkit.datamodel.blackboardutils import CommunicationArtifactsHelper
from org.sleuthkit.datamodel.blackboardutils.CommunicationArtifactsHelper import MessageReadStatus
from org.sleuthkit.datamodel.blackboardutils.CommunicationArtifactsHelper import CommunicationDirection
+from org.sleuthkit.datamodel.blackboardutils import FileAttachment
+from org.sleuthkit.datamodel.blackboardutils import MessageAttachments
from TskMessagesParser import TskMessagesParser
from TskContactsParser import TskContactsParser
from TskCallLogsParser import TskCallLogsParser
@@ -137,7 +139,7 @@ class SkypeAnalyzer(general.AndroidComponentAnalyzer):
)
self.parse_contacts(skype_db, helper)
self.parse_calllogs(skype_db, helper)
- self.parse_messages(skype_db, helper)
+ self.parse_messages(skype_db, helper, current_case)
except NoCurrentCaseException as ex:
self._logger.log(Level.WARNING, "No case currently open.", ex)
self._logger.log(Level.WARNING, traceback.format_exc())
@@ -209,23 +211,30 @@ class SkypeAnalyzer(general.AndroidComponentAnalyzer):
"Failed to post call log artifact to the blackboard", ex)
self._logger.log(Level.WARNING, traceback.format_exc())
- def parse_messages(self, skype_db, helper):
+ def parse_messages(self, skype_db, helper, current_case):
#Query for messages and iterate row by row adding
#each message artifact
try:
messages_parser = SkypeMessagesParser(skype_db)
while messages_parser.next():
- helper.addMessage(
- messages_parser.get_message_type(),
- messages_parser.get_message_direction(),
- messages_parser.get_phone_number_from(),
- messages_parser.get_phone_number_to(),
- messages_parser.get_message_date_time(),
- messages_parser.get_message_read_status(),
- messages_parser.get_message_subject(),
- messages_parser.get_message_text(),
- messages_parser.get_thread_id()
- )
+ message_artifact = helper.addMessage(
+ messages_parser.get_message_type(),
+ messages_parser.get_message_direction(),
+ messages_parser.get_phone_number_from(),
+ messages_parser.get_phone_number_to(),
+ messages_parser.get_message_date_time(),
+ messages_parser.get_message_read_status(),
+ messages_parser.get_message_subject(),
+ messages_parser.get_message_text(),
+ messages_parser.get_thread_id()
+ )
+
+ if (messages_parser.get_file_attachment() is not None):
+ file_attachments = ArrayList()
+ file_attachments.add(FileAttachment(current_case.getSleuthkitCase(), skype_db.getDBFile().getDataSource(), messages_parser.get_file_attachment()))
+ message_attachments = MessageAttachments(file_attachments, [])
+ helper.addAttachments(message_artifact, message_attachments)
+
messages_parser.close()
except SQLException as ex:
#Error parsing Skype db
@@ -425,12 +434,6 @@ class SkypeMessagesParser(TskMessagesParser):
content = self.result_set.getString("content")
if content is not None:
- file_path = self.result_set.getString("device_gallery_path")
-
- #if a file name and file path are associated with a message, append it
- if file_path is not None:
- return general.appendAttachmentList(content, [file_path])
-
return content
return super(SkypeMessagesParser, self).get_message_text()
@@ -440,3 +443,11 @@ class SkypeMessagesParser(TskMessagesParser):
if group_ids is not None:
return self.result_set.getString("conversation_id")
return super(SkypeMessagesParser, self).get_thread_id()
+
+
+ def get_file_attachment(self):
+ if (self.result_set.getString("device_gallery_path") is None):
+ return None
+ else:
+ return self.result_set.getString("device_gallery_path")
+
diff --git a/InternalPythonModules/android/whatsapp.py b/InternalPythonModules/android/whatsapp.py
index 438784f3e2..a91c21375b 100644
--- a/InternalPythonModules/android/whatsapp.py
+++ b/InternalPythonModules/android/whatsapp.py
@@ -45,6 +45,9 @@ from org.sleuthkit.datamodel import Account
from org.sleuthkit.datamodel.blackboardutils import CommunicationArtifactsHelper
from org.sleuthkit.datamodel.blackboardutils.CommunicationArtifactsHelper import MessageReadStatus
from org.sleuthkit.datamodel.blackboardutils.CommunicationArtifactsHelper import CommunicationDirection
+from org.sleuthkit.datamodel.blackboardutils import FileAttachment
+from org.sleuthkit.datamodel.blackboardutils import URLAttachment
+from org.sleuthkit.datamodel.blackboardutils import MessageAttachments
from TskMessagesParser import TskMessagesParser
from TskContactsParser import TskContactsParser
from TskCallLogsParser import TskCallLogsParser
@@ -151,7 +154,7 @@ class WhatsAppAnalyzer(general.AndroidComponentAnalyzer):
current_case.getSleuthkitCase(), self._PARSER_NAME,
calllog_and_message_db.getDBFile(), Account.Type.WHATSAPP)
self.parse_calllogs(calllog_and_message_db, helper)
- self.parse_messages(dataSource, calllog_and_message_db, helper)
+ self.parse_messages(dataSource, calllog_and_message_db, helper, current_case)
except NoCurrentCaseException as ex:
#If there is no current case, bail out immediately.
@@ -227,24 +230,32 @@ class WhatsAppAnalyzer(general.AndroidComponentAnalyzer):
"Error posting calllog artifact to the blackboard.", ex)
self._logger.log(Level.WARNING, traceback.format_exc())
- def parse_messages(self, dataSource, messages_db, helper):
+ def parse_messages(self, dataSource, messages_db, helper, current_case):
try:
messages_db.attachDatabase(dataSource, "wa.db",
messages_db.getDBFile().getParentPath(), "wadb")
messages_parser = WhatsAppMessagesParser(messages_db)
while messages_parser.next():
- helper.addMessage(
- messages_parser.get_message_type(),
- messages_parser.get_message_direction(),
- messages_parser.get_phone_number_from(),
- messages_parser.get_phone_number_to(),
- messages_parser.get_message_date_time(),
- messages_parser.get_message_read_status(),
- messages_parser.get_message_subject(),
- messages_parser.get_message_text(),
- messages_parser.get_thread_id()
- )
+ message_artifact = helper.addMessage(
+ messages_parser.get_message_type(),
+ messages_parser.get_message_direction(),
+ messages_parser.get_phone_number_from(),
+ messages_parser.get_phone_number_to(),
+ messages_parser.get_message_date_time(),
+ messages_parser.get_message_read_status(),
+ messages_parser.get_message_subject(),
+ messages_parser.get_message_text(),
+ messages_parser.get_thread_id()
+ )
+
+ # add attachments, if any
+ if (messages_parser.get_url_attachment() is not None):
+ url_attachments = ArrayList()
+ url_attachments.add(URLAttachment(messages_parser.get_url_attachment()))
+ message_attachments = MessageAttachments([], url_attachments)
+ helper.addAttachments(message_artifact, message_attachments)
+
messages_parser.close()
except SQLException as ex:
self._logger.log(Level.WARNING, "Error querying the whatsapp database for contacts.", ex)
@@ -502,9 +513,6 @@ class WhatsAppMessagesParser(TskMessagesParser):
message = self.result_set.getString("content")
if message is None:
message = super(WhatsAppMessagesParser, self).get_message_text()
- attachment = self.result_set.getString("attachment")
- if attachment is not None:
- return general.appendAttachmentList(message, [attachment])
return message
def get_thread_id(self):
@@ -512,3 +520,14 @@ class WhatsAppMessagesParser(TskMessagesParser):
if group is not None:
return self.result_set.getString("id")
return super(WhatsAppMessagesParser, self).get_thread_id()
+
+
+ def get_url_attachment(self):
+ attachment = self.result_set.getString("attachment")
+ if (attachment is None):
+ return None
+ elif (str(attachment).startswith("http:") or str(attachment).startswith("https:") ):
+ return attachment
+ else:
+ return None
+
diff --git a/InternalPythonModules/android/xender.py b/InternalPythonModules/android/xender.py
index aeddcaf4e1..e8c2b3d74f 100644
--- a/InternalPythonModules/android/xender.py
+++ b/InternalPythonModules/android/xender.py
@@ -98,7 +98,7 @@ class XenderAnalyzer(general.AndroidComponentAnalyzer):
Account.Type.XENDER)
queryString = """
- SELECT f_path, f_display_name, f_size_str, f_create_time, c_direction, c_session_id,
+ SELECT f_path, f_display_name, f_size_str, c_start_time, c_direction, c_session_id,
s_name, s_device_id, r_name, r_device_id
FROM new_history
"""
@@ -118,7 +118,7 @@ class XenderAnalyzer(general.AndroidComponentAnalyzer):
direction = CommunicationDirection.INCOMING
fromId = messagesResultSet.getString("s_device_id")
- timeStamp = messagesResultSet.getLong("f_create_time") / 1000
+ timeStamp = messagesResultSet.getLong("c_start_time") / 1000
messageArtifact = transactionDbHelper.addMessage(
self._MESSAGE_TYPE,
direction,
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties
index 88f7abd38b..adf1364da2 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/Bundle_ja.properties
@@ -1,136 +1,187 @@
+AccountsText.creditCardNumber=\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7
+AccountsText.creditCardNumbers=\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7
+AccountsText.nextItem.exception.msg=\u6b21\u306e\u9805\u76ee\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+AccountsText.nextPage.exception.msg=\u6b21\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+AccountsText.previousItem.exception.msg=\u524d\u306e\u9805\u76ee\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+AccountsText.previousPage.exception.msg=\u524d\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+CannotRunFileTypeDetection=\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u306e\u691c\u51fa\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+DropdownListSearchPanel.selected=\u30a2\u30c9\u30db\u30c3\u30af\u691c\u7d22\u30bd\u30fc\u30b9\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059
+DropdownSingleTermSearchPanel.selected=\u30a2\u30c9\u30db\u30c3\u30af\u691c\u7d22\u30bd\u30fc\u30b9\u30d5\u30a3\u30eb\u30bf\u30fc\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059
+DropdownSingleTermSearchPanel.warning.text=\u5883\u754c\u6587\u5b57 ^ \u3068 $ \u304c\u5358\u8a9e\u9818\u57df\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002[ \\.,] \u306a\u3069\u306e\u660e\u793a\u7684\u306a\u5883\u754c\u6587\u5b57\u30ea\u30b9\u30c8\u3068\u306e\u7f6e\u63db\u3092\n\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044
+DropdownSingleTermSearchPanel.warning.title=\u8b66\u544a
+ExtractedContentPanel.setMarkup.panelTxt=\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059...\u304a\u5f85\u3061\u304f\u3060\u3055\u3044
+# {0} - \u30b3\u30f3\u30c6\u30f3\u30c4\u540d
+ExtractedContentPanel.SetMarkup.progress.loading={0} \u306e\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u3093\u3067\u3044\u307e\u3059
+GlobalEditListPanel.editKeyword.title=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u7de8\u96c6
+GlobalEditListPanel.warning.text=\u5883\u754c\u6587\u5b57 ^ \u3068 $ \u304c\u5358\u8a9e\u9818\u57df\u3068\u4e00\u81f4\u3057\u307e\u305b\u3093\u3002[ \\.,] \u306a\u3069\u306e\u660e\u793a\u7684\u306a\u5883\u754c\u6587\u5b57\u30ea\u30b9\u30c8\u3068\u306e\u7f6e\u63db\u3092\n\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044
+GlobalEditListPanel.warning.title=\u8b66\u544a
+IndexedText.errorMessage.errorGettingText=Error \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u306e\u691c\u7d22\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+IndexedText.warningMessage.knownFile=\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb(MD5\u30cf\u30c3\u30b7\u30e5\u30d9\u30fc\u30b9)\u3067\u3042\u308b\u305f\u3081\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+IndexedText.warningMessage.noTextAvailable=\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u306f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+KeywordSearchGlobalSettingsPanel.Title=\u30ad\u30fc\u30ef\u30fc\u30c9\u4e00\u62ec\u691c\u7d22\u8a2d\u5b9a
+KeywordSearchIngestModule.init.badInitMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d0\u30fc\u304c\u6b63\u3057\u304f\u521d\u671f\u5316\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
+# {0} - Solr\u306b\u63a5\u7d9a\u3055\u308c\u3066\u3044\u306a\u3044\u7406\u7531
+KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Error connecting to SOLR\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}\u3002
+# {0} - Solr\u304c\u8d77\u52d5\u3057\u306a\u3044\u7406\u7531
+KeywordSearchIngestModule.init.tryStopSolrMsg={0}
Java Solr\u30d7\u30ed\u30bb\u30b9\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306f\u505c\u6b62\u3092\u8a66\u307f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u518d\u8d77\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+KeywordSearchIngestModule.metadataTitle=\u30e1\u30bf\u30c7\u30fc\u30bf
+KeywordSearchIngestModule.noOpenCase.errMsg=\u958b\u3044\u3066\u3044\u308b\u30b1\u30fc\u30b9\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+KeywordSearchIngestModule.startUp.noOpenCore.msg=\u7d22\u5f15\u3092\u958b\u3051\u306a\u304b\u3063\u305f\u304b\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
+# {0} - \u30b9\u30ad\u30fc\u30de\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7
+KeywordSearchIngestModule.startupException.indexSchemaNotSupported=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306e\u30b9\u30ad\u30fc\u30de\u30d0\u30fc\u30b8\u30e7\u30f3 {0} \u3067\u306e\u30c6\u30ad\u30b9\u30c8\u8ffd\u52a0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002
+# {0} - Solr\u30d0\u30fc\u30b8\u30e7\u30f3\u756a\u53f7
+KeywordSearchIngestModule.startupException.indexSolrVersionNotSupported=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306eSolr\u30d0\u30fc\u30b8\u30e7\u30f3 {0} \u3067\u306e\u30c6\u30ad\u30b9\u30c8\u8ffd\u52a0\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u306a\u304f\u306a\u308a\u307e\u3057\u305f\u3002
+KeywordSearchIngestModule.startupMessage.failedToGetIndexSchema=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306e\u30b9\u30ad\u30fc\u30de\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+KeywordSearchResultFactory.createNodeForKey.noResultsFound.text=\u8a72\u5f53\u3059\u308b\u7d50\u679c\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+KeywordSearchResultFactory.query.exception.msg=\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
-OpenIDE-Module-Long-Description=\
- \u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\n\n\
- \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u306b\u3042\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u307e\u3059\u3002\n\
- \u305d\u3057\u3066\u3001\u4e00\u3064\u4ee5\u4e0a\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff08\u5358\u8a9e\u3084\u6b63\u898f\u8868\u73fe\u3092\u542b\u3080\uff09\u3092\u5229\u7528\u3057\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5b9a\u671f\u7684\u306b\u691c\u7d22\u3057\u3001\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059\u3002\n\n\
- \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u8a2d\u5b9a\u3001\u53f3\u4e0a\u9685\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30d0\u30fc\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306e\u7d50\u679c\u3092\u30cf\u30a4\u30e9\u30a4\u30c8\u3057\u3066\u8868\u793a\u3059\u308b\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3068\u691c\u7d22\u7d50\u679c\u30d3\u30e5\u30fc\u30a2\u306a\u3069\u3001\u30e1\u30a4\u30f3GUI\u3068\u9023\u643a\u3059\u308b\u8ffd\u52a0\u306e\u30c4\u30fc\u30eb\u304c\u542b\u307e\u308c\u307e\u3059\u3002
-OpenIDE-Module-Name=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+
+OpenIDE-Module-Long-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u306b\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3067\u898b\u3064\u304b\u3063\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3057\u307e\u3059\u3002\n\u6b21\u306b\u30011\u3064\u4ee5\u4e0a\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8(\u7d14\u7c8b\u8a9e\u304a\u3088\u3073/\u307e\u305f\u306f\u6b63\u898f\u8868\u73fe\u3092\u542b\u3080)\u3067\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u4e0a\u3067\u5b9a\u671f\u7684\u306b\u691c\u7d22\u3092\u5b9f\u65bd\u3057\u3001\u7d50\u679c\u3092\u63b2\u8f09\u3057\u307e\u3059\u3002\n\n\\u30e2\u30b8\u30e5\u30fc\u30eb\u306b\u306f\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u69cb\u6210\u3001\u53f3\u4e0a\u7aef\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30d0\u30fc\u3001\u62bd\u51fa\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30ef\u30fc\u3001\u8a72\u5f53\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30cf\u30a4\u30e9\u30a4\u30c8\u8868\u793a\u3059\u308b\u691c\u7d22\u7d50\u679c\u30d3\u30e5\u30fc\u30ef\u30fc\u306a\u3069\u3001\u30e1\u30a4\u30f3GUI\u306b\u7d71\u5408\u3055\u308c\u305f\u8ffd\u52a0\u306e\u30c4\u30fc\u30eb\u3082\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u3002
+OpenIDE-Module-Name=KeywordSearch
+OptionsCategory_Name_KeywordSearchOptions=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+OptionsCategory_Keywords_KeywordSearchOptions=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
ListBundleName=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8
-ListBundleConfig=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u8a2d\u5b9a
-ExtractedContentPanel.hitLabel.text=\u30da\u30fc\u30b8\u5185\u306e\u4e00\u81f4\uff1a
+ListBundleConfig=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u69cb\u6210
+ExtractedContentPanel.hitLabel.text=\u30da\u30fc\u30b8\u4e0a\u306e\u4e00\u81f4\u3059\u308b\u7d50\u679c:
ExtractedContentPanel.hitCountLabel.text=-
-ExtractedContentPanel.hitOfLabel.text=of
+ExtractedContentPanel.hitOfLabel.text=/
ExtractedContentPanel.hitTotalLabel.text=-
-ExtractedContentPanel.hitButtonsLabel.text=\u4e00\u81f4
+ExtractedContentPanel.hitButtonsLabel.text=\u4e00\u81f4\u3059\u308b\u7d50\u679c
+ExtractedContentPanel.hitPreviousButton.text=
+ExtractedContentPanel.hitNextButton.text=
ExtractedContentPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
ExtractedContentPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
KeywordSearchEditListPanel.saveListButton.text=\u30ea\u30b9\u30c8\u3092\u30b3\u30d4\u30fc
-KeywordSearchEditListPanel.addWordButton.text=\u8ffd\u52a0
+KeywordSearchEditListPanel.addWordField.text=
+KeywordSearchEditListPanel.addWordButton.text=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9
KeywordSearchEditListPanel.chRegex.text=\u6b63\u898f\u8868\u73fe
-KeywordSearchEditListPanel.deleteWordButton.text=\u9078\u629e\u3057\u305f\u3082\u306e\u3092\u524a\u9664
-KeywordSearchEditListPanel.cutMenuItem.text=\u30ab\u30c3\u30c8
+KeywordSearchEditListPanel.deleteWordButton.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u524a\u9664
+KeywordSearchEditListPanel.cutMenuItem.text=\u5207\u308a\u53d6\u308a
KeywordSearchEditListPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
KeywordSearchEditListPanel.pasteMenuItem.text=\u8cbc\u308a\u4ed8\u3051
KeywordSearchEditListPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
KeywordSearchEditListPanel.exportButton.text=\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
KeywordSearchEditListPanel.deleteListButton.text=\u30ea\u30b9\u30c8\u3092\u524a\u9664
+KeywordSearchEditListPanel.emptyKeyword.text=\u7a7a(\u672a\u5165\u529b)\u306e\u72b6\u614b\u306e\u30ad\u30fc\u30ef\u30fc\u30c9
+KeywordSearchEditListPanel.errorAddingKeywords.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u8ffd\u52a0\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
KeywordSearchListsManagementPanel.newListButton.text=\u65b0\u898f\u30ea\u30b9\u30c8
KeywordSearchListsManagementPanel.importButton.text=\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
KeywordSearchListsViewerPanel.searchAddButton.text=\u691c\u7d22
KeywordSearchListsViewerPanel.manageListsButton.text=\u30ea\u30b9\u30c8\u3092\u7ba1\u7406
-KeywordSearchListsViewerPanel.ingestIndexLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\uff1a
-KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u6bce\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u3078\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
-KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306e\u30ea\u30b9\u30c8\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u691c\u7d22\u306b\u30d2\u30c3\u30c8\u3057\u305f\u5834\u5408\u3001\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u30a4\u30f3\u30dc\u30c3\u30af\u30b9\u306b\u9001\u4fe1
+KeywordSearchListsViewerPanel.ingestIndexLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb:
+ExtractedContentPanel.hitLabel.toolTipText=
+KeywordSearchEditListPanel.ingestMessagesCheckbox.text=\u30d2\u30c3\u30c8\u3054\u3068\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u53d7\u4fe1\u7bb1\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
+KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=\u3053\u306e\u30ea\u30b9\u30c8\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3067\u30d2\u30c3\u30c8\u304c\u767a\u751f\u3057\u305f\u3068\u304d\u306b\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1
KeywordSearchEditListPanel.keywordOptionsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30aa\u30d7\u30b7\u30e7\u30f3
KeywordSearchEditListPanel.listOptionsLabel.text=\u30ea\u30b9\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3
-KeywordSearchListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\uff1a
-KeywordSearchEditListPanel.keywordsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\uff1a
-OpenIDE-Module-Short-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30a2\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30c4\u30fc\u30eb
-KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3001\u30ea\u30b9\u30c8\u306e\u8a2d\u5b9a\u3068\u95a2\u9023\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u7ba1\u7406\u3002\u3053\u306e\u8a2d\u5b9a\u306f\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002
+KeywordSearchListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8:
+KeywordSearchEditListPanel.keywordsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9:
+OpenIDE-Module-Short-Description=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3001\u62bd\u51fa\u30c6\u30ad\u30b9\u30c8\u30d3\u30e5\u30fc\u30ef\u30fc\u304a\u3088\u3073\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30c4\u30fc\u30eb
+KeywordSearchListsViewerPanel.manageListsButton.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306e\u8a2d\u5b9a\u3001\u95a2\u9023\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002\u8a2d\u5b9a\u306f\u3059\u3079\u3066\u306e\u30b1\u30fc\u30b9\u3067\u5171\u6709\u3055\u308c\u307e\u3059\u3002
AbstractKeywordSearchPerformer.search.dialogErrorHeader=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a8\u30e9\u30fc
-AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u4e2d
-AbstractKeywordSearchPerformer.search.ingestInProgressBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\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\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3057\u3066\u4e0b\u3055\u3044\u3002
-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\u518d\u5ea6\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306f{0}\u5206\u3054\u3068\u306b\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...\u3057\u3070\u3089\u304f\u304a\u5f85\u3061\u304f\u3060\u3055\u3044\u3002
-ExtractedContentViewer.toolTip=\u30d5\u30a1\u30a4\u30eb\u3084\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u304b\u3089\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3092\u8868\u793a\u3002\u3053\u306e\u30d3\u30e5\u30fc\u30a2\u3092\u6709\u52b9\u5316\u3059\u308b\u306b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-ExtractedContentViewer.getTitle=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8
-ExtractedContentViewer.getSolrContent.noTxtYetMsg={0}\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u30c6\u30ad\u30b9\u30c8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
\u30c6\u30ad\u30b9\u30c8\u304c\u7121\u3044\u304b\u3001\u307e\u3060\u89e3\u6790\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u304c\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u6709\u52b9\u5316\u3055\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
+AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=\u7121\u52b9\u306a\u30af\u30a8\u30ea\u69cb\u6587\u3067\u3059\u3002\u3053\u308c\u304c\u6b63\u898f\u8868\u73fe\u306e\u5834\u5408\u306f\u3001Java\u3067\u4e8b\u524d\u5b9a\u7fa9\u6e08\u307f\u306e\u6587\u5b57\u30af\u30e9\u30b9\u3068POSIX\u6587\u5b57\u30af\u30e9\u30b9\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3002
+AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059
+AbstractKeywordSearchPerformer.search.ingestInProgressBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u73fe\u5728\u5b9f\u884c\u4e2d\u3067\u3059\u3002
\u3059\u3079\u3066\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u3053\u306e\u691c\u7d22\u306f\u4e0d\u5b8c\u5168\u306a\u7d50\u679c\u3092\u751f\u6210\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
\u305d\u308c\u3067\u3082\u3053\u306e\u691c\u7d22\u3092\u7d9a\u884c\u3057\u307e\u3059\u304b?
+AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a(\u672a\u5165\u529b)\u3067\u3059\u3002\u5c11\u306a\u304f\u3068\u30821\u3064\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=\u307e\u3060\u30d5\u30a1\u30a4\u30eb\u304c\u7d22\u5f15\u306b\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u3002
\u5f8c\u3067\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002 \u7d22\u5f15\u306f {0} \u5206\u3054\u3068\u306b\u66f4\u65b0\u3055\u308c\u307e\u3059\u3002
+AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=\u30d5\u30a1\u30a4\u30eb\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u6709\u52b9\u306b\u3057\u305f\u72b6\u614b\u3067\u30a4\u30e1\u30fc\u30b8\u3092\u518d\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+ExtractedContentViewer.toolTip=\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u62bd\u51fa\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u3068\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u3092\u8868\u793a\u3057\u307e\u3059\u3002\u3053\u306e\u30d3\u30e5\u30fc\u30ef\u30fc\u3092\u6709\u52b9\u5316\u3059\u308b\u306b\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
+ExtractedContentViewer.getTitle=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8
HighlightedMatchesSource.toString=\u691c\u7d22\u7d50\u679c
-Installer.reportPortError=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b5\u30fc\u30d0\u30fc\u30dd\u30fc\u30c8 {0} \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u4f7f\u7528\u3057\u3066\u3044\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c {1} \u3092\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e{3}\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u306e{2}\u3092\u5909\u66f4\u3059\u308b\u691c\u8a0e\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3082\u3057\u4ed6\u306e\u51e6\u7406\u304c\u554f\u984c\u306e\u539f\u56e0\u3067\u3042\u308c\u3070\u3001\u30b7\u30b9\u30c6\u30e0\u3092\u518d\u8d77\u52d5\u3057\u3066\u4e0b\u3055\u3044\u3002
-Installer.reportStopPortError=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b5\u30fc\u30d0\u30fc\u30b9\u30c8\u30c3\u30d7\u30dd\u30fc\u30c8 {0} \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e{3}\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u306e{2}\u3092\u5909\u66f4\u3059\u308b\u691c\u8a0e\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-Installer.errorInitKsmMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8d77\u52d5\u30a8\u30e9\u30fc
-Installer.reportInitError=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b5\u30fc\u30d0\u30fc\u30dd\u30fc\u30c8 {0} \u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002\u4f7f\u7528\u3057\u3066\u3044\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c {1} \u3092\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3044\u306a\u3044\u304b\u78ba\u8a8d\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e{3}\u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u306e{2}\u3092\u5909\u66f4\u3059\u308b\u691c\u8a0e\u3092\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u3082\u3057\u4ed6\u306e\u51e6\u7406\u304c\u554f\u984c\u306e\u539f\u56e0\u3067\u3042\u308c\u3070\u3001\u30b7\u30b9\u30c6\u30e0\u3092\u518d\u8d77\u52d5\u3057\u3066\u4e0b\u3055\u3044\u3002
+Installer.reportPortError=\u7d22\u5f15\u751f\u6210\u30b5\u30fc\u30d0\u30fc\u30dd\u30fc\u30c8 {0} \u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 \u304a\u4f7f\u3044\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c {1} \u3092\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3044\u306a\u3044\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e {3} \u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u3067 {2} \u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u5225\u306e\u30d7\u30ed\u30bb\u30b9\u304c\u77db\u76fe\u3092\u5f15\u304d\u8d77\u3053\u3057\u3066\u3044\u305f\u5834\u5408\u306f\u3001\u305d\u306e\u5f8c\u306b\u30b7\u30b9\u30c6\u30e0\u306e\u518d\u8d77\u52d5\u3092\u8a66\u307f\u3066\u304f\u3060\u3055\u3044\u3002
+Installer.reportStopPortError=\u7d22\u5f15\u751f\u6210\u30b5\u30fc\u30d0\u30fc\u505c\u6b62\u30dd\u30fc\u30c8 {0} \u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e {2} \u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u3067 {1} \u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+Installer.errorInitKsmMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u521d\u671f\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Installer.reportInitError=\u7d22\u5f15\u751f\u6210\u30b5\u30fc\u30d0\u30fc\u30dd\u30fc\u30c8 {0} \u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002 \u304a\u4f7f\u3044\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u304c {1} \u3092\u30d6\u30ed\u30c3\u30af\u3057\u3066\u3044\u306a\u3044\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e6\u30fc\u30b6\u30fc\u30d5\u30a9\u30eb\u30c0\u30fc\u5185\u306e {3} \u30d7\u30ed\u30d1\u30c6\u30a3\u30d5\u30a1\u30a4\u30eb\u3067 {2} \u3092\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u5225\u306e\u30d7\u30ed\u30bb\u30b9\u304c\u77db\u76fe\u3092\u5f15\u304d\u8d77\u3053\u3057\u3066\u3044\u305f\u5834\u5408\u306f\u3001\u305d\u306e\u5f8c\u306b\u30b7\u30b9\u30c6\u30e0\u306e\u518d\u8d77\u52d5\u3092\u8a66\u307f\u3066\u304f\u3060\u3055\u3044\u3002
KeywordSearchConfigurationPanel.customizeComponents.listTabTitle=\u30ea\u30b9\u30c8
-KeywordSearchConfigurationPanel.customizeComponents.stringExtTitle=\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa
-KeywordSearchConfigurationPanel.customizeComponents.genTabTitle=\u4e00\u822c
-KeywordSearchConfigurationPanel.customizeComponents.listLabToolTip=\u30ea\u30b9\u30c8\u8a2d\u5b9a
-KeywordSearchConfigurationPanel.customizeComponents.stringExtToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u8a2d\u5b9a
-KeywordSearchConfigurationPanel.customizeComponents.genTabToolTip=\u4e00\u822c\u8a2d\u5b9a
+KeywordSearchConfigurationPanel.customizeComponents.stringExtTitle=\u6587\u5b57\u5217\u62bd\u51fa
+KeywordSearchConfigurationPanel.customizeComponents.genTabTitle=\u5168\u822c
+KeywordSearchConfigurationPanel.customizeComponents.listLabToolTip=\u30ea\u30b9\u30c8\u69cb\u6210
+KeywordSearchConfigurationPanel.customizeComponents.stringExtToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u6587\u5b57\u5217\u62bd\u51fa\u69cb\u6210
+KeywordSearchConfigurationPanel.customizeComponents.genTabToolTip=\u69cb\u6210\u5168\u822c
KeywordSearchConfigurationPanel1.customizeComponents.title=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u524a\u9664
-KeywordSearchConfigurationPanel1.customizeComponents.body=\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u304a\u3051\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u3053\u306e\u524a\u9664\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f
-KeywordSearchConfigurationPanel1.customizeComponents.keywordListEmptyErr=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a\u767d\u306a\u306e\u3067\u3001\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093
-KeywordSearch.newKwListTitle=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u540d\uff1a
-KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg=\u30c7\u30d5\u30a9\u30eb\u30c8\u30ea\u30b9\u30c8\u306f\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093
-KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b\uff1f
-KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f
-KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u6b63\u7fa9\u8868\u73fe\u3067\u3059
-KeywordSearchEditListPanel.customizeComponents.addWordToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30ea\u30b9\u30c8\u306b\u65b0\u3057\u3044\u5358\u8a9e\u3092\u8ffd\u52a0
-KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u691c\u7d22\u3059\u308b\u306e\u306b\u65b0\u898f\u5358\u8a9e\u307e\u305f\u306f\u6b63\u898f\u8868\u73fe\u3092\u5165\u529b
-KeywordSearchEditListPanel.customizeComponents.exportToFile=\u65e2\u5b58\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
-KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip=\u65e2\u5b58\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306b\u540d\u524d\u3092\u4ed8\u3051\u3066\u4fdd\u5b58
-KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg=\u9078\u629e\u3057\u305f\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30ea\u30b9\u30c8\u304b\u3089\u524a\u9664
-KeywordSearchEditListPanel.newKwTitle=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u30a8\u30f3\u30c8\u30ea\u30fc
-KeywordSearchEditListPanel.addWordButtonAction.kwAlreadyExistsMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u65e2\u306b\u30ea\u30b9\u30c8\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
-KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30d1\u30bf\u30fc\u30f3\u3002\u5358\u8a9e\u3082\u3057\u304f\u306f\u6b63\u3057\u3044\u6b63\u898f\u8868\u73fe\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-KeywordSearchEditListPanel.removeKwMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u524a\u9664
-KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg=\u5168\u3066\u306e\u30b1\u30fc\u30b9\u306b\u304a\u3051\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u524a\u9664\u3057\u307e\u3059\u3002\u3053\u306e\u524a\u9664\u3092\u5b9f\u884c\u3057\u307e\u3059\u304b\uff1f
-KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8XML\u30d5\u30a1\u30a4\u30eb
-KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt=\ {0} \u30d5\u30a1\u30a4\u30eb\u306f\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b\uff1f
-KeywordSearchEditListPanel.exportButtonActionPerformed.kwListExportedMsg=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3055\u308c\u305f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8
+KeywordSearchConfigurationPanel1.customizeComponents.body=\u3053\u308c\u306b\u3088\u308a\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u4e00\u62ec\u524a\u9664\u3055\u308c\u307e\u3059(\u3059\u3079\u3066\u306e\u30b1\u30fc\u30b9)\u3002\u524a\u9664\u3092\u7d9a\u884c\u3057\u307e\u3059\u304b?
+KeywordSearchConfigurationPanel1.customizeComponents.keywordListEmptyErr=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u7a7a(\u672a\u5165\u529b)\u306e\u305f\u3081\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093
+KeywordSearch.newKwListTitle=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u540d:
+KeywordSearch.openCore.notification.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d22\u5f15\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f
+KeywordSearch.closeCore.notification.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d22\u5f15\u3092\u9589\u3058\u3066\u3044\u308b\u9593\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg=\u30c7\u30d5\u30a9\u30eb\u30c8\u30ea\u30b9\u30c8\u3092\u4e0a\u66f8\u304d\u3067\u304d\u307e\u305b\u3093
+KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b?
+KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f
+KeywordSearchEditListPanel.customizeComponents.kwReToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u6b63\u898f\u8868\u73fe\u3067\u3059
+KeywordSearchEditListPanel.customizeComponents.addWordToolTip=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30ea\u30b9\u30c8\u306b\u65b0\u898f\u7528\u8a9e\u3092\u8ffd\u52a0
+KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=\u65b0\u898f\u7528\u8a9e\u307e\u305f\u306f\u6b63\u898f\u8868\u73fe\u3092\u5165\u529b\u3057\u3066\u691c\u7d22
+KeywordSearchEditListPanel.customizeComponents.exportToFile=\u73fe\u5728\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip=\u73fe\u5728\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u5225\u540d\u3067\u4fdd\u5b58\u3059\u308b
+KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg=\u30ea\u30b9\u30c8\u304b\u3089\u9078\u629e\u3057\u305f\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u524a\u9664
+KeywordSearchEditListPanel.newKwTitle=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u5165\u529b
+KeywordSearchEditListPanel.addWordButtonAction.kwAlreadyExistsMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u3059\u3067\u306b\u30ea\u30b9\u30c8\u306b\u5b58\u5728\u3057\u307e\u3059\u3002
+KeywordSearchEditListPanel.invalidKwMsg=\u7121\u52b9\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u30d1\u30bf\u30fc\u30f3\u3067\u3059\u3002 \u5358\u8a9e\u307e\u305f\u306f\u6b63\u3057\u3044\u6b63\u898f\u8868\u73fe\u30d1\u30bf\u30fc\u30f3\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+KeywordSearchEditListPanel.removeKwMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u524a\u9664
+KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg=\u3053\u308c\u306b\u3088\u308a\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u30ea\u30b9\u30c8\u304b\u3089\u4e00\u62ec\u524a\u9664\u3055\u308c\u307e\u3059(\u3059\u3079\u3066\u306e\u30b1\u30fc\u30b9)\u3002\u7d9a\u884c\u3057\u307e\u3059\u304b?
+KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306eXML\u30d5\u30a1\u30a4\u30eb
+KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt=\u30d5\u30a1\u30a4\u30eb {0} \u304c\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
+KeywordSearchEditListPanel.exportButtonActionPerformed.kwListExportedMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3057\u307e\u3057\u305f
KeywordSearchEditListPanel.kwColName=\u30ad\u30fc\u30ef\u30fc\u30c9
-KeywordSearchEditListPanel.exportButtonActionPerformed.regExColName=\u6b63\u898f\u8868\u73fe
-KeywordSearchFilterNode.getFileActions.openExternViewActLbl=\u5916\u90e8\u30d3\u30e5\u30fc\u30a2\u3067\u958b\u304f
-KeywordSearchFilterNode.getFileActions.searchSameMd5=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3092\u6301\u3064\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+KeywordSearchEditListPanel.addKeyword.message=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30ea\u30b9\u30c8\u306b\u65b0\u898f\u7528\u8a9e\u3092\u8ffd\u52a0:
+KeywordSearchEditListPanel.addKeyword.title=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9
+KeywordSearchFilterNode.getFileActions.openExternViewActLbl=\u5916\u90e8\u30d3\u30e5\u30fc\u30ef\u30fc\u3067\u958b\u304f Ctrl+E
+KeywordSearchFilterNode.getFileActions.searchSameMd5=\u540c\u3058MD5\u30cf\u30c3\u30b7\u30e5\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl=\u65b0\u3057\u3044\u30a6\u30a3\u30f3\u30c9\u30a6\u3067\u8868\u793a
-KeywordSearchIngestModule.init.badInitMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d0\u30fc\u304c\u6b63\u3057\u304f\u8d77\u52d5\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002
KeywordSearchIngestModule.init.noKwInLstMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3060\u3051\u5b9f\u884c\u3055\u308c\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306f\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002\uff08\u300c\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 - \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u8ffd\u52a0\u300d\u3092\u4f7f\u7528\u3057\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u8ffd\u52a0\u3059\u308b\u306e\u306f\u53ef\u80fd\u3067\u3059\u3002\uff09
-KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65e2\u77e5\u30bf\u30a4\u30d7\u304c\u3042\u308b\u30d5\u30a1\u30a4\u30eb
-KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=\u4e00\u822c\u7684\u306a\u30b9\u30c8\u30ea\u30f3\u30b0\u304c\u62bd\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
-KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u307f\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u307e\u3057\u305f
-KeywordSearchIngestModule.postIndexSummary.idxErrLbl=\u30a8\u30e9\u30fc\uff08\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30a8\u30e9\u30fc\uff09
-KeywordSearchIngestModule.postIndexSummary.errTxtLbl=\u30a8\u30e9\u30fc\uff08\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\uff09
-KeywordSearchIngestModule.postIndexSummary.errIoLbl=\u30a8\u30e9\u30fc\uff08I/O\uff09
-KeywordSearchIngestModule.postIndexSummary.kwIdxResultsLbl=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u7d50\u679c
-KeywordSearchIngestModule.postIndexSummary.kwIdxErrsTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u30a8\u30e9\u30fc
-KeywordSearchIngestModule.postIndexSummary.kwIdxErrMsgFiles=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b5\u30fc\u30d3\u30b9\u304c{0}\u30d5\u30a1\u30a4\u30eb\u3092\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-KeywordSearchIngestModule.postIndexSummary.kwIdxWarnMsgTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u8b66\u544a
-KeywordSearchIngestModule.postIndexSummary.idxErrReadFilesMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30b5\u30fc\u30d3\u30b9\u304c\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080\u969b\u3084\u30c6\u30ad\u30b9\u30c8\u3092\u62bd\u51fa\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u539f\u56e0\u306f\u7834\u640d\u3057\u305f\u30e1\u30c7\u30a3\u30a2\u3084\u30d5\u30a1\u30a4\u30eb\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-KeywordSearchListsViewerPanel.initIngest.addIngestTitle=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u8ffd\u52a0
-KeywordSearchListsViewerPanel.initIngest.addIngestMsg=\u8ffd\u52a0\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\u3067\u304d\u307e\u3059
\u305d\u3057\u3066\u5b9f\u884c\u4e2d\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u8ffd\u52a0\u3067\u304d\u307e\u3059
\u6b21\u56de\u306e\u30d5\u30a1\u30a4\u30eb\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u518d\u69cb\u7bc9\u306e\u3068\u304d\u306b\u9078\u629e\u3055\u308c\u305f\u30ea\u30b9\u30c8\u3082\u691c\u7d22\u3055\u308c\u307e\u3059\u3002
+KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=\u7d22\u5f15\u751f\u6210\u306e\u307f\u304c\u5b9f\u884c\u3055\u308c\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306f\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3059(\u305d\u308c\u3067\u3082 [\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 - \u8ffd\u52a0\u3057\u3066\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8] \u3092\u7528\u3044\u3066\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u3059)\u3002
+KeywordSearchIngestModule.doInBackGround.displayName=\u30ad\u30fc\u30ef\u30fc\u30c9\u5b9a\u671f\u691c\u7d22
+KeywordSearchIngestModule.doInBackGround.finalizeMsg=\u78ba\u5b9a
+KeywordSearchIngestModule.doInBackGround.pendingMsg=(\u4fdd\u7559\u4e2d)
+RawText.FileText=\u30d5\u30a1\u30a4\u30eb\u30c6\u30ad\u30b9\u30c8
+RawText.ResultText=\u7d50\u679c\u30c6\u30ad\u30b9\u30c8
+SearchRunner.doInBackGround.cancelMsg=(\u53d6\u308a\u6d88\u3057\u4e2d...)
+KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=\u65e2\u77e5\u306e\u30bf\u30a4\u30d7\u306e\u30d5\u30a1\u30a4\u30eb
+KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=\u4e00\u822c\u7684\u306a\u6587\u5b57\u5217\u304c\u62bd\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb
+KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u307f\u3092\u62bd\u51fa\u3057\u307e\u3057\u305f
+KeywordSearchIngestModule.postIndexSummary.idxErrLbl=\u30a8\u30e9\u30fc(\u30a4\u30f3\u30c7\u30af\u30b5\u30fc)
+KeywordSearchIngestModule.postIndexSummary.errTxtLbl=\u30a8\u30e9\u30fc(\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa)
+KeywordSearchIngestModule.postIndexSummary.errIoLbl=\u30a8\u30e9\u30fc(\u5165\u51fa\u529b)
+KeywordSearchIngestModule.postIndexSummary.kwIdxResultsLbl=\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u751f\u6210\u7d50\u679c
+KeywordSearchIngestModule.postIndexSummary.kwIdxErrsTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u751f\u6210\u30a8\u30e9\u30fc
+KeywordSearchIngestModule.postIndexSummary.kwIdxErrMsgFiles= {0} \u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u30b5\u30fc\u30d3\u30b9\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+KeywordSearchIngestModule.postIndexSummary.kwIdxWarnMsgTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u751f\u6210\u8b66\u544a
+KeywordSearchIngestModule.postIndexSummary.idxErrReadFilesMsg=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u4e2d\u304a\u3088\u3073\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u4e2d\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u30b5\u30fc\u30d3\u30b9\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u7834\u640d\u3057\u305f\u30e1\u30c7\u30a3\u30a2\u307e\u305f\u306f\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u3082\u306e\u3067\u3042\u3063\u305f\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsViewerPanel.initIngest.addIngestTitle=\u8ffd\u52a0\u3057\u3066\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8
+KeywordSearchListsViewerPanel.initIngest.addIngestMsg=\u8ffd\u52a0\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e
\u3057\u3001\u9032\u884c\u4e2d\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u30a8\u30f3\u30ad\u30e5\u30fc\u3067\u304d\u307e\u3059\u3002
\u9078\u629e\u3057\u305f\u30ea\u30b9\u30c8\u306f\u6b21\u56de\u306e\u30d5\u30a1\u30a4\u30eb\u7d22\u5f15\u518d\u69cb\u7bc9\u6642\u306b\u691c\u7d22\u3055\u308c\u307e\u3059\u3002
KeywordSearchListsViewerPanel.initIngest.searchIngestTitle=\u691c\u7d22
-KeywordSearchListsViewerPanel.initIngest.addIdxSearchMsg=\u9078\u629e\u3057\u305f\u30ea\u30b9\u30c8\u5185\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u5185\u3067\u691c\u7d22
-KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\uff1a {0} \uff08\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306f\u5b9f\u884c\u4e2d\uff09
-KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\uff1a {0}
+KeywordSearchListsViewerPanel.initIngest.addIdxSearchMsg=\u9078\u629e\u3057\u305f\u30ea\u30b9\u30c8\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22
+KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb: {0} (\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306e\u9032\u884c\u4e2d)
+KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb: {0}
KeywordSearch.selectedColLbl=\u9078\u629e\u6e08\u307f
KeywordSearch.nameColLbl=\u540d\u524d
-KeywordSearch.regExColLbl=\u6b63\u898f\u8868\u73fe
+KeywordSearch.typeColLbl=\u30ad\u30fc\u30ef\u30fc\u30c9\u30bf\u30a4\u30d7
KeywordSearchQueryManager.execute.exeWinTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22 {0} - {1}
KeywordSearch.newKeywordListMsg=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8
-KeywordSearch.importListFileDialogMsg={0}\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+KeywordSearch.importListFileDialogMsg=\u30d5\u30a1\u30a4\u30eb {0} \u304b\u3089\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
KeywordSearch.yesOwMsg=\u306f\u3044\u3001\u4e0a\u66f8\u304d\u3057\u307e\u3059
KeywordSearch.noSkipMsg=\u3044\u3044\u3048\u3001\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059
-KeywordSearch.cancelImportMsg=\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u30ad\u30e3\u30f3\u30bb\u30eb
-KeywordSearch.overwriteListPrompt=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u306f\u30ed\u30fc\u30ab\u30eb\u306b\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b\uff1f
-KeywordSearch.importOwConflict=\u30ea\u30b9\u30c8\u30a4\u30f3\u30dd\u30fc\u30c8\u306e\u554f\u984c
-KeywordSearch.kwListFailImportMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+KeywordSearch.cancelImportMsg=\u30a4\u30f3\u30dd\u30fc\u30c8\u3092\u53d6\u308a\u6d88\u3059
+KeywordSearch.overwriteListPrompt=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u306f\u30ed\u30fc\u30ab\u30eb\u306b\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u4e0a\u66f8\u304d\u3057\u307e\u3059\u304b?
+KeywordSearch.importOwConflict=\u30ea\u30b9\u30c8\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u6642\u306e\u77db\u76fe
+KeywordSearch.kwListFailImportMsg=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u304c\u30a4\u30f3\u30dd\u30fc\u30c8\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f
KeywordSearchListsManagementPanel.fileExtensionFilterLbl=Autopsy\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb(xml)
-KeywordSearch.listImportFeatureTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u30a4\u30f3\u30dd\u30fc\u30c8
+KeywordSearchListsManagementPanel.fileExtensionFilterLb2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb(txt)\u3092\u5305\u542b
+KeywordSearch.listImportFeatureTitle=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306e\u30a4\u30f3\u30dd\u30fc\u30c8
KeywordSearchIngestModule.moduleName=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+KeywordSearchIngestModule.moduleDescription=\u30ea\u30b9\u30c8\u5185\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u3068\u6b63\u898f\u8868\u73fe\u3067\u30d5\u30a1\u30a4\u30eb\u7d22\u5f15\u751f\u6210\u3068\u5b9a\u671f\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
+DropdownSearchPanel.keywordTextField.text=
+KeywordSearchPanel.searchDropButton.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+DropdownSearchPanel.exactRadioButton.text=\u5b8c\u5168\u4e00\u81f4
+DropdownSearchPanel.substringRadioButton.text=\u90e8\u5206\u4e00\u81f4
+DropdownSearchPanel.regexRadioButton.text=\u6b63\u898f\u8868\u73fe
+DropdownSearchPanel.searchButton.text=\u691c\u7d22
+DropdownSearchPanel.cutMenuItem.text=\u5207\u308a\u53d6\u308a
DropdownSearchPanel.selectAllMenuItem.text=\u3059\u3079\u3066\u9078\u629e
DropdownSearchPanel.pasteMenuItem.text=\u8cbc\u308a\u4ed8\u3051
DropdownSearchPanel.copyMenuItem.text=\u30b3\u30d4\u30fc
-DropdownSearchPanel.cutMenuItem.text=\u30ab\u30c3\u30c8
-KeywordSearchIngestModule.moduleDescription=\u30ea\u30b9\u30c8\u5185\u306e\u30ad\u30fc\u30ef\u30fc\u30c9\u304a\u3088\u3073\u6b63\u898f\u8868\u73fe\u3092\u4f7f\u3044\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u304a\u3088\u3073\u5b9a\u671f\u7684\u306a\u691c\u7d22\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002
-OptionsCategory_Name_KeywordSearchOptions=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
-OptionsCategory_Keywords_KeywordSearchOptions=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
-AbstractFileStringContentStream.getSize.exception.msg=\u30b9\u30c8\u30ea\u30f3\u30b0\u5168\u4f53\u304c\u5909\u63db\u3055\u308c\u306a\u3051\u308c\u3070\u3001\u5909\u63db\u3055\u308c\u305f\u30b9\u30c8\u30ea\u30f3\u30b0\u5185\u306e\u30ad\u30e3\u30e9\u30af\u30bf\u30fc\u6570\u306f\u4e0d\u660e\u3067\u3059\u3002
-AbstractFileStringContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
-ByteContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
-ExtractedContentPanel.SetMarkup.progress.loading=\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d
-ExtractedContentPanel.SetMarkup.progress.displayName=\u30c6\u30ad\u30b9\u30c8\u3092\u8aad\u307f\u8fbc\u307f\u4e2d
+AbstractFileStringContentStream.getSize.exception.msg=\u6587\u5b57\u5217\u5168\u4f53\u304c\u5909\u63db\u3055\u308c\u308b\u307e\u3067\u3001\u5909\u63db\u3055\u308c\u305f\u6587\u5b57\u5217\u306e\u6587\u5b57\u6570\u306f\u308f\u304b\u308a\u307e\u305b\u3093
+AbstractFileStringContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb:{0}
+ByteContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb:{0}
ExtractedContentViewer.nextPage.exception.msg=\u6b21\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
ExtractedContentViewer.previousPage.exception.msg=\u524d\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
ExtractedContentViewer.hasNextItem.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
@@ -138,147 +189,188 @@ ExtractedContentViewer.hasPreviousItem.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3
ExtractedContentViewer.nextItem.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
ExtractedContentViewer.previousItem.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
ExtractedContentViewer.currentItem.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u691c\u7d22\u53ef\u80fd\u306a\u30bd\u30fc\u30b9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
-HighlightedMatchesSource.nextPage.exception.msg=\u6b21\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-HighlightedMatchesSource.previousPage.exception.msg=\u524d\u306e\u30da\u30fc\u30b8\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-HighlightedMatchesSource.nextItem.exception.msg=\u6b21\u306e\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-HighlightedMatchesSource.previousItem.exception.msg=\u524d\u306e\u30a2\u30a4\u30c6\u30e0\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-Ingester.ingest.exception.unknownImgId.msg=\u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u3066\u3044\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb\uff1a{0}\u306e\u4e0d\u660e\u306a\u30a4\u30e1\u30fc\u30b8ID
-Ingester.ingest.exception.cantReadStream.msg=\u30b3\u30f3\u30c6\u30f3\u30c4\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
-Ingester.ingest.exception.err.msg=\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306e\u30a8\u30e9\u30fc\uff1a{0}
-Ingester.ingestExtract.exception.solrTimeout.msg=\u6b21\u306eID\u306b\u5bfe\u3059\u308b\u3001Solr\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u307e\u3057\u305f\uff1a{0}, \u540d\u524d\: {1}
-Ingester.ingestExtract.exception.probPostToSolr.msg=Solr\u306b\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30dd\u30b9\u30c8\u3059\u308b\u306e\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002ID\uff1a{0}, \u540d\u524d\: {1}
-Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=Solr\u30b3\u30a2\u304c\u5229\u7528\u4e0d\u53ef\u3067\u3059\u3002\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3067\u304d\u307e\u305b\u3093\u3002
-Ingester.UpRequestTask.run.exception.probReadFile.msg=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u53d6\u308a\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Ingester.UpRequestTask.run.exception.solrProb.msg=Solr\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3059
-Ingester.UpRequestTask.run.exception.probPostToSolr.msg=\u30d5\u30a1\u30a4\u30eb\u30b3\u30f3\u30c6\u30f3\u30c4\u3092Solr\u306b\u8f09\u305b\u308b\u306e\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002SolrException\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9\uff1a{0}
-Ingester.FscContentStream.getSrcInfo=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
+Ingester.ingest.exception.unknownImgId.msg=\u30d5\u30a1\u30a4\u30eb\u306e\u7d22\u5f15\u751f\u6210\u304c\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u307e\u3059\u3002\u672a\u77e5\u306e\u30a4\u30e1\u30fc\u30b8ID\u3067\u3059\u3002\u5bfe\u8c61\u30d5\u30a1\u30a4\u30eb: {0}
+Ingester.ingest.exception.cantReadStream.msg=\u6b21\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u8aad\u307f\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+Ingester.ingest.exception.err.msg=\u6b21\u306e\u6587\u66f8\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+Ingester.ingestExtract.exception.solrTimeout.msg=Solr\u7d22\u5f15\u751f\u6210\u30ea\u30af\u30a8\u30b9\u30c8\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3002\u5bfe\u8c61ID: {0}\u3001\u540d\u524d: {1}
+Ingester.ingestExtract.exception.probPostToSolr.msg=Solr\u306b\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u63b2\u8f09\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u5bfe\u8c61ID: {0}\u3001\u540d\u524d: {1}
+Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=\u5229\u7528\u53ef\u80fd\u306aSolr\u30b3\u30a2\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u304d\u307e\u305b\u3093
+Ingester.UpRequestTask.run.exception.probReadFile.msg=\u30d5\u30a1\u30a4\u30eb\u306e\u8aad\u307f\u8fbc\u307f\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Ingester.UpRequestTask.run.exception.solrProb.msg=Solr\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Ingester.UpRequestTask.run.exception.probPostToSolr.msg=Solr\u306b\u30d5\u30a1\u30a4\u30eb\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u63b2\u8f09\u4e2d\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002SolrException\u30a8\u30e9\u30fc\u30b3\u30fc\u30c9: {0}
+Ingester.FscContentStream.getSrcInfo=\u30d5\u30a1\u30a4\u30eb:{0}
Ingester.FscContentStream.getReader=\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-Ingester.NullContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb\uff1a{0}
+Ingester.NullContentStream.getSrcInfo.text=\u30d5\u30a1\u30a4\u30eb:{0}
Ingester.NullContentStream.getReader=\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
KeywordSearch.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-KeywordSearch.fireNumIdxFileChg.moduleErr.msg=KeywordSearch\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3092\u78ba\u8a8d\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3057\u307e\u3057\u305f\u3002\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304b\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002
-KeywordSearchIngestModule.init.exception.errConnToSolr.msg=Solr\u30b5\u30fc\u30d0\u3078\u63a5\u7d9a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
+KeywordSearch.fireNumIdxFileChg.moduleErr.msg=KeywordSearch\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
KeywordSearchListsEncase.save.exception.msg=\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
KeywordSearchListsEncase.save2.exception.msg=\u307e\u3060\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
-KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType\uff1a{0}
+KeywordSearchListsEncase.encaseMetaType.exception.msg=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044EncaseMetaType: {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
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\u3092\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\u3092\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\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchOptionsPanelController.moduleErr.msg2=KeywordSearchOptionsPanelController\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
KeywordSearchQueryManager.pathText.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
-KeywordSearchResultFactory.progress.saving=\u7d50\u679c\u3092\u4fdd\u5b58\u4e2d\uff1a{0}
-KeywordSearchSettings.moduleName.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
+KeywordSearchResultFactory.progress.saving=\u6b21\u306e\u7d50\u679c\u3092\u4fdd\u5b58: {0}
+KeywordSearchSettings.moduleName.text=KeywordSearch
KeywordSearchSettings.properties_options.text={0}_\u30aa\u30d7\u30b7\u30e7\u30f3
KeywordSearchSettings.propertiesNSRL.text={0}_NSRL
-KeywordSearchSettings.propertiesScripts.text={0}_\u30b9\u30af\u30ea\u30d7\u30c8
-NoOpenCoreException.err.noOpenSorlCore.msg=\u73fe\u5728\u958b\u3044\u3066\u3044\u308bSolr\u30b3\u30a2\u304c\u3042\u308a\u307e\u305b\u3093\u3002
-Server.start.exception.cantStartSolr.msg=Solr\u30b5\u30fc\u30d0\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-Server.start.exception.cantStartSolr.msg2=Solr\u30b5\u30fc\u30d0\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-Server.isRunning.exception.errCheckSolrRunning.msg=Solr\u30b5\u30fc\u30d0\u306e\u7a3c\u50cd\u72b6\u614b\u3092\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-Server.isRunning.exception.errCheckSolrRunning.msg2=Solr\u30b5\u30fc\u30d0\u304c\u7a3c\u50cd\u3057\u3066\u3044\u308b\u304b\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-Server.openCore.exception.alreadyOpen.msg=\u3059\u3067\u306b\u958b\u3044\u3066\u3044\u308b\u30b3\u30a2\u3067\u3059\uff01\u307e\u305a\u78ba\u5b9f\u306b\u30b3\u30a2\u3092\u9589\u3058\u3066\u4e0b\u3055\u3044\u3002
-Server.queryNumIdxFiles.exception.msg=\u8907\u6570\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u306e\u30af\u30a8\u30ea\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Server.queryNumIdxChunks.exception.msg=\u8907\u6570\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30c1\u30e3\u30f3\u30af\u306b\u5bfe\u3057\u3066\u306e\u30af\u30a8\u30ea\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Server.queryNumIdxDocs.exception.msg=\u8907\u6570\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u5bfe\u3057\u3066\u306e\u30af\u30a8\u30ea\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Server.queryIsIdxd.exception.msg=\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u304b\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Server.queryNumFileChunks.exception.msg=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e3\u30f3\u30af\u306e\u6570\u3092\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
-Server.query.exception.msg=\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a{0}
-Server.query2.exception.msg=\u30af\u30a8\u30ea\uff1a{0}\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-Server.queryTerms.exception.msg=Terms\u30af\u30a8\u30ea\: {0}\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-Server.openCore.exception.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u304c\u307e\u3060\u7a3c\u50cd\u3057\u3066\u3044\u307e\u305b\u3093
-Server.openCore.exception.cantOpen.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u4f5c\u6210\u307e\u305f\u306f\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f
+KeywordSearchSettings.propertiesScripts.text={0}_\u6587\u5b57\u5217
+NoOpenCoreException.err.noOpenSorlCore.msg=\u73fe\u5728\u958b\u3044\u3066\u3044\u308bSolr\u306e\u30b3\u30a2\u306f\u3042\u308a\u307e\u305b\u3093\u3002
+SearchRunner.query.exception.msg=\u6b21\u306e\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f:
+# {0} - \u30b3\u30a2\u540d
+Server.deleteCore.exception.msg=Solr \u30b3\u30a2 {0} \u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+Server.start.exception.cantStartSolr.msg=Solr\u30b5\u30fc\u30d0\u30fc\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+Server.start.exception.cantStartSolr.msg2=Solr\u30b5\u30fc\u30d0\u30fc\u30d7\u30ed\u30bb\u30b9\u3092\u958b\u59cb\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+Server.isRunning.exception.errCheckSolrRunning.msg=Solr\u30b5\u30fc\u30d0\u30fc\u304c\u5b9f\u884c\u4e2d\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Server.isRunning.exception.errCheckSolrRunning.msg2=Solr\u30b5\u30fc\u30d0\u30fc\u304c\u5b9f\u884c\u4e2d\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Server.openCore.exception.alreadyOpen.msg=\u958b\u3044\u3066\u3044\u308bSolr\u306e\u30b3\u30a2\u304c\u3059\u3067\u306b\u3042\u308a\u307e\u3059\u3002\u6700\u521d\u306b\u30b3\u30a2\u3092\u660e\u793a\u7684\u306b\u9589\u3058\u3066\u304f\u3060\u3055\u3044\u3002
+Server.queryNumIdxFiles.exception.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u6570\u3092\u30af\u30a8\u30ea\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Server.queryNumIdxChunks.exception.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30c1\u30e3\u30f3\u30af\u6570\u3092\u30af\u30a8\u30ea\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Server.queryNumIdxDocs.exception.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u6587\u66f8\u6570\u3092\u30af\u30a8\u30ea\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Server.queryIsIdxd.exception.msg=\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Server.queryNumFileChunks.exception.msg=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e3\u30f3\u30af\u6570\u306e\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Server.query.exception.msg=\u6b21\u306e\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+Server.query2.exception.msg=\u6b21\u306e\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+Server.queryTerms.exception.msg=\u6b21\u306eterms(\u6574\u6570/\u6587\u5b57\u5217/\u914d\u5217)\u30af\u30a8\u30ea\u306e\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
+Server.connect.exception.msg=\u6b21\u306eSolr\u30b5\u30fc\u30d0\u30fc\u306b\u63a5\u7d9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+Server.openCore.exception.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u306f\u307e\u3060\u5b9f\u884c\u3057\u3066\u3044\u307e\u305b\u3093
+Server.openCore.exception.cantOpen.msg=\u7d22\u5f15\u3092\u4f5c\u6210\u307e\u305f\u306f\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f
+Server.openCore.exception.noIndexDir.msg=\u7d22\u5f15\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u4f5c\u6210\u3067\u304d\u306a\u304b\u3063\u305f\u304b\u3001\u898b\u3064\u304b\u308a\u307e\u305b\u3093
Server.request.exception.exception.msg=Solr\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u767a\u884c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-Server.commit.exception.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u30b3\u30df\u30c3\u30c8\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
-Server.addDoc.exception.msg=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u6b21\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
-Server.close.exception.msg=\u30b3\u30a2\u3092\u9589\u3058\u308c\u307e\u305b\u3093
-Server.close.exception.msg2=\u30b3\u30a2\u3092\u9589\u3058\u308c\u307e\u305b\u3093
-Server.solrServerNoPortException.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u306b\u4f7f\u7528\u3057\u3066\u3044\u308b\u30b5\u30fc\u30d0\u306f\u30dd\u30fc\u30c8{0}\u306b\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30dd\u30fc\u30c8\u306f\u4f7f\u7528\u4e0d\u53ef\u3067\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8{1}\u30dd\u30fc\u30c8\u306e\u5909\u66f4\u3092\u691c\u8a0e\u3057\u3066\u4e0b\u3055\u3044\u3002
-KeywordSearchIngestModule.doInBackGround.displayName=\u5b9a\u671f\u7684\u306a\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
-KeywordSearchIngestModule.doInBackGround.finalizeMsg=- \u6700\u7d42\u51e6\u7406\u4e2d
-KeywordSearchIngestModule.doInBackGround.pendingMsg=\uff08\u30da\u30f3\u30c7\u30a3\u30f3\u30b0\uff09
-SearchRunner.doInBackGround.cancelMsg=\uff08\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u2026\uff09
-Server.addDoc.exception.msg2=\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3057\u305f\u304c\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u6b21\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{0}
+Server.commit.exception.msg=\u7d22\u5f15\u3092\u78ba\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+Server.addDoc.exception.msg=\u66f4\u65b0\u30cf\u30f3\u30c9\u30e9\u30fc\u7d4c\u7531\u3067\u6b21\u306e\u6587\u66f8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+Server.addDoc.exception.msg2=\u66f4\u65b0\u30cf\u30f3\u30c9\u30e9\u30fc\u7d4c\u7531\u3067\u6b21\u306e\u6587\u66f8\u3092\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+Server.close.exception.msg=\u30b3\u30a2\u3092\u9589\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
+Server.close.exception.msg2=\u30b3\u30a2\u3092\u9589\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093
+Server.solrServerNoPortException.msg=\u7d22\u5f15\u751f\u6210\u30b5\u30fc\u30d0\u30fc\u306f\u30dd\u30fc\u30c8 {0} \u306b\u30d0\u30a4\u30f3\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u306e {1} \u30dd\u30fc\u30c8\u306b\u5909\u66f4\u3059\u308b\u3053\u3068\u3092\u691c\u8a0e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=-
+KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText=
KeywordSearchJobSettingsPanel.languagesValLabel.text=-
-KeywordSearchJobSettingsPanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\uff1a
-KeywordSearchJobSettingsPanel.titleLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u306b\u6709\u52b9\u306b\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e\uff1a
-KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\u3002\u30a2\u30c9\u30d0\u30f3\u30b9\u8a2d\u5b9a\u304b\u3089\u5909\u66f4\u304c\u53ef\u80fd\u3067\u3059\u3002
-KeywordSearchJobSettingsPanel.languagesLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u3092\u6709\u52b9\u306b\u3057\u305f\u30b9\u30af\u30ea\u30d7\u30c8\uff1a
-KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u306e\u6709\u52b9\u5316
-KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=\u4e0d\u660e\u306a\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u8a2d\u5b9a\uff08\u5909\u66f4\u306f\u6b21\u56de\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304b\u3089\u6709\u52b9\uff09\uff1a
-KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=UTF16LE\u3068UTF16BE\u30b9\u30c8\u30ea\u30f3\u30b0\u62bd\u51fa\u306e\u6709\u52b9\u5316
-KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=\u6709\u52b9\u306a\u30b9\u30af\u30ea\u30d7\u30c8\uff08\u8a00\u8a9e\uff09\uff1a
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=\uff12\uff10\u5206\uff08\u6700\u77ed\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\uff09
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=\uff12\uff10\u5206\uff08\u6700\u3082\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u77ed\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\uff09
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=\uff11\uff10\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u5168\u4f53\u7684\u306b\u901f\u3044\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\uff09
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=\uff11\uff10\u5206\uff08\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\uff09
-KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u306e\u983b\u5ea6\uff1a
-KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Hash DB\u30b5\u30fc\u30d3\u30b9\u3092\u4e8b\u524d\u306b\u5b9f\u884c\u3059\u308b\u304b\u3001\u6b21\u56de\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u9078\u629e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
-KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306bNSRL\u306e\u30d5\u30a1\u30a4\u30eb\uff08\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\uff09\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u8ffd\u52a0\u3057\u306a\u3044
+KeywordSearchJobSettingsPanel.encodingsLabel.text=\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0:
+KeywordSearchJobSettingsPanel.titleLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306b\u6709\u52b9\u5316\u3059\u308b\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u9078\u629e:
+KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=\u672a\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u6587\u5b57\u5217\u62bd\u51fa\u306e\u305f\u3081\u306b\u6709\u52b9\u5316\u3055\u308c\u305f\u6587\u5b57\u5217\u3067\u3059\u3002\u8a73\u7d30\u8a2d\u5b9a\u3067\u5909\u66f4\u3092\u884c\u3048\u307e\u3059\u3002
+KeywordSearchJobSettingsPanel.languagesLabel.text=\u672a\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u6587\u5b57\u5217\u62bd\u51fa\u306e\u305f\u3081\u306b\u6709\u52b9\u5316\u3055\u308c\u305f\u6587\u5b57\u5217\u3067\u3059\u3002
+KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=UTF8\u30c6\u30ad\u30b9\u30c8\u62bd\u51fa\u3092\u6709\u52b9\u5316\u3059\u308b
+KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=\u672a\u77e5\u306e\u30d5\u30a1\u30a4\u30eb\u30bf\u30a4\u30d7\u304b\u3089\u306e\u6587\u5b57\u5217\u62bd\u51fa\u306e\u305f\u3081\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u8a2d\u5b9a(\u5909\u66f4\u306f\u6b21\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3067\u6709\u52b9\u306b\u306a\u308a\u307e\u3059):
+KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=UTF16LE\u304a\u3088\u3073UTF16BE\u6587\u5b57\u5217\u62bd\u51fa\u3092\u6709\u52b9\u5316
+KeywordSearchGlobalLanguageSettingsPanel.enableOcrCheckbox.text=\u5149\u5b66\u6587\u5b57\u8a8d\u8b58(OCR)\u3092\u6709\u52b9\u5316
+KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=\u6709\u52b9\u5316\u3055\u308c\u305f\u6587\u5b57\u5217(\u8a00\u8a9e):
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.toolTipText=20\u5206(\u6700\u901f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593)
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton1.text=20\u5206(\u6700\u9045\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u901f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8)
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.toolTipText=10\u5206(\u30c7\u30d5\u30a9\u30eb\u30c8\u3088\u308a\u3082\u901f\u3044\u7dcf\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593)
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton2.text=10\u5206(\u3088\u308a\u9045\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u3088\u308a\u901f\u3044\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8)
+KeywordSearchGlobalSearchSettingsPanel.frequencyLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306e\u7d50\u679c\u66f4\u65b0\u983b\u5ea6:
+KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=\u30cf\u30c3\u30b7\u30e5\u30bb\u30c3\u30c8\u30b5\u30fc\u30d3\u30b9\u306b\u4ee5\u524d\u306b\u5b9f\u884c\u6e08\u307f\u3067\u3042\u308b\u3053\u3068\u3001\u307e\u305f\u306f\u6b21\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u306b\u9078\u629e\u3055\u308c\u308b\u3053\u3068\u3092\u8981\u6c42\u3057\u307e\u3059\u3002
+KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306bNSRL(\u65e2\u77e5\u306e\u30d5\u30a1\u30a4\u30eb)\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u306b\u8ffd\u52a0\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044
KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=\u60c5\u5831
KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=\u8a2d\u5b9a
-KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=-
-KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30d5\u30a1\u30a4\u30eb\uff1a
-KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=-
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=\uff11\u5206\uff08\u5168\u4f53\u7684\u306a\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=\uff11\u5206\uff08\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u3082\u9577\u3044\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\uff09
-KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5185\u306e\u30c1\u30e3\u30f3\u30af\uff1a
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=\uff15\u5206\uff08\u5168\u4f53\u7684\u306a\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=\uff15\u5206\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09
-DropdownSearchPanel.substringRadioButton.text=\u30b5\u30d6\u30b9\u30c8\u30ea\u30f3\u30b0\u4e00\u81f4
-AbstractFileTikaTextExtract.index.exception.tikaParse.msg=\u4f8b\u5916\uff1a\u30d5\u30a1\u30a4\u30eb\uff1a{0}, {1}\u306eApache Tika\u30d1\u30fc\u30b9\u30bf\u30b9\u30af\u5b9f\u884c\u4e2d\u306e\u4e88\u671f\u305b\u306c\u4f8b\u5916
-AbstractFileTikaTextExtract.index.tikaParseTimeout.text=\u4f8b\u5916\uff1a\u30b3\u30f3\u30c6\u30f3\u30c4\uff1a{0}, {1}\u306eApache Tika\u30d1\u30fc\u30b9\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8
-DropdownSearchPanel.exactRadioButton.text=\u5b8c\u5168\u4e00\u81f4
-DropdownSearchPanel.regexRadioButton.text=\u6b63\u898f\u8868\u73fe
-DropdownSearchPanel.searchButton.text=\u691c\u7d22
-KeywordSearchEditListPanel.exportButtonAction.featureName.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
-KeywordSearchGlobalListSettingsPanel.component.featureName.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u4fdd\u5b58
-KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d7\u30ec\u30d3\u30e5\u30fc\u3092\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u306b\u8868\u793a\uff08\u691c\u7d22\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059\uff09
-KeywordSearchIngestModule.fileThLbl=\u30d5\u30a1\u30a4\u30eb
-KeywordSearchIngestModule.kwHitLbl=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8\uff1a
+KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=0
+KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u5185\u306e\u30d5\u30a1\u30a4\u30eb:
+KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u30d7\u30ec\u30d3\u30e5\u30fc\u3092\u8868\u793a(\u691c\u7d22\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059)
+KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=0
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.toolTipText=1\u5206(\u7dcf\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\u306f\u6700\u9577\u306b\u306a\u308a\u307e\u3059)
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton4.text_1=1\u5206(\u3088\u308a\u901f\u3044\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u3001\u6700\u9577\u306e\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8)
+KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u7d22\u5f15\u5185\u306e\u30c1\u30e3\u30f3\u30af:
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.toolTipText=5\u5206(\u7dcf\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u307e\u3059)
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton3.text=5\u5206(\u30c7\u30d5\u30a9\u30eb\u30c8)
+KeywordSearchIngestModule.regExpHitLbl=\u6b63\u898f\u8868\u73fe\u30d2\u30c3\u30c8:
+KeywordSearchIngestModule.kwHitLbl=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8:
KeywordSearchIngestModule.kwHitThLbl=\u30ad\u30fc\u30ef\u30fc\u30c9
-KeywordSearchIngestModule.listThLbl=\u30ea\u30b9\u30c8
KeywordSearchIngestModule.previewThLbl=\u30d7\u30ec\u30d3\u30e5\u30fc
-KeywordSearchIngestModule.regExpHitLbl=\u6b63\u898f\u8868\u73fe\u30d2\u30c3\u30c8\uff1a
+KeywordSearchIngestModule.fileThLbl=\u30d5\u30a1\u30a4\u30eb
+KeywordSearchIngestModule.listThLbl=\u30ea\u30b9\u30c8
KeywordSearchIngestModule.regExThLbl=\u6b63\u898f\u8868\u73fe
-KeywordSearchListsAbstract.addList.errMsg1.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\u3092\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.addList.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\u3092\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
+AbstractFileTikaTextExtract.index.tikaParseTimeout.text=\u4f8b\u5916: \u6b21\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u306eTika\u89e3\u6790\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8: {0}\u3001{1}
+AbstractFileTikaTextExtract.index.exception.tikaParse.msg=\u4f8b\u5916: \u6b21\u306e\u30d5\u30a1\u30a4\u30eb\u306eTika\u89e3\u6790\u30bf\u30b9\u30af\u5b9f\u884c\u6642\u306e\u4e88\u671f\u305b\u306c\u4f8b\u5916: {0}\u3001{1}
+KeywordSearchEditListPanel.exportButtonAction.featureName.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+KeywordSearchGlobalListSettingsPanel.component.featureName.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u3092\u4fdd\u5b58
KeywordSearchListsAbstract.moduleErr=\u30e2\u30b8\u30e5\u30fc\u30eb\u30a8\u30e9\u30fc
-KeywordSearchPanel.searchDropButton.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22
-SearchRunner.updateTimer.title.text=SearchRunner\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30bf\u30a4\u30de\u30fc
-KeywordSearchListsAbstract.deleteList.errMsg1.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\u3092\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.saveList.errMsg1.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\u3092\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.saveList.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\u3092\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.errMsg1.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\u3092\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\u3092\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
-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
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton5.text=\u5b9a\u671f\u7684\u691c\u7d22\u7121\u3057
-KeywordSearchGlobalSearchSettingsPanel.timeRadioButton5.toolTipText=\u5168\u4f53\u7684\u306b\u4e00\u756a\u901f\u3044\u3067\u3059\u304c\u3001\u51e6\u7406\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u7d50\u679c\u306f\u8868\u793a\u3055\u308c\u307e\u305b\u3093
-KeywordSearch.openCore.notification.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f
-KeywordSearch.closeCore.notification.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3092\u9589\u3058\u308b\u969b\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
-KeywordSearchListsManagementPanel.fileExtensionFilterLb2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u30a8\u30f3\u30b1\u30fc\u30b9\u3059\u308b(txt)
-Server.connect.exception.msg=Solr\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f\uff1a{0}
-Server.openCore.exception.noIndexDir.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u307e\u305f\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
-KeywordSearchIngestModule.startUp.noOpenCore.msg=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u304c\u958b\u3051\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u307e\u305f\u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
-SolrConnectionCheck.HostnameOrPort=hostname\u3084\u30dd\u30fc\u30c8\u756a\u53f7\u304c\u7121\u52b9\u3067\u3059\u3002
-SolrConnectionCheck.Hostname=hostname\u304c\u7121\u52b9\u3067\u3059\u3002
-SolrConnectionCheck.Port=\u30dd\u30fc\u30c8\u756a\u53f7\u304c\u7121\u52b9\u3067\u3059\u3002
-SolrConnectionCheck.MissingHostname=hostname\u304c\u6b20\u3051\u3066\u307e\u3059\u3002
-ExtractedContentViewer.getText.error.msg=\u30c6\u30ad\u30b9\u30c8\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+KeywordSearchListsAbstract.addList.errMsg1.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsAbstract.addList.errMsg2.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+SearchRunner.updateTimer.title.text=SearchRunner\u66f4\u65b0\u30bf\u30a4\u30de\u30fc
+KeywordSearchListsAbstract.saveList.errMsg1.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsAbstract.saveList.errMsg2.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsAbstract.writeLists.errMsg1.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsAbstract.writeLists.errMsg2.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002
+KeywordSearchListsAbstract.deleteList.errMsg1.msg=KeywordSearchListsAbstract\u66f4\u65b0\u306e\u30ea\u30c3\u30b9\u30f3\u4e2d\u306b\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u30a8\u30e9\u30fc\u3092\u767a\u751f\u3055\u305b\u307e\u3057\u305f\u3002\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u3069\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5224\u65ad\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4e00\u90e8\u306e\u30c7\u30fc\u30bf\u304c\u4e0d\u5b8c\u5168\u3067\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\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\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u5b9f\u884c\u4e2d\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b(\u5909\u66f4\u306f\u6052\u4e45\u7684\u3067\u306f\u3042\u308a\u307e\u305b\u3093)?
+KeywordSearchListsManagementPanel.newKeywordListDescription2=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8 <{0}> \u304c\u3059\u3067\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7f6e\u304d\u63db\u3048\u307e\u3059\u304b?
+KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=instanceof KeywordSearchJobSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+KeywordSearchModuleFactory.createFileIngestModule.exception.msg=instanceof KeywordSearchJobSettings\u306b\u306a\u308b\u3068\u4e88\u60f3\u3055\u308c\u308b\u8a2d\u5b9a\u5f15\u6570
+SearchRunner.Searcher.done.err.msg=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u306e\u5b9f\u884c\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton5.toolTipText=\u5168\u4f53\u3067\u6700\u901f\u3067\u3059\u304c\u3001\u6700\u5f8c\u307e\u3067\u7d50\u679c\u306f\u8868\u793a\u3055\u308c\u307e\u305b\u3093
+KeywordSearchGlobalSearchSettingsPanel.timeRadioButton5.text=\u5b9a\u671f\u691c\u7d22\u306a\u3057
+SolrConnectionCheck.HostnameOrPort=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u304a\u3088\u3073/\u307e\u305f\u306f\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
+SolrConnectionCheck.Hostname=\u7121\u52b9\u306a\u30db\u30b9\u30c8\u540d\u3067\u3059\u3002
+SolrConnectionCheck.MissingHostname=\u30db\u30b9\u30c8\u540d\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002
+GlobalListsManagementPanel.newListButton.text=\u65b0\u898f\u30ea\u30b9\u30c8
+GlobalListsManagementPanel.importButton.text=\u30ea\u30b9\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8
+GlobalListsManagementPanel.keywordListsLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30ea\u30b9\u30c8:
+NewKeywordPanel.regexButton.text=\u6b63\u898f\u8868\u73fe
+NewKeywordPanel.exactButton.text=\u5b8c\u5168\u4e00\u81f4
+NewKeywordPanel.substringButton.text=\u90e8\u5206\u4e00\u81f4
+NewKeywordPanel.keywordTextField.text=
+NewKeywordPanel.newKeywordLabel.text=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b:
+AddKeywordsDialog.exactRadioButton.text=\u5b8c\u5168\u4e00\u81f4
+AddKeywordsDialog.substringRadioButton.text=\u90e8\u5206\u4e00\u81f4
+AddKeywordsDialog.regexRadioButton.text=\u6b63\u898f\u8868\u73fe
+AddKeywordsDialog.keywordTypeLabel.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u30bf\u30a4\u30d7\u3092\u9078\u629e:
+AddKeywordsDialog.enterKeywordsLabel.text=\u6b21\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u5165\u529b(1\u884c\u306b\u3064\u304d1\u3064):
+AddKeywordsDialog.pasteButton.text=\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u304b\u3089\u8cbc\u308a\u4ed8\u3051
+AddKeywordsDialog.addButton.text=OK
+AddKeywordsDialog.cancelButton.text=\u53d6\u308a\u6d88\u3057
+AddKeywordsDialog.addKeywordsTitle.text=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9
+GlobalEditListPanel.newKeywordsButton.text=\u65b0\u898f\u30ad\u30fc\u30ef\u30fc\u30c9
+GlobalEditListPanel.addKeywordResults.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u3092\u8ffd\u52a0
+GlobalEditListPanel.keywordsAdded.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u6b63\u5e38\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002
+GlobalEditListPanel.keywordsAddedPlural.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u6b63\u5e38\u306b\u8ffd\u52a0\u3057\u307e\u3057\u305f\u3002
+GlobalEditListPanel.keywordDupesSkipped.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u30ea\u30b9\u30c8\u306b\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f\u3002
+GlobalEditListPanel.keywordDupesSkippedPlural.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u306f\u30ea\u30b9\u30c8\u306b\u3059\u3067\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3057\u305f\u3002
+GlobalEditListPanel.keywordErrors.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u78ba\u8a8d\u3057\u3066\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002
+GlobalEditListPanel.keywordErrorsPlural.text={0} \u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u89e3\u6790\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u78ba\u8a8d\u3057\u3066\u3082\u3046\u4e00\u5ea6\u304a\u8a66\u3057\u304f\u3060\u3055\u3044\u3002
GlobalListsManagementPanel.exportButton.text=\u30ea\u30b9\u30c8\u3092\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
GlobalListsManagementPanel.deleteListButton.text=\u30ea\u30b9\u30c8\u3092\u524a\u9664
GlobalListsManagementPanel.copyListButton.text=\u30ea\u30b9\u30c8\u3092\u30b3\u30d4\u30fc
+GlobalListsManagementPanel.renameListButton.text=\u30ea\u30b9\u30c8\u540d\u3092\u7de8\u96c6
+GlobalEditListPanel.editWordButton.text=\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u7de8\u96c6
+SolrConnectionCheck.Port=\u7121\u52b9\u306a\u30dd\u30fc\u30c8\u756a\u53f7\u3067\u3059\u3002
+SolrSearch.checkingForLatestIndex.msg=\u6700\u65b0\u306eSolr\u3068\u30b9\u30ad\u30fc\u30de\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u691c\u7d22\u4e2d\u3067\u3059
+SolrSearch.complete.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u304c\u6b63\u5e38\u306b\u958b\u304d\u307e\u3057\u305f
+SolrSearch.creatingNewIndex.msg=\u65b0\u898f\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u751f\u6210\u4e2d\u3067\u3059
+SolrSearch.findingIndexes.msg=\u65e2\u5b58\u306e\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u691c\u7d22\u4e2d\u3067\u3059
+SolrSearch.indentifyingIndex.msg=\u4f7f\u7528\u3059\u308b\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u7279\u5b9a\u4e2d\u3067\u3059
+SolrSearch.lookingForMetadata.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u7d22\u4e2d\u3067\u3059
+SolrSearch.openCore.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u8d77\u52d5\u4e2d\u3067\u3059
+SolrSearch.openGiantCore.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u8d77\u52d5\u4e2d\u3067\u3059\u3002\u3053\u306e\u30b1\u30fc\u30b9\u306e\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306f\u975e\u5e38\u306b\u5927\u304d\u3044\u305f\u3081\u3001\u8d77\u52d5\u306b\u6642\u9593\u304c\u304b\u304b\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+SolrSearch.openLargeCore.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u3092\u8d77\u52d5\u4e2d\u3067\u3059\u3002\u3053\u308c\u306b\u306f\u6570\u5206\u304b\u304b\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002
+SolrSearch.readingIndexes.msg=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u307f\u4e2d\u3067\u3059
+# {0} - \u7d22\u5f15\u30d5\u30a9\u30eb\u30c0\u30fc\u30d1\u30b9
+SolrSearchService.exceptionMessage.failedToDeleteIndexFiles={0} \u306e\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+SolrSearchService.exceptionMessage.noCurrentSolrCore=IndexMetadata\u306b\u306f\u73fe\u5728\u306eSolr\u306e\u30b3\u30a2\u304c\u542b\u307e\u308c\u3066\u3044\u306a\u304b\u3063\u305f\u305f\u3081\u3001\u30b1\u30fc\u30b9\u3092\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+# {0} - \u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc
+SolrSearchService.exceptionMessage.noIndexMetadata=\u30b1\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u304b\u3089\u6b21\u306eIndexMetaData\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f: {0}
+SolrSearchService.ServiceName=Solr\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u30b5\u30fc\u30d3\u30b9
+SolrSearchService.IndexReadOnlyDialog.title=\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3067\u3059
+SolrSearchService.IndexReadOnlyDialog.msg=\u3053\u306e\u30b1\u30fc\u30b9\u306e\u30c6\u30ad\u30b9\u30c8\u7d22\u5f15\u306f\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3067\u3059\u3002
\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u7d50\u679c\u3092\u78ba\u8a8d\u3057\u3001\u5b8c\u5168\u4e00\u81f4\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3068\u90e8\u5206\u4e00\u81f4\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059
\u304c\u3001\u7d22\u5f15\u306b\u65b0\u898f\u30c6\u30ad\u30b9\u30c8\u3092\u8ffd\u52a0\u307e\u305f\u306f\u6b63\u898f\u8868\u73fe\u691c\u7d22\u3092\u5b9f\u884c\u3067\u304d\u307e\u305b\u3093\u3002\u305d\u306e\u4ee3\u308f\u308a\u306b\u3001\u3053\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3067
\u30b1\u30fc\u30b9\u3092\u958b\u3051\u307e\u3059\u3002
+ExtractedContentPanel.jLabel1.text=\u30c6\u30ad\u30b9\u30c8\u30bd\u30fc\u30b9:
+ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton
+ExtractedContentPanel.pagePreviousButton.text=
+ExtractedContentPanel.pageNextButton.text=
ExtractedContentPanel.pageCurLabel.text=-
-ExtractedContentPanel.pageOfLabel.text=of
+ExtractedContentPanel.pageOfLabel.text=/
ExtractedContentPanel.pageTotalLabel.text=-
ExtractedContentPanel.pageButtonsLabel.text=\u30da\u30fc\u30b8
-ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8\uff1a
-DropdownSingleTermSearchPanel.ingestIndexLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\uff1a
-GlobalEditListPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
-KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u3067\u3059\u3002\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u306f\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+ExtractedContentPanel.pagesLabel.text=\u30da\u30fc\u30b8:
+DropdownSingleTermSearchPanel.dataSourceCheckBox.text=\u9078\u629e\u3057\u305f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306b\u691c\u7d22\u3092\u5236\u9650:
+DropdownListSearchPanel.dataSourceCheckBox.text=\u9078\u629e\u3057\u305f\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u306b\u691c\u7d22\u3092\u5236\u9650:
+DropdownSingleTermSearchPanel.ingestIndexLabel.text=\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb:
+DropdownSingleTermSearchPanel.jSaveSearchResults.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8\u306b\u3088\u308b\u904e\u53bb\u306e\u691c\u7d22\u7d50\u679c\u306e\u5f62\u3067\u7d50\u679c\u3092\u4fdd\u5b58\u305b\u305a\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c
+DropdownSingleTermSearchPanel.jSaveSearchResults.text=\u691c\u7d22\u7d50\u679c\u3092\u4fdd\u5b58
+DropdownListSearchPanel.jSaveSearchResults.toolTipText=\u30ad\u30fc\u30ef\u30fc\u30c9\u30d2\u30c3\u30c8\u306b\u3088\u308b\u904e\u53bb\u306e\u691c\u7d22\u7d50\u679c\u306e\u5f62\u3067\u7d50\u679c\u3092\u4fdd\u5b58\u305b\u305a\u306b\u30ad\u30fc\u30ef\u30fc\u30c9\u691c\u7d22\u3092\u5b9f\u884c
+DropdownListSearchPanel.jSaveSearchResults.text=\u691c\u7d22\u7d50\u679c\u3092\u4fdd\u5b58
+GlobalEditListPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
+KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u9032\u884c\u4e2d\u3067\u3059\u3002\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u4e00\u90e8\u306e\u8a2d\u5b9a\u3092\u5229\u7528\u3067\u304d\u307e\u305b\u3093\u3002
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java
index bc3cad6f05..9866c500a0 100644
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java
+++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchIngestModule.java
@@ -28,6 +28,7 @@ import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.Level;
import java.util.stream.Collectors;
+import org.apache.tika.mime.MimeTypes;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.openide.util.NbBundle.Messages;
@@ -44,12 +45,12 @@ import org.sleuthkit.autopsy.ingest.IngestMessage.MessageType;
import org.sleuthkit.autopsy.ingest.IngestModuleReferenceCounter;
import org.sleuthkit.autopsy.ingest.IngestServices;
import org.sleuthkit.autopsy.keywordsearch.Ingester.IngesterException;
-import org.sleuthkit.autopsy.keywordsearch.TextFileExtractor.TextFileExtractorException;
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchService;
import org.sleuthkit.autopsy.keywordsearchservice.KeywordSearchServiceException;
import org.sleuthkit.autopsy.modules.filetypeid.FileTypeDetector;
import org.sleuthkit.autopsy.textextractors.TextExtractor;
import org.sleuthkit.autopsy.textextractors.TextExtractorFactory;
+import org.sleuthkit.autopsy.textextractors.TextFileExtractor;
import org.sleuthkit.autopsy.textextractors.configs.ImageConfig;
import org.sleuthkit.autopsy.textextractors.configs.StringsConfig;
import org.sleuthkit.datamodel.AbstractFile;
@@ -632,7 +633,7 @@ public final class KeywordSearchIngestModule implements FileIngestModule {
if (context.fileIngestIsCancelled()) {
return;
}
- if (fileType.equals("application/octet-stream")) {
+ if (fileType.equals(MimeTypes.OCTET_STREAM)) {
extractStringsAndIndex(aFile);
return;
}
@@ -657,20 +658,7 @@ public final class KeywordSearchIngestModule implements FileIngestModule {
if ((wasTextAdded == false) && (aFile.getNameExtension().equalsIgnoreCase("txt") && !(aFile.getType().equals(TskData.TSK_DB_FILES_TYPE_ENUM.CARVED)))) {
//Carved Files should be the only type of unallocated files capable of a txt extension and
//should be ignored by the TextFileExtractor because they may contain more than one text encoding
- try {
- TextFileExtractor textFileExtractor = new TextFileExtractor();
- Reader textReader = textFileExtractor.getReader(aFile);
- if (textReader == null) {
- logger.log(Level.INFO, "Unable to extract with TextFileExtractor, Reader was null for file: {0}", aFile.getName());
- } else if (Ingester.getDefault().indexText(textReader, aFile.getId(), aFile.getName(), aFile, context)) {
- putIngestStatus(jobId, aFile.getId(), IngestStatus.TEXT_INGESTED);
- wasTextAdded = true;
- }
- } catch (IngesterException ex) {
- logger.log(Level.WARNING, "Unable to index as unicode", ex);
- } catch (TextFileExtractorException ex) {
- logger.log(Level.INFO, "Could not extract text with TextFileExtractor", ex);
- }
+ wasTextAdded = indexTextFile(aFile);
}
// if it wasn't supported or had an error, default to strings
@@ -678,5 +666,29 @@ public final class KeywordSearchIngestModule implements FileIngestModule {
extractStringsAndIndex(aFile);
}
}
+
+ /**
+ * Adds the text file to the index given an encoding.
+ * Returns true if indexing was successful and false otherwise.
+ *
+ * @param aFile Text file to analyze
+ * @param detectedCharset the encoding of the file
+ */
+ private boolean indexTextFile(AbstractFile aFile) {
+ try {
+ TextFileExtractor textFileExtractor = new TextFileExtractor(aFile);
+ Reader textReader = textFileExtractor.getReader();
+ if (textReader == null) {
+ logger.log(Level.INFO, "Unable to extract with TextFileExtractor, Reader was null for file: {0}", aFile.getName());
+ } else if (Ingester.getDefault().indexText(textReader, aFile.getId(), aFile.getName(), aFile, context)) {
+ textReader.close();
+ putIngestStatus(jobId, aFile.getId(), IngestStatus.TEXT_INGESTED);
+ return true;
+ }
+ } catch (IngesterException | IOException ex) {
+ logger.log(Level.WARNING, "Unable to index " + aFile.getName(), ex);
+ }
+ return false;
+ }
}
}
diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextFileExtractor.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextFileExtractor.java
deleted file mode 100644
index 66d26a95bf..0000000000
--- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/TextFileExtractor.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Autopsy Forensic Browser
- *
- * Copyright 2018-2019 Basis Technology Corp.
- * Contact: carrier sleuthkit org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.sleuthkit.autopsy.keywordsearch;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.BufferedInputStream;
-import java.io.Reader;
-import org.apache.tika.parser.txt.CharsetDetector;
-import org.apache.tika.parser.txt.CharsetMatch;
-import org.sleuthkit.datamodel.AbstractFile;
-import org.sleuthkit.datamodel.ReadContentInputStream;
-
-/**
- * Extract text from .txt files
- */
-final class TextFileExtractor {
-
- //Set a Minimum confidence value to reject matches that may not have a valid text encoding
- //Values of valid text encodings were generally 100, xml code sometimes had a value around 50,
- //and pictures and other files with a .txt extention were showing up with a value of 5 or less in limited testing.
- //This limited information was used to select the current value as one that would filter out clearly non-text
- //files while hopefully working on all files with a valid text encoding
- static final private int MIN_MATCH_CONFIDENCE = 20;
-
- public Reader getReader(AbstractFile source) throws TextFileExtractorException {
- CharsetDetector detector = new CharsetDetector();
- //wrap stream in a BufferedInputStream so that it supports the mark/reset methods necessary for the CharsetDetector
- InputStream stream = new BufferedInputStream(new ReadContentInputStream(source));
- try {
- detector.setText(stream);
- } catch (IOException ex) {
- throw new TextFileExtractorException("Unable to get string from detected text in TextFileExtractor", ex);
- }
- CharsetMatch match = detector.detect();
- if (match == null) {
- throw new TextFileExtractorException("Unable to detect any matches using TextFileExtractor");
- } else if (match.getConfidence() < MIN_MATCH_CONFIDENCE) {
- throw new TextFileExtractorException("Text does not match any character set with a high enough confidence for TextFileExtractor");
- }
-
- return match.getReader();
- }
-
- public class TextFileExtractorException extends Exception {
- public TextFileExtractorException(String msg, Throwable ex) {
- super(msg, ex);
- }
- public TextFileExtractorException(String msg) {
- super(msg);
- }
- }
-}
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties
index 47af63c1ac..e41e0ee1e3 100644
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Bundle_ja.properties
@@ -1,100 +1,100 @@
-OpenIDE-Module-Display-Category=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
+OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\
- \u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n\n\
- \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u4E2D\u306E\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u304B\u3089\u6709\u7528\u306A\u6700\u8FD1\u306E\u30E6\u30FC\u30B6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u62BD\u51FA\u3057\u307E\u3059\u3002\u4F8B\u3048\u3070\uFF1A\n\n-\u6700\u8FD1\u958B\u3044\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3001\n-\u30A6\u30A7\u30D6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\uFF08\u8A2A\u308C\u305F\u30B5\u30A4\u30C8\u3001\u4FDD\u5B58\u3055\u308C\u305FCookie\u3001\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3055\u308C\u305F\u30B5\u30A4\u30C8\u3001\u30B5\u30FC\u30C1\u30A8\u30F3\u30B8\u30F3\u30AF\u30A8\u30EA\u3001\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\uFF09\u3001\n-\u6700\u8FD1\u63A5\u7D9A\u3057\u305F\u30C7\u30D0\u30A4\u30B9\u3001\n-\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u30D7\u30ED\u30B0\u30E9\u30E0\u3002\n\n\
- \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306F\u73FE\u5728Windows\u306E\u30C7\u30A3\u30B9\u30AF\u30A4\u30E1\u30FC\u30B8\u3057\u304B\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002\n\
- \u30D7\u30E9\u30B0\u30A4\u30F3\u306FWindows\u7248\u306EAutopsy\u3092\u5229\u7528\u3059\u308B\u3068\u5168\u3066\u306E\u6A5F\u80FD\u304C\u4F7F\u3048\u307E\u3059\u3002
-OpenIDE-Module-Name=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-OpenIDE-Module-Short-Description=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u30D5\u30A1\u30A4\u30F3\u30C0\u30FC\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
+ \u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\
+ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u4e2d\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u304b\u3089\u6709\u7528\u306a\u6700\u8fd1\u306e\u30e6\u30fc\u30b6\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002\u4f8b\u3048\u3070\uff1a\n\n-\u6700\u8fd1\u958b\u3044\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3001\n-\u30a6\u30a7\u30d6\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\uff08\u8a2a\u308c\u305f\u30b5\u30a4\u30c8\u3001\u4fdd\u5b58\u3055\u308c\u305fCookie\u3001\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3055\u308c\u305f\u30b5\u30a4\u30c8\u3001\u30b5\u30fc\u30c1\u30a8\u30f3\u30b8\u30f3\u30af\u30a8\u30ea\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\uff09\u3001\n-\u6700\u8fd1\u63a5\u7d9a\u3057\u305f\u30c7\u30d0\u30a4\u30b9\u3001\n-\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u3002\n\n\
+ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306f\u73fe\u5728Windows\u306e\u30c7\u30a3\u30b9\u30af\u30a4\u30e1\u30fc\u30b8\u3057\u304b\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002\n\
+ \u30d7\u30e9\u30b0\u30a4\u30f3\u306fWindows\u7248\u306eAutopsy\u3092\u5229\u7528\u3059\u308b\u3068\u5168\u3066\u306e\u6a5f\u80fd\u304c\u4f7f\u3048\u307e\u3059\u3002
+OpenIDE-Module-Name=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+OpenIDE-Module-Short-Description=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30d5\u30a1\u30a4\u30f3\u30c0\u30fc\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
Chrome.moduleName=Chrome
-Chrome.getHistory.errMsg.errGettingFiles=Chrome\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Chrome.getHistory.errMsg.couldntFindAnyFiles=\u30A2\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3\u3055\u308C\u305FChrome\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-Chrome.getHistory.errMsg.errAnalyzingFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-Chrome.getBookmark.errMsg.errGettingFiles=Chrome\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Chrome.getBookmark.errMsg.errAnalyzingFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getBookmark.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getBookmark.errMsg.errAnalyzingFile3={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getBookmark.errMsg.errAnalyzingFile4={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getCookie.errMsg.errGettingFiles=Chrome\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Chrome.getCookie.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getDownload.errMsg.errGettingFiles=Chrome\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Chrome.getDownload.errMsg.errAnalyzeFiles1={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Chrome.getLogin.errMsg.errGettingFiles=Chrome\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Chrome.getLogin.errMsg.errAnalyzingFiles={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Extract.dbConn.errMsg.failedToQueryDb={0}\:\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u306E\u30AF\u30A8\u30EA\u5B9F\u884C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
+Chrome.getHistory.errMsg.errGettingFiles=Chrome\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Chrome.getHistory.errMsg.couldntFindAnyFiles=\u30a2\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3055\u308c\u305fChrome\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+Chrome.getHistory.errMsg.errAnalyzingFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+Chrome.getBookmark.errMsg.errGettingFiles=Chrome\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Chrome.getBookmark.errMsg.errAnalyzingFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getBookmark.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getBookmark.errMsg.errAnalyzingFile3={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getBookmark.errMsg.errAnalyzingFile4={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getCookie.errMsg.errGettingFiles=Chrome\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Chrome.getCookie.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getDownload.errMsg.errGettingFiles=Chrome\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Chrome.getDownload.errMsg.errAnalyzeFiles1={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Chrome.getLogin.errMsg.errGettingFiles=Chrome\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Chrome.getLogin.errMsg.errAnalyzingFiles={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Extract.dbConn.errMsg.failedToQueryDb={0}\:\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30af\u30a8\u30ea\u5b9f\u884c\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
ExtractIE.moduleName.text=Internet Explorer
-ExtractIE.getBookmark.errMsg.errGettingBookmarks={0}\: Internet Explorer\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-ExtractIE.parentModuleName.noSpace=\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}\u3092\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}\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Explorer\u306Ecookie\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Explorer\u306Ecookie{1}\u3092\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 Explorer\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\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}\u3092\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\u3092\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-ExtractIE.parsePascoOutput.errMsg.notFound={0}\:Pasco\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\uFF1A{1}
-ExtractIE.parsePascoOutput.errMsg.errParsing={0}\:Internet Explorer\u5C65\u6B74\u30A8\u30F3\u30C8\u30EA{1}\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ExtractIE.parsePascoOutput.errMsg.errParsingEntry={0}\: Internet Explorer\u5C65\u6B74\u30A8\u30F3\u30C8\u30EA\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-ExtractRegistry.moduleName.text=\u30EC\u30B8\u30B9\u30C8\u30EA
-ExtractRegistry.findRegFiles.errMsg.errReadingFile=\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\uFF1A{0}\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ExtractRegistry.analyzeRegFiles.errMsg.errWritingTemp={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ExtractRegistry.analyzeRegFiles.failedParsingResults={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\u7D50\u679C\u306E\u30D1\u30FC\u30B9\u306B\u5931\u6557\u3057\u307E\u3057\u305F{1}
-ExtractRegistry.parentModuleName.noSpace=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-ExtractRegistry.programName=\u30EC\u30B8\u30B9\u30C8\u30EA\u30EA\u30C3\u30D1\u30FC
-ExtractRegistry.analyzeRegFiles.errMsg.errReadingRegFile={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB - {1}\u3092\u8AAD\u307F\u53D6\u308A\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile2={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile3={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile4={0}\:\u30EC\u30B8\u30B9\u30C8\u30EA\u30D5\u30A1\u30A4\u30EB\u306E\u89E3\u6790\u306B\u5931\u6557\u3057\u307E\u3057\u305F
+ExtractIE.getBookmark.errMsg.errGettingBookmarks={0}\: Internet Explorer\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ExtractIE.parentModuleName.noSpace=\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}\u3092\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}\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractIE.getCookie.errMsg.errGettingFile={0}\:Internet Explorer\u306ecookie\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ExtractIE.getCookie.errMsg.errReadingIECookie={0}\:Internet Explorer\u306ecookie{1}\u3092\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 Explorer\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\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}\u3092\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\u3092\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ExtractIE.parsePascoOutput.errMsg.notFound={0}\:Pasco\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\uff1a{1}
+ExtractIE.parsePascoOutput.errMsg.errParsing={0}\:Internet Explorer\u5c65\u6b74\u30a8\u30f3\u30c8\u30ea{1}\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractIE.parsePascoOutput.errMsg.errParsingEntry={0}\: Internet Explorer\u5c65\u6b74\u30a8\u30f3\u30c8\u30ea\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ExtractRegistry.moduleName.text=\u30ec\u30b8\u30b9\u30c8\u30ea
+ExtractRegistry.findRegFiles.errMsg.errReadingFile=\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\uff1a{0}\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractRegistry.analyzeRegFiles.errMsg.errWritingTemp={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractRegistry.analyzeRegFiles.failedParsingResults={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u7d50\u679c\u306e\u30d1\u30fc\u30b9\u306b\u5931\u6557\u3057\u307e\u3057\u305f{1}
+ExtractRegistry.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+ExtractRegistry.programName=\u30ec\u30b8\u30b9\u30c8\u30ea\u30ea\u30c3\u30d1\u30fc
+ExtractRegistry.analyzeRegFiles.errMsg.errReadingRegFile={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb - {1}\u3092\u8aad\u307f\u53d6\u308a\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u6790\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile2={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u6790\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile3={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u6790\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+ExtractRegistry.execRegRip.errMsg.failedAnalyzeRegFile4={0}\:\u30ec\u30b8\u30b9\u30c8\u30ea\u30d5\u30a1\u30a4\u30eb\u306e\u89e3\u6790\u306b\u5931\u6557\u3057\u307e\u3057\u305f
Firefox.moduleName=FireFox
-Firefox.getHistory.errMsg.errFetchingFiles=Firefox\u306E\u30A4\u30F3\u30BF\u30FC\u30CD\u30C3\u30C8\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getHistory.errMsg.noFilesFound=Firefox\u5C65\u6B74\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-Firefox.getHistory.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Firefox.parentModuleName.noSpace=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-Firefox.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-Firefox.getBookmark.errMsg.errFetchFiles=Firefox\u306E\u30D6\u30C3\u30AF\u30DE\u30FC\u30AF\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getBookmark.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u306E\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Firefox.getCookie.errMsg.errFetchFile=Firefox\u306Ecookie\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getCookie.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Firefox.getDlPre24.errMsg.errFetchFiles=Firefox\u306E\u300C\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u300D\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getDlPre24.errMsg.errAnalyzeFiles={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Firefox.getDlPre24.errMsg.errParsingArtifacts={0}\:{1} Firefox\u30A6\u30A7\u30D6\u5C65\u6B74\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getDlV24.errMsg.errFetchFiles=Firefox\u306E\u300C\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u300D\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-Firefox.getDlV24.errMsg.errAnalyzeFile={0}\:\u30D5\u30A1\u30A4\u30EB\:{1}\u3092\u89E3\u6790\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-Firefox.getDlV24.errMsg.errParsingArtifacts={0}\:{1} Firefox\u30A6\u30A7\u30D6\u5C65\u6B74\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-RAImageIngestModule.process.started={0}\u3092\u958B\u59CB\u3057\u307E\u3057\u305F
-RAImageIngestModule.process.errModFailed={0}\u5931\u6557\u3057\u307E\u3057\u305F - \u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044
-RAImageIngestModule.process.errModErrs={0}\u306B\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3057\u305F -- \u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044
-RAImageIngestModule.process.errMsg.errsEncountered=\u89E3\u6790\u4E2D\u306B\u767A\u751F\u3057\u305F\u30A8\u30E9\u30FC\uFF1A
-RAImageIngestModule.process.errMsgSub.oneErr=1\u3064\u306E\u30A8\u30E9\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
-RAImageIngestModule.process.errMsgSub.nErrs={0}\u306E\u30A8\u30E9\u30FC\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F
-RAImageIngestModule.process.ingestMsg.finished=\u5B8C\u4E86 {0} - {1}
-RAImageIngestModule.process.errMsg.noErrs=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-RAImageIngestModule.process.errMsgSub.noErrs=\u30A8\u30E9\u30FC\u304C\u30EC\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093
-RAImageIngestModule.process.histMsg.title={0}\u306B\u95A2\u3057\u3066\u306E\u30D6\u30E9\u30A6\u30B6\u30C7\u30FC\u30BF\uFF1A
-RAImageIngestModule.process.histMsg.found= \u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002
-RAImageIngestModule.process.histMsg.notFnd=\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-RAImageIngestModule.process.ingestMsg.results={0} - \u30D6\u30E9\u30A6\u30B6\u7D50\u679C
-RAImageIngestModule.complete.errMsg.failed={0} \u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F - \u8A73\u7D30\u306F\u30ED\u30B0\u3092\u78BA\u8A8D\u3057\u3066\u4E0B\u3055\u3044
-RAImageIngestModule.getName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-RAImageIngestModule.getDesc=\u30A6\u30A7\u30D6\u30D6\u30E9\u30A6\u30B8\u30F3\u30B0\u3001\u6700\u8FD1\u958B\u3044\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3001\u6700\u8FD1\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u305F\u30D7\u30ED\u30B0\u30E9\u30E0\u7B49\u306E\u6700\u8FD1\u306E\u30E6\u30FC\u30B6\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3\u3092\u62BD\u51FA\u3057\u307E\u3059\u3002
-RecentDocumentsByLnk.getRecDoc.errMsg.errGetLnkFiles={0}\:lnk\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u5F97\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-RecentDocumentsByLnk.getRecDoc.errParsingFile={0}\: \u6700\u8FD1\u306E\u30D5\u30A1\u30A4\u30EB{1}\u3092\u30D1\u30FC\u30B9\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-RecentDocumentsByLnk.parentModuleName.noSpace=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-RecentDocumentsByLnk.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-SearchEngineURLQueryAnalyzer.moduleName.text=\u691C\u7D22\u30A8\u30F3\u30B8\u30F3
+Firefox.getHistory.errMsg.errFetchingFiles=Firefox\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getHistory.errMsg.noFilesFound=Firefox\u5c65\u6b74\u30d5\u30a1\u30a4\u30eb\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+Firefox.getHistory.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Firefox.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+Firefox.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+Firefox.getBookmark.errMsg.errFetchFiles=Firefox\u306e\u30d6\u30c3\u30af\u30de\u30fc\u30af\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getBookmark.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u306e\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Firefox.getCookie.errMsg.errFetchFile=Firefox\u306ecookie\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getCookie.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Firefox.getDlPre24.errMsg.errFetchFiles=Firefox\u306e\u300c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u300d\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getDlPre24.errMsg.errAnalyzeFiles={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Firefox.getDlPre24.errMsg.errParsingArtifacts={0}\:{1} Firefox\u30a6\u30a7\u30d6\u5c65\u6b74\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getDlV24.errMsg.errFetchFiles=Firefox\u306e\u300c\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u300d\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+Firefox.getDlV24.errMsg.errAnalyzeFile={0}\:\u30d5\u30a1\u30a4\u30eb\:{1}\u3092\u89e3\u6790\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+Firefox.getDlV24.errMsg.errParsingArtifacts={0}\:{1} Firefox\u30a6\u30a7\u30d6\u5c65\u6b74\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+RAImageIngestModule.process.started={0}\u3092\u958b\u59cb\u3057\u307e\u3057\u305f
+RAImageIngestModule.process.errModFailed={0}\u5931\u6557\u3057\u307e\u3057\u305f - \u8a73\u7d30\u306f\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044
+RAImageIngestModule.process.errModErrs={0}\u306b\u30a8\u30e9\u30fc\u304c\u3042\u308a\u307e\u3057\u305f -- \u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044
+RAImageIngestModule.process.errMsg.errsEncountered=\u89e3\u6790\u4e2d\u306b\u767a\u751f\u3057\u305f\u30a8\u30e9\u30fc\uff1a
+RAImageIngestModule.process.errMsgSub.oneErr=1\u3064\u306e\u30a8\u30e9\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
+RAImageIngestModule.process.errMsgSub.nErrs={0}\u306e\u30a8\u30e9\u30fc\u304c\u898b\u3064\u304b\u308a\u307e\u3057\u305f
+RAImageIngestModule.process.ingestMsg.finished=\u5b8c\u4e86 {0} - {1}
+RAImageIngestModule.process.errMsg.noErrs=\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+RAImageIngestModule.process.errMsgSub.noErrs=\u30a8\u30e9\u30fc\u304c\u30ec\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+RAImageIngestModule.process.histMsg.title={0}\u306b\u95a2\u3057\u3066\u306e\u30d6\u30e9\u30a6\u30b6\u30c7\u30fc\u30bf\uff1a
+RAImageIngestModule.process.histMsg.found= \u898b\u3064\u304b\u308a\u307e\u3057\u305f\u3002
+RAImageIngestModule.process.histMsg.notFnd=\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+RAImageIngestModule.process.ingestMsg.results={0} - \u30d6\u30e9\u30a6\u30b6\u7d50\u679c
+RAImageIngestModule.complete.errMsg.failed={0} \u5b8c\u4e86\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f - \u8a73\u7d30\u306f\u30ed\u30b0\u3092\u78ba\u8a8d\u3057\u3066\u4e0b\u3055\u3044
+RAImageIngestModule.getName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+RAImageIngestModule.getDesc=\u30a6\u30a7\u30d6\u30d6\u30e9\u30a6\u30b8\u30f3\u30b0\u3001\u6700\u8fd1\u958b\u3044\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3001\u6700\u8fd1\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u30d7\u30ed\u30b0\u30e9\u30e0\u7b49\u306e\u6700\u8fd1\u306e\u30e6\u30fc\u30b6\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u3092\u62bd\u51fa\u3057\u307e\u3059\u3002
+RecentDocumentsByLnk.getRecDoc.errMsg.errGetLnkFiles={0}\:lnk\u30d5\u30a1\u30a4\u30eb\u3092\u53d6\u5f97\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+RecentDocumentsByLnk.getRecDoc.errParsingFile={0}\: \u6700\u8fd1\u306e\u30d5\u30a1\u30a4\u30eb{1}\u3092\u30d1\u30fc\u30b9\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+RecentDocumentsByLnk.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+RecentDocumentsByLnk.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+SearchEngineURLQueryAnalyzer.moduleName.text=\u691c\u7d22\u30a8\u30f3\u30b8\u30f3
SearchEngineURLQueryAnalyzer.engineName.none=\u7121\u3057
SearchEngineURLQueryAnalyzer.domainSubStr.none=\u7121\u3057
-SearchEngineURLQueryAnalyzer.toString=\u540D\u79F0\uFF1A {0}\n\
- \u30C9\u30E1\u30A4\u30F3\u30B5\u30D6\u30B9\u30C8\u30EA\u30F3\u30B0\uFF1A {1}\n\
- \u30AB\u30A6\u30F3\u30C8\uFF1A {2}\n\
- \u5206\u5272\u30C8\u30FC\u30AF\u30F3\n\
+SearchEngineURLQueryAnalyzer.toString=\u540d\u79f0\uff1a {0}\n\
+ \u30c9\u30e1\u30a4\u30f3\u30b5\u30d6\u30b9\u30c8\u30ea\u30f3\u30b0\uff1a {1}\n\
+ \u30ab\u30a6\u30f3\u30c8\uff1a {2}\n\
+ \u5206\u5272\u30c8\u30fc\u30af\u30f3\n\
{3}
-SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-SearchEngineURLQueryAnalyzer.parentModuleName=\u6700\u8FD1\u306E\u30A2\u30AF\u30C6\u30A3\u30D3\u30C6\u30A3
-SearchEngineURLQueryAnalyzer.init.exception.msg={0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F
-UsbDeviceIdMapper.parseAndLookup.text=\u30D7\u30ED\u30C0\u30AF\u30C8\uFF1A{0}
\ No newline at end of file
+SearchEngineURLQueryAnalyzer.parentModuleName.noSpace=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+SearchEngineURLQueryAnalyzer.parentModuleName=\u6700\u8fd1\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3
+SearchEngineURLQueryAnalyzer.init.exception.msg={0}\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f
+UsbDeviceIdMapper.parseAndLookup.text=\u30d7\u30ed\u30c0\u30af\u30c8\uff1a{0}
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chrome.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chrome.java
index f75132c610..49ac9911fe 100644
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chrome.java
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Chrome.java
@@ -554,22 +554,24 @@ class Chrome extends Extract {
RecentActivityExtracterModuleFactory.getModuleName(),
NbBundle.getMessage(this.getClass(), "Chrome.moduleName")));
- BlackboardArtifact bbart = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadFile, bbattributes);
- if (bbart != null) {
- bbartifacts.add(bbart);
- }
-
- // find the downloaded file and create a TSK_DOWNLOAD_SOURCE for it..
- try {
- for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(fullPath), FilenameUtils.getPath(fullPath))) {
- BlackboardArtifact downloadSourceArt = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- downloadSourceArt.addAttributes(createDownloadSourceAttributes(result.get("url").toString()));
-
- bbartifacts.add(downloadSourceArt);
- break;
+ BlackboardArtifact webDownloadArtifact = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadFile, bbattributes);
+ if (webDownloadArtifact != null) {
+ bbartifacts.add(webDownloadArtifact);
+
+ // find the downloaded file and create a TSK_ASSOCIATED_OBJECT for it, associating it with the TSK_WEB_DOWNLOAD artifact.
+ try {
+ for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(fullPath), FilenameUtils.getPath(fullPath))) {
+ BlackboardArtifact associatedObjectArtifact = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ RecentActivityExtracterModuleFactory.getModuleName(), webDownloadArtifact.getArtifactID()));
+
+ bbartifacts.add(associatedObjectArtifact);
+ break;
+ }
+ } catch (TskCoreException ex) {
+ logger.log(Level.SEVERE, String.format("Error creating associated object artifact for file '%s'", fullPath), ex); //NON-NLS
}
- } catch (TskCoreException ex) {
- logger.log(Level.SEVERE, String.format("Error creating download source artifact for file '%s'", fullPath), ex); //NON-NLS
}
}
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ChromeCacheExtractor.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ChromeCacheExtractor.java
index efaf8934b2..4e1b5c3931 100644
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ChromeCacheExtractor.java
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ChromeCacheExtractor.java
@@ -380,12 +380,12 @@ final class ChromeCacheExtractor {
* Extracts the files if needed and adds as derived files, creates artifacts
*
* @param cacheEntryAddress cache entry address
- * @param sourceArtifacts any source artifacts created are added to this collection
+ * @param associatedObjectArtifacts any associated object artifacts created are added to this collection
* @param webCacheArtifacts any web cache artifacts created are added to this collection
*
* @return Optional derived file, is a derived file is added for the given entry
*/
- private List processCacheEntry(CacheAddress cacheEntryAddress, Collection sourceArtifacts, Collection webCacheArtifacts ) throws TskCoreException, IngestModuleException {
+ private List processCacheEntry(CacheAddress cacheEntryAddress, Collection associatedObjectArtifacts, Collection webCacheArtifacts ) throws TskCoreException, IngestModuleException {
List derivedFiles = new ArrayList<>();
@@ -437,10 +437,6 @@ final class ChromeCacheExtractor {
moduleName,
cacheEntry.getHTTPHeaders());
- Collection sourceArtifactAttributes = new ArrayList<>();
- sourceArtifactAttributes.add(urlAttr);
- sourceArtifactAttributes.add(createTimeAttr);
-
Collection webCacheAttributes = new ArrayList<>();
webCacheAttributes.add(urlAttr);
webCacheAttributes.add(createTimeAttr);
@@ -450,12 +446,7 @@ final class ChromeCacheExtractor {
// add artifacts to the f_XXX file
if (dataSegment.isInExternalFile() ) {
try {
- BlackboardArtifact sourceArtifact = cachedFileAbstractFile.get().newArtifact(ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- if (sourceArtifact != null) {
- sourceArtifact.addAttributes(sourceArtifactAttributes);
- sourceArtifacts.add(sourceArtifact);
- }
-
+
BlackboardArtifact webCacheArtifact = cacheEntryFile.get().getAbstractFile().newArtifact(ARTIFACT_TYPE.TSK_WEB_CACHE);
if (webCacheArtifact != null) {
webCacheArtifact.addAttributes(webCacheAttributes);
@@ -469,6 +460,14 @@ final class ChromeCacheExtractor {
moduleName, cachedFileAbstractFile.get().getId()));
webCacheArtifacts.add(webCacheArtifact);
+
+ BlackboardArtifact associatedObjectArtifact = cachedFileAbstractFile.get().newArtifact(ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ if (associatedObjectArtifact != null) {
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ moduleName, webCacheArtifact.getArtifactID()));
+ associatedObjectArtifacts.add(associatedObjectArtifact);
+ }
}
if (isBrotliCompressed) {
@@ -497,12 +496,7 @@ final class ChromeCacheExtractor {
"",
TskData.EncodingType.NONE);
- BlackboardArtifact sourceArtifact = derivedFile.newArtifact(ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- if (sourceArtifact != null) {
- sourceArtifact.addAttributes(sourceArtifactAttributes);
- sourceArtifacts.add(sourceArtifact);
- }
-
+
BlackboardArtifact webCacheArtifact = cacheEntryFile.get().getAbstractFile().newArtifact(ARTIFACT_TYPE.TSK_WEB_CACHE);
if (webCacheArtifact != null) {
webCacheArtifact.addAttributes(webCacheAttributes);
@@ -516,6 +510,14 @@ final class ChromeCacheExtractor {
moduleName, derivedFile.getId()));
webCacheArtifacts.add(webCacheArtifact);
+
+ BlackboardArtifact associatedObjectArtifact = derivedFile.newArtifact(ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ if (associatedObjectArtifact != null) {
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ moduleName, webCacheArtifact.getArtifactID()));
+ associatedObjectArtifacts.add(associatedObjectArtifact);
+ }
}
if (isBrotliCompressed) {
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractSafari.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractSafari.java
index 704826047f..c11e4fde22 100755
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractSafari.java
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractSafari.java
@@ -50,6 +50,7 @@ import org.sleuthkit.autopsy.ingest.ModuleDataEvent;
import org.sleuthkit.autopsy.recentactivity.BinaryCookieReader.Cookie;
import org.sleuthkit.datamodel.AbstractFile;
import org.sleuthkit.datamodel.BlackboardArtifact;
+import org.sleuthkit.datamodel.BlackboardAttribute;
import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.TskCoreException;
import org.xml.sax.SAXException;
@@ -637,15 +638,17 @@ final class ExtractSafari extends Extract {
time = date.getDate().getTime();
}
- BlackboardArtifact bbart = origFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_WEB_DOWNLOAD);
- bbart.addAttributes(this.createDownloadAttributes(path, pathID, url, time, NetworkUtils.extractDomain(url), getName()));
- bbartifacts.add(bbart);
+ BlackboardArtifact webDownloadArtifact = origFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_WEB_DOWNLOAD);
+ webDownloadArtifact.addAttributes(this.createDownloadAttributes(path, pathID, url, time, NetworkUtils.extractDomain(url), getName()));
+ bbartifacts.add(webDownloadArtifact);
- // find the downloaded file and create a TSK_DOWNLOAD_SOURCE for it.
+ // find the downloaded file and create a TSK_ASSOCIATED_OBJECT for it, associating it with the TSK_WEB_DOWNLOAD artifact.
for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(path), FilenameUtils.getPath(path))) {
- BlackboardArtifact downloadSourceArt = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- downloadSourceArt.addAttributes(createDownloadSourceAttributes(url));
- bbartifacts.add(downloadSourceArt);
+ BlackboardArtifact associatedObjectArtifact = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ RecentActivityExtracterModuleFactory.getModuleName(), webDownloadArtifact.getArtifactID()));
+ bbartifacts.add(associatedObjectArtifact);
break;
}
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractZoneIdentifier.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractZoneIdentifier.java
index 250c55fa6e..5062806133 100755
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractZoneIdentifier.java
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/ExtractZoneIdentifier.java
@@ -28,7 +28,6 @@ import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
-import org.apache.commons.lang3.StringUtils;
import org.openide.util.NbBundle.Messages;
import org.sleuthkit.autopsy.coreutils.Logger;
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
@@ -36,13 +35,11 @@ import org.sleuthkit.autopsy.ingest.DataSourceIngestModuleProgress;
import org.sleuthkit.autopsy.ingest.IngestJobContext;
import org.sleuthkit.datamodel.AbstractFile;
import org.sleuthkit.datamodel.BlackboardArtifact;
-import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE;
+import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT;
import static org.sleuthkit.datamodel.BlackboardArtifact.ARTIFACT_TYPE.TSK_WEB_DOWNLOAD;
import org.sleuthkit.datamodel.BlackboardAttribute;
-import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_DOMAIN;
-import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_LOCATION;
+import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT;
import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_PATH_ID;
-import static org.sleuthkit.datamodel.BlackboardAttribute.ATTRIBUTE_TYPE.TSK_URL;
import org.sleuthkit.datamodel.Content;
import org.sleuthkit.datamodel.ReadContentInputStream;
import org.sleuthkit.datamodel.TskCoreException;
@@ -94,7 +91,7 @@ final class ExtractZoneIdentifier extends Extract {
return;
}
- Collection sourceArtifacts = new ArrayList<>();
+ Collection associatedObjectArtifacts = new ArrayList<>();
Collection downloadArtifacts = new ArrayList<>();
for (AbstractFile zoneFile : zoneFiles) {
@@ -104,7 +101,7 @@ final class ExtractZoneIdentifier extends Extract {
}
try {
- processZoneFile(context, dataSource, zoneFile, sourceArtifacts, downloadArtifacts, knownPathIDs);
+ processZoneFile(context, dataSource, zoneFile, associatedObjectArtifacts, downloadArtifacts, knownPathIDs);
} catch (TskCoreException ex) {
addErrorMessage(Bundle.ExtractZone_process_errMsg());
String message = String.format("Failed to process zone identifier file %s", zoneFile.getName()); //NON-NLS
@@ -112,23 +109,23 @@ final class ExtractZoneIdentifier extends Extract {
}
}
- postArtifacts(sourceArtifacts);
+ postArtifacts(associatedObjectArtifacts);
postArtifacts(downloadArtifacts);
}
/**
* Process a single Zone Identifier file.
*
- * @param context IngetJobContext
- * @param dataSource Content
- * @param zoneFile Zone Indentifier file
- * @param sourceArtifacts List for TSK_DOWNLOAD_SOURCE artifacts
- * @param downloadArtifacts List for TSK_WEB_DOWNLOAD aritfacts
- *
+ * @param context IngetJobContext
+ * @param dataSource Content
+ * @param zoneFile Zone Indentifier file
+ * @param associatedObjectArtifacts List for TSK_ASSOCIATED_OBJECT artifacts
+ * @param downloadArtifacts List for TSK_WEB_DOWNLOAD artifacts
+ *
* @throws TskCoreException
*/
private void processZoneFile(IngestJobContext context, Content dataSource,
- AbstractFile zoneFile, Collection sourceArtifacts,
+ AbstractFile zoneFile, Collection associatedObjectArtifacts,
Collection downloadArtifacts,
Set knownPathIDs) throws TskCoreException {
@@ -155,16 +152,16 @@ final class ExtractZoneIdentifier extends Extract {
BlackboardArtifact downloadBba = createDownloadArtifact(zoneFile, zoneInfo);
if (downloadBba != null) {
downloadArtifacts.add(downloadBba);
+ // create a TSK_ASSOCIATED_OBJECT for the downloaded file, associating it with the TSK_WEB_DOWNLOAD artifact.
+ if (downloadFile.getArtifactsCount(TSK_ASSOCIATED_OBJECT) == 0) {
+ BlackboardArtifact associatedObjectBba = createAssociatedObjectArtifact(downloadFile, downloadBba);
+ if (associatedObjectBba != null) {
+ associatedObjectArtifacts.add(associatedObjectBba);
+ }
+ }
}
}
- // check if download has a child TSK_DOWNLOAD_SOURCE artifact, if not create one
- if (downloadFile.getArtifactsCount(TSK_DOWNLOAD_SOURCE) == 0) {
- BlackboardArtifact sourceBba = createDownloadSourceArtifact(downloadFile, zoneInfo);
- if (sourceBba != null) {
- sourceArtifacts.add(sourceBba);
- }
- }
}
}
@@ -203,33 +200,26 @@ final class ExtractZoneIdentifier extends Extract {
}
/**
- * Create a Download Source Artifact for the given ZoneIdentifierInfo
+ * Create a Associated Object Artifact for the given ZoneIdentifierInfo
* object.
*
* @param downloadFile AbstractFile representing the file downloaded, not
- * the zone identifier file.
- * @param zoneInfo Zone identifier file wrapper object
+ * the zone identifier file.
+ * @param downloadBba TSK_WEB_DOWNLOAD artifact to associate with.
*
- * @return TSK_DOWNLOAD_SOURCE object for given parameters
+ * @return TSK_ASSOCIATED_OBJECT artifact.
*/
- private BlackboardArtifact createDownloadSourceArtifact(AbstractFile downloadFile, ZoneIdentifierInfo zoneInfo) {
+ private BlackboardArtifact createAssociatedObjectArtifact(AbstractFile downloadFile, BlackboardArtifact downloadBba) {
Collection bbattributes = new ArrayList<>();
bbattributes.addAll(Arrays.asList(
- new BlackboardAttribute(TSK_URL,
- RecentActivityExtracterModuleFactory.getModuleName(),
- StringUtils.defaultString(zoneInfo.getURL(), "")),
-
- new BlackboardAttribute(TSK_DOMAIN,
- RecentActivityExtracterModuleFactory.getModuleName(),
- (zoneInfo.getURL() != null) ? NetworkUtils.extractDomain(zoneInfo.getURL()) : ""),
-
- new BlackboardAttribute(TSK_LOCATION,
- RecentActivityExtracterModuleFactory.getModuleName(),
- StringUtils.defaultString(zoneInfo.getZoneIdAsString(), "")))); //NON-NLS
+ new BlackboardAttribute(TSK_ASSOCIATED_ARTIFACT,
+ RecentActivityExtracterModuleFactory.getModuleName(),
+ downloadBba.getArtifactID())
+ ));
- return createArtifactWithAttributes(TSK_DOWNLOAD_SOURCE, downloadFile, bbattributes);
+ return createArtifactWithAttributes(TSK_ASSOCIATED_OBJECT, downloadFile, bbattributes);
}
/**
diff --git a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java
index dd4e70ee06..7fddeb0aa8 100644
--- a/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java
+++ b/RecentActivity/src/org/sleuthkit/autopsy/recentactivity/Firefox.java
@@ -544,22 +544,25 @@ class Firefox extends Extract {
domain)); //NON-NLS
}
- BlackboardArtifact bbart = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadsFile, bbattributes);
- if (bbart != null) {
- bbartifacts.add(bbart);
- }
-
- // find the downloaded file and create a TSK_DOWNLOAD_SOURCE for it.
- try {
- for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(downloadedFilePath), FilenameUtils.getPath(downloadedFilePath))) {
- BlackboardArtifact downloadSourceArt = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- downloadSourceArt.addAttributes(createDownloadSourceAttributes(source));
- bbartifacts.add(downloadSourceArt);
- break;
+ BlackboardArtifact webDownloadArtifact = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadsFile, bbattributes);
+ if (webDownloadArtifact != null) {
+ bbartifacts.add(webDownloadArtifact);
+
+ // find the downloaded file and create a TSK_ASSOCIATED_OBJECT for it, associating it with the TSK_WEB_DOWNLOAD artifact.
+ try {
+ for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(downloadedFilePath), FilenameUtils.getPath(downloadedFilePath))) {
+ BlackboardArtifact associatedObjectArtifact = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ RecentActivityExtracterModuleFactory.getModuleName(), webDownloadArtifact.getArtifactID()));
+
+ bbartifacts.add(associatedObjectArtifact);
+ break;
+ }
+ } catch (TskCoreException ex) {
+ logger.log(Level.SEVERE, String.format("Error creating associated object artifact for file '%s'",
+ downloadedFilePath), ex); //NON-NLS
}
- } catch (TskCoreException ex) {
- logger.log(Level.SEVERE, String.format("Error creating download source artifact for file '%s'",
- downloadedFilePath), ex); //NON-NLS
}
}
if (errors > 0) {
@@ -681,22 +684,24 @@ class Firefox extends Extract {
RecentActivityExtracterModuleFactory.getModuleName(), domain)); //NON-NLS
}
- BlackboardArtifact bbart = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadsFile, bbattributes);
- if (bbart != null) {
- bbartifacts.add(bbart);
- }
+ BlackboardArtifact webDownloadArtifact = createArtifactWithAttributes(ARTIFACT_TYPE.TSK_WEB_DOWNLOAD, downloadsFile, bbattributes);
+ if (webDownloadArtifact != null) {
+ bbartifacts.add(webDownloadArtifact);
- // find the downloaded file and create a TSK_DOWNLOAD_SOURCE for it.
- try {
- for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(downloadedFilePath), FilenameUtils.getPath(downloadedFilePath))) {
- BlackboardArtifact downloadSourceArt = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_DOWNLOAD_SOURCE);
- downloadSourceArt.addAttributes(createDownloadSourceAttributes(url));
- bbartifacts.add(downloadSourceArt);
- break;
+ // find the downloaded file and create a TSK_ASSOCIATED_OBJECT for it, associating it with the TSK_WEB_DOWNLOAD artifact.
+ try {
+ for (AbstractFile downloadedFile : fileManager.findFiles(dataSource, FilenameUtils.getName(downloadedFilePath), FilenameUtils.getPath(downloadedFilePath))) {
+ BlackboardArtifact associatedObjectArtifact = downloadedFile.newArtifact(BlackboardArtifact.ARTIFACT_TYPE.TSK_ASSOCIATED_OBJECT);
+ associatedObjectArtifact.addAttribute(
+ new BlackboardAttribute(BlackboardAttribute.ATTRIBUTE_TYPE.TSK_ASSOCIATED_ARTIFACT,
+ RecentActivityExtracterModuleFactory.getModuleName(), webDownloadArtifact.getArtifactID()));
+ bbartifacts.add(associatedObjectArtifact);
+ break;
+ }
+ } catch (TskCoreException ex) {
+ logger.log(Level.SEVERE, String.format("Error creating associated object artifact for file '%s'",
+ downloadedFilePath), ex); //NON-NLS
}
- } catch (TskCoreException ex) {
- logger.log(Level.SEVERE, String.format("Error creating download source artifact for file '%s'",
- downloadedFilePath), ex); //NON-NLS
}
}
if (errors > 0) {
diff --git a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties
index 2f387da587..c4ba8d47fc 100644
--- a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties
+++ b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/Bundle_ja.properties
@@ -1,13 +1,13 @@
-OpenIDE-Module-Name=Scalpel\u30AB\u30FC\u30D0
-OpenIDE-Module-Display-Category=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
+OpenIDE-Module-Name=Scalpel\u30ab\u30fc\u30d0
+OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\
- \u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u5B9F\u884C\u3059\u308B\u969B\u306B\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059\u3002\n\
- \u5207\u308A\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u518D\u5EA6\u89E3\u6790\u3055\u308C\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-OpenIDE-Module-Short-Description=\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059
-ScalpelCarverIngestModule.moduleName=Scalpel\u30AB\u30FC\u30D0
-ScalpelCarverIngestModule.moduleDesc.text=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u3092\u5B9F\u884C\u3059\u308B\u969B\u306B\u672A\u5272\u308A\u5F53\u3066\u9818\u57DF\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5207\u308A\u51FA\u3057\u307E\u3059\u3002\n\
-\u5207\u308A\u51FA\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u518D\u5EA6\u89E3\u6790\u3055\u308C\u3001\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30C4\u30EA\u30FC\u306B\u8868\u793A\u3055\u308C\u307E\u3059\u3002
-ScalpelCarverIngestModule.startUp.exception.msg1=\u73FE\u5728\u3001Scalpel\u30AB\u30FC\u30D3\u30F3\u30B0\u30E2\u30B8\u30E5\u30FC\u30EB\u306FWindows OS\u4EE5\u5916\u3068\u306F\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002
-ScalpelCarverIngestModule.startUp.exception.msg2=Scalpel\u30AB\u30FC\u30D0\u306E\u521D\u671F\u5316\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002
-ScalpelCarverIngestModule.startUp.exception.msg3=Scalpel\u30E2\u30B8\u30E5\u30FC\u30EB\u306E\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-ScalpelCarverIngestModule.startUp.exception.msg4=Scalpel\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30D1\u30B9\u304C\u53D6\u5F97\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
\ No newline at end of file
+ \u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u969b\u306b\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u5207\u308a\u51fa\u3057\u307e\u3059\u3002\n\
+ \u5207\u308a\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u518d\u5ea6\u89e3\u6790\u3055\u308c\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002
+OpenIDE-Module-Short-Description=\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u5207\u308a\u51fa\u3057\u307e\u3059
+ScalpelCarverIngestModule.moduleName=Scalpel\u30ab\u30fc\u30d0
+ScalpelCarverIngestModule.moduleDesc.text=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u3092\u5b9f\u884c\u3059\u308b\u969b\u306b\u672a\u5272\u308a\u5f53\u3066\u9818\u57df\u304b\u3089\u30d5\u30a1\u30a4\u30eb\u3092\u5207\u308a\u51fa\u3057\u307e\u3059\u3002\n\
+\u5207\u308a\u51fa\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u518d\u5ea6\u89e3\u6790\u3055\u308c\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30c4\u30ea\u30fc\u306b\u8868\u793a\u3055\u308c\u307e\u3059\u3002
+ScalpelCarverIngestModule.startUp.exception.msg1=\u73fe\u5728\u3001Scalpel\u30ab\u30fc\u30d3\u30f3\u30b0\u30e2\u30b8\u30e5\u30fc\u30eb\u306fWindows OS\u4ee5\u5916\u3068\u306f\u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u305b\u3093\u3002
+ScalpelCarverIngestModule.startUp.exception.msg2=Scalpel\u30ab\u30fc\u30d0\u306e\u521d\u671f\u5316\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002
+ScalpelCarverIngestModule.startUp.exception.msg3=Scalpel\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ScalpelCarverIngestModule.startUp.exception.msg4=Scalpel\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u30d1\u30b9\u304c\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
diff --git a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/jni/Bundle_ja.properties b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/jni/Bundle_ja.properties
index cab0908ab7..5dd426932e 100644
--- a/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/jni/Bundle_ja.properties
+++ b/ScalpelCarver/src/org/sleuthkit/autopsy/scalpel/jni/Bundle_ja.properties
@@ -1,8 +1,8 @@
-ScalpelCarver.loadLib.errMsg.cannotLoadLib=\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u74B0\u5883\u306B\u30E9\u30A4\u30D6\u30E9\u30EA{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
-ScalpelCarver.loadLib.errMsg.cannotLoadLib2=\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u74B0\u5883\u306B\u30E9\u30A4\u30D6\u30E9\u30EA{0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F
-ScalpelCarver.carve.exception.libNotInit=Scalpel\u30E9\u30A4\u30D6\u30E9\u30EA\u306F\u5B8C\u5168\u306B\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-ScalpelCarver.carve.exception.invalidArgs=Scalpel\u30AB\u30FC\u30D3\u30F3\u30B0\u306B\u7121\u52B9\u306A\u30A2\u30FC\u30AE\u30E5\u30E1\u30F3\u30C8\u3002
-ScalpelCarver.carve.exception.cannotReadConfig=libscalpel\u8A2D\u5B9A\u30D5\u30A1\u30A4\u30EB\: {0}\u3092\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F
-ScalpelCarver.carve.exception.cannotWriteConfig=libscalpel\u30A2\u30A6\u30C8\u30D7\u30C3\u30C8\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\: {0}\u306B\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F
-ScalpelOutputParser.outputStart.text=\u4E0B\u8A18\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u5207\u308A\u51FA\u3055\u308C\u307E\u3057\u305F\uFF1A
-ScalpelOutputParser.toString.text=CarvedFileMeta'{'\u30D5\u30A1\u30A4\u30EB\u540D\={0}, \u30B9\u30BF\u30FC\u30C8\: {1}, \u30B5\u30A4\u30BA\: {2}'}'
\ No newline at end of file
+ScalpelCarver.loadLib.errMsg.cannotLoadLib=\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u74b0\u5883\u306b\u30e9\u30a4\u30d6\u30e9\u30ea{0}\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+ScalpelCarver.loadLib.errMsg.cannotLoadLib2=\u4f7f\u7528\u3055\u308c\u3066\u3044\u308b\u74b0\u5883\u306b\u30e9\u30a4\u30d6\u30e9\u30ea{0}\u3092\u30ed\u30fc\u30c9\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f
+ScalpelCarver.carve.exception.libNotInit=Scalpel\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u5b8c\u5168\u306b\u521d\u671f\u5316\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+ScalpelCarver.carve.exception.invalidArgs=Scalpel\u30ab\u30fc\u30d3\u30f3\u30b0\u306b\u7121\u52b9\u306a\u30a2\u30fc\u30ae\u30e5\u30e1\u30f3\u30c8\u3002
+ScalpelCarver.carve.exception.cannotReadConfig=libscalpel\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\: {0}\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f
+ScalpelCarver.carve.exception.cannotWriteConfig=libscalpel\u30a2\u30a6\u30c8\u30d7\u30c3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\: {0}\u306b\u66f8\u304d\u8fbc\u3081\u307e\u305b\u3093\u3067\u3057\u305f
+ScalpelOutputParser.outputStart.text=\u4e0b\u8a18\u306e\u30d5\u30a1\u30a4\u30eb\u304c\u5207\u308a\u51fa\u3055\u308c\u307e\u3057\u305f\uff1a
+ScalpelOutputParser.toString.text=CarvedFileMeta'{'\u30d5\u30a1\u30a4\u30eb\u540d\={0}, \u30b9\u30bf\u30fc\u30c8\: {1}, \u30b5\u30a4\u30ba\: {2}'}'
diff --git a/thirdparty/sevenzip/sevenzipjbinding-AllPlatforms.jar b/thirdparty/sevenzip/sevenzipjbinding-AllPlatforms.jar
old mode 100755
new mode 100644
index 7a42df8aaf..3b9ab96e1c
Binary files a/thirdparty/sevenzip/sevenzipjbinding-AllPlatforms.jar and b/thirdparty/sevenzip/sevenzipjbinding-AllPlatforms.jar differ
diff --git a/thirdparty/sevenzip/sevenzipjbinding.jar b/thirdparty/sevenzip/sevenzipjbinding.jar
old mode 100755
new mode 100644
index 2181a7c2b7..808cbda71e
Binary files a/thirdparty/sevenzip/sevenzipjbinding.jar and b/thirdparty/sevenzip/sevenzipjbinding.jar differ
diff --git a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties
index bf1cb7ba93..1c54f49f57 100644
--- a/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties
+++ b/thunderbirdparser/src/org/sleuthkit/autopsy/thunderbirdparser/Bundle_ja.properties
@@ -1,27 +1,27 @@
-OpenIDE-Module-Display-Category=\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB
+OpenIDE-Module-Display-Category=\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb
OpenIDE-Module-Long-Description=\ \
- Email\u30D1\u30FC\u30B5\u30A4\u30F3\u30B8\u30A7\u30B9\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3002\n\n\
- \u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306FMBOX\u3068PST e-mail\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA\u3057\u3001Blackboard\u306B\u8F09\u305B\u307E\u3059\u3002 \n\
- Thunderbird\u306EMBOX\u30D5\u30A1\u30A4\u30EB\u306E\u30D5\u30A9\u30EB\u30C0\u69CB\u9020\u3092\u628A\u63E1\u3057\u3066\u3044\u307E\u3059\u3002
-OpenIDE-Module-Name=Email\u30D1\u30FC\u30B5
-OpenIDE-Module-Short-Description=MOBX\u3068PST\u30D5\u30A1\u30A4\u30EB\u3092\u30D1\u30FC\u30B9\u3057\u307E\u3059
-MboxParser.parse.errMsg.failedToReadFile=\u30C7\u30A3\u30B9\u30AF\u304B\u3089mbox\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-MboxParser.parse.errMsg.couldntFindCharset=\u9069\u5207\u306A\u6587\u5B57\u30BB\u30C3\u30C8\u30A8\u30F3\u30B3\u30FC\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-MboxParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EEmail\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
-MboxParser.handleAttch.errMsg.failedToCreateOnDisk=MBOX\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-MboxParser.handleAttch.failedWriteToDisk=\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-PstParser.parse.errMsg.failedToParseNMsgs={0}\u500B\u306EEmail\u30E1\u30C3\u30BB\u30FC\u30B8\u306E\u62BD\u51FA\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002
-PstParser.extractAttch.errMsg.failedToExtractToDisk=PST\u306E\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u30C7\u30A3\u30B9\u30AF\: {0}\u3078\u62BD\u51FA\u3059\u308B\u306E\u306B\u5931\u6557\u3057\u307E\u3057\u305F
-ThunderbirdMboxFileIngestModule.moduleName=Email\u30D1\u30FC\u30B5
-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
-ThunderbirdMboxFileIngestModule.processPst.errProcFile.details=Outlook 2003\u304A\u3088\u3073\u305D\u308C\u4EE5\u964D\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u304B\u3089\u306E\u30D5\u30A1\u30A4\u30EB\u3057\u304B\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
-ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg2={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ThunderbirdMboxFileIngestModule.processMBox.errProfFile.details=\u30C7\u30A3\u30B9\u30AF\u9818\u57DF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\u30D1\u30FC\u30B9\u3059\u308B\u70BA\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30B3\u30D4\u30FC\u3067\u304D\u307E\u305B\u3093\u3002
-ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg2={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ThunderbirdMboxFileIngestModule.getDesc.text=\u3053\u306E\u30E2\u30B8\u30E5\u30FC\u30EB\u306Fmbox\u304A\u3088\u3073pst/ost\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u51FA\u3001\u30D1\u30FC\u30B9\u3057\u3001blackboard\u306EEmail\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u306B\u7D50\u679C\u3092\u6295\u5165\u3057\u307E\u3059\u3002
-ThunderbirdMboxFileIngestModule.handleAttch.errMsg={0}\u306E\u51E6\u7406\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
-ThunderbirdMboxFileIngestModule.handleAttch.errMsg.details={0}\u306E\u540D\u79F0\u3092\u6301\u3064\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB\u3092\u30B1\u30FC\u30B9\u306B\u8FFD\u52A0\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002
-ThunderbirdMboxFileIngestModule.notAvail=\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093
\ No newline at end of file
+ Email\u30d1\u30fc\u30b5\u30a4\u30f3\u30b8\u30a7\u30b9\u30c8\u30e2\u30b8\u30e5\u30fc\u30eb\u3002\n\n\
+ \u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306fMBOX\u3068PST e-mail\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u3057\u3001Blackboard\u306b\u8f09\u305b\u307e\u3059\u3002 \n\
+ Thunderbird\u306eMBOX\u30d5\u30a1\u30a4\u30eb\u306e\u30d5\u30a9\u30eb\u30c0\u69cb\u9020\u3092\u628a\u63e1\u3057\u3066\u3044\u307e\u3059\u3002
+OpenIDE-Module-Name=Email\u30d1\u30fc\u30b5
+OpenIDE-Module-Short-Description=MOBX\u3068PST\u30d5\u30a1\u30a4\u30eb\u3092\u30d1\u30fc\u30b9\u3057\u307e\u3059
+MboxParser.parse.errMsg.failedToReadFile=\u30c7\u30a3\u30b9\u30af\u304b\u3089mbox\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u53d6\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+MboxParser.parse.errMsg.couldntFindCharset=\u9069\u5207\u306a\u6587\u5b57\u30bb\u30c3\u30c8\u30a8\u30f3\u30b3\u30fc\u30c0\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+MboxParser.parse.errMsg.failedToParseNMsgs={0}\u500b\u306eEmail\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u62bd\u51fa\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+MboxParser.handleAttch.errMsg.failedToCreateOnDisk=MBOX\u306e\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30a3\u30b9\u30af\: {0}\u3078\u62bd\u51fa\u3059\u308b\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+MboxParser.handleAttch.failedWriteToDisk=\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30a3\u30b9\u30af\: {0}\u3078\u62bd\u51fa\u3059\u308b\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+PstParser.parse.errMsg.failedToParseNMsgs={0}\u500b\u306eEmail\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u62bd\u51fa\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002
+PstParser.extractAttch.errMsg.failedToExtractToDisk=PST\u306e\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u30c7\u30a3\u30b9\u30af\: {0}\u3078\u62bd\u51fa\u3059\u308b\u306e\u306b\u5931\u6557\u3057\u307e\u3057\u305f
+ThunderbirdMboxFileIngestModule.moduleName=Email\u30d1\u30fc\u30b5
+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
+ThunderbirdMboxFileIngestModule.processPst.errProcFile.details=Outlook 2003\u304a\u3088\u3073\u305d\u308c\u4ee5\u964d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u304b\u3089\u306e\u30d5\u30a1\u30a4\u30eb\u3057\u304b\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+ThunderbirdMboxFileIngestModule.processPst.errProcFile.msg2={0}\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg={0}\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ThunderbirdMboxFileIngestModule.processMBox.errProfFile.details=\u30c7\u30a3\u30b9\u30af\u9818\u57df\u304c\u4e0d\u8db3\u3057\u3066\u3044\u307e\u3059\u3002\u30d1\u30fc\u30b9\u3059\u308b\u70ba\u306b\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\u3002
+ThunderbirdMboxFileIngestModule.processMBox.errProcFile.msg2={0}\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ThunderbirdMboxFileIngestModule.getDesc.text=\u3053\u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u306fmbox\u304a\u3088\u3073pst/ost\u30d5\u30a1\u30a4\u30eb\u3092\u691c\u51fa\u3001\u30d1\u30fc\u30b9\u3057\u3001blackboard\u306eEmail\u30a2\u30fc\u30c6\u30a3\u30d5\u30a1\u30af\u30c8\u306b\u7d50\u679c\u3092\u6295\u5165\u3057\u307e\u3059\u3002
+ThunderbirdMboxFileIngestModule.handleAttch.errMsg={0}\u306e\u51e6\u7406\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f
+ThunderbirdMboxFileIngestModule.handleAttch.errMsg.details={0}\u306e\u540d\u79f0\u3092\u6301\u3064\u6dfb\u4ed8\u30d5\u30a1\u30a4\u30eb\u3092\u30b1\u30fc\u30b9\u306b\u8ffd\u52a0\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002
+ThunderbirdMboxFileIngestModule.notAvail=\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093