Solar grand fix.

master
Luka 5 years ago
parent 9ee5ab9afc
commit 2d7d5169cc

@ -306,7 +306,8 @@ public class XML_processing {
List<Sentence> corpus = new ArrayList<>(); List<Sentence> corpus = new ArrayList<>();
// used for filter // used for filter
Set<String> headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto")); // Set<String> headTags = new HashSet<>(Arrays.asList("sola", "predmet", "razred", "regija", "tip", "leto"));
Set<String> headTags = new HashSet<>(Arrays.asList(SOLA, PREDMET, RAZRED, REGIJA, TIP, LETO));
Map<String, String> headBlock = null; Map<String, String> headBlock = null;
boolean includeThisBlock = false; boolean includeThisBlock = false;
@ -356,36 +357,36 @@ public class XML_processing {
String qName = startElement.getName().getLocalPart(); String qName = startElement.getName().getLocalPart();
// "word" node // "word" node
if (qName.equals("w3")) { if (qName.equals("w3") || qName.equals("w1") || qName.equals("w")) {
in_word = true; in_word = true;
msd = String.valueOf(startElement.getAttributeByName(QName.valueOf("msd")).getValue()); msd = String.valueOf(startElement.getAttributeByName(QName.valueOf("msd")).getValue());
lemma = String.valueOf(startElement.getAttributeByName(QName.valueOf("lemma")).getValue()); lemma = String.valueOf(startElement.getAttributeByName(QName.valueOf("lemma")).getValue());
} else if (qName.equals("c3")) { } else if (qName.equals("c3") || qName.equals("c1") || qName.equals("c")) {
String c3Content = eventReader.nextEvent().asCharacters().getData(); String c3Content = eventReader.nextEvent().asCharacters().getData();
if(stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() && if (stats.getFilter().getNgramValue() > 1 && stats.getFilter().getNotePunctuations() &&
stavek.size() > 0){ stavek.size() > 0) {
stavek.add(createWord(c3Content, c3Content, "/", "", stats.getFilter())); stavek.add(createWord(c3Content, c3Content, "/", "", stats.getFilter()));
} }
if (c3Content.equals(".") && includeThisBlock) { } else if ((qName.equals("st1") && startElement.getAttributeByName(QName.valueOf("tip")).getValue().equals("0")) || qName.equals("s")) {
if (stats.getFilter().getNgramValue() == 0){ if (stats.getFilter().getNgramValue() == 0){
int numSentenceParts = 0; int numSentenceParts = 0;
for(Word w : stavek){ for(Word w : stavek){
int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1); int v = w.getW1().length() - (stats.getFilter().getStringLength() - 1);
numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts; numSentenceParts = (v >= 0) ? (numSentenceParts + v) : numSentenceParts;
}
stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>());
} else if(stats.getFilter().getNgramValue() >= 1) {
stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>());
} }
stats.updateUniGramOccurrences(numSentenceParts, new ArrayList<>());
} else if(stats.getFilter().getNgramValue() >= 1) {
stats.updateUniGramOccurrences(stavek.size(), new ArrayList<>());
}
if(includeThisBlock) {
// add sentence to corpus // add sentence to corpus
corpus.add(new Sentence(stavek, null)); corpus.add(new Sentence(stavek, null));
// and start a new one // and start a new one
stavek = new ArrayList<>();
/* Invoke Fork-Join when we reach maximum limit of /* Invoke Fork-Join when we reach maximum limit of
* sentences (because we can't read everything to * sentences (because we can't read everything to
@ -398,11 +399,28 @@ public class XML_processing {
corpus.clear(); corpus.clear();
} }
} }
} else if (headTags.contains(qName)) { stavek = new ArrayList<>();
String tagContent = eventReader.nextEvent().asCharacters().getData();
headBlock.put(qName, tagContent);
} else if (qName.equals("head")) { } else if (qName.equals("head")) {
headBlock = new HashMap<>(); headBlock = new HashMap<>();
} else { // if (headTags.contains(qName)) {
boolean inHeadTags = false;
String headTag = "";
for (String tag : headTags){
if(I18N.getDefaultLocaleItem(tag).equals(qName)){
inHeadTags = true;
headTag = tag;
break;
}
}
if(inHeadTags) {
String tagContent = eventReader.nextEvent().asCharacters().getData();
headBlock.put(headTag, tagContent);
// String tagContent = xmlEventReader.nextEvent().asCharacters().getData();
// resultFilters.get(headTag).add(tagContent);
}
} }
break; break;
@ -429,6 +447,7 @@ public class XML_processing {
} else if (qNameEnd.equals("body")) { } else if (qNameEnd.equals("body")) {
// new block, reset filter status // new block, reset filter status
includeThisBlock = false; includeThisBlock = false;
stavek = new ArrayList<>();
} }
// backup // backup
@ -470,6 +489,9 @@ public class XML_processing {
//noinspection unchecked //noinspection unchecked
for (String value : valueObject) { for (String value : valueObject) {
pass = validateHeadBlockEntry(readHeadBlock, key, value); pass = validateHeadBlockEntry(readHeadBlock, key, value);
if (pass){
break;
}
} }
} }
@ -635,9 +657,22 @@ public class XML_processing {
.replace("#", ""); .replace("#", "");
resultTaxonomy.add(tax); resultTaxonomy.add(tax);
} else if (!parseTaxonomy && headTags.contains(elementName)) { // solar
String tagContent = xmlEventReader.nextEvent().asCharacters().getData(); // } else if (!parseTaxonomy && headTags.contains(elementName)) {
resultFilters.get(elementName).add(tagContent); } else if (!parseTaxonomy) {
boolean inHeadTags = false;
String headTag = "";
for (String tag : headTags){
if(I18N.getDefaultLocaleItem(tag).equals(elementName)){
inHeadTags = true;
headTag = tag;
break;
}
}
if(inHeadTags) {
String tagContent = xmlEventReader.nextEvent().asCharacters().getData();
resultFilters.get(headTag).add(tagContent);
}
} }
} }
} else if (xmlEvent.isEndElement() && corpusIsSplit && isEndElementEndOfHeader(xmlEvent, headTagName)) { } else if (xmlEvent.isEndElement() && corpusIsSplit && isEndElementEndOfHeader(xmlEvent, headTagName)) {

@ -30,6 +30,7 @@ public class Corpus {
private ArrayList<Taxonomy> taxonomy; // if gigafida or gos private ArrayList<Taxonomy> taxonomy; // if gigafida or gos
private Taxonomy taxonomyTotal; private Taxonomy taxonomyTotal;
private HashMap<String, ObservableList<String>> solarFilters; // if solar private HashMap<String, ObservableList<String>> solarFilters; // if solar
public HashMap<String, ObservableList<String>> solarSelectedFilters; // if solar selected
private HashMap<String, HashSet<String>> solarFiltersForXML; // if solar - used while parsing xml private HashMap<String, HashSet<String>> solarFiltersForXML; // if solar - used while parsing xml
private boolean gosOrthMode; private boolean gosOrthMode;
boolean hasMsdData; boolean hasMsdData;
@ -98,8 +99,10 @@ public class Corpus {
public ObservableList<String> getObservableListTaxonomy() { public ObservableList<String> getObservableListTaxonomy() {
ArrayList<String> al = new ArrayList<>(); ArrayList<String> al = new ArrayList<>();
for (Taxonomy t : this.taxonomy){ if(taxonomy != null) {
al.add(t.toLongNameString()); for (Taxonomy t : this.taxonomy) {
al.add(t.toLongNameString());
}
} }
return FXCollections.observableArrayList(al); return FXCollections.observableArrayList(al);
} }
@ -126,6 +129,15 @@ public class Corpus {
logger.info("Corpus.set: ", solarFilters); logger.info("Corpus.set: ", solarFilters);
} }
public HashMap<String, ObservableList<String>> getSolarSelectedFilters() {
return solarSelectedFilters;
}
public void setSolarSelectedFilters(HashMap<String, ObservableList<String>> solarFilters) {
this.solarSelectedFilters = solarFilters;
logger.info("Corpus.set: ", solarFilters);
}
public HashMap<String, HashSet<String>> getSolarFiltersForXML() { public HashMap<String, HashSet<String>> getSolarFiltersForXML() {
return solarFiltersForXML; return solarFiltersForXML;
} }

@ -9,12 +9,12 @@ import javafx.collections.ObservableList;
public class SolarFilters { public class SolarFilters {
private static HashMap<String, ObservableList<String>> SOLAR_FILTERS; private static HashMap<String, ObservableList<String>> SOLAR_FILTERS;
public static final String SOLA = "sola"; public static final String SOLA = "filter.solarSola";
public static final String PREDMET = "predmet"; public static final String PREDMET = "filter.solarPredmet";
public static final String RAZRED = "razred"; public static final String RAZRED = "filter.solarRazred";
public static final String REGIJA = "regija"; public static final String REGIJA = "filter.solarRegija";
public static final String TIP = "tip"; public static final String TIP = "filter.solarVrstaBesedila";
public static final String LETO = "leto"; public static final String LETO = "filter.solarLeto";
static { static {
SOLAR_FILTERS = new HashMap<>(); SOLAR_FILTERS = new HashMap<>();

@ -636,13 +636,13 @@ public class StatisticsNew {
info.put(I18N.get("exportHeader.minTaxonomies"), String.valueOf(filter.getMinimalTaxonomy())); info.put(I18N.get("exportHeader.minTaxonomies"), String.valueOf(filter.getMinimalTaxonomy()));
if (corpus.getCorpusType() == CorpusType.SOLAR) { if (corpus.getCorpusType() == CorpusType.SOLAR) {
HashMap<String, ObservableList<String>> filters = corpus.getSolarFilters(); HashMap<String, ObservableList<String>> filters = corpus.getSolarSelectedFilters();
if (!isEmpty(filters)) { if (!isEmpty(filters)) {
info.put(I18N.get("exportHeader.additionalFilters"), ""); info.put(I18N.get("exportHeader.additionalFilters"), "");
for (Map.Entry<String, ObservableList<String>> f : filters.entrySet()) { for (Map.Entry<String, ObservableList<String>> f : filters.entrySet()) {
info.put(f.getKey(), StringUtils.join(f.getValue(), ", ")); info.put(I18N.get(f.getKey() + "L"), StringUtils.join(f.getValue(), ", "));
} }
} }
} }

@ -14,6 +14,8 @@ import javafx.collections.ObservableList;
import javafx.concurrent.Task; import javafx.concurrent.Task;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.*; import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.Pane; import javafx.scene.layout.Pane;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -37,7 +39,7 @@ public class CharacterAnalysisTab {
public AnchorPane characterAnalysisTab; public AnchorPane characterAnalysisTab;
@FXML @FXML
public Label selectedFiltersLabel; public TextArea selectedFiltersTextArea;
@FXML @FXML
public Label stringLengthL; public Label stringLengthL;
@ -150,6 +152,13 @@ public class CharacterAnalysisTab {
@FXML @FXML
private Hyperlink helpH; private Hyperlink helpH;
@FXML
private Image image;
@FXML
private ImageView imageView;
private enum MODE { private enum MODE {
LETTER LETTER
} }
@ -257,7 +266,7 @@ public class CharacterAnalysisTab {
boolean changing = true; boolean changing = true;
@Override @Override
public void onChanged(ListChangeListener.Change<? extends String> c){ public void onChanged(Change<? extends String> c){
if(changing) { if(changing) {
ObservableList<String> checkedItems = taxonomyCCB.getCheckModel().getCheckedItems(); ObservableList<String> checkedItems = taxonomyCCB.getCheckModel().getCheckedItems();
// ArrayList<Taxonomy> checkedItemsTaxonomy = Taxonomy.convertStringListToTaxonomyList(checkedItems); // ArrayList<Taxonomy> checkedItemsTaxonomy = Taxonomy.convertStringListToTaxonomyList(checkedItems);
@ -327,11 +336,11 @@ public class CharacterAnalysisTab {
if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isEmpty(value)) {
if (!ValidationUtil.isNumber(value)) { if (!ValidationUtil.isNumber(value)) {
logAlert("stringlengthTf: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); logAlert("stringlengthTf: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
} }
stringLength = Integer.parseInt(value); stringLength = Integer.parseInt(value);
} else { } else {
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH")); showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_MISSING_STRING_LENGTH"));
stringLengthTF.setText("1"); stringLengthTF.setText("1");
logAlert(I18N.get("message.WARNING_MISSING_STRING_LENGTH")); logAlert(I18N.get("message.WARNING_MISSING_STRING_LENGTH"));
} }
@ -354,7 +363,7 @@ public class CharacterAnalysisTab {
if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isEmpty(value)) {
if (!ValidationUtil.isNumber(value)) { if (!ValidationUtil.isNumber(value)) {
logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); logAlert("minimalOccurrencesTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
} else { } else {
minimalOccurrences = Integer.parseInt(value); minimalOccurrences = Integer.parseInt(value);
} }
@ -372,7 +381,7 @@ public class CharacterAnalysisTab {
if (!ValidationUtil.isEmpty(value)) { if (!ValidationUtil.isEmpty(value)) {
if (!ValidationUtil.isNumber(value)) { if (!ValidationUtil.isNumber(value)) {
logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); logAlert("minimalTaxonomyTF: " + I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
GUIController.showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED")); showAlert(Alert.AlertType.ERROR, I18N.get("message.WARNING_ONLY_NUMBERS_ALLOWED"));
} else { } else {
minimalTaxonomy = Integer.parseInt(value); minimalTaxonomy = Integer.parseInt(value);
} }
@ -511,6 +520,10 @@ public class CharacterAnalysisTab {
minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences")); minimalOccurrencesL.textProperty().bind(I18N.createStringBinding("label.minimalOccurrences"));
minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy")); minimalTaxonomyL.textProperty().bind(I18N.createStringBinding("label.minimalTaxonomy"));
Tooltip tooltip = new Tooltip();
tooltip.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH"));
// new Tooltip(I18N.get("label.letter.stringLengthH"))
Tooltip.install(imageView, tooltip);
stringLengthLH.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH")); stringLengthLH.textProperty().bind(I18N.createStringBinding("label.letter.stringLengthH"));
calculateForLH.textProperty().bind(I18N.createStringBinding("label.letter.calculateForH")); calculateForLH.textProperty().bind(I18N.createStringBinding("label.letter.calculateForH"));
displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.displayTaxonomyH")); displayTaxonomyLH.textProperty().bind(I18N.createStringBinding("label.letter.displayTaxonomyH"));
@ -624,11 +637,11 @@ public class CharacterAnalysisTab {
public void setSelectedFiltersLabel(String content) { public void setSelectedFiltersLabel(String content) {
if (content != null) { if (content != null) {
solarFilters.setVisible(true); solarFilters.setVisible(true);
selectedFiltersLabel.setVisible(true); selectedFiltersTextArea.setVisible(true);
selectedFiltersLabel.setText(content); selectedFiltersTextArea.setText(content);
} else { } else {
solarFilters.setVisible(false); solarFilters.setVisible(false);
selectedFiltersLabel.setVisible(false); selectedFiltersTextArea.setVisible(false);
} }
} }

@ -2,13 +2,14 @@ package gui;
import static data.Enums.solar.SolarFilters.*; import static data.Enums.solar.SolarFilters.*;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import javafx.application.HostServices; import javafx.application.HostServices;
import javafx.scene.control.Button;
import javafx.scene.control.Hyperlink; import javafx.scene.control.Hyperlink;
import javafx.scene.control.TextArea;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.controlsfx.control.CheckComboBox; import org.controlsfx.control.CheckComboBox;
import data.Corpus; import data.Corpus;
@ -20,6 +21,7 @@ import javafx.scene.layout.AnchorPane;
import util.Util; import util.Util;
public class FiltersForSolar { public class FiltersForSolar {
public final static Logger logger = LogManager.getLogger(OneWordAnalysisTab.class);
@FXML @FXML
public AnchorPane solarFiltersTabPane; public AnchorPane solarFiltersTabPane;
@ -36,11 +38,29 @@ public class FiltersForSolar {
@FXML @FXML
public CheckComboBox<String> solarVrstaBesedilaCCB; public CheckComboBox<String> solarVrstaBesedilaCCB;
@FXML @FXML
public Label selectedFiltersLabel; public Label solarRegijaL;
@FXML
public Label solarPredmetL;
@FXML
public Label solarRazredL;
@FXML
public Label solarLetoL;
@FXML
public Label solarSolaL;
@FXML
public Label solarVrstaBesedilaL;
@FXML
public Label solarFilters;
@FXML
public Label selectedFiltersL;
@FXML
public TextArea selectedFiltersTextArea;
@FXML
private Button changeLanguageB;
@FXML @FXML
private Hyperlink helpH; private Hyperlink helpH;
private HashMap<String, ObservableList<String>> selectedFilters; // private HashMap<String, ObservableList<String>> selectedFilters;
private Corpus corpus; private Corpus corpus;
private StringAnalysisTabNew2 satNew2Controller; private StringAnalysisTabNew2 satNew2Controller;
@ -55,72 +75,105 @@ public class FiltersForSolar {
solarFiltersTabPane.getStylesheets().add("style.css"); solarFiltersTabPane.getStylesheets().add("style.css");
solarFiltersTabPane.getStyleClass().add("root"); solarFiltersTabPane.getStyleClass().add("root");
selectedFilters = new HashMap<>(); manageTranslations();
solarRegijaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarRegijaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(REGIJA, solarRegijaCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
solarPredmetCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarPredmetCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(PREDMET, solarPredmetCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
solarRazredCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarRazredCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(RAZRED, solarRazredCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
solarLetoCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarLetoCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(LETO, solarLetoCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
solarSolaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarSolaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(SOLA, solarSolaCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
solarVrstaBesedilaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> { solarVrstaBesedilaCCB.getCheckModel().getCheckedItems().addListener((ListChangeListener) c -> {
selectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems()); corpus.solarSelectedFilters.put(TIP, solarVrstaBesedilaCCB.getCheckModel().getCheckedItems());
updateSolarFilterLabel(); updateSolarFilterLabel();
}); });
changeLanguageB.setOnAction(e -> {
if (I18N.getLocale() == new Locale.Builder().setLanguage("sl").setRegion("SI").build()){
I18N.setLocale(Locale.ENGLISH);
} else {
I18N.setLocale(new Locale.Builder().setLanguage("sl").setRegion("SI").build());
}
Messages.reload();
Messages.updateChooseCorpusL();
updateSolarFilterLabel();
logger.info("change language");
});
helpH.setOnAction(e -> openHelpWebsite()); helpH.setOnAction(e -> openHelpWebsite());
} }
private void manageTranslations() {
helpH.textProperty().bind(I18N.createStringBinding("hyperlink.help"));
changeLanguageB.textProperty().bind(I18N.createStringBinding("button.language"));
solarRegijaL.textProperty().bind(I18N.createStringBinding("filter.solarRegijaL"));
solarPredmetL.textProperty().bind(I18N.createStringBinding("filter.solarPredmetL"));
solarRazredL.textProperty().bind(I18N.createStringBinding("filter.solarRazredL"));
solarLetoL.textProperty().bind(I18N.createStringBinding("filter.solarLetoL"));
solarSolaL.textProperty().bind(I18N.createStringBinding("filter.solarSolaL"));
solarVrstaBesedilaL.textProperty().bind(I18N.createStringBinding("filter.solarVrstaBesedilaL"));
solarFilters.textProperty().bind(I18N.createStringBinding("label.solarFilters"));
}
public void initFilters() { public void initFilters() {
solarRegijaCCB.getCheckModel().clearChecks();
solarRegijaCCB.getItems().removeAll(); solarRegijaCCB.getItems().removeAll();
solarRegijaCCB.getItems().setAll(corpus.getSolarFilters().get(REGIJA)); solarRegijaCCB.getItems().setAll(corpus.getSolarFilters().get(REGIJA));
solarRegijaCCB.getItems().sorted(); solarRegijaCCB.getItems().sorted();
solarPredmetCCB.getCheckModel().clearChecks();
solarPredmetCCB.getItems().removeAll(); solarPredmetCCB.getItems().removeAll();
solarPredmetCCB.getItems().setAll(corpus.getSolarFilters().get(PREDMET)); solarPredmetCCB.getItems().setAll(corpus.getSolarFilters().get(PREDMET));
solarPredmetCCB.getItems().sorted(); solarPredmetCCB.getItems().sorted();
solarRazredCCB.getCheckModel().clearChecks();
solarRazredCCB.getItems().removeAll(); solarRazredCCB.getItems().removeAll();
solarRazredCCB.getItems().setAll(corpus.getSolarFilters().get(RAZRED)); solarRazredCCB.getItems().setAll(corpus.getSolarFilters().get(RAZRED));
solarRazredCCB.getItems().sorted(); solarRazredCCB.getItems().sorted();
solarLetoCCB.getCheckModel().clearChecks();
solarLetoCCB.getItems().removeAll(); solarLetoCCB.getItems().removeAll();
solarLetoCCB.getItems().setAll(corpus.getSolarFilters().get(LETO)); solarLetoCCB.getItems().setAll(corpus.getSolarFilters().get(LETO));
solarLetoCCB.getItems().sorted(); solarLetoCCB.getItems().sorted();
solarSolaCCB.getCheckModel().clearChecks();
solarSolaCCB.getItems().removeAll(); solarSolaCCB.getItems().removeAll();
solarSolaCCB.getItems().setAll(corpus.getSolarFilters().get(SOLA)); solarSolaCCB.getItems().setAll(corpus.getSolarFilters().get(SOLA));
solarSolaCCB.getItems().sorted(); solarSolaCCB.getItems().sorted();
solarVrstaBesedilaCCB.getCheckModel().clearChecks();
solarVrstaBesedilaCCB.getItems().removeAll(); solarVrstaBesedilaCCB.getItems().removeAll();
solarVrstaBesedilaCCB.getItems().setAll(corpus.getSolarFilters().get(TIP)); solarVrstaBesedilaCCB.getItems().setAll(corpus.getSolarFilters().get(TIP));
solarVrstaBesedilaCCB.getItems().sorted(); solarVrstaBesedilaCCB.getItems().sorted();
} }
private void updateSolarFilterLabel() { private void updateSolarFilterLabel() {
if (Util.isMapEmpty(selectedFilters)) { if (Util.isMapEmpty(corpus.solarSelectedFilters)) {
setSOlarFIlterLabelText("/"); setSOlarFIlterLabelText("/");
} else { } else {
StringBuilder allFilters = new StringBuilder(); StringBuilder allFilters = new StringBuilder();
for (Map.Entry<String, ObservableList<String>> entry : selectedFilters.entrySet()) { for (Map.Entry<String, ObservableList<String>> entry : corpus.solarSelectedFilters.entrySet()) {
ArrayList<String> values = new ArrayList<>(entry.getValue()); ArrayList<String> values = new ArrayList<>(entry.getValue());
if (!values.isEmpty()) { if (!values.isEmpty()) {
allFilters.append(entry.getKey()) // allFilters.append(entry.getKey())
allFilters.append(I18N.get(entry.getKey() + "L"))
.append(": "); .append(": ");
for (int i = 0; i < values.size(); i++) { for (int i = 0; i < values.size(); i++) {
@ -139,7 +192,7 @@ public class FiltersForSolar {
} }
HashMap<String, HashSet<String>> solarFiltersMap = new HashMap<>(); HashMap<String, HashSet<String>> solarFiltersMap = new HashMap<>();
for (Map.Entry<String, ObservableList<String>> e : selectedFilters.entrySet()) { for (Map.Entry<String, ObservableList<String>> e : corpus.solarSelectedFilters.entrySet()) {
HashSet<String> values = new HashSet<>(); HashSet<String> values = new HashSet<>();
values.addAll(e.getValue()); values.addAll(e.getValue());
@ -158,7 +211,7 @@ public class FiltersForSolar {
} }
private void setSOlarFIlterLabelText(String content) { private void setSOlarFIlterLabelText(String content) {
selectedFiltersLabel.setText(content); selectedFiltersTextArea.setText(content);
satNew2Controller.setSelectedFiltersLabel(content); satNew2Controller.setSelectedFiltersLabel(content);
oneWordTabController.setSelectedFiltersLabel(content); oneWordTabController.setSelectedFiltersLabel(content);
catController.setSelectedFiltersLabel(content); catController.setSelectedFiltersLabel(content);
@ -168,6 +221,7 @@ public class FiltersForSolar {
public void setCorpus(Corpus corpus) { public void setCorpus(Corpus corpus) {
this.corpus = corpus; this.corpus = corpus;
this.corpus.solarSelectedFilters = new HashMap<>();
} }
public void setSatNew2Controller(StringAnalysisTabNew2 satNew2Controller) { this.satNew2Controller = satNew2Controller; } public void setSatNew2Controller(StringAnalysisTabNew2 satNew2Controller) { this.satNew2Controller = satNew2Controller; }

@ -72,7 +72,17 @@ public final class I18N {
e.printStackTrace(); e.printStackTrace();
} }
return val; return val;
// return MessageFormat.format(bundle.getString(key), args); }
public static String getDefaultLocaleItem(final String key, final Object... args) {
ResourceBundle bundle = ResourceBundle.getBundle("message", getDefaultLocale());
String val = bundle.getString(key);
try {
return MessageFormat.format(new String(val.getBytes("ISO-8859-1"), "UTF-8"), args);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return val;
} }
public static ObservableList<String> getObject(final ArrayList<String> keys, final Object... args) { public static ObservableList<String> getObject(final ArrayList<String> keys, final Object... args) {

@ -37,7 +37,7 @@ public class OneWordAnalysisTab {
// private ArrayList<String> alsoVisualize; // private ArrayList<String> alsoVisualize;
@FXML @FXML
public Label selectedFiltersLabel; public TextArea selectedFiltersTextArea;
@FXML @FXML
public Label solarFilters; public Label solarFilters;
@ -724,11 +724,11 @@ public class OneWordAnalysisTab {
public void setSelectedFiltersLabel(String content) { public void setSelectedFiltersLabel(String content) {
if (content != null) { if (content != null) {
solarFilters.setVisible(true); solarFilters.setVisible(true);
selectedFiltersLabel.setVisible(true); selectedFiltersTextArea.setVisible(true);
selectedFiltersLabel.setText(content); selectedFiltersTextArea.setText(content);
} else { } else {
solarFilters.setVisible(false); solarFilters.setVisible(false);
selectedFiltersLabel.setVisible(false); selectedFiltersTextArea.setVisible(false);
} }
} }

@ -38,7 +38,7 @@ public class StringAnalysisTabNew2 {
public AnchorPane stringAnalysisTabPaneNew2; public AnchorPane stringAnalysisTabPaneNew2;
@FXML @FXML
public Label selectedFiltersLabel; public TextArea selectedFiltersTextArea;
@FXML @FXML
public Label solarFilters; public Label solarFilters;
@ -896,11 +896,11 @@ public class StringAnalysisTabNew2 {
public void setSelectedFiltersLabel(String content) { public void setSelectedFiltersLabel(String content) {
if (content != null) { if (content != null) {
solarFilters.setVisible(true); solarFilters.setVisible(true);
selectedFiltersLabel.setVisible(true); selectedFiltersTextArea.setVisible(true);
selectedFiltersLabel.setText(content); selectedFiltersTextArea.setText(content);
} else { } else {
solarFilters.setVisible(false); solarFilters.setVisible(false);
selectedFiltersLabel.setVisible(false); selectedFiltersTextArea.setVisible(false);
} }
} }

@ -36,7 +36,7 @@ public class WordLevelTab {
public AnchorPane wordLevelAnalysisTabPane; public AnchorPane wordLevelAnalysisTabPane;
@FXML @FXML
public Label selectedFiltersLabel; public TextArea selectedFiltersTextArea;
@FXML @FXML
public Label solarFilters; public Label solarFilters;
@ -872,11 +872,11 @@ public class WordLevelTab {
public void setSelectedFiltersLabel(String content) { public void setSelectedFiltersLabel(String content) {
if (content != null) { if (content != null) {
solarFilters.setVisible(true); solarFilters.setVisible(true);
selectedFiltersLabel.setVisible(true); selectedFiltersTextArea.setVisible(true);
selectedFiltersLabel.setText(content); selectedFiltersTextArea.setText(content);
} else { } else {
solarFilters.setVisible(false); solarFilters.setVisible(false);
selectedFiltersLabel.setVisible(false); selectedFiltersTextArea.setVisible(false);
} }
} }

@ -18,14 +18,16 @@
<?import java.lang.String?> <?import java.lang.String?>
<?import javafx.scene.image.ImageView?> <?import javafx.scene.image.ImageView?>
<?import javafx.scene.image.Image?> <?import javafx.scene.image.Image?>
<?import javafx.scene.control.TextArea?>
<AnchorPane fx:id="characterAnalysisTab" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.CharacterAnalysisTab"> <AnchorPane fx:id="characterAnalysisTab" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.CharacterAnalysisTab">
<Pane> <Pane>
<Label fx:id="stringLengthL" layoutX="10.0" layoutY="20.0" prefHeight="25.0" text="Število črk" /> <Label fx:id="stringLengthL" layoutX="10.0" layoutY="20.0" prefHeight="25.0" text="Število črk" />
<TextField fx:id="stringLengthTF" layoutX="225.0" layoutY="20.0" prefWidth="140.0" /> <TextField fx:id="stringLengthTF" layoutX="225.0" layoutY="20.0" prefWidth="140.0" />
<Label fx:id="stringLengthLH" layoutX="10.0" layoutY="50.0" prefHeight="10.0" text="Dolžina črkovnih nizov" styleClass="help"/> <Label fx:id="stringLengthLH" layoutX="10.0" layoutY="50.0" prefHeight="10.0" text="Dolžina črkovnih nizov" styleClass="help"/>
<ImageView fx:id="imageView" layoutX="1.0" layoutY="1.0" pickOnBounds="true" preserveRatio="true">
<ImageView fx:id="imageView" layoutX="370.0" layoutY="27.5" pickOnBounds="true" preserveRatio="true">
<image> <image>
<Image url="questionmark.png" backgroundLoading="true"/> <Image fx:id="image" url="questionmark.png" backgroundLoading="true"/>
</image> </image>
</ImageView> </ImageView>
@ -97,7 +99,7 @@
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" /> <Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" /> <TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
</Pane> </Pane>
<!--<Label fx:id="solarFilters" layoutX="510.0" layoutY="20.0" text="Izbrani filtri:" />--> <!--<Label fx:id="solarFilters" layoutX="510.0" layoutY="20.0" text="Izbrani filtri:" />-->

@ -6,25 +6,34 @@
<?import javafx.scene.control.Hyperlink?> <?import javafx.scene.control.Hyperlink?>
<?import org.controlsfx.control.CheckComboBox?> <?import org.controlsfx.control.CheckComboBox?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.TextArea?>
<AnchorPane fx:id="solarFiltersTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" <AnchorPane fx:id="solarFiltersTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.FiltersForSolar"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.FiltersForSolar">
<Pane> <Pane>
<CheckComboBox fx:id="solarRegijaCCB" layoutX="104.0" layoutY="40.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarRegijaCCB" layoutX="150.0" layoutY="20.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="44.0" text="Regija:"/> <Label fx:id="solarRegijaL" layoutX="10.0" layoutY="20.0" text="Regija"/>
<CheckComboBox fx:id="solarPredmetCCB" layoutX="104.0" layoutY="87.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarPredmetCCB" layoutX="150.0" layoutY="60.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="91.0" text="Predmet"/> <Label fx:id="solarPredmetL" layoutX="10.0" layoutY="60.0" text="Predmet"/>
<CheckComboBox fx:id="solarRazredCCB" layoutX="104.0" layoutY="136.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarRazredCCB" layoutX="150.0" layoutY="100.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="140.0" text="Razred"/> <Label fx:id="solarRazredL" layoutX="10.0" layoutY="100.0" text="Razred"/>
<CheckComboBox fx:id="solarLetoCCB" layoutX="104.0" layoutY="189.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarLetoCCB" layoutX="150.0" layoutY="140.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="193.0" text="Leto"/> <Label fx:id="solarLetoL" layoutX="10.0" layoutY="140.0" text="Leto"/>
<CheckComboBox fx:id="solarSolaCCB" layoutX="104.0" layoutY="246.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarSolaCCB" layoutX="150.0" layoutY="180.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="250.0" text="Šola"/> <Label fx:id="solarSolaL" layoutX="10.0" layoutY="180.0" text="Šola"/>
<CheckComboBox fx:id="solarVrstaBesedilaCCB" layoutX="104.0" layoutY="293.0" prefHeight="25.0" prefWidth="372.0"/> <CheckComboBox fx:id="solarVrstaBesedilaCCB" layoutX="150.0" layoutY="220.0" prefHeight="20.0" prefWidth="215.0"/>
<Label layoutX="14.0" layoutY="297.0" text="Vrsta besedila"/> <Label fx:id="solarVrstaBesedilaL" layoutX="10.0" layoutY="220.0" text="Vrsta besedila"/>
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="20.0" text="Pomoč"/>
<Label layoutX="510.0" layoutY="20.0" text="Izbrani filtri:"/> </Pane>
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="510.0" layoutY="45.0" prefHeight="540.0" <Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">
prefWidth="275.0" text=" " wrapText="true"/> <!-- MSD and Taxonomy separated -->
<Label fx:id="solarFilters" layoutX="10.0" layoutY="60.0" text="Izbrani filtri:" />
<TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="100.0" prefHeight="340.0" maxHeight="200.0" prefWidth="275.0" text=" " wrapText="true" editable="false"/>
<!--<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="100.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" />-->
</Pane> </Pane>
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="16.0"/>
<Button fx:id="changeLanguageB" layoutX="710.0" layoutY="40.0" mnemonicParsing="false" prefWidth="50.0"/>
</AnchorPane> </AnchorPane>

@ -13,6 +13,7 @@
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import org.controlsfx.control.CheckComboBox?> <?import org.controlsfx.control.CheckComboBox?>
<?import javafx.scene.control.TextArea?>
<AnchorPane fx:id="oneWordAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" <AnchorPane fx:id="oneWordAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.OneWordAnalysisTab"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.OneWordAnalysisTab">
<Pane> <Pane>
@ -83,7 +84,7 @@
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" /> <Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" /> <TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
</Pane> </Pane>
<!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">--> <!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">-->

@ -14,6 +14,7 @@
<?import org.controlsfx.control.CheckComboBox?> <?import org.controlsfx.control.CheckComboBox?>
<?import javafx.scene.control.Separator?> <?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TextArea?>
<AnchorPane fx:id="stringAnalysisTabPaneNew2" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.StringAnalysisTabNew2"> <AnchorPane fx:id="stringAnalysisTabPaneNew2" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.StringAnalysisTabNew2">
<Pane> <Pane>
@ -133,7 +134,7 @@
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" /> <Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" /> <TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
</Pane> </Pane>
<!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">--> <!--<Pane layoutX="400.0" prefHeight="480.0" prefWidth="380.0">-->

@ -13,6 +13,7 @@
<?import javafx.scene.layout.Pane?> <?import javafx.scene.layout.Pane?>
<?import org.controlsfx.control.CheckComboBox?> <?import org.controlsfx.control.CheckComboBox?>
<?import javafx.scene.control.TextArea?>
<AnchorPane fx:id="wordLevelAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111" <AnchorPane fx:id="wordLevelAnalysisTabPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.111"
xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.WordLevelTab"> xmlns:fx="http://javafx.com/fxml/1" fx:controller="gui.WordLevelTab">
<Pane> <Pane>
@ -112,7 +113,7 @@
<Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" /> <Label fx:id="solarFilters" layoutX="10.0" layoutY="280.0" text="Izbrani filtri:" />
<Label fx:id="selectedFiltersLabel" alignment="TOP_LEFT" layoutX="10.0" layoutY="320.0" prefHeight="340.0" prefWidth="275.0" text=" " wrapText="true" /> <TextArea fx:id="selectedFiltersTextArea" layoutX="10.0" layoutY="320.0" prefHeight="80.0" maxHeight="80.0" prefWidth="360.0" text=" " wrapText="true" editable="false"/>
</Pane> </Pane>
<Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="16.0" text="Pomoč" /> <Hyperlink fx:id="helpH" alignment="TOP_LEFT" layoutX="710.0" layoutY="16.0" text="Pomoč" />

@ -32,7 +32,7 @@ label.solarFilters=Selected filters:
string.lemma=lemma string.lemma=lemma
string.word=word string.word=word
label.letter.stringLengthH=Vnesite dolžino črkovnih nizov za izpis. label.letter.stringLengthH=Enter length of letter output.
label.letter.calculateForH=Črkovni nizi bodo prešteti v izbranih enotah. label.letter.calculateForH=Črkovni nizi bodo prešteti v izbranih enotah.
label.letter.displayTaxonomyH=Izpisana bo tudi razporeditev črkovnih nizov po taksonomiji korpusa. label.letter.displayTaxonomyH=Izpisana bo tudi razporeditev črkovnih nizov po taksonomiji korpusa.
label.letter.msdH=Črkovni nizi bodo prešteti samo v besedah z določeno oznako. label.letter.msdH=Črkovni nizi bodo prešteti samo v besedah z določeno oznako.
@ -103,6 +103,20 @@ label.ngramValue=N-gram level
label.notePunctuations=Note punctuations label.notePunctuations=Note punctuations
label.collocability=Collocability label.collocability=Collocability
# filtersSolar
filter.solarRegijaL=Region
filter.solarPredmetL=Subject
filter.solarRazredL=Class
filter.solarLetoL=Year
filter.solarSolaL=School
filter.solarVrstaBesedilaL=Text type
filter.solarRegija=region
filter.solarPredmet=subject
filter.solarRazred=class
filter.solarLeto=year
filter.solarSola=school
filter.solarVrstaBesedila=type
# messages # messages
message.WARNING_CORPUS_NOT_FOUND=In selected directory there are no suitable corpus files. message.WARNING_CORPUS_NOT_FOUND=In selected directory there are no suitable corpus files.
message.WARNING_RESULTS_DIR_NOT_VALID=You don't have correct permissions to access chosen directory. message.WARNING_RESULTS_DIR_NOT_VALID=You don't have correct permissions to access chosen directory.

@ -103,6 +103,21 @@ label.ngramValue=Dolžina niza
label.notePunctuations=Upoštevaj ločila label.notePunctuations=Upoštevaj ločila
label.collocability=Izpiši mere povezovalnosti label.collocability=Izpiši mere povezovalnosti
# filtersSolar
filter.solarRegijaL=Regija
filter.solarPredmetL=Predmet
filter.solarRazredL=Razred
filter.solarLetoL=Leto
filter.solarSolaL=Šola
filter.solarVrstaBesedilaL=Vrsta besedila
filter.solarRegija=regija
filter.solarPredmet=predmet
filter.solarRazred=razred
filter.solarLeto=leto
filter.solarSola=sola
filter.solarVrstaBesedila=tip
# messages # messages
message.WARNING_CORPUS_NOT_FOUND=V izbranem direktoriju ni ustreznih korpusnih datotek. message.WARNING_CORPUS_NOT_FOUND=V izbranem direktoriju ni ustreznih korpusnih datotek.
message.WARNING_RESULTS_DIR_NOT_VALID=Za dostop do izbranega direktorija nimate potrebnih pravic. message.WARNING_RESULTS_DIR_NOT_VALID=Za dostop do izbranega direktorija nimate potrebnih pravic.

Loading…
Cancel
Save