diff --git a/src/main/java/org/codelibs/fess/entity/FacetQueryView.java b/src/main/java/org/codelibs/fess/entity/FacetQueryView.java index cfeca2ef8..867275076 100644 --- a/src/main/java/org/codelibs/fess/entity/FacetQueryView.java +++ b/src/main/java/org/codelibs/fess/entity/FacetQueryView.java @@ -19,6 +19,7 @@ import java.util.Collection; import java.util.LinkedHashMap; import java.util.Locale; import java.util.Map; +import java.util.ResourceBundle; import javax.annotation.PostConstruct; @@ -36,13 +37,19 @@ public class FacetQueryView { @PostConstruct public void init() { final String filetypeField = ComponentUtil.getFessConfig().getIndexFieldFiletype(); - Collection values = queryMap.values(); + final Collection values = queryMap.values(); if (values.stream().anyMatch(s -> s.startsWith(filetypeField))) { + final ResourceBundle resources = ResourceBundle.getBundle("fess_label", Locale.ENGLISH); final String[] fileTypes = ComponentUtil.getFileTypeHelper().getTypes(); - for (String fileType : fileTypes) { + for (final String fileType : fileTypes) { final String value = filetypeField + ":" + fileType; if (!values.contains(value)) { - queryMap.put(fileType.toUpperCase(Locale.ROOT), value); + final String key = "labels.facet_filetype_" + fileType; + if (resources.containsKey(key)) { + queryMap.put(key, value); + } else { + queryMap.put(fileType.toUpperCase(Locale.ROOT), value); + } } } queryMap.remove("labels.facet_filetype_others"); diff --git a/src/main/java/org/codelibs/fess/helper/FileTypeHelper.java b/src/main/java/org/codelibs/fess/helper/FileTypeHelper.java index d70363671..65173340d 100644 --- a/src/main/java/org/codelibs/fess/helper/FileTypeHelper.java +++ b/src/main/java/org/codelibs/fess/helper/FileTypeHelper.java @@ -15,7 +15,7 @@ */ package org.codelibs.fess.helper; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import javax.annotation.PostConstruct; @@ -32,7 +32,7 @@ public class FileTypeHelper { protected String defaultValue = "others"; - protected Map mimetypeMap = new HashMap<>(); + protected Map mimetypeMap = new LinkedHashMap<>(); @PostConstruct public void init() { diff --git a/src/main/resources/app.xml b/src/main/resources/app.xml index fbd7d62d4..ce017ef6a 100644 --- a/src/main/resources/app.xml +++ b/src/main/resources/app.xml @@ -167,138 +167,10 @@ "labels.facet_filetype_pdf" "filetype:pdf" - - "labels.facet_filetype_fb2" - "filetype:fb2" - - - "labels.facet_filetype_epub" - "filetype:epub" - - - "labels.facet_filetype_ibooks" - "filetype:ibooks" - "labels.facet_filetype_txt" "filetype:txt" - - "labels.facet_filetype_rtf" - "filetype:rtf" - - - "labels.facet_filetype_chm" - "filetype:chm" - - - "labels.facet_filetype_zip" - "filetype:zip" - - - "labels.facet_filetype_7z" - "filetype:7z" - - - "labels.facet_filetype_bz" - "filetype:bz" - - - "labels.facet_filetype_bz2" - "filetype:bz2" - - - "labels.facet_filetype_tar" - "filetype:tar" - - - "labels.facet_filetype_rar" - "filetype:rar" - - - "labels.facet_filetype_3gp" - "filetype:3gp" - - - "labels.facet_filetype_3g2" - "filetype:3g2" - - - "labels.facet_filetype_avi" - "filetype:avi" - - - "labels.facet_filetype_flv" - "filetype:flv" - - - "labels.facet_filetype_mpeg" - "filetype:mpeg" - - - "labels.facet_filetype_mp4" - "filetype:mp4" - - - "labels.facet_filetype_ogv" - "filetype:ogv" - - - "labels.facet_filetype_qt" - "filetype:qt" - - - "labels.facet_filetype_m4v" - "filetype:m4v" - - - "labels.facet_filetype_aif" - "filetype:aif" - - - "labels.facet_filetype_mid" - "filetype:midi" - - - "labels.facet_filetype_mpga" - "filetype:mpga" - - - "labels.facet_filetype_ogg" - "filetype:ogg" - - - "labels.facet_filetype_wav" - "filetype:wav" - - - "labels.facet_filetype_webp" - "filetype:webp" - - - "labels.facet_filetype_bmp" - "filetype:bmp" - - - "labels.facet_filetype_ico" - "filetype:ico" - - - "labels.facet_filetype_png" - "filetype:png" - - - "labels.facet_filetype_svg" - "filetype:svg" - - - "labels.facet_filetype_tiff" - "filetype:tiff" - - - "labels.facet_filetype_jpg" - "filetype:jpg" - "labels.facet_filetype_others" "filetype:others" diff --git a/src/main/resources/fess_label.properties b/src/main/resources/fess_label.properties index 995e4f7da..b1c98fa76 100644 --- a/src/main/resources/fess_label.properties +++ b/src/main/resources/fess_label.properties @@ -278,7 +278,7 @@ labels.facet_filetype_ogg=OGG Audio labels.facet_filetype_wav=WAV Audio labels.facet_filetype_webp=WebP Audio labels.facet_filetype_aif=AIF Audio -labels.facet_filetype_mid=MIDI Audio +labels.facet_filetype_midi=MIDI Audio labels.facet_filetype_mpga=MPGA Audio labels.facet_filetype_mp4a=MP4A Audio labels.facet_filetype_oga=OGA Audio diff --git a/src/main/resources/fess_label_de.properties b/src/main/resources/fess_label_de.properties index 222f1368f..d72cc6a85 100644 --- a/src/main/resources/fess_label_de.properties +++ b/src/main/resources/fess_label_de.properties @@ -268,7 +268,7 @@ labels.facet_filetype_ogg=OGG Audio labels.facet_filetype_wav=WAV Audio labels.facet_filetype_webp=WebP Audio labels.facet_filetype_aif=AIF Audio -labels.facet_filetype_mid=MIDI Audio +labels.facet_filetype_midi=MIDI Audio labels.facet_filetype_mpga=MPGA Audio labels.facet_filetype_mp4a=MP4A Audio labels.facet_filetype_oga=OGA Audio diff --git a/src/main/resources/fess_label_en.properties b/src/main/resources/fess_label_en.properties index 995e4f7da..b1c98fa76 100644 --- a/src/main/resources/fess_label_en.properties +++ b/src/main/resources/fess_label_en.properties @@ -278,7 +278,7 @@ labels.facet_filetype_ogg=OGG Audio labels.facet_filetype_wav=WAV Audio labels.facet_filetype_webp=WebP Audio labels.facet_filetype_aif=AIF Audio -labels.facet_filetype_mid=MIDI Audio +labels.facet_filetype_midi=MIDI Audio labels.facet_filetype_mpga=MPGA Audio labels.facet_filetype_mp4a=MP4A Audio labels.facet_filetype_oga=OGA Audio diff --git a/src/main/resources/fess_label_ja.properties b/src/main/resources/fess_label_ja.properties index 723ce9ace..4bd50e7ac 100644 --- a/src/main/resources/fess_label_ja.properties +++ b/src/main/resources/fess_label_ja.properties @@ -270,7 +270,7 @@ labels.facet_filetype_ogg=OGGオーディオ labels.facet_filetype_wav=WAVオーディオ labels.facet_filetype_webp=WebPオーディオ labels.facet_filetype_aif=AIFオーディオ -labels.facet_filetype_mid=MIDIオーディオ +labels.facet_filetype_midi=MIDIオーディオ labels.facet_filetype_mpga=MPGAオーディオ labels.facet_filetype_mp4a=MP4Aオーディオ labels.facet_filetype_oga=OGAオーディオ diff --git a/src/main/resources/fess_label_ko.properties b/src/main/resources/fess_label_ko.properties index b63839e56..79d6135cf 100644 --- a/src/main/resources/fess_label_ko.properties +++ b/src/main/resources/fess_label_ko.properties @@ -254,7 +254,7 @@ labels.facet_filetype_m4v = M4V 비디오 labels.facet_filetype_ogg = OGG 오디오 labels.facet_filetype_wav = WAV 오디오 labels.facet_filetype_aif = AIF 오디오 -labels.facet_filetype_mid = MIDI 오디오 +labels.facet_filetype_midi = MIDI 오디오 labels.facet_filetype_mpga = MPGA 오디오 labels.facet_filetype_mp4a = MP4A 오디오 labels.facet_filetype_oga = OGA 오디오 diff --git a/src/main/resources/fess_label_ru.properties b/src/main/resources/fess_label_ru.properties index 67da6d11e..ced4c6b1e 100644 --- a/src/main/resources/fess_label_ru.properties +++ b/src/main/resources/fess_label_ru.properties @@ -257,7 +257,7 @@ labels.facet_filetype_ogg=OGG Audio labels.facet_filetype_wav=WAV Audio labels.facet_filetype_webp=WebP Audio labels.facet_filetype_aif=AIF Audio -labels.facet_filetype_mid=MIDI Audio +labels.facet_filetype_midi=MIDI Audio labels.facet_filetype_mpga=MPGA Audio labels.facet_filetype_mp4a=MP4A Audio labels.facet_filetype_oga=OGA Audio