From 7bd2a895a09b367e439f3f6551fbf5e0cd834074 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Mon, 24 Feb 2014 17:58:18 -0500 Subject: [PATCH 1/7] Pulled static strings into Bundle.properties. Part way through module. --- .../datamodel/AbstractAbstractFileNode.java | 40 ++--- .../datamodel/AbstractContentChildren.java | 9 +- .../datamodel/AbstractContentNode.java | 5 +- .../datamodel/AbstractFsContentNode.java | 3 +- .../datamodel/ArtifactStringContent.java | 10 +- .../autopsy/datamodel/ArtifactTypeNode.java | 18 ++- .../datamodel/BlackboardArtifactNode.java | 40 +++-- .../datamodel/BlackboardArtifactTagNode.java | 27 +++- .../autopsy/datamodel/Bundle.properties | 141 ++++++++++++++++++ .../autopsy/datamodel/ContentTagNode.java | 19 ++- .../autopsy/datamodel/ContentTagTypeNode.java | 9 +- .../autopsy/datamodel/ContentUtils.java | 7 +- .../datamodel/DataModelActionsFactory.java | 53 ++++--- .../autopsy/datamodel/DataSourcesNode.java | 11 +- .../autopsy/datamodel/DeletedContent.java | 37 +++-- .../autopsy/datamodel/DirectoryNode.java | 11 +- .../autopsy/datamodel/EmailExtracted.java | 43 +++--- .../datamodel/ExtractedContentNode.java | 9 +- .../sleuthkit/autopsy/datamodel/FileNode.java | 13 +- .../sleuthkit/autopsy/datamodel/FileSize.java | 22 +-- .../autopsy/datamodel/FileTypeChildren.java | 7 +- .../datamodel/FileTypeExtensionFilters.java | 47 ++++-- .../autopsy/datamodel/FileTypeNode.java | 17 ++- .../autopsy/datamodel/FileTypesNode.java | 9 +- .../autopsy/datamodel/HashsetHits.java | 18 ++- .../autopsy/datamodel/ImageNode.java | 12 +- .../autopsy/datamodel/Installer.java | 10 +- .../autopsy/datamodel/InterestingHits.java | 23 +-- .../autopsy/datamodel/KeyValueNode.java | 11 +- .../autopsy/datamodel/KeywordHits.java | 80 +++++----- .../datamodel/KnownFileFilterNode.java | 5 +- 31 files changed, 537 insertions(+), 229 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java index 6b3a8cbc54..a84b0048b5 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractAbstractFileNode.java @@ -22,6 +22,8 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.Map; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.BlackboardArtifact; @@ -52,115 +54,115 @@ public abstract class AbstractAbstractFileNode extends A NAME { @Override public String toString() { - return "Name"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.nameColLbl"); } }, LOCATION { @Override public String toString() { - return "Location"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.locationColLbl"); } }, MOD_TIME { @Override public String toString() { - return "Modified Time"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.modifiedTimeColLbl"); } }, CHANGED_TIME { @Override public String toString() { - return "Change Time"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.changeTimeColLbl"); } }, ACCESS_TIME { @Override public String toString() { - return "Access Time"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.accessTimeColLbl"); } }, CREATED_TIME { @Override public String toString() { - return "Created Time"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.createdTimeColLbl"); } }, SIZE { @Override public String toString() { - return "Size"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.sizeColLbl"); } }, FLAGS_DIR { @Override public String toString() { - return "Flags(Dir)"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.flagsDirColLbl"); } }, FLAGS_META { @Override public String toString() { - return "Flags(Meta)"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.flagsMetaColLbl"); } }, MODE { @Override public String toString() { - return "Mode"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.modeColLbl"); } }, USER_ID { @Override public String toString() { - return "UserID"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.useridColLbl"); } }, GROUP_ID { @Override public String toString() { - return "GroupID"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.groupidColLbl"); } }, META_ADDR { @Override public String toString() { - return "Meta Addr."; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.metaAddrColLbl"); } }, ATTR_ADDR { @Override public String toString() { - return "Attr. Addr."; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.attrAddrColLbl"); } }, TYPE_DIR { @Override public String toString() { - return "Type(Dir)"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.typeDirColLbl"); } }, TYPE_META { @Override public String toString() { - return "Type(Meta)"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.typeMetaColLbl"); } }, KNOWN { @Override public String toString() { - return "Known"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.knownColLbl"); } }, HASHSETS { @Override public String toString() { - return "In Hashsets"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.inHashsetsColLbl"); } }, MD5HASH { @Override public String toString() { - return "MD5 Hash"; + return NbBundle.getMessage(this.getClass(), "AbstractAbstractFileNode.md5HashColLbl"); } } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java index 87494f2e1f..73cc5186b2 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentChildren.java @@ -21,7 +21,7 @@ package org.sleuthkit.autopsy.datamodel; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children.Keys; import org.openide.nodes.Node; -import org.sleuthkit.autopsy.datamodel.KeywordHits.KeywordHitsRootNode; +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.DerivedFile; import org.sleuthkit.datamodel.Directory; import org.sleuthkit.datamodel.File; @@ -106,7 +106,8 @@ abstract class AbstractContentChildren extends Keys { @Override protected AbstractContentNode defaultVisit(SleuthkitVisitableItem di) { - throw new UnsupportedOperationException("No Node defined for the given SleuthkitItem"); + throw new UnsupportedOperationException(NbBundle.getMessage(this.getClass(), + "AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg")); } } @@ -186,7 +187,9 @@ abstract class AbstractContentChildren extends Keys { @Override protected AbstractNode defaultVisit(AutopsyVisitableItem di) { - throw new UnsupportedOperationException("No Node defined for the given DisplayableItem"); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), + "AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg")); } } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java index cf16f2b07f..94d853c749 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractContentNode.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.Content; @@ -63,7 +65,8 @@ public abstract class AbstractContentNode extends ContentNode @Override public void setName(String name) { - throw new UnsupportedOperationException("Can't change the system name."); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), "AbstractContentNode.exception.cannotChangeSysName.msg")); } @Override diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java index 782541ca78..366025da11 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/AbstractFsContentNode.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.datamodel; import java.util.LinkedHashMap; import java.util.Map; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.AbstractFile; @@ -73,7 +74,7 @@ public abstract class AbstractFsContentNode extends Abst AbstractFilePropertyType[] fsTypes = AbstractFilePropertyType.values(); final int FS_PROPS_LEN = fsTypes.length; - final String NO_DESCR = "no description"; + final String NO_DESCR = NbBundle.getMessage(this.getClass(), "AbstractFsContentNode.noDesc.text"); for (int i = 0; i < FS_PROPS_LEN; ++i) { final AbstractFilePropertyType propType = AbstractFilePropertyType.values()[i]; final String propString = propType.toString(); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactStringContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactStringContent.java index 12470453c1..088d18588b 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactStringContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactStringContent.java @@ -22,6 +22,8 @@ import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.TimeZone; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; @@ -135,7 +137,9 @@ public class ArtifactStringContent implements StringContent { //add file path buffer.append(""); - buffer.append("Source File Path"); + buffer.append(""); + buffer.append(NbBundle.getMessage(this.getClass(), "ArtifactStringContent.getStr.srcFilePath.text")); + buffer.append(""); buffer.append(""); buffer.append(path); buffer.append(""); @@ -146,7 +150,7 @@ public class ArtifactStringContent implements StringContent { stringContent = buffer.toString(); } catch (TskException ex) { - stringContent = "Error getting content"; + stringContent = NbBundle.getMessage(this.getClass(), "ArtifactStringContent.getStr.err"); } } @@ -159,7 +163,7 @@ public class ArtifactStringContent implements StringContent { } catch (TskException ex) { logger.log(Level.WARNING, "Getting file failed", ex); } - throw new IllegalArgumentException("Couldn't get file from database"); + throw new IllegalArgumentException(NbBundle.getMessage(ArtifactStringContent.class, "ArtifactStringContent.exception.msg")); } private static TimeZone getTimeZone(BlackboardArtifact artifact) { diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java index f97fa2c6fc..5dc9f18907 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.Map; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; @@ -65,15 +67,15 @@ public class ArtifactTypeNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Artifact Type", - "Artifact Type", - "no description", - type.getDisplayName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.text"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.text"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.noDesc.text"), + type.getDisplayName())); - ss.put(new NodeProperty("Child Count", - "Child Count", - "no description", - childCount)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.text"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.text"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.noDesc.text"), + childCount)); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 2178d3be0e..4ead0f896b 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -24,6 +24,8 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.Children; import org.openide.nodes.Sheet; @@ -103,15 +105,15 @@ public class BlackboardArtifactNode extends DisplayableItemNode { ss = Sheet.createPropertiesSet(); s.put(ss); } - final String NO_DESCR = "no description"; + final String NO_DESCR = NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.noDesc.text"); Map map = new LinkedHashMap(); fillPropertyMap(map, artifact); - ss.put(new NodeProperty("Source File", - "Source File", - NO_DESCR, - associated.getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.text"), + NO_DESCR, + associated.getName())); for (Map.Entry entry : map.entrySet()) { ss.put(new NodeProperty(entry.getKey(), @@ -135,7 +137,10 @@ public class BlackboardArtifactNode extends DisplayableItemNode { AbstractFile af = (AbstractFile) associated; ext = af.getNameExtension(); } - ss.put(new NodeProperty("Extension", "Extension", NO_DESCR, ext)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.text"), + NO_DESCR, + ext)); try { String actualMimeType = ""; @@ -151,7 +156,11 @@ public class BlackboardArtifactNode extends DisplayableItemNode { if (actualMimeType.isEmpty()) { logger.log(Level.WARNING, "Could not find expected TSK_FILE_TYPE_SIG attribute."); } else { - ss.put(new NodeProperty("MIME Type", "MIME Type", NO_DESCR, actualMimeType)); + ss.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.text"), + NO_DESCR, + actualMimeType)); } } catch (TskCoreException ex) { logger.log(Level.WARNING, "Error while searching for TSK_FILE_TYPE_SIG attribute: ", ex); @@ -167,8 +176,11 @@ public class BlackboardArtifactNode extends DisplayableItemNode { } if (sourcePath.isEmpty() == false) { - ss.put(new NodeProperty("File Path", "File Path", - NO_DESCR, sourcePath)); + ss.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.text"), + NO_DESCR, + sourcePath)); } } else { String dataSource = ""; @@ -184,8 +196,11 @@ public class BlackboardArtifactNode extends DisplayableItemNode { } if (dataSource.isEmpty() == false) { - ss.put(new NodeProperty("Data Source", "Data Source", - NO_DESCR, dataSource)); + ss.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.text"), + NO_DESCR, + dataSource)); } } @@ -300,7 +315,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { } catch (TskException ex) { logger.log(Level.WARNING, "Getting file failed", ex); } - throw new IllegalArgumentException("Couldn't get file from database"); + throw new IllegalArgumentException( + NbBundle.getMessage(BlackboardArtifactNode.class, "BlackboardArtifactNode.getAssocCont.exception.msg")); } private static HighlightLookup getHighlightLookup(BlackboardArtifact artifact, Content content) { diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactTagNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactTagNode.java index 3503776324..29cf64cefa 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactTagNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactTagNode.java @@ -24,6 +24,7 @@ import java.util.logging.Logger; import javax.swing.Action; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.actions.DeleteBlackboardArtifactTagAction; import org.sleuthkit.datamodel.BlackboardArtifactTag; @@ -57,18 +58,34 @@ public class BlackboardArtifactTagNode extends DisplayableItemNode { propertySheet.put(properties); } - properties.put(new NodeProperty("Source File", "Source File", "", tag.getContent().getName())); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.srcFile.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.srcFile.text"), + "", + tag.getContent().getName())); String contentPath; try { contentPath = tag.getContent().getUniquePath(); } catch (TskCoreException ex) { Logger.getLogger(ContentTagNode.class.getName()).log(Level.SEVERE, "Failed to get path for content (id = " + tag.getContent().getId() + ")", ex); - contentPath = "Unavailable"; + contentPath = NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.unavail.text"); } - properties.put(new NodeProperty("Source File Path", "Source File Path", "", contentPath)); - properties.put(new NodeProperty("Result Type", "Result Type", "", tag.getArtifact().getDisplayName())); - properties.put(new NodeProperty("Comment", "Comment", "", tag.getComment())); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.srcFilePath.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.srcFilePath.text"), + "", + contentPath)); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.resultType.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.resultType.text"), + "", + tag.getArtifact().getDisplayName())); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.comment.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactTagNode.createSheet.comment.text"), + "", + tag.getComment())); return propertySheet; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index cd313e7b75..40ba78b479 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -1 +1,142 @@ OpenIDE-Module-Name=DataModel +AbstractAbstractFileNode.nameColLbl=Name +AbstractAbstractFileNode.locationColLbl=Location +AbstractAbstractFileNode.modifiedTimeColLbl=Modified Time +AbstractAbstractFileNode.changeTimeColLbl=Change Time +AbstractAbstractFileNode.accessTimeColLbl=Access Time +AbstractAbstractFileNode.createdTimeColLbl=Created Time +AbstractAbstractFileNode.sizeColLbl=Size +AbstractAbstractFileNode.flagsDirColLbl=Flags(Dir) +AbstractAbstractFileNode.flagsMetaColLbl=Flags(Meta) +AbstractAbstractFileNode.modeColLbl=Mode +AbstractAbstractFileNode.useridColLbl=UserID +AbstractAbstractFileNode.groupidColLbl=GroupID +AbstractAbstractFileNode.metaAddrColLbl=Meta Addr. +AbstractAbstractFileNode.attrAddrColLbl=Attr. Addr. +AbstractAbstractFileNode.typeDirColLbl=Type(Dir) +AbstractAbstractFileNode.typeMetaColLbl=Type(Meta) +AbstractAbstractFileNode.knownColLbl=Known +AbstractAbstractFileNode.inHashsetsColLbl=In Hashsets +AbstractAbstractFileNode.md5HashColLbl=MD5 Hash +AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=No Node defined for the given SleuthkitItem +AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=No Node defined for the given DisplayableItem +AbstractContentNode.exception.cannotChangeSysName.msg=Can't change the system name. +AbstractFsContentNode.noDesc.text=no description +ArtifactStringContent.getStr.srcFilePath.text=Source File Path +ArtifactStringContent.getStr.err=Error getting content +ArtifactStringContent.exception.msg=Couldn't get file from database +ArtifactTypeNode.createSheet.artType.text=Artifact Type +ArtifactTypeNode.noDesc.text=no description +ArtifactTypeNode.createSheet.childCnt.text=Child Count +BlackboardArtifactNode.noDesc.text=no description +BlackboardArtifactNode.createSheet.srcFile.text=Source File +BlackboardArtifactNode.createSheet.ext.text=Extension +BlackboardArtifactNode.createSheet.mimeType.text=MIME Type +BlackboardArtifactNode.createSheet.filePath.text=File Path +BlackboardArtifactNode.createSheet.dataSrc.text=Data Source +BlackboardArtifactNode.getAssocCont.exception.msg=Couldn't get file from database +BlackboardArtifactTagNode.createSheet.srcFile.text=Source File +BlackboardArtifactTagNode.createSheet.unavail.text=Unavailable +BlackboardArtifactTagNode.createSheet.srcFilePath.text=Source File Path +BlackboardArtifactTagNode.createSheet.resultType.text=Result Type +BlackboardArtifactTagNode.createSheet.comment.text=Comment +ContentTagNode.createSheet.file.text=File +ContentTagNode.createSheet.unavail.text=Unavailable +ContentTagNode.createSheet.filePath.text=File Path +ContentTagNode.createSheet.comment.text=Comment +ContentTagTypeNode.displayName.text=File Tags +ContentTagTypeNode.createSheet.name.text=Name +ContentUtils.exception.msg=Can''t extract a {0} +DataModelActionsFactory.srcFileInDir.text=View Source File in Directory +DataModelActionsFactory.fileInDir.text=View File in Directory +DataModelActionsFactory.viewNewWin.text=View in New Window +DataModelActionsFactory.openExtViewer.text=Open in External Viewer +DataModelActionsFactory.srfFileSameMD5.text=Search for files with the same MD5 hash +DataSourcesNode.name=Data Sources +DataSourcesNode.createSheet.name.text=Name +DataSourcesNode.noDesc.text=no description +DeletedContent.fsDelFilter.text=File System +DeletedContent.allDelFilter.text=All +DeletedContent.deletedContentsNode.name=Deleted Files +DeletedContent.createSheet.name.text=Name +DeletedContent.noDesc.text=no description +DeletedContent.createSheet.filterType.text=Filter Type +DeletedContent.createKeys.maxObjects.msg=There are more Deleted Files than can be displayed. Only the first {0} Deleted Files will be shown. +DeletedContent.createNodeForKey.typeNotSupported.msg=Not supported for this type of Displayable Item\: {0} +DirectoryNode.parFolder.text=[parent folder] +DirectoryNode.curFolder.text=[current folder] +DirectoryNode.getActions.viewFileInDir.text=View File in Directory +DirectoryNode.viewInNewWin.text=View in New Window +EmailExtracted.mailAccount.text=Account +EmailExtracted.mailFolder.text=Folder +EmailExtracted.defaultAcct.text=Default +EmailExtracted.defaultFolder.text=Default +EmailExtracted.createSheet.name.text=Name +EmailExtracted.noDesc.text=no description +ExtractedContentNode.name.text=Extracted Content +ExtractedContentNode.createSheet.name.text=Name +ExtractedContentNode.noDesc.text=no description +FileNode.viewFileInDir.text=View File in Directory +FileNode.getActions.viewInNewWin.text=View in New Window +FileNode.getActions.openInExtViewer.text=Open in External Viewer +FileNode.getActions.searchFilesSameMD5.text=Search for files with the same MD5 hash +FileSize.fileSizeRootNode.name=File Size +FileSize.createSheet.name=Name +FileSize.noDesc.text=no description +FileSize.createSheet.filterType.text=Filter Type +FileSize.exception.notSupported.msg=Not supported for this type of Displayable Item\: {0} +FileTypeChildren.exception.notSupported.msg=Not supported for this type of Displayable Item\: {0} +FileTypeExtensionFilters.tskImgFilter.text=Images +FileTypeExtensionFilters.tskVideoFilter.text=Videos +FileTypeExtensionFilters.tskAudioFilter.text=Audio +FileTypeExtensionFilters.tskArchiveFilter.text=Archives +FileTypeExtensionFilters.tskDocumentFilter.text=Documents +FileTypeExtensionFilters.tskExecFilter.text=Executable +FileTypeExtensionFilters.autDocHtmlFilter.text=HTML +FileTypeExtensionFilters.autDocOfficeFilter.text=Office +FileTypeExtensionFilters.autoDocPdfFilter.text=PDF +FileTypeExtensionFilters.autDocTxtFilter.text=Plain Text +FileTypeExtensionFilters.autDocRtfFilter.text=Rich Text +FileTypeNode.createSheet.filterType.text=Filter Type +FileTypeNode.noDesc.text=no description +FileTypeNode.createSheet.fileExt.text=File Extensions +FileTypesNode.fname.text=File Types +FileTypesNode.createSheet.name=Name +FileTypesNode.noDesc.text=no description +HashsetHits.createSheet.name=Name +HashsetHits.noDesc.text=no description +ImageNode.getActions.viewInNewWin.text=View in New Window +ImageNode.getActions.openFileSearchByAttr.text=Open File Search by Attributes +ImageNode.createSheet.name=Name +ImageNode.noDesc.text=no description +Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI test call returned without error, but version string was null\! +Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI test call returned without error, but version string was ""\! +Installer.tskLibErr.msg=Problem with Sleuth Kit JNI. Test call failed\!\ +\ +Details\: {0} +Installer.tskLibErr.err=Fatal Error\! +InterestingHits.nodeName.text=INTERESTING ITEMS +InterestingHits.displayName.text=Interesting Items +InterestingHits.createSheet.name=Name +InterestingHits.noDesc.text=no description +KeyValueNode.createSheet.name=Name +KeyValueNode.createSheet.na=n/a +KeywordHits.kwHits.text=Keyword Hits +KeywordHits.simpleLiteralSearch.text=Single Literal Keyword Search +KeywordHits.singleRegexSearch.text=Single Regular Expression Search +KeywordHits.createSheet.name=Name +KeywordHits.noDesc.text=no description +KeywordHits.createSheet.listName.text=List Name +KeywordHits.createSheet.numChildren.text=Number of Children +KeywordHits.createSheet.filesWithHits.text=Files with Hits +KeywordHits.createNodeForKey.modTime.displayName=Modified Time +KeywordHits.createNodeForKey.modTime.desc=Modified Time +KeywordHits.createNodeForKey.accessTime.displayName=Access Time +KeywordHits.createNodeForKey.accessTime.desc=Access Time +KeywordHits.createNodeForKey.chgTime.displayName=Change Time +KeywordHits.createNodeForKey.chgTime.desc=Change Time +KeywordHits.createNodeForKey.chgTime.name=ChangeTime +KeywordHits.createNodeForKey.accessTime.name=AccessTime +KeywordHits.createNodeForKey.modTime.name=ModifiedTime +KnownFileFilterNode.selectionContext.dataSources=Data Sources +KnownFileFilterNode.selectionContext.views=Views diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java index 5749b53aa3..ec5ae640ed 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java @@ -25,6 +25,7 @@ import java.util.logging.Logger; import javax.swing.Action; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.actions.DeleteContentTagAction; import org.sleuthkit.datamodel.ContentTag; @@ -57,17 +58,27 @@ import org.sleuthkit.datamodel.TskCoreException; propertySheet.put(properties); } - properties.put(new NodeProperty("File", "File", "", tag.getContent().getName())); + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.text"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.text"), + "", + tag.getContent().getName())); String contentPath; try { contentPath = tag.getContent().getUniquePath(); } catch (TskCoreException ex) { Logger.getLogger(ContentTagNode.class.getName()).log(Level.SEVERE, "Failed to get path for content (id = " + tag.getContent().getId() + ")", ex); - contentPath = "Unavailable"; + contentPath = NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.unavail.text"); } - properties.put(new NodeProperty("File Path", "File Path", "", contentPath)); - properties.put(new NodeProperty("Comment", "Comment", "", tag.getComment())); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.text"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.text"), + "", + contentPath)); + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.text"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.text"), + "", + tag.getComment())); return propertySheet; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java index 41dad8ac5b..76136d57fd 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java @@ -24,6 +24,7 @@ import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; @@ -37,7 +38,7 @@ import org.sleuthkit.datamodel.TskCoreException; * then by tag name. */ public class ContentTagTypeNode extends DisplayableItemNode { - private static final String DISPLAY_NAME = "File Tags"; + private static final String DISPLAY_NAME = NbBundle.getMessage(ContentTagTypeNode.class, "ContentTagTypeNode.displayName.text"); private static final String ICON_PATH = "org/sleuthkit/autopsy/images/tag-folder-blue-icon-16.png"; public ContentTagTypeNode(TagName tagName) { @@ -65,7 +66,11 @@ public class ContentTagTypeNode extends DisplayableItemNode { propertySheet.put(properties); } - properties.put(new NodeProperty("Name", "Name", "", getName())); + properties.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.text"), + "", + getName())); return propertySheet; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java index 121b5a1cfa..cfd7b56f7f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentUtils.java @@ -25,6 +25,8 @@ import java.text.SimpleDateFormat; import java.util.TimeZone; import java.util.logging.Level; import java.util.prefs.Preferences; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.SwingWorker; import org.netbeans.api.progress.ProgressHandle; @@ -356,8 +358,9 @@ public final class ContentUtils { @Override protected Void defaultVisit(Content cntnt) { - throw new UnsupportedOperationException("Can't extract a " - + cntnt.getClass().getSimpleName()); + throw new UnsupportedOperationException(NbBundle.getMessage(this.getClass(), + "ContentUtils.exception.msg", + cntnt.getClass().getSimpleName())); } } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DataModelActionsFactory.java b/Core/src/org/sleuthkit/autopsy/datamodel/DataModelActionsFactory.java index 6660d61868..b69f25ef6d 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DataModelActionsFactory.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DataModelActionsFactory.java @@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.ArrayList; import java.util.List; import javax.swing.Action; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.actions.AddBlackboardArtifactTagAction; import org.sleuthkit.autopsy.actions.AddContentTagAction; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; @@ -46,17 +48,28 @@ import org.sleuthkit.datamodel.VirtualDirectory; // method could be implemented. If the different nodes are necessary, is it merely because of some misuse of the Visitor pattern somewhere? // 2. All of this would be much improved by not constructing nodes with actions, but this might be necessary with pushing of nodes rather than use of lookups to // handle selections. -class DataModelActionsFactory { +class DataModelActionsFactory { + public static final String VIEW_SOURCE_FILE_IN_DIR = NbBundle + .getMessage(DataModelActionsFactory.class, "DataModelActionsFactory.srcFileInDir.text"); + public static final String VIEW_FILE_IN_DIR = NbBundle + .getMessage(DataModelActionsFactory.class, "DataModelActionsFactory.fileInDir.text"); + public static final String VIEW_IN_NEW_WINDOW = NbBundle + .getMessage(DataModelActionsFactory.class, "DataModelActionsFactory.viewNewWin.text"); + public static final String OPEN_IN_EXTERNAL_VIEWER = NbBundle + .getMessage(DataModelActionsFactory.class, "DataModelActionsFactory.openExtViewer.text"); + public static final String SEARCH_FOR_FILES_SAME_MD5 = NbBundle + .getMessage(DataModelActionsFactory.class, "DataModelActionsFactory.srfFileSameMD5.text"); + static List getActions(File file, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file)); final FileNode fileNode = new FileNode(file); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", fileNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", fileNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, fileNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, fileNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); - actions.add(new HashSearchAction("Search for files with the same MD5 hash", fileNode)); + actions.add(new HashSearchAction(SEARCH_FOR_FILES_SAME_MD5, fileNode)); actions.add(null); // creates a menu separator actions.add(AddContentTagAction.getInstance()); if (isArtifactSource) { @@ -68,11 +81,11 @@ class DataModelActionsFactory { static List getActions(LayoutFile file, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file)); LayoutFileNode layoutFileNode = new LayoutFileNode(file); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", layoutFileNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", layoutFileNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, layoutFileNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, layoutFileNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance());// actions.add(null); // creates a menu separator @@ -86,11 +99,11 @@ class DataModelActionsFactory { static List getActions(Directory directory, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), directory)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory)); DirectoryNode directoryNode = new DirectoryNode(directory); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", directoryNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", directoryNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, directoryNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, directoryNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator @@ -104,11 +117,11 @@ class DataModelActionsFactory { static List getActions(VirtualDirectory directory, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), directory)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), directory)); VirtualDirectoryNode directoryNode = new VirtualDirectoryNode(directory); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", directoryNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", directoryNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, directoryNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, directoryNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator @@ -122,11 +135,11 @@ class DataModelActionsFactory { static List getActions(LocalFile file, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file)); final LocalFileNode localFileNode = new LocalFileNode(file); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", localFileNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", localFileNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, localFileNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, localFileNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator @@ -140,11 +153,11 @@ class DataModelActionsFactory { static List getActions(DerivedFile file, boolean isArtifactSource) { List actions = new ArrayList<>(); - actions.add(new ViewContextAction((isArtifactSource ? "View Source File in Directory" : "View File in Directory"), file)); + actions.add(new ViewContextAction((isArtifactSource ? VIEW_SOURCE_FILE_IN_DIR : VIEW_FILE_IN_DIR), file)); final LocalFileNode localFileNode = new LocalFileNode(file); actions.add(null); // creates a menu separator - actions.add(new NewWindowViewAction("View in New Window", localFileNode)); - actions.add(new ExternalViewerAction("Open in External Viewer", localFileNode)); + actions.add(new NewWindowViewAction(VIEW_IN_NEW_WINDOW, localFileNode)); + actions.add(new ExternalViewerAction(OPEN_IN_EXTERNAL_VIEWER, localFileNode)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java index c8f2e93e29..9859f63114 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.datamodel; import java.util.List; import org.openide.nodes.AbstractNode; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.Content; @@ -29,7 +30,7 @@ import org.sleuthkit.datamodel.Content; */ public class DataSourcesNode extends DisplayableItemNode { - public static final String NAME = "Data Sources"; + public static final String NAME = NbBundle.getMessage(DataSourcesNode.class, "DataSourcesNode.name"); public DataSourcesNode(List images) { super(new RootContentChildren(images), Lookups.singleton(NAME)); @@ -57,10 +58,10 @@ public class DataSourcesNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - NAME)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "DataSourcesNode.noDesc.text"), + NAME)); return s; } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java index bf85dd703a..27b384b7f6 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java @@ -29,6 +29,7 @@ import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.AbstractFile; @@ -51,8 +52,12 @@ public class DeletedContent implements AutopsyVisitableItem { public enum DeletedContentFilter implements AutopsyVisitableItem { - FS_DELETED_FILTER(0, "FS_DELETED_FILTER", "File System"), - ALL_DELETED_FILTER(1, "ALL_DELETED_FILTER", "All"); + FS_DELETED_FILTER(0, + "FS_DELETED_FILTER", + NbBundle.getMessage(DeletedContent.class, "DeletedContent.fsDelFilter.text")), + ALL_DELETED_FILTER(1, + "ALL_DELETED_FILTER", + NbBundle.getMessage(DeletedContent.class, "DeletedContent.allDelFilter.text")); private int id; private String name; private String displayName; @@ -97,7 +102,8 @@ public class DeletedContent implements AutopsyVisitableItem { public static class DeletedContentsNode extends DisplayableItemNode { - private static final String NAME = "Deleted Files"; + private static final String NAME = NbBundle.getMessage(DeletedContent.class, + "DeletedContent.deletedContentsNode.name"); private SleuthkitCase skCase; DeletedContentsNode(SleuthkitCase skCase) { @@ -127,10 +133,10 @@ public class DeletedContent implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - NAME)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "DeletedContent.noDesc.text"), + NAME)); return s; } } @@ -191,9 +197,10 @@ public class DeletedContent implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Filter Type", - "Filter Type", - "no description", + ss.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "DeletedContent.noDesc.text"), filter.getDisplayName())); return s; @@ -225,9 +232,9 @@ public class DeletedContent implements AutopsyVisitableItem { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - JOptionPane.showMessageDialog(null, "There are more Deleted Files than can be displayed. Only the first " - + (MAX_OBJECTS - 1) - + " Deleted Files will be shown."); + JOptionPane.showMessageDialog(null, NbBundle.getMessage(this.getClass(), + "DeletedContent.createKeys.maxObjects.msg", + MAX_OBJECTS - 1)); } }); } @@ -330,7 +337,9 @@ public class DeletedContent implements AutopsyVisitableItem { @Override protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException("Not supported for this type of Displayable Item: " + di.toString()); + throw new UnsupportedOperationException(NbBundle.getMessage(this.getClass(), + "DeletedContent.createNodeForKey.typeNotSupported.msg", + di.toString())); } }); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java index 624facfebc..ced9942d07 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DirectoryNode.java @@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.ArrayList; import java.util.List; import javax.swing.Action; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.actions.AddContentTagAction; import org.sleuthkit.autopsy.directorytree.ExtractAction; @@ -36,8 +38,8 @@ import org.sleuthkit.datamodel.TskData.TSK_FS_NAME_FLAG_ENUM; */ public class DirectoryNode extends AbstractFsContentNode { - public static final String DOTDOTDIR = "[parent folder]"; - public static final String DOTDIR = "[current folder]"; + public static final String DOTDOTDIR = NbBundle.getMessage(DirectoryNode.class, "DirectoryNode.parFolder.text"); + public static final String DOTDIR = NbBundle.getMessage(DirectoryNode.class, "DirectoryNode.curFolder.text"); public DirectoryNode(Directory dir) { this(dir, true); @@ -70,10 +72,11 @@ public class DirectoryNode extends AbstractFsContentNode { public Action[] getActions(boolean popup) { List actions = new ArrayList<>(); if (!getDirectoryBrowseMode()) { - actions.add(new ViewContextAction("View File in Directory", this)); + actions.add(new ViewContextAction( + NbBundle.getMessage(this.getClass(), "DirectoryNode.getActions.viewFileInDir.text"), this)); actions.add(null); // creates a menu separator } - actions.add(new NewWindowViewAction("View in New Window", this)); + actions.add(new NewWindowViewAction(NbBundle.getMessage(this.getClass(), "DirectoryNode.viewInNewWin.text"), this)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java index c5311b3d20..b9a3bd5db2 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java @@ -26,8 +26,9 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; -import org.openide.nodes.AbstractNode; import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; @@ -49,8 +50,8 @@ public class EmailExtracted implements AutopsyVisitableItem { private static final String LABEL_NAME = BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG.getLabel(); private static final String DISPLAY_NAME = BlackboardArtifact.ARTIFACT_TYPE.TSK_EMAIL_MSG.getDisplayName(); private static final Logger logger = Logger.getLogger(EmailExtracted.class.getName()); - private static final String MAIL_ACCOUNT = "Account"; - private static final String MAIL_FOLDER = "Folder"; + private static final String MAIL_ACCOUNT = NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.mailAccount.text"); + private static final String MAIL_FOLDER = NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.mailFolder.text"); private static final String MAIL_PATH_SEPARATOR = "/"; private SleuthkitCase skCase; private Map>> accounts; @@ -104,8 +105,8 @@ public class EmailExtracted implements AutopsyVisitableItem { if (split.length < 4) { logger.log(Level.WARNING, "Unexpected number of tokens when parsing email PATH: " + split.length + ", will use defaults"); - parsed.put(MAIL_ACCOUNT, "Default"); - parsed.put(MAIL_FOLDER, "Default"); + parsed.put(MAIL_ACCOUNT, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultAcct.text")); + parsed.put(MAIL_FOLDER, NbBundle.getMessage(EmailExtracted.class, "EmailExtracted.defaultFolder.text")); return parsed; } @@ -152,10 +153,10 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + getName())); return s; } @@ -234,10 +235,10 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + getName())); return s; } @@ -281,10 +282,10 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + getName())); return s; } @@ -351,10 +352,10 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + getName())); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java index bd63cdb7e2..e1cebc2fed 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.datamodel; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -29,7 +30,7 @@ import org.sleuthkit.datamodel.SleuthkitCase; */ public class ExtractedContentNode extends DisplayableItemNode { - public static final String NAME = "Extracted Content"; + public static final String NAME = NbBundle.getMessage(ExtractedContentNode.class, "ExtractedContentNode.name.text"); public ExtractedContentNode(SleuthkitCase skCase) { super(Children.create(new ExtractedContentChildren(skCase), true), Lookups.singleton(NAME)); @@ -57,9 +58,9 @@ public class ExtractedContentNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.text"), + NbBundle.getMessage(this.getClass(), "ExtractedContentNode.noDesc.text"), NAME)); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileNode.java index f16325609a..7c6fc354dd 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileNode.java @@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.ArrayList; import java.util.List; import javax.swing.Action; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.actions.AddContentTagAction; import org.sleuthkit.autopsy.directorytree.ExternalViewerAction; @@ -76,14 +78,17 @@ public class FileNode extends AbstractFsContentNode { public Action[] getActions(boolean popup) { List actionsList = new ArrayList<>(); if (!this.getDirectoryBrowseMode()) { - actionsList.add(new ViewContextAction("View File in Directory", this)); + actionsList.add(new ViewContextAction(NbBundle.getMessage(this.getClass(), "FileNode.viewFileInDir.text"), this)); actionsList.add(null); // creates a menu separator } - actionsList.add(new NewWindowViewAction("View in New Window", this)); - actionsList.add(new ExternalViewerAction("Open in External Viewer", this)); + actionsList.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "FileNode.getActions.viewInNewWin.text"), this)); + actionsList.add(new ExternalViewerAction( + NbBundle.getMessage(this.getClass(), "FileNode.getActions.openInExtViewer.text"), this)); actionsList.add(null); // creates a menu separator actionsList.add(ExtractAction.getInstance()); - actionsList.add(new HashSearchAction("Search for files with the same MD5 hash", this)); + actionsList.add(new HashSearchAction( + NbBundle.getMessage(this.getClass(), "FileNode.getActions.searchFilesSameMD5.text"), this)); actionsList.add(null); // creates a menu separator actionsList.add(AddContentTagAction.getInstance()); actionsList.addAll(ContextMenuExtensionPoint.getActions()); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java index 2d8b44f8e5..7cfe49367d 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java @@ -27,6 +27,7 @@ import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.datamodel.AbstractFile; @@ -99,7 +100,7 @@ public class FileSize implements AutopsyVisitableItem { public static class FileSizeRootNode extends DisplayableItemNode { - private static final String NAME = "File Size"; + private static final String NAME = NbBundle.getMessage(FileSize.class, "FileSize.fileSizeRootNode.name"); private SleuthkitCase skCase; FileSizeRootNode(SleuthkitCase skCase) { @@ -129,9 +130,9 @@ public class FileSize implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name"), + NbBundle.getMessage(this.getClass(), "FileSize.noDesc.text"), NAME)); return s; } @@ -193,10 +194,10 @@ public class FileSize implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Filter Type", - "Filter Type", - "no description", - filter.getDisplayName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "FileSize.noDesc.text"), + filter.getDisplayName())); return s; } @@ -327,7 +328,10 @@ public class FileSize implements AutopsyVisitableItem { @Override protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException("Not supported for this type of Displayable Item: " + di.toString()); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), + "FileSize.exception.notSupported.msg", + di.toString())); } }); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java index 3376e9f0d9..4628c6f607 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeChildren.java @@ -21,6 +21,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.AbstractNode; import org.openide.nodes.ChildFactory; @@ -125,7 +127,10 @@ class FileTypeChildren extends ChildFactory { @Override protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException("Not supported for this type of Displayable Item: " + di.toString()); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), + "FileTypeChildren.exception.notSupported.msg", + di.toString())); } }); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeExtensionFilters.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeExtensionFilters.java index b90a257419..aa98f52fd4 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeExtensionFilters.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeExtensionFilters.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.Arrays; import java.util.List; + +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.SleuthkitCase; /** @@ -31,12 +33,24 @@ import org.sleuthkit.datamodel.SleuthkitCase; // root node filters public enum RootFilter implements AutopsyVisitableItem,SearchFilterInterface { - TSK_IMAGE_FILTER(0, "TSK_IMAGE_FILTER", "Images", FileTypeExtensions.getImageExtensions()), - TSK_VIDEO_FILTER(1, "TSK_VIDEO_FILTER", "Videos", FileTypeExtensions.getVideoExtensions()), - TSK_AUDIO_FILTER(2, "TSK_AUDIO_FILTER", "Audio", FileTypeExtensions.getAudioExtensions()), - TSK_ARCHIVE_FILTER(3, "TSK_ARCHIVE_FILTER", "Archives", FileTypeExtensions.getArchiveExtensions()), - TSK_DOCUMENT_FILTER(3, "TSK_DOCUMENT_FILTER", "Documents", Arrays.asList(".doc", ".docx", ".pdf", ".xls", ".rtf", ".txt")), - TSK_EXECUTABLE_FILTER(3, "TSK_EXECUTABLE_FILTER", "Executable", Arrays.asList(".exe", ".dll", ".bat", ".cmd", ".com")); + TSK_IMAGE_FILTER(0, "TSK_IMAGE_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskImgFilter.text"), + FileTypeExtensions.getImageExtensions()), + TSK_VIDEO_FILTER(1, "TSK_VIDEO_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskVideoFilter.text"), + FileTypeExtensions.getVideoExtensions()), + TSK_AUDIO_FILTER(2, "TSK_AUDIO_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskAudioFilter.text"), + FileTypeExtensions.getAudioExtensions()), + TSK_ARCHIVE_FILTER(3, "TSK_ARCHIVE_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskArchiveFilter.text"), + FileTypeExtensions.getArchiveExtensions()), + TSK_DOCUMENT_FILTER(3, "TSK_DOCUMENT_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskDocumentFilter.text"), + Arrays.asList(".doc", ".docx", ".pdf", ".xls", ".rtf", ".txt")), + TSK_EXECUTABLE_FILTER(3, "TSK_EXECUTABLE_FILTER", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.tskExecFilter.text"), + Arrays.asList(".exe", ".dll", ".bat", ".cmd", ".com")); private int id; private String name; @@ -78,12 +92,21 @@ import org.sleuthkit.datamodel.SleuthkitCase; // document sub-node filters public enum DocumentFilter implements AutopsyVisitableItem,SearchFilterInterface { - AUT_DOC_HTML(0, "AUT_DOC_HTML", "HTML", Arrays.asList(".htm", ".html")), - AUT_DOC_OFFICE(1, "AUT_DOC_OFFICE", "Office", Arrays.asList(".doc", ".docx", - ".odt", ".xls", ".xlsx", ".ppt", ".pptx")), - AUT_DOC_PDF(2, "AUT_DOC_PDF", "PDF", Arrays.asList(".pdf")), - AUT_DOC_TXT(3, "AUT_DOC_TXT", "Plain Text", Arrays.asList(".txt")), - AUT_DOC_RTF(4, "AUT_DOC_RTF", "Rich Text", Arrays.asList(".rtf")); + AUT_DOC_HTML(0, "AUT_DOC_HTML", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.autDocHtmlFilter.text"), + Arrays.asList(".htm", ".html")), + AUT_DOC_OFFICE(1, "AUT_DOC_OFFICE", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.autDocOfficeFilter.text"), + Arrays.asList(".doc", ".docx", ".odt", ".xls", ".xlsx", ".ppt", ".pptx")), + AUT_DOC_PDF(2, "AUT_DOC_PDF", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.autoDocPdfFilter.text"), + Arrays.asList(".pdf")), + AUT_DOC_TXT(3, "AUT_DOC_TXT", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.autDocTxtFilter.text"), + Arrays.asList(".txt")), + AUT_DOC_RTF(4, "AUT_DOC_RTF", + NbBundle.getMessage(FileTypeExtensionFilters.class, "FileTypeExtensionFilters.autDocRtfFilter.text"), + Arrays.asList(".rtf")); private int id; private String name; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java index 02c8b89e1c..282d22761f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.datamodel; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -61,19 +62,19 @@ public class FileTypeNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Filter Type", - "Filter Type", - "no description", - filter.getDisplayName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.text"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.noDesc.text"), + filter.getDisplayName())); String extensions = ""; for (String ext : filter.getFilter()) { extensions += "'" + ext + "', "; } extensions = extensions.substring(0, extensions.lastIndexOf(',')); - ss.put(new NodeProperty("File Extensions", - "File Extensions", - "no description", - extensions)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.text"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.text"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.noDesc.text"), + extensions)); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java index 98b64f7d9b..23a6ca6d8e 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.datamodel; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -28,7 +29,7 @@ import org.sleuthkit.datamodel.SleuthkitCase; */ public class FileTypesNode extends DisplayableItemNode { - private static final String FNAME = "File Types"; + private static final String FNAME = NbBundle.getMessage(FileTypesNode.class, "FileTypesNode.fname.text"); private SleuthkitCase skCase; /** @@ -71,9 +72,9 @@ public class FileTypesNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "FileTypesNode.noDesc.text"), getName())); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java index 846cd5f7f5..2a714d8bf8 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java @@ -28,6 +28,8 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.AbstractNode; import org.openide.nodes.ChildFactory; @@ -131,10 +133,10 @@ public class HashsetHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.noDesc.text"), + getName())); return s; } @@ -177,10 +179,10 @@ public class HashsetHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.noDesc.text"), + getName())); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java index bea81eebc7..a25d0aac7f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; import javax.swing.Action; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.directorytree.ExplorerNodeActionVisitor; import org.sleuthkit.autopsy.directorytree.FileSearchAction; import org.sleuthkit.autopsy.directorytree.NewWindowViewAction; @@ -66,8 +67,10 @@ public class ImageNode extends AbstractContentNode { public Action[] getActions(boolean context) { List actionsList = new ArrayList(); - actionsList.add(new NewWindowViewAction("View in New Window", this)); - actionsList.add(new FileSearchAction("Open File Search by Attributes")); + actionsList.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "ImageNode.getActions.viewInNewWin.text"), this)); + actionsList.add(new FileSearchAction( + NbBundle.getMessage(this.getClass(), "ImageNode.getActions.openFileSearchByAttr.text"))); actionsList.addAll(ExplorerNodeActionVisitor.getActions(content)); return actionsList.toArray(new Action[0]); @@ -82,7 +85,10 @@ public class ImageNode extends AbstractContentNode { s.put(ss); } - ss.put(new NodeProperty("Name", "Name", "no description", getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "ImageNode.noDesc.text"), + getName())); // @@@ add more properties here... return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Installer.java b/Core/src/org/sleuthkit/autopsy/datamodel/Installer.java index 1357b0ccd6..a9fa9c2a48 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Installer.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Installer.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.datamodel; import java.awt.Component; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import javax.swing.JOptionPane; import org.openide.LifecycleManager; @@ -62,9 +64,9 @@ public class Installer extends ModuleInstall { String skVersion = SleuthkitJNI.getVersion(); if (skVersion == null) { - throw new Exception("Sleuth Kit JNI test call returned without error, but version string was null!"); + throw new Exception(NbBundle.getMessage(this.getClass(), "Installer.exception.tskVerStringNull.msg")); } else if (skVersion.length() == 0) { - throw new Exception("Sleuth Kit JNI test call returned without error, but version string was \"\"!"); + throw new Exception(NbBundle.getMessage(this.getClass(), "Installer.exception.taskVerStringBang.msg")); } else { logger.log(Level.CONFIG, "Sleuth Kit Version: {0}", skVersion); } @@ -75,8 +77,8 @@ public class Installer extends ModuleInstall { // Normal error box log handler won't be loaded yet, so show error here. final Component parentComponent = null; // Use default window frame. - final String message = "Problem with Sleuth Kit JNI. Test call failed!\n\nDetails: " + e.toString(); - final String title = "Fatal Error!"; + final String message = NbBundle.getMessage(this.getClass(), "Installer.tskLibErr.msg", e.toString()); + final String title = NbBundle.getMessage(this.getClass(), "Installer.tskLibErr.err"); final int messageType = JOptionPane.ERROR_MESSAGE; JOptionPane.showMessageDialog( diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java index cc165631f4..b860fe2ea2 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; @@ -41,8 +43,9 @@ import org.sleuthkit.datamodel.TskException; public class InterestingHits implements AutopsyVisitableItem { - private static final String INTERESTING_ITEMS = "INTERESTING ITEMS"; - private static final String DISPLAY_NAME = "Interesting Items"; + private static final String INTERESTING_ITEMS = NbBundle + .getMessage(InterestingHits.class, "InterestingHits.nodeName.text"); + private static final String DISPLAY_NAME = NbBundle.getMessage(InterestingHits.class, "InterestingHits.displayName.text"); private static final Logger logger = Logger.getLogger(InterestingHits.class.getName()); private SleuthkitCase skCase; private Map> interestingItemsMap; @@ -132,10 +135,10 @@ public class InterestingHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.noDesc.text"), + getName())); return s; } @@ -178,10 +181,10 @@ public class InterestingHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.noDesc.text"), + getName())); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java index e1330f0f92..89d90fa371 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java @@ -23,6 +23,7 @@ import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Sheet; import org.openide.util.Lookup; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.AbstractFile; @@ -78,12 +79,18 @@ import org.sleuthkit.datamodel.AbstractFile; // table view drops first column of properties under assumption // that it contains the node's name - ss.put(new NodeProperty("Name", "Name", "n/a", data.getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name"), + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.na"), + data.getName())); for (Map.Entry entry : data.getMap().entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); - ss.put(new NodeProperty(key, key, "n/a", value)); + ss.put(new NodeProperty(key, + key, + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.na"), + value)); } return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java index 59055bdcff..1d4e7435f5 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java @@ -27,12 +27,13 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; -import org.openide.util.Exceptions; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; @@ -48,10 +49,12 @@ public class KeywordHits implements AutopsyVisitableItem { private SleuthkitCase skCase; private static final Logger logger = Logger.getLogger(KeywordHits.class.getName()); - private static final String KEYWORD_HITS = "Keyword Hits"; + private static final String KEYWORD_HITS = NbBundle.getMessage(KeywordHits.class, "KeywordHits.kwHits.text"); public static final String NAME = BlackboardArtifact.ARTIFACT_TYPE.TSK_KEYWORD_HIT.getLabel(); - public static final String SIMPLE_LITERAL_SEARCH = "Single Literal Keyword Search"; - public static final String SIMPLE_REGEX_SEARCH = "Single Regular Expression Search"; + public static final String SIMPLE_LITERAL_SEARCH = NbBundle + .getMessage(KeywordHits.class, "KeywordHits.simpleLiteralSearch.text"); + public static final String SIMPLE_REGEX_SEARCH = NbBundle + .getMessage(KeywordHits.class, "KeywordHits.singleRegexSearch.text"); // Map from String (list name) to Map from string (keyword) to set (artifact ids) private Map>> topLevelMap; private Map>> listsMap; @@ -190,10 +193,10 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + getName())); return s; } @@ -240,16 +243,16 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("List Name", - "List Name", - "no description", - name)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + name)); - ss.put(new NodeProperty("Number of Children", - "Number of Children", - "no description", - children.size())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + children.size())); return s; } @@ -321,16 +324,16 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty("List Name", - "List Name", - "no description", - getDisplayName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + getDisplayName())); - ss.put(new NodeProperty("Files with Hits", - "Files with Hits", - "no description", - children.size())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.text"), + NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + children.size())); return s; } @@ -371,19 +374,28 @@ public class KeywordHits implements AutopsyVisitableItem { return n; } - n.addNodeProperty(new NodeProperty("ModifiedTime", - "Modified Time", - "Modified Time", + n.addNodeProperty(new NodeProperty( + NbBundle.getMessage(this.getClass(), "KeywordHits.createNodeForKey.modTime.name"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.modTime.displayName"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.modTime.desc"), ContentUtils.getStringTime(file.getMtime(), file))); - n.addNodeProperty(new NodeProperty("AccessTime", - "Access Time", - "Access Time", + n.addNodeProperty(new NodeProperty( + NbBundle.getMessage(this.getClass(), "KeywordHits.createNodeForKey.accessTime.name"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.accessTime.displayName"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.accessTime.desc"), ContentUtils.getStringTime(file.getAtime(), file))); - n.addNodeProperty(new NodeProperty("ChangeTime", - "Change Time", - "Change Time", + n.addNodeProperty(new NodeProperty( + NbBundle.getMessage(this.getClass(), "KeywordHits.createNodeForKey.chgTime.name"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.chgTime.displayName"), + NbBundle.getMessage(this.getClass(), + "KeywordHits.createNodeForKey.chgTime.desc"), ContentUtils.getStringTime(file.getCtime(), file))); - + return n; } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java index 30cb2ddab3..ce37222728 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KnownFileFilterNode.java @@ -23,6 +23,7 @@ import java.util.prefs.PreferenceChangeListener; import java.util.prefs.Preferences; import org.openide.nodes.FilterNode; import org.openide.nodes.Node; +import org.openide.util.NbBundle; import org.openide.util.NbPreferences; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.TskData; @@ -56,8 +57,8 @@ public class KnownFileFilterNode extends FilterNode { * is a sub-node of. (i.e. Data Sources, Views, Results) */ public enum SelectionContext { - DATA_SOURCES("Data Sources"), // Subnode of DataSources - VIEWS("Views"), // Subnode of Views + DATA_SOURCES(NbBundle.getMessage(KnownFileFilterNode.class, "KnownFileFilterNode.selectionContext.dataSources")), // Subnode of DataSources + VIEWS(NbBundle.getMessage(KnownFileFilterNode.class, "KnownFileFilterNode.selectionContext.views")), // Subnode of Views OTHER(""); // Subnode of another node. private final String displayName; From 14be2e9ce5e888890f21e384eae03c03af525ed4 Mon Sep 17 00:00:00 2001 From: Nick Davis Date: Tue, 25 Feb 2014 12:56:02 -0500 Subject: [PATCH 2/7] Pulled remaining static strings into Bundle.properties. Created Bundle_ja --- .../autopsy/datamodel/ArtifactTypeNode.java | 14 +- .../datamodel/BlackboardArtifactNode.java | 20 +- .../autopsy/datamodel/Bundle.properties | 200 ++++++++++++++---- .../autopsy/datamodel/Bundle_ja.properties | 0 .../autopsy/datamodel/ContentTagNode.java | 15 +- .../autopsy/datamodel/ContentTagTypeNode.java | 5 +- .../autopsy/datamodel/DataSourcesNode.java | 8 +- .../autopsy/datamodel/DeletedContent.java | 12 +- .../autopsy/datamodel/EmailExtracted.java | 24 +-- .../datamodel/ExtractedContentNode.java | 7 +- .../sleuthkit/autopsy/datamodel/FileSize.java | 12 +- .../autopsy/datamodel/FileTypeNode.java | 12 +- .../autopsy/datamodel/FileTypesNode.java | 6 +- .../autopsy/datamodel/HashsetHits.java | 16 +- .../autopsy/datamodel/ImageNode.java | 6 +- .../autopsy/datamodel/InterestingHits.java | 14 +- .../autopsy/datamodel/KeyValueNode.java | 8 +- .../autopsy/datamodel/KeywordHits.java | 30 +-- .../autopsy/datamodel/LayoutFileNode.java | 16 +- .../autopsy/datamodel/LocalFileNode.java | 17 +- .../autopsy/datamodel/RecentFiles.java | 22 +- .../datamodel/RecentFilesFilterChildren.java | 7 +- .../datamodel/RecentFilesFilterNode.java | 9 +- .../autopsy/datamodel/RecentFilesNode.java | 11 +- .../autopsy/datamodel/ResultsNode.java | 11 +- .../autopsy/datamodel/TagNameNode.java | 42 ++-- .../sleuthkit/autopsy/datamodel/TagsNode.java | 8 +- .../autopsy/datamodel/ViewsNode.java | 11 +- .../datamodel/VirtualDirectoryNode.java | 12 +- .../autopsy/datamodel/VolumeNode.java | 34 ++- 30 files changed, 395 insertions(+), 214 deletions(-) create mode 100644 Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java index 5dc9f18907..92d1be9395 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ArtifactTypeNode.java @@ -18,12 +18,10 @@ */ package org.sleuthkit.autopsy.datamodel; -import java.util.Map; import java.util.logging.Level; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; -import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Sheet; import org.openide.util.lookup.Lookups; @@ -67,14 +65,14 @@ public class ArtifactTypeNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.text"), - NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.text"), - NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.name"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.displayName"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.artType.desc"), type.getDisplayName())); - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.text"), - NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.text"), - NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.name"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.displayName"), + NbBundle.getMessage(this.getClass(), "ArtifactTypeNode.createSheet.childCnt.desc"), childCount)); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java index 4ead0f896b..d15b1fc0c3 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/BlackboardArtifactNode.java @@ -110,8 +110,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { Map map = new LinkedHashMap(); fillPropertyMap(map, artifact); - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.text"), - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.name"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.srcFile.displayName"), NO_DESCR, associated.getName())); @@ -137,8 +137,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { AbstractFile af = (AbstractFile) associated; ext = af.getNameExtension(); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.text"), - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.name"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.ext.displayName"), NO_DESCR, ext)); @@ -157,8 +157,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { logger.log(Level.WARNING, "Could not find expected TSK_FILE_TYPE_SIG attribute."); } else { ss.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.text"), - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.name"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.mimeType.displayName"), NO_DESCR, actualMimeType)); } @@ -177,8 +177,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { if (sourcePath.isEmpty() == false) { ss.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.text"), - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.name"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.filePath.displayName"), NO_DESCR, sourcePath)); } @@ -197,8 +197,8 @@ public class BlackboardArtifactNode extends DisplayableItemNode { if (dataSource.isEmpty() == false) { ss.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.text"), - NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.text"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.name"), + NbBundle.getMessage(this.getClass(), "BlackboardArtifactNode.createSheet.dataSrc.displayName"), NO_DESCR, dataSource)); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index 40ba78b479..e22111e7c2 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -25,27 +25,39 @@ AbstractFsContentNode.noDesc.text=no description ArtifactStringContent.getStr.srcFilePath.text=Source File Path ArtifactStringContent.getStr.err=Error getting content ArtifactStringContent.exception.msg=Couldn't get file from database -ArtifactTypeNode.createSheet.artType.text=Artifact Type -ArtifactTypeNode.noDesc.text=no description -ArtifactTypeNode.createSheet.childCnt.text=Child Count +ArtifactTypeNode.createSheet.artType.name=Artifact Type +ArtifactTypeNode.createSheet.artType.displayName=Artifact Type +ArtifactTypeNode.createSheet.artType.desc=no description +ArtifactTypeNode.createSheet.childCnt.name=Child Count +ArtifactTypeNode.createSheet.childCnt.displayName=Child Count +ArtifactTypeNode.createSheet.childCnt.desc=no description BlackboardArtifactNode.noDesc.text=no description -BlackboardArtifactNode.createSheet.srcFile.text=Source File -BlackboardArtifactNode.createSheet.ext.text=Extension -BlackboardArtifactNode.createSheet.mimeType.text=MIME Type -BlackboardArtifactNode.createSheet.filePath.text=File Path -BlackboardArtifactNode.createSheet.dataSrc.text=Data Source +BlackboardArtifactNode.createSheet.srcFile.name=Source File +BlackboardArtifactNode.createSheet.srcFile.displayName=Source File +BlackboardArtifactNode.createSheet.ext.name=Extension +BlackboardArtifactNode.createSheet.ext.displayName=Extension +BlackboardArtifactNode.createSheet.mimeType.name=MIME Type +BlackboardArtifactNode.createSheet.mimeType.displayName=MIME Type +BlackboardArtifactNode.createSheet.filePath.name=File Path +BlackboardArtifactNode.createSheet.filePath.displayName=File Path +BlackboardArtifactNode.createSheet.dataSrc.name=Data Source +BlackboardArtifactNode.createSheet.dataSrc.displayName=Data Source BlackboardArtifactNode.getAssocCont.exception.msg=Couldn't get file from database BlackboardArtifactTagNode.createSheet.srcFile.text=Source File BlackboardArtifactTagNode.createSheet.unavail.text=Unavailable BlackboardArtifactTagNode.createSheet.srcFilePath.text=Source File Path BlackboardArtifactTagNode.createSheet.resultType.text=Result Type BlackboardArtifactTagNode.createSheet.comment.text=Comment -ContentTagNode.createSheet.file.text=File -ContentTagNode.createSheet.unavail.text=Unavailable -ContentTagNode.createSheet.filePath.text=File Path -ContentTagNode.createSheet.comment.text=Comment +ContentTagNode.createSheet.file.name=File +ContentTagNode.createSheet.file.displayName=File +ContentTagNode.createSheet.unavail.path=Unavailable +ContentTagNode.createSheet.filePath.name=File Path +ContentTagNode.createSheet.filePath.displayName=File Path +ContentTagNode.createSheet.comment.name=Comment +ContentTagNode.createSheet.comment.displayName=Comment ContentTagTypeNode.displayName.text=File Tags -ContentTagTypeNode.createSheet.name.text=Name +ContentTagTypeNode.createSheet.name.name=Name +ContentTagTypeNode.createSheet.name.displayName=Name ContentUtils.exception.msg=Can''t extract a {0} DataModelActionsFactory.srcFileInDir.text=View Source File in Directory DataModelActionsFactory.fileInDir.text=View File in Directory @@ -53,14 +65,18 @@ DataModelActionsFactory.viewNewWin.text=View in New Window DataModelActionsFactory.openExtViewer.text=Open in External Viewer DataModelActionsFactory.srfFileSameMD5.text=Search for files with the same MD5 hash DataSourcesNode.name=Data Sources -DataSourcesNode.createSheet.name.text=Name -DataSourcesNode.noDesc.text=no description +DataSourcesNode.createSheet.name.name=Name +DataSourcesNode.createSheet.name.displayName=Name +DataSourcesNode.createSheet.name.desc=no description DeletedContent.fsDelFilter.text=File System DeletedContent.allDelFilter.text=All DeletedContent.deletedContentsNode.name=Deleted Files -DeletedContent.createSheet.name.text=Name -DeletedContent.noDesc.text=no description -DeletedContent.createSheet.filterType.text=Filter Type +DeletedContent.createSheet.name.name=Name +DeletedContent.createSheet.name.displayName=Name +DeletedContent.createSheet.name.desc=no description +DeletedContent.createSheet.filterType.name=Filter Type +DeletedContent.createSheet.filterType.displayName=Filter Type +DeletedContent.createSheet.filterType.desc=no description DeletedContent.createKeys.maxObjects.msg=There are more Deleted Files than can be displayed. Only the first {0} Deleted Files will be shown. DeletedContent.createNodeForKey.typeNotSupported.msg=Not supported for this type of Displayable Item\: {0} DirectoryNode.parFolder.text=[parent folder] @@ -71,19 +87,24 @@ EmailExtracted.mailAccount.text=Account EmailExtracted.mailFolder.text=Folder EmailExtracted.defaultAcct.text=Default EmailExtracted.defaultFolder.text=Default -EmailExtracted.createSheet.name.text=Name -EmailExtracted.noDesc.text=no description +EmailExtracted.createSheet.name.name=Name +EmailExtracted.createSheet.name.displayName=Name +EmailExtracted.createSheet.name.desc=no description ExtractedContentNode.name.text=Extracted Content -ExtractedContentNode.createSheet.name.text=Name -ExtractedContentNode.noDesc.text=no description +ExtractedContentNode.createSheet.name.name=Name +ExtractedContentNode.createSheet.name.displayName=Name +ExtractedContentNode.createSheet.name.desc=no description FileNode.viewFileInDir.text=View File in Directory FileNode.getActions.viewInNewWin.text=View in New Window FileNode.getActions.openInExtViewer.text=Open in External Viewer FileNode.getActions.searchFilesSameMD5.text=Search for files with the same MD5 hash FileSize.fileSizeRootNode.name=File Size -FileSize.createSheet.name=Name -FileSize.noDesc.text=no description -FileSize.createSheet.filterType.text=Filter Type +FileSize.createSheet.name.name=Name +FileSize.createSheet.name.displayName=Name +FileSize.createSheet.name.desc=no description +FileSize.createSheet.filterType.name=Filter Type +FileSize.createSheet.filterType.displayName=Filter Type +FileSize.createSheet.filterType.desc=no description FileSize.exception.notSupported.msg=Not supported for this type of Displayable Item\: {0} FileTypeChildren.exception.notSupported.msg=Not supported for this type of Displayable Item\: {0} FileTypeExtensionFilters.tskImgFilter.text=Images @@ -97,38 +118,54 @@ FileTypeExtensionFilters.autDocOfficeFilter.text=Office FileTypeExtensionFilters.autoDocPdfFilter.text=PDF FileTypeExtensionFilters.autDocTxtFilter.text=Plain Text FileTypeExtensionFilters.autDocRtfFilter.text=Rich Text -FileTypeNode.createSheet.filterType.text=Filter Type -FileTypeNode.noDesc.text=no description -FileTypeNode.createSheet.fileExt.text=File Extensions +FileTypeNode.createSheet.filterType.name=Filter Type +FileTypeNode.createSheet.filterType.displayName=Filter Type +FileTypeNode.createSheet.filterType.desc=no description +FileTypeNode.createSheet.fileExt.name=File Extensions +FileTypeNode.createSheet.fileExt.displayName=File Extensions +FileTypeNode.createSheet.fileExt.desc=no description FileTypesNode.fname.text=File Types -FileTypesNode.createSheet.name=Name -FileTypesNode.noDesc.text=no description -HashsetHits.createSheet.name=Name -HashsetHits.noDesc.text=no description +FileTypesNode.createSheet.name.name=Name +FileTypesNode.createSheet.name.displayName=Name +FileTypesNode.createSheet.name.desc=no description +HashsetHits.createSheet.name.name=Name +HashsetHits.createSheet.name.displayName=Name +HashsetHits.createSheet.name.desc=no description ImageNode.getActions.viewInNewWin.text=View in New Window ImageNode.getActions.openFileSearchByAttr.text=Open File Search by Attributes -ImageNode.createSheet.name=Name -ImageNode.noDesc.text=no description +ImageNode.createSheet.name.name=Name +ImageNode.createSheet.name.displayName=Name +ImageNode.createSheet.name.desc=no description Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI test call returned without error, but version string was null\! Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI test call returned without error, but version string was ""\! Installer.tskLibErr.msg=Problem with Sleuth Kit JNI. Test call failed\!\ \ Details\: {0} Installer.tskLibErr.err=Fatal Error\! -InterestingHits.nodeName.text=INTERESTING ITEMS +InterestingHits.interestingItems.text=INTERESTING ITEMS InterestingHits.displayName.text=Interesting Items -InterestingHits.createSheet.name=Name -InterestingHits.noDesc.text=no description -KeyValueNode.createSheet.name=Name -KeyValueNode.createSheet.na=n/a +InterestingHits.createSheet.name.name=Name +InterestingHits.createSheet.name.displayName=Name +InterestingHits.createSheet.name.desc=no description +KeyValueNode.createSheet.name.name=Name +KeyValueNode.createSheet.name.displayName=Name +KeyValueNode.createSheet.name.desc=n/a +KeyValueNode.createSheet.map.desc=n/a KeywordHits.kwHits.text=Keyword Hits KeywordHits.simpleLiteralSearch.text=Single Literal Keyword Search KeywordHits.singleRegexSearch.text=Single Regular Expression Search -KeywordHits.createSheet.name=Name -KeywordHits.noDesc.text=no description -KeywordHits.createSheet.listName.text=List Name -KeywordHits.createSheet.numChildren.text=Number of Children -KeywordHits.createSheet.filesWithHits.text=Files with Hits +KeywordHits.createSheet.name.name=Name +KeywordHits.createSheet.name.displayName=Name +KeywordHits.createSheet.name.desc=no description +KeywordHits.createSheet.listName.name=List Name +KeywordHits.createSheet.listName.displayName=List Name +KeywordHits.createSheet.listName.desc=no description +KeywordHits.createSheet.numChildren.name=Number of Children +KeywordHits.createSheet.numChildren.displayName=Number of Children +KeywordHits.createSheet.numChildren.desc=no description +KeywordHits.createSheet.filesWithHits.name=Files with Hits +KeywordHits.createSheet.filesWithHits.displayName=Files with Hits +KeywordHits.createSheet.filesWithHits.desc=no description KeywordHits.createNodeForKey.modTime.displayName=Modified Time KeywordHits.createNodeForKey.modTime.desc=Modified Time KeywordHits.createNodeForKey.accessTime.displayName=Access Time @@ -140,3 +177,78 @@ KeywordHits.createNodeForKey.accessTime.name=AccessTime KeywordHits.createNodeForKey.modTime.name=ModifiedTime KnownFileFilterNode.selectionContext.dataSources=Data Sources KnownFileFilterNode.selectionContext.views=Views +LayoutFileNode.propertyType.parts=Parts +LayoutFileNode.createSheet.name.name=Name +LayoutFileNode.createSheet.name.displayName=Name +LayoutFileNode.createSheet.name.desc=no description +LayoutFileNode.createSheet.noDescr.text=no description +LayoutFileNode.getActions.viewInNewWin.text=View in New Window +LayoutFileNode.getActions.openInExtViewer.text=Open in External Viewer +LocalFileNode.createSheet.name.name=Name +LocalFileNode.createSheet.name.displayName=Name +LocalFileNode.createSheet.name.desc=no description +LocalFileNode.createSheet.noDescr.text=no description +LocalFileNode.getActions.viewInNewWin.text=View in New Window +LocalFileNode.getActions.openInExtViewer.text=Open in External Viewer +LocalFileNode.getActions.searchFilesSameMd5.text=Search for files with the same MD5 hash +RecentFiles.aut0DayFilter.displayName.text=Final Day +RecentFiles.aut1dayFilter.displayName.text=Final Day - 1 +RecentFiles.aut2dayFilter.displayName.text=Final Day - 2 +RecentFiles.aut3dayFilter.displayName.text=Final Day - 3 +RecentFiles.aut4dayFilter.displayName.text=Final Day - 4 +RecentFiles.aut5dayFilter.displayName.text=Final Day - 5 +RecentFiles.aut6dayFilter.displayName.text=Final Day - 6 +RecentFilesFilterChildren.exception.defaultVisit.msg=Not supported for this type of Displayable Item\: {0} +RecentFilesFilterNode.createSheet.filterType.name=Filter Type +RecentFilesFilterNode.createSheet.filterType.displayName=Filter Type +RecentFilesFilterNode.createSheet.filterType.desc=no description +RecentFilesNode.createSheet.name.name=Name +RecentFilesNode.createSheet.name.displayName=Name +RecentFilesNode.createSheet.name.desc=no description +RecentFilesNode.name.text=Recent Files +ResultsNode.name.text=Results +ResultsNode.createSheet.name.name=Name +ResultsNode.createSheet.name.displayName=Name +ResultsNode.createSheet.name.desc=no description +TagNameNode.namePlusTags.text={0} Tags +TagNameNode.contentTagTypeNodeKey.text=Content Tags +TagNameNode.bbArtTagTypeNodeKey.text=Result Tags +TagNameNode.bookmark.text=Bookmark +TagNameNode.createSheet.name.name=Name +TagNameNode.createSheet.name.displayName=Name +TagsNode.displayName.text=Tags +TagsNode.createSheet.name.name=Name +TagsNode.createSheet.name.displayName=Name +ViewsNode.name.text=Views +ViewsNode.createSheet.name.name=Name +ViewsNode.createSheet.name.displayName=Name +ViewsNode.createSheet.name.desc=no description +VirtualDirectoryNode.getActions.viewInNewWin.text=View in New Window +VirtualDirectoryNode.createSheet.name.name=Name +VirtualDirectoryNode.createSheet.name.displayName=Name +VirtualDirectoryNode.createSheet.name.desc=no description +VirtualDirectoryNode.createSheet.noDesc=no description +VolumeNode.getActions.viewInNewWin.text=View in New Window +VolumeNode.createSheet.name.name=Name +VolumeNode.createSheet.name.displayName=Name +VolumeNode.createSheet.name.desc=no description +VolumeNode.createSheet.id.name=ID +VolumeNode.createSheet.id.displayName=ID +VolumeNode.createSheet.id.desc=no description +VolumeNode.createSheet.startSector.name=Starting Sector +VolumeNode.createSheet.startSector.displayName=Starting Sector +VolumeNode.createSheet.startSector.desc=no description +VolumeNode.createSheet.lenSectors.name=Length in Sectors +VolumeNode.createSheet.lenSectors.displayName=Length in Sectors +VolumeNode.createSheet.lenSectors.desc=no description +VolumeNode.createSheet.description.name=Description +VolumeNode.createSheet.description.displayName=Description +VolumeNode.createSheet.description.desc=no description +VolumeNode.createSheet.flags.name=Flags +VolumeNode.createSheet.flags.displayName=Flags +VolumeNode.createSheet.flags.desc=no description + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java index ec5ae640ed..efaa296933 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagNode.java @@ -58,8 +58,8 @@ import org.sleuthkit.datamodel.TskCoreException; propertySheet.put(properties); } - properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.text"), - NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.text"), + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.name"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.file.displayName"), "", tag.getContent().getName())); String contentPath; @@ -68,15 +68,14 @@ import org.sleuthkit.datamodel.TskCoreException; } catch (TskCoreException ex) { Logger.getLogger(ContentTagNode.class.getName()).log(Level.SEVERE, "Failed to get path for content (id = " + tag.getContent().getId() + ")", ex); - contentPath = NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.unavail.text"); + contentPath = NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.unavail.path"); } - properties.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.text"), - NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.text"), + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.name"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.filePath.displayName"), "", contentPath)); - properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.text"), - NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.text"), + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.name"), + NbBundle.getMessage(this.getClass(), "ContentTagNode.createSheet.comment.displayName"), "", tag.getComment())); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java index 76136d57fd..b6a39b0266 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ContentTagTypeNode.java @@ -66,9 +66,8 @@ public class ContentTagTypeNode extends DisplayableItemNode { propertySheet.put(properties); } - properties.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.text"), + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "ContentTagTypeNode.createSheet.name.displayName"), "", getName())); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java index 9859f63114..26d2409bf4 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DataSourcesNode.java @@ -19,7 +19,7 @@ package org.sleuthkit.autopsy.datamodel; import java.util.List; -import org.openide.nodes.AbstractNode; + import org.openide.nodes.Sheet; import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; @@ -58,9 +58,9 @@ public class DataSourcesNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "DataSourcesNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "DataSourcesNode.createSheet.name.desc"), NAME)); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java index 27b384b7f6..f2e6bc1912 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/DeletedContent.java @@ -133,9 +133,9 @@ public class DeletedContent implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "DeletedContent.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.name.desc"), NAME)); return s; } @@ -198,9 +198,9 @@ public class DeletedContent implements AutopsyVisitableItem { } ss.put(new NodeProperty( - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "DeletedContent.noDesc.text"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.name"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.displayName"), + NbBundle.getMessage(this.getClass(), "DeletedContent.createSheet.filterType.desc"), filter.getDisplayName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java index b9a3bd5db2..0a993de2ec 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/EmailExtracted.java @@ -153,9 +153,9 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.desc"), getName())); return s; @@ -235,9 +235,9 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.desc"), getName())); return s; @@ -282,9 +282,9 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.desc"), getName())); return s; @@ -352,9 +352,9 @@ public class EmailExtracted implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "EmailExtracted.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "EmailExtracted.createSheet.name.desc"), getName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java index e1cebc2fed..781d975f85 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ExtractedContentNode.java @@ -18,7 +18,6 @@ */ package org.sleuthkit.autopsy.datamodel; -import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Sheet; import org.openide.util.NbBundle; @@ -58,9 +57,9 @@ public class ExtractedContentNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.text"), - NbBundle.getMessage(this.getClass(), "ExtractedContentNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "ExtractedContentNode.createSheet.name.desc"), NAME)); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java index 7cfe49367d..0c2ca91b45 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileSize.java @@ -130,9 +130,9 @@ public class FileSize implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name"), - NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name"), - NbBundle.getMessage(this.getClass(), "FileSize.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.name.desc"), NAME)); return s; } @@ -194,9 +194,9 @@ public class FileSize implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "FileSize.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.name"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.displayName"), + NbBundle.getMessage(this.getClass(), "FileSize.createSheet.filterType.desc"), filter.getDisplayName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java index 282d22761f..317dbe0a63 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypeNode.java @@ -62,18 +62,18 @@ public class FileTypeNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.text"), - NbBundle.getMessage(this.getClass(), "FileTypeNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.name"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.displayName"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.filterType.desc"), filter.getDisplayName())); String extensions = ""; for (String ext : filter.getFilter()) { extensions += "'" + ext + "', "; } extensions = extensions.substring(0, extensions.lastIndexOf(',')); - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.text"), - NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.text"), - NbBundle.getMessage(this.getClass(), "FileTypeNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.name"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.displayName"), + NbBundle.getMessage(this.getClass(), "FileTypeNode.createSheet.fileExt.desc"), extensions)); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java index 23a6ca6d8e..953e7a1d45 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/FileTypesNode.java @@ -72,9 +72,9 @@ public class FileTypesNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "FileTypesNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "FileTypesNode.createSheet.name.desc"), getName())); return s; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java index 2a714d8bf8..602b952c20 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/HashsetHits.java @@ -20,8 +20,6 @@ package org.sleuthkit.autopsy.datamodel; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; -import java.util.ArrayList; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; @@ -31,12 +29,10 @@ import java.util.logging.Level; import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; -import org.openide.nodes.AbstractNode; import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; -import org.openide.util.Exceptions; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.BlackboardArtifact; import org.sleuthkit.datamodel.BlackboardAttribute; @@ -133,9 +129,9 @@ public class HashsetHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "HashsetHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.desc"), getName())); return s; @@ -179,9 +175,9 @@ public class HashsetHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "HashsetHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "HashsetHits.createSheet.name.desc"), getName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java index a25d0aac7f..b3a3274d55 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ImageNode.java @@ -85,9 +85,9 @@ public class ImageNode extends AbstractContentNode { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "ImageNode.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "ImageNode.createSheet.name.desc"), getName())); // @@@ add more properties here... diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java index b860fe2ea2..214eec198f 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/InterestingHits.java @@ -44,7 +44,7 @@ import org.sleuthkit.datamodel.TskException; public class InterestingHits implements AutopsyVisitableItem { private static final String INTERESTING_ITEMS = NbBundle - .getMessage(InterestingHits.class, "InterestingHits.nodeName.text"); + .getMessage(InterestingHits.class, "InterestingHits.interestingItems.text"); private static final String DISPLAY_NAME = NbBundle.getMessage(InterestingHits.class, "InterestingHits.displayName.text"); private static final Logger logger = Logger.getLogger(InterestingHits.class.getName()); private SleuthkitCase skCase; @@ -135,9 +135,9 @@ public class InterestingHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "InterestingHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.desc"), getName())); return s; @@ -181,9 +181,9 @@ public class InterestingHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "InterestingHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "InterestingHits.createSheet.name.desc"), getName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java index 89d90fa371..0ed726de05 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KeyValueNode.java @@ -79,9 +79,9 @@ import org.sleuthkit.datamodel.AbstractFile; // table view drops first column of properties under assumption // that it contains the node's name - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name"), - NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.na"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.name.desc"), data.getName())); for (Map.Entry entry : data.getMap().entrySet()) { @@ -89,7 +89,7 @@ import org.sleuthkit.datamodel.AbstractFile; Object value = entry.getValue(); ss.put(new NodeProperty(key, key, - NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.na"), + NbBundle.getMessage(this.getClass(), "KeyValueNode.createSheet.map.desc"), value)); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java b/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java index 1d4e7435f5..b517642978 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/KeywordHits.java @@ -193,9 +193,9 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name"), - NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.name.desc"), getName())); return s; @@ -243,15 +243,15 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.displayName"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.desc"), name)); - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.displayName"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.numChildren.desc"), children.size())); return s; @@ -324,15 +324,15 @@ public class KeywordHits implements AutopsyVisitableItem { s.put(ss); } - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.displayName"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.listName.desc"), getDisplayName())); - ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.text"), - NbBundle.getMessage(this.getClass(), "KeywordHits.noDesc.text"), + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.name"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.displayName"), + NbBundle.getMessage(this.getClass(), "KeywordHits.createSheet.filesWithHits.desc"), children.size())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LayoutFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LayoutFileNode.java index a896442f04..569318dd02 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LayoutFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LayoutFileNode.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import javax.swing.Action; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.directorytree.ExternalViewerAction; import org.sleuthkit.autopsy.directorytree.ExtractAction; @@ -42,7 +43,7 @@ public class LayoutFileNode extends AbstractAbstractFileNode { PARTS { @Override public String toString() { - return "Parts"; + return NbBundle.getMessage(this.getClass(), "LayoutFileNode.propertyType.parts"); } } } @@ -75,9 +76,12 @@ public class LayoutFileNode extends AbstractAbstractFileNode { Map map = new LinkedHashMap(); fillPropertyMap(map, content); - ss.put(new NodeProperty("Name", "Name", "no description", getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "LayoutFileNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "LayoutFileNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "LayoutFileNode.createSheet.name.desc"), + getName())); - final String NO_DESCR = "no description"; + final String NO_DESCR = NbBundle.getMessage(this.getClass(), "LayoutFileNode.createSheet.noDescr.text"); for (Map.Entry entry : map.entrySet()) { ss.put(new NodeProperty(entry.getKey(), entry.getKey(), NO_DESCR, entry.getValue())); } @@ -104,8 +108,10 @@ public class LayoutFileNode extends AbstractAbstractFileNode { @Override public Action[] getActions(boolean context) { List actionsList = new ArrayList<>(); - actionsList.add(new NewWindowViewAction("View in New Window", this)); - actionsList.add(new ExternalViewerAction("Open in External Viewer", this)); + actionsList.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "LayoutFileNode.getActions.viewInNewWin.text"), this)); + actionsList.add(new ExternalViewerAction( + NbBundle.getMessage(this.getClass(), "LayoutFileNode.getActions.openInExtViewer.text"), this)); actionsList.add(null); // creates a menu separator actionsList.add(ExtractAction.getInstance()); actionsList.add(null); // creates a menu separator diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java index 02121410da..38aa2d7ab7 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/LocalFileNode.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import javax.swing.Action; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.directorytree.ExternalViewerAction; import org.sleuthkit.autopsy.directorytree.ExtractAction; @@ -67,9 +68,12 @@ public class LocalFileNode extends AbstractAbstractFileNode { Map map = new LinkedHashMap(); fillPropertyMap(map, content); - ss.put(new NodeProperty("Name", "Name", "no description", getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "LocalFileNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "LocalFileNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "LocalFileNode.createSheet.name.desc"), + getName())); - final String NO_DESCR = "no description"; + final String NO_DESCR = NbBundle.getMessage(this.getClass(), "LocalFileNode.createSheet.noDescr.text"); for (Map.Entry entry : map.entrySet()) { ss.put(new NodeProperty(entry.getKey(), entry.getKey(), NO_DESCR, entry.getValue())); } @@ -81,11 +85,14 @@ public class LocalFileNode extends AbstractAbstractFileNode { @Override public Action[] getActions(boolean context) { List actionsList = new ArrayList<>(); - actionsList.add(new NewWindowViewAction("View in New Window", this)); - actionsList.add(new ExternalViewerAction("Open in External Viewer", this)); + actionsList.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "LocalFileNode.getActions.viewInNewWin.text"), this)); + actionsList.add(new ExternalViewerAction( + NbBundle.getMessage(this.getClass(), "LocalFileNode.getActions.openInExtViewer.text"), this)); actionsList.add(null); // creates a menu separator actionsList.add(ExtractAction.getInstance()); - actionsList.add(new HashSearchAction("Search for files with the same MD5 hash", this)); + actionsList.add(new HashSearchAction( + NbBundle.getMessage(this.getClass(), "LocalFileNode.getActions.searchFilesSameMd5.text"), this)); actionsList.add(null); // creates a menu separator actionsList.add(AddContentTagAction.getInstance()); actionsList.addAll(ContextMenuExtensionPoint.getActions()); diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFiles.java b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFiles.java index 2745951574..75168f8b21 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFiles.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFiles.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.datamodel; +import org.openide.util.NbBundle; import org.sleuthkit.datamodel.SleuthkitCase; /** @@ -28,13 +29,20 @@ import org.sleuthkit.datamodel.SleuthkitCase; SleuthkitCase skCase; public enum RecentFilesFilter implements AutopsyVisitableItem { - AUT_0DAY_FILTER(0, "AUT_0DAY_FILTER", "Final Day", 0), - AUT_1DAY_FILTER(0, "AUT_1DAY_FILTER", "Final Day - 1", 1), - AUT_2DAY_FILTER(0, "AUT_2DAY_FILTER", "Final Day - 2", 2), - AUT_3DAY_FILTER(0, "AUT_3DAY_FILTER", "Final Day - 3", 3), - AUT_4DAY_FILTER(0, "AUT_4DAY_FILTER", "Final Day - 4", 4), - AUT_5DAY_FILTER(0, "AUT_5DAY_FILTER", "Final Day - 5", 5), - AUT_6DAY_FILTER(0, "AUT_6DAY_FILTER", "Final Day - 6", 6); + AUT_0DAY_FILTER(0, "AUT_0DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut0DayFilter.displayName.text"), 0), + AUT_1DAY_FILTER(0, "AUT_1DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut1dayFilter.displayName.text"), 1), + AUT_2DAY_FILTER(0, "AUT_2DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut2dayFilter.displayName.text"), 2), + AUT_3DAY_FILTER(0, "AUT_3DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut3dayFilter.displayName.text"), 3), + AUT_4DAY_FILTER(0, "AUT_4DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut4dayFilter.displayName.text"), 4), + AUT_5DAY_FILTER(0, "AUT_5DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut5dayFilter.displayName.text"), 5), + AUT_6DAY_FILTER(0, "AUT_6DAY_FILTER", + NbBundle.getMessage(RecentFiles.class, "RecentFiles.aut6dayFilter.displayName.text"), 6); private int id; private String name; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterChildren.java b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterChildren.java index 374fe54db2..636f1f82e8 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterChildren.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterChildren.java @@ -22,6 +22,8 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.logging.Level; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.AbstractNode; import org.openide.nodes.ChildFactory; @@ -136,7 +138,10 @@ import org.sleuthkit.datamodel.TskData; @Override protected AbstractNode defaultVisit(Content di) { - throw new UnsupportedOperationException("Not supported for this type of Displayable Item: " + di.toString()); + throw new UnsupportedOperationException( + NbBundle.getMessage(this.getClass(), + "RecentFilesFilterChildren.exception.defaultVisit.msg", + di.toString())); } }); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterNode.java index 6646eb24c3..4b898b1aa6 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesFilterNode.java @@ -20,6 +20,8 @@ package org.sleuthkit.autopsy.datamodel; import java.util.Calendar; import java.util.Locale; + +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.Logger; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; @@ -71,9 +73,10 @@ public class RecentFilesFilterNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Filter Type", - "Filter Type", - "no description", + ss.put(new NodeProperty( + NbBundle.getMessage(this.getClass(), "RecentFilesFilterNode.createSheet.filterType.name"), + NbBundle.getMessage(this.getClass(), "RecentFilesFilterNode.createSheet.filterType.displayName"), + NbBundle.getMessage(this.getClass(), "RecentFilesFilterNode.createSheet.filterType.desc"), filter.getDisplayName())); return s; diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesNode.java index ecacf715e2..83488e4bff 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/RecentFilesNode.java @@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.datamodel; import org.openide.nodes.AbstractNode; import org.openide.nodes.Children; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -29,7 +30,7 @@ import org.sleuthkit.datamodel.SleuthkitCase; */ public class RecentFilesNode extends DisplayableItemNode { - private static final String NAME = "Recent Files"; + private static final String NAME = NbBundle.getMessage(RecentFilesNode.class, "RecentFilesNode.name.text"); private SleuthkitCase skCase; RecentFilesNode(SleuthkitCase skCase) { @@ -60,10 +61,10 @@ public class RecentFilesNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - NAME)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "RecentFilesNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "RecentFilesNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "RecentFilesNode.createSheet.name.desc"), + NAME)); return s; } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ResultsNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ResultsNode.java index cbd1d941ea..eb48ab3ff0 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ResultsNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ResultsNode.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.datamodel; import java.util.Arrays; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -28,7 +29,7 @@ import org.sleuthkit.datamodel.SleuthkitCase; */ public class ResultsNode extends DisplayableItemNode { - public static final String NAME = "Results"; + public static final String NAME = NbBundle.getMessage(ResultsNode.class, "ResultsNode.name.text"); public ResultsNode(SleuthkitCase sleuthkitCase) { super(new RootContentChildren(Arrays.asList(new ExtractedContent(sleuthkitCase), @@ -62,10 +63,10 @@ public class ResultsNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - NAME)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ResultsNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "ResultsNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "ResultsNode.createSheet.name.desc"), + NAME)); return s; } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/TagNameNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/TagNameNode.java index 38d140b039..eb6d09a4d0 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/TagNameNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/TagNameNode.java @@ -24,6 +24,7 @@ import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; @@ -40,9 +41,14 @@ public class TagNameNode extends DisplayableItemNode { private static final String ICON_PATH = "org/sleuthkit/autopsy/images/tag-folder-blue-icon-16.png"; private static final String BOOKMARK_TAG_ICON_PATH = "org/sleuthkit/autopsy/images/star-bookmark-icon-16.png"; private final TagName tagName; + private static final String CONTENT_TAG_TYPE_NODE_KEY = NbBundle.getMessage(TagNameNode.class, + "TagNameNode.contentTagTypeNodeKey.text"); + private static final String BLACKBOARD_ARTIFACT_TAG_TYPE_NODE_KEY = NbBundle.getMessage(TagNameNode.class, + "TagNameNode.bbArtTagTypeNodeKey.text"); public TagNameNode(TagName tagName) { - super(Children.create(new TagTypeNodeFactory(tagName), true), Lookups.singleton(tagName.getDisplayName() + " Tags")); + super(Children.create(new TagTypeNodeFactory(tagName), true), Lookups.singleton( + NbBundle.getMessage(TagNameNode.class, "TagNameNode.namePlusTags.text", tagName.getDisplayName()))); this.tagName = tagName; long tagsCount = 0; @@ -56,7 +62,7 @@ public class TagNameNode extends DisplayableItemNode { super.setName(tagName.getDisplayName()); super.setDisplayName(tagName.getDisplayName() + " (" + tagsCount + ")"); - if (tagName.getDisplayName().equals("Bookmark")) { + if (tagName.getDisplayName().equals(NbBundle.getMessage(this.getClass(), "TagNameNode.bookmark.text"))) { setIconBaseWithExtension(BOOKMARK_TAG_ICON_PATH); } else { @@ -73,7 +79,10 @@ public class TagNameNode extends DisplayableItemNode { propertySheet.put(properties); } - properties.put(new NodeProperty("Name", "Name", tagName.getDescription(), getName())); + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "TagNameNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "TagNameNode.createSheet.name.displayName"), + tagName.getDescription(), + getName())); return propertySheet; } @@ -91,8 +100,6 @@ public class TagNameNode extends DisplayableItemNode { } private static class TagTypeNodeFactory extends ChildFactory { - private static final String CONTENT_TAG_TYPE_NODE_KEY = "Content Tags"; - private static final String BLACKBOARD_ARTIFACT_TAG_TYPE_NODE_KEY = "Result Tags"; private final TagName tagName; TagTypeNodeFactory(TagName tagName) { @@ -108,14 +115,23 @@ public class TagNameNode extends DisplayableItemNode { @Override protected Node createNodeForKey(String key) { - switch (key) { - case CONTENT_TAG_TYPE_NODE_KEY: - return new ContentTagTypeNode(tagName); - case BLACKBOARD_ARTIFACT_TAG_TYPE_NODE_KEY: - return new BlackboardArtifactTagTypeNode(tagName); - default: - Logger.getLogger(TagNameNode.class.getName()).log(Level.SEVERE, "{0} not a recognized key", key); - return null; +// switch (key) { +// case CONTENT_TAG_TYPE_NODE_KEY: +// return new ContentTagTypeNode(tagName); +// case BLACKBOARD_ARTIFACT_TAG_TYPE_NODE_KEY: +// return new BlackboardArtifactTagTypeNode(tagName); +// default: +// Logger.getLogger(TagNameNode.class.getName()).log(Level.SEVERE, "{0} not a recognized key", key); +// return null; +// } + // converted switch to if/else due to non-constant strings in case key + if (CONTENT_TAG_TYPE_NODE_KEY.equals(key)) { + return new ContentTagTypeNode(tagName); + } else if (BLACKBOARD_ARTIFACT_TAG_TYPE_NODE_KEY.equals(key)) { + return new BlackboardArtifactTagTypeNode(tagName); + } else { + Logger.getLogger(TagNameNode.class.getName()).log(Level.SEVERE, "{0} not a recognized key", key); + return null; } } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/TagsNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/TagsNode.java index b9acc010e7..6b6569319a 100755 --- a/Core/src/org/sleuthkit/autopsy/datamodel/TagsNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/TagsNode.java @@ -24,6 +24,7 @@ import org.openide.nodes.ChildFactory; import org.openide.nodes.Children; import org.openide.nodes.Node; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.coreutils.Logger; @@ -37,7 +38,7 @@ import org.sleuthkit.datamodel.TskCoreException; * tag name. */ class TagsNode extends DisplayableItemNode { - private static final String DISPLAY_NAME = "Tags"; + private static final String DISPLAY_NAME = NbBundle.getMessage(TagsNode.class, "TagsNode.displayName.text"); private static final String ICON_PATH = "org/sleuthkit/autopsy/images/tag-folder-blue-icon-16.png"; public TagsNode() { @@ -66,7 +67,10 @@ import org.sleuthkit.datamodel.TskCoreException; propertySheet.put(properties); } - properties.put(new NodeProperty("Name", "Name", "", getName())); + properties.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "TagsNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "TagsNode.createSheet.name.displayName"), + "", + getName())); return propertySheet; } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ViewsNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ViewsNode.java index 1690eb310b..50473bb5db 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ViewsNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ViewsNode.java @@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.datamodel; import java.util.Arrays; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; import org.sleuthkit.datamodel.SleuthkitCase; @@ -30,7 +31,7 @@ import org.sleuthkit.datamodel.SleuthkitCase; */ public class ViewsNode extends DisplayableItemNode { - public static final String NAME = "Views"; + public static final String NAME = NbBundle.getMessage(ViewsNode.class, "ViewsNode.name.text"); public ViewsNode(SleuthkitCase sleuthkitCase) { super(new RootContentChildren(Arrays.asList( @@ -64,10 +65,10 @@ public class ViewsNode extends DisplayableItemNode { s.put(ss); } - ss.put(new NodeProperty("Name", - "Name", - "no description", - NAME)); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "ViewsNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "ViewsNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "ViewsNode.createSheet.name.desc"), + NAME)); return s; } } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/VirtualDirectoryNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/VirtualDirectoryNode.java index d1a66fd25c..400275f62b 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/VirtualDirectoryNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/VirtualDirectoryNode.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import javax.swing.Action; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.coreutils.ContextMenuExtensionPoint; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.directorytree.ExtractAction; @@ -77,7 +78,8 @@ public class VirtualDirectoryNode extends AbstractAbstractFileNode actions = new ArrayList<>(); - actions.add(new NewWindowViewAction("View in New Window", this)); + actions.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "VirtualDirectoryNode.getActions.viewInNewWin.text"), this)); actions.add(null); // creates a menu separator actions.add(ExtractAction.getInstance()); actions.add(null); // creates a menu separator @@ -97,9 +99,13 @@ public class VirtualDirectoryNode extends AbstractAbstractFileNode map = new LinkedHashMap(); fillPropertyMap(map, content); - ss.put(new NodeProperty("Name", "Name", "no description", getName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VirtualDirectoryNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), + "VirtualDirectoryNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "VirtualDirectoryNode.createSheet.name.desc"), + getName())); - final String NO_DESCR = "no description"; + final String NO_DESCR = NbBundle.getMessage(this.getClass(), "VirtualDirectoryNode.createSheet.noDesc"); for (Map.Entry entry : map.entrySet()) { ss.put(new NodeProperty(entry.getKey(), entry.getKey(), NO_DESCR, entry.getValue())); } diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java index 9e009a8f0a..26d7b8dde5 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/VolumeNode.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.List; import javax.swing.Action; import org.openide.nodes.Sheet; +import org.openide.util.NbBundle; import org.sleuthkit.autopsy.directorytree.ExplorerNodeActionVisitor; import org.sleuthkit.autopsy.directorytree.NewWindowViewAction; import org.sleuthkit.datamodel.Volume; @@ -70,7 +71,8 @@ public class VolumeNode extends AbstractContentNode { public Action[] getActions(boolean popup) { List actionsList = new ArrayList(); - actionsList.add(new NewWindowViewAction("View in New Window", this)); + actionsList.add(new NewWindowViewAction( + NbBundle.getMessage(this.getClass(), "VolumeNode.getActions.viewInNewWin.text"), this)); actionsList.addAll(ExplorerNodeActionVisitor.getActions(content)); return actionsList.toArray(new Action[0]); @@ -85,12 +87,30 @@ public class VolumeNode extends AbstractContentNode { s.put(ss); } - ss.put(new NodeProperty("Name", "Name", "no description", this.getDisplayName())); - ss.put(new NodeProperty("ID", "ID", "no description", content.getAddr())); - ss.put(new NodeProperty("Starting Sector", "Starting Sector", "no description", content.getStart())); - ss.put(new NodeProperty("Length in Sectors", "Length in Sectors", "no description", content.getLength())); - ss.put(new NodeProperty("Description", "Description", "no description", content.getDescription())); - ss.put(new NodeProperty("Flags", "Flags", "no description", content.getFlagsAsString())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.name.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.name.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.name.desc"), + this.getDisplayName())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.id.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.id.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.id.desc"), + content.getAddr())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.startSector.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.startSector.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.startSector.desc"), + content.getStart())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.lenSectors.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.lenSectors.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.lenSectors.desc"), + content.getLength())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.description.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.description.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.description.desc"), + content.getDescription())); + ss.put(new NodeProperty(NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.flags.name"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.flags.displayName"), + NbBundle.getMessage(this.getClass(), "VolumeNode.createSheet.flags.desc"), + content.getFlagsAsString())); return s; } From b82c5b8f321c4d1c692a6f33288839ca5f1a919c Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Fri, 28 Feb 2014 00:23:23 -0800 Subject: [PATCH 3/7] Started translation There were a few English texts that said "Can''t", so I changed it to "can't" --- .../autopsy/datamodel/Bundle.properties | 2 +- .../autopsy/datamodel/Bundle_ja.properties | 188 ++++++++++++++++++ 2 files changed, 189 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties index e22111e7c2..a14b5f8d58 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle.properties @@ -58,7 +58,7 @@ ContentTagNode.createSheet.comment.displayName=Comment ContentTagTypeNode.displayName.text=File Tags ContentTagTypeNode.createSheet.name.name=Name ContentTagTypeNode.createSheet.name.displayName=Name -ContentUtils.exception.msg=Can''t extract a {0} +ContentUtils.exception.msg=Can't extract a {0} DataModelActionsFactory.srcFileInDir.text=View Source File in Directory DataModelActionsFactory.fileInDir.text=View File in Directory DataModelActionsFactory.viewNewWin.text=View in New Window diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index e69de29bb2..748dfe25a6 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -0,0 +1,188 @@ +OpenIDE-Module-Name=\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\uFF1A +AbstractAbstractFileNode.nameColLbl=\u540D\u79F0 +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.groupidColLbl=\u30B0\u30EB\u30FC\u30D7ID +AbstractAbstractFileNode.knownColLbl=\u65E2\u77E5 +#todo checking the context +AbstractAbstractFileNode.inHashsetsColLbl=HashSet\u5185 +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\u305FDisplayableItem\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\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\u5165\u624B\u30A8\u30E9\u30FC +ArtifactStringContent.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +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 +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 +BlackboardArtifactNode.createSheet.ext.displayName=\u62E1\u5F35\u5B50 +BlackboardArtifactNode.createSheet.mimeType.name=MIME\u30BF\u30A4\u30D7 +BlackboardArtifactNode.createSheet.mimeType.displayName=MIME\u30BF\u30A4\u30D7 +BlackboardArtifactNode.createSheet.filePath.name=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9 +BlackboardArtifactNode.createSheet.filePath.displayName=\u30D5\u30A1\u30A4\u30EB\u30D1\u30B9 +BlackboardArtifactNode.createSheet.dataSrc.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 +BlackboardArtifactNode.createSheet.dataSrc.displayName=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 +BlackboardArtifactNode.getAssocCont.exception.msg=\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u5165\u624B\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F +BlackboardArtifactTagNode.createSheet.srcFile.text=\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB +BlackboardArtifactTagNode.createSheet.unavail.text=\u4F7F\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 +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.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 +ContentTagTypeNode.displayName.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30B0 +ContentTagTypeNode.createSheet.name.name=\u540D\u79F0 +ContentTagTypeNode.createSheet.name.displayName=\u540D\u79F0 +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 +DataModelActionsFactory.srfFileSameMD5.text=\u540C\u3058MD5\u30CF\u30C3\u30B7\u30E5\u3092\u6301\u3064\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22 +DataSourcesNode.name=\u30C7\u30FC\u30BF\u30BD\u30FC\u30B9 +DataSourcesNode.createSheet.name.name=\u540D\u79F0 +DataSourcesNode.createSheet.name.displayName=\u540D\u79F0 +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.name=\u540D\u79F0 +DeletedContent.createSheet.name.displayName=\u540D\u79F0 +DeletedContent.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +DeletedContent.createSheet.filterType.name=\u30D5\u30A1\u30A4\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\u3067\u304D\u308B\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\u3067\u304D\u308B\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\u30FC] +DirectoryNode.curFolder.text=[\u73FE\u5728\u306E\u30D5\u30A9\u30EB\u30C0\u30FC] +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 +EmailExtracted.mailAccount.text=\u30A2\u30AB\u30A6\u30F3\u30C8 +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\u79F0 +EmailExtracted.createSheet.name.displayName=\u540D\u79F0 +EmailExtracted.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +ExtractedContentNode.name.text=\u62BD\u51FA\u3055\u308C\u305F\u30B3\u30F3\u30C6\u30F3\u30C4 +ExtractedContentNode.createSheet.name.name=\u540D\u79F0 +ExtractedContentNode.createSheet.name.displayName=\u540D\u79F0 +ExtractedContentNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +FileNode.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 +FileSize.fileSizeRootNode.name=\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA +FileSize.createSheet.name.name=\u540D\u79F0 +FileSize.createSheet.name.displayName=\u540D\u79F0 +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\u3067\u304D\u308B\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\u3067\u304D\u308B\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0} +FileTypeExtensionFilters.tskImgFilter.text=\u753B\u50CF +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\u53EF\u80FD +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 +FileTypeNode.createSheet.filterType.name=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7 +FileTypeNode.createSheet.filterType.displayName=\u30D5\u30A3\u30EB\u30BF\u30FC\u30BF\u30A4\u30D7 +FileTypeNode.createSheet.filterType.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +FileTypeNode.createSheet.fileExt.name=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50 +FileTypeNode.createSheet.fileExt.displayName=\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50 +FileTypeNode.createSheet.fileExt.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +FileTypesNode.fname.text=\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7 +FileTypesNode.createSheet.name.name=\u540D\u79F0 +FileTypesNode.createSheet.name.displayName=\u540D\u79F0 +FileTypesNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +HashsetHits.createSheet.name.name=\u540D\u79F0 +HashsetHits.createSheet.name.displayName=\u540D\u79F0 +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\u3092\u3082\u3068\u306B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F +ImageNode.createSheet.name.name=\u540D\u79F0 +ImageNode.createSheet.name.displayName=\u540D\u79F0 +ImageNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +#todo think of better translation +Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u306F +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\uFF1A\ +\ +\u8A73\u7D30\uFF1A {0} +Installer.tskLibErr.err=\u81F4\u547D\u7684\u30A8\u30E9\u30FC\uFF1A +InterestingHits.interestingItems.text=\u602A\u3057\u3044\u30A2\u30A4\u30C6\u30E0 +InterestingHits.displayName.text=\u602A\u3057\u3044\u30A2\u30A4\u30C6\u30E0 +InterestingHits.createSheet.name.name=\u540D\u79F0 +InterestingHits.createSheet.name.displayName=\u540D\u79F0 +InterestingHits.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +KeyValueNode.createSheet.name.name=\u540D\u79F0 +KeyValueNode.createSheet.name.displayName=\u540D\u79F0 +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\u79F0 +KeywordHits.createSheet.name.displayName=\u540D\u79F0 +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= +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 +LayoutFileNode.propertyType.parts=\u30D1\u30FC\u30C4 +LayoutFileNode.createSheet.name.name=\u540D\u79F0 +LayoutFileNode.createSheet.name.displayName=\u540D\u79F0 +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 +LocalFileNode.createSheet.name.name=\u540D\u79F0 +LocalFileNode.createSheet.name.displayName=\u540D\u79F0 +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 +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 \ No newline at end of file From cacfbcdd84a7f3dd4dd534d2db59e31e51b5caf9 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Sun, 2 Mar 2014 11:56:14 -0800 Subject: [PATCH 4/7] Worked on translation. Still few lines to complete. --- .../autopsy/datamodel/Bundle_ja.properties | 81 ++++++++++++++++--- 1 file changed, 69 insertions(+), 12 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index 748dfe25a6..99a1d0209e 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -1,4 +1,4 @@ -OpenIDE-Module-Name=\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB\uFF1A +OpenIDE-Module-Name=\u30C7\u30FC\u30BF\u30E2\u30C7\u30EB AbstractAbstractFileNode.nameColLbl=\u540D\u79F0 AbstractAbstractFileNode.locationColLbl=\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3 AbstractAbstractFileNode.modifiedTimeColLbl=\u4FEE\u6B63\u65E5\u6642 @@ -10,11 +10,10 @@ AbstractAbstractFileNode.modeColLbl=\u30E2\u30FC\u30C9 AbstractAbstractFileNode.useridColLbl=\u30E6\u30FC\u30B6ID AbstractAbstractFileNode.groupidColLbl=\u30B0\u30EB\u30FC\u30D7ID AbstractAbstractFileNode.knownColLbl=\u65E2\u77E5 -#todo checking the context -AbstractAbstractFileNode.inHashsetsColLbl=HashSet\u5185 +AbstractAbstractFileNode.inHashsetsColLbl=HashSet\u306B\u5B58\u5728 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\u305FDisplayableItem\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\u306E\u30CE\u30FC\u30C9\u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\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 @@ -69,8 +68,8 @@ DeletedContent.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\ DeletedContent.createSheet.filterType.name=\u30D5\u30A1\u30A4\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\u3067\u304D\u308B\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\u3067\u304D\u308B\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0} +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\u30FC] DirectoryNode.curFolder.text=[\u73FE\u5728\u306E\u30D5\u30A9\u30EB\u30C0\u30FC] DirectoryNode.getActions.viewFileInDir.text=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u5185\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8868\u793A @@ -97,8 +96,8 @@ 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\u3067\u304D\u308B\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\u3067\u304D\u308B\u30A2\u30A4\u30C6\u30E0\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\uFF1A{0} +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=\u753B\u50CF FileTypeExtensionFilters.tskVideoFilter.text=\u30D3\u30C7\u30AA FileTypeExtensionFilters.tskAudioFilter.text=\u30AA\u30FC\u30C7\u30A3\u30AA @@ -124,12 +123,11 @@ HashsetHits.createSheet.name.name=\u540D\u79F0 HashsetHits.createSheet.name.displayName=\u540D\u79F0 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\u3092\u3082\u3068\u306B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F +ImageNode.getActions.openFileSearchByAttr.text=\u5C5E\u6027\u306B\u3088\u308B\u30D5\u30A1\u30A4\u30EB\u691C\u7D22\u3092\u958B\u304F ImageNode.createSheet.name.name=\u540D\u79F0 ImageNode.createSheet.name.displayName=\u540D\u79F0 ImageNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 -#todo think of better translation -Installer.exception.tskVerStringNull.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u306F +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\uFF1A\ \ \u8A73\u7D30\uFF1A {0} @@ -185,4 +183,63 @@ 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 \ No newline at end of file +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 +Installer.exception.taskVerStringBang.msg=Sleuth Kit JNI\u30C6\u30B9\u30C8\u30B3\u30FC\u30EB\u3067\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 +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 +RecentFilesNode.createSheet.name.name=\u540D\u79F0 +RecentFilesNode.createSheet.name.displayName=\u540D\u79F0 +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\u79F0 +ResultsNode.createSheet.name.displayName=\u540D\u79F0 +ResultsNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +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 +TagNameNode.createSheet.name.name=\u540D\u79F0 +TagNameNode.createSheet.name.displayName=\u540D\u79F0 +TagsNode.displayName.text=\u30BF\u30B0 +TagsNode.createSheet.name.name=\u540D\u79F0 +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\u79F0 +ViewsNode.name.text=\u30D3\u30E5\u30FC +ViewsNode.createSheet.name.name=\u540D\u79F0 +ViewsNode.createSheet.name.displayName=\u540D\u79F0 +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 +VirtualDirectoryNode.createSheet.name.name=\u540D\u79F0 +VirtualDirectoryNode.createSheet.name.displayName=\u540D\u79F0 +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 +VolumeNode.createSheet.name.name=\u540D\u79F0 +VolumeNode.createSheet.name.displayName=\u540D\u79F0 +VolumeNode.createSheet.name.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +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.description.name=\u8AAC\u660E +VolumeNode.createSheet.description.displayName=\u8AAC\u660E +VolumeNode.createSheet.description.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u3093 +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=\u6210\u679C\u7269\u30BF\u30A4\u30D7 +ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7 \ No newline at end of file From adbd3567b4868c5be3b13116426424fcbb7ae2a1 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Mon, 3 Mar 2014 13:32:44 -0800 Subject: [PATCH 5/7] Translation almost complete. 2 more lines. --- Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index 99a1d0209e..eb1ef70a7a 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -242,4 +242,6 @@ 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=\u6210\u679C\u7269\u30BF\u30A4\u30D7 -ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7 \ No newline at end of file +ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7 +KeywordHits.createSheet.numChildren.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 +KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 \ No newline at end of file From bc218f6dbaa135a5cc78a0a406f5693899a3a00f Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Tue, 4 Mar 2014 10:52:41 -0800 Subject: [PATCH 6/7] Still clarifying one more module. --- .../src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index eb1ef70a7a..8c419ce61a 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -244,4 +244,7 @@ VolumeNode.createSheet.flags.desc=\u8AAC\u660E\u304C\u3042\u308A\u307E\u305B\u30 ArtifactTypeNode.createSheet.artType.name=\u6210\u679C\u7269\u30BF\u30A4\u30D7 ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7 KeywordHits.createSheet.numChildren.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 -KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 \ No newline at end of file +KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 +#todo check meaning +KeywordHits.simpleLiteralSearch.text= +KeywordHits.singleRegexSearch.text=\u30B7\u30F3\u30B0\u30EB\u6B63\u898F\u8868\u73FE\u691C\u7D22 \ No newline at end of file From 4feba902837411579740ae5ae8d2de41e6de9673 Mon Sep 17 00:00:00 2001 From: Kay Bassi Date: Tue, 4 Mar 2014 12:59:14 -0800 Subject: [PATCH 7/7] Completed translation for core-datamodel --- Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties index 8c419ce61a..3f672341fa 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties +++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ja.properties @@ -245,6 +245,5 @@ ArtifactTypeNode.createSheet.artType.name=\u6210\u679C\u7269\u30BF\u30A4\u30D7 ArtifactTypeNode.createSheet.artType.displayName=\u6210\u679C\u7269\u30BF\u30A4\u30D7 KeywordHits.createSheet.numChildren.name=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 KeywordHits.createSheet.numChildren.displayName=\u30C1\u30E3\u30A4\u30EB\u30C9\u6570 -#todo check meaning -KeywordHits.simpleLiteralSearch.text= +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 \ No newline at end of file