mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-18 01:14:42 -04:00
introduced a new language system
This commit is contained in:
parent
1aa5ea4cd0
commit
a5d4be2b56
@ -2,8 +2,7 @@ package de.neemann.digital.core.element;
|
||||
|
||||
import de.neemann.digital.core.io.IntFormat;
|
||||
import de.neemann.digital.core.memory.DataField;
|
||||
import de.neemann.digital.lang.Language;
|
||||
import de.neemann.digital.lang.Languages;
|
||||
import de.neemann.gui.language.Language;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@ -207,7 +206,7 @@ public final class Keys {
|
||||
* The Gui Language
|
||||
*/
|
||||
public static final Key<Language> SETTINGS_LANGUAGE
|
||||
= new Key<>("Language", Languages.getInstance().getDefault());
|
||||
= new Key<>("Language", new Language());
|
||||
|
||||
|
||||
/**
|
||||
|
@ -18,7 +18,7 @@ import de.neemann.digital.draw.shapes.Drawable;
|
||||
import de.neemann.digital.draw.shapes.ShapeFactory;
|
||||
import de.neemann.digital.gui.components.AttributeDialog;
|
||||
import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.digital.lang.Language;
|
||||
import de.neemann.gui.language.Language;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.*;
|
||||
|
@ -7,10 +7,10 @@ import de.neemann.digital.core.io.IntFormat;
|
||||
import de.neemann.digital.core.memory.DataField;
|
||||
import de.neemann.digital.core.memory.ROM;
|
||||
import de.neemann.digital.lang.Lang;
|
||||
import de.neemann.digital.lang.Language;
|
||||
import de.neemann.digital.lang.Languages;
|
||||
import de.neemann.gui.ErrorMessage;
|
||||
import de.neemann.gui.ToolTipAction;
|
||||
import de.neemann.gui.language.Bundle;
|
||||
import de.neemann.gui.language.Language;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@ -18,6 +18,7 @@ import java.awt.event.ActionEvent;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
@ -312,8 +313,10 @@ public final class EditorFactory {
|
||||
private JComboBox comb;
|
||||
|
||||
public LanguageEditor(Language language, Key<Rotation> key) {
|
||||
comb = new JComboBox<>(Languages.getInstance().getSupportedLanguages());
|
||||
comb.setSelectedIndex(Languages.getInstance().getIndexOf(language));
|
||||
Bundle b = Lang.getBundle();
|
||||
List<Language> supLang = b.getSupportedLanguages();
|
||||
comb = new JComboBox<>(supLang.toArray(new Language[supLang.size()]));
|
||||
comb.setSelectedItem(Lang.currentLanguage());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -323,7 +326,7 @@ public final class EditorFactory {
|
||||
|
||||
@Override
|
||||
public Language getValue() {
|
||||
return Languages.getInstance().getByIndex(comb.getSelectedIndex());
|
||||
return (Language) comb.getSelectedItem();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,11 @@
|
||||
package de.neemann.digital.lang;
|
||||
|
||||
import de.neemann.gui.language.Bundle;
|
||||
import de.neemann.gui.language.Language;
|
||||
import de.neemann.gui.language.Resources;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Locale;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.ResourceBundle;
|
||||
import java.util.prefs.Preferences;
|
||||
|
||||
/**
|
||||
@ -49,44 +51,58 @@ public final class Lang {
|
||||
return InstanceHolder.INSTANCE.getKeyNull(key, params);
|
||||
}
|
||||
|
||||
private final ResourceBundle defaultBundle;
|
||||
private ResourceBundle localeBundle;
|
||||
/**
|
||||
* @return the resource bundle
|
||||
*/
|
||||
public static Bundle getBundle() {
|
||||
return InstanceHolder.INSTANCE.bundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the current language
|
||||
*/
|
||||
public static Language currentLanguage() {
|
||||
return InstanceHolder.INSTANCE.currentLanguage;
|
||||
}
|
||||
|
||||
|
||||
private final Bundle bundle;
|
||||
private final Resources defaultBundle;
|
||||
private final Resources localeBundle;
|
||||
private final Language currentLanguage;
|
||||
|
||||
private Lang() {
|
||||
defaultBundle = ResourceBundle.getBundle("lang/lang", Locale.ENGLISH);
|
||||
try {
|
||||
String lang = PREFS.get(LANGUAGE, null);
|
||||
Locale currentLocale = Languages.getInstance().getLocaleByName(lang);
|
||||
localeBundle = ResourceBundle.getBundle("lang/lang", currentLocale);
|
||||
} catch (MissingResourceException e) {
|
||||
}
|
||||
bundle = new Bundle("lang/lang");
|
||||
defaultBundle = bundle.getResources("en");
|
||||
String lang = PREFS.get(LANGUAGE, Locale.getDefault().getLanguage());
|
||||
localeBundle = bundle.getResources(lang);
|
||||
|
||||
if (localeBundle != null)
|
||||
currentLanguage = new Language(lang);
|
||||
else
|
||||
currentLanguage = new Language("en");
|
||||
}
|
||||
|
||||
private String getKey(String key, Object... params) {
|
||||
try {
|
||||
return decodeString(localeBundle, key, params);
|
||||
} catch (MissingResourceException e) {
|
||||
String str = null;
|
||||
if (localeBundle != null)
|
||||
str = decodeString(localeBundle, key, params);
|
||||
if (str == null) {
|
||||
System.out.println(key + "=" + key.substring(key.indexOf("_") + 1));
|
||||
try {
|
||||
return decodeString(defaultBundle, key, params);
|
||||
} catch (MissingResourceException e1) {
|
||||
return key;
|
||||
}
|
||||
str = decodeString(defaultBundle, key, params);
|
||||
if (str == null)
|
||||
str = key;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
private String getKeyNull(String key, Object... params) {
|
||||
try {
|
||||
return decodeString(localeBundle, key, params);
|
||||
} catch (MissingResourceException e) {
|
||||
// System.out.println(key + "=" + key.substring(key.indexOf("_") + 1));
|
||||
return null;
|
||||
}
|
||||
return decodeString(localeBundle, key, params);
|
||||
}
|
||||
|
||||
private String decodeString(ResourceBundle bundle, String key, Object[] params) {
|
||||
String str = bundle.getString(key);
|
||||
if (params != null && params.length > 0)
|
||||
private String decodeString(Resources resources, String key, Object[] params) {
|
||||
String str = resources.get(key);
|
||||
if (str != null && params != null && params.length > 0)
|
||||
str = MessageFormat.format(str, params);
|
||||
return str;
|
||||
}
|
||||
|
@ -1,54 +0,0 @@
|
||||
package de.neemann.digital.lang;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public final class Language {
|
||||
|
||||
private final String name;
|
||||
private transient Locale locale;
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param name the languages name
|
||||
*/
|
||||
public Language(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param locale the locale
|
||||
*/
|
||||
public Language(Locale locale) {
|
||||
this(locale.getLanguage());
|
||||
this.locale = locale;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the locale
|
||||
*
|
||||
* @return the locale
|
||||
*/
|
||||
Locale getLocale() {
|
||||
return locale;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the name
|
||||
*
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
package de.neemann.digital.lang;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public final class Languages {
|
||||
|
||||
private static final class InstanceHolder {
|
||||
private static final Languages INSTANCE = new Languages();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the languages instance
|
||||
*/
|
||||
public static Languages getInstance() {
|
||||
return InstanceHolder.INSTANCE;
|
||||
}
|
||||
|
||||
private final ArrayList<Language> list = new ArrayList<>();
|
||||
private String[] strArray;
|
||||
|
||||
private Languages() {
|
||||
add(Locale.US);
|
||||
add(Locale.GERMANY);
|
||||
}
|
||||
|
||||
private void add(Locale locale) {
|
||||
list.add(new Language(locale));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of all supported languages
|
||||
*
|
||||
* @return the languages list
|
||||
*/
|
||||
public String[] getSupportedLanguages() {
|
||||
if (strArray == null) {
|
||||
strArray = new String[list.size()];
|
||||
for (int i = 0; i < strArray.length; i++)
|
||||
strArray[i] = list.get(i).getLocale().getDisplayName();
|
||||
}
|
||||
return strArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index of the given language
|
||||
*
|
||||
* @param language the language
|
||||
* @return the index
|
||||
*/
|
||||
public int getIndexOf(Language language) {
|
||||
for (int i = 0; i < list.size(); i++)
|
||||
if (list.get(i).getName().equals(language.getName()))
|
||||
return i;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the language by the languages index
|
||||
*
|
||||
* @param index the index
|
||||
* @return the language
|
||||
*/
|
||||
public Language getByIndex(int index) {
|
||||
return list.get(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default language
|
||||
*
|
||||
* @return the systems language, if there is a translation, US otherwise
|
||||
*/
|
||||
public Language getDefault() {
|
||||
String lang = Locale.getDefault().getLanguage();
|
||||
for (Language l : list) {
|
||||
if (l.getLocale().getLanguage().equals(lang))
|
||||
return l;
|
||||
}
|
||||
return list.get(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a locale by the given name
|
||||
*
|
||||
* @param lang the language name
|
||||
* @return the locale matching the language
|
||||
*/
|
||||
public Locale getLocaleByName(String lang) {
|
||||
return getLanguageByName(lang).getLocale();
|
||||
}
|
||||
|
||||
private Language getLanguageByName(String lang) {
|
||||
if (lang == null)
|
||||
return getDefault();
|
||||
|
||||
for (Language l : list)
|
||||
if (l.getName().equals(lang))
|
||||
return l;
|
||||
|
||||
return getDefault();
|
||||
}
|
||||
|
||||
}
|
65
src/main/java/de/neemann/gui/language/Bundle.java
Normal file
65
src/main/java/de/neemann/gui/language/Bundle.java
Normal file
@ -0,0 +1,65 @@
|
||||
package de.neemann.gui.language;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.io.xml.StaxDriver;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public class Bundle {
|
||||
|
||||
private final HashMap<String, String> languages;
|
||||
private final String name;
|
||||
private final ArrayList<Language> list;
|
||||
|
||||
private static XStream getxStream() {
|
||||
XStream xStream = new XStream(new StaxDriver());
|
||||
xStream.alias("languages", Map.class);
|
||||
xStream.registerConverter(new Resources.MapEntryConverter());
|
||||
return xStream;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param name the bundles name
|
||||
*/
|
||||
public Bundle(String name) {
|
||||
this.name = name;
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(name + ".xml");
|
||||
XStream xStream = getxStream();
|
||||
languages = (HashMap<String, String>) xStream.fromXML(in);
|
||||
list = new ArrayList<>();
|
||||
for (Map.Entry<String, String> e : languages.entrySet())
|
||||
list.add(new Language(e.getKey(), e.getValue()));
|
||||
}
|
||||
|
||||
/**
|
||||
* returnce the resources for the given language
|
||||
*
|
||||
* @param lang the language
|
||||
* @return the resources
|
||||
*/
|
||||
public Resources getResources(String lang) {
|
||||
if (!languages.containsKey(lang))
|
||||
return null;
|
||||
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(name + "_" + lang + ".xml");
|
||||
return new Resources(in);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all supported languages
|
||||
*
|
||||
* @return the languages
|
||||
*/
|
||||
public List<Language> getSupportedLanguages() {
|
||||
return list;
|
||||
}
|
||||
}
|
75
src/main/java/de/neemann/gui/language/Language.java
Normal file
75
src/main/java/de/neemann/gui/language/Language.java
Normal file
@ -0,0 +1,75 @@
|
||||
package de.neemann.gui.language;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public final class Language implements Comparable<Language> {
|
||||
|
||||
private final String name;
|
||||
private final String displayName;
|
||||
|
||||
/**
|
||||
* Creates a new instance
|
||||
*
|
||||
* @param name the languages name
|
||||
*/
|
||||
public Language(String name) {
|
||||
this(name, "");
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new instance with the current language
|
||||
*/
|
||||
public Language() {
|
||||
this(Locale.getDefault().getLanguage());
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates new instance
|
||||
*
|
||||
* @param name name, eq. "en" or "de"
|
||||
* @param displayName displayname
|
||||
*/
|
||||
public Language(String name, String displayName) {
|
||||
this.name = name;
|
||||
this.displayName = displayName;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the name
|
||||
*
|
||||
* @return the name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Language o) {
|
||||
return displayName.compareTo(o.displayName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
Language language = (Language) o;
|
||||
|
||||
return name != null ? name.equals(language.name) : language.name == null;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return name != null ? name.hashCode() : 0;
|
||||
}
|
||||
}
|
125
src/main/java/de/neemann/gui/language/Resources.java
Normal file
125
src/main/java/de/neemann/gui/language/Resources.java
Normal file
@ -0,0 +1,125 @@
|
||||
package de.neemann.gui.language;
|
||||
|
||||
import com.thoughtworks.xstream.XStream;
|
||||
import com.thoughtworks.xstream.converters.Converter;
|
||||
import com.thoughtworks.xstream.converters.MarshallingContext;
|
||||
import com.thoughtworks.xstream.converters.UnmarshallingContext;
|
||||
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
|
||||
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
|
||||
import com.thoughtworks.xstream.io.xml.PrettyPrintWriter;
|
||||
import com.thoughtworks.xstream.io.xml.StaxDriver;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public class Resources {
|
||||
|
||||
private static XStream getxStream() {
|
||||
XStream xStream = new XStream(new StaxDriver());
|
||||
xStream.alias("resources", Map.class);
|
||||
xStream.registerConverter(new MapEntryConverter());
|
||||
return xStream;
|
||||
}
|
||||
|
||||
private final Map<String, String> resourceMap;
|
||||
|
||||
Resources() {
|
||||
this(new HashMap<String, String>());
|
||||
}
|
||||
|
||||
private Resources(ResourceBundle bundle) {
|
||||
this(createMap(bundle));
|
||||
}
|
||||
|
||||
private static Map<String, String> createMap(ResourceBundle bundle) {
|
||||
Map<String, String> map = new TreeMap<>();
|
||||
Enumeration<String> en = bundle.getKeys();
|
||||
while (en.hasMoreElements()) {
|
||||
String key = en.nextElement();
|
||||
String value = bundle.getString(key);
|
||||
map.put(key, value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
private Resources(Map<String, String> map) {
|
||||
resourceMap = map;
|
||||
}
|
||||
|
||||
/**
|
||||
* Reads the recources from the given stream
|
||||
*
|
||||
* @param in the input stream
|
||||
*/
|
||||
public Resources(InputStream in) {
|
||||
this(loadMap(in));
|
||||
}
|
||||
|
||||
private static HashMap<String, String> loadMap(InputStream in) {
|
||||
XStream xStream = getxStream();
|
||||
return (HashMap<String, String>) xStream.fromXML(in);
|
||||
}
|
||||
|
||||
void save(OutputStream out) throws IOException {
|
||||
XStream xStream = getxStream();
|
||||
try (Writer w = new OutputStreamWriter(out, "utf-8")) {
|
||||
w.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
|
||||
xStream.marshal(resourceMap, new PrettyPrintWriter(w));
|
||||
}
|
||||
}
|
||||
|
||||
void put(String key, String value) {
|
||||
resourceMap.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a entry by the given key
|
||||
*
|
||||
* @param key the key
|
||||
* @return the entry
|
||||
*/
|
||||
public String get(String key) {
|
||||
return resourceMap.get(key);
|
||||
}
|
||||
|
||||
static class MapEntryConverter implements Converter {
|
||||
|
||||
public boolean canConvert(Class clazz) {
|
||||
return Map.class.isAssignableFrom(clazz);
|
||||
}
|
||||
|
||||
public void marshal(Object value, HierarchicalStreamWriter writer, MarshallingContext context) {
|
||||
Map map = (Map) value;
|
||||
for (Object obj : map.entrySet()) {
|
||||
Map.Entry entry = (Map.Entry) obj;
|
||||
writer.startNode("string");
|
||||
writer.addAttribute("name", entry.getKey().toString());
|
||||
writer.setValue(entry.getValue().toString());
|
||||
writer.endNode();
|
||||
}
|
||||
}
|
||||
|
||||
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
while (reader.hasMoreChildren()) {
|
||||
reader.moveDown();
|
||||
String key = reader.getAttribute("name");
|
||||
String value = reader.getValue();
|
||||
map.put(key, value);
|
||||
reader.moveUp();
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
public static void main(String[] args) throws IOException {
|
||||
ResourceBundle bundle = ResourceBundle.getBundle("lang/lang", Locale.GERMAN);
|
||||
Resources r = new Resources(bundle);
|
||||
r.save(new FileOutputStream("/home/hneemann/Dokumente/Java/digital/src/main/resources/lang/lang_de.xml"));
|
||||
}*/
|
||||
}
|
6
src/main/java/de/neemann/gui/language/package-info.java
Normal file
6
src/main/java/de/neemann/gui/language/package-info.java
Normal file
@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Simple classes to replace the java resource bundles
|
||||
*
|
||||
* @author hneemann
|
||||
*/
|
||||
package de.neemann.gui.language;
|
5
src/main/resources/lang/lang.xml
Normal file
5
src/main/resources/lang/lang.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<languages>
|
||||
<lang name="en">English</lang>
|
||||
<lang name="de">Deutsch</lang>
|
||||
</languages>
|
@ -1,356 +0,0 @@
|
||||
digital=Digital
|
||||
message=Digital\n\nEin einfacher Simulator f\u00FCr digitale Schaltkreise.\n\nGeschrieben von Helmut Neemann 2016
|
||||
ok=Ok
|
||||
addr=Adresse
|
||||
#Library
|
||||
lib_Logic=Logisch
|
||||
lib_io=IO
|
||||
lib_mux=Multiplexer
|
||||
lib_wires=Leitungen
|
||||
lib_flipFlops=FlipFlops
|
||||
lib_memory=Speicher
|
||||
lib_arithmetic=Arithmetik
|
||||
key_Bits=Datenbits
|
||||
key_Inputs=Anzahl der Eing\u00E4nge
|
||||
key_Label=Bezeichnung
|
||||
key_Value=Wert
|
||||
key_Default=Vorgabe
|
||||
key_Default_tt=Wird beim Schaltungsstart gesetzt
|
||||
key_Color=Farbe
|
||||
key_InputSplitting=Eingangsaufteilung
|
||||
key_InputSplitting_tt=Zum Beispiel "4,2,2" oder "[Bits]*[Anzahl] wie "1*16" f\u00FCr 16 einzelne Bits
|
||||
key_OutputSplitting=Ausgangsaufteilung
|
||||
key_OutputSplitting_tt=Zum Beispiel "4,2,2" oder "[Bits]*[Anzahl] wie "1*16" f\u00FCr 16 einzelne Bits
|
||||
key_runRealTime=Echtzeittakt starten
|
||||
key_runRealTime_tt=Wenn eingeschaltet, wird beim Start der Schaltung der Echtzeittakt gestartet
|
||||
key_Frequency=Frequenz/Hz
|
||||
key_Frequency_tt=Gibt die Frequenz an, wenn der Echtzeittakt aktiviert ist
|
||||
key_SelectorBits=Anzahl der Auswahlbits
|
||||
key_Signed=Vorzeichen
|
||||
key_Data=Daten
|
||||
key_AddrBits=Adress Bits
|
||||
key_flipSelPos=Tausche Position des Selectors
|
||||
key_rotation=Rotation
|
||||
key_Width=Breite
|
||||
key_Width_tt=Breite des Symbols wenn diese Schaltung in eine andere eingef\u00FCgt wird.
|
||||
key_Cycles=Timeout Zyklen
|
||||
key_Cycles_tt=Wenn nach dieser Anzahl von Takten kein Break eingegangen ist, wird ein Fehler erzeugt
|
||||
key_termWidth=Zeichen pro Zeile
|
||||
key_termHeight=Zeilen
|
||||
key_valueIsProbe=Als Messwert verwenden
|
||||
key_valueIsProbe_tt=Wenn gesetzt, taucht der Wert als Messwert in Graph und Tabelle auf
|
||||
key_showList=Zeige Listing an, wenn verf\u00FCgbar
|
||||
key_showDataTable=Zeige Messwertetabelle
|
||||
key_showDataGraph=Zeige Messwertegraph
|
||||
key_showDataGraphMicro=Zeige Messwertgraph im Gatterschrittmodus
|
||||
key_maxStepCount=Maximale Messpunktezahl
|
||||
key_microStep=Zeige Einzelgatterschritte
|
||||
key_isHighZ=Eingang kann hochohmig sein
|
||||
key_Description=Beschreibung
|
||||
key_NetName=Netzname
|
||||
key_NetName_tt=Alle Netze mit identischem Namen werden miteinander verbunden.
|
||||
key_IEEEShapes=Verwende US Symbole (IEEE 91-1984)
|
||||
key_IEEEShapes_tt=Verwende IEEE 91-1984 Symbole anstelle der rechteckige Symbole
|
||||
key_intFormat=Zahlenformat
|
||||
key_intFormat_def=Vorgabe
|
||||
key_intFormat_dec=Dezimal
|
||||
key_intFormat_hex=Hexadezimal
|
||||
key_intFormat_bin=Bin\u00E4r
|
||||
key_intFormat_ascii=ASCII
|
||||
key_Language=Sprache
|
||||
|
||||
attr_openCircuitLabel=Enthaltene Schaltung:
|
||||
attr_openCircuit=Anzeigen
|
||||
attr_openCircuit_tt=\u00D6ffnet die Schaltung in einem neuen Fenster.
|
||||
|
||||
|
||||
elem_And=Und
|
||||
elem_NAnd=Nicht Und
|
||||
elem_Or=Oder
|
||||
elem_NOr=Nicht Oder
|
||||
elem_XOr=Exclusiv Oder
|
||||
elem_XNOr=Nicht Exclusiv Oder
|
||||
elem_Not=Nicht
|
||||
elem_LookUpTable=LookUpTable
|
||||
elem_LookUpTable_tt=Erzeugt einen Ausgabewert aus einer Tabelle.\nAuf diese Weise kann jedes kombinatorische Gatter erzeugt werden.
|
||||
elem_In=Eingang
|
||||
elem_In_tt=Ein Eingang der genutzt werden kann, um eine Verbindung zu einem eingebettetem Element herzustellen.
|
||||
elem_Out=Ausgang
|
||||
elem_Out_tt=Ein Ausgang der genutzt werden kann, um eine Verbindung zu einem eingebettetem Element herzustellen.
|
||||
elem_LED=LED
|
||||
elem_Button=Taster
|
||||
elem_Probe=Messwert
|
||||
elem_Probe_tt=Ein Messwert, welcher im Messwertgraphen dargestellt werden kann.
|
||||
elem_Seven-Seg=Siebensegmentanzeige
|
||||
elem_Seven-Seg_tt=Siebensegmentanzeige bei der jedes Segment \u00FCber einen eigenen Eingang gesteuert werden kann.
|
||||
elem_Seven-Seg-Hex=Siebensegmentanzeige Hex
|
||||
elem_Seven-Seg-Hex_tt=Siebensegmentanzeige mit einem 4 Bit hexadezimalem Eingang.
|
||||
elem_Terminal=Terminal
|
||||
elem_Terminal_tt=Ein Terminal auf dem ASCII-Zeichen ausgegeben werden k\u00F6nnen. \u00D6ffnet ein eigenes Fenster.
|
||||
elem_Terminal_pin_D=Terminal_pin_D
|
||||
elem_Terminal_pin_C=Terminal_pin_C
|
||||
elem_Data=Messwertgraph
|
||||
elem_Data_tt=Zeigt einen Messwertgraphen innerhalb des Schaltkreisbereichs.\nEs k\u00F6nnen sowohl komplette Takte als auch einzelne Gatter-Ver\u00E4nderungen angezeigt werden.
|
||||
elem_Multiplexer=Multiplexer
|
||||
elem_Multiplexer_tt=W\u00E4hlt eine der Eingangsleitungen aus, und gibt dessen Wert am Ausgang aus.
|
||||
elem_Multiplexer_pin_sel=Mit dieser Leitung wird der Eingang ausgew\u00E4hlt
|
||||
elem_Demultiplexer=Demultiplexer
|
||||
elem_Demultiplexer_tt=Gibt ein Eingangssignal auf einem w\u00E4hlbaren Ausgang aus, die anderen Ausg\u00E4nge sind Null.
|
||||
elem_Demultiplexer_pin_sel=Mit dieser Leitung wird der Ausgang ausgew\u00E4hlt
|
||||
elem_Decoder=Decoder
|
||||
elem_Decoder_tt=Eine w\u00E4hlbare Ausgangsleitung geht auf Eins, alle anderen sind Null.
|
||||
elem_Decode_pin_sel=Mit dieser Leitung wird der zu aktivierende Ausgang ausgew\u00E4hlt
|
||||
elem_Const=Konstante
|
||||
elem_Const_tt=Eine einfache Konstante.
|
||||
elem_Splitter=Splitter
|
||||
elem_Splitter_tt=F\u00FChrt mehrere Leitungen zu einer gemeinsamen Leitung zusammen, bzw. splittet diese wieder auf.
|
||||
elem_Clock=Takt
|
||||
elem_Clock_tt=Ein Takstignal. Dieses Taksignal kann \u00FCber die Echtzeituhr gesteuert werden.
|
||||
elem_Delay=Verz\u00F6gerung
|
||||
elem_Delay_tt=Verz\u00F6gert ein Signal f\u00FCr eine Gatterlaufzeit.
|
||||
elem_Driver=Treiber
|
||||
elem_DriverInvSel=Treiber, invertierte Auswahl
|
||||
elem_Reset=Reset
|
||||
elem_Reset_tt=Der Ausgang dieses Elements ist Null, solange sich die Schaltung nach dem Einschalten in der Stabilisierungsphase befindet.\nHat sich die Schaltung stabilisiert wird der Ausgang auf Eins gesetzt.
|
||||
elem_Break=Break
|
||||
elem_Break_tt=Wenn der Eingang dieses Elementes zu Eins wird, wird der schnelle Simulationslauf beendet.\nDieses Element kann verwendet werden, um einen Assemblerbefehl BRK zu implementieren.\nEs kann dann ein Programm bis zum n\u00E4chsten BRK-Befehl ausgef\u00FChrt werden.
|
||||
elem_RS_FF=RS_FF
|
||||
elem_JK_FF=JK_FF
|
||||
elem_D_FF=D_FF
|
||||
elem_T_FF=T_FF
|
||||
elem_Register=Register
|
||||
elem_ROM=ROM
|
||||
elem_ROM_pin_address=Adresse des Datenwortes welches ausgelesen werden soll.
|
||||
elem_ROM_pin_sel=Ist dieser Pin high (1) ist der Ausgang aktiviert. Ist er low (0) ist der Ausgang hochohmig.
|
||||
elem_ROM_pin_data=Hier wird das Datenwort ausgegeben, wenn der Baustein aktiviert ist.
|
||||
elem_RAMDualPort=RAMDualPort
|
||||
elem_RAMDualPort_tt=Ein RAM Modul mit getrennten Anschl\u00FCssen f\u00FCr Lesen und Schreiben.\nEin gibt einen Eingang f\u00FCr das Beschreiben und einen Ausgang f\u00FCr das Auslesen der gespeicherten Daten.
|
||||
elem_RAMDualPort_pin_addr=Die Adresse, an der gelesen und geschrieben wird.
|
||||
elem_RAMDualPort_pin_dataIn=Der Daten die gespeichert werden sollen
|
||||
elem_RAMDualPort_pin_str=Ist diese Leitung high wird das Datenwort gespeichert, wenn der Takt ansteigt.
|
||||
elem_RAMDualPort_pin_c=Der Takt
|
||||
elem_RAMDualPort_pin_ld=Ist diese Leitung high, wird der Ausgang aktiviert, und die Daten liegen dort an
|
||||
elem_RAMDualPort_pin_dataOut=Der Datenausgang
|
||||
elem_RAMSinglePort=RAMSinglePort
|
||||
elem_RAMSinglePort_tt=Ein RAM Module mit einem bidirektionellem Anschluss f\u00FCr das Lesen und Schreiben von Daten.
|
||||
elem_RAMSinglePort_pin_addr=Der Adresseingang.
|
||||
elem_RAMSinglePort_pin_str=Ist dieser Eingang 1 wird mit steigendem Takt das Datenwort gespeichert.
|
||||
elem_RAMSinglePort_pin_c=Takt
|
||||
elem_RAMSinglePort_pin_ld=Ist dieser Eingang 1 wird das Datenwort ausgegeben.
|
||||
elem_RAMSinglePort_pin_d=Der bidirektionale Datenanschlu\u00DF.
|
||||
|
||||
elem_Counter=Z\u00E4hler
|
||||
elem_Add=Addierer
|
||||
elem_Sub=Subtrahierer
|
||||
elem_Mul=Multiplikator
|
||||
elem_Comparator=Komparator
|
||||
|
||||
elem_Text=Text
|
||||
elem_Text_tt=Zeigt einen einfachen Text in der Schaltung an.
|
||||
|
||||
rot_0=0\u00B0
|
||||
rot_90=90\u00B0
|
||||
rot_180=180\u00B0
|
||||
rot_270=270\u00B0
|
||||
err_seemsToOscillate=Die Schaltung scheint zu oszillieren!\nZur Analyse k\u00F6nnen Sie die Schaltung im Gatterschrittmodus ausf\u00FChren.
|
||||
err_notInitialized=Die Schaltung ist nicht initialisiert
|
||||
err_isAlreadyInitialized=Die Schaltung wurde bereits initialisiert
|
||||
err_noClockFound=Kein Taktgeber in der Schaltung gefunden
|
||||
err_moreThenOneClocksFound=Es gibt mehr als einen Taktgeber
|
||||
err_noInputsAvailable=Es sind keine Eing\u00E4nge vorhanden
|
||||
err_burnError=Es sind mehrere zusammengeschaltete Ausg\u00E4nge gleichzeitig aktiv
|
||||
err_needs_N0_bits_found_N2_bits=Es werden {0} Bits ben\u00F6tigt, aber es wurden {1} Bits gefunden
|
||||
err_selectorInputCountMismatch=Die Zahl der Eing\u00E4nge passt nicht zur Bitbreite der Auswahlleitung
|
||||
err_splitterBitsMismatch=Die Bitzahl am Spiltter passt nicht
|
||||
err_pinWithoutName=Es gibt einen Pin ohne einen Namen in {0}
|
||||
err_pin_N_unknown=Pin {0} ist unbekannt
|
||||
err_pin_N_notFound=Pin {0} wurde nicht gefunden.
|
||||
err_netOfPin_N_notFound=Das Netz von Pin {0} wurde nicht gefunden
|
||||
err_N_isNotInputOrOutput=Pin {0} in Element {1} ist werder Eingang noch Ausgang
|
||||
err_duplicatePinLabel=Pin {0} in Element {1} exitiert mehrfach
|
||||
err_pin_N0_atElement_N1_notFound=Pin {0} von Element {1} wurde nicht gefunden
|
||||
err_noValueSetFor_N0_atElement_N1=Kein Wert gesetzt f\u00FCr {0} an Element {1}
|
||||
err_onOutConnectedToWire=Kein Ausgang mit der Leitung verbunden
|
||||
err_output_N_notDefined=Ausgang {0} ist nicht definiert
|
||||
err_pinNotPresent=Pin nicht vorhanden
|
||||
err_duplicateElement_N=Doppeltes Element {0}
|
||||
err_element_N_notFound=Element {0} nicht gefunden
|
||||
err_spitterDefSyntaxError=Fehler in der Definition {0} eines Splitters
|
||||
err_noShapeFoundFor_N=Es wurde kein Diagramm f\u00FCr {0} gefunden.
|
||||
err_invalidFileFormat=Ung\u00FCltiges Dateiformat
|
||||
err_readOfHighZ=Lesen einer hochohmigen Leitung
|
||||
err_notAllOutputsSameBits=Es haben nicht alle Ausg\u00E4nge die gleiche Bitbreite
|
||||
err_notAllOutputsSupportHighZ=Wenn mehrere Ausg\u00E4nge verbunden sind, m\u00FCssen alle Ausg\u00E4nge Tri-State Ausg\u00E4nge sein
|
||||
err_breakTimeOut=Nach {0} Zyklen ist kein Break aufgetreten
|
||||
err_labelNotConnectedToNet_N=Ein Tunnel {0} ist nicht verbunden!
|
||||
err_DFlipflopWithoutALabel=Flipflop hat keine Bezeichnung!
|
||||
err_analyseNoInputs=Die Schaltung hat keine benannten Eing\u00E4nge
|
||||
err_analyseNoOutputs=Die Schaltung hat keine benannten Ausg\u00E4nge
|
||||
err_analyseValue_N_IsNotBinary=Der Wert {0} hat mehr als ein Bit.
|
||||
err_containsVarAndNotVar=Enth\u00E4lt [var] und [nicht var]
|
||||
err_varNotDefined_N=Variable {0} ist nicht definiert.
|
||||
err_exact_N0_valuesNecessaryNot_N1=Es sind {0} Variablen erforderlich, nicht {1}
|
||||
err_builder_exprNotSupported=Ausdruck {0} wird nicht unterst\u00FCtzt.
|
||||
err_builder_operationNotSupported=Operation {0} wird nicht unterst\u00FCtzt.
|
||||
err_toManyInputs_N=Zu viele Eing\u00E4nge. Es sind nur {0} Eing\u00E4nge erlaubt.
|
||||
err_oneResultIsRequired=Table zu klein: Mindestens ein Ergebnis ist erforderlich!
|
||||
err_tableBecomesToSmall=Es sind mindestens zwei Eing\u00E4nge erforderlich!
|
||||
err_varNotAllowedInCUPL_N= In CUPL ist die Variable {0} nicht erlaubt!
|
||||
err_pinMap_Pin_N_AssignedTwicerPin=Pin {0} doppelt belegt!
|
||||
err_pinMap_toMannyInputsDefined=Zu viele Eing\u00E4nge definiert!
|
||||
err_pinMap_toMannyOutputsDefined=Zu viele Ausg\u00E4nge definiert!
|
||||
err_pinMap_noEqualsfound=Kein \"=\" gefunden!
|
||||
err_pinMap_NoNameForPin_N=Kein Name f\u00FCr Pin {0}
|
||||
err_pinMap_input_N_notAllowed=Eingang {0} ist nicht erlaubt!
|
||||
err_pinMap_output_N_notAllowed=Ausgang {0} ist nicht erlaubt!
|
||||
err_cannotAnalyse_N=Element {0} kann nicht analysiert werden.
|
||||
err_ffNeedsToBeConnectedToClock=Flipflops m\u00FCssen direkt mit dem Takt verbunden sein.
|
||||
err_aSingleClockNecessary=Es darf nur einen Takt geben.
|
||||
|
||||
attr_dialogTitle=Eigenschaften
|
||||
msg_errorEditingValue=Fehler bei der Eingabe eines Wertes
|
||||
msg_color=Farbe
|
||||
msg_errorImportingModel=Fehler beim Import einer Schaltung
|
||||
msg_errorCreatingModel=Fehler beim Erzeugen der Schaltung
|
||||
msg_errorWritingFile=Fehler beim Schreiben einer Datei
|
||||
msg_errorReadingFile=Fehler beim Lesen einer Datei
|
||||
msg_errorCalculatingStep=Fehler beim Berechnen eines Schrittes
|
||||
msg_missingShape_N=Es fehlt ein Diagramm f\u00FCr {0}
|
||||
msg_fastRunError=Ein Fehler beim schnellen Lauf
|
||||
msg_errorReadingListing_N0=Fehler beim Laden des Listings {0}
|
||||
msg_clockError=Fehler bei der Berechnung einer Takt\u00E4nderung
|
||||
msg_frequency_N=Die maximale Frequenz ber\u00E4gt {0}Hz.
|
||||
msg_annalyseErr=Fehler bei der Analyse der Schaltung
|
||||
msg_errorDuringCalculation=Fehler w\u00E4hrend der Vereinfachung.
|
||||
msg_N_nodes={0} aktive Elemente
|
||||
msg_restartNeeded=Die \u00C4nderung erfordert einen Neustart!
|
||||
msg_pinMap_inputs=Eing\u00E4nge
|
||||
msg_pinMap_outputs=Ausg\u00E4nge
|
||||
msg_pinMap_pin_N_is_N=Pin {0}: {1}
|
||||
msg_pinMap_notUsed=nicht verwendet
|
||||
|
||||
|
||||
stat_clocks={0} Halbzyklen
|
||||
|
||||
btn_edit=Bearbeiten
|
||||
btn_load=Laden
|
||||
btn_reload=Neu Laden
|
||||
btn_reload_tt=Letzte Datei noch einmal laden
|
||||
btn_discard=Verwerfen
|
||||
btn_save=Speichern
|
||||
btn_editFurther=Weiter bearbeiten
|
||||
|
||||
|
||||
tt_moveItemUp=Eintrag nach oben schieben
|
||||
tt_moveItemDown=Eintrag nach unten schieben
|
||||
tt_deleteItem=Eintrag l\u00F6schen
|
||||
|
||||
menu_file=Datei
|
||||
menu_new=Neu
|
||||
menu_open=\u00D6ffnen
|
||||
menu_openWin=\u00D6ffnen in neuem Fenster
|
||||
menu_openWin_tt=\u00D6ffnet eine Schaltung in einem neuen Fenster
|
||||
menu_openRecent=Zuletzt verwendet
|
||||
menu_save=Speichern
|
||||
menu_saveAs=Speichern unter
|
||||
menu_elements=Elemente
|
||||
menu_custom=Benutzerdefiniert
|
||||
menu_import=Importieren
|
||||
menu_import_tt=Importiert eine Schaltung als verwendbares Bauteil
|
||||
menu_refresh=Alle neu laden
|
||||
menu_refresh_tt=Alle importierten Schaltungen werden neu geladen
|
||||
menu_element=Elemente bearbeiten
|
||||
menu_element_tt=Bearbeitet die vorhandenen Elemente oder dessen Eigenschaften
|
||||
menu_edit=Bearbeiten
|
||||
menu_orderInputs=Sortieren der Eing\u00E4nge
|
||||
menu_orderInputs_tt=Sortiert die Eing\u00E4nge f\u00FCr die Verwendung als eingebettete Schaltung
|
||||
menu_orderOutputs=Sortieren der Ausg\u00E4nge
|
||||
menu_orderOutputs_tt=Sortiert die Ausg\u00E4nge f\u00FCr die Verwendung als eingebettete Schaltung
|
||||
menu_orderMeasurements=Sortieren der Messwerte
|
||||
menu_orderMeasurements_tt=Sortiert die Messwerte f\u00FCr die grafische Anzeige und die Tabellenansicht
|
||||
menu_run=Start
|
||||
menu_run_tt=Startet die Simulation der Schaltung
|
||||
menu_step=Schritt
|
||||
menu_step_tt=F\u00FChrt einen Einzelgatterschritt aus
|
||||
menu_micro=Gatterschrittmodus
|
||||
menu_micro_tt=Startet die Schaltung im Gatterschrittmodus
|
||||
menu_speedTest=Geschwindigkeitstest
|
||||
menu_speedTest_tt=F\u00FChrt einen Geschwindigkeitstest durch. Es wird die maximal m\u00F6gliche Taktfrequenz ermittelt
|
||||
menu_help=Hilfe
|
||||
menu_editAttributes=Schaltungsattribute bearbeiten
|
||||
menu_editAttributes_tt=Diese Attribute beeinflussen die Schaltung, wenn sie in andere Schaltungen eingebettet wird.
|
||||
menu_fast=Schneller Lauf
|
||||
menu_fast_tt=F\u00FChrt die Schaltung aus, bis ein Stopsignal \u00FCber ein BRK-Element detektiert wird.
|
||||
menu_export=Export
|
||||
menu_exportPNGSmall=Export PNG klein
|
||||
menu_exportPNGLarge=Export PNG gro\u00DF
|
||||
menu_exportSVG=Export SVG
|
||||
menu_exportSVGLaTex=Export SVG+LaTeX
|
||||
menu_delete=L\u00F6schen
|
||||
menu_delete_tt=L\u00F6scht ausgew\u00E4hlte Elemente
|
||||
menu_editRunAttributes=Simulationseinstellungen
|
||||
menu_editRunAttributes_tt=Einstellungen f\u00FCr den Start der Simulation
|
||||
menu_saveData=Daten speichern
|
||||
menu_saveData_tt=Speichert die Daten als CSV Datei
|
||||
menu_analyse=Analyse
|
||||
menu_analyse_tt=Analyse der aktuellen Schaltung
|
||||
menu_synthesise=Synthese
|
||||
menu_synthesise_tt=Erzeugt minimale boolsche Ausdr\u00FCcke, welche durch eine Wahrheitstabelle beschrieben werden.
|
||||
menu_view=Ansicht
|
||||
menu_maximize=Maximieren
|
||||
menu_zoomIn=Vergr\u00F6\u00DFern
|
||||
menu_zoomOut=Verkleinern
|
||||
menu_table_new=Neu
|
||||
menu_table_N_variables={0} Variablen
|
||||
menu_table_new_combinatorial=Kombintorisch
|
||||
menu_table_new_sequential=Automat
|
||||
menu_table_reorder=Umsortieren
|
||||
menu_table_inputs=Eing\u00E4nge
|
||||
menu_table_outputs=Ausg\u00E4nge
|
||||
menu_table_newColumns=Spalten hinzuf\u00FCgen
|
||||
menu_table_columnsAdd=Ergebnisspalte hinzuf\u00FCgen
|
||||
menu_table_columnsAdd_tt=F\u00FCgt der Tabelle eine Ergebnisspalte hinzu.
|
||||
menu_table_columnsAddVariable=Variable hinzuf\u00FCgen
|
||||
menu_table_columnsAddVariable_tt=F\u00FCgt der Tabelle eine Variablenspalte hinzu.
|
||||
menu_table_create=Erzeugen
|
||||
menu_table_createCircuit=Schaltung
|
||||
menu_table_createCircuit_tt=Erzeugt eine Schaltung, welche der Wahrheitstabelle entspricht.
|
||||
menu_table_createNAnd=Schaltung mit NAnd-Gattern
|
||||
menu_table_createNAnd_tt=Erzeugt eine Schaltung, welche der Wahrheitstabelle entspricht nur mit NAnd-Gattern.
|
||||
menu_table_createNOr=Schaltung mit NOr-Gattern
|
||||
menu_table_createNOr_tt=Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit NOr-Gattern.
|
||||
menu_table_createTwo=Schaltung mit Gattern mit zwei Eing\u00E4ngen
|
||||
menu_table_createTwo_tt=Erzeugt eine Schaltung und verwendt nur Gatter mit zwei Eing\u00E4ngen
|
||||
menu_table_createNAndTwo=Schaltung mit NAnd-Gattern mit zwei Eing\u00E4ngen
|
||||
menu_table_createNAndTwo_tt=Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit NAnd-Gattern mit zwei Eing\u00E4ngen.
|
||||
menu_table_createNOrTwo=Schaltung mit NOr-Gattern mit zwei Eing\u00E4ngen
|
||||
menu_table_createNOrTwo_tt=Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit NOr-Gattern mit zwei Eing\u00E4ngen.
|
||||
menu_table_createCUPL=CUPL
|
||||
menu_table_createCUPL_tt=Erzeugt eine CUPL Quelldatei welche die Schaltung beschreibt.
|
||||
menu_table_create_hardware=Bausteine
|
||||
menu_table_create_jedec=JEDEC (*.jed)
|
||||
menu_table_create_jedec_tt=Erzeugt eine JEDEC Datei f\u00FCr den Baustein
|
||||
menu_table_exportTableLaTeX=Export LaTeX
|
||||
menu_copy=Kopieren
|
||||
menu_paste=Einf\u00FCgen
|
||||
menu_rotate=Rotieren
|
||||
|
||||
|
||||
menu_editSettings=Einstellungen
|
||||
menu_editSettings_tt=Bearbeitet die globalen Einstellungen
|
||||
|
||||
menu_about=\u00DCber Digital
|
||||
|
||||
win_saveChanges=\u00C4nderungen speichern?
|
||||
win_confirmExit=Beenden best\u00E4tigen!
|
||||
win_stateChanged=Die Datei wurde ver\u00E4ndert!
|
||||
win_measures=Messwerte
|
||||
win_measures_microstep=Messwerte im Einzelgattermodus
|
||||
win_measures_fullstep=Messwerte im Vollschrittmodus
|
||||
|
||||
win_listing=Listing
|
||||
win_table=Tabelle
|
||||
win_allSolutions=Alle m\u00F6glichen L\u00F6sungen
|
||||
win_pinMapDialog=Pin-Zuordnung
|
||||
win_table_exportDialog=Export
|
||||
|
408
src/main/resources/lang/lang_de.xml
Normal file
408
src/main/resources/lang/lang_de.xml
Normal file
@ -0,0 +1,408 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="addr">Adresse</string>
|
||||
<string name="attr_dialogTitle">Eigenschaften</string>
|
||||
<string name="attr_openCircuit">Anzeigen</string>
|
||||
<string name="attr_openCircuitLabel">Enthaltene Schaltung:</string>
|
||||
<string name="attr_openCircuit_tt">Öffnet die Schaltung in einem neuen Fenster.</string>
|
||||
<string name="btn_discard">Verwerfen</string>
|
||||
<string name="btn_edit">Bearbeiten</string>
|
||||
<string name="btn_editFurther">Weiter bearbeiten</string>
|
||||
<string name="btn_load">Laden</string>
|
||||
<string name="btn_reload">Neu Laden</string>
|
||||
<string name="btn_reload_tt">Letzte Datei noch einmal laden</string>
|
||||
<string name="btn_save">Speichern</string>
|
||||
<string name="digital">Digital</string>
|
||||
<string name="elem_Add">Addierer</string>
|
||||
<string name="elem_And">Und</string>
|
||||
<string name="elem_Break">Break</string>
|
||||
<string name="elem_Break_tt">Wenn der Eingang dieses Elementes zu Eins wird, wird der schnelle Simulationslauf
|
||||
beendet.
|
||||
Dieses Element kann verwendet werden, um einen Assemblerbefehl BRK zu implementieren.
|
||||
Es kann dann ein Programm bis zum nächsten BRK-Befehl ausgeführt werden.
|
||||
</string>
|
||||
<string name="elem_Button">Taster</string>
|
||||
<string name="elem_Clock">Takt</string>
|
||||
<string name="elem_Clock_tt">Ein Takstignal. Dieses Taksignal kann über die Echtzeituhr gesteuert werden.</string>
|
||||
<string name="elem_Comparator">Komparator</string>
|
||||
<string name="elem_Const">Konstante</string>
|
||||
<string name="elem_Const_tt">Eine einfache Konstante.</string>
|
||||
<string name="elem_Counter">Zähler</string>
|
||||
<string name="elem_D_FF">D_FF</string>
|
||||
<string name="elem_Data">Messwertgraph</string>
|
||||
<string name="elem_Data_tt">Zeigt einen Messwertgraphen innerhalb des Schaltkreisbereichs.
|
||||
Es können sowohl komplette Takte als auch einzelne Gatter-Veränderungen angezeigt werden.
|
||||
</string>
|
||||
<string name="elem_Decode_pin_sel">Mit dieser Leitung wird der zu aktivierende Ausgang ausgewählt</string>
|
||||
<string name="elem_Decoder">Decoder</string>
|
||||
<string name="elem_Decoder_tt">Eine wählbare Ausgangsleitung geht auf Eins, alle anderen sind Null.</string>
|
||||
<string name="elem_Delay">Verzögerung</string>
|
||||
<string name="elem_Delay_tt">Verzögert ein Signal für eine Gatterlaufzeit.</string>
|
||||
<string name="elem_Demultiplexer">Demultiplexer</string>
|
||||
<string name="elem_Demultiplexer_pin_sel">Mit dieser Leitung wird der Ausgang ausgewählt</string>
|
||||
<string name="elem_Demultiplexer_tt">Gibt ein Eingangssignal auf einem wählbaren Ausgang aus, die anderen Ausgänge
|
||||
sind Null.
|
||||
</string>
|
||||
<string name="elem_Driver">Treiber</string>
|
||||
<string name="elem_DriverInvSel">Treiber, invertierte Auswahl</string>
|
||||
<string name="elem_In">Eingang</string>
|
||||
<string name="elem_In_tt">Ein Eingang der genutzt werden kann, um eine Verbindung zu einem eingebettetem Element
|
||||
herzustellen.
|
||||
</string>
|
||||
<string name="elem_JK_FF">JK_FF</string>
|
||||
<string name="elem_LED">LED</string>
|
||||
<string name="elem_LookUpTable">LookUpTable</string>
|
||||
<string name="elem_LookUpTable_tt">Erzeugt einen Ausgabewert aus einer Tabelle.
|
||||
Auf diese Weise kann jedes kombinatorische Gatter erzeugt werden.
|
||||
</string>
|
||||
<string name="elem_Mul">Multiplikator</string>
|
||||
<string name="elem_Multiplexer">Multiplexer</string>
|
||||
<string name="elem_Multiplexer_pin_sel">Mit dieser Leitung wird der Eingang ausgewählt</string>
|
||||
<string name="elem_Multiplexer_tt">Wählt eine der Eingangsleitungen aus, und gibt dessen Wert am Ausgang aus.
|
||||
</string>
|
||||
<string name="elem_NAnd">Nicht Und</string>
|
||||
<string name="elem_NOr">Nicht Oder</string>
|
||||
<string name="elem_Not">Nicht</string>
|
||||
<string name="elem_Or">Oder</string>
|
||||
<string name="elem_Out">Ausgang</string>
|
||||
<string name="elem_Out_tt">Ein Ausgang der genutzt werden kann, um eine Verbindung zu einem eingebettetem Element
|
||||
herzustellen.
|
||||
</string>
|
||||
<string name="elem_Probe">Messwert</string>
|
||||
<string name="elem_Probe_tt">Ein Messwert, welcher im Messwertgraphen dargestellt werden kann.</string>
|
||||
<string name="elem_RAMDualPort">RAMDualPort</string>
|
||||
<string name="elem_RAMDualPort_pin_addr">Die Adresse, an der gelesen und geschrieben wird.</string>
|
||||
<string name="elem_RAMDualPort_pin_c">Der Takt</string>
|
||||
<string name="elem_RAMDualPort_pin_dataIn">Der Daten die gespeichert werden sollen</string>
|
||||
<string name="elem_RAMDualPort_pin_dataOut">Der Datenausgang</string>
|
||||
<string name="elem_RAMDualPort_pin_ld">Ist diese Leitung high, wird der Ausgang aktiviert, und die Daten liegen dort
|
||||
an
|
||||
</string>
|
||||
<string name="elem_RAMDualPort_pin_str">Ist diese Leitung high wird das Datenwort gespeichert, wenn der Takt
|
||||
ansteigt.
|
||||
</string>
|
||||
<string name="elem_RAMDualPort_tt">Ein RAM Modul mit getrennten Anschlüssen für Lesen und Schreiben.
|
||||
Ein gibt einen Eingang für das Beschreiben und einen Ausgang für das Auslesen der gespeicherten Daten.
|
||||
</string>
|
||||
<string name="elem_RAMSinglePort">RAMSinglePort</string>
|
||||
<string name="elem_RAMSinglePort_pin_addr">Der Adresseingang.</string>
|
||||
<string name="elem_RAMSinglePort_pin_c">Takt</string>
|
||||
<string name="elem_RAMSinglePort_pin_d">Der bidirektionale Datenanschluß.</string>
|
||||
<string name="elem_RAMSinglePort_pin_ld">Ist dieser Eingang 1 wird das Datenwort ausgegeben.</string>
|
||||
<string name="elem_RAMSinglePort_pin_str">Ist dieser Eingang 1 wird mit steigendem Takt das Datenwort gespeichert.
|
||||
</string>
|
||||
<string name="elem_RAMSinglePort_tt">Ein RAM Module mit einem bidirektionellem Anschluss für das Lesen und Schreiben
|
||||
von Daten.
|
||||
</string>
|
||||
<string name="elem_ROM">ROM</string>
|
||||
<string name="elem_ROM_pin_address">Adresse des Datenwortes welches ausgelesen werden soll.</string>
|
||||
<string name="elem_ROM_pin_data">Hier wird das Datenwort ausgegeben, wenn der Baustein aktiviert ist.</string>
|
||||
<string name="elem_ROM_pin_sel">Ist dieser Pin high (1) ist der Ausgang aktiviert. Ist er low (0) ist der Ausgang
|
||||
hochohmig.
|
||||
</string>
|
||||
<string name="elem_RS_FF">RS_FF</string>
|
||||
<string name="elem_Register">Register</string>
|
||||
<string name="elem_Reset">Reset</string>
|
||||
<string name="elem_Reset_tt">Der Ausgang dieses Elements ist Null, solange sich die Schaltung nach dem Einschalten
|
||||
in der Stabilisierungsphase befindet.
|
||||
Hat sich die Schaltung stabilisiert wird der Ausgang auf Eins gesetzt.
|
||||
</string>
|
||||
<string name="elem_Seven-Seg">Siebensegmentanzeige</string>
|
||||
<string name="elem_Seven-Seg-Hex">Siebensegmentanzeige Hex</string>
|
||||
<string name="elem_Seven-Seg-Hex_tt">Siebensegmentanzeige mit einem 4 Bit hexadezimalem Eingang.</string>
|
||||
<string name="elem_Seven-Seg_tt">Siebensegmentanzeige bei der jedes Segment über einen eigenen Eingang gesteuert
|
||||
werden kann.
|
||||
</string>
|
||||
<string name="elem_Splitter">Splitter</string>
|
||||
<string name="elem_Splitter_tt">Führt mehrere Leitungen zu einer gemeinsamen Leitung zusammen, bzw. splittet diese
|
||||
wieder auf.
|
||||
</string>
|
||||
<string name="elem_Sub">Subtrahierer</string>
|
||||
<string name="elem_T_FF">T_FF</string>
|
||||
<string name="elem_Terminal">Terminal</string>
|
||||
<string name="elem_Terminal_pin_C">Terminal_pin_C</string>
|
||||
<string name="elem_Terminal_pin_D">Terminal_pin_D</string>
|
||||
<string name="elem_Terminal_tt">Ein Terminal auf dem ASCII-Zeichen ausgegeben werden können. Öffnet ein eigenes
|
||||
Fenster.
|
||||
</string>
|
||||
<string name="elem_Text">Text</string>
|
||||
<string name="elem_Text_tt">Zeigt einen einfachen Text in der Schaltung an.</string>
|
||||
<string name="elem_XNOr">Nicht Exclusiv Oder</string>
|
||||
<string name="elem_XOr">Exclusiv Oder</string>
|
||||
<string name="err_DFlipflopWithoutALabel">Flipflop hat keine Bezeichnung!</string>
|
||||
<string name="err_N_isNotInputOrOutput">Pin {0} in Element {1} ist werder Eingang noch Ausgang</string>
|
||||
<string name="err_aSingleClockNecessary">Es darf nur einen Takt geben.</string>
|
||||
<string name="err_analyseNoInputs">Die Schaltung hat keine benannten Eingänge</string>
|
||||
<string name="err_analyseNoOutputs">Die Schaltung hat keine benannten Ausgänge</string>
|
||||
<string name="err_analyseValue_N_IsNotBinary">Der Wert {0} hat mehr als ein Bit.</string>
|
||||
<string name="err_breakTimeOut">Nach {0} Zyklen ist kein Break aufgetreten</string>
|
||||
<string name="err_builder_exprNotSupported">Ausdruck {0} wird nicht unterstützt.</string>
|
||||
<string name="err_builder_operationNotSupported">Operation {0} wird nicht unterstützt.</string>
|
||||
<string name="err_burnError">Es sind mehrere zusammengeschaltete Ausgänge gleichzeitig aktiv</string>
|
||||
<string name="err_cannotAnalyse_N">Element {0} kann nicht analysiert werden.</string>
|
||||
<string name="err_containsVarAndNotVar">Enthält [var] und [nicht var]</string>
|
||||
<string name="err_duplicateElement_N">Doppeltes Element {0}</string>
|
||||
<string name="err_duplicatePinLabel">Pin {0} in Element {1} exitiert mehrfach</string>
|
||||
<string name="err_element_N_notFound">Element {0} nicht gefunden</string>
|
||||
<string name="err_exact_N0_valuesNecessaryNot_N1">Es sind {0} Variablen erforderlich, nicht {1}</string>
|
||||
<string name="err_ffNeedsToBeConnectedToClock">Flipflops müssen direkt mit dem Takt verbunden sein.</string>
|
||||
<string name="err_invalidFileFormat">Ungültiges Dateiformat</string>
|
||||
<string name="err_isAlreadyInitialized">Die Schaltung wurde bereits initialisiert</string>
|
||||
<string name="err_labelNotConnectedToNet_N">Ein Tunnel {0} ist nicht verbunden!</string>
|
||||
<string name="err_moreThenOneClocksFound">Es gibt mehr als einen Taktgeber</string>
|
||||
<string name="err_needs_N0_bits_found_N2_bits">Es werden {0} Bits benötigt, aber es wurden {1} Bits gefunden
|
||||
</string>
|
||||
<string name="err_netOfPin_N_notFound">Das Netz von Pin {0} wurde nicht gefunden</string>
|
||||
<string name="err_noClockFound">Kein Taktgeber in der Schaltung gefunden</string>
|
||||
<string name="err_noInputsAvailable">Es sind keine Eingänge vorhanden</string>
|
||||
<string name="err_noShapeFoundFor_N">Es wurde kein Diagramm für {0} gefunden.</string>
|
||||
<string name="err_noValueSetFor_N0_atElement_N1">Kein Wert gesetzt für {0} an Element {1}</string>
|
||||
<string name="err_notAllOutputsSameBits">Es haben nicht alle Ausgänge die gleiche Bitbreite</string>
|
||||
<string name="err_notAllOutputsSupportHighZ">Wenn mehrere Ausgänge verbunden sind, müssen alle Ausgänge Tri-State
|
||||
Ausgänge sein
|
||||
</string>
|
||||
<string name="err_notInitialized">Die Schaltung ist nicht initialisiert</string>
|
||||
<string name="err_onOutConnectedToWire">Kein Ausgang mit der Leitung verbunden</string>
|
||||
<string name="err_oneResultIsRequired">Table zu klein: Mindestens ein Ergebnis ist erforderlich!</string>
|
||||
<string name="err_output_N_notDefined">Ausgang {0} ist nicht definiert</string>
|
||||
<string name="err_pinMap_NoNameForPin_N">Kein Name für Pin {0}</string>
|
||||
<string name="err_pinMap_Pin_N_AssignedTwicerPin">Pin {0} doppelt belegt!</string>
|
||||
<string name="err_pinMap_input_N_notAllowed">Eingang {0} ist nicht erlaubt!</string>
|
||||
<string name="err_pinMap_noEqualsfound">Kein "=" gefunden!</string>
|
||||
<string name="err_pinMap_output_N_notAllowed">Ausgang {0} ist nicht erlaubt!</string>
|
||||
<string name="err_pinMap_toMannyInputsDefined">Zu viele Eingänge definiert!</string>
|
||||
<string name="err_pinMap_toMannyOutputsDefined">Zu viele Ausgänge definiert!</string>
|
||||
<string name="err_pinNotPresent">Pin nicht vorhanden</string>
|
||||
<string name="err_pinWithoutName">Es gibt einen Pin ohne einen Namen in {0}</string>
|
||||
<string name="err_pin_N0_atElement_N1_notFound">Pin {0} von Element {1} wurde nicht gefunden</string>
|
||||
<string name="err_pin_N_notFound">Pin {0} wurde nicht gefunden.</string>
|
||||
<string name="err_pin_N_unknown">Pin {0} ist unbekannt</string>
|
||||
<string name="err_readOfHighZ">Lesen einer hochohmigen Leitung</string>
|
||||
<string name="err_seemsToOscillate">Die Schaltung scheint zu oszillieren!
|
||||
Zur Analyse können Sie die Schaltung im Gatterschrittmodus ausführen.
|
||||
</string>
|
||||
<string name="err_selectorInputCountMismatch">Die Zahl der Eingänge passt nicht zur Bitbreite der Auswahlleitung
|
||||
</string>
|
||||
<string name="err_spitterDefSyntaxError">Fehler in der Definition {0} eines Splitters</string>
|
||||
<string name="err_splitterBitsMismatch">Die Bitzahl am Spiltter passt nicht</string>
|
||||
<string name="err_tableBecomesToSmall">Es sind mindestens zwei Eingänge erforderlich!</string>
|
||||
<string name="err_toManyInputs_N">Zu viele Eingänge. Es sind nur {0} Eingänge erlaubt.</string>
|
||||
<string name="err_varNotAllowedInCUPL_N">In CUPL ist die Variable {0} nicht erlaubt!</string>
|
||||
<string name="err_varNotDefined_N">Variable {0} ist nicht definiert.</string>
|
||||
<string name="key_AddrBits">Adress Bits</string>
|
||||
<string name="key_Bits">Datenbits</string>
|
||||
<string name="key_Color">Farbe</string>
|
||||
<string name="key_Cycles">Timeout Zyklen</string>
|
||||
<string name="key_Cycles_tt">Wenn nach dieser Anzahl von Takten kein Break eingegangen ist, wird ein Fehler
|
||||
erzeugt
|
||||
</string>
|
||||
<string name="key_Data">Daten</string>
|
||||
<string name="key_Default">Vorgabe</string>
|
||||
<string name="key_Default_tt">Wird beim Schaltungsstart gesetzt</string>
|
||||
<string name="key_Description">Beschreibung</string>
|
||||
<string name="key_Frequency">Frequenz/Hz</string>
|
||||
<string name="key_Frequency_tt">Gibt die Frequenz an, wenn der Echtzeittakt aktiviert ist</string>
|
||||
<string name="key_IEEEShapes">Verwende US Symbole (IEEE 91-1984)</string>
|
||||
<string name="key_IEEEShapes_tt">Verwende IEEE 91-1984 Symbole anstelle der rechteckige Symbole</string>
|
||||
<string name="key_InputSplitting">Eingangsaufteilung</string>
|
||||
<string name="key_InputSplitting_tt">Zum Beispiel "4,2,2" oder "[Bits]*[Anzahl] wie "1*16"
|
||||
für 16 einzelne Bits
|
||||
</string>
|
||||
<string name="key_Inputs">Anzahl der Eingänge</string>
|
||||
<string name="key_Label">Bezeichnung</string>
|
||||
<string name="key_Language">Sprache</string>
|
||||
<string name="key_NetName">Netzname</string>
|
||||
<string name="key_NetName_tt">Alle Netze mit identischem Namen werden miteinander verbunden.</string>
|
||||
<string name="key_OutputSplitting">Ausgangsaufteilung</string>
|
||||
<string name="key_OutputSplitting_tt">Zum Beispiel "4,2,2" oder "[Bits]*[Anzahl] wie "1*16"
|
||||
für 16 einzelne Bits
|
||||
</string>
|
||||
<string name="key_SelectorBits">Anzahl der Auswahlbits</string>
|
||||
<string name="key_Signed">Vorzeichen</string>
|
||||
<string name="key_Value">Wert</string>
|
||||
<string name="key_Width">Breite</string>
|
||||
<string name="key_Width_tt">Breite des Symbols wenn diese Schaltung in eine andere eingefügt wird.</string>
|
||||
<string name="key_flipSelPos">Tausche Position des Selectors</string>
|
||||
<string name="key_intFormat">Zahlenformat</string>
|
||||
<string name="key_intFormat_ascii">ASCII</string>
|
||||
<string name="key_intFormat_bin">Binär</string>
|
||||
<string name="key_intFormat_dec">Dezimal</string>
|
||||
<string name="key_intFormat_def">Vorgabe</string>
|
||||
<string name="key_intFormat_hex">Hexadezimal</string>
|
||||
<string name="key_isHighZ">Eingang kann hochohmig sein</string>
|
||||
<string name="key_maxStepCount">Maximale Messpunktezahl</string>
|
||||
<string name="key_microStep">Zeige Einzelgatterschritte</string>
|
||||
<string name="key_rotation">Rotation</string>
|
||||
<string name="key_runRealTime">Echtzeittakt starten</string>
|
||||
<string name="key_runRealTime_tt">Wenn eingeschaltet, wird beim Start der Schaltung der Echtzeittakt gestartet
|
||||
</string>
|
||||
<string name="key_showDataGraph">Zeige Messwertegraph</string>
|
||||
<string name="key_showDataGraphMicro">Zeige Messwertgraph im Gatterschrittmodus</string>
|
||||
<string name="key_showDataTable">Zeige Messwertetabelle</string>
|
||||
<string name="key_showList">Zeige Listing an, wenn verfügbar</string>
|
||||
<string name="key_termHeight">Zeilen</string>
|
||||
<string name="key_termWidth">Zeichen pro Zeile</string>
|
||||
<string name="key_valueIsProbe">Als Messwert verwenden</string>
|
||||
<string name="key_valueIsProbe_tt">Wenn gesetzt, taucht der Wert als Messwert in Graph und Tabelle auf</string>
|
||||
<string name="lib_Logic">Logisch</string>
|
||||
<string name="lib_arithmetic">Arithmetik</string>
|
||||
<string name="lib_flipFlops">FlipFlops</string>
|
||||
<string name="lib_io">IO</string>
|
||||
<string name="lib_memory">Speicher</string>
|
||||
<string name="lib_mux">Multiplexer</string>
|
||||
<string name="lib_wires">Leitungen</string>
|
||||
<string name="menu_about">Über Digital</string>
|
||||
<string name="menu_analyse">Analyse</string>
|
||||
<string name="menu_analyse_tt">Analyse der aktuellen Schaltung</string>
|
||||
<string name="menu_copy">Kopieren</string>
|
||||
<string name="menu_custom">Benutzerdefiniert</string>
|
||||
<string name="menu_delete">Löschen</string>
|
||||
<string name="menu_delete_tt">Löscht ausgewählte Elemente</string>
|
||||
<string name="menu_edit">Bearbeiten</string>
|
||||
<string name="menu_editAttributes">Schaltungsattribute bearbeiten</string>
|
||||
<string name="menu_editAttributes_tt">Diese Attribute beeinflussen die Schaltung, wenn sie in andere Schaltungen
|
||||
eingebettet wird.
|
||||
</string>
|
||||
<string name="menu_editRunAttributes">Simulationseinstellungen</string>
|
||||
<string name="menu_editRunAttributes_tt">Einstellungen für den Start der Simulation</string>
|
||||
<string name="menu_editSettings">Einstellungen</string>
|
||||
<string name="menu_editSettings_tt">Bearbeitet die globalen Einstellungen</string>
|
||||
<string name="menu_element">Elemente bearbeiten</string>
|
||||
<string name="menu_element_tt">Bearbeitet die vorhandenen Elemente oder dessen Eigenschaften</string>
|
||||
<string name="menu_elements">Elemente</string>
|
||||
<string name="menu_export">Export</string>
|
||||
<string name="menu_exportPNGLarge">Export PNG groß</string>
|
||||
<string name="menu_exportPNGSmall">Export PNG klein</string>
|
||||
<string name="menu_exportSVG">Export SVG</string>
|
||||
<string name="menu_exportSVGLaTex">Export SVG+LaTeX</string>
|
||||
<string name="menu_fast">Schneller Lauf</string>
|
||||
<string name="menu_fast_tt">Führt die Schaltung aus, bis ein Stopsignal über ein BRK-Element detektiert wird.
|
||||
</string>
|
||||
<string name="menu_file">Datei</string>
|
||||
<string name="menu_help">Hilfe</string>
|
||||
<string name="menu_import">Importieren</string>
|
||||
<string name="menu_import_tt">Importiert eine Schaltung als verwendbares Bauteil</string>
|
||||
<string name="menu_maximize">Maximieren</string>
|
||||
<string name="menu_micro">Gatterschrittmodus</string>
|
||||
<string name="menu_micro_tt">Startet die Schaltung im Gatterschrittmodus</string>
|
||||
<string name="menu_new">Neu</string>
|
||||
<string name="menu_open">Öffnen</string>
|
||||
<string name="menu_openRecent">Zuletzt verwendet</string>
|
||||
<string name="menu_openWin">Öffnen in neuem Fenster</string>
|
||||
<string name="menu_openWin_tt">Öffnet eine Schaltung in einem neuen Fenster</string>
|
||||
<string name="menu_orderInputs">Sortieren der Eingänge</string>
|
||||
<string name="menu_orderInputs_tt">Sortiert die Eingänge für die Verwendung als eingebettete Schaltung</string>
|
||||
<string name="menu_orderMeasurements">Sortieren der Messwerte</string>
|
||||
<string name="menu_orderMeasurements_tt">Sortiert die Messwerte für die grafische Anzeige und die Tabellenansicht
|
||||
</string>
|
||||
<string name="menu_orderOutputs">Sortieren der Ausgänge</string>
|
||||
<string name="menu_orderOutputs_tt">Sortiert die Ausgänge für die Verwendung als eingebettete Schaltung</string>
|
||||
<string name="menu_paste">Einfügen</string>
|
||||
<string name="menu_refresh">Alle neu laden</string>
|
||||
<string name="menu_refresh_tt">Alle importierten Schaltungen werden neu geladen</string>
|
||||
<string name="menu_rotate">Rotieren</string>
|
||||
<string name="menu_run">Start</string>
|
||||
<string name="menu_run_tt">Startet die Simulation der Schaltung</string>
|
||||
<string name="menu_save">Speichern</string>
|
||||
<string name="menu_saveAs">Speichern unter</string>
|
||||
<string name="menu_saveData">Daten speichern</string>
|
||||
<string name="menu_saveData_tt">Speichert die Daten als CSV Datei</string>
|
||||
<string name="menu_speedTest">Geschwindigkeitstest</string>
|
||||
<string name="menu_speedTest_tt">Führt einen Geschwindigkeitstest durch. Es wird die maximal mögliche Taktfrequenz
|
||||
ermittelt
|
||||
</string>
|
||||
<string name="menu_step">Schritt</string>
|
||||
<string name="menu_step_tt">Führt einen Einzelgatterschritt aus</string>
|
||||
<string name="menu_synthesise">Synthese</string>
|
||||
<string name="menu_synthesise_tt">Erzeugt minimale boolsche Ausdrücke, welche durch eine Wahrheitstabelle
|
||||
beschrieben werden.
|
||||
</string>
|
||||
<string name="menu_table_N_variables">{0} Variablen</string>
|
||||
<string name="menu_table_columnsAdd">Ergebnisspalte hinzufügen</string>
|
||||
<string name="menu_table_columnsAddVariable">Variable hinzufügen</string>
|
||||
<string name="menu_table_columnsAddVariable_tt">Fügt der Tabelle eine Variablenspalte hinzu.</string>
|
||||
<string name="menu_table_columnsAdd_tt">Fügt der Tabelle eine Ergebnisspalte hinzu.</string>
|
||||
<string name="menu_table_create">Erzeugen</string>
|
||||
<string name="menu_table_createCUPL">CUPL</string>
|
||||
<string name="menu_table_createCUPL_tt">Erzeugt eine CUPL Quelldatei welche die Schaltung beschreibt.</string>
|
||||
<string name="menu_table_createCircuit">Schaltung</string>
|
||||
<string name="menu_table_createCircuit_tt">Erzeugt eine Schaltung, welche der Wahrheitstabelle entspricht.</string>
|
||||
<string name="menu_table_createNAnd">Schaltung mit NAnd-Gattern</string>
|
||||
<string name="menu_table_createNAndTwo">Schaltung mit NAnd-Gattern mit zwei Eingängen</string>
|
||||
<string name="menu_table_createNAndTwo_tt">Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit
|
||||
NAnd-Gattern mit zwei Eingängen.
|
||||
</string>
|
||||
<string name="menu_table_createNAnd_tt">Erzeugt eine Schaltung, welche der Wahrheitstabelle entspricht nur mit
|
||||
NAnd-Gattern.
|
||||
</string>
|
||||
<string name="menu_table_createNOr">Schaltung mit NOr-Gattern</string>
|
||||
<string name="menu_table_createNOrTwo">Schaltung mit NOr-Gattern mit zwei Eingängen</string>
|
||||
<string name="menu_table_createNOrTwo_tt">Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit
|
||||
NOr-Gattern mit zwei Eingängen.
|
||||
</string>
|
||||
<string name="menu_table_createNOr_tt">Erzeugt eine Schaltung, welches der Wahrheitstabelle entspricht nur mit
|
||||
NOr-Gattern.
|
||||
</string>
|
||||
<string name="menu_table_createTwo">Schaltung mit Gattern mit zwei Eingängen</string>
|
||||
<string name="menu_table_createTwo_tt">Erzeugt eine Schaltung und verwendt nur Gatter mit zwei Eingängen</string>
|
||||
<string name="menu_table_create_hardware">Bausteine</string>
|
||||
<string name="menu_table_create_jedec">JEDEC (*.jed)</string>
|
||||
<string name="menu_table_create_jedec_tt">Erzeugt eine JEDEC Datei für den Baustein</string>
|
||||
<string name="menu_table_exportTableLaTeX">Export LaTeX</string>
|
||||
<string name="menu_table_inputs">Eingänge</string>
|
||||
<string name="menu_table_new">Neu</string>
|
||||
<string name="menu_table_newColumns">Spalten hinzufügen</string>
|
||||
<string name="menu_table_new_combinatorial">Kombintorisch</string>
|
||||
<string name="menu_table_new_sequential">Automat</string>
|
||||
<string name="menu_table_outputs">Ausgänge</string>
|
||||
<string name="menu_table_reorder">Umsortieren</string>
|
||||
<string name="menu_view">Ansicht</string>
|
||||
<string name="menu_zoomIn">Vergrößern</string>
|
||||
<string name="menu_zoomOut">Verkleinern</string>
|
||||
<string name="message">Digital
|
||||
|
||||
Ein einfacher Simulator für digitale Schaltkreise.
|
||||
|
||||
Geschrieben von Helmut Neemann 2016
|
||||
</string>
|
||||
<string name="msg_N_nodes">{0} aktive Elemente</string>
|
||||
<string name="msg_annalyseErr">Fehler bei der Analyse der Schaltung</string>
|
||||
<string name="msg_clockError">Fehler bei der Berechnung einer Taktänderung</string>
|
||||
<string name="msg_color">Farbe</string>
|
||||
<string name="msg_errorCalculatingStep">Fehler beim Berechnen eines Schrittes</string>
|
||||
<string name="msg_errorCreatingModel">Fehler beim Erzeugen der Schaltung</string>
|
||||
<string name="msg_errorDuringCalculation">Fehler während der Vereinfachung.</string>
|
||||
<string name="msg_errorEditingValue">Fehler bei der Eingabe eines Wertes</string>
|
||||
<string name="msg_errorImportingModel">Fehler beim Import einer Schaltung</string>
|
||||
<string name="msg_errorReadingFile">Fehler beim Lesen einer Datei</string>
|
||||
<string name="msg_errorReadingListing_N0">Fehler beim Laden des Listings {0}</string>
|
||||
<string name="msg_errorWritingFile">Fehler beim Schreiben einer Datei</string>
|
||||
<string name="msg_fastRunError">Ein Fehler beim schnellen Lauf</string>
|
||||
<string name="msg_frequency_N">Die maximale Frequenz berägt {0}Hz.</string>
|
||||
<string name="msg_missingShape_N">Es fehlt ein Diagramm für {0}</string>
|
||||
<string name="msg_pinMap_inputs">Eingänge</string>
|
||||
<string name="msg_pinMap_notUsed">nicht verwendet</string>
|
||||
<string name="msg_pinMap_outputs">Ausgänge</string>
|
||||
<string name="msg_pinMap_pin_N_is_N">Pin {0}: {1}</string>
|
||||
<string name="msg_restartNeeded">Die Änderung erfordert einen Neustart!</string>
|
||||
<string name="ok">Ok</string>
|
||||
<string name="rot_0">0°</string>
|
||||
<string name="rot_180">180°</string>
|
||||
<string name="rot_270">270°</string>
|
||||
<string name="rot_90">90°</string>
|
||||
<string name="stat_clocks">{0} Halbzyklen</string>
|
||||
<string name="tt_deleteItem">Eintrag löschen</string>
|
||||
<string name="tt_moveItemDown">Eintrag nach unten schieben</string>
|
||||
<string name="tt_moveItemUp">Eintrag nach oben schieben</string>
|
||||
<string name="win_allSolutions">Alle möglichen Lösungen</string>
|
||||
<string name="win_confirmExit">Beenden bestätigen!</string>
|
||||
<string name="win_listing">Listing</string>
|
||||
<string name="win_measures">Messwerte</string>
|
||||
<string name="win_measures_fullstep">Messwerte im Vollschrittmodus</string>
|
||||
<string name="win_measures_microstep">Messwerte im Einzelgattermodus</string>
|
||||
<string name="win_pinMapDialog">Pin-Zuordnung</string>
|
||||
<string name="win_saveChanges">Änderungen speichern?</string>
|
||||
<string name="win_stateChanged">Die Datei wurde verändert!</string>
|
||||
<string name="win_table">Tabelle</string>
|
||||
<string name="win_table_exportDialog">Export</string>
|
||||
</resources>
|
@ -1,351 +0,0 @@
|
||||
digital=Digital
|
||||
message=Digital\nA simple simulator for digital circuits.\n\nWritten bei H.Neemann in 2016
|
||||
ok=Ok
|
||||
addr=Address
|
||||
#Library
|
||||
lib_Logic=Logic
|
||||
lib_io=IO
|
||||
lib_mux=Plexers
|
||||
lib_wires=Wires
|
||||
lib_flipFlops=FlipFlops
|
||||
lib_memory=Memory
|
||||
lib_arithmetic=Arithmetic
|
||||
|
||||
# Attribute Keys
|
||||
key_Bits=Data Bits
|
||||
key_Inputs=Number of Inputs
|
||||
key_Label=Label
|
||||
key_Value=Value
|
||||
key_Default=Default
|
||||
key_Color=Color
|
||||
key_InputSplitting=Input Splitting
|
||||
key_OutputSplitting=Otput Splitting
|
||||
key_Frequency=Frequency/Hz
|
||||
key_SelectorBits=Number of Selector Bits
|
||||
key_Signed=Signed
|
||||
key_Data=Data
|
||||
key_AddrBits=Address Bits
|
||||
key_flipSelPos=Flip selector position
|
||||
key_rotation=Rotation
|
||||
key_Width=Width
|
||||
key_Cycles=Timeout cycles
|
||||
key_termWidth=Characters per line
|
||||
key_termHeight=Lines
|
||||
key_valueIsProbe=Use as measurment value
|
||||
key_showList=Show list file if available
|
||||
key_showDataTable=Show measurement values
|
||||
key_showDataGraph=Show measurement graph
|
||||
key_showDataGraphMicro=Show measurement graph in single gatem step mode
|
||||
key_maxStepCount=Max number of steps to show
|
||||
key_microStep=Show single gate steps
|
||||
key_isHighZ=Is three-state input
|
||||
key_runRealTime=Start real time clock
|
||||
key_Description=Description
|
||||
key_NetName=Netname
|
||||
key_NetName_tt=All nets with identical name are connected together.
|
||||
key_IEEEShapes=Use IEEE 91-1984 shapes
|
||||
key_IEEEShapes_tt=Use IEEE 91-1984 shapes instead of rectangular shapes
|
||||
key_intFormat=Number Format
|
||||
key_intFormat_def=default
|
||||
key_intFormat_dec=decimal
|
||||
key_intFormat_hex=hex
|
||||
key_intFormat_bin=bin
|
||||
key_intFormat_ascii=ascii
|
||||
key_Language=Language
|
||||
|
||||
attr_openCircuitLabel=Included circuit:
|
||||
attr_openCircuit=Show
|
||||
attr_openCircuit_tt=Opens the circuit in a new window.
|
||||
|
||||
elem_And=And
|
||||
elem_NAnd=NAnd
|
||||
elem_Or=Or
|
||||
elem_NOr=NOr
|
||||
elem_XOr=XOr
|
||||
elem_XNOr=XNOr
|
||||
elem_Not=Not
|
||||
elem_LookUpTable=LookUpTable
|
||||
elem_LookUpTable_tt=Gets the output value from a stored table.\nSo this gate can emulate every combinatorial gate.
|
||||
elem_In=In
|
||||
elem_In_tt=A input which can be used to connect the circuit if it is included in an other circuit.
|
||||
elem_Out=Out
|
||||
elem_Out_tt=A output which can be used to connect the circuit if it is included in an other circuit.
|
||||
elem_LED=LED
|
||||
elem_Button=Button
|
||||
elem_Probe=Probe
|
||||
elem_Probe_tt=A measurement value which can be shown in the data graph.
|
||||
elem_Seven-Seg=Seven-Seg
|
||||
elem_Seven-Seg_tt=Seven Segment Display, every segment has its own input.
|
||||
elem_Seven-Seg-Hex=Seven-Seg-Hex
|
||||
elem_Seven-Seg-Hex_tt=Seven Segment Display with a 4 bit input
|
||||
elem_Terminal=Terminal
|
||||
elem_Terminal_tt=You can write ASCI characters to this terminal.\nThe terminal opens its own window.
|
||||
elem_Terminal_pin_D=The data to show in the terminal
|
||||
elem_Terminal_pin_C=If this pin becomes high the data is displayed
|
||||
elem_Data=Data graph
|
||||
elem_Data_tt=Shows a data plot inside of the circuit panel.\nYou can plot complete clock steps or single gate changes.
|
||||
elem_Multiplexer=Multiplexer
|
||||
elem_Demultiplexer=Demultiplexer
|
||||
elem_Decoder=Decoder
|
||||
elem_Const=Const
|
||||
elem_Const_tt=A simple constant value.
|
||||
elem_Splitter=Splitter
|
||||
elem_Splitter_tt=Splits or creates a wire bundle or a data bus with more than one bit.
|
||||
elem_Clock=Clock
|
||||
elem_Clock_tt=A clock signal. Its possible to control it by the real time clock.
|
||||
elem_Delay=Delay
|
||||
elem_Delay_tt=Delays the signal by on gate delay
|
||||
elem_Driver=Driver
|
||||
elem_DriverInvSel=Driver, inverted select
|
||||
elem_Reset=Reset
|
||||
elem_Reset_tt=The output of this element is hold down during the initialisation of the circuit.\nAfter the circuit has stabilized the output goes up.
|
||||
elem_Break=Break
|
||||
elem_Break_tt=If the input of this Element becomes high, the fast forward clocking is stopped.\nYou can use the element to implement a BRK assembly instruction.\nThen you can execute the circuit to the next BRK instruction.
|
||||
elem_RS_FF=RS_FF
|
||||
elem_JK_FF=JK_FF
|
||||
elem_D_FF=D_FF
|
||||
elem_T_FF=T_FF
|
||||
elem_Register=Register
|
||||
elem_ROM=ROM
|
||||
elem_ROM_pin_address=Address of data word to output.
|
||||
elem_ROM_pin_sel=If the input is high, the output is activated. If it is low, the data output is in high Z state.
|
||||
elem_ROM_pin_data=The selected data word. Only readable if select input is high.
|
||||
elem_RAMDualPort=RAMDualPort
|
||||
elem_RAMDualPort_tt=A RAM module with separate inputs for storing and output for reading the stored data.
|
||||
elem_RAMDualPort_pin_addr=The address to read and write
|
||||
elem_RAMDualPort_pin_dataIn=The data to be stored in the RAM
|
||||
elem_RAMDualPort_pin_str=If this input is high when the clock becomes high, the the data is stored
|
||||
elem_RAMDualPort_pin_c=Clock
|
||||
elem_RAMDualPort_pin_ld=If this input is high the output is activated and the data is visible at the output
|
||||
elem_RAMDualPort_pin_dataOut=The data output pin
|
||||
elem_RAMSinglePort=RAMSinglePort
|
||||
elem_RAMSinglePort_tt=A RAM module with a bidirectional connection for reading and writing the data.
|
||||
elem_RAMSinglePort_pin_addr=The address to read and write
|
||||
elem_RAMSinglePort_pin_str=If this input is high when the clock becomes high, the the data is stored
|
||||
elem_RAMSinglePort_pin_c=Clock
|
||||
elem_RAMSinglePort_pin_ld=If this input is high the output is activated and the data is visible at the output
|
||||
elem_RAMSinglePort_pin_d=Bidirectional data connection.
|
||||
elem_Counter=Counter
|
||||
elem_Add=Add
|
||||
elem_Sub=Sub
|
||||
elem_Mul=Mul
|
||||
elem_Comparator=Comparator
|
||||
elem_Text=Text
|
||||
|
||||
rot_0=0\u00B0
|
||||
rot_90=90\u00B0
|
||||
rot_180=180\u00B0
|
||||
rot_270=270\u00B0
|
||||
err_seemsToOscillate=Logic seems to oscillate\nTo analyse you can run the circuit in single gate step mode.
|
||||
err_notInitialized=Logic not initialized
|
||||
err_isAlreadyInitialized=Logic is already initialized
|
||||
err_noClockFound=No clock found in logic
|
||||
err_moreThenOneClocksFound=There are more then one clock
|
||||
err_noInputsAvailable=No inputs available to set
|
||||
err_burnError=More then one output is active on a wire
|
||||
err_needs_N0_bits_found_N2_bits=There are {0} bits needed, but {1} bits found
|
||||
err_selectorInputCountMismatch=Number of inputs does not match selector bit count
|
||||
err_splitterBitsMismatch=Bit count of splitter is not matching
|
||||
err_pinWithoutName=Found a pin without a name in {0}
|
||||
err_pin_N_unknown=Pin {0} unknown
|
||||
err_pin_N_notFound=Pin {0} not found
|
||||
err_netOfPin_N_notFound=Net of pin {0} not found
|
||||
err_N_isNotInputOrOutput=Pin {0} in element {1} is not a input or output
|
||||
err_duplicatePinLabel=Pin {0} in element {1} exists twice
|
||||
err_pin_N0_atElement_N1_notFound=Pin {0} not found at Element {1}
|
||||
err_noValueSetFor_N0_atElement_N1=No value set for {0} at Element {1}
|
||||
err_onOutConnectedToWire=No output connected to a wire
|
||||
err_output_N_notDefined=Output {0} not defined
|
||||
err_pinNotPresent=Pin not present
|
||||
err_duplicateElement_N=Duplicate element {0}
|
||||
err_element_N_notFound=Element {0} not found
|
||||
err_spitterDefSyntaxError=Syntax error in splitter definition {0}
|
||||
err_noShapeFoundFor_N=No shape found for Element {0}
|
||||
err_invalidFileFormat=Invalid file format
|
||||
err_readOfHighZ=Read of high Z value
|
||||
err_notAllOutputsSameBits=Not all connected outputs have the same bit count
|
||||
err_notAllOutputsSupportHighZ=If multiple outputs are connected together, all of them have to be three-state outputs
|
||||
err_breakTimeOut=Break timeout after {0} cycles
|
||||
err_varNotDefined_N=Variable {0} not defined
|
||||
err_containsVarAndNotVar=Contains [var] and [not var]
|
||||
err_exact_N0_valuesNecessaryNot_N1=Exact {0} variables necessary, not {1}
|
||||
err_builder_exprNotSupported=Expression {0} not supported
|
||||
err_builder_operationNotSupported=Operation {0} not supported
|
||||
err_toManyInputs_N=To many inputs, allowed are {0}
|
||||
err_oneResultIsRequired=Table to small: One result is required!
|
||||
err_tableBecomesToSmall=Two inputs are required!
|
||||
err_varNotAllowedInCUPL_N= Variable {0} is not allowed in CUPL source!
|
||||
err_pinMap_Pin_N_AssignedTwicerPin=Pin {0} assigned twice!
|
||||
err_pinMap_toMannyInputsDefined=To manny inputs defined
|
||||
err_pinMap_toMannyOutputsDefined=To manny outputs defined
|
||||
err_pinMap_noEqualsfound=No = found!
|
||||
err_pinMap_NoNameForPin_N=No Name for pin {0}
|
||||
err_pinMap_input_N_notAllowed=Input {0} not allowed!
|
||||
err_pinMap_output_N_notAllowed=Output {0} not allowed!
|
||||
err_cannotAnalyse_N=Cannot analyse Node {0}
|
||||
err_ffNeedsToBeConnectedToClock=Flipflop needs to be connected to the clock.
|
||||
err_aSingleClockNecessary=A single clock is necessary.
|
||||
|
||||
attr_dialogTitle=Attributes
|
||||
|
||||
msg_errorEditingValue=Error editing a atribute value
|
||||
msg_color=Color
|
||||
msg_errorImportingModel=Error importing a circuit
|
||||
msg_errorCreatingModel=Error creating the circuit
|
||||
msg_errorWritingFile=Error writing a file
|
||||
msg_errorReadingFile=Error reading a file
|
||||
msg_errorCalculatingStep=Error calculating a step
|
||||
msg_missingShape_N=Shape {0} is missing
|
||||
msg_fastRunError=Error at fast run
|
||||
msg_errorReadingListing_N0=Error reading the listing {0}
|
||||
msg_clockError=Error during a clock state change
|
||||
msg_frequency_N=The maximum frequency is {0}Hz
|
||||
msg_errorDuringCalculation=Error during simplification
|
||||
msg_N_nodes={0} nodes
|
||||
msg_restartNeeded=Change needs a restart to take effect!
|
||||
msg_pinMap_inputs=Inputs
|
||||
msg_pinMap_outputs=Onputs
|
||||
msg_pinMap_pin_N_is_N=Pin {0}: {1}
|
||||
msg_pinMap_notUsed=not used
|
||||
|
||||
stat_clocks={0} half cycles
|
||||
|
||||
btn_edit=Edit
|
||||
btn_load=Load
|
||||
btn_reload=Reload
|
||||
btn_reload_tt=Reload last hex file
|
||||
btn_discard=Discard Changes
|
||||
btn_save=Save
|
||||
btn_editFurther=Continue editing
|
||||
|
||||
|
||||
tt_moveItemUp=Move the item up
|
||||
tt_moveItemDown=Move the item down
|
||||
tt_deleteItem=Deletes the selected item
|
||||
menu_file=File
|
||||
menu_new=New
|
||||
menu_open=Open
|
||||
menu_openWin=Open in New Window
|
||||
menu_openWin_tt=Opens a circuit in a new window
|
||||
menu_openRecent=Open Recent
|
||||
menu_save=Save
|
||||
menu_saveAs=Save As
|
||||
menu_elements=Elements
|
||||
menu_custom=Custom
|
||||
menu_import=Import
|
||||
menu_import_tt=Imports a circuit as a useable Element!
|
||||
menu_refresh=Reload
|
||||
menu_refresh_tt=Reload all imported circuits
|
||||
menu_element=Edit Elements
|
||||
menu_element_tt=Edits the circuit. Moves a single Element or edits its properties
|
||||
menu_edit=Edit
|
||||
menu_orderInputs=Order Inputs
|
||||
menu_orderInputs_tt=Order the inputs for the usage as nested circuit
|
||||
menu_orderOutputs=Order Outputs
|
||||
menu_orderOutputs_tt=Order the outputs for the usage as nested circuit
|
||||
menu_orderMeasurements=Order measurement values
|
||||
menu_orderMeasurements_tt=Orders the measurement values in the graphical and table view
|
||||
menu_run=Run
|
||||
menu_run_tt=Runs the circuit
|
||||
menu_step=Step
|
||||
menu_step_tt=Calculating a single gate step
|
||||
menu_micro=Single gate stepping
|
||||
menu_micro_tt=Runs the circuit in single gate step mode
|
||||
menu_speedTest=Speed Test
|
||||
menu_speedTest_tt=Performs a speed test by calculating the max. clock frequency.
|
||||
menu_help=Help
|
||||
menu_about=About
|
||||
menu_editAttributes=Edit circuit attributes
|
||||
menu_editAttributes_tt=These attributes effect the behavior if the circuit is included in other circuits.
|
||||
menu_fast=Run Fast
|
||||
menu_fast_tt=Runs the circuit until a break is detected by the BRK element.
|
||||
menu_export=Export
|
||||
menu_exportSVG=Export SVG
|
||||
menu_exportSVGLaTex=Export SVG+LaTeX
|
||||
menu_exportPNGSmall=Export PNG small
|
||||
menu_exportPNGLarge=Export PNG large
|
||||
menu_delete=Delete elements
|
||||
menu_delete_tt=Delete selected single element or group of elements
|
||||
menu_editRunAttributes=Simulation Settings
|
||||
menu_editRunAttributes_tt=Settings used to start the simulation
|
||||
menu_saveData=Save Data
|
||||
menu_saveData_tt=Save data as CSV file
|
||||
menu_analyse=Analyse
|
||||
menu_analyse_tt=Analyses the actual circuit
|
||||
menu_synthesise=Synthesise
|
||||
menu_synthesise_tt=Generates the minimal bool expressions described by a truth table.
|
||||
menu_view=View
|
||||
menu_maximize=Maximize
|
||||
menu_zoomIn=Zoom In
|
||||
menu_zoomOut=Zoom Out
|
||||
menu_table_new=New
|
||||
menu_table_N_variables={0} variables
|
||||
menu_table_new_combinatorial=Combinatorial
|
||||
menu_table_new_sequential=Sequential
|
||||
menu_table_reorder=Reorder
|
||||
menu_table_inputs=Inputs
|
||||
menu_table_outputs=Outputs
|
||||
menu_table_newColumns=Add Columns
|
||||
menu_table_columnsAdd=Add a result Column
|
||||
menu_table_columnsAdd_tt=Adds a new result column.
|
||||
menu_table_columnsAddVariable=Add a variable Column
|
||||
menu_table_columnsAddVariable_tt=Adds a new variable column.
|
||||
menu_table_create=Create
|
||||
menu_table_createCircuit=Circuit
|
||||
menu_table_createCircuit_tt=Creates a circuit which reproduces the truth table.
|
||||
menu_table_createNAnd=Circuit with NAnd gates
|
||||
menu_table_createNAnd_tt=Creates a circuit which reproduces the truth table only with NAnd gates.
|
||||
menu_table_createNOr=Circuit with NOr gates
|
||||
menu_table_createNOr_tt=Creates a circuit which reproduces the truth table only with NOr gates.
|
||||
menu_table_createTwo=Circuit with two input gates
|
||||
menu_table_createTwo_tt=create circuit, use only gates with two inputs
|
||||
menu_table_createNAndTwo=Circuit with NAnd gates with two inputs
|
||||
menu_table_createNAndTwo_tt=Use only NAnd gates with two inputs.
|
||||
menu_table_createNOrTwo=Circuit with NOr gates with two inputs
|
||||
menu_table_createNOrTwo_tt=Use only NOr gates with two inputs.
|
||||
menu_table_createCUPL=CUPL source
|
||||
menu_table_createCUPL_tt=Creates a CUPL source file containing the define circuit.
|
||||
menu_table_create_hardware=Device
|
||||
menu_table_create_jedec=JEDEC (*.jed)
|
||||
menu_table_create_jedec_tt=Creates a JEDEC file for the device
|
||||
menu_table_exportTableLaTeX=Export LaTeX
|
||||
|
||||
menu_editSettings=Settings
|
||||
menu_editSettings_tt=Edits Digitals Preferences
|
||||
menu_copy=Copy
|
||||
menu_paste=Paste
|
||||
menu_rotate=Rotate
|
||||
|
||||
win_saveChanges=Save Changes?
|
||||
win_confirmExit=Confirm Exit!
|
||||
win_stateChanged=State Changed!
|
||||
win_measures=Measurements
|
||||
win_measures_microstep=Measurements single gate step
|
||||
win_measures_fullstep=Measurements full clock step
|
||||
win_listing=Listing
|
||||
win_pinMapDialog=Pin Mapping
|
||||
win_table_exportDialog=Export
|
||||
|
||||
key_InputSplitting_tt=Example "4,2,2" or "[Bits]*[Count] like "1*16" for 16 single bits
|
||||
key_OutputSplitting_tt=Example "4,2,2" or "[Bits]*[Count] like "1*16" for 16 single bits
|
||||
key_runRealTime_tt=If enabled the runtime clock is started when the circuit is started
|
||||
key_Frequency_tt=The realtime frequency used for the real time clock
|
||||
key_Cycles_tt=If this ammount of cycles is reached without a break signal, an error is created
|
||||
key_valueIsProbe_tt=Is set the value is a measurement value and appears in the graph and data table
|
||||
elem_Multiplexer_tt=Selects on of the input lines
|
||||
elem_Multiplexer_pin_sel=This pin selects the input
|
||||
elem_Demultiplexer_tt=Outputs the input to on of the outputs. The other outputs are zero.
|
||||
elem_Demultiplexer_pin_sel=Selects the output
|
||||
elem_Decoder_tt=One selectable output line is high, all other outputs are low.
|
||||
elem_Decode_pin_sel=This input selects the enabled output
|
||||
elem_Text_tt=Shows a text in the circuit
|
||||
key_Default_tt=Is set if the circuit is started
|
||||
err_labelNotConnectedToNet_N=A tunnel {0} is not connected!
|
||||
key_Width_tt=With of symbol if this circuit is used in an element ins an other circuit.
|
||||
err_analyseNoInputs=The circuit has no Inputs
|
||||
err_analyseNoOutputs=The circuit has no outputs
|
||||
err_analyseValue_N_IsNotBinary=The value {0} has more the one bit.
|
||||
err_DFlipflopWithoutALabel=D-Flipflop has no label set
|
||||
msg_annalyseErr=Error analysing the circuit
|
||||
win_table=Table
|
||||
win_allSolutions=All possible solutions
|
384
src/main/resources/lang/lang_en.xml
Normal file
384
src/main/resources/lang/lang_en.xml
Normal file
@ -0,0 +1,384 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="addr">Address</string>
|
||||
<string name="attr_dialogTitle">Attributes</string>
|
||||
<string name="attr_openCircuit">Show</string>
|
||||
<string name="attr_openCircuitLabel">Included circuit:</string>
|
||||
<string name="attr_openCircuit_tt">Opens the circuit in a new window.</string>
|
||||
<string name="btn_discard">Discard Changes</string>
|
||||
<string name="btn_edit">Edit</string>
|
||||
<string name="btn_editFurther">Continue editing</string>
|
||||
<string name="btn_load">Load</string>
|
||||
<string name="btn_reload">Reload</string>
|
||||
<string name="btn_reload_tt">Reload last hex file</string>
|
||||
<string name="btn_save">Save</string>
|
||||
<string name="digital">Digital</string>
|
||||
<string name="elem_Add">Add</string>
|
||||
<string name="elem_And">And</string>
|
||||
<string name="elem_Break">Break</string>
|
||||
<string name="elem_Break_tt">If the input of this Element becomes high, the fast forward clocking is stopped.
|
||||
You can use the element to implement a BRK assembly instruction.
|
||||
Then you can execute the circuit to the next BRK instruction.
|
||||
</string>
|
||||
<string name="elem_Button">Button</string>
|
||||
<string name="elem_Clock">Clock</string>
|
||||
<string name="elem_Clock_tt">A clock signal. Its possible to control it by the real time clock.</string>
|
||||
<string name="elem_Comparator">Comparator</string>
|
||||
<string name="elem_Const">Const</string>
|
||||
<string name="elem_Const_tt">A simple constant value.</string>
|
||||
<string name="elem_Counter">Counter</string>
|
||||
<string name="elem_D_FF">D_FF</string>
|
||||
<string name="elem_Data">Data graph</string>
|
||||
<string name="elem_Data_tt">Shows a data plot inside of the circuit panel.
|
||||
You can plot complete clock steps or single gate changes.
|
||||
</string>
|
||||
<string name="elem_Decode_pin_sel">This input selects the enabled output</string>
|
||||
<string name="elem_Decoder">Decoder</string>
|
||||
<string name="elem_Decoder_tt">One selectable output line is high, all other outputs are low.</string>
|
||||
<string name="elem_Delay">Delay</string>
|
||||
<string name="elem_Delay_tt">Delays the signal by on gate delay</string>
|
||||
<string name="elem_Demultiplexer">Demultiplexer</string>
|
||||
<string name="elem_Demultiplexer_pin_sel">Selects the output</string>
|
||||
<string name="elem_Demultiplexer_tt">Outputs the input to on of the outputs. The other outputs are zero.</string>
|
||||
<string name="elem_Driver">Driver</string>
|
||||
<string name="elem_DriverInvSel">Driver, inverted select</string>
|
||||
<string name="elem_In">In</string>
|
||||
<string name="elem_In_tt">A input which can be used to connect the circuit if it is included in an other circuit.
|
||||
</string>
|
||||
<string name="elem_JK_FF">JK_FF</string>
|
||||
<string name="elem_LED">LED</string>
|
||||
<string name="elem_LookUpTable">LookUpTable</string>
|
||||
<string name="elem_LookUpTable_tt">Gets the output value from a stored table.
|
||||
So this gate can emulate every combinatorial gate.
|
||||
</string>
|
||||
<string name="elem_Mul">Mul</string>
|
||||
<string name="elem_Multiplexer">Multiplexer</string>
|
||||
<string name="elem_Multiplexer_pin_sel">This pin selects the input</string>
|
||||
<string name="elem_Multiplexer_tt">Selects on of the input lines</string>
|
||||
<string name="elem_NAnd">NAnd</string>
|
||||
<string name="elem_NOr">NOr</string>
|
||||
<string name="elem_Not">Not</string>
|
||||
<string name="elem_Or">Or</string>
|
||||
<string name="elem_Out">Out</string>
|
||||
<string name="elem_Out_tt">A output which can be used to connect the circuit if it is included in an other
|
||||
circuit.
|
||||
</string>
|
||||
<string name="elem_Probe">Probe</string>
|
||||
<string name="elem_Probe_tt">A measurement value which can be shown in the data graph.</string>
|
||||
<string name="elem_RAMDualPort">RAMDualPort</string>
|
||||
<string name="elem_RAMDualPort_pin_addr">The address to read and write</string>
|
||||
<string name="elem_RAMDualPort_pin_c">Clock</string>
|
||||
<string name="elem_RAMDualPort_pin_dataIn">The data to be stored in the RAM</string>
|
||||
<string name="elem_RAMDualPort_pin_dataOut">The data output pin</string>
|
||||
<string name="elem_RAMDualPort_pin_ld">If this input is high the output is activated and the data is visible at the
|
||||
output
|
||||
</string>
|
||||
<string name="elem_RAMDualPort_pin_str">If this input is high when the clock becomes high, the the data is stored
|
||||
</string>
|
||||
<string name="elem_RAMDualPort_tt">A RAM module with separate inputs for storing and output for reading the stored
|
||||
data.
|
||||
</string>
|
||||
<string name="elem_RAMSinglePort">RAMSinglePort</string>
|
||||
<string name="elem_RAMSinglePort_pin_addr">The address to read and write</string>
|
||||
<string name="elem_RAMSinglePort_pin_c">Clock</string>
|
||||
<string name="elem_RAMSinglePort_pin_d">Bidirectional data connection.</string>
|
||||
<string name="elem_RAMSinglePort_pin_ld">If this input is high the output is activated and the data is visible at
|
||||
the output
|
||||
</string>
|
||||
<string name="elem_RAMSinglePort_pin_str">If this input is high when the clock becomes high, the the data is
|
||||
stored
|
||||
</string>
|
||||
<string name="elem_RAMSinglePort_tt">A RAM module with a bidirectional connection for reading and writing the
|
||||
data.
|
||||
</string>
|
||||
<string name="elem_ROM">ROM</string>
|
||||
<string name="elem_ROM_pin_address">Address of data word to output.</string>
|
||||
<string name="elem_ROM_pin_data">The selected data word. Only readable if select input is high.</string>
|
||||
<string name="elem_ROM_pin_sel">If the input is high, the output is activated. If it is low, the data output is in
|
||||
high Z state.
|
||||
</string>
|
||||
<string name="elem_RS_FF">RS_FF</string>
|
||||
<string name="elem_Register">Register</string>
|
||||
<string name="elem_Reset">Reset</string>
|
||||
<string name="elem_Reset_tt">The output of this element is hold down during the initialisation of the circuit.
|
||||
After the circuit has stabilized the output goes up.
|
||||
</string>
|
||||
<string name="elem_Seven-Seg">Seven-Seg</string>
|
||||
<string name="elem_Seven-Seg-Hex">Seven-Seg-Hex</string>
|
||||
<string name="elem_Seven-Seg-Hex_tt">Seven Segment Display with a 4 bit input</string>
|
||||
<string name="elem_Seven-Seg_tt">Seven Segment Display, every segment has its own input.</string>
|
||||
<string name="elem_Splitter">Splitter</string>
|
||||
<string name="elem_Splitter_tt">Splits or creates a wire bundle or a data bus with more than one bit.</string>
|
||||
<string name="elem_Sub">Sub</string>
|
||||
<string name="elem_T_FF">T_FF</string>
|
||||
<string name="elem_Terminal">Terminal</string>
|
||||
<string name="elem_Terminal_pin_C">If this pin becomes high the data is displayed</string>
|
||||
<string name="elem_Terminal_pin_D">The data to show in the terminal</string>
|
||||
<string name="elem_Terminal_tt">You can write ASCI characters to this terminal.
|
||||
The terminal opens its own window.
|
||||
</string>
|
||||
<string name="elem_Text">Text</string>
|
||||
<string name="elem_Text_tt">Shows a text in the circuit</string>
|
||||
<string name="elem_XNOr">XNOr</string>
|
||||
<string name="elem_XOr">XOr</string>
|
||||
<string name="err_DFlipflopWithoutALabel">D-Flipflop has no label set</string>
|
||||
<string name="err_N_isNotInputOrOutput">Pin {0} in element {1} is not a input or output</string>
|
||||
<string name="err_aSingleClockNecessary">A single clock is necessary.</string>
|
||||
<string name="err_analyseNoInputs">The circuit has no Inputs</string>
|
||||
<string name="err_analyseNoOutputs">The circuit has no outputs</string>
|
||||
<string name="err_analyseValue_N_IsNotBinary">The value {0} has more the one bit.</string>
|
||||
<string name="err_breakTimeOut">Break timeout after {0} cycles</string>
|
||||
<string name="err_builder_exprNotSupported">Expression {0} not supported</string>
|
||||
<string name="err_builder_operationNotSupported">Operation {0} not supported</string>
|
||||
<string name="err_burnError">More then one output is active on a wire</string>
|
||||
<string name="err_cannotAnalyse_N">Cannot analyse Node {0}</string>
|
||||
<string name="err_containsVarAndNotVar">Contains [var] and [not var]</string>
|
||||
<string name="err_duplicateElement_N">Duplicate element {0}</string>
|
||||
<string name="err_duplicatePinLabel">Pin {0} in element {1} exists twice</string>
|
||||
<string name="err_element_N_notFound">Element {0} not found</string>
|
||||
<string name="err_exact_N0_valuesNecessaryNot_N1">Exact {0} variables necessary, not {1}</string>
|
||||
<string name="err_ffNeedsToBeConnectedToClock">Flipflop needs to be connected to the clock.</string>
|
||||
<string name="err_invalidFileFormat">Invalid file format</string>
|
||||
<string name="err_isAlreadyInitialized">Logic is already initialized</string>
|
||||
<string name="err_labelNotConnectedToNet_N">A tunnel {0} is not connected!</string>
|
||||
<string name="err_moreThenOneClocksFound">There are more then one clock</string>
|
||||
<string name="err_needs_N0_bits_found_N2_bits">There are {0} bits needed, but {1} bits found</string>
|
||||
<string name="err_netOfPin_N_notFound">Net of pin {0} not found</string>
|
||||
<string name="err_noClockFound">No clock found in logic</string>
|
||||
<string name="err_noInputsAvailable">No inputs available to set</string>
|
||||
<string name="err_noShapeFoundFor_N">No shape found for Element {0}</string>
|
||||
<string name="err_noValueSetFor_N0_atElement_N1">No value set for {0} at Element {1}</string>
|
||||
<string name="err_notAllOutputsSameBits">Not all connected outputs have the same bit count</string>
|
||||
<string name="err_notAllOutputsSupportHighZ">If multiple outputs are connected together, all of them have to be
|
||||
three-state outputs
|
||||
</string>
|
||||
<string name="err_notInitialized">Logic not initialized</string>
|
||||
<string name="err_onOutConnectedToWire">No output connected to a wire</string>
|
||||
<string name="err_oneResultIsRequired">Table to small: One result is required!</string>
|
||||
<string name="err_output_N_notDefined">Output {0} not defined</string>
|
||||
<string name="err_pinMap_NoNameForPin_N">No Name for pin {0}</string>
|
||||
<string name="err_pinMap_Pin_N_AssignedTwicerPin">Pin {0} assigned twice!</string>
|
||||
<string name="err_pinMap_input_N_notAllowed">Input {0} not allowed!</string>
|
||||
<string name="err_pinMap_noEqualsfound">No = found!</string>
|
||||
<string name="err_pinMap_output_N_notAllowed">Output {0} not allowed!</string>
|
||||
<string name="err_pinMap_toMannyInputsDefined">To manny inputs defined</string>
|
||||
<string name="err_pinMap_toMannyOutputsDefined">To manny outputs defined</string>
|
||||
<string name="err_pinNotPresent">Pin not present</string>
|
||||
<string name="err_pinWithoutName">Found a pin without a name in {0}</string>
|
||||
<string name="err_pin_N0_atElement_N1_notFound">Pin {0} not found at Element {1}</string>
|
||||
<string name="err_pin_N_notFound">Pin {0} not found</string>
|
||||
<string name="err_pin_N_unknown">Pin {0} unknown</string>
|
||||
<string name="err_readOfHighZ">Read of high Z value</string>
|
||||
<string name="err_seemsToOscillate">Logic seems to oscillate
|
||||
To analyse you can run the circuit in single gate step mode.
|
||||
</string>
|
||||
<string name="err_selectorInputCountMismatch">Number of inputs does not match selector bit count</string>
|
||||
<string name="err_spitterDefSyntaxError">Syntax error in splitter definition {0}</string>
|
||||
<string name="err_splitterBitsMismatch">Bit count of splitter is not matching</string>
|
||||
<string name="err_tableBecomesToSmall">Two inputs are required!</string>
|
||||
<string name="err_toManyInputs_N">To many inputs, allowed are {0}</string>
|
||||
<string name="err_varNotAllowedInCUPL_N">Variable {0} is not allowed in CUPL source!</string>
|
||||
<string name="err_varNotDefined_N">Variable {0} not defined</string>
|
||||
<string name="key_AddrBits">Address Bits</string>
|
||||
<string name="key_Bits">Data Bits</string>
|
||||
<string name="key_Color">Color</string>
|
||||
<string name="key_Cycles">Timeout cycles</string>
|
||||
<string name="key_Cycles_tt">If this ammount of cycles is reached without a break signal, an error is created
|
||||
</string>
|
||||
<string name="key_Data">Data</string>
|
||||
<string name="key_Default">Default</string>
|
||||
<string name="key_Default_tt">Is set if the circuit is started</string>
|
||||
<string name="key_Description">Description</string>
|
||||
<string name="key_Frequency">Frequency/Hz</string>
|
||||
<string name="key_Frequency_tt">The realtime frequency used for the real time clock</string>
|
||||
<string name="key_IEEEShapes">Use IEEE 91-1984 shapes</string>
|
||||
<string name="key_IEEEShapes_tt">Use IEEE 91-1984 shapes instead of rectangular shapes</string>
|
||||
<string name="key_InputSplitting">Input Splitting</string>
|
||||
<string name="key_InputSplitting_tt">Example "4,2,2" or "[Bits]*[Count] like "1*16" for 16
|
||||
single bits
|
||||
</string>
|
||||
<string name="key_Inputs">Number of Inputs</string>
|
||||
<string name="key_Label">Label</string>
|
||||
<string name="key_Language">Language</string>
|
||||
<string name="key_NetName">Netname</string>
|
||||
<string name="key_NetName_tt">All nets with identical name are connected together.</string>
|
||||
<string name="key_OutputSplitting">Otput Splitting</string>
|
||||
<string name="key_OutputSplitting_tt">Example "4,2,2" or "[Bits]*[Count] like "1*16" for 16
|
||||
single bits
|
||||
</string>
|
||||
<string name="key_SelectorBits">Number of Selector Bits</string>
|
||||
<string name="key_Signed">Signed</string>
|
||||
<string name="key_Value">Value</string>
|
||||
<string name="key_Width">Width</string>
|
||||
<string name="key_Width_tt">With of symbol if this circuit is used in an element ins an other circuit.</string>
|
||||
<string name="key_flipSelPos">Flip selector position</string>
|
||||
<string name="key_intFormat">Number Format</string>
|
||||
<string name="key_intFormat_ascii">ascii</string>
|
||||
<string name="key_intFormat_bin">bin</string>
|
||||
<string name="key_intFormat_dec">decimal</string>
|
||||
<string name="key_intFormat_def">default</string>
|
||||
<string name="key_intFormat_hex">hex</string>
|
||||
<string name="key_isHighZ">Is three-state input</string>
|
||||
<string name="key_maxStepCount">Max number of steps to show</string>
|
||||
<string name="key_microStep">Show single gate steps</string>
|
||||
<string name="key_rotation">Rotation</string>
|
||||
<string name="key_runRealTime">Start real time clock</string>
|
||||
<string name="key_runRealTime_tt">If enabled the runtime clock is started when the circuit is started</string>
|
||||
<string name="key_showDataGraph">Show measurement graph</string>
|
||||
<string name="key_showDataGraphMicro">Show measurement graph in single gatem step mode</string>
|
||||
<string name="key_showDataTable">Show measurement values</string>
|
||||
<string name="key_showList">Show list file if available</string>
|
||||
<string name="key_termHeight">Lines</string>
|
||||
<string name="key_termWidth">Characters per line</string>
|
||||
<string name="key_valueIsProbe">Use as measurment value</string>
|
||||
<string name="key_valueIsProbe_tt">Is set the value is a measurement value and appears in the graph and data table
|
||||
</string>
|
||||
<string name="lib_Logic">Logic</string>
|
||||
<string name="lib_arithmetic">Arithmetic</string>
|
||||
<string name="lib_flipFlops">FlipFlops</string>
|
||||
<string name="lib_io">IO</string>
|
||||
<string name="lib_memory">Memory</string>
|
||||
<string name="lib_mux">Plexers</string>
|
||||
<string name="lib_wires">Wires</string>
|
||||
<string name="menu_about">About</string>
|
||||
<string name="menu_analyse">Analyse</string>
|
||||
<string name="menu_analyse_tt">Analyses the actual circuit</string>
|
||||
<string name="menu_copy">Copy</string>
|
||||
<string name="menu_custom">Custom</string>
|
||||
<string name="menu_delete">Delete elements</string>
|
||||
<string name="menu_delete_tt">Delete selected single element or group of elements</string>
|
||||
<string name="menu_edit">Edit</string>
|
||||
<string name="menu_editAttributes">Edit circuit attributes</string>
|
||||
<string name="menu_editAttributes_tt">These attributes effect the behavior if the circuit is included in other
|
||||
circuits.
|
||||
</string>
|
||||
<string name="menu_editRunAttributes">Simulation Settings</string>
|
||||
<string name="menu_editRunAttributes_tt">Settings used to start the simulation</string>
|
||||
<string name="menu_editSettings">Settings</string>
|
||||
<string name="menu_editSettings_tt">Edits Digitals Preferences</string>
|
||||
<string name="menu_element">Edit Elements</string>
|
||||
<string name="menu_element_tt">Edits the circuit. Moves a single Element or edits its properties</string>
|
||||
<string name="menu_elements">Elements</string>
|
||||
<string name="menu_export">Export</string>
|
||||
<string name="menu_exportPNGLarge">Export PNG large</string>
|
||||
<string name="menu_exportPNGSmall">Export PNG small</string>
|
||||
<string name="menu_exportSVG">Export SVG</string>
|
||||
<string name="menu_exportSVGLaTex">Export SVG+LaTeX</string>
|
||||
<string name="menu_fast">Run Fast</string>
|
||||
<string name="menu_fast_tt">Runs the circuit until a break is detected by the BRK element.</string>
|
||||
<string name="menu_file">File</string>
|
||||
<string name="menu_help">Help</string>
|
||||
<string name="menu_import">Import</string>
|
||||
<string name="menu_import_tt">Imports a circuit as a useable Element!</string>
|
||||
<string name="menu_maximize">Maximize</string>
|
||||
<string name="menu_micro">Single gate stepping</string>
|
||||
<string name="menu_micro_tt">Runs the circuit in single gate step mode</string>
|
||||
<string name="menu_new">New</string>
|
||||
<string name="menu_open">Open</string>
|
||||
<string name="menu_openRecent">Open Recent</string>
|
||||
<string name="menu_openWin">Open in New Window</string>
|
||||
<string name="menu_openWin_tt">Opens a circuit in a new window</string>
|
||||
<string name="menu_orderInputs">Order Inputs</string>
|
||||
<string name="menu_orderInputs_tt">Order the inputs for the usage as nested circuit</string>
|
||||
<string name="menu_orderMeasurements">Order measurement values</string>
|
||||
<string name="menu_orderMeasurements_tt">Orders the measurement values in the graphical and table view</string>
|
||||
<string name="menu_orderOutputs">Order Outputs</string>
|
||||
<string name="menu_orderOutputs_tt">Order the outputs for the usage as nested circuit</string>
|
||||
<string name="menu_paste">Paste</string>
|
||||
<string name="menu_refresh">Reload</string>
|
||||
<string name="menu_refresh_tt">Reload all imported circuits</string>
|
||||
<string name="menu_rotate">Rotate</string>
|
||||
<string name="menu_run">Run</string>
|
||||
<string name="menu_run_tt">Runs the circuit</string>
|
||||
<string name="menu_save">Save</string>
|
||||
<string name="menu_saveAs">Save As</string>
|
||||
<string name="menu_saveData">Save Data</string>
|
||||
<string name="menu_saveData_tt">Save data as CSV file</string>
|
||||
<string name="menu_speedTest">Speed Test</string>
|
||||
<string name="menu_speedTest_tt">Performs a speed test by calculating the max. clock frequency.</string>
|
||||
<string name="menu_step">Step</string>
|
||||
<string name="menu_step_tt">Calculating a single gate step</string>
|
||||
<string name="menu_synthesise">Synthesise</string>
|
||||
<string name="menu_synthesise_tt">Generates the minimal bool expressions described by a truth table.</string>
|
||||
<string name="menu_table_N_variables">{0} variables</string>
|
||||
<string name="menu_table_columnsAdd">Add a result Column</string>
|
||||
<string name="menu_table_columnsAddVariable">Add a variable Column</string>
|
||||
<string name="menu_table_columnsAddVariable_tt">Adds a new variable column.</string>
|
||||
<string name="menu_table_columnsAdd_tt">Adds a new result column.</string>
|
||||
<string name="menu_table_create">Create</string>
|
||||
<string name="menu_table_createCUPL">CUPL source</string>
|
||||
<string name="menu_table_createCUPL_tt">Creates a CUPL source file containing the define circuit.</string>
|
||||
<string name="menu_table_createCircuit">Circuit</string>
|
||||
<string name="menu_table_createCircuit_tt">Creates a circuit which reproduces the truth table.</string>
|
||||
<string name="menu_table_createNAnd">Circuit with NAnd gates</string>
|
||||
<string name="menu_table_createNAndTwo">Circuit with NAnd gates with two inputs</string>
|
||||
<string name="menu_table_createNAndTwo_tt">Use only NAnd gates with two inputs.</string>
|
||||
<string name="menu_table_createNAnd_tt">Creates a circuit which reproduces the truth table only with NAnd gates.
|
||||
</string>
|
||||
<string name="menu_table_createNOr">Circuit with NOr gates</string>
|
||||
<string name="menu_table_createNOrTwo">Circuit with NOr gates with two inputs</string>
|
||||
<string name="menu_table_createNOrTwo_tt">Use only NOr gates with two inputs.</string>
|
||||
<string name="menu_table_createNOr_tt">Creates a circuit which reproduces the truth table only with NOr gates.
|
||||
</string>
|
||||
<string name="menu_table_createTwo">Circuit with two input gates</string>
|
||||
<string name="menu_table_createTwo_tt">create circuit, use only gates with two inputs</string>
|
||||
<string name="menu_table_create_hardware">Device</string>
|
||||
<string name="menu_table_create_jedec">JEDEC (*.jed)</string>
|
||||
<string name="menu_table_create_jedec_tt">Creates a JEDEC file for the device</string>
|
||||
<string name="menu_table_exportTableLaTeX">Export LaTeX</string>
|
||||
<string name="menu_table_inputs">Inputs</string>
|
||||
<string name="menu_table_new">New</string>
|
||||
<string name="menu_table_newColumns">Add Columns</string>
|
||||
<string name="menu_table_new_combinatorial">Combinatorial</string>
|
||||
<string name="menu_table_new_sequential">Sequential</string>
|
||||
<string name="menu_table_outputs">Outputs</string>
|
||||
<string name="menu_table_reorder">Reorder</string>
|
||||
<string name="menu_view">View</string>
|
||||
<string name="menu_zoomIn">Zoom In</string>
|
||||
<string name="menu_zoomOut">Zoom Out</string>
|
||||
<string name="message">Digital
|
||||
A simple simulator for digital circuits.
|
||||
|
||||
Written bei H.Neemann in 2016
|
||||
</string>
|
||||
<string name="msg_N_nodes">{0} nodes</string>
|
||||
<string name="msg_annalyseErr">Error analysing the circuit</string>
|
||||
<string name="msg_clockError">Error during a clock state change</string>
|
||||
<string name="msg_color">Color</string>
|
||||
<string name="msg_errorCalculatingStep">Error calculating a step</string>
|
||||
<string name="msg_errorCreatingModel">Error creating the circuit</string>
|
||||
<string name="msg_errorDuringCalculation">Error during simplification</string>
|
||||
<string name="msg_errorEditingValue">Error editing a atribute value</string>
|
||||
<string name="msg_errorImportingModel">Error importing a circuit</string>
|
||||
<string name="msg_errorReadingFile">Error reading a file</string>
|
||||
<string name="msg_errorReadingListing_N0">Error reading the listing {0}</string>
|
||||
<string name="msg_errorWritingFile">Error writing a file</string>
|
||||
<string name="msg_fastRunError">Error at fast run</string>
|
||||
<string name="msg_frequency_N">The maximum frequency is {0}Hz</string>
|
||||
<string name="msg_missingShape_N">Shape {0} is missing</string>
|
||||
<string name="msg_pinMap_inputs">Inputs</string>
|
||||
<string name="msg_pinMap_notUsed">not used</string>
|
||||
<string name="msg_pinMap_outputs">Onputs</string>
|
||||
<string name="msg_pinMap_pin_N_is_N">Pin {0}: {1}</string>
|
||||
<string name="msg_restartNeeded">Change needs a restart to take effect!</string>
|
||||
<string name="ok">Ok</string>
|
||||
<string name="rot_0">0°</string>
|
||||
<string name="rot_180">180°</string>
|
||||
<string name="rot_270">270°</string>
|
||||
<string name="rot_90">90°</string>
|
||||
<string name="stat_clocks">{0} half cycles</string>
|
||||
<string name="tt_deleteItem">Deletes the selected item</string>
|
||||
<string name="tt_moveItemDown">Move the item down</string>
|
||||
<string name="tt_moveItemUp">Move the item up</string>
|
||||
<string name="win_allSolutions">All possible solutions</string>
|
||||
<string name="win_confirmExit">Confirm Exit!</string>
|
||||
<string name="win_listing">Listing</string>
|
||||
<string name="win_measures">Measurements</string>
|
||||
<string name="win_measures_fullstep">Measurements full clock step</string>
|
||||
<string name="win_measures_microstep">Measurements single gate step</string>
|
||||
<string name="win_pinMapDialog">Pin Mapping</string>
|
||||
<string name="win_saveChanges">Save Changes?</string>
|
||||
<string name="win_stateChanged">State Changed!</string>
|
||||
<string name="win_table">Table</string>
|
||||
<string name="win_table_exportDialog">Export</string>
|
||||
</resources>
|
35
src/test/java/de/neemann/gui/language/ResourcesTest.java
Normal file
35
src/test/java/de/neemann/gui/language/ResourcesTest.java
Normal file
@ -0,0 +1,35 @@
|
||||
package de.neemann.gui.language;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
|
||||
/**
|
||||
* @author hneemann
|
||||
*/
|
||||
public class ResourcesTest extends TestCase {
|
||||
private static final String example
|
||||
= "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
|
||||
"<resources>\n" +
|
||||
" <string name=\"menu_save\">Speichern</string>\n" +
|
||||
" <string name=\"menu_open\">Öffnen</string>\n" +
|
||||
"</resources>";
|
||||
|
||||
public void testWrite() throws Exception {
|
||||
Resources res = new Resources();
|
||||
res.put("menu_open", "Öffnen");
|
||||
res.put("menu_save", "Speichern");
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
res.save(baos);
|
||||
assertEquals(example, baos.toString());
|
||||
}
|
||||
|
||||
public void testRead() throws Exception {
|
||||
Resources res = new Resources(new ByteArrayInputStream(example.getBytes()));
|
||||
|
||||
assertEquals("Öffnen", res.get("menu_open"));
|
||||
assertEquals("Speichern", res.get("menu_save"));
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user