mirror of
https://gitlab.kit.edu/uskyk/typicalc.git
synced 2024-11-08 18:30:42 +00:00
Update translations + fix empty type assumption
This commit is contained in:
parent
49c767bd0f
commit
74cd76767a
@ -7,7 +7,6 @@ import com.vaadin.flow.component.dependency.CssImport;
|
||||
import com.vaadin.flow.component.html.Div;
|
||||
import com.vaadin.flow.component.orderedlayout.Scroller;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.router.PageTitle;
|
||||
import edu.kit.typicalc.model.TypeInfererInterface;
|
||||
import edu.kit.typicalc.view.content.ControlPanel;
|
||||
import edu.kit.typicalc.view.content.ControlPanelView;
|
||||
@ -16,7 +15,6 @@ import edu.kit.typicalc.view.content.typeinferencecontent.latexcreator.LatexCrea
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
@PageTitle("TypeInferenceView")
|
||||
@CssImport("./styles/view/type-inference.css")
|
||||
public class TypeInferenceView extends VerticalLayout
|
||||
implements ControlPanelView, ComponentEventListener<AttachEvent> {
|
||||
|
@ -11,6 +11,7 @@ import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||
import com.vaadin.flow.i18n.LocaleChangeEvent;
|
||||
import com.vaadin.flow.i18n.LocaleChangeObserver;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -81,7 +82,7 @@ public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new TypeAssumptionsArea.
|
||||
* Creates a new empty TypeAssumptionsArea.
|
||||
*/
|
||||
protected TypeAssumptionsArea() {
|
||||
this(new HashMap<>());
|
||||
@ -111,7 +112,9 @@ public class TypeAssumptionsArea extends Dialog implements LocaleChangeObserver
|
||||
*/
|
||||
protected Map<String, String> getTypeAssumptions() {
|
||||
return fields.stream()
|
||||
.collect(Collectors.toMap(TypeAssumptionField::getVariable, TypeAssumptionField::getType,
|
||||
.map(field -> Pair.of(field.getVariable(), field.getType()))
|
||||
.filter(pair -> !pair.getLeft().isEmpty()) // ignore empty input fields
|
||||
.collect(Collectors.toMap(Pair::getLeft, Pair::getRight,
|
||||
(existing, replacement) -> existing, TreeMap::new));
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,6 @@ root.typeInfer=Typisieren
|
||||
root.operatingHelp=Bedienhilfen
|
||||
root.inputSyntax=Eingabe-Syntax
|
||||
root.inferenceRules=Ableitungsregeln
|
||||
root.overlongInput=Die maximale Länge der Eingabe beträgt 1000 Zeichen!
|
||||
root.absRule=Abs-Regel
|
||||
root.appRule=App-Regel
|
||||
root.varRule=Var-Regel
|
||||
@ -32,39 +31,39 @@ root.previousStepButton=Vorheriger-Schritt Knopf
|
||||
root.nextStepButton=Nächster-Schritt Knopf
|
||||
root.lastStepButton=Letzter-Schritt Knopf
|
||||
root.shareButton=Teilen Knopf
|
||||
root.helpDrawer=Durch Klicken des Knopfs öffnet sich der Drawer. \
|
||||
Im Drawer ist eine Auflistung aller Typregeln zu finden. \
|
||||
Außerdem kann durch Klicken des Kopieren-Knopfs der Latex-Code der Regel in die Zwischenablage kopiert werden.
|
||||
root.helpExample=Durch Klicken des Knopfs öffnet sich der Beispiel-Dialog. \
|
||||
root.helpDrawer=Durch Benutzen des Knopfs öffnet sich der Drawer. \
|
||||
Im Drawer ist eine Auflistung aller Typinferenzregeln zu finden. \
|
||||
Außerdem kann mit dem Kopieren-Knopfs der Latex-Code der Regel in die Zwischenablage kopiert werden.
|
||||
root.helpExample=Durch Benutzen des Knopfs öffnet sich der Beispiel-Dialog. \
|
||||
Nach Anklicken wird der jeweilige Beispielterm in das Eingabefeld eingefügt. \
|
||||
Der Term kann nun nach Belieben angepasst oder direkt typisiert werden.
|
||||
root.helpInputField=In das Eingabefeld können Lambda-Terme mit einer Länge von bis zu 1000 Zeichen eingegeben werden. \
|
||||
Das \u03BB-Zeichen kann dabei entweder durch Klicken des \u03BB-Knopfs oder durch Eingabe eines Backslashs an der \
|
||||
aktuellen Cursorposition eingefügt werden. Durch Klicken des Info-Symbols wird die korrekte Syntax eines Terms \
|
||||
Das λ-Zeichen kann dabei entweder durch Klicken des λ-Knopfs oder durch Eingabe eines umgekehrten Schrägstrichs an \
|
||||
der aktuellen Cursorposition eingefügt werden. Durch Klicken des Info-Symbols wird die korrekte Syntax eines Terms \
|
||||
angezeigt.
|
||||
root.helpTypeAssumptions=Durch Klicken des Typannahmen-Knopfs öffnet sich ein Dialog zur Eingabe von Typannahmen. \
|
||||
Durch Klicken des Info-Symbols wird die korrekte Syntax des Typs einer Typannahme angezeigt. Sofern eine Variable in \
|
||||
mehreren Typannahmen vorkommt, wird ausschließlich die oberste Typannahme, die diese Variable enthält, \
|
||||
berücksichtigt. Falls der Typ einer Typannahme mit einem 't' beginnt und anschließend nur Ziffern folgen, wird der Typ \
|
||||
automatisch zu einer Typvariable.
|
||||
root.helpTypeInferButton=Durch Klicken des Typisieren-Knopfs wird die Berechnung des Typinferenzalgorithmus mit \
|
||||
root.helpTypeInferButton=Durch Benutzen des Typisieren-Knopfs wird die Berechnung des Typinferenzalgorithmus mit \
|
||||
der aktuellen Eingabe gestartet. Je größer der Term desto länger dauert das Anzeigen des Typherleitungsbaums. Bei sehr \
|
||||
großer Eingabe oder einem langsamen Rechner wird also etwas Geduld benötigt.
|
||||
root.helpFirstStepButton=Je nach Stand der Algorithmusausführung ändert sich die FunKtion des Knopfs. \
|
||||
Wenn aktuell der Baum aufgebaut wird, springt die Anzeige nach Klicken des Knopfs zurück zum ersten Schritt des \
|
||||
Typherleitungsbaums. Wenn bereits die Unifikation druchgeführt wird, sprigt die Anzeige nach Klicken des Knopfs \
|
||||
root.helpFirstStepButton=Je nach Stand der Algorithmusausführung ändert sich die Funktion des Knopfs. \
|
||||
Wenn aktuell der Baum aufgebaut wird, springt die Anzeige nach Benutzen des Knopfs zurück zum ersten Schritt des \
|
||||
Typherleitungsbaums. Wenn bereits die Unifikation druchgeführt wird, sprigt die Anzeige nach Benutzen des Knopfs \
|
||||
in den letzten Schritt des Baums. Der Knopf lässt sich außerdem durch die Tastenkombination "STRG + Linke Pfeiltaste" \
|
||||
ansprechen.
|
||||
root.helpPreviousStepButton=Durch Klicken des Vorheriger-Schritt Knopfs wird der vorherige Schritt des Algorithmus \
|
||||
root.helpPreviousStepButton=Durch Benutzen des Vorheriger-Schritt Knopfs wird der vorherige Schritt des Algorithmus \
|
||||
angezeigt. Der Knopf lässt sich außerdem auf der Tastatur durch die Taste "Linke Pfeiltaste" ansprechen.
|
||||
root.helpNextStepButton=Durch Klicken des Nächster-Schritt Knopfs wird der nächste Schritt des Algorithmus angezeigt. \
|
||||
root.helpNextStepButton=Durch Benutzen des Nächster-Schritt Knopfs wird der nächste Schritt des Algorithmus angezeigt. \
|
||||
Der Knopf lässt sich außerdem durch auf der Tastatur durch die Taste "Rechte Pfeiltaste" ansprechen.
|
||||
root.helpLastStepButton=Je nach Stand der Algorithmusausführung ändert sich die FunKtion des Knopfs. \
|
||||
root.helpLastStepButton=Je nach Stand der Algorithmusausführung ändert sich die Funktion des Knopfs. \
|
||||
Wenn aktuell der Baum aufgebaut wird, springt die Anzeige nach Klicken des Knopfs vor zum letzten Schritt des \
|
||||
Typherleitungsbaums. Wenn bereits die Unifikation druchgeführt wird, sprigt die Anzeige nach Klicken des Knopfs \
|
||||
vor zur Anzeige des finalen Typs. Der Knopf lässt sich außerdem durch die Tastenkombination \
|
||||
"STRG + Rechte Pfeiltaste" ansprechen.
|
||||
root.helpShareButton=Durch Klicken des Teilen Knopfs öffnet sich ein Dialog, in dem der LaTeX-Code des finalen \
|
||||
root.helpShareButton=Durch Benutzen des Teilen-Knopfs öffnet sich ein Dialog, in dem der LaTeX-Code des finalen \
|
||||
Typherleitungsbaums des eingegebenen Terms und die benötigen Pakete zum Einbinden des LaTeX-Codes angezeigt werden. \
|
||||
Zusätzlich dazu enthält der Dialog einen Permalink zur aktuellen Seite, der sowohl den Term als auch die Typannahmen \
|
||||
kodiert.
|
||||
|
@ -5,7 +5,6 @@ root.typeInfer=Type
|
||||
root.operatingHelp=Operating Help
|
||||
root.inputSyntax=Input Syntax
|
||||
root.inferenceRules=Inference Rules
|
||||
root.overlongInput=The maximum input length is 1000 characters!
|
||||
root.absRule=Abs rule
|
||||
root.appRule=App rule
|
||||
root.varRule=Var rule
|
||||
@ -24,7 +23,7 @@ root.deleteAll=Delete All
|
||||
root.variable=Variable
|
||||
root.type=Type
|
||||
root.title404=404 - Not Found
|
||||
root.message404="Try /infer/<term> or type your favourite term into the input field
|
||||
root.message404=Try /infer/<term> or type your favourite term into the input field
|
||||
root.drawer=Drawer
|
||||
root.example=Examples
|
||||
root.inputField=Input Field
|
||||
@ -35,40 +34,40 @@ root.nextStepButton=Next Step Button
|
||||
root.lastStepButton=Last Step Button
|
||||
root.shareButton=Share Button
|
||||
root.helpDrawer=Clicking on the button opens up the drawer. The drawer contains a collection of all type inference \
|
||||
rules. By clicking on the copy-button the LaTeX-code of the corresponding rule is copied to the clipboard.
|
||||
rules. By clicking on the copy button the LaTeX code of the corresponding rule is copied to the clipboard.
|
||||
root.helpExample=Clicking on the button opens up the example dialog. After clicking on an example the corresponding \
|
||||
term is inserted into the input field. Now either the type inference algorithm can be started or the term can be \
|
||||
modified.
|
||||
root.helpInputField=The input field allows the user to enter lambda terms with a maximum length of 1000 characters. \
|
||||
The \u03BB-sign can be inserted at the current cursor position by either clicking the \u03BB-button or entering a \
|
||||
backslash. By clicking on the info-symbol the grammar defining the valid input syntax is shown.
|
||||
root.helpTypeAssumptions=Clicking on the type-assumptions-button opens up a dialog to enter type assumptions. \
|
||||
By clicking the info-symbol the grammar defining a valid type of a type assumption is shown. If the same variable \
|
||||
The λ character can be inserted at the current cursor position by either clicking the λ button or entering a \
|
||||
backslash. By clicking on the info icon the grammar defining the valid input syntax is shown.
|
||||
root.helpTypeAssumptions=Clicking on the type assumptions button opens up a dialog to enter type assumptions. \
|
||||
By clicking the icon symbol the grammar defining a valid type of a type assumption is shown. If the same variable \
|
||||
is contained in multiple type assumptions, only the uppermost type assumption containing the variable is used for \
|
||||
the algorithm. If the type of a type assumptions starts with a 't' followed by only digits, the type is automatically \
|
||||
converted to a type variable.
|
||||
root.helpTypeInferButton=Clicking on the type button starts the type inference algorithm for the current input. \
|
||||
The longer the entered term the longer the time to display the type inference tree. With a slow computer or a \
|
||||
very long term a lot of patience will be required.
|
||||
root.helpFirstStepButton=The function of the button depends on the current state of the algorithm execution. \
|
||||
root.helpFirstStepButton=The function of the button depends on the current state of the algorithm. \
|
||||
If the tree is currently being built up, clicking on the button shows the first step of the inference tree. \
|
||||
If the unification algorithm is already in progress, clicking on the button shows the last step of the inference \
|
||||
tree. The key combination "CTRL + left arrow key" also executes a click on the button.
|
||||
root.helpPreviousStepButton=By clicking the previous-step button the previous step of the algorithm is shown. \
|
||||
The key combination "left arrow key" also executes a click on the button.
|
||||
root.helpPreviousStepButton=By clicking the previous step button the previous step of the algorithm is shown. \
|
||||
The key "left arrow key" also executes a click on the button.
|
||||
root.helpNextStepButton=By clicking the next-step button the next step of the algorithm is shown. \
|
||||
The key combination "right arrow key" also executes a click on the button.
|
||||
root.helpLastStepButton=The function of the button depends on the current state of the algorithm execution. \
|
||||
The key "right arrow key" also executes a click on the button.
|
||||
root.helpLastStepButton=The function of the button depends on the current state of the algorithm. \
|
||||
If the tree is currently being built up, clicking on the button shows the last step of the inference tree. \
|
||||
If the unification algorithm is already in progress, clicking on the button shows the final type of the \
|
||||
entered term. The key combination "CTRL + right arrow key" also executes a click on the button.
|
||||
root.helpShareButton=Clicking the share button opens up a dialog containing the LaTeX-code of the final inference \
|
||||
tree and the packages needed to execute the LaTeX-code. In addition a permalink to the current page is provided. \
|
||||
root.helpShareButton=Clicking the share button opens up a dialog containing the LaTeX code of the final inference \
|
||||
tree and the packages needed to compile the LaTeX code. In addition a permalink to the current page is provided. \
|
||||
This link encodes the current term as well as the current type assumptions.
|
||||
root.TOO_FEW_TOKENS=Wrong input! The term ends abruptly.
|
||||
root.tooFewTokensHelp=Check if all Let-, Abs- and App-terms consist of the required arguments.
|
||||
root.UNEXPECTED_TOKEN=The entered term does not match the syntax specified in the info dialog.
|
||||
root.UNEXPECTED_CHARACTER=The contains a characters which is not allowed at this position.
|
||||
root.tooFewTokensHelp=Check if all let, abstraction and application terms consist of the required arguments.
|
||||
root.UNEXPECTED_TOKEN=The input does not match the syntax specified in the info dialog.
|
||||
root.UNEXPECTED_CHARACTER=The input contains a characters which is not allowed at this position.
|
||||
root.wrongCharacter=Wrong character: \u0020
|
||||
root.position=At Position: \u0020
|
||||
|
||||
@ -84,4 +83,4 @@ root.absLetLatex=\
|
||||
|
||||
share.url.label=URL
|
||||
share.packages.label=Packages
|
||||
share.latex.label=LaTeX-code
|
||||
share.latex.label=LaTeX code
|
||||
|
Loading…
Reference in New Issue
Block a user