diff --git a/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java b/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java index 6c6aa1bf..fc53f449 100644 --- a/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java +++ b/src/main/java/ch/ethz/seb/sebserver/gbl/util/Utils.java @@ -1,626 +1,623 @@ -/* - * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET) - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package ch.ethz.seb.sebserver.gbl.util; - -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.nio.ByteBuffer; -import java.nio.CharBuffer; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.Predicate; -import java.util.stream.Collector; -import java.util.stream.Collectors; - -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.text.StringEscapeUtils; -import org.eclipse.swt.graphics.RGB; -import org.joda.time.DateTime; -import org.joda.time.DateTimeZone; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.http.HttpHeaders; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; - -import ch.ethz.seb.sebserver.gbl.Constants; - -public final class Utils { - - public static final int DARK_COLOR_THRESHOLD = 400; - public static final Predicate TRUE_PREDICATE = v -> true; - public static final Predicate FALSE_PREDICATE = v -> false; - public static final Runnable EMPTY_EXECUTION = () -> { - }; - - private static final Logger log = LoggerFactory.getLogger(Utils.class); - - /** This Collector can be used within stream collect to get one expected singleton element from - * the given Stream. - * This first collects the given Stream to a list and then check if there is one expected element. - * If not a IllegalStateException is thrown. - * - * @return the expected singleton element - * @throws IllegalStateException if the given stream was empty or has more then one element */ - public static Collector toSingleton() { - return Collectors.collectingAndThen( - Collectors.toList(), - list -> { - if (list == null || list.size() == 0) { - throw new IllegalStateException( - "Expected one elements in the given list but is empty"); - } - if (list.size() != 1) { - throw new IllegalStateException( - "Expected only one elements in the given list but size is: " + list.size()); - } - return list.get(0); - }); - } - - public static T toSingleton(final Collection collection) { - return collection.stream().collect(toSingleton()); - } - - /** Get an immutable List from a Collection of elements - * - * @param values elements - * @return immutable List */ - @SafeVarargs - public static List immutableListOf(final T... values) { - if (values == null) { - return Collections.emptyList(); - } - - return immutableListOf(Arrays.asList(values)); - } - - /** Get an immutable List from a Collection of elements - * - * @param collection Collection of elements - * @return immutable List */ - public static List immutableListOf(final Collection collection) { - return (collection != null) - ? Collections.unmodifiableList(new ArrayList<>(collection)) - : Collections.emptyList(); - } - - /** Get a immutable Collection from a Collection of elements - * - * @param collection Collection of elements - * @return immutable Collection */ - public static Collection immutableCollectionOf(final Collection collection) { - return (collection != null) - ? Collections.unmodifiableCollection(collection) - : Collections.emptySet(); - } - - /** Use this to create an immutable Collection of specified type from varargs - * - * @param values elements of the new immutable Collection - * @return an immutable Collection of specified type with given elements */ - @SafeVarargs - public static Collection immutableCollectionOf(final T... values) { - if (values == null || values.length <= 0) { - return Collections.emptyList(); - } - return Collections.unmodifiableCollection(Arrays.asList(values)); - } - - /** Get a immutable Set from a Collection of elements - * - * @param collection Collection of elements - * @return immutable Set */ - public static Set immutableSetOf(final Collection collection) { - return immutableSetOf(new HashSet<>(collection)); - } - - /** Get a immutable Set from a Set of elements - * - * @param set Set of elements - * @return immutable Set */ - public static Set immutableSetOf(final Set set) { - return (set != null) - ? Collections.unmodifiableSet(set) - : Collections.emptySet(); - } - - /** Use this to create an immutable Set of specified type from varargs - * - * @param values elements of the new immutable Set - * @return an immutable Set of specified type with given elements */ - @SafeVarargs - public static Set immutableSetOf(final T... items) { - if (items == null || items.length <= 0) { - return Collections.emptySet(); - } - return Collections.unmodifiableSet(new LinkedHashSet<>(Arrays.asList(items))); - } - - public static List asImmutableList(final T[] array) { - return (array != null) - ? Collections.unmodifiableList(Arrays.asList(array)) - : Collections.emptyList(); - } - - public static Map immutableMapOf(final Map params) { - return (params != null) - ? Collections.unmodifiableMap(params) - : Collections.emptyMap(); - } - - public static > Collection> createSelectionResource(final Class enumClass) { - return Collections.unmodifiableCollection(Arrays.asList( - enumClass.getEnumConstants()) - .stream() - .map(e -> new Tuple<>(e.name(), e.name())) - .collect(Collectors.toList())); - } - - public static Collection getListOfLines(final String list) { - if (list == null) { - return Collections.emptyList(); - } - - return Arrays.asList(StringUtils.split( - streamlineCarriageReturn(list), - Constants.CARRIAGE_RETURN)); - } - - public static String convertCarriageReturnToListSeparator(final String value) { - if (value == null) { - return null; - } - - return streamlineCarriageReturn(value.trim()) - .replace(Constants.CARRIAGE_RETURN, Constants.LIST_SEPARATOR_CHAR); - } - - public static String convertListSeparatorToCarriageReturn(final String value) { - if (value == null) { - return null; - } - - return value - .trim() - .replace(Constants.LIST_SEPARATOR_CHAR, Constants.CARRIAGE_RETURN); - } - - public static String streamlineCarriageReturn(final String value) { - if (value == null) { - return null; - } - - return value.replace('\r', '\n') - .replace("\r\n", "\n"); - } - - public static Collection getListFromString(final String list) { - return getListFromString(list, Constants.LIST_SEPARATOR); - } - - public static Collection getListFromString(final String list, final String separator) { - if (list == null) { - return Collections.emptyList(); - } - - return Arrays.asList(StringUtils.split(list, separator)); - } - - public static Result dateTimeStringToTimestamp(final String startTime) { - return Result.tryCatch(() -> { - return DateTime.parse(startTime, Constants.STANDARD_DATE_TIME_FORMATTER).getMillis(); - }); - } - - public static Long dateTimeStringToTimestamp(final String startTime, final Long defaultValue) { - return dateTimeStringToTimestamp(startTime) - .getOr(defaultValue); - } - - public static , K, V> M mapPut(final M map, final K key, final V value) { - map.put(key, value); - return map; - } - - public static , K, V> M mapPutAll(final M map1, final M map2) { - map1.putAll(map2); - return map1; - } - - public static >, K, V> M mapCollect(final M map, final K key, final V value) { - final List list = (List) map.computeIfAbsent(key, k -> new ArrayList<>()); - list.add(value); - return map; - } - - public static DateTime toDateTime(final String dateString) { - if (StringUtils.isBlank(dateString)) { - return null; - } - - return DateTime.parse(dateString, Constants.STANDARD_DATE_TIME_FORMATTER); - } - - public static DateTime toDateTimeUTC(final String dateString) { - final DateTime dateTime = toDateTime(dateString); - if (dateTime == null) { - return dateTime; - } - - return dateTime.withZone(DateTimeZone.UTC); - } - - public static DateTime toDateTimeUTC(final Long timestamp) { - if (timestamp == null) { - return null; - } else { - return toDateTimeUTC(timestamp.longValue()); - } - } - - public static DateTime toDateTimeUTC(final long timestamp) { - return new DateTime(timestamp, DateTimeZone.UTC); - } - - public static DateTime toDateTimeUTCUnix(final Long timestamp) { - if (timestamp == null || timestamp.longValue() <= 0) { - return null; - } else { - return toDateTimeUTCUnix(timestamp.longValue()); - } - } - - public static DateTime toDateTimeUTCUnix(final long timestamp) { - return new DateTime(timestamp * 1000, DateTimeZone.UTC); - } - - public static Long toTimestamp(final String dateString) { - if (StringUtils.isBlank(dateString)) { - return null; - } - - return toDateTime(dateString).getMillis(); - } - - public static Long toTimestampUTC(final String dateString) { - if (StringUtils.isBlank(dateString)) { - return null; - } - - return toDateTimeUTC(dateString).getMillis(); - } - - public static String toJsonArray(final String string) { - if (string == null) { - return null; - } - - final List asList = Arrays.asList(StringUtils.split(string, Constants.LIST_SEPARATOR_CHAR)); - try { - return new ObjectMapper().writeValueAsString(asList); - } catch (final JsonProcessingException e) { - return string; - } - } - - public static final String formatHTMLLines(final String message) { - return (message != null) - ? message.replace("\n", "
") - : null; - } - - public static String formatLineBreaks(final String text) { - if (text == null) { - return null; - } - - return text.replace("
", "\n"); - } - - public static final String encodeFormURL_UTF_8(final String value) { - if (StringUtils.isBlank(value)) { - return value; - } - - try { - return URLEncoder.encode(value, StandardCharsets.UTF_8.name()); - } catch (final UnsupportedEncodingException e) { - log.error("Failed to encode FormURL_UTF_8 for: {}", value, e); - return value; - } - } - - public static final String decodeFormURL_UTF_8(final String value) { - if (StringUtils.isBlank(value)) { - return value; - } - - try { - return URLDecoder.decode( - (value.indexOf('+') >= 0) - ? value.replaceAll("\\+", "%2b") - : value, - StandardCharsets.UTF_8.name()); - } catch (final UnsupportedEncodingException e) { - log.error("Failed to decode FormURL_UTF_8 for: {}", value, e); - return value; - } - } - - public static void clearCharArray(final char[] array) { - if (array == null) { - return; - } - - for (int i = 0; i < array.length; i++) { - array[i] = 0; - } - - } - - public static byte[] toByteArray(final ByteBuffer buffer) { - if (buffer == null) { - return new byte[0]; - } - - buffer.rewind(); - final byte[] result = new byte[buffer.limit()]; - buffer.get(result); - return result; - } - - /** Formats the given CharSequence to a UTF-8 and convert to byte array - * - * @param chars - * @return UTF-8 formatted byte array of given CharSequence */ - public static byte[] toByteArray(final CharSequence chars) { - return toByteArray(toByteBuffer(chars)); - } - - public static ByteBuffer toByteBuffer(final CharSequence chars) { - if (chars == null) { - return ByteBuffer.allocate(0); - } - - return StandardCharsets.UTF_8.encode(CharBuffer.wrap(chars)); - } - - public static CharBuffer toCharBuffer(final ByteBuffer byteBuffer) { - if (byteBuffer == null) { - return CharBuffer.allocate(0); - } - - byteBuffer.rewind(); - return StandardCharsets.UTF_8.decode(byteBuffer); - } - - public static String toString(final ByteBuffer byteBuffer) { - return toCharBuffer(byteBuffer).toString(); - } - - public static String toString(final byte[] byteArray) { - if (byteArray == null) { - return null; - } - - return toString(ByteBuffer.wrap(byteArray)); - } - - public static char[] toCharArray(final CharBuffer buffer) { - if (buffer == null) { - return new char[0]; - } - - buffer.rewind(); - final char[] result = new char[buffer.limit()]; - buffer.get(result); - return result; - } - - public static char[] toCharArray(final CharSequence chars) { - if (chars == null) { - return new char[0]; - } - - return toCharArray(CharBuffer.wrap(chars)); - } - - public static void clear(final CharSequence charSequence) { - clearCharArray(toCharArray(charSequence)); - } - - public static String toString(final CharSequence charSequence) { - if (charSequence == null) { - return null; - } - - final StringBuilder builder = new StringBuilder(); - builder.append(charSequence); - return builder.toString(); - } - - public static String escapeHTML_XML_EcmaScript(final String string) { - return StringEscapeUtils.escapeXml11( - StringEscapeUtils.escapeHtml4( - StringEscapeUtils.escapeEcmaScript(string))); - } - - // https://www.owasp.org/index.php/HTTP_Response_Splitting - public static String preventResponseSplittingAttack(final String string) { - final int xni = string.indexOf('\n'); - final int xri = string.indexOf('\r'); - if (xni >= 0 || xri >= 0) { - throw new IllegalArgumentException("Illegal argument: " + string); - } - - return string; - } - - public static String toSQLWildcard(final String text) { - return (text == null) ? null : Constants.PERCENTAGE + text + Constants.PERCENTAGE; - } - - @SuppressWarnings("unchecked") - public static Predicate truePredicate() { - return (Predicate) TRUE_PREDICATE; - } - - @SuppressWarnings("unchecked") - public static Predicate falsePredicate() { - return (Predicate) FALSE_PREDICATE; - } - - public static long getMillisecondsNow() { - return DateTime.now(DateTimeZone.UTC).getMillis(); - } - - public static final RGB toRGB(final String rgbString) { - if (StringUtils.isNotBlank(rgbString)) { - return new RGB( - Integer.parseInt(rgbString.substring(0, 2), 16), - Integer.parseInt(rgbString.substring(2, 4), 16), - Integer.parseInt(rgbString.substring(4, 6), 16)); - } else { - return new RGB(255, 255, 255); - } - } - - public static final MultiValueMap createJsonContentHeader() { - final MultiValueMap headers = new LinkedMultiValueMap<>(); - headers.set( - HttpHeaders.CONTENT_TYPE, - org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE); - return headers; - } - - public static final String getErrorCauseMessage(final Exception e) { - if (e == null || e.getCause() == null) { - return Constants.EMPTY_NOTE; - } - return e.getCause().getClass().getName() + " : " + e.getCause().getMessage(); - } - - public static boolean darkColor(final RGB rgb) { - return rgb.red + rgb.green + rgb.blue > DARK_COLOR_THRESHOLD; - } - - public static String parseColorString(final RGB color) { - if (color == null) { - return null; - } - - return toColorFractionString(color.red) - + toColorFractionString(color.green) - + toColorFractionString(color.blue); - } - - public static RGB parseRGB(final String colorString) { - if (StringUtils.isBlank(colorString)) { - return null; - } - - final int r = Integer.parseInt(colorString.substring(0, 2), 16); - final int g = Integer.parseInt(colorString.substring(2, 4), 16); - final int b = Integer.parseInt(colorString.substring(4, 6), 16); - - return new RGB(r, g, b); - } - - public static String toColorFractionString(final int fraction) { - final String hexString = Integer.toHexString(fraction); - return (hexString.length() < 2) ? "0" + hexString : hexString; - } - - public static String toJsonArrayValue(final Map attributes) { - if (attributes == null || attributes.isEmpty()) { - return StringUtils.EMPTY; - } - - final StringBuilder builder = attributes - .entrySet() - .stream() - .reduce( - new StringBuilder(), - (sb, entry) -> sb - .append(Constants.DOUBLE_QUOTE) - .append(entry.getKey()) - .append(Constants.DOUBLE_QUOTE) - .append(Constants.COLON) - .append(Constants.DOUBLE_QUOTE) - .append(entry.getValue()) - .append(Constants.DOUBLE_QUOTE) - .append(Constants.COMMA), - (sb1, sb2) -> sb1.append(sb2)); - - if (builder.length() > 0) { - return builder - .deleteCharAt(builder.length() - 1) - .toString(); - } else { - return StringUtils.EMPTY; - } - } - - public static String toAppFormUrlEncodedBody(final MultiValueMap attributes) { - return attributes - .entrySet() - .stream() - .reduce( - new StringBuilder(), - (sb, entry) -> { - final String name = entry.getKey(); - final List values = entry.getValue(); - if (values == null || values.isEmpty()) { - return sb; - } - if (sb.length() > 0) { - sb.append(Constants.AMPERSAND); - } - if (sb.length() == 1) { - return sb.append(name).append(Constants.EQUALITY_SIGN).append(values.get(0)); - } - return sb.append(toAppFormUrlEncodedBody(name, values)); - }, - (sb1, sb2) -> sb1.append(sb2)) - .toString(); - } - - public static final String toAppFormUrlEncodedBody(final String name, final Collection array) { - final String _name = name.contains(String.valueOf(Constants.SQUARE_BRACE_OPEN)) - ? name - : name + Constants.SQUARE_BRACE_OPEN + Constants.SQUARE_BRACE_CLOSE; - - return array - .stream() - .reduce( - new StringBuilder(), - (sb, entry) -> { - if (sb.length() > 0) { - sb.append(Constants.AMPERSAND); - } - return sb.append(_name).append(Constants.EQUALITY_SIGN).append(entry); - }, - (sb1, sb2) -> sb1.append(sb2)) - .toString(); - } - -} +/* + * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET) + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +package ch.ethz.seb.sebserver.gbl.util; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.function.Predicate; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.text.StringEscapeUtils; +import org.eclipse.swt.graphics.RGB; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.HttpHeaders; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; + +import ch.ethz.seb.sebserver.gbl.Constants; + +public final class Utils { + + public static final int DARK_COLOR_THRESHOLD = 400; + public static final Predicate TRUE_PREDICATE = v -> true; + public static final Predicate FALSE_PREDICATE = v -> false; + public static final Runnable EMPTY_EXECUTION = () -> { + }; + + private static final Logger log = LoggerFactory.getLogger(Utils.class); + + /** This Collector can be used within stream collect to get one expected singleton element from + * the given Stream. + * This first collects the given Stream to a list and then check if there is one expected element. + * If not a IllegalStateException is thrown. + * + * @return the expected singleton element + * @throws IllegalStateException if the given stream was empty or has more then one element */ + public static Collector toSingleton() { + return Collectors.collectingAndThen( + Collectors.toList(), + list -> { + if (list == null || list.size() == 0) { + throw new IllegalStateException( + "Expected one elements in the given list but is empty"); + } + if (list.size() != 1) { + throw new IllegalStateException( + "Expected only one elements in the given list but size is: " + list.size()); + } + return list.get(0); + }); + } + + public static T toSingleton(final Collection collection) { + return collection.stream().collect(toSingleton()); + } + + /** Get an immutable List from a Collection of elements + * + * @param values elements + * @return immutable List */ + @SafeVarargs + public static List immutableListOf(final T... values) { + if (values == null) { + return Collections.emptyList(); + } + + return immutableListOf(Arrays.asList(values)); + } + + /** Get an immutable List from a Collection of elements + * + * @param collection Collection of elements + * @return immutable List */ + public static List immutableListOf(final Collection collection) { + return (collection != null) + ? Collections.unmodifiableList(new ArrayList<>(collection)) + : Collections.emptyList(); + } + + /** Get a immutable Collection from a Collection of elements + * + * @param collection Collection of elements + * @return immutable Collection */ + public static Collection immutableCollectionOf(final Collection collection) { + return (collection != null) + ? Collections.unmodifiableCollection(collection) + : Collections.emptySet(); + } + + /** Use this to create an immutable Collection of specified type from varargs + * + * @param values elements of the new immutable Collection + * @return an immutable Collection of specified type with given elements */ + @SafeVarargs + public static Collection immutableCollectionOf(final T... values) { + if (values == null || values.length <= 0) { + return Collections.emptyList(); + } + return Collections.unmodifiableCollection(Arrays.asList(values)); + } + + /** Get a immutable Set from a Collection of elements + * + * @param collection Collection of elements + * @return immutable Set */ + public static Set immutableSetOf(final Collection collection) { + return immutableSetOf(new HashSet<>(collection)); + } + + /** Get a immutable Set from a Set of elements + * + * @param set Set of elements + * @return immutable Set */ + public static Set immutableSetOf(final Set set) { + return (set != null) + ? Collections.unmodifiableSet(set) + : Collections.emptySet(); + } + + /** Use this to create an immutable Set of specified type from varargs + * + * @param items elements of the new immutable Set + * @return an immutable Set of specified type with given elements */ + @SafeVarargs + public static Set immutableSetOf(final T... items) { + if (items == null || items.length <= 0) { + return Collections.emptySet(); + } + return Collections.unmodifiableSet(new LinkedHashSet<>(Arrays.asList(items))); + } + + public static List asImmutableList(final T[] array) { + return (array != null) + ? Collections.unmodifiableList(Arrays.asList(array)) + : Collections.emptyList(); + } + + public static Map immutableMapOf(final Map params) { + return (params != null) + ? Collections.unmodifiableMap(params) + : Collections.emptyMap(); + } + + public static > Collection> createSelectionResource(final Class enumClass) { + return Arrays.stream(enumClass.getEnumConstants()) + .map(e -> new Tuple<>(e.name(), e.name())) + .collect(Collectors.toUnmodifiableList()); + } + + public static Collection getListOfLines(final String list) { + if (list == null) { + return Collections.emptyList(); + } + + return Arrays.asList(StringUtils.split( + streamlineCarriageReturn(list), + Constants.CARRIAGE_RETURN)); + } + + public static String convertCarriageReturnToListSeparator(final String value) { + if (value == null) { + return null; + } + + return streamlineCarriageReturn(value.trim()) + .replace(Constants.CARRIAGE_RETURN, Constants.LIST_SEPARATOR_CHAR); + } + + public static String convertListSeparatorToCarriageReturn(final String value) { + if (value == null) { + return null; + } + + return value + .trim() + .replace(Constants.LIST_SEPARATOR_CHAR, Constants.CARRIAGE_RETURN); + } + + public static String streamlineCarriageReturn(final String value) { + if (value == null) { + return null; + } + + return value.replace('\r', '\n') + .replace("\r\n", "\n"); + } + + public static Collection getListFromString(final String list) { + return getListFromString(list, Constants.LIST_SEPARATOR); + } + + public static Collection getListFromString(final String list, final String separator) { + if (list == null) { + return Collections.emptyList(); + } + + return Arrays.asList(StringUtils.split(list, separator)); + } + + public static Result dateTimeStringToTimestamp(final String startTime) { + return Result.tryCatch(() -> DateTime + .parse(startTime, Constants.STANDARD_DATE_TIME_FORMATTER) + .getMillis()); + } + + public static Long dateTimeStringToTimestamp(final String startTime, final Long defaultValue) { + return dateTimeStringToTimestamp(startTime) + .getOr(defaultValue); + } + + public static , K, V> M mapPut(final M map, final K key, final V value) { + map.put(key, value); + return map; + } + + public static , K, V> M mapPutAll(final M map1, final M map2) { + map1.putAll(map2); + return map1; + } + + public static >, K, V> M mapCollect(final M map, final K key, final V value) { + final List list = (List) map.computeIfAbsent(key, k -> new ArrayList<>()); + list.add(value); + return map; + } + + public static DateTime toDateTime(final String dateString) { + if (StringUtils.isBlank(dateString)) { + return null; + } + + return DateTime.parse(dateString, Constants.STANDARD_DATE_TIME_FORMATTER); + } + + public static DateTime toDateTimeUTC(final String dateString) { + final DateTime dateTime = toDateTime(dateString); + if (dateTime == null) { + return null; + } + + return dateTime.withZone(DateTimeZone.UTC); + } + + public static DateTime toDateTimeUTC(final Long timestamp) { + if (timestamp == null) { + return null; + } else { + return toDateTimeUTC(timestamp.longValue()); + } + } + + public static DateTime toDateTimeUTC(final long timestamp) { + return new DateTime(timestamp, DateTimeZone.UTC); + } + + public static DateTime toDateTimeUTCUnix(final Long timestamp) { + if (timestamp == null || timestamp <= 0) { + return null; + } else { + return toDateTimeUTCUnix(timestamp.longValue()); + } + } + + public static DateTime toDateTimeUTCUnix(final long timestamp) { + return new DateTime(timestamp * 1000, DateTimeZone.UTC); + } + + public static Long toTimestamp(final String dateString) { + if (StringUtils.isBlank(dateString)) { + return null; + } + + return Objects.requireNonNull(toDateTime(dateString)).getMillis(); + } + + public static Long toTimestampUTC(final String dateString) { + if (StringUtils.isBlank(dateString)) { + return null; + } + + return Objects.requireNonNull(toDateTimeUTC(dateString)).getMillis(); + } + + public static String toJsonArray(final String string) { + if (string == null) { + return null; + } + + final List asList = Arrays.asList(StringUtils.split(string, Constants.LIST_SEPARATOR_CHAR)); + try { + return new ObjectMapper().writeValueAsString(asList); + } catch (final JsonProcessingException e) { + return string; + } + } + + public static String formatHTMLLines(final String message) { + return (message != null) + ? message.replace("\n", "
") + : null; + } + + public static String formatLineBreaks(final String text) { + if (text == null) { + return null; + } + + return text.replace("
", "\n"); + } + + public static String encodeFormURL_UTF_8(final String value) { + if (StringUtils.isBlank(value)) { + return value; + } + + try { + return URLEncoder.encode(value, StandardCharsets.UTF_8.name()); + } catch (final UnsupportedEncodingException e) { + log.error("Failed to encode FormURL_UTF_8 for: {}", value, e); + return value; + } + } + + public static String decodeFormURL_UTF_8(final String value) { + if (StringUtils.isBlank(value)) { + return value; + } + + try { + return URLDecoder.decode( + (value.indexOf('+') >= 0) + ? value.replaceAll("\\+", "%2b") + : value, + StandardCharsets.UTF_8.name()); + } catch (final UnsupportedEncodingException e) { + log.error("Failed to decode FormURL_UTF_8 for: {}", value, e); + return value; + } + } + + public static void clearCharArray(final char[] array) { + if (array == null) { + return; + } + + for (int i = 0; i < array.length; i++) { + array[i] = 0; + } + + } + + public static byte[] toByteArray(final ByteBuffer buffer) { + if (buffer == null) { + return new byte[0]; + } + + buffer.rewind(); + final byte[] result = new byte[buffer.limit()]; + buffer.get(result); + return result; + } + + /** Formats the given CharSequence to a UTF-8 and convert to byte array + * + * @param chars + * @return UTF-8 formatted byte array of given CharSequence */ + public static byte[] toByteArray(final CharSequence chars) { + return toByteArray(toByteBuffer(chars)); + } + + public static ByteBuffer toByteBuffer(final CharSequence chars) { + if (chars == null) { + return ByteBuffer.allocate(0); + } + + return StandardCharsets.UTF_8.encode(CharBuffer.wrap(chars)); + } + + public static CharBuffer toCharBuffer(final ByteBuffer byteBuffer) { + if (byteBuffer == null) { + return CharBuffer.allocate(0); + } + + byteBuffer.rewind(); + return StandardCharsets.UTF_8.decode(byteBuffer); + } + + public static String toString(final ByteBuffer byteBuffer) { + return toCharBuffer(byteBuffer).toString(); + } + + public static String toString(final byte[] byteArray) { + if (byteArray == null) { + return null; + } + + return toString(ByteBuffer.wrap(byteArray)); + } + + public static char[] toCharArray(final CharBuffer buffer) { + if (buffer == null) { + return new char[0]; + } + + buffer.rewind(); + final char[] result = new char[buffer.limit()]; + buffer.get(result); + return result; + } + + public static char[] toCharArray(final CharSequence chars) { + if (chars == null) { + return new char[0]; + } + + return toCharArray(CharBuffer.wrap(chars)); + } + + public static void clear(final CharSequence charSequence) { + clearCharArray(toCharArray(charSequence)); + } + + public static String toString(final CharSequence charSequence) { + if (charSequence == null) { + return null; + } + + return String.valueOf(charSequence); + } + + public static String escapeHTML_XML_EcmaScript(final String string) { + return StringEscapeUtils.escapeXml11( + StringEscapeUtils.escapeHtml4( + StringEscapeUtils.escapeEcmaScript(string))); + } + + // https://www.owasp.org/index.php/HTTP_Response_Splitting + public static String preventResponseSplittingAttack(final String string) { + final int xni = string.indexOf('\n'); + final int xri = string.indexOf('\r'); + if (xni >= 0 || xri >= 0) { + throw new IllegalArgumentException("Illegal argument: " + string); + } + + return string; + } + + public static String toSQLWildcard(final String text) { + return (text == null) ? null : Constants.PERCENTAGE + text + Constants.PERCENTAGE; + } + + @SuppressWarnings("unchecked") + public static Predicate truePredicate() { + return (Predicate) TRUE_PREDICATE; + } + + @SuppressWarnings("unchecked") + public static Predicate falsePredicate() { + return (Predicate) FALSE_PREDICATE; + } + + public static long getMillisecondsNow() { + return DateTime.now(DateTimeZone.UTC).getMillis(); + } + + public static RGB toRGB(final String rgbString) { + if (StringUtils.isNotBlank(rgbString)) { + return new RGB( + Integer.parseInt(rgbString.substring(0, 2), 16), + Integer.parseInt(rgbString.substring(2, 4), 16), + Integer.parseInt(rgbString.substring(4, 6), 16)); + } else { + return new RGB(255, 255, 255); + } + } + + public static MultiValueMap createJsonContentHeader() { + final MultiValueMap headers = new LinkedMultiValueMap<>(); + headers.set( + HttpHeaders.CONTENT_TYPE, + org.springframework.http.MediaType.APPLICATION_JSON_UTF8_VALUE); + return headers; + } + + public static String getErrorCauseMessage(final Exception e) { + if (e == null || e.getCause() == null) { + return Constants.EMPTY_NOTE; + } + return e.getCause().getClass().getName() + " : " + e.getCause().getMessage(); + } + + public static boolean darkColor(final RGB rgb) { + return rgb.red + rgb.green + rgb.blue > DARK_COLOR_THRESHOLD; + } + + public static String parseColorString(final RGB color) { + if (color == null) { + return null; + } + + return toColorFractionString(color.red) + + toColorFractionString(color.green) + + toColorFractionString(color.blue); + } + + public static RGB parseRGB(final String colorString) { + if (StringUtils.isBlank(colorString)) { + return null; + } + + final int r = Integer.parseInt(colorString.substring(0, 2), 16); + final int g = Integer.parseInt(colorString.substring(2, 4), 16); + final int b = Integer.parseInt(colorString.substring(4, 6), 16); + + return new RGB(r, g, b); + } + + public static String toColorFractionString(final int fraction) { + final String hexString = Integer.toHexString(fraction); + return (hexString.length() < 2) ? "0" + hexString : hexString; + } + + public static String toJsonArrayValue(final Map attributes) { + if (attributes == null || attributes.isEmpty()) { + return StringUtils.EMPTY; + } + + final StringBuilder builder = attributes + .entrySet() + .stream() + .reduce( + new StringBuilder(), + (sb, entry) -> sb + .append(Constants.DOUBLE_QUOTE) + .append(entry.getKey()) + .append(Constants.DOUBLE_QUOTE) + .append(Constants.COLON) + .append(Constants.DOUBLE_QUOTE) + .append(entry.getValue()) + .append(Constants.DOUBLE_QUOTE) + .append(Constants.COMMA), + StringBuilder::append); + + if (builder.length() > 0) { + return builder + .deleteCharAt(builder.length() - 1) + .toString(); + } else { + return StringUtils.EMPTY; + } + } + + public static String toAppFormUrlEncodedBody(final MultiValueMap attributes) { + return attributes + .entrySet() + .stream() + .reduce( + new StringBuilder(), + (sb, entry) -> { + final String name = entry.getKey(); + final List values = entry.getValue(); + if (values == null || values.isEmpty()) { + return sb; + } + if (sb.length() > 0) { + sb.append(Constants.AMPERSAND); + } + if (sb.length() == 1) { + return sb.append(name).append(Constants.EQUALITY_SIGN).append(values.get(0)); + } + return sb.append(toAppFormUrlEncodedBody(name, values)); + }, + StringBuilder::append) + .toString(); + } + + public static String toAppFormUrlEncodedBody(final String name, final Collection array) { + final String _name = name.contains(String.valueOf(Constants.SQUARE_BRACE_OPEN)) + ? name + : name + Constants.SQUARE_BRACE_OPEN + Constants.SQUARE_BRACE_CLOSE; + + return array + .stream() + .reduce( + new StringBuilder(), + (sb, entry) -> { + if (sb.length() > 0) { + sb.append(Constants.AMPERSAND); + } + return sb.append(_name).append(Constants.EQUALITY_SIGN).append(entry); + }, + StringBuilder::append) + .toString(); + } + +} diff --git a/src/main/resources/config/application.properties b/src/main/resources/config/application.properties index 581a88e4..0b06b6d4 100644 --- a/src/main/resources/config/application.properties +++ b/src/main/resources/config/application.properties @@ -1,135 +1,135 @@ -spring.application.name=SEB Server -spring.profiles.active=dev -sebserver.version=0.5.4 beta - -########################################################## -### Global Server Settings - -# Server address (set for docker internal) -server.address=0.0.0.0 -# Server http port -server.port=8080 -# The servlet context path -server.servlet.context-path=/ - -# Tomcat -server.tomcat.max-threads=1000 -server.tomcat.accept-count=300 - - -### encoding -file.encoding=UTF-8 -spring.mandatory-file-encoding=UTF-8 -spring.http.encoding.charset=UTF-8 -spring.http.encoding.enabled=true - -### servlet session handling -server.servlet.session.cookie.http-only=true -server.servlet.session.tracking-modes=cookie - -### Logging -# Default logging level in the form "logging.level" + namespace=LEVEL -logging.level.ch=WARN -# Log file name and location -logging.file=/sebserver/log/sebserver.log - -### spring actuator configuration -management.endpoints.web.base-path=/mprofile -management.endpoints.web.exposure.include=metrics,logfile,loggers,heapdump - -########################################################## -### Overall Security Settings - -security.require-ssl=false -#server.ssl.key-store-type=PKCS12 -#server.ssl.key-store=/certs/seb-server-keystore.pkcs12 -#server.ssl.key-store-password=${sebserver.certs.password} -#server.ssl.key-password=${sebserver.certs.password} -#server.ssl.trust-store=/certs/seb-server-truststore.pkcs12 -#server.ssl.trust-store-password=${sebserver.certs.password} -#server.ssl.enabled-protocols=TLSv1,TLSv1.1,TLSv1.2 - -# If webservice or gui runs on ssl and this flag is true, an integrated redirect from http to https is activated -# Disable this if a redirect is done by a reverse proxy for example -sebserver.ssl.redirect.enabled=false -sebserver.ssl.redirect.html.port=8080 - -########################################################## -### SEB Server Webservice configuration - -sebserver.test.property=This is the default/root configuration - -### webservice initialization -sebserver.init.adminaccount.gen-on-init=true -sebserver.init.organisation.name=ETHZ -sebserver.init.adminaccount.username=super-admin - -### webservice data source configuration -spring.datasource.username=root -spring.datasource.initialize=true -spring.datasource.initialization-mode=always -spring.datasource.url=jdbc:mariadb://${datastore.mariadb.server.address}:${datastore.mariadb.server.port}/SEBServer?useSSL=false&createDatabaseIfNotExist=true -spring.datasource.driver-class-name=org.mariadb.jdbc.Driver -spring.datasource.platform=dev -spring.datasource.hikari.initializationFailTimeout=3000 -spring.datasource.hikari.connectionTimeout=30000 -spring.datasource.hikari.idleTimeout=600000 -spring.datasource.hikari.maxLifetime=1800000 - -### webservice security -spring.datasource.password=${sebserver.mariadb.password} -sebserver.webservice.api.admin.clientSecret=${sebserver.password} -sebserver.webservice.internalSecret=${sebserver.password} - -### webservice networking -sebserver.webservice.distributed=false -sebserver.webservice.http.scheme=http -sebserver.webservice.http.external.servername= -sebserver.webservice.http.external.port= -sebserver.webservice.http.redirect.gui=/gui - -### webservice API -sebserver.webservice.api.admin.clientId=guiClient -sebserver.webservice.api.admin.endpoint=/admin-api/v1 -sebserver.webservice.api.admin.accessTokenValiditySeconds=3600 -sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200 -sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml -sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml -sebserver.webservice.api.exam.endpoint=/exam-api -sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery -sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1 -sebserver.webservice.api.exam.accessTokenValiditySeconds=3600 -sebserver.webservice.api.exam.event-handling-strategy=SINGLE_EVENT_STORE_STRATEGY -sebserver.webservice.api.exam.enable-indicator-cache=true -sebserver.webservice.api.pagination.maxPageSize=500 -# comma separated list of known possible OpenEdX API access token request endpoints -sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token -sebserver.webservice.lms.moodle.api.token.request.paths=/login/token.php -sebserver.webservice.lms.address.alias= - -########################################################## -### SEB Server GUI configuration - -# theme -sebserver.gui.theme=css/sebserver.css -sebserver.gui.list.page.size=20 -sebserver.gui.defaultLogo=classpath:/static/images/sebserver-logo.png - -# User Account -sebserver.gui.self-registering=true -sebserver.gui.multilingual=false -sebserver.gui.supported.languages=en -sebserver.gui.date.displayformat=de - -# GUI API -sebserver.gui.entrypoint=/gui -sebserver.gui.webservice.protocol=http -sebserver.gui.webservice.address=localhost -sebserver.gui.webservice.port=8080 -sebserver.gui.webservice.apipath=${sebserver.webservice.api.admin.endpoint} -# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page -sebserver.gui.webservice.poll-interval=1000 -sebserver.gui.webservice.mock-lms-enabled=true -sebserver.gui.seb.client.config.download.filename=SEBClientSettings.seb -sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb - +spring.application.name=SEB Server +spring.profiles.active=dev +sebserver.version=0.5.4 beta + +########################################################## +### Global Server Settings + +# Server address (set for docker internal) +server.address=0.0.0.0 +# Server http port +server.port=8080 +# The servlet context path +server.servlet.context-path=/ + +# Tomcat +server.tomcat.max-threads=1000 +server.tomcat.accept-count=300 + + +### encoding +file.encoding=UTF-8 +spring.mandatory-file-encoding=UTF-8 +spring.http.encoding.charset=UTF-8 +spring.http.encoding.enabled=true + +### servlet session handling +server.servlet.session.cookie.http-only=true +server.servlet.session.tracking-modes=cookie + +### Logging +# Default logging level in the form "logging.level" + namespace=LEVEL +logging.level.ch=WARN +# Log file name and location +logging.file=/sebserver/log/sebserver.log + +### spring actuator configuration +management.endpoints.web.base-path=/mprofile +management.endpoints.web.exposure.include=metrics,logfile,loggers,heapdump + +########################################################## +### Overall Security Settings + +security.require-ssl=false +#server.ssl.key-store-type=PKCS12 +#server.ssl.key-store=/certs/seb-server-keystore.pkcs12 +#server.ssl.key-store-password=${sebserver.certs.password} +#server.ssl.key-password=${sebserver.certs.password} +#server.ssl.trust-store=/certs/seb-server-truststore.pkcs12 +#server.ssl.trust-store-password=${sebserver.certs.password} +#server.ssl.enabled-protocols=TLSv1,TLSv1.1,TLSv1.2 + +# If webservice or gui runs on ssl and this flag is true, an integrated redirect from http to https is activated +# Disable this if a redirect is done by a reverse proxy for example +sebserver.ssl.redirect.enabled=false +sebserver.ssl.redirect.html.port=8080 + +########################################################## +### SEB Server Webservice configuration + +sebserver.test.property=This is the default/root configuration + +### webservice initialization +sebserver.init.adminaccount.gen-on-init=true +sebserver.init.organisation.name=ETHZ +sebserver.init.adminaccount.username=super-admin + +### webservice data source configuration +spring.datasource.username=root +spring.datasource.initialize=true +spring.datasource.initialization-mode=always +spring.datasource.url=jdbc:mariadb://${datastore.mariadb.server.address}:${datastore.mariadb.server.port}/SEBServer?useSSL=false&createDatabaseIfNotExist=true +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +spring.datasource.platform=dev +spring.datasource.hikari.initializationFailTimeout=3000 +spring.datasource.hikari.connectionTimeout=30000 +spring.datasource.hikari.idleTimeout=600000 +spring.datasource.hikari.maxLifetime=1800000 + +### webservice security +spring.datasource.password=${sebserver.mariadb.password} +sebserver.webservice.api.admin.clientSecret=${sebserver.password} +sebserver.webservice.internalSecret=${sebserver.password} + +### webservice networking +sebserver.webservice.distributed=false +sebserver.webservice.http.scheme=http +sebserver.webservice.http.external.servername= +sebserver.webservice.http.external.port= +sebserver.webservice.http.redirect.gui=/gui + +### webservice API +sebserver.webservice.api.admin.clientId=guiClient +sebserver.webservice.api.admin.endpoint=/admin-api/v1 +sebserver.webservice.api.admin.accessTokenValiditySeconds=3600 +sebserver.webservice.api.admin.refreshTokenValiditySeconds=25200 +sebserver.webservice.api.exam.config.init.permittedProcesses=config/initialPermittedProcesses.xml +sebserver.webservice.api.exam.config.init.prohibitedProcesses=config/initialProhibitedProcesses.xml +sebserver.webservice.api.exam.endpoint=/exam-api +sebserver.webservice.api.exam.endpoint.discovery=${sebserver.webservice.api.exam.endpoint}/discovery +sebserver.webservice.api.exam.endpoint.v1=${sebserver.webservice.api.exam.endpoint}/v1 +sebserver.webservice.api.exam.accessTokenValiditySeconds=3600 +sebserver.webservice.api.exam.event-handling-strategy=SINGLE_EVENT_STORE_STRATEGY +sebserver.webservice.api.exam.enable-indicator-cache=true +sebserver.webservice.api.pagination.maxPageSize=500 +# comma separated list of known possible OpenEdX API access token request endpoints +sebserver.webservice.lms.openedx.api.token.request.paths=/oauth2/access_token +sebserver.webservice.lms.moodle.api.token.request.paths=/login/token.php +sebserver.webservice.lms.address.alias= + +########################################################## +### SEB Server GUI configuration + +# theme +sebserver.gui.theme=css/sebserver.css +sebserver.gui.list.page.size=20 +sebserver.gui.defaultLogo=classpath:/static/images/sebserver-logo.png + +# User Account +sebserver.gui.self-registering=true +sebserver.gui.multilingual=false +sebserver.gui.supported.languages=en +sebserver.gui.date.displayformat=de + +# GUI API +sebserver.gui.entrypoint=/gui +sebserver.gui.webservice.protocol=http +sebserver.gui.webservice.address=localhost +sebserver.gui.webservice.port=8080 +sebserver.gui.webservice.apipath=${sebserver.webservice.api.admin.endpoint} +# defines the polling interval that is used to poll the webservice for client connection data on a monitored exam page +sebserver.gui.webservice.poll-interval=1000 +sebserver.gui.webservice.mock-lms-enabled=true +sebserver.gui.seb.client.config.download.filename=SEBClientSettings.seb +sebserver.gui.seb.exam.config.download.filename=SEBExamSettings.seb + diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties index 989988fe..7d1ecebc 100644 --- a/src/main/resources/messages.properties +++ b/src/main/resources/messages.properties @@ -1,1218 +1,1215 @@ -################################ -# Overall -################################ - -sebserver.overall.version=SEB Server Version : {0} - -sebserver.overall.about=About -sebserver.overall.about.markup=SEB Server About

1. Installation.

This is a SEB Server demo setup, ideal for testing or demonstrations. -sebserver.overall.help=Documentation -sebserver.overall.help.link=https://www.safeexambrowser.org/news_en.html - -sebserver.overall.message.leave.without.save=You have unsaved changes!Are you sure you want to leave the page?\The changes will be lost. -sebserver.overall.upload=Please select a file -sebserver.overall.upload.unsupported.file=This file type is not supported. Supported files are: {0} -sebserver.overall.action.modify.cancel=Cancel -sebserver.overall.action.modify.cancel.confirm=Are you sure you want to cancel? Modifications will be lost. -sebserver.overall.action.filter=Apply filter -sebserver.overall.action.filter.clear=Clear filter criteria -sebserver.overall.action.ok=OK -sebserver.overall.action.cancel=Cancel -sebserver.overall.action.close=Close -sebserver.overall.action.goAwayFromEditPageConfirm=Are you sure you want to leave this page? Unsaved data will be lost. -sebserver.overall.action.category.varia= -sebserver.overall.action.category.filter= - -sebserver.overall.status.active=Active -sebserver.overall.status.inactive=Inactive -sebserver.overall.status.all=All - -sebserver.overall.date.from=From -sebserver.overall.date.to=To - -sebserver.overall.action.add=Add; -sebserver.overall.action.remove=Remove -sebserver.overall.action.select=Please Select -sebserver.overall.action.toggle-activity=Switch Activity - -sebserver.overall.types.activityType.REGISTER=Register new Account -sebserver.overall.types.activityType.CREATE=Create New -sebserver.overall.types.activityType.IMPORT=Import -sebserver.overall.types.activityType.EXPORT=Export -sebserver.overall.types.activityType.MODIFY=Modify -sebserver.overall.types.activityType.PASSWORD_CHANGE=Password Change -sebserver.overall.types.activityType.DEACTIVATE=Deactivate -sebserver.overall.types.activityType.ACTIVATE=Activate -sebserver.overall.types.activityType.DELETE=Delete - -sebserver.overall.types.entityType.CONFIGURATION_ATTRIBUTE=Configuration Attribute -sebserver.overall.types.entityType.CONFIGURATION_VALUE=Configuration Value -sebserver.overall.types.entityType.VIEW=Configuration View -sebserver.overall.types.entityType.ORIENTATION=Configuration Orientation -sebserver.overall.types.entityType.CONFIGURATION=Exam Configuration History -sebserver.overall.types.entityType.CONFIGURATION_NODE=Exam Configuration -sebserver.overall.types.entityType.EXAM_CONFIGURATION_MAP=Exam Configuration Mapping -sebserver.overall.types.entityType.EXAM=Exam -sebserver.overall.types.entityType.INDICATOR=Indicator -sebserver.overall.types.entityType.THRESHOLD=Threshold -sebserver.overall.types.entityType.INSTITUTION=Institution -sebserver.overall.types.entityType.SEB_CLIENT_CONFIGURATION=Client Configuration -sebserver.overall.types.entityType.LMS_SETUP=LMS Setup -sebserver.overall.types.entityType.USER=User Account - -sebserver.overall.activity.title.serveradmin=SEB Server Administration -sebserver.overall.activity.title.sebconfig=SEB Configuration -sebserver.overall.activity.title.examadmin=Exam Administration -sebserver.overall.activity.title.monitoring=Monitoring - -################################ -# Form validation and messages -################################ - -sebserver.form.validation.error.title=Form data validation failed -sebserver.form.validation.error.message=There is missing or incorrect form data. -sebserver.form.validation.fieldError.size=The size must be between {3} and {4} -sebserver.form.validation.fieldError.name=The Name is mandatory and must have a size between {3} and {4} character -sebserver.form.validation.fieldError.urlSuffix=The URL Suffix must have a size between {3} and {4} character -sebserver.form.validation.fieldError.notNull=This field is mandatory -sebserver.form.validation.fieldError.username.notunique=This Username is already in use. Please choose another one. -sebserver.form.validation.fieldError.password.wrong=The old password is wrong -sebserver.form.validation.fieldError.password.mismatch=The re-typed password doesn't match the new password -sebserver.form.validation.fieldError.invalidURL=The input does not match the URL pattern. -sebserver.form.validation.fieldError.exists=This name already exists. Please choose another one. -sebserver.form.validation.fieldError.email=Invalid mail address -sebserver.error.unexpected=Unexpected Error -sebserver.page.message=Information -sebserver.dialog.confirm.title=Confirmation -sebserver.form.mandatory=This field is mandatory. -sebserver.form.action.save.activate=Save and Activate -sebserver.table.column.sort.default.tooltip=Click on the column header to sort the table within this column. - -sebserver.dialog.confirm.deactivation=Note that there are {0} other entities that belongs to this entity.
Those will also be deactivated by deactivating this entity.

Are You sure to deactivate this entity? -sebserver.dialog.confirm.deactivation.noDependencies=Are You sure you want to deactivate? - -sebserver.error.action.unexpected.message=Failed to process action. There was an unexpected error.
Please try again or contact a system-administrator if this error persists -sebserver.error.get.entity=Failed to load {0}.
Please try again or contact a system-administrator if this error persists -sebserver.error.remove.entity=Failed to remove {0}.
Please try again or contact a system-administrator if this error persists -sebserver.error.activate.entity=Failed to activate/deactivate {0}.
Please try again or contact a system-administrator if this error persists -sebserver.error.save.entity=Failed to save {0}.
Please try again or contact a system-administrator if this error persists -sebserver.error.exam.seb.restriction=

Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.
Please check the LMS Setup and try again or contact a system-administrator if this error persists -sebserver.error.import=Failed to import {0}.
Please try again or contact a system-administrator if this error persists -sebserver.error.logout=Failed to logout properly.
Please try again or contact a system-administrator if this error persists -################################ -# Login Page -################################ - -sebserver.login.username=User Name -sebserver.login.pwd=Password -sebserver.login.login=Sign In -sebserver.login.failed.title=Login failed -sebserver.login.failed.message=Access denied: wrong username or password -sebserver.logout=Sign out -sebserver.logout.success.message=You have been successfully signed out. -sebserver.logout.invalid-session.message=You have been signed out because of a user session invalidation.Please sign in again -sebserver.login.password.change=Information -sebserver.login.password.change.success=The password was successfully changed. Please sign in with your new password - -sebserver.login.register=Register -sebserver.login.register.form.title=Create an Account -sebserver.login.register.do=Create Account -sebserver.login.register.success=New account successfully created.
Please log in with your username and password. - - -################################ -# Main Page -################################ - -sebserver.logout=Logout -sebserver.mainpage.maximize.tooltip=Maximize -sebserver.mainpage.minimize.tooltip=Minimize -sebserver.activitiespane.title= -sebserver.actionpane.title= - -################################ -# Institution -################################ - -sebserver.institution.list.actions= -sebserver.institution.list.empty=No institution has been found. Please adapt the filter or create a new institution -sebserver.institution.list.title=Institutions -sebserver.institution.list.column.name=Name -sebserver.institution.list.column.name.tooltip=The name of the institution.

Use the filter above to narrow down a specific name.{0} -sebserver.institution.list.column.urlSuffix=URL Suffix -sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page.

Use the filter above to narrow down a specific URL suffix.{0} -sebserver.institution.list.column.active=Status -sebserver.institution.list.column.active.tooltip=The activity of the institution.

Use the filter above to specify the activity.{0} - -sebserver.institution.action.list=Institution -sebserver.institution.action.form=Institution -sebserver.institution.action.new=Add Institution -sebserver.institution.action.list.view=View Institution -sebserver.institution.action.list.modify=Edit Institution -sebserver.institution.action.modify=Edit Institution -sebserver.institution.action.save=Save Institution -sebserver.institution.action.activate=Activate Institution - -sebserver.institution.action.deactivate=Deactivate Institution -sebserver.institution.action.delete=Delete Institution - -sebserver.institution.info.pleaseSelect=Please select first an institution from the list. -sebserver.institution.form.title.new=Add Institution -sebserver.institution.form.title=Institution - -sebserver.institution.form.name=Name -sebserver.institution.form.name.tooltip=The name of the institution -sebserver.institution.form.urlSuffix=URL Suffix -sebserver.institution.form.urlSuffix.tooltip=The URL suffix to the institutional login page. Institutional URL is: http(s):/// -sebserver.institution.form.logoImage=Logo Image -sebserver.institution.form.logoImage.tooltip=The Image that is shown as a logo in the specified institutional login page.In edit mode, use the arrow sign to open a upload dialog. -sebserver.institution.form.logoImage.unsupportedFileType=The selected file is not supported. Supported are: PNG and JPG - - -################################ -# User Account -################################ - -sebserver.useraccount.list.actions= -sebserver.useraccount.role.SEB_SERVER_ADMIN=SEB Server Administrator -sebserver.useraccount.role.INSTITUTIONAL_ADMIN=Institutional Administrator -sebserver.useraccount.role.EXAM_ADMIN=Exam Administrator -sebserver.useraccount.role.EXAM_SUPPORTER=Exam Supporter - -sebserver.useraccount.list.empty=No user account has been found. Please adapt the filter or create a new user account -sebserver.useraccount.list.title=User Accounts -sebserver.useraccount.list.column.institution=Institution -sebserver.useraccount.list.column.name=First Name -sebserver.useraccount.list.column.username=User Name -sebserver.useraccount.list.column.email=Mail -sebserver.useraccount.list.column.language=Language -sebserver.useraccount.list.column.active=Active - -sebserver.useraccount.action.list=User Account -sebserver.useraccount.action.form=User Account of {0} -sebserver.useraccount.action.new=Add User Account -sebserver.useraccount.action.view=View User Account -sebserver.useraccount.action.list.modify=Edit User Account -sebserver.useraccount.action.modify=Edit -sebserver.useraccount.action.save=Save User Account -sebserver.useraccount.action.activate=Activate Account -sebserver.useraccount.action.deactivate=Deactivate Account -sebserver.useraccount.action.delete=Delete User Account -sebserver.useraccount.action.change.password=Change Password -sebserver.useraccount.action.change.password.save=Save New Password - -sebserver.useraccount.info.pleaseSelect=Please select first a User Account from the list. -sebserver.useraccount.info.notEditable=You have no edit rights for this User Account. - -sebserver.useraccount.form.title=User Account -sebserver.useraccount.form.title.new=Add User Account -sebserver.useraccount.form.institution=Institution -sebserver.useraccount.form.creationdate=Creation Date -sebserver.useraccount.form.name=First Name -sebserver.useraccount.form.surname=Surname -sebserver.useraccount.form.username=Username -sebserver.useraccount.form.mail=E-Mail -sebserver.useraccount.form.language=Language -sebserver.useraccount.form.timezone=Time Zone -sebserver.useraccount.form.roles=User Roles -sebserver.useraccount.form.password=Password -sebserver.useraccount.form.password.confirm=Confirm Password - -sebserver.useraccount.form.pwchange.title=Change Password : {0} -sebserver.useraccount.form.password=Password -sebserver.useraccount.form.password.new=New Password -sebserver.useraccount.form.password.new.confirm=Confirm New Password - -################################ -# LMS Setup -################################ - -sebserver.lmssetup.type.MOCKUP=Mock-up -sebserver.lmssetup.type.MOODLE=Moodle -sebserver.lmssetup.type.OPEN_EDX=Open edX - -sebserver.lmssetup.list.actions= -sebserver.lmssetup.list.action.no.modify.privilege=No Access: A LMS Setup from other institution cannot be modified. -sebserver.lmssetup.list.empty=No LMS Setup has been found. Please adapt the filter or create a new LMS Setup -sebserver.lmssetup.list.title=Learning Management System Setups -sebserver.lmssetup.list.column.institution=Institution -sebserver.lmssetup.list.column.name=Name -sebserver.lmssetup.list.column.type=LMS Type -sebserver.lmssetup.list.column.active=Active - -sebserver.lmssetup.action.list=LMS Connection Settings -sebserver.lmssetup.action.form=LMS Setup -sebserver.lmssetup.action.new=Add LMS Setup -sebserver.lmssetup.action.list.view=View LMS Setup -sebserver.lmssetup.action.list.modify=Edit LMS Setup -sebserver.lmssetup.action.modify=Edit -sebserver.lmssetup.action.savetest=Test And Save -sebserver.lmssetup.action.testsave=Test And Save -sebserver.lmssetup.action.test.ok=Successfully connected to the course API -sebserver.lmssetup.action.test.tokenRequestError=The API access was denied: {0} -sebserver.lmssetup.action.test.quizRequestError=Unable to request courses or quizzes from the course API of the LMS. {0} -sebserver.lmssetup.action.test.quizRestrictionError=Unable to access course restriction API of the LMS. {0} -sebserver.lmssetup.action.test.missingParameter=There is one or more missing connection parameter.
Please check the connection parameter for this LMS Setup -sebserver.lmssetup.action.test.unknownError=An unexpected error happened while trying to connect to the LMS course API. {0} -sebserver.lmssetup.action.save=Save LMS Setup -sebserver.lmssetup.action.activate=Activate LMS Setup -sebserver.lmssetup.action.deactivate=Deactivate LMS Setup -sebserver.lmssetup.action.delete=Delete LMS Setup - -sebserver.lmssetup.info.pleaseSelect=Please select first a LMS Setup from the list - -sebserver.lmssetup.form.title=Learning Management System Setup -sebserver.lmssetup.form.title.new=Add Learning Management System Setup -sebserver.lmssetup.form.institution=Institution -sebserver.lmssetup.form.name=Name -sebserver.lmssetup.form.type=Type -sebserver.lmssetup.form.clientname.seb=SEB Auth. Name -sebserver.lmssetup.form.secret.seb=SEB Auth. Password -sebserver.lmssetup.form.url=LMS Server Address -sebserver.lmssetup.form.clientname.lms=LMS Server Username -sebserver.lmssetup.form.secret.lms=LMS Server Password -sebserver.lmssetup.form.proxy=Proxy -sebserver.lmssetup.form.proxy.host=Proxy Host -sebserver.lmssetup.form.proxy.port=Proxy Port -sebserver.lmssetup.form.proxy.auth-credentials=Proxy Name/Password - -################################ -# Quiz Discovery -################################ - -sebserver.quizdiscovery.list.actions= - -sebserver.quizdiscovery.list.title=Quizzes -sebserver.quizdiscovery.list.empty=No Quiz has been found. Please adapt the filter or create a new LMS Setup -sebserver.quizdiscovery.list.column.institution=Institution -sebserver.quizdiscovery.list.column.lmssetup=LMS -sebserver.quizdiscovery.list.column.name=Name -sebserver.quizdiscovery.list.column.starttime=Start Time {0} -sebserver.quizdiscovery.list.column.endtime=End Time {0} -sebserver.quizdiscovery.info.pleaseSelect=Please select first a Quiz from the list - -sebserver.quizdiscovery.action.list=LMS Exam Discovery -sebserver.quizdiscovery.action.import=Import as Exam -sebserver.quizdiscovery.quiz.import.out.dated=The Selected Quiz is is already finished and can't be imported -sebserver.quizdiscovery.action.details=Show Details - -sebserver.quizdiscovery.quiz.details.title=Quiz Details -sebserver.quizdiscovery.quiz.details.description=Description -sebserver.quizdiscovery.quiz.details.starttime=Start Time -sebserver.quizdiscovery.quiz.details.endtime=End Time -sebserver.quizdiscovery.quiz.details.url=Start URL -sebserver.quizdiscovery.quiz.details.additional.timecreated=Creation Time -sebserver.quizdiscovery.quiz.details.additional.course_shortname=Short Name -sebserver.quizdiscovery.quiz.details.additional.course_fullname=Full Name -sebserver.quizdiscovery.quiz.details.additional.course_displayname=Display Name -sebserver.quizdiscovery.quiz.details.additional.course_summary=Summary -sebserver.quizdiscovery.quiz.details.additional.timelimit=Time Limit - -################################ -# Exam -################################ - -sebserver.exam.list.actions= -sebserver.exam.list.title=Exams -sebserver.exam.list.column.institution=Institution -sebserver.exam.list.column.lmssetup=LMS -sebserver.exam.list.column.name=Name -sebserver.exam.list.column.starttime=Start Time {0} -sebserver.exam.list.column.type=Type - -sebserver.exam.list.empty=No Exam has been found. Please adapt the filter or import one from Quiz -sebserver.exam.list.modify.out.dated=Finished exams cannot be modified. -sebserver.exam.list.action.no.modify.privilege=No Access: An Exam from other institution cannot be modified. - -sebserver.exam.consistency.title=Note: This exam is already running but has some missing settings -sebserver.exam.consistency.missing-supporter= - There are no Exam-Supporter defined for this exam. Use 'Edit Exam' on the right to add an Exam-Supporter. -sebserver.exam.consistency.missing-indicator= - There is no indicator defined for this exam. Use 'Add Indicator" on the right to add an indicator. -sebserver.exam.consistency.missing-config= - There is no configuration defined for this exam. Use 'Add Configuration' to attach one. -sebserver.exam.consistency.missing-seb-restriction= - There is currently no SEB restriction applied on the LMS side. Use 'Enable SEB Restriction' on the right to activate auto-restriction.
Or if this is not possible consider doing it manually on the LMS. -sebserver.exam.confirm.remove-config=This exam is current running. The remove of the attached configuration will led to an invalid state
where connecting SEB clients cannot download the configuration for the exam.

Are you sure to remove the Configuration? - -sebserver.exam.action.list=SEB Exam Settings -sebserver.exam.action.list.view=View Exam -sebserver.exam.action.list.modify=Edit Exam -sebserver.exam.action.modify=Edit Exam -sebserver.exam.action.import=Import From Quizzes -sebserver.exam.action.save=Save Exam -sebserver.exam.action.activate=Activate Exam -sebserver.exam.action.deactivate=Deactivate Exam -sebserver.exam.action.sebrestriction.enable=Apply SEB Lock -sebserver.exam.action.sebrestriction.disable=Release SEB Lock -sebserver.exam.action.sebrestriction.details=SEB Restriction Details - -sebserver.exam.info.pleaseSelect=Please select first an Exam from the list - -sebserver.exam.form.title.import=Import Exam -sebserver.exam.form.title=Exam -sebserver.exam.form.lmssetup=LMS Setup -sebserver.exam.form.quizid=Quiz Identifier -sebserver.exam.form.quizurl=Quiz URL -sebserver.exam.form.name=Name -sebserver.exam.form.description=Description -sebserver.exam.form.starttime=Start Time -sebserver.exam.form.endtime=End Time -sebserver.exam.form.status=Status -sebserver.exam.form.type=Exam Type -sebserver.exam.form.supporter=Exam Supporter -sebserver.exam.form.supporter.action.add=Add as supporter for this exam -sebserver.exam.form.supporter.action.remove=Remove supporter - -sebserver.exam.form.sebrestriction.title=SEB Restriction Details -sebserver.exam.form.sebrestriction.configKeys=Config Keys -sebserver.exam.form.sebrestriction.browserExamKeys=Browser Exam Keys -sebserver.exam.form.sebrestriction.WHITELIST_PATHS=Component White-List -sebserver.exam.form.sebrestriction.BLACKLIST_CHAPTERS=Chapters Black-List -sebserver.exam.form.sebrestriction.PERMISSION_COMPONENTS=Permissions -sebserver.exam.form.sebrestriction.USER_BANNING_ENABLED=User Banning - -sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT=About -sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE=Course Outline -sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE=Course Ware -sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION=Discussion -sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS=Progress -sebserver.exam.form.sebrestriction.whiteListPaths.WIKI=Description (Wiki) - -sebserver.exam.form.sebrestriction.permissions.ALWAYS_ALLOW_STUFF=Stuff Role Always Allowed -sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_KEY=Check Browser-Exam-Key -sebserver.exam.form.sebrestriction.permissions.CHECK_CONFIG_KEY=Check Config-Key -sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_OR_CONFIG_KEY=Check Browser-Exam- Or Config-Key - - -sebserver.exam.type.UNDEFINED=Not Defined -sebserver.exam.type.MANAGED=Managed Devices -sebserver.exam.type.BYOD=Bring Your Own Device -sebserver.exam.type.VDI=VDI (Virtual Desktop Infrastructure) - -sebserver.exam.status.UP_COMING=Up Coming -sebserver.exam.status.RUNNING=Running -sebserver.exam.status.FINISHED=Finished - -sebserver.exam.configuration.list.actions= -sebserver.exam.configuration.list.title=SEB Exam Configuration -sebserver.exam.configuration.list.column.name=Name -sebserver.exam.configuration.list.column.description=Description -sebserver.exam.configuration.list.column.status=Status -sebserver.exam.configuration.list.empty=There is currently no SEB Configuration defined for this Exam. Please add one -sebserver.exam.configuration.list.pleaseSelect=Please select first a SEB Configuration from the list -sebserver.exam.configuration.action.noconfig.message=There is currently no SEB exam configuration to select.
Please create one in SEB Configuration / Exam Configuration - -sebserver.exam.configuration.action.list.new=Add Configuration -sebserver.exam.configuration.action.list.modify=Edit Configuration -sebserver.exam.configuration.action.list.view=View Configuration -sebserver.exam.configuration.action.list.delete=Delete Configuration -sebserver.exam.configuration.action.save=Save Configuration -sebserver.exam.configuration.action.export-config=Export Configuration -sebserver.exam.configuration.action.get-config-key=Export Config-Key - -sebserver.exam.configuration.form.title.new=Add SEB Configuration Mapping -sebserver.exam.configuration.form.title=SEB Configuration Mapping -sebserver.exam.configuration.form.name=SEB Configuration -sebserver.exam.configuration.form.encryptSecret=Encryption Password -sebserver.exam.configuration.form.description=Description -sebserver.exam.configuration.form.status=Status -sebserver.exam.configuration.form.encryptSecret.confirm=Confirm Password - -sebserver.exam.indicator.list.actions= -sebserver.exam.indicator.list.title=Indicators -sebserver.exam.indicator.list.column.type=Type -sebserver.exam.indicator.list.column.name=Name -sebserver.exam.indicator.list.column.thresholds=Thresholds -sebserver.exam.indicator.list.empty=There is currently no indicator defined for this exam. Please create a new one -sebserver.exam.indicator.list.pleaseSelect=Please select first an indicator from the list - -sebserver.exam.indicator.type.LAST_PING=Last Ping Time -sebserver.exam.indicator.type.ERROR_COUNT=Errors -sebserver.exam.indicator.type.WARN_COUNT=Warnings -sebserver.exam.indicator.type.description.LAST_PING=This indicator shows the time in milliseconds since the last ping has been received from a SEB Client.This indicator can be used to track a SEB Client connection and indicate connection losse.Thresholds are defined in milliseconds. -sebserver.exam.indicator.type.description.ERROR_COUNT=This indicator shows the number of error log messages that has been received from a SEB Client.This indicator can be used to track errors of connected SEB ClientsThresholds are defined by natural numbers. -sebserver.exam.indicator.type.description.WARN_COUNT=This indicator shows the number of warn log messages that has been received from a SEB Client.This indicator can be used to track warnings of connected SEB ClientsThresholds are defined by natural numbers. - - -sebserver.exam.indicator.info.pleaseSelect=Please select first an indicator from the list - -sebserver.exam.indicator.action.list.new=Add Indicator -sebserver.exam.indicator.action.list.modify=Edit Selected Indicator -sebserver.exam.indicator.action.list.delete=Delete Selected Indicator -sebserver.exam.indicator.action.save=Save - -sebserver.exam.indicator.form.title=Indicator -sebserver.exam.indicator.form.title.new=Add Indicator -sebserver.exam.indicator.form.exam=Exam -sebserver.exam.indicator.form.name=Name -sebserver.exam.indicator.form.type=Type -sebserver.exam.indicator.form.description=Type Description -sebserver.exam.indicator.form.color=Default Color -sebserver.exam.indicator.form.color.action=Please select a color -sebserver.exam.indicator.form.thresholds=Thresholds -sebserver.exam.indicator.thresholds.select.color=Please select a color - -sebserver.exam.indicator.thresholds.list.title=Thresholds -sebserver.exam.indicator.thresholds.list.value=Value -sebserver.exam.indicator.thresholds.list.color=Color -sebserver.exam.indicator.thresholds.list.add=Add Threshold -sebserver.exam.indicator.thresholds.list.remove=Delete Threshold - -################################ -# SEB Client Configuration -################################ - -sebserver.sebconfig.activity.name=SEB Configuration - -sebserver.clientconfig.action.list=Client Configuration -sebserver.clientconfig.action.export=Export - -sebserver.clientconfig.list.empty=There is currently no SEB-Client configuration available. Please create a new one -sebserver.clientconfig.list.title=SEB Client Configurations -sebserver.clientconfig.list.actions= -sebserver.clientconfig.list.column.institution=Institution -sebserver.clientconfig.list.column.name=Name -sebserver.clientconfig.list.column.date=Creation Date {0} -sebserver.clientconfig.list.column.active=Active -sebserver.clientconfig.info.pleaseSelect=Please select first a Client Configuration from the list -sebserver.clientconfig.list.action.no.modify.privilege=No Access: A SEB Client Configuration from other institution cannot be modified. - -sebserver.clientconfig.form.title.new=Add Client Configuration -sebserver.clientconfig.form.title=SEB Client Configuration -sebserver.clientconfig.form.name=Name -sebserver.clientconfig.form.fallback-url=Fallback Start URL -sebserver.clientconfig.form.date=Creation Date -sebserver.clientconfig.form.encryptSecret=Configuration Password -sebserver.clientconfig.form.encryptSecret.confirm=Confirm Password - -sebserver.clientconfig.action.list.new=Add Configuration -sebserver.clientconfig.action.list.view=View Configuration -sebserver.clientconfig.action.list.modify=Edit Configuration -sebserver.clientconfig.action.modify=Edit -sebserver.clientconfig.action.save=Save -sebserver.clientconfig.action.activate=Activate Configuration -sebserver.clientconfig.action.deactivate=Deactivate Configuration - -################################ -# SEB Exam Configuration -################################ - -sebserver.examconfig.action.list=Exam Configuration -sebserver.examconfig.list.title=Exam Configurations -sebserver.examconfig.list.column.institution=Institution -sebserver.examconfig.list.column.name=Name -sebserver.examconfig.list.column.description=Description -sebserver.examconfig.list.column.status=Status - -sebserver.examconfig.list.actions= - -sebserver.examconfig.list.empty=There is currently no SEB-Exam configuration available. Please create a new one -sebserver.examconfig.info.pleaseSelect=Please select first an Exam Configuration from the list -sebserver.examconfig.list.action.no.modify.privilege=No Access: An Exam Configuration from other institution cannot be modified. - -sebserver.examconfig.action.list.new=Add Exam Configuration -sebserver.examconfig.action.list.view=View Configuration -sebserver.examconfig.action.list.modify=Edit Settings -sebserver.examconfig.action.list.modify.properties=Edit Configuration -sebserver.examconfig.action.view=View Settings -sebserver.examconfig.action.modify=Edit Settings -sebserver.examconfig.action.modify.properties=Edit Configuration -sebserver.examconfig.action.view.properties=View Configuration -sebserver.examconfig.action.save=Save -sebserver.examconfig.action.saveToHistory=Save / Publish -sebserver.examconfig.action.saveToHistory.success=Successfully saved in history -sebserver.examconfig.action.saveToHistory.integrity-violation=There is currently at least one running Exam with active SEB client connections that uses this Configuration.
Modify of a configuration that is currently in use would lead to inconsistency and is therefore not allowed.

Please make sure that the configuration is not in use before applying changes. -sebserver.examconfig.action.undo=Undo -sebserver.examconfig.action.undo.success=Successfully reverted to last saved state -sebserver.examconfig.action.copy=Copy Configuration -sebserver.examconfig.action.copy.dialog=Exam Configuration -sebserver.examconfig.action.copy-as-template=Save As Template -sebserver.examconfig.action.copy-as-template.dialog=Configuration Template -sebserver.examconfig.action.export.plainxml=Export Configuration -sebserver.examconfig.action.get-config-key=Export Config-Key -sebserver.examconfig.action.import-config=Import Exam Configuration -sebserver.examconfig.action.import-file-select=Import From File -sebserver.examconfig.action.import-file-password=Password -sebserver.examconfig.action.import-config.confirm=Configuration successfully imported -sebserver.examconfig.action.import.missing-password=Missing Password: The chosen SEB Configuration is password-protected.

Please choose it again and provide the correct password within the password field. -sebserver.examconfig.action.state-change.confirm=This configuration is already attached to an exam.

Please note that changing an attached configuration will take effect on the exam when the configuration changes are saved

Are you sure to change this configuration to an editable state? - -sebserver.examconfig.form.title.new=Add Exam Configuration -sebserver.examconfig.form.title=Exam Configuration -sebserver.examconfig.form.name=Name -sebserver.examconfig.form.description=Description -sebserver.examconfig.form.with-history=With History -sebserver.examconfig.form.template=Template -sebserver.examconfig.form.status=Status -sebserver.examconfig.form.config-key.title=Config Key -sebserver.examconfig.form.attched-to=Attached To Exam - -sebserver.examconfig.status.CONSTRUCTION=Under Construction -sebserver.examconfig.status.READY_TO_USE=Ready To Use -sebserver.examconfig.status.IN_USE=In Use - -sebserver.examconfig.props.from.title=Exam Configuration Properties -sebserver.examconfig.props.form.views.general=General -sebserver.examconfig.props.form.views.user_interface=User Interface -sebserver.examconfig.props.form.views.browser=Browser -sebserver.examconfig.props.form.views.down_upload=Down/Uploads -sebserver.examconfig.props.form.views.exam=Exam -sebserver.examconfig.props.form.views.applications=Applications -sebserver.examconfig.props.form.views.resources=Additional Resources -sebserver.examconfig.props.form.views.network=Network -sebserver.examconfig.props.form.views.security=Security -sebserver.examconfig.props.form.views.registry=Registry -sebserver.examconfig.props.form.views.hooked_keys=Hooked Keys - - -sebserver.examconfig.props.label.hashedAdminPassword=Administrator password -sebserver.examconfig.props.label.hashedAdminPassword.confirm=Confirm password -sebserver.examconfig.props.label.allowQuit=Allow user to quit SEB -sebserver.examconfig.props.label.allowQuit.tooltip=Users can quit SEB with Control-Q, window close or quit button.Otherwise use a quit link in your exam system or shutdown/restart the computer. -sebserver.examconfig.props.label.ignoreExitKeys=Ignore exit keys -sebserver.examconfig.props.label.ignoreExitKeys.tooltip=SEB ignores the exit keys and can only be quit manually by entering the quit password.(click Quit button in SEB taskbar, press Ctrl-Q or click the main browser window close button) -sebserver.examconfig.props.label.hashedQuitPassword=Quit/unlock password -sebserver.examconfig.props.label.hashedQuitPassword.confirm=Confirm password -sebserver.examconfig.props.group.exitSequence=Exit Sequence - -sebserver.examconfig.props.label.exitKey.0=F1 -sebserver.examconfig.props.label.exitKey.1=F2 -sebserver.examconfig.props.label.exitKey.2=F3 -sebserver.examconfig.props.label.exitKey.3=F4 -sebserver.examconfig.props.label.exitKey.4=F5 -sebserver.examconfig.props.label.exitKey.5=F6 -sebserver.examconfig.props.label.exitKey.6=F7 -sebserver.examconfig.props.label.exitKey.7=F8 -sebserver.examconfig.props.label.exitKey.8=F9 -sebserver.examconfig.props.label.exitKey.9=F10 -sebserver.examconfig.props.label.exitKey.10=F11 -sebserver.examconfig.props.label.exitKey.11=F12 - -sebserver.examconfig.props.group.browserViewMode=Browser View Mode -sebserver.examconfig.props.label.browserViewMode.0=Use browser window -sebserver.examconfig.props.label.browserViewMode.0.tooltip=Use window for the SEB browser which can be scaled and moved around, also to another screen if available -sebserver.examconfig.props.label.browserViewMode.1=Use full screen mode -sebserver.examconfig.props.label.browserViewMode.1.tooltip=Display the SEB browser full screen. -sebserver.examconfig.props.label.browserViewMode.2=Touch optimized -sebserver.examconfig.props.label.browserViewMode.2.tooltip=Mainly to be used on Windows tablets. Not working with the Create New Desktop kiosk mode -sebserver.examconfig.props.label.enableTouchExit=Enable touch exit -sebserver.examconfig.props.label.enableTouchExit.tooltip=SEB can be quit by a swipe down from the upper display edge - -sebserver.examconfig.props.group.winsize=Main Browser Window Size And Position -sebserver.examconfig.props.label.mainBrowserWindowWidth=Width -sebserver.examconfig.props.label.mainBrowserWindowWidth.tooltip=Window width in pixel or percentage of total screen width. -sebserver.examconfig.props.label.mainBrowserWindowHeight=Height -sebserver.examconfig.props.label.mainBrowserWindowHeight.tooltip=Window height in pixel or percentage of total screen height. -sebserver.examconfig.props.label.mainBrowserWindowPositioning=Horizontal positioning -sebserver.examconfig.props.label.mainBrowserWindowPositioning.0=Left -sebserver.examconfig.props.label.mainBrowserWindowPositioning.1=Center -sebserver.examconfig.props.label.mainBrowserWindowPositioning.2=Right - -sebserver.examconfig.props.group.wintoolbar=Browser Window Toolbar -sebserver.examconfig.props.label.enableBrowserWindowToolbar=Enable browser window toolbar -sebserver.examconfig.props.label.enableBrowserWindowToolbar.tooltip=Displays a toolbar on top of the browser windowwhich can also be hidden by the user. -sebserver.examconfig.props.label.hideBrowserWindowToolbar=Hide toolbar as default (Mac) -sebserver.examconfig.props.label.hideBrowserWindowToolbar.tooltip=Hide browser window toolbar by default.It can be shown again by using the View menu or Alt-Command-T. -sebserver.examconfig.props.label.showMenuBar=Show menu bar (Mac) -sebserver.examconfig.props.label.showMenuBar.tooltip=Show the OS X menu bar to allow to access settings like Wi-Fi. - -sebserver.examconfig.props.group.taskbar=SEB Taskbar/Dock -sebserver.examconfig.props.label.showTaskBar=Show SEB taskbar -sebserver.examconfig.props.label.showTaskBar.tooltip=The SEB task bar shows and switches between open browser windows, allowed resources and applications and displays additional controls -sebserver.examconfig.props.label.taskBarHeight=Taskbar/dock height -sebserver.examconfig.props.label.taskBarHeight.tooltip=Height of SEB dock/task bar in points/pixels -sebserver.examconfig.props.label.showReloadButton=Show reload button -sebserver.examconfig.props.label.showReloadButton.tooltip=Reloads current web page. Shows warning if enabled in Browser settings tab -sebserver.examconfig.props.label.showTime=Show time -sebserver.examconfig.props.label.showTime.tooltip=Show current time -sebserver.examconfig.props.label.showInputLanguage=Show keyboard layout -sebserver.examconfig.props.label.showInputLanguage.tooltip=Shows current keyboard layout and allows to switch between other active keyboard layouts - -sebserver.examconfig.props.group.zoom=Enable Zoom (Win/Mac) -sebserver.examconfig.props.label.enableZoomPage=Enable page zoom -sebserver.examconfig.props.label.enableZoomPage.tooltip=Pages can be zoomed with ctrl - cmd +/- or the commands in the view menu and browser window toolbar (Mac) -sebserver.examconfig.props.label.enableZoomText=Enable text zoom -sebserver.examconfig.props.label.enableZoomText.tooltip=Text in browser windows can be zoomed with cmd +/- or the commands in the view menu and browser window toolbar (Mac) -sebserver.examconfig.props.group.zoomMode=Zoom Mode Win (Ctrl-Mousewheel) -sebserver.examconfig.props.label.zoomMode.0=Use page zoom -sebserver.examconfig.props.label.zoomMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)" -sebserver.examconfig.props.label.zoomMode.1=Use text zoom -sebserver.examconfig.props.label.zoomMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) - -sebserver.examconfig.props.group.audio=Audio Control -sebserver.examconfig.props.label.audioControlEnabled=Enable audio controls -sebserver.examconfig.props.label.audioControlEnabled.tooltip=Displays an audio control in the SEB taskbar -sebserver.examconfig.props.label.audioMute=Mute audio on startup -sebserver.examconfig.props.label.audioMute.tooltip=The autio is muted when the SEB/exam starts -sebserver.examconfig.props.label.audioSetVolumeLevel=Set initial volume level -sebserver.examconfig.props.label.audioSetVolumeLevel.tooltip=The volume level after starting SEB/exam - -sebserver.examconfig.props.group.spellcheck=Spell Checker -sebserver.examconfig.props.label.allowSpellCheck=Allow spell checking -sebserver.examconfig.props.label.allowSpellCheck.tooltip=Allow to use "Check spelling" in the SEB browser -sebserver.examconfig.props.label.allowDictionaryLookup=Allow dictionary lookup (Mac) -sebserver.examconfig.props.label.allowDictionaryLookup.tooltip=Allow to use the OS X dictionary lookup using a 3 finger tap -sebserver.examconfig.props.label.allowSpellCheckDictionary=The list below shows all dictionaries currently available for spell checking.SEB comes with a list of standard dictionaries that can be activated/deactivated here. -sebserver.examconfig.props.label.allowSpellCheckDictionary.da-DK=Danish (Denmark) (da-DK) -sebserver.examconfig.props.label.allowSpellCheckDictionary.en-AU=English (Australia) (en-AU) -sebserver.examconfig.props.label.allowSpellCheckDictionary.en-GB=English (United Kingdom) (en-GB) -sebserver.examconfig.props.label.allowSpellCheckDictionary.en-US=English (United States) (en-US) -sebserver.examconfig.props.label.allowSpellCheckDictionary.es-ES=Spanish (Spain) (es-ES) -sebserver.examconfig.props.label.allowSpellCheckDictionary.fr-FR=French (France) (fr-FR) -sebserver.examconfig.props.label.allowSpellCheckDictionary.pt-PT=Portuguese (Portugal) (pt-PT) -sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-SE=Swedish (Sweden) -sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-FI=Swedish (Finland) - -sebserver.examconfig.props.group.newBrowserWindow=Links requesting to be opened in a new browser window (Mac) -sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.0=get generally blocked -sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.1=open in same window -sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.2=open in new window -sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign=Block when directingto a different server -sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign.tooltip=USE WITH CARE: Hyperlinks invoked by JavaScript/plug-ins which direct to a different host than the one of the current main page will be ignored. - -sebserver.examconfig.props.group.newwinsize=New browser window size and position -sebserver.examconfig.props.label.newBrowserWindowByLinkWidth=Width -sebserver.examconfig.props.label.newBrowserWindowByLinkWidth.tooltip=Window width in pixel or percentage of total screen width. -sebserver.examconfig.props.label.newBrowserWindowByLinkHeight=Height -sebserver.examconfig.props.label.newBrowserWindowByLinkHeight.tooltip=Window height in pixel or percentage of total screen height. -sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning=Horizontal positioning -sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.0=Left -sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.1=Center -sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.2=Right - -sebserver.examconfig.props.group.browserSecurity=Browser security -sebserver.examconfig.props.label.enablePlugIns=Enable plug-ins (Win: only Flash) -sebserver.examconfig.props.label.enablePlugIns.tooltip=Enables web plugins (Mac) or just Flash (Win). For security reasons it\'s recommended to disable this option if you don\'t use any plugin/Flash content. -sebserver.examconfig.props.label.enableJavaScript=Enable JavaScript -sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript. Please note that most modern web-sites need JavaScript for full functionality. -sebserver.examconfig.props.label.enableJava=Enable Java -sebserver.examconfig.props.label.enableJava.tooltip=Enables Java applets. Note: Only applets with the highest Java security level will run in SEB. -sebserver.examconfig.props.label.blockPopUpWindows=Block pop-up windows -sebserver.examconfig.props.label.blockPopUpWindows.tooltip=Disables pop-up windows (often advertisement) opened by JavaScript without an user action such as a button click. -sebserver.examconfig.props.label.allowVideoCapture=Allow video capture (webcam) -sebserver.examconfig.props.label.allowVideoCapture.tooltip=Allow web applications to access camera -sebserver.examconfig.props.label.allowAudioCapture=Allow audio capture (microphone) -sebserver.examconfig.props.label.allowAudioCapture.tooltip=Allow web applications to access microphone -sebserver.examconfig.props.label.allowBrowsingBackForward=Allow navigating back/forward in exam -sebserver.examconfig.props.label.allowBrowsingBackForward.tooltip=Disabling browsing to previously visited pages may increase security, because browsing back might allow to leave an exam -sebserver.examconfig.props.label.newBrowserWindowNavigation=Allow navigating in additional windows -sebserver.examconfig.props.label.browserWindowAllowReload=Allow reload exam -sebserver.examconfig.props.label.browserWindowAllowReload.tooltip=Allow reload in the exam window with F5 reload button (if displayed) -sebserver.examconfig.props.label.newBrowserWindowAllowReload=Allow reload in additional windows -sebserver.examconfig.props.label.newBrowserWindowAllowReload.tooltip=Allow reload in additional window with F5 reload button (if displayed) -sebserver.examconfig.props.label.showReloadWarning=Show reload warning in exam -sebserver.examconfig.props.label.showReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button -sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning=Show reload warning in additional windows -sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button -sebserver.examconfig.props.label.removeBrowserProfile=Remove profile (Win) -sebserver.examconfig.props.label.removeBrowserProfile.tooltip=Remove XULRunner browser profile (containing caches and also local storage) when quitting SEB -sebserver.examconfig.props.label.removeLocalStorage=Disable local storage (Mac) -sebserver.examconfig.props.label.removeLocalStorage.tooltip=If your web application uses local storage, you have to be sure data is saved encrypted and removed when no longer needed as SEB doesn't remove local storage - -sebserver.examconfig.props.label.browserUserAgent=Suffix to be added to any user agent -sebserver.examconfig.props.group.userAgentDesktop=User agent for desktop mode -sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0=Desktop default -sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win) -sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1=Custom -sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) -sebserver.examconfig.props.label.browserUserAgentWinDesktopModeCustom.tooltip=Custom desktop user agent string(SEB appends its version number automatically) - -sebserver.examconfig.props.group.userAgentTouch=User agent for touch/table mode -sebserver.examconfig.props.label.browserUserAgentWinTouchMode.0=Touch default -sebserver.examconfig.props.label.browserUserAgentWinTouchMode.1=iPad -sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2=Custom -sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) - -sebserver.examconfig.props.group.userAgentMac=User agent (Mac) -sebserver.examconfig.props.label.browserUserAgentMac.0=Default (depends on installed Safari/WebKit version) -sebserver.examconfig.props.label.browserUserAgentMac.1=Custom -sebserver.examconfig.props.label.browserUserAgentMac.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) - -sebserver.examconfig.props.label.enableSebBrowser=Enable SEB with browser window -sebserver.examconfig.props.label.enableSebBrowser.tooltip=Disable this to start another application in kiosk mode(for example a virtual desktop infrastructure client) -sebserver.examconfig.props.label.browserWindowTitleSuffix=Suffix to be added to every browser window - -sebserver.examconfig.props.label.allowDownUploads=Allow downloading and uploading files (Mac) -sebserver.examconfig.props.label.allowDownUpload.tooltip=Usually to be used with permitted third party applications for which you want to provide files to be down-loaded. -sebserver.examconfig.props.label.downloadDirectoryWin=Download directory (Win) -sebserver.examconfig.props.label.downloadDirectoryOSX=Download directory (Mac) -sebserver.examconfig.props.label.openDownloads=Open files after downloading (Mac) -sebserver.examconfig.props.label.chooseFileToUploadPolicy=Choose file to upload (Mac) -sebserver.examconfig.props.label.chooseFileToUploadPolicy.tooltip=SEB can let users choose the file to upload or automatically use the same file which was down-loaded before.If not found, a file requester or an error is presented depending on this setting. -sebserver.examconfig.props.label.chooseFileToUploadPolicy.0=manually with file requester -sebserver.examconfig.props.label.chooseFileToUploadPolicy.1=by attempting to upload the same file downloaded before -sebserver.examconfig.props.label.chooseFileToUploadPolicy.2=by only allowing to upload the same file downloaded before -sebserver.examconfig.props.label.downloadPDFFiles=Download and open PDF files instead of displaying them inline (Mac) -sebserver.examconfig.props.label.downloadPDFFiles.tooltip=PDF files will not be displayed by SEB but downloaded and openend (if "Open files after downloading" is active!) by the application set in Finder (usually Preview or Adobe Acrobat). -sebserver.examconfig.props.label.allowPDFPlugIn=Allow using Acrobat Reader PDF plugin (insecure! Mac only) -sebserver.examconfig.props.label.allowPDFPlugIn.tooltip=The Adobe Acrobat Reader browser plugin should only be used on secured managed Mac computers, at it allows limited access the file system and unlimited to cloud services -sebserver.examconfig.props.label.downloadAndOpenSebConfig=Download and open SEB Config Files -sebserver.examconfig.props.label.downloadAndOpenSebConfig.tooltip=Download and open .seb config files regardless if downloading and opening other file types is allowed. - -sebserver.examconfig.props.group.quitLink=Link to quit SEB after exam -sebserver.examconfig.props.label.quitURL=Place this quit link to the 'feedback' page displayed after an exam was successfully finished. Clicking that link will quit SEB without having to enter the quit password. -sebserver.examconfig.props.label.quitURLConfirm=Ask user to confirm quitting - -sebserver.examconfig.props.group.backToStart=Back to Start Button -sebserver.examconfig.props.group.backToStart.tooltip=The back to start button reloads the exam's Start URL -sebserver.examconfig.props.label.restartExamUseStartURL=Use Start URL -sebserver.examconfig.props.label.restartExamUseStartURL.tooltip=The back to start button reloads the exam's Start URL -sebserver.examconfig.props.label.restartExamURL=Enter custom URL or select 'Use Start URL' to display a back to start button in the SEB taskbar. -sebserver.examconfig.props.label.restartExamText=Title/tool tip text for the back to start button (leave empty for localized standard text) -sebserver.examconfig.props.label.restartExamPasswordProtected=Protect back to start button with the quit/unlock password -sebserver.examconfig.props.label.restartExamPasswordProtected.tooltip=The quit/restart password (if set) must be entered when the back to start button was pressed. - -sebserver.examconfig.props.label.allowSwitchToApplications=Allow switching to third party application (Mac) -sebserver.examconfig.props.label.allowSwitchToApplications.tooltip=Decreases security of the kiosk mode by allowing process switcher (Cmd+Tab). The blacked out background of SEB also doesn't cover some alerts and modal windows in this mode. -sebserver.examconfig.props.label.allowFlashFullscreen=Allow Flash to switch to fullscreen mode (Mac) -sebserver.examconfig.props.label.permittedProcesses.add.tooltip=Add permitted process -sebserver.examconfig.props.label.permittedProcesses.remove.tooltip=Remove selected permitted process -sebserver.examconfig.props.label.permittedProcesses.row.title=Permitted Processes -sebserver.examconfig.props.label.permittedProcesses=Permitted Processes -sebserver.examconfig.props.label.permittedProcesses.active=Active -sebserver.examconfig.props.label.permittedProcesses.active.tooltip=This permitted process item is active. -sebserver.examconfig.props.label.permittedProcesses.os=OS -sebserver.examconfig.props.label.permittedProcesses.os.tooltip=Indicates on which operating system the permitted process runs. -sebserver.examconfig.props.label.permittedProcesses.os.0=OS X -sebserver.examconfig.props.label.permittedProcesses.os.1=Win -sebserver.examconfig.props.label.permittedProcesses.title=Title -sebserver.examconfig.props.label.permittedProcesses.title.tooltip=Application title which is displayed in the application chooser. Background processes don't have a title, because they can't be selected by users. -sebserver.examconfig.props.label.permittedProcesses.description=Description -sebserver.examconfig.props.label.permittedProcesses.description.tooltip=Optional, should explain what kind of process this is, because this might not be obvious only from the executable's name. -sebserver.examconfig.props.label.permittedProcesses.executable=Executable -sebserver.examconfig.props.label.permittedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path, only the filename of the exe file (like calc.exe). -sebserver.examconfig.props.label.permittedProcesses.originalName=Original Name -sebserver.examconfig.props.label.permittedProcesses.allowedExecutables=Window handling process -sebserver.examconfig.props.label.permittedProcesses.path=Path -sebserver.examconfig.props.label.permittedProcesses.arguments=Arguments -sebserver.examconfig.props.label.permittedProcesses.arguments.active=Active -sebserver.examconfig.props.label.permittedProcesses.arguments.argument=Argument -sebserver.examconfig.props.label.permittedProcesses.arguments.addAction=Add new argument -sebserver.examconfig.props.label.permittedProcesses.arguments.removeAction=Remove this argument -sebserver.examconfig.props.label.permittedProcesses.identifier=Identifier -sebserver.examconfig.props.label.permittedProcesses.identifier.tooltip=(Sub) string in the title of the main window of a tricky third party application (Java, Acrobat etc.). Mac OS X: Bundle identifier of the process in reverse domain notation. -sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar=Icon in taskbar -sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar.tooltip=Show icon of permitted application in task bar (not possible when 'run in background' is enabled). -sebserver.examconfig.props.label.permittedProcesses.autostart=Autostart -sebserver.examconfig.props.label.permittedProcesses.autostart.tooltip=Start the process automatically together with SEB. -sebserver.examconfig.props.label.permittedProcesses.runInBackground=Allow running in background -sebserver.examconfig.props.label.permittedProcesses.runInBackground.tooltip=Allow the permitted process to already be running when SEB starts. Such a process can't have an icon in the task bar. -sebserver.examconfig.props.label.permittedProcesses.allowUserToChooseApp=Allow user to select location of application -sebserver.examconfig.props.label.permittedProcesses.strongKill=Force quit (risk of data loss) -sebserver.examconfig.props.label.permittedProcesses.strongKill.tooltip=Terminate process in a not-nice way, which may cause data loss if the application had unsaved data - -sebserver.examconfig.props.label.prohibitedProcesses.add.tooltip=Add prohibited process -sebserver.examconfig.props.label.prohibitedProcesses.remove.tooltip=Remove selected prohibited process -sebserver.examconfig.props.label.prohibitedProcesses.row.title=Prohibited Processes -sebserver.examconfig.props.label.prohibitedProcesses=Prohibited Processes -sebserver.examconfig.props.label.prohibitedProcesses.active=Active -sebserver.examconfig.props.label.prohibitedProcesses.active.tooltip=Indicates if this prohibited process item is active. -sebserver.examconfig.props.label.prohibitedProcesses.os=OS -sebserver.examconfig.props.label.prohibitedProcesses.os.0=OS X -sebserver.examconfig.props.label.prohibitedProcesses.os.1=Win -sebserver.examconfig.props.label.prohibitedProcesses.description=Description -sebserver.examconfig.props.label.prohibitedProcesses.description.tooltip=Optional, to explain what kind of process this is, because this might not be obvious only from the executable's name. -sebserver.examconfig.props.label.prohibitedProcesses.executable=Executable -sebserver.examconfig.props.label.prohibitedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path, only the filename of the exe file (like calc.exe). -sebserver.examconfig.props.label.prohibitedProcesses.originalName=Original Name -sebserver.examconfig.props.label.prohibitedProcesses.originalName.tooltip=Original file name (optional) -sebserver.examconfig.props.label.prohibitedProcesses.identifier=Identifier -sebserver.examconfig.props.label.prohibitedProcesses.identifier.tooltip=Title of the main window of a Java third party application. Mac OS X: Bundle identifier of the process in reverse domain notation. -sebserver.examconfig.props.label.prohibitedProcesses.strongKill=Force quit (risk of data loss) -sebserver.examconfig.props.label.prohibitedProcesses.strongKill.tooltip=Terminate process in a not-nice way, which may cause data loss if the application had unsaved data - -sebserver.examconfig.props.group.urlFilter=Filter -sebserver.examconfig.props.label.URLFilterEnable=Activate URL Filtering -sebserver.examconfig.props.label.URLFilterEnableContentFilter=Filter also embedded content -sebserver.examconfig.props.label.URLFilterRules=Filter -sebserver.examconfig.props.label.URLFilterRules.row.title=URL Filter -sebserver.examconfig.props.label.URLFilterRules.active=Active -sebserver.examconfig.props.label.URLFilterRules.regex=Regex -sebserver.examconfig.props.label.URLFilterRules.expression=Expression -sebserver.examconfig.props.label.URLFilterRules.action=Action -sebserver.examconfig.props.label.URLFilterRules.action.0=Block -sebserver.examconfig.props.label.URLFilterRules.action.1=Allow -sebserver.examconfig.props.label.URLFilterRules.add.tooltip=Add new URL Filter -sebserver.examconfig.props.label.URLFilterRules.remove.tooltip=Remove selected URL Filter - -sebserver.examconfig.props.group.proxies=Proxies -sebserver.examconfig.props.label.proxySettingsPolicy=proxy settings policy -sebserver.examconfig.props.label.proxySettingsPolicy.0=Use system proxy setting -sebserver.examconfig.props.label.proxySettingsPolicy.0.tooltip=System proxy settings of the exam client computer are used -sebserver.examconfig.props.label.proxySettingsPolicy.1=Use SEB proxy settings -sebserver.examconfig.props.label.proxySettingsPolicy.1.tooltip=Proxy settings provided in these SEB settings are used -sebserver.examconfig.props.label.proxies=Double-click a protocol to configure: -sebserver.examconfig.props.label.ExcludeSimpleHostnames=Exclude simple hostnames -sebserver.examconfig.props.label.ExceptionsList=Bypass proxy settings for these hosts and domains -sebserver.examconfig.props.label.ExceptionsList.tooltip=Separate hosts / domains with comma -sebserver.examconfig.props.label.FTPPassive=Use Passive FTP Mode (PASV) - -sebserver.examconfig.props.label.proxies.active=Active -sebserver.examconfig.props.label.proxies.TABLE_ENTRY=Protocol -sebserver.examconfig.props.label.autoDiscovery=Auto Proxy Discovery -sebserver.examconfig.props.label.AutoDiscoveryEnabled=Auto discovery enabled -sebserver.examconfig.props.label.autoConfiguration=Automatic Proxy Configuration -sebserver.examconfig.props.label.AutoConfigurationEnabled=Auto configuration enabeld -sebserver.examconfig.props.label.AutoConfigurationURL=Proxy configuration file URL -sebserver.examconfig.props.label.AutoConfigurationJavaScript=Proxy configuration JavaScript - -sebserver.examconfig.props.label.http=Web Proxy (HTTP) -sebserver.examconfig.props.label.HTTPEnable=Web proxy eneabled -sebserver.examconfig.props.label.HTTPProxy=Web proxy server -sebserver.examconfig.props.label.HTTPPort=Web proxy port -sebserver.examconfig.props.label.HTTPRequiresPassword=Proxy server requires password -sebserver.examconfig.props.label.HTTPUsername=Username -sebserver.examconfig.props.label.HTTPPassword=Password - -sebserver.examconfig.props.label.https=Secure Web Proxy (HTTPS) -sebserver.examconfig.props.label.HTTPSEnable=Secure web proxy eneabled -sebserver.examconfig.props.label.HTTPSProxy=Secure web proxy server -sebserver.examconfig.props.label.HTTPSPort=Secure web proxy port -sebserver.examconfig.props.label.HTTPSRequiresPassword=Proxy server requires password -sebserver.examconfig.props.label.HTTPSUsername=Username -sebserver.examconfig.props.label.HTTPSPassword=Password - -sebserver.examconfig.props.label.ftp=FTP Proxy -sebserver.examconfig.props.label.FTPEnable=FTP proxy eneabled -sebserver.examconfig.props.label.FTPProxy=FTP proxy server -sebserver.examconfig.props.label.FTPPort=FTP proxy port -sebserver.examconfig.props.label.FTPRequiresPassword=Proxy server requires password -sebserver.examconfig.props.label.FTPUsername=Username -sebserver.examconfig.props.label.FTPPassword=Password - -sebserver.examconfig.props.label.socks=SOCKS Proxy -sebserver.examconfig.props.label.SOCKSEnable=SOCKS proxy eneabled -sebserver.examconfig.props.label.SOCKSProxy=SOCKS proxy server -sebserver.examconfig.props.label.SOCKSPort=SOCKS proxy port -sebserver.examconfig.props.label.SOCKSRequiresPassword=Proxy server requires password -sebserver.examconfig.props.label.SOCKSUsername=Username -sebserver.examconfig.props.label.SOCKSPassword=Password - -sebserver.examconfig.props.label.rtsp=Streaming Proxy (RTSP) -sebserver.examconfig.props.label.RTSPEnable=RTSP proxy eneabled -sebserver.examconfig.props.label.RTSPProxy=RTSP proxy server -sebserver.examconfig.props.label.RTSPPort=RTSP proxy port -sebserver.examconfig.props.label.RTSPRequiresPassword=Proxy server requires password -sebserver.examconfig.props.label.RTSPUsername=Username -sebserver.examconfig.props.label.RTSPPassword=Password - - -sebserver.examconfig.props.group.servicePolicy=SEB Service policy -sebserver.examconfig.props.label.sebServicePolicy.0=allow to run SEB without service -sebserver.examconfig.props.label.sebServicePolicy.1=display warning when service is not running -sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with service -sebserver.examconfig.props.label.sebServicePolicy.tooltip=Policy that applies when an exam client doesn't have the SEB client running - -sebserver.examconfig.props.group.kioskMode=Kiosk Mode -sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down into SEB. -sebserver.examconfig.props.label.kioskMode.0=Create new desktop -sebserver.examconfig.props.label.kioskMode.0.tooltip=This kiosk mode may prevent specific third party software to run correctly together with SEB, like some screen recording software or the Windows onscreen keyboard. -sebserver.examconfig.props.label.kioskMode.1=Disable explorer Shell -sebserver.examconfig.props.label.kioskMode.1.tooltip=This kiosk mode is compatible with some screen recording/proctoring software and the Windows onscreen keyboard. -sebserver.examconfig.props.label.kioskMode.2=None (for debugging only) -sebserver.examconfig.props.label.kioskMode.2.tooltip=SEB runs without kiosk mode, switching to other applications is possible. Use this for debugging purposes only. - -sebserver.examconfig.props.label.allowVirtualMachine=Allow to run inside virtual machine -sebserver.examconfig.props.label.allowVirtualMachine.tooltip=Indicates if SEB is allowed to run in a virtual machine or not (in order to prevent potential manipulation). -sebserver.examconfig.props.label.allowScreenSharing=Allow remote session/screen sharing -sebserver.examconfig.props.label.allowScreenSharing.tootlip=Allows Windows remote sessions and macOS screen sharing to be used -sebserver.examconfig.props.label.enablePrivateClipboard=Use private clipboard (Mac) -sebserver.examconfig.props.label.enablePrivateClipboard.tooltip=Private clipboard should always be used beside when working with third party application in managed/virtual machine - -sebserver.examconfig.props.group.logging=Logging -sebserver.examconfig.props.label.enableLogging=Enable logging -sebserver.examconfig.props.label.enableLogging.tooltip=The log can help debugging SEB (send it to the developers) and to find out about possible manipulations -sebserver.examconfig.props.label.logDirectoryWin=Log file directory on Windows -sebserver.examconfig.props.label.logDirectoryOSX=Log file directory on Mac - -sebserver.examconfig.props.group.macSettings=macOS specific settings -sebserver.examconfig.props.label.minMacOSVersion=Enforce minimal macOS version: -sebserver.examconfig.props.label.minMacOSVersion.0=OS X 10.7 Lion -sebserver.examconfig.props.label.minMacOSVersion.1=OS X 10.8 Mountain Lion -sebserver.examconfig.props.label.minMacOSVersion.2=OS X 10.9 Mavericks -sebserver.examconfig.props.label.minMacOSVersion.3=OS X 10.10 Yosemite -sebserver.examconfig.props.label.minMacOSVersion.4=OS X 10.11 El Capitan -sebserver.examconfig.props.label.minMacOSVersion.5=OS X 10.12 Sierra -sebserver.examconfig.props.label.minMacOSVersion.6=OS X 10.13 Hight Sierra -sebserver.examconfig.props.label.minMacOSVersion.7=OS X 10.14 Mojave -sebserver.examconfig.props.label.enableAppSwitcherCheck=Disable app switcher when starting -sebserver.examconfig.props.label.enableAppSwitcherCheck.tooltip=SEB checks for the command key being held down while SEB is starting up. This prevents using the application switcher to mess with SEB\'s kiosk mode -sebserver.examconfig.props.label.forceAppFolderInstall=Force installation in Applications folder -sebserver.examconfig.props.label.forceAppFolderInstall.tooltip=SEB enforces to be installed in an Applications folder (/Applications or ~/Applications) -sebserver.examconfig.props.label.allowUserAppFolderInstall=Allow also user's ~/Applications folder -sebserver.examconfig.props.label.allowUserAppFolderInstall.tooltip=SEB can also be installed in the Applications folder of the current user (~/Applications) -sebserver.examconfig.props.label.allowSiri=Allow to use Siri -sebserver.examconfig.props.label.allowSiri.tooltip=If enabled, Siri can be used by tapping th emenu bar icon, Touch Bar icon or shortcut set in System Preferences/Siri (default: hold command space). The Siri window won't be displayed though -sebserver.examconfig.props.label.detectStoppedProcess=Detect when SEB process was stopped -sebserver.examconfig.props.label.detectStoppedProcess.tooltip=SEB displays a lock screen (requiring to enter the quit/unlock password) if it detects its process was stopped, which can indicate manipulation -sebserver.examconfig.props.label.allowDisplayMirroring=Allow display mirroring (affects also AirPlay Display) -sebserver.examconfig.props.label.allowDisplayMirroring.tooltip=If not selected, SEB prevents to mirror the main display to another -sebserver.examconfig.props.label.allowedDisplaysMaxNumber=Maximum allowed number of connected displays -sebserver.examconfig.props.label.allowedDisplaysMaxNumber.tooltip=If more displays are connected, this are blanked with an orange full screen window -sebserver.examconfig.props.label.allowedDisplayBuiltin=Use built-in display -sebserver.examconfig.props.label.allowedDisplayBuiltin.tooltip=Use the built-in display (if available) when only one display is allowed or when switching off display mirroring -sebserver.examconfig.props.label.logLevel=Log Level -sebserver.examconfig.props.label.logLevel.tooltip=The log will contain the selected log level plus all levels with a lower value -sebserver.examconfig.props.label.logLevel.0=Error -sebserver.examconfig.props.label.logLevel.0.tooltip=Error includes fatal application and browser level errors -sebserver.examconfig.props.label.logLevel.1=Warning -sebserver.examconfig.props.label.logLevel.1.tooltip=Warning are non-fatal but non-expected or security affecting events -sebserver.examconfig.props.label.logLevel.2=Info -sebserver.examconfig.props.label.logLevel.2.tooltip=Info includes most user actions including all browser navigation actions -sebserver.examconfig.props.label.logLevel.3=Debug -sebserver.examconfig.props.label.logLevel.3.tooltip=Debug is reserved for information which is only necessary for in-deep program code debugging -sebserver.examconfig.props.label.logLevel.4=Verbose -sebserver.examconfig.props.label.logLevel.4.tooltip=Verbose level contains events of all levels - -sebserver.examconfig.props.group.registry=While running SEB -sebserver.examconfig.props.group.registry.tooltip=Options in the Windows Security Screen invoked by Ctrl-Alt-Del -sebserver.examconfig.props.label.insideSebEnableSwitchUser=Enable Switch User -sebserver.examconfig.props.label.insideSebEnableSwitchUser.tooltip=Activates the button "Switch User" -sebserver.examconfig.props.label.insideSebEnableLockThisComputer=Enable Lock this computer -sebserver.examconfig.props.label.insideSebEnableLockThisComputer.tooltip=Activates the button "Lock this computer" -sebserver.examconfig.props.label.insideSebEnableChangeAPassword=Enable Change a password -sebserver.examconfig.props.label.insideSebEnableChangeAPassword.tooltip=Activates the button "Change a password..." -sebserver.examconfig.props.label.insideSebEnableStartTaskManager=Enable Start Task Manager -sebserver.examconfig.props.label.insideSebEnableStartTaskManager.tooltip=Activates the button "Start Task Manager" -sebserver.examconfig.props.label.insideSebEnableLogOff=Enable Log off -sebserver.examconfig.props.label.insideSebEnableLogOff.tooltip=Activates the button "Log off" -sebserver.examconfig.props.label.insideSebEnableShutDown=Enable Shut down -sebserver.examconfig.props.label.insideSebEnableShutDown.tooltip=Activates the button "Shutdown" -sebserver.examconfig.props.label.insideSebEnableEaseOfAccess=Enable Ease of Access -sebserver.examconfig.props.label.insideSebEnableEaseOfAccess.tooltip=Shows options when the button "Ease of Access" in the lower left corner is clicked,which offers help e.g. to visually or aurally handicapped persons, like the Magnifier Glass. -sebserver.examconfig.props.label.insideSebEnableVmWareClientShade=Enable VMware Client Shade -sebserver.examconfig.props.label.insideSebEnableVmWareClientShade.tooltip=Activates the "Shade" bar at the upper edge of a virtual desktop, if existent. If you're not using VMware, this setting doesn't have any effect. -sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector=Enable network connection selector -sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector.tooltip=Activates the button which allows to connect to WiFi networks, introduces in Windows 10. - -sebserver.examconfig.props.group.specialKeys=Special Keys -sebserver.examconfig.props.group.specialKeys.tooltip=Settings to enable or block (hook) keys, key combinations and mouse buttons. -sebserver.examconfig.props.label.enableEsc=Enable Esc -sebserver.examconfig.props.label.enablePrintScreen=Enable Print Screen -sebserver.examconfig.props.label.enablePrintScreen.tooltip=Controls Print Screen and OS X screen capture, corresponds with Enable screen capture in Security settings. -sebserver.examconfig.props.label.enableCtrlEsc=Enable Ctrl-Esc -sebserver.examconfig.props.label.enableAltEsc=Enable Alt-Esc -sebserver.examconfig.props.label.enableAltTab=Enable Alt-Tap -sebserver.examconfig.props.label.enableAltF4=Enable Alt-F4 -sebserver.examconfig.props.label.enableStartMenu=Enable Start Menu -sebserver.examconfig.props.label.enableRightMouse=Enable Right Mouse -sebserver.examconfig.props.label.enableAltMouseWheel=Enable Alt-Mousewheel -sebserver.examconfig.props.label.enableAltMouseWheel.tooltip=Corresponds to 'Allow browsing back/forward' in Browser pane. Disabling browsing to previously visited pages may increase security, because browsing back might allow to leave an exam - -sebserver.examconfig.props.group.functionKeys=Function Keys -sebserver.examconfig.props.group.functionKeys.tooltip=Enable or block function keys. This doesn't have any effect on the SEB exit sequence. Depending on specific keyboards some function keys cannot be blocked. -sebserver.examconfig.props.label.enableF1=Enable F1 -sebserver.examconfig.props.label.enableF2=Enable F2 -sebserver.examconfig.props.label.enableF3=Enable F3 -sebserver.examconfig.props.label.enableF4=Enable F4 -sebserver.examconfig.props.label.enableF5=Enable F5 -sebserver.examconfig.props.label.enableF6=Enable F6 -sebserver.examconfig.props.label.enableF7=Enable F7 -sebserver.examconfig.props.label.enableF8=Enable F8 -sebserver.examconfig.props.label.enableF9=Enable F9 -sebserver.examconfig.props.label.enableF10=Enable F10 -sebserver.examconfig.props.label.enableF11=Enable F11 -sebserver.examconfig.props.label.enableF12=Enable F12 - -sebserver.examconfig.props.validation.password.confirm=Please enter correct confirm password -sebserver.examconfig.props.validation.unexpected=Unexpected error happened. Value was not set correctly -sebserver.examconfig.props.validation.IntegerTypeValidator=Invalid number -sebserver.examconfig.props.validation.DecimalTypeValidator=Invalid decimal number -sebserver.examconfig.props.validation.ExitKeySequenceValidator=Key is already in sequence -sebserver.examconfig.props.validation.WindowsSizeValidator=Invalid number - -################################ -# SEB Exam Configuration Template -################################ - -sebserver.configtemplate.action.list=Configuration Templates -sebserver.configtemplate.list.title=Configuration Templates -sebserver.configtemplate.list.empty=There is currently no SEB-Exam configuration template available. Please create a new one -sebserver.configtemplate.list.actions= - -sebserver.configtemplate.info.pleaseSelect=Please select first an Exam Configuration template from the list - -sebserver.configtemplate.action.list.new=Add Configuration Template -sebserver.configtemplate.action.list.view=View Configuration Template -sebserver.configtemplate.action.view=View Template -sebserver.configtemplate.action.list.modify=Edit Template -sebserver.configtemplate.action.modify=Edit Template -sebserver.configtemplate.action.create-config=Create Configuration -sebserver.configtemplate.action.create-config.dialog=Exam Configuration - -sebserver.configtemplate.form.title.new=Add Template -sebserver.configtemplate.form.title=Configuration Template -sebserver.configtemplate.form.name=Name -sebserver.configtemplate.form.description=Description -sebserver.configtemplate.action.save=Save Template - -sebserver.configtemplate.attr.type.TEXT_FIELD=Text Field -sebserver.configtemplate.attr.type.PASSWORD_FIELD=Password Field -sebserver.configtemplate.attr.type.TEXT_AREA=Text Area -sebserver.configtemplate.attr.type.CHECKBOX=Checkbox -sebserver.configtemplate.attr.type.SLIDER=Slider -sebserver.configtemplate.attr.type.INTEGER=Number (Integer) -sebserver.configtemplate.attr.type.DECIMAL=Number (Decimal) -sebserver.configtemplate.attr.type.SINGLE_SELECTION=Single Selection -sebserver.configtemplate.attr.type.COMBO_SELECTION=Combo Selection -sebserver.configtemplate.attr.type.RADIO_SELECTION=Radio Selection -sebserver.configtemplate.attr.type.MULTI_SELECTION=Multi Selection -sebserver.configtemplate.attr.type.MULTI_CHECKBOX_SELECTION=Multi Selection (Checkbox) -sebserver.configtemplate.attr.type.FILE_UPLOAD=File Upload -sebserver.configtemplate.attr.type.TABLE=Table -sebserver.configtemplate.attr.type.INLINE_TABLE=Table -sebserver.configtemplate.attr.type.COMPOSITE_TABLE=Table - -sebserver.configtemplate.attrs.list.title=Configuration Attributes -sebserver.configtemplate.attrs.list.name=Name -sebserver.configtemplate.attrs.list.view=View -sebserver.configtemplate.attrs.list.group=Group -sebserver.configtemplate.attrs.list.type=Type - -sebserver.configtemplate.attr.list.actions= -sebserver.configtemplate.attr.list.actions.modify=Edit Attribute -sebserver.configtemplate.attr.list.actions.setdefault=Set Default Values -sebserver.configtemplate.attr.list.actions.removeview=Remove From View -sebserver.configtemplate.attr.list.actions.attach-default-view=Attach To View -sebserver.configtemplate.attr.info.pleaseSelect=Please select first an Attribute from the list - -sebserver.configtemplate.attr.form.title=Template Attribute -sebserver.configtemplate.attr.form.name=Name -sebserver.configtemplate.attr.form.type=Type -sebserver.configtemplate.attr.form.view=View -sebserver.configtemplate.attr.form.group=Group -sebserver.configtemplate.attr.form.value=Template Attribute Value - -sebserver.configtemplate.attr.action.setdefault=Set Default Values -sebserver.configtemplate.attr.action.template=View Template - - -################################ -# Monitoring -################################ - -sebserver.monitoring.action.list=Running Exams -sebserver.monitoring.exam.list.title=Running Exams -sebserver.monitoring.exam.list.actions= -sebserver.monitoring.exam.action.detail.view=Back To Monitoring -sebserver.monitoring.exam.action.list.view=Monitoring - - -sebserver.monitoring.exam.info.pleaseSelect=Please select first an Exam from the list -sebserver.monitoring.exam.list.empty=There are currently no running exams - -sebserver.monitoring.exam.list.column.name=Name -sebserver.monitoring.exam.list.column.type=Type -sebserver.monitoring.exam.list.column.startTime=Start Time {0} -sebserver.monitoring.exam.list.column.endTime=End Time {0} - -sebserver.monitoring.exam=Monitoring Exam: {0} - -sebserver.monitoring.connection.list.column.id=Client Identifier -sebserver.monitoring.connection.list.column.address=IP Address -sebserver.monitoring.connection.list.column.status=Status -sebserver.monitoring.connection.list.column.examname=Exam -sebserver.monitoring.connection.list.column.vdiAddress=IP Address (VDI) - -sebserver.monitoring.exam.connection.emptySelection=Please select first a Connection from the list -sebserver.monitoring.exam.connection.emptySelection.active=Please select first an active Connection from the list -sebserver.monitoring.exam.connection.title=SEB Client Connection -sebserver.monitoring.exam.connection.list.actions= -sebserver.monitoring.exam.connection.action.view=View Details -sebserver.monitoring.exam.connection.action.instruction.quit=Send SEB Quit -sebserver.monitoring.exam.connection.action.instruction.quit.all=Send SEB Quit -sebserver.monitoring.exam.connection.action.instruction.quit.confirm=Are you sure to quit this SEB client connection? -sebserver.monitoring.exam.connection.action.instruction.quit.selected.confirm=Are you sure to quit all selected, active SEB client connections? -sebserver.monitoring.exam.connection.action.instruction.quit.all.confirm=Are you sure to quit all active SEB client connections? -sebserver.monitoring.exam.connection.action.instruction.disable.selected.confirm=Are you sure to disable all selected SEB client connections? -sebserver.monitoring.exam.connection.action.instruction.disable.all.confirm=Are you sure to disable all active SEB client connections? -sebserver.monitoring.exam.connection.action.disable=Mark As Disabled -sebserver.monitoring.exam.connection.action.hide.requested=Hide Requested -sebserver.monitoring.exam.connection.action.show.requested=Show Requested -sebserver.monitoring.exam.connection.action.hide.closed=Hide Closed -sebserver.monitoring.exam.connection.action.show.closed=Show Closed -sebserver.monitoring.exam.connection.action.hide.disabled=Hide Disabled -sebserver.monitoring.exam.connection.action.show.disabled=Show Disabled -sebserver.monitoring.exam.connection.action.hide.undefined=Hide Undefined -sebserver.monitoring.exam.connection.action.show.undefined=Show Undefined - -sebserver.monitoring.exam.connection.eventlist.title=Events -sebserver.monitoring.exam.connection.eventlist.empty=No event found -sebserver.monitoring.exam.connection.eventlist.type=Event Type -sebserver.monitoring.exam.connection.eventlist.clienttime=Client Time {0} -sebserver.monitoring.exam.connection.eventlist.servertime=Server Time {0} -sebserver.monitoring.exam.connection.eventlist.value=Value -sebserver.monitoring.exam.connection.eventlist.text=Text - -sebserver.monitoring.exam.connection.event.type.UNKNOWN=Unknown -sebserver.monitoring.exam.connection.event.type.DEBUG_LOG=Debug -sebserver.monitoring.exam.connection.event.type.INFO_LOG=Info -sebserver.monitoring.exam.connection.event.type.WARN_LOG=Warn -sebserver.monitoring.exam.connection.event.type.ERROR_LOG=Error -sebserver.monitoring.exam.connection.event.type.LAST_PING=Last Ping - -sebserver.monitoring.exam.connection.status.UNDEFINED=Undefined -sebserver.monitoring.exam.connection.status.CONNECTION_REQUESTED=Connection Requested -sebserver.monitoring.exam.connection.status.AUTHENTICATED=Authenticated -sebserver.monitoring.exam.connection.status.ACTIVE=Active -sebserver.monitoring.exam.connection.status.CLOSED=Closed -sebserver.monitoring.exam.connection.status.ABORTED=Aborted -sebserver.monitoring.exam.connection.status.DISABLED=Disabled - -################################ -# Logs -################################ - -sebserver.logs.activity.main=Logs -sebserver.logs.activity.userlogs=User Logs -sebserver.logs.activity.userlogs.details=Show Details -sebserver.logs.activity.seblogs=SEB Client Logs -sebserver.logs.activity.seblogs.details=Show Details - -sebserver.userlogs.list.title=User Activity Logs -sebserver.userlogs.list.column.institution=Institution -sebserver.userlogs.list.column.user=User -sebserver.userlogs.list.column.dateTime=Date {0} -sebserver.userlogs.list.column.activityType=User Activity -sebserver.userlogs.list.column.entityType=Entity Type -sebserver.userlogs.list.column.entityId=Entity-ID -sebserver.userlogs.list.column.message=Message - -sebserver.userlogs.details.title=User Activity Log Details -sebserver.userlogs.info.pleaseSelect=Please select first a User Log from the list -sebserver.userlogs.list.actions= -sebserver.userlogs.list.empty=No User activity logs has been found. Please adapt or clear the filter - - -sebserver.seblogs.list.title=SEB Client Logs -sebserver.seblogs.list.actions= -sebserver.seblogs.list.empty=No SEB client logs has been found. Please adapt or clear the filter - -sebserver.seblogs.info.pleaseSelect=Please select first a SEB Client Log from the list -sebserver.seblogs.list.column.institution=Institution -sebserver.seblogs.list.column.exam=Exam -sebserver.seblogs.list.column.client-session=User Session-ID -sebserver.seblogs.list.column.type=Event Type -sebserver.seblogs.list.column.time=Event Time {0} -sebserver.seblogs.list.column.value=Value - -sebserver.seblogs.details.title=SEB Client Log Details -sebserver.seblogs.details.event.title=Event -sebserver.seblogs.details.connection.title=SEB Connection Details -sebserver.seblogs.details.exam.title=Exam Details -sebserver.seblogs.details.dateTime=Date - -sebserver.seblogs.form.column.client-session=Session-ID -sebserver.seblogs.form.column.type=Event Type -sebserver.seblogs.form.column.server-time=Server Time -sebserver.seblogs.form.column.client-time=SEB Client Time -sebserver.seblogs.form.column.value=Value -sebserver.seblogs.form.column.message=Message - -sebserver.seblogs.form.column.connection.session-id=User Session-ID -sebserver.seblogs.form.column.connection.address=SEB Client Address -sebserver.seblogs.form.column.connection.token=SEB Connection Token -sebserver.seblogs.form.column.connection.status=Connection Status - -sebserver.seblogs.form.column.exam.name=Name -sebserver.seblogs.form.column.exam.description=Description -sebserver.seblogs.form.column.exam.type=Type -sebserver.seblogs.form.column.exam.startTime=Start Time +################################ +# Overall +################################ + +sebserver.overall.version=SEB Server Version : {0} + +sebserver.overall.about=About +sebserver.overall.about.markup=SEB Server About

1. Installation.

This is a SEB Server demo setup, ideal for testing or demonstrations. +sebserver.overall.help=Documentation +sebserver.overall.help.link=https://www.safeexambrowser.org/news_en.html + +sebserver.overall.message.leave.without.save=You have unsaved changes!
Are you sure you want to leave the page? The changes will be lost. +sebserver.overall.upload=Please select a file +sebserver.overall.upload.unsupported.file=This file type is not supported. Supported files are: {0} +sebserver.overall.action.modify.cancel=Cancel +sebserver.overall.action.modify.cancel.confirm=Are you sure you want to cancel? Modifications will be lost. +sebserver.overall.action.filter=Apply filter +sebserver.overall.action.filter.clear=Clear filter criteria +sebserver.overall.action.ok=OK +sebserver.overall.action.cancel=Cancel +sebserver.overall.action.close=Close +sebserver.overall.action.goAwayFromEditPageConfirm=Are you sure you want to leave this page? Unsaved data will be lost. +sebserver.overall.action.category.varia= +sebserver.overall.action.category.filter= + +sebserver.overall.status.active=Active +sebserver.overall.status.inactive=Inactive +sebserver.overall.status.all=All + +sebserver.overall.date.from=From +sebserver.overall.date.to=To + +sebserver.overall.action.add=Add; +sebserver.overall.action.remove=Remove +sebserver.overall.action.select=Please Select +sebserver.overall.action.toggle-activity=Switch Activity + +sebserver.overall.types.activityType.REGISTER=Register new Account +sebserver.overall.types.activityType.CREATE=Create New +sebserver.overall.types.activityType.IMPORT=Import +sebserver.overall.types.activityType.EXPORT=Export +sebserver.overall.types.activityType.MODIFY=Modify +sebserver.overall.types.activityType.PASSWORD_CHANGE=Password Change +sebserver.overall.types.activityType.DEACTIVATE=Deactivate +sebserver.overall.types.activityType.ACTIVATE=Activate +sebserver.overall.types.activityType.DELETE=Delete + +sebserver.overall.types.entityType.CONFIGURATION_ATTRIBUTE=Configuration Attribute +sebserver.overall.types.entityType.CONFIGURATION_VALUE=Configuration Value +sebserver.overall.types.entityType.VIEW=Configuration View +sebserver.overall.types.entityType.ORIENTATION=Configuration Orientation +sebserver.overall.types.entityType.CONFIGURATION=Exam Configuration History +sebserver.overall.types.entityType.CONFIGURATION_NODE=Exam Configuration +sebserver.overall.types.entityType.EXAM_CONFIGURATION_MAP=Exam Configuration Mapping +sebserver.overall.types.entityType.EXAM=Exam +sebserver.overall.types.entityType.INDICATOR=Indicator +sebserver.overall.types.entityType.THRESHOLD=Threshold +sebserver.overall.types.entityType.INSTITUTION=Institution +sebserver.overall.types.entityType.SEB_CLIENT_CONFIGURATION=Client Configuration +sebserver.overall.types.entityType.LMS_SETUP=LMS Setup +sebserver.overall.types.entityType.USER=User Account + +sebserver.overall.activity.title.serveradmin=SEB Server Administration +sebserver.overall.activity.title.sebconfig=SEB Configuration +sebserver.overall.activity.title.examadmin=Exam Administration +sebserver.overall.activity.title.monitoring=Monitoring + +################################ +# Form validation and messages +################################ + +sebserver.form.validation.error.title=Form data validation failed +sebserver.form.validation.error.message=There is missing or incorrect form data. +sebserver.form.validation.fieldError.size=The size must be between {3} and {4} +sebserver.form.validation.fieldError.name=The Name is mandatory and must have a size between {3} and {4} character +sebserver.form.validation.fieldError.urlSuffix=The URL Suffix must have a size between {3} and {4} character +sebserver.form.validation.fieldError.notNull=This field is mandatory +sebserver.form.validation.fieldError.username.notunique=This Username is already in use. Please choose another one. +sebserver.form.validation.fieldError.password.wrong=The old password is wrong +sebserver.form.validation.fieldError.password.mismatch=The re-typed password doesn't match the new password +sebserver.form.validation.fieldError.invalidURL=The input does not match the URL pattern. +sebserver.form.validation.fieldError.exists=This name already exists. Please choose another one. +sebserver.form.validation.fieldError.email=Invalid mail address +sebserver.error.unexpected=Unexpected Error +sebserver.page.message=Information +sebserver.dialog.confirm.title=Confirmation +sebserver.form.mandatory=This field is mandatory. +sebserver.form.action.save.activate=Save and Activate +sebserver.table.column.sort.default.tooltip=Click on the column header to sort the table within this column. + +sebserver.dialog.confirm.deactivation=Note that there are {0} other entities that belongs to this entity.
Those will also be deactivated by deactivating this entity.

Are You sure to deactivate this entity? +sebserver.dialog.confirm.deactivation.noDependencies=Are You sure you want to deactivate? + +sebserver.error.action.unexpected.message=Failed to process action. There was an unexpected error.
Please try again or contact a system-administrator if this error persists +sebserver.error.get.entity=Failed to load {0}.
Please try again or contact a system-administrator if this error persists +sebserver.error.remove.entity=Failed to remove {0}.
Please try again or contact a system-administrator if this error persists +sebserver.error.activate.entity=Failed to activate/deactivate {0}.
Please try again or contact a system-administrator if this error persists +sebserver.error.save.entity=Failed to save {0}.
Please try again or contact a system-administrator if this error persists +sebserver.error.exam.seb.restriction=

Failed to automatically set Safe Exam Browser restriction on/off for this exam on the corresponding LMS.
Please check the LMS Setup and try again or contact a system-administrator if this error persists +sebserver.error.import=Failed to import {0}.
Please try again or contact a system-administrator if this error persists +sebserver.error.logout=Failed to logout properly.
Please try again or contact a system-administrator if this error persists +################################ +# Login Page +################################ + +sebserver.login.username=User Name +sebserver.login.pwd=Password +sebserver.login.login=Sign In +sebserver.login.failed.title=Login failed +sebserver.login.failed.message=Access denied: wrong username or password +sebserver.logout=Sign out +sebserver.logout.success.message=You have been successfully signed out. +sebserver.logout.invalid-session.message=You have been signed out because of a user session invalidation.
Please sign in again +sebserver.login.password.change=Information +sebserver.login.password.change.success=The password was successfully changed. Please sign in with your new password + +sebserver.login.register=Register +sebserver.login.register.form.title=Create an Account +sebserver.login.register.do=Create Account +sebserver.login.register.success=New account successfully created.
Please log in with your username and password. + + +################################ +# Main Page +################################ + +sebserver.mainpage.maximize.tooltip=Maximize +sebserver.mainpage.minimize.tooltip=Minimize +sebserver.activitiespane.title= +sebserver.actionpane.title= + +################################ +# Institution +################################ + +sebserver.institution.list.actions= +sebserver.institution.list.empty=No institution has been found. Please adapt the filter or create a new institution +sebserver.institution.list.title=Institutions +sebserver.institution.list.column.name=Name +sebserver.institution.list.column.name.tooltip=The name of the institution.

Use the filter above to narrow down a specific name.
{0} +sebserver.institution.list.column.urlSuffix=URL Suffix +sebserver.institution.list.column.urlSuffix.tooltip=The URL suffix to the institutional login page.

Use the filter above to narrow down a specific URL suffix.
{0} +sebserver.institution.list.column.active=Status +sebserver.institution.list.column.active.tooltip=The activity of the institution.

Use the filter above to specify the activity.
{0} + +sebserver.institution.action.list=Institution +sebserver.institution.action.form=Institution +sebserver.institution.action.new=Add Institution +sebserver.institution.action.list.view=View Institution +sebserver.institution.action.list.modify=Edit Institution +sebserver.institution.action.modify=Edit Institution +sebserver.institution.action.save=Save Institution +sebserver.institution.action.activate=Activate Institution + +sebserver.institution.action.deactivate=Deactivate Institution +sebserver.institution.action.delete=Delete Institution + +sebserver.institution.info.pleaseSelect=Please select first an institution from the list. +sebserver.institution.form.title.new=Add Institution +sebserver.institution.form.title=Institution + +sebserver.institution.form.name=Name +sebserver.institution.form.name.tooltip=The name of the institution +sebserver.institution.form.urlSuffix=URL Suffix +sebserver.institution.form.urlSuffix.tooltip=The URL suffix to the institutional login page.
Institutional URL is: http(s):/// +sebserver.institution.form.logoImage=Logo Image +sebserver.institution.form.logoImage.tooltip=The Image that is shown as a logo in the specified institutional login page.
In edit mode, use the arrow sign to open a upload dialog. +sebserver.institution.form.logoImage.unsupportedFileType=The selected file is not supported. Supported are: PNG and JPG + + +################################ +# User Account +################################ + +sebserver.useraccount.list.actions= +sebserver.useraccount.role.SEB_SERVER_ADMIN=SEB Server Administrator +sebserver.useraccount.role.INSTITUTIONAL_ADMIN=Institutional Administrator +sebserver.useraccount.role.EXAM_ADMIN=Exam Administrator +sebserver.useraccount.role.EXAM_SUPPORTER=Exam Supporter + +sebserver.useraccount.list.empty=No user account has been found. Please adapt the filter or create a new user account +sebserver.useraccount.list.title=User Accounts +sebserver.useraccount.list.column.institution=Institution +sebserver.useraccount.list.column.name=First Name +sebserver.useraccount.list.column.username=User Name +sebserver.useraccount.list.column.email=Mail +sebserver.useraccount.list.column.language=Language +sebserver.useraccount.list.column.active=Active + +sebserver.useraccount.action.list=User Account +sebserver.useraccount.action.form=User Account of {0} +sebserver.useraccount.action.new=Add User Account +sebserver.useraccount.action.view=View User Account +sebserver.useraccount.action.list.modify=Edit User Account +sebserver.useraccount.action.modify=Edit +sebserver.useraccount.action.save=Save User Account +sebserver.useraccount.action.activate=Activate Account +sebserver.useraccount.action.deactivate=Deactivate Account +sebserver.useraccount.action.delete=Delete User Account +sebserver.useraccount.action.change.password=Change Password +sebserver.useraccount.action.change.password.save=Save New Password + +sebserver.useraccount.info.pleaseSelect=Please select first a User Account from the list. +sebserver.useraccount.info.notEditable=You have no edit rights for this User Account. + +sebserver.useraccount.form.title=User Account +sebserver.useraccount.form.title.new=Add User Account +sebserver.useraccount.form.institution=Institution +sebserver.useraccount.form.creationdate=Creation Date +sebserver.useraccount.form.name=First Name +sebserver.useraccount.form.surname=Surname +sebserver.useraccount.form.username=Username +sebserver.useraccount.form.mail=E-Mail +sebserver.useraccount.form.language=Language +sebserver.useraccount.form.timezone=Time Zone +sebserver.useraccount.form.roles=User Roles +sebserver.useraccount.form.password=Password +sebserver.useraccount.form.password.confirm=Confirm Password +sebserver.useraccount.form.pwchange.title=Change Password : {0} +sebserver.useraccount.form.password.new=New Password +sebserver.useraccount.form.password.new.confirm=Confirm New Password + +################################ +# LMS Setup +################################ + +sebserver.lmssetup.type.MOCKUP=Mock-up +sebserver.lmssetup.type.MOODLE=Moodle +sebserver.lmssetup.type.OPEN_EDX=Open edX + +sebserver.lmssetup.list.actions= +sebserver.lmssetup.list.action.no.modify.privilege=No Access: A LMS Setup from other institution cannot be modified. +sebserver.lmssetup.list.empty=No LMS Setup has been found. Please adapt the filter or create a new LMS Setup +sebserver.lmssetup.list.title=Learning Management System Setups +sebserver.lmssetup.list.column.institution=Institution +sebserver.lmssetup.list.column.name=Name +sebserver.lmssetup.list.column.type=LMS Type +sebserver.lmssetup.list.column.active=Active + +sebserver.lmssetup.action.list=LMS Connection Settings +sebserver.lmssetup.action.form=LMS Setup +sebserver.lmssetup.action.new=Add LMS Setup +sebserver.lmssetup.action.list.view=View LMS Setup +sebserver.lmssetup.action.list.modify=Edit LMS Setup +sebserver.lmssetup.action.modify=Edit +sebserver.lmssetup.action.savetest=Test And Save +sebserver.lmssetup.action.testsave=Test And Save +sebserver.lmssetup.action.test.ok=Successfully connected to the course API +sebserver.lmssetup.action.test.tokenRequestError=The API access was denied: {0} +sebserver.lmssetup.action.test.quizRequestError=Unable to request courses or quizzes from the course API of the LMS. {0} +sebserver.lmssetup.action.test.quizRestrictionError=Unable to access course restriction API of the LMS. {0} +sebserver.lmssetup.action.test.missingParameter=There is one or more missing connection parameter.
Please check the connection parameter for this LMS Setup +sebserver.lmssetup.action.test.unknownError=An unexpected error happened while trying to connect to the LMS course API. {0} +sebserver.lmssetup.action.save=Save LMS Setup +sebserver.lmssetup.action.activate=Activate LMS Setup +sebserver.lmssetup.action.deactivate=Deactivate LMS Setup +sebserver.lmssetup.action.delete=Delete LMS Setup + +sebserver.lmssetup.info.pleaseSelect=Please select first a LMS Setup from the list + +sebserver.lmssetup.form.title=Learning Management System Setup +sebserver.lmssetup.form.title.new=Add Learning Management System Setup +sebserver.lmssetup.form.institution=Institution +sebserver.lmssetup.form.name=Name +sebserver.lmssetup.form.type=Type +sebserver.lmssetup.form.clientname.seb=SEB Auth. Name +sebserver.lmssetup.form.secret.seb=SEB Auth. Password +sebserver.lmssetup.form.url=LMS Server Address +sebserver.lmssetup.form.clientname.lms=LMS Server Username +sebserver.lmssetup.form.secret.lms=LMS Server Password +sebserver.lmssetup.form.proxy=Proxy +sebserver.lmssetup.form.proxy.host=Proxy Host +sebserver.lmssetup.form.proxy.port=Proxy Port +sebserver.lmssetup.form.proxy.auth-credentials=Proxy Name/Password + +################################ +# Quiz Discovery +################################ + +sebserver.quizdiscovery.list.actions= + +sebserver.quizdiscovery.list.title=Quizzes +sebserver.quizdiscovery.list.empty=No Quiz has been found. Please adapt the filter or create a new LMS Setup +sebserver.quizdiscovery.list.column.institution=Institution +sebserver.quizdiscovery.list.column.lmssetup=LMS +sebserver.quizdiscovery.list.column.name=Name +sebserver.quizdiscovery.list.column.starttime=Start Time {0} +sebserver.quizdiscovery.list.column.endtime=End Time {0} +sebserver.quizdiscovery.info.pleaseSelect=Please select first a Quiz from the list + +sebserver.quizdiscovery.action.list=LMS Exam Discovery +sebserver.quizdiscovery.action.import=Import as Exam +sebserver.quizdiscovery.quiz.import.out.dated=The Selected Quiz is is already finished and can't be imported +sebserver.quizdiscovery.action.details=Show Details + +sebserver.quizdiscovery.quiz.details.title=Quiz Details +sebserver.quizdiscovery.quiz.details.description=Description +sebserver.quizdiscovery.quiz.details.starttime=Start Time +sebserver.quizdiscovery.quiz.details.endtime=End Time +sebserver.quizdiscovery.quiz.details.url=Start URL +sebserver.quizdiscovery.quiz.details.additional.timecreated=Creation Time +sebserver.quizdiscovery.quiz.details.additional.course_shortname=Short Name +sebserver.quizdiscovery.quiz.details.additional.course_fullname=Full Name +sebserver.quizdiscovery.quiz.details.additional.course_displayname=Display Name +sebserver.quizdiscovery.quiz.details.additional.course_summary=Summary +sebserver.quizdiscovery.quiz.details.additional.timelimit=Time Limit + +################################ +# Exam +################################ + +sebserver.exam.list.actions= +sebserver.exam.list.title=Exams +sebserver.exam.list.column.institution=Institution +sebserver.exam.list.column.lmssetup=LMS +sebserver.exam.list.column.name=Name +sebserver.exam.list.column.starttime=Start Time {0} +sebserver.exam.list.column.type=Type + +sebserver.exam.list.empty=No Exam has been found. Please adapt the filter or import one from Quiz +sebserver.exam.list.modify.out.dated=Finished exams cannot be modified. +sebserver.exam.list.action.no.modify.privilege=No Access: An Exam from other institution cannot be modified. + +sebserver.exam.consistency.title=Note: This exam is already running but has some missing settings +sebserver.exam.consistency.missing-supporter= - There are no Exam-Supporter defined for this exam. Use 'Edit Exam' on the right to add an Exam-Supporter. +sebserver.exam.consistency.missing-indicator= - There is no indicator defined for this exam. Use 'Add Indicator" on the right to add an indicator. +sebserver.exam.consistency.missing-config= - There is no configuration defined for this exam. Use 'Add Configuration' to attach one. +sebserver.exam.consistency.missing-seb-restriction= - There is currently no SEB restriction applied on the LMS side. Use 'Enable SEB Restriction' on the right to activate auto-restriction.
Or if this is not possible consider doing it manually on the LMS. +sebserver.exam.confirm.remove-config=This exam is current running. The remove of the attached configuration will led to an invalid state
where connecting SEB clients cannot download the configuration for the exam.

Are you sure to remove the Configuration? + +sebserver.exam.action.list=SEB Exam Settings +sebserver.exam.action.list.view=View Exam +sebserver.exam.action.list.modify=Edit Exam +sebserver.exam.action.modify=Edit Exam +sebserver.exam.action.import=Import From Quizzes +sebserver.exam.action.save=Save Exam +sebserver.exam.action.activate=Activate Exam +sebserver.exam.action.deactivate=Deactivate Exam +sebserver.exam.action.sebrestriction.enable=Apply SEB Lock +sebserver.exam.action.sebrestriction.disable=Release SEB Lock +sebserver.exam.action.sebrestriction.details=SEB Restriction Details + +sebserver.exam.info.pleaseSelect=Please select first an Exam from the list + +sebserver.exam.form.title.import=Import Exam +sebserver.exam.form.title=Exam +sebserver.exam.form.lmssetup=LMS Setup +sebserver.exam.form.quizid=Quiz Identifier +sebserver.exam.form.quizurl=Quiz URL +sebserver.exam.form.name=Name +sebserver.exam.form.description=Description +sebserver.exam.form.starttime=Start Time +sebserver.exam.form.endtime=End Time +sebserver.exam.form.status=Status +sebserver.exam.form.type=Exam Type +sebserver.exam.form.supporter=Exam Supporter +sebserver.exam.form.supporter.action.add=Add as supporter for this exam +sebserver.exam.form.supporter.action.remove=Remove supporter + +sebserver.exam.form.sebrestriction.title=SEB Restriction Details +sebserver.exam.form.sebrestriction.configKeys=Config Keys +sebserver.exam.form.sebrestriction.browserExamKeys=Browser Exam Keys +sebserver.exam.form.sebrestriction.WHITELIST_PATHS=Component White-List +sebserver.exam.form.sebrestriction.BLACKLIST_CHAPTERS=Chapters Black-List +sebserver.exam.form.sebrestriction.PERMISSION_COMPONENTS=Permissions +sebserver.exam.form.sebrestriction.USER_BANNING_ENABLED=User Banning + +sebserver.exam.form.sebrestriction.whiteListPaths.ABOUT=About +sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_OUTLINE=Course Outline +sebserver.exam.form.sebrestriction.whiteListPaths.COURSE_WARE=Course Ware +sebserver.exam.form.sebrestriction.whiteListPaths.DISCUSSION=Discussion +sebserver.exam.form.sebrestriction.whiteListPaths.PROGRESS=Progress +sebserver.exam.form.sebrestriction.whiteListPaths.WIKI=Description (Wiki) + +sebserver.exam.form.sebrestriction.permissions.ALWAYS_ALLOW_STUFF=Stuff Role Always Allowed +sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_KEY=Check Browser-Exam-Key +sebserver.exam.form.sebrestriction.permissions.CHECK_CONFIG_KEY=Check Config-Key +sebserver.exam.form.sebrestriction.permissions.CHECK_BROWSER_EXAM_OR_CONFIG_KEY=Check Browser-Exam- Or Config-Key + + +sebserver.exam.type.UNDEFINED=Not Defined +sebserver.exam.type.MANAGED=Managed Devices +sebserver.exam.type.BYOD=Bring Your Own Device +sebserver.exam.type.VDI=VDI (Virtual Desktop Infrastructure) + +sebserver.exam.status.UP_COMING=Up Coming +sebserver.exam.status.RUNNING=Running +sebserver.exam.status.FINISHED=Finished + +sebserver.exam.configuration.list.actions= +sebserver.exam.configuration.list.title=SEB Exam Configuration +sebserver.exam.configuration.list.column.name=Name +sebserver.exam.configuration.list.column.description=Description +sebserver.exam.configuration.list.column.status=Status +sebserver.exam.configuration.list.empty=There is currently no SEB Configuration defined for this Exam. Please add one +sebserver.exam.configuration.list.pleaseSelect=Please select first a SEB Configuration from the list +sebserver.exam.configuration.action.noconfig.message=There is currently no SEB exam configuration to select.
Please create one in SEB Configuration / Exam Configuration + +sebserver.exam.configuration.action.list.new=Add Configuration +sebserver.exam.configuration.action.list.modify=Edit Configuration +sebserver.exam.configuration.action.list.view=View Configuration +sebserver.exam.configuration.action.list.delete=Delete Configuration +sebserver.exam.configuration.action.save=Save Configuration +sebserver.exam.configuration.action.export-config=Export Configuration +sebserver.exam.configuration.action.get-config-key=Export Config-Key + +sebserver.exam.configuration.form.title.new=Add SEB Configuration Mapping +sebserver.exam.configuration.form.title=SEB Configuration Mapping +sebserver.exam.configuration.form.name=SEB Configuration +sebserver.exam.configuration.form.encryptSecret=Encryption Password +sebserver.exam.configuration.form.description=Description +sebserver.exam.configuration.form.status=Status +sebserver.exam.configuration.form.encryptSecret.confirm=Confirm Password + +sebserver.exam.indicator.list.actions= +sebserver.exam.indicator.list.title=Indicators +sebserver.exam.indicator.list.column.type=Type +sebserver.exam.indicator.list.column.name=Name +sebserver.exam.indicator.list.column.thresholds=Thresholds +sebserver.exam.indicator.list.empty=There is currently no indicator defined for this exam. Please create a new one +sebserver.exam.indicator.list.pleaseSelect=Please select first an indicator from the list + +sebserver.exam.indicator.type.LAST_PING=Last Ping Time +sebserver.exam.indicator.type.ERROR_COUNT=Errors +sebserver.exam.indicator.type.WARN_COUNT=Warnings +sebserver.exam.indicator.type.description.LAST_PING=This indicator shows the time in milliseconds since
the last ping has been received from a SEB Client.
This indicator can be used to track a SEB Client connection and indicate connection losse.

Thresholds are defined in milliseconds. +sebserver.exam.indicator.type.description.ERROR_COUNT=This indicator shows the number of error log messages that
has been received from a SEB Client.
This indicator can be used to track errors of connected SEB Clients

Thresholds are defined by natural numbers. +sebserver.exam.indicator.type.description.WARN_COUNT=This indicator shows the number of warn log messages that
has been received from a SEB Client.
This indicator can be used to track warnings of connected SEB Clients

Thresholds are defined by natural numbers. + + +sebserver.exam.indicator.info.pleaseSelect=Please select first an indicator from the list + +sebserver.exam.indicator.action.list.new=Add Indicator +sebserver.exam.indicator.action.list.modify=Edit Selected Indicator +sebserver.exam.indicator.action.list.delete=Delete Selected Indicator +sebserver.exam.indicator.action.save=Save + +sebserver.exam.indicator.form.title=Indicator +sebserver.exam.indicator.form.title.new=Add Indicator +sebserver.exam.indicator.form.exam=Exam +sebserver.exam.indicator.form.name=Name +sebserver.exam.indicator.form.type=Type +sebserver.exam.indicator.form.description=Type Description +sebserver.exam.indicator.form.color=Default Color +sebserver.exam.indicator.form.color.action=Please select a color +sebserver.exam.indicator.form.thresholds=Thresholds +sebserver.exam.indicator.thresholds.select.color=Please select a color + +sebserver.exam.indicator.thresholds.list.title=Thresholds +sebserver.exam.indicator.thresholds.list.value=Value +sebserver.exam.indicator.thresholds.list.color=Color +sebserver.exam.indicator.thresholds.list.add=Add Threshold +sebserver.exam.indicator.thresholds.list.remove=Delete Threshold + +################################ +# SEB Client Configuration +################################ + +sebserver.sebconfig.activity.name=SEB Configuration + +sebserver.clientconfig.action.list=Client Configuration +sebserver.clientconfig.action.export=Export + +sebserver.clientconfig.list.empty=There is currently no SEB-Client configuration available. Please create a new one +sebserver.clientconfig.list.title=SEB Client Configurations +sebserver.clientconfig.list.actions= +sebserver.clientconfig.list.column.institution=Institution +sebserver.clientconfig.list.column.name=Name +sebserver.clientconfig.list.column.date=Creation Date {0} +sebserver.clientconfig.list.column.active=Active +sebserver.clientconfig.info.pleaseSelect=Please select first a Client Configuration from the list +sebserver.clientconfig.list.action.no.modify.privilege=No Access: A SEB Client Configuration from other institution cannot be modified. + +sebserver.clientconfig.form.title.new=Add Client Configuration +sebserver.clientconfig.form.title=SEB Client Configuration +sebserver.clientconfig.form.name=Name +sebserver.clientconfig.form.fallback-url=Fallback Start URL +sebserver.clientconfig.form.date=Creation Date +sebserver.clientconfig.form.encryptSecret=Configuration Password +sebserver.clientconfig.form.encryptSecret.confirm=Confirm Password + +sebserver.clientconfig.action.list.new=Add Configuration +sebserver.clientconfig.action.list.view=View Configuration +sebserver.clientconfig.action.list.modify=Edit Configuration +sebserver.clientconfig.action.modify=Edit +sebserver.clientconfig.action.save=Save +sebserver.clientconfig.action.activate=Activate Configuration +sebserver.clientconfig.action.deactivate=Deactivate Configuration + +################################ +# SEB Exam Configuration +################################ + +sebserver.examconfig.action.list=Exam Configuration +sebserver.examconfig.list.title=Exam Configurations +sebserver.examconfig.list.column.institution=Institution +sebserver.examconfig.list.column.name=Name +sebserver.examconfig.list.column.description=Description +sebserver.examconfig.list.column.status=Status + +sebserver.examconfig.list.actions= + +sebserver.examconfig.list.empty=There is currently no SEB-Exam configuration available. Please create a new one +sebserver.examconfig.info.pleaseSelect=Please select first an Exam Configuration from the list +sebserver.examconfig.list.action.no.modify.privilege=No Access: An Exam Configuration from other institution cannot be modified. + +sebserver.examconfig.action.list.new=Add Exam Configuration +sebserver.examconfig.action.list.view=View Configuration +sebserver.examconfig.action.list.modify=Edit Settings +sebserver.examconfig.action.list.modify.properties=Edit Configuration +sebserver.examconfig.action.view=View Settings +sebserver.examconfig.action.modify=Edit Settings +sebserver.examconfig.action.modify.properties=Edit Configuration +sebserver.examconfig.action.view.properties=View Configuration +sebserver.examconfig.action.save=Save +sebserver.examconfig.action.saveToHistory=Save / Publish +sebserver.examconfig.action.saveToHistory.success=Successfully saved in history +sebserver.examconfig.action.saveToHistory.integrity-violation=There is currently at least one running Exam with active SEB client connections that uses this Configuration.
Modify of a configuration that is currently in use would lead to inconsistency and is therefore not allowed.

Please make sure that the configuration is not in use before applying changes. +sebserver.examconfig.action.undo=Undo +sebserver.examconfig.action.undo.success=Successfully reverted to last saved state +sebserver.examconfig.action.copy=Copy Configuration +sebserver.examconfig.action.copy.dialog=Exam Configuration +sebserver.examconfig.action.copy-as-template=Save As Template +sebserver.examconfig.action.copy-as-template.dialog=Configuration Template +sebserver.examconfig.action.export.plainxml=Export Configuration +sebserver.examconfig.action.get-config-key=Export Config-Key +sebserver.examconfig.action.import-config=Import Exam Configuration +sebserver.examconfig.action.import-file-select=Import From File +sebserver.examconfig.action.import-file-password=Password +sebserver.examconfig.action.import-config.confirm=Configuration successfully imported +sebserver.examconfig.action.import.missing-password=Missing Password: The chosen SEB Configuration is password-protected.

Please choose it again and provide the correct password within the password field. +sebserver.examconfig.action.state-change.confirm=This configuration is already attached to an exam.

Please note that changing an attached configuration will take effect on the exam when the configuration changes are saved

Are you sure to change this configuration to an editable state? + +sebserver.examconfig.form.title.new=Add Exam Configuration +sebserver.examconfig.form.title=Exam Configuration +sebserver.examconfig.form.name=Name +sebserver.examconfig.form.description=Description +sebserver.examconfig.form.with-history=With History +sebserver.examconfig.form.template=Template +sebserver.examconfig.form.status=Status +sebserver.examconfig.form.config-key.title=Config Key +sebserver.examconfig.form.attched-to=Attached To Exam + +sebserver.examconfig.status.CONSTRUCTION=Under Construction +sebserver.examconfig.status.READY_TO_USE=Ready To Use +sebserver.examconfig.status.IN_USE=In Use + +sebserver.examconfig.props.from.title=Exam Configuration Properties +sebserver.examconfig.props.form.views.general=General +sebserver.examconfig.props.form.views.user_interface=User Interface +sebserver.examconfig.props.form.views.browser=Browser +sebserver.examconfig.props.form.views.down_upload=Down/Uploads +sebserver.examconfig.props.form.views.exam=Exam +sebserver.examconfig.props.form.views.applications=Applications +sebserver.examconfig.props.form.views.resources=Additional Resources +sebserver.examconfig.props.form.views.network=Network +sebserver.examconfig.props.form.views.security=Security +sebserver.examconfig.props.form.views.registry=Registry +sebserver.examconfig.props.form.views.hooked_keys=Hooked Keys + + +sebserver.examconfig.props.label.hashedAdminPassword=Administrator password +sebserver.examconfig.props.label.hashedAdminPassword.confirm=Confirm password +sebserver.examconfig.props.label.allowQuit=Allow user to quit SEB +sebserver.examconfig.props.label.allowQuit.tooltip=Users can quit SEB with Control-Q, window close or quit button.
Otherwise use a quit link in your exam system or shutdown/restart the computer. +sebserver.examconfig.props.label.ignoreExitKeys=Ignore exit keys +sebserver.examconfig.props.label.ignoreExitKeys.tooltip=SEB ignores the exit keys and can only be quit manually by entering the quit password.
(click Quit button in SEB taskbar, press Ctrl-Q or click the main browser window close button) +sebserver.examconfig.props.label.hashedQuitPassword=Quit/unlock password +sebserver.examconfig.props.label.hashedQuitPassword.confirm=Confirm password +sebserver.examconfig.props.group.exitSequence=Exit Sequence + +sebserver.examconfig.props.label.exitKey.0=F1 +sebserver.examconfig.props.label.exitKey.1=F2 +sebserver.examconfig.props.label.exitKey.2=F3 +sebserver.examconfig.props.label.exitKey.3=F4 +sebserver.examconfig.props.label.exitKey.4=F5 +sebserver.examconfig.props.label.exitKey.5=F6 +sebserver.examconfig.props.label.exitKey.6=F7 +sebserver.examconfig.props.label.exitKey.7=F8 +sebserver.examconfig.props.label.exitKey.8=F9 +sebserver.examconfig.props.label.exitKey.9=F10 +sebserver.examconfig.props.label.exitKey.10=F11 +sebserver.examconfig.props.label.exitKey.11=F12 + +sebserver.examconfig.props.group.browserViewMode=Browser View Mode +sebserver.examconfig.props.label.browserViewMode.0=Use browser window +sebserver.examconfig.props.label.browserViewMode.0.tooltip=Use window for the SEB browser which can be scaled and moved around, also to another screen if available +sebserver.examconfig.props.label.browserViewMode.1=Use full screen mode +sebserver.examconfig.props.label.browserViewMode.1.tooltip=Display the SEB browser full screen. +sebserver.examconfig.props.label.browserViewMode.2=Touch optimized +sebserver.examconfig.props.label.browserViewMode.2.tooltip=Mainly to be used on Windows tablets. Not working with the Create New Desktop kiosk mode +sebserver.examconfig.props.label.enableTouchExit=Enable touch exit +sebserver.examconfig.props.label.enableTouchExit.tooltip=SEB can be quit by a swipe down from the upper display edge + +sebserver.examconfig.props.group.winsize=Main Browser Window Size And Position +sebserver.examconfig.props.label.mainBrowserWindowWidth=Width +sebserver.examconfig.props.label.mainBrowserWindowWidth.tooltip=Window width in pixel or percentage of total screen width. +sebserver.examconfig.props.label.mainBrowserWindowHeight=Height +sebserver.examconfig.props.label.mainBrowserWindowHeight.tooltip=Window height in pixel or percentage of total screen height. +sebserver.examconfig.props.label.mainBrowserWindowPositioning=Horizontal positioning +sebserver.examconfig.props.label.mainBrowserWindowPositioning.0=Left +sebserver.examconfig.props.label.mainBrowserWindowPositioning.1=Center +sebserver.examconfig.props.label.mainBrowserWindowPositioning.2=Right + +sebserver.examconfig.props.group.wintoolbar=Browser Window Toolbar +sebserver.examconfig.props.label.enableBrowserWindowToolbar=Enable browser window toolbar +sebserver.examconfig.props.label.enableBrowserWindowToolbar.tooltip=Displays a toolbar on top of the browser window
which can also be hidden by the user. +sebserver.examconfig.props.label.hideBrowserWindowToolbar=Hide toolbar as default (Mac) +sebserver.examconfig.props.label.hideBrowserWindowToolbar.tooltip=Hide browser window toolbar by default.
It can be shown again by using the View menu or Alt-Command-T. +sebserver.examconfig.props.label.showMenuBar=Show menu bar (Mac) +sebserver.examconfig.props.label.showMenuBar.tooltip=Show the OS X menu bar to allow to access settings like Wi-Fi. + +sebserver.examconfig.props.group.taskbar=SEB Taskbar/Dock +sebserver.examconfig.props.label.showTaskBar=Show SEB taskbar +sebserver.examconfig.props.label.showTaskBar.tooltip=The SEB task bar shows and switches between open browser windows,
allowed resources and applications and displays additional controls +sebserver.examconfig.props.label.taskBarHeight=Taskbar/dock height +sebserver.examconfig.props.label.taskBarHeight.tooltip=Height of SEB dock/task bar in points/pixels +sebserver.examconfig.props.label.showReloadButton=Show reload button +sebserver.examconfig.props.label.showReloadButton.tooltip=Reloads current web page. Shows warning if enabled in Browser settings tab +sebserver.examconfig.props.label.showTime=Show time +sebserver.examconfig.props.label.showTime.tooltip=Show current time +sebserver.examconfig.props.label.showInputLanguage=Show keyboard layout +sebserver.examconfig.props.label.showInputLanguage.tooltip=Shows current keyboard layout and allows to switch between other active keyboard layouts + +sebserver.examconfig.props.group.zoom=Enable Zoom (Win/Mac) +sebserver.examconfig.props.label.enableZoomPage=Enable page zoom +sebserver.examconfig.props.label.enableZoomPage.tooltip=Pages can be zoomed with ctrl - cmd +/-
or the commands in the view menu and browser window toolbar (Mac) +sebserver.examconfig.props.label.enableZoomText=Enable text zoom +sebserver.examconfig.props.label.enableZoomText.tooltip=Text in browser windows can be zoomed with cmd +/-
or the commands in the view menu and browser window toolbar (Mac) +sebserver.examconfig.props.group.zoomMode=Zoom Mode Win (Ctrl-Mousewheel) +sebserver.examconfig.props.label.zoomMode.0=Use page zoom +sebserver.examconfig.props.label.zoomMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win)" +sebserver.examconfig.props.label.zoomMode.1=Use text zoom +sebserver.examconfig.props.label.zoomMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) + +sebserver.examconfig.props.group.audio=Audio Control +sebserver.examconfig.props.label.audioControlEnabled=Enable audio controls +sebserver.examconfig.props.label.audioControlEnabled.tooltip=Displays an audio control in the SEB taskbar +sebserver.examconfig.props.label.audioMute=Mute audio on startup +sebserver.examconfig.props.label.audioMute.tooltip=The autio is muted when the SEB/exam starts +sebserver.examconfig.props.label.audioSetVolumeLevel=Set initial volume level +sebserver.examconfig.props.label.audioSetVolumeLevel.tooltip=The volume level after starting SEB/exam + +sebserver.examconfig.props.group.spellcheck=Spell Checker +sebserver.examconfig.props.label.allowSpellCheck=Allow spell checking +sebserver.examconfig.props.label.allowSpellCheck.tooltip=Allow to use "Check spelling" in the SEB browser +sebserver.examconfig.props.label.allowDictionaryLookup=Allow dictionary lookup (Mac) +sebserver.examconfig.props.label.allowDictionaryLookup.tooltip=Allow to use the OS X dictionary lookup using a 3 finger tap +sebserver.examconfig.props.label.allowSpellCheckDictionary=The list below shows all dictionaries currently available for spell checking.
SEB comes with a list of standard dictionaries that can be activated/deactivated here. +sebserver.examconfig.props.label.allowSpellCheckDictionary.da-DK=Danish (Denmark) (da-DK) +sebserver.examconfig.props.label.allowSpellCheckDictionary.en-AU=English (Australia) (en-AU) +sebserver.examconfig.props.label.allowSpellCheckDictionary.en-GB=English (United Kingdom) (en-GB) +sebserver.examconfig.props.label.allowSpellCheckDictionary.en-US=English (United States) (en-US) +sebserver.examconfig.props.label.allowSpellCheckDictionary.es-ES=Spanish (Spain) (es-ES) +sebserver.examconfig.props.label.allowSpellCheckDictionary.fr-FR=French (France) (fr-FR) +sebserver.examconfig.props.label.allowSpellCheckDictionary.pt-PT=Portuguese (Portugal) (pt-PT) +sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-SE=Swedish (Sweden) +sebserver.examconfig.props.label.allowSpellCheckDictionary.sv-FI=Swedish (Finland) + +sebserver.examconfig.props.group.newBrowserWindow=Links requesting to be opened in a new browser window (Mac) +sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.0=get generally blocked +sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.1=open in same window +sebserver.examconfig.props.label.newBrowserWindowByLinkPolicy.2=open in new window +sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign=Block when directing
to a different server +sebserver.examconfig.props.label.newBrowserWindowByLinkBlockForeign.tooltip=USE WITH CARE: Hyperlinks invoked by JavaScript/plug-ins
which direct to a different host than the one of the current main page will be ignored. + +sebserver.examconfig.props.group.newwinsize=New browser window size and position +sebserver.examconfig.props.label.newBrowserWindowByLinkWidth=Width +sebserver.examconfig.props.label.newBrowserWindowByLinkWidth.tooltip=Window width in pixel or percentage of total screen width. +sebserver.examconfig.props.label.newBrowserWindowByLinkHeight=Height +sebserver.examconfig.props.label.newBrowserWindowByLinkHeight.tooltip=Window height in pixel or percentage of total screen height. +sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning=Horizontal positioning +sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.0=Left +sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.1=Center +sebserver.examconfig.props.label.newBrowserWindowByLinkPositioning.2=Right + +sebserver.examconfig.props.group.browserSecurity=Browser security +sebserver.examconfig.props.label.enablePlugIns=Enable plug-ins (Win: only Flash) +sebserver.examconfig.props.label.enablePlugIns.tooltip=Enables web plugins (Mac) or just Flash (Win).
For security reasons it\'s recommended to disable this option if you don\'t use any plugin/Flash content. +sebserver.examconfig.props.label.enableJavaScript=Enable JavaScript +sebserver.examconfig.props.label.enableJavaScript.tooltip=Enables JavaScript.
Please note that most modern web-sites need JavaScript for full functionality. +sebserver.examconfig.props.label.enableJava=Enable Java +sebserver.examconfig.props.label.enableJava.tooltip=Enables Java applets.
Note: Only applets with the highest Java security level will run in SEB. +sebserver.examconfig.props.label.blockPopUpWindows=Block pop-up windows +sebserver.examconfig.props.label.blockPopUpWindows.tooltip=Disables pop-up windows
(often advertisement) opened by JavaScript without an user action such as a button click. +sebserver.examconfig.props.label.allowVideoCapture=Allow video capture (webcam) +sebserver.examconfig.props.label.allowVideoCapture.tooltip=Allow web applications to access camera +sebserver.examconfig.props.label.allowAudioCapture=Allow audio capture (microphone) +sebserver.examconfig.props.label.allowAudioCapture.tooltip=Allow web applications to access microphone +sebserver.examconfig.props.label.allowBrowsingBackForward=Allow navigating back/forward in exam +sebserver.examconfig.props.label.allowBrowsingBackForward.tooltip=Disabling browsing to previously visited pages may increase security,
because browsing back might allow to leave an exam +sebserver.examconfig.props.label.newBrowserWindowNavigation=Allow navigating in additional windows +sebserver.examconfig.props.label.browserWindowAllowReload=Allow reload exam +sebserver.examconfig.props.label.browserWindowAllowReload.tooltip=Allow reload in the exam window with F5 reload button (if displayed) +sebserver.examconfig.props.label.newBrowserWindowAllowReload=Allow reload in additional windows +sebserver.examconfig.props.label.newBrowserWindowAllowReload.tooltip=Allow reload in additional window with F5 reload button (if displayed) +sebserver.examconfig.props.label.showReloadWarning=Show reload warning in exam +sebserver.examconfig.props.label.showReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button +sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning=Show reload warning in additional windows +sebserver.examconfig.props.label.newBrowserWindowShowReloadWarning.tooltip=User has to confirm reloading a web page with F5 or reload button +sebserver.examconfig.props.label.removeBrowserProfile=Remove profile (Win) +sebserver.examconfig.props.label.removeBrowserProfile.tooltip=Remove XULRunner browser profile (containing caches and also local storage) when quitting SEB +sebserver.examconfig.props.label.removeLocalStorage=Disable local storage (Mac) +sebserver.examconfig.props.label.removeLocalStorage.tooltip=If your web application uses local storage, you have to be sure data is saved encrypted
and removed when no longer needed as SEB doesn't remove local storage + +sebserver.examconfig.props.label.browserUserAgent=Suffix to be added to any user agent +sebserver.examconfig.props.group.userAgentDesktop=User agent for desktop mode +sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0=Desktop default +sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.0.tooltip=Zoom whole web pages using Ctrl-Mousewheel (Win) +sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1=Custom +sebserver.examconfig.props.label.browserUserAgentWinDesktopMode.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) +sebserver.examconfig.props.label.browserUserAgentWinDesktopModeCustom.tooltip=Custom desktop user agent string
(SEB appends its version number automatically) + +sebserver.examconfig.props.group.userAgentTouch=User agent for touch/table mode +sebserver.examconfig.props.label.browserUserAgentWinTouchMode.0=Touch default +sebserver.examconfig.props.label.browserUserAgentWinTouchMode.1=iPad +sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2=Custom +sebserver.examconfig.props.label.browserUserAgentWinTouchMode.2.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) + +sebserver.examconfig.props.group.userAgentMac=User agent (Mac) +sebserver.examconfig.props.label.browserUserAgentMac.0=Default (depends on installed Safari/WebKit version) +sebserver.examconfig.props.label.browserUserAgentMac.1=Custom +sebserver.examconfig.props.label.browserUserAgentMac.1.tooltip=Zoom only text on web pages using Ctrl-Mousewheel (Win) + +sebserver.examconfig.props.label.enableSebBrowser=Enable SEB with browser window +sebserver.examconfig.props.label.enableSebBrowser.tooltip=Disable this to start another application in kiosk mode
(for example a virtual desktop infrastructure client) +sebserver.examconfig.props.label.browserWindowTitleSuffix=Suffix to be added to every browser window + +sebserver.examconfig.props.label.allowDownUploads=Allow downloading and uploading files (Mac) +sebserver.examconfig.props.label.allowDownUpload.tooltip=Usually to be used with permitted third party applications
for which you want to provide files to be down-loaded. +sebserver.examconfig.props.label.downloadDirectoryWin=Download directory (Win) +sebserver.examconfig.props.label.downloadDirectoryOSX=Download directory (Mac) +sebserver.examconfig.props.label.openDownloads=Open files after downloading (Mac) +sebserver.examconfig.props.label.chooseFileToUploadPolicy=Choose file to upload (Mac) +sebserver.examconfig.props.label.chooseFileToUploadPolicy.tooltip=SEB can let users choose the file to upload or automatically use the same file which was down-loaded before.
If not found, a file requester or an error is presented depending on this setting. +sebserver.examconfig.props.label.chooseFileToUploadPolicy.0=manually with file requester +sebserver.examconfig.props.label.chooseFileToUploadPolicy.1=by attempting to upload the same file downloaded before +sebserver.examconfig.props.label.chooseFileToUploadPolicy.2=by only allowing to upload the same file downloaded before +sebserver.examconfig.props.label.downloadPDFFiles=Download and open PDF files instead of displaying them inline (Mac) +sebserver.examconfig.props.label.downloadPDFFiles.tooltip=PDF files will not be displayed by SEB but downloaded and openend (if "Open files after downloading" is active!)
by the application set in Finder (usually Preview or Adobe Acrobat). +sebserver.examconfig.props.label.allowPDFPlugIn=Allow using Acrobat Reader PDF plugin (insecure! Mac only) +sebserver.examconfig.props.label.allowPDFPlugIn.tooltip=The Adobe Acrobat Reader browser plugin should only be used on secured managed Mac computers,
at it allows limited access the file system and unlimited to cloud services +sebserver.examconfig.props.label.downloadAndOpenSebConfig=Download and open SEB Config Files +sebserver.examconfig.props.label.downloadAndOpenSebConfig.tooltip=Download and open .seb config files regardless if downloading and opening other file types is allowed. + +sebserver.examconfig.props.group.quitLink=Link to quit SEB after exam +sebserver.examconfig.props.label.quitURL=Place this quit link to the 'feedback' page displayed after an exam was successfully finished.
Clicking that link will quit SEB without having to enter the quit password. +sebserver.examconfig.props.label.quitURLConfirm=Ask user to confirm quitting + +sebserver.examconfig.props.group.backToStart=Back to Start Button +sebserver.examconfig.props.group.backToStart.tooltip=The back to start button reloads the exam's Start URL +sebserver.examconfig.props.label.restartExamUseStartURL=Use Start URL +sebserver.examconfig.props.label.restartExamUseStartURL.tooltip=The back to start button reloads the exam's Start URL +sebserver.examconfig.props.label.restartExamURL=Enter custom URL or select 'Use Start URL' to display a back to start button in the SEB taskbar. +sebserver.examconfig.props.label.restartExamText=Title/tool tip text for the back to start button (leave empty for localized standard text) +sebserver.examconfig.props.label.restartExamPasswordProtected=Protect back to start button with the quit/unlock password +sebserver.examconfig.props.label.restartExamPasswordProtected.tooltip=The quit/restart password (if set) must be entered when the back to start button was pressed. + +sebserver.examconfig.props.label.allowSwitchToApplications=Allow switching to third party application (Mac) +sebserver.examconfig.props.label.allowSwitchToApplications.tooltip=Decreases security of the kiosk mode by allowing process switcher (Cmd+Tab).
The blacked out background of SEB also doesn't cover some alerts and modal windows in this mode. +sebserver.examconfig.props.label.allowFlashFullscreen=Allow Flash to switch to fullscreen mode (Mac) +sebserver.examconfig.props.label.permittedProcesses.add.tooltip=Add permitted process +sebserver.examconfig.props.label.permittedProcesses.remove.tooltip=Remove selected permitted process +sebserver.examconfig.props.label.permittedProcesses.row.title=Permitted Processes +sebserver.examconfig.props.label.permittedProcesses=Permitted Processes +sebserver.examconfig.props.label.permittedProcesses.active=Active +sebserver.examconfig.props.label.permittedProcesses.active.tooltip=This permitted process item is active. +sebserver.examconfig.props.label.permittedProcesses.os=OS +sebserver.examconfig.props.label.permittedProcesses.os.tooltip=Indicates on which operating system the permitted process runs. +sebserver.examconfig.props.label.permittedProcesses.os.0=OS X +sebserver.examconfig.props.label.permittedProcesses.os.1=Win +sebserver.examconfig.props.label.permittedProcesses.title=Title +sebserver.examconfig.props.label.permittedProcesses.title.tooltip=Application title which is displayed in the application chooser.
Background processes don't have a title, because they can't be selected by users. +sebserver.examconfig.props.label.permittedProcesses.description=Description +sebserver.examconfig.props.label.permittedProcesses.description.tooltip=Optional, should explain what kind of process this is,
because this might not be obvious only from the executable's name. +sebserver.examconfig.props.label.permittedProcesses.executable=Executable +sebserver.examconfig.props.label.permittedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe). +sebserver.examconfig.props.label.permittedProcesses.originalName=Original Name +sebserver.examconfig.props.label.permittedProcesses.allowedExecutables=Window handling process +sebserver.examconfig.props.label.permittedProcesses.path=Path +sebserver.examconfig.props.label.permittedProcesses.arguments=Arguments +sebserver.examconfig.props.label.permittedProcesses.arguments.active=Active +sebserver.examconfig.props.label.permittedProcesses.arguments.argument=Argument +sebserver.examconfig.props.label.permittedProcesses.arguments.addAction=Add new argument +sebserver.examconfig.props.label.permittedProcesses.arguments.removeAction=Remove this argument +sebserver.examconfig.props.label.permittedProcesses.identifier=Identifier +sebserver.examconfig.props.label.permittedProcesses.identifier.tooltip=(Sub) string in the title of the main window of a tricky third party application (Java, Acrobat etc.).
Mac OS X: Bundle identifier of the process in reverse domain notation. +sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar=Icon in taskbar +sebserver.examconfig.props.label.permittedProcesses.iconInTaskbar.tooltip=Show icon of permitted application in task bar
(not possible when 'run in background' is enabled). +sebserver.examconfig.props.label.permittedProcesses.autostart=Autostart +sebserver.examconfig.props.label.permittedProcesses.autostart.tooltip=Start the process automatically together with SEB. +sebserver.examconfig.props.label.permittedProcesses.runInBackground=Allow running in background +sebserver.examconfig.props.label.permittedProcesses.runInBackground.tooltip=Allow the permitted process to already be running when SEB starts.
Such a process can't have an icon in the task bar. +sebserver.examconfig.props.label.permittedProcesses.allowUserToChooseApp=Allow user to select location of application +sebserver.examconfig.props.label.permittedProcesses.strongKill=Force quit (risk of data loss) +sebserver.examconfig.props.label.permittedProcesses.strongKill.tooltip=Terminate process in a not-nice way, which may cause data loss if the application had unsaved data + +sebserver.examconfig.props.label.prohibitedProcesses.add.tooltip=Add prohibited process +sebserver.examconfig.props.label.prohibitedProcesses.remove.tooltip=Remove selected prohibited process +sebserver.examconfig.props.label.prohibitedProcesses.row.title=Prohibited Processes +sebserver.examconfig.props.label.prohibitedProcesses=Prohibited Processes +sebserver.examconfig.props.label.prohibitedProcesses.active=Active +sebserver.examconfig.props.label.prohibitedProcesses.active.tooltip=Indicates if this prohibited process item is active. +sebserver.examconfig.props.label.prohibitedProcesses.os=OS +sebserver.examconfig.props.label.prohibitedProcesses.os.0=OS X +sebserver.examconfig.props.label.prohibitedProcesses.os.1=Win +sebserver.examconfig.props.label.prohibitedProcesses.description=Description +sebserver.examconfig.props.label.prohibitedProcesses.description.tooltip=Optional, to explain what kind of process this is,
because this might not be obvious only from the executable's name. +sebserver.examconfig.props.label.prohibitedProcesses.executable=Executable +sebserver.examconfig.props.label.prohibitedProcesses.executable.tooltip=File name of the executable, which should not contain any parts of a file system path,
only the filename of the exe file (like calc.exe). +sebserver.examconfig.props.label.prohibitedProcesses.originalName=Original Name +sebserver.examconfig.props.label.prohibitedProcesses.originalName.tooltip=Original file name (optional) +sebserver.examconfig.props.label.prohibitedProcesses.identifier=Identifier +sebserver.examconfig.props.label.prohibitedProcesses.identifier.tooltip=Title of the main window of a Java third party application.
Mac OS X: Bundle identifier of the process in reverse domain notation. +sebserver.examconfig.props.label.prohibitedProcesses.strongKill=Force quit (risk of data loss) +sebserver.examconfig.props.label.prohibitedProcesses.strongKill.tooltip=Terminate process in a not-nice way,
which may cause data loss if the application had unsaved data + +sebserver.examconfig.props.group.urlFilter=Filter +sebserver.examconfig.props.label.URLFilterEnable=Activate URL Filtering +sebserver.examconfig.props.label.URLFilterEnableContentFilter=Filter also embedded content +sebserver.examconfig.props.label.URLFilterRules=Filter +sebserver.examconfig.props.label.URLFilterRules.row.title=URL Filter +sebserver.examconfig.props.label.URLFilterRules.active=Active +sebserver.examconfig.props.label.URLFilterRules.regex=Regex +sebserver.examconfig.props.label.URLFilterRules.expression=Expression +sebserver.examconfig.props.label.URLFilterRules.action=Action +sebserver.examconfig.props.label.URLFilterRules.action.0=Block +sebserver.examconfig.props.label.URLFilterRules.action.1=Allow +sebserver.examconfig.props.label.URLFilterRules.add.tooltip=Add new URL Filter +sebserver.examconfig.props.label.URLFilterRules.remove.tooltip=Remove selected URL Filter + +sebserver.examconfig.props.group.proxies=Proxies +sebserver.examconfig.props.label.proxySettingsPolicy=proxy settings policy +sebserver.examconfig.props.label.proxySettingsPolicy.0=Use system proxy setting +sebserver.examconfig.props.label.proxySettingsPolicy.0.tooltip=System proxy settings of the exam client computer are used +sebserver.examconfig.props.label.proxySettingsPolicy.1=Use SEB proxy settings +sebserver.examconfig.props.label.proxySettingsPolicy.1.tooltip=Proxy settings provided in these SEB settings are used +sebserver.examconfig.props.label.proxies=Double-click a protocol to configure: +sebserver.examconfig.props.label.ExcludeSimpleHostnames=Exclude simple hostnames +sebserver.examconfig.props.label.ExceptionsList=Bypass proxy settings for these hosts and domains +sebserver.examconfig.props.label.ExceptionsList.tooltip=Separate hosts / domains with comma +sebserver.examconfig.props.label.FTPPassive=Use Passive FTP Mode (PASV) + +sebserver.examconfig.props.label.proxies.active=Active +sebserver.examconfig.props.label.proxies.TABLE_ENTRY=Protocol +sebserver.examconfig.props.label.autoDiscovery=Auto Proxy Discovery +sebserver.examconfig.props.label.AutoDiscoveryEnabled=Auto discovery enabled +sebserver.examconfig.props.label.autoConfiguration=Automatic Proxy Configuration +sebserver.examconfig.props.label.AutoConfigurationEnabled=Auto configuration enabeld +sebserver.examconfig.props.label.AutoConfigurationURL=Proxy configuration file URL +sebserver.examconfig.props.label.AutoConfigurationJavaScript=Proxy configuration JavaScript + +sebserver.examconfig.props.label.http=Web Proxy (HTTP) +sebserver.examconfig.props.label.HTTPEnable=Web proxy eneabled +sebserver.examconfig.props.label.HTTPProxy=Web proxy server +sebserver.examconfig.props.label.HTTPPort=Web proxy port +sebserver.examconfig.props.label.HTTPRequiresPassword=Proxy server requires password +sebserver.examconfig.props.label.HTTPUsername=Username +sebserver.examconfig.props.label.HTTPPassword=Password + +sebserver.examconfig.props.label.https=Secure Web Proxy (HTTPS) +sebserver.examconfig.props.label.HTTPSEnable=Secure web proxy eneabled +sebserver.examconfig.props.label.HTTPSProxy=Secure web proxy server +sebserver.examconfig.props.label.HTTPSPort=Secure web proxy port +sebserver.examconfig.props.label.HTTPSRequiresPassword=Proxy server requires password +sebserver.examconfig.props.label.HTTPSUsername=Username +sebserver.examconfig.props.label.HTTPSPassword=Password + +sebserver.examconfig.props.label.ftp=FTP Proxy +sebserver.examconfig.props.label.FTPEnable=FTP proxy eneabled +sebserver.examconfig.props.label.FTPProxy=FTP proxy server +sebserver.examconfig.props.label.FTPPort=FTP proxy port +sebserver.examconfig.props.label.FTPRequiresPassword=Proxy server requires password +sebserver.examconfig.props.label.FTPUsername=Username +sebserver.examconfig.props.label.FTPPassword=Password + +sebserver.examconfig.props.label.socks=SOCKS Proxy +sebserver.examconfig.props.label.SOCKSEnable=SOCKS proxy eneabled +sebserver.examconfig.props.label.SOCKSProxy=SOCKS proxy server +sebserver.examconfig.props.label.SOCKSPort=SOCKS proxy port +sebserver.examconfig.props.label.SOCKSRequiresPassword=Proxy server requires password +sebserver.examconfig.props.label.SOCKSUsername=Username +sebserver.examconfig.props.label.SOCKSPassword=Password + +sebserver.examconfig.props.label.rtsp=Streaming Proxy (RTSP) +sebserver.examconfig.props.label.RTSPEnable=RTSP proxy eneabled +sebserver.examconfig.props.label.RTSPProxy=RTSP proxy server +sebserver.examconfig.props.label.RTSPPort=RTSP proxy port +sebserver.examconfig.props.label.RTSPRequiresPassword=Proxy server requires password +sebserver.examconfig.props.label.RTSPUsername=Username +sebserver.examconfig.props.label.RTSPPassword=Password + + +sebserver.examconfig.props.group.servicePolicy=SEB Service policy +sebserver.examconfig.props.label.sebServicePolicy.0=allow to run SEB without service +sebserver.examconfig.props.label.sebServicePolicy.1=display warning when service is not running +sebserver.examconfig.props.label.sebServicePolicy.2=allow to use SEB only with service +sebserver.examconfig.props.label.sebServicePolicy.tooltip=Policy that applies when an exam client doesn't have the SEB client running + +sebserver.examconfig.props.group.kioskMode=Kiosk Mode +sebserver.examconfig.props.label.kioskMode.tooltip=The kiosk mode setting reflects how the computer is locked down into SEB. +sebserver.examconfig.props.label.kioskMode.0=Create new desktop +sebserver.examconfig.props.label.kioskMode.0.tooltip=This kiosk mode may prevent specific third party software to run correctly together with SEB, like some screen recording software or the Windows onscreen keyboard. +sebserver.examconfig.props.label.kioskMode.1=Disable explorer Shell +sebserver.examconfig.props.label.kioskMode.1.tooltip=This kiosk mode is compatible with some screen recording/proctoring software and the Windows onscreen keyboard. +sebserver.examconfig.props.label.kioskMode.2=None (for debugging only) +sebserver.examconfig.props.label.kioskMode.2.tooltip=SEB runs without kiosk mode, switching to other applications is possible. Use this for debugging purposes only. + +sebserver.examconfig.props.label.allowVirtualMachine=Allow to run inside virtual machine +sebserver.examconfig.props.label.allowVirtualMachine.tooltip=Indicates if SEB is allowed to run in a virtual machine or not (in order to prevent potential manipulation). +sebserver.examconfig.props.label.allowScreenSharing=Allow remote session/screen sharing +sebserver.examconfig.props.label.allowScreenSharing.tootlip=Allows Windows remote sessions and macOS screen sharing to be used +sebserver.examconfig.props.label.enablePrivateClipboard=Use private clipboard (Mac) +sebserver.examconfig.props.label.enablePrivateClipboard.tooltip=Private clipboard should always be used beside when working with third party application in managed/virtual machine + +sebserver.examconfig.props.group.logging=Logging +sebserver.examconfig.props.label.enableLogging=Enable logging +sebserver.examconfig.props.label.enableLogging.tooltip=The log can help debugging SEB (send it to the developers) and to find out about possible manipulations +sebserver.examconfig.props.label.logDirectoryWin=Log file directory on Windows +sebserver.examconfig.props.label.logDirectoryOSX=Log file directory on Mac + +sebserver.examconfig.props.group.macSettings=macOS specific settings +sebserver.examconfig.props.label.minMacOSVersion=Enforce minimal macOS version: +sebserver.examconfig.props.label.minMacOSVersion.0=OS X 10.7 Lion +sebserver.examconfig.props.label.minMacOSVersion.1=OS X 10.8 Mountain Lion +sebserver.examconfig.props.label.minMacOSVersion.2=OS X 10.9 Mavericks +sebserver.examconfig.props.label.minMacOSVersion.3=OS X 10.10 Yosemite +sebserver.examconfig.props.label.minMacOSVersion.4=OS X 10.11 El Capitan +sebserver.examconfig.props.label.minMacOSVersion.5=OS X 10.12 Sierra +sebserver.examconfig.props.label.minMacOSVersion.6=OS X 10.13 Hight Sierra +sebserver.examconfig.props.label.minMacOSVersion.7=OS X 10.14 Mojave +sebserver.examconfig.props.label.enableAppSwitcherCheck=Disable app switcher when starting +sebserver.examconfig.props.label.enableAppSwitcherCheck.tooltip=SEB checks for the command key being held down while SEB is starting up. This prevents using the application switcher to mess with SEB\'s kiosk mode +sebserver.examconfig.props.label.forceAppFolderInstall=Force installation in Applications folder +sebserver.examconfig.props.label.forceAppFolderInstall.tooltip=SEB enforces to be installed in an Applications folder (/Applications or ~/Applications) +sebserver.examconfig.props.label.allowUserAppFolderInstall=Allow also user's ~/Applications folder +sebserver.examconfig.props.label.allowUserAppFolderInstall.tooltip=SEB can also be installed in the Applications folder of the current user (~/Applications) +sebserver.examconfig.props.label.allowSiri=Allow to use Siri +sebserver.examconfig.props.label.allowSiri.tooltip=If enabled, Siri can be used by tapping th emenu bar icon, Touch Bar icon or shortcut set in System Preferences/Siri (default: hold command space). The Siri window won't be displayed though +sebserver.examconfig.props.label.detectStoppedProcess=Detect when SEB process was stopped +sebserver.examconfig.props.label.detectStoppedProcess.tooltip=SEB displays a lock screen (requiring to enter the quit/unlock password) if it detects its process was stopped, which can indicate manipulation +sebserver.examconfig.props.label.allowDisplayMirroring=Allow display mirroring (affects also AirPlay Display) +sebserver.examconfig.props.label.allowDisplayMirroring.tooltip=If not selected, SEB prevents to mirror the main display to another +sebserver.examconfig.props.label.allowedDisplaysMaxNumber=Maximum allowed number of connected displays +sebserver.examconfig.props.label.allowedDisplaysMaxNumber.tooltip=If more displays are connected, this are blanked with an orange full screen window +sebserver.examconfig.props.label.allowedDisplayBuiltin=Use built-in display +sebserver.examconfig.props.label.allowedDisplayBuiltin.tooltip=Use the built-in display (if available) when only one display is allowed or when switching off display mirroring +sebserver.examconfig.props.label.logLevel=Log Level +sebserver.examconfig.props.label.logLevel.tooltip=The log will contain the selected log level plus all levels with a lower value +sebserver.examconfig.props.label.logLevel.0=Error +sebserver.examconfig.props.label.logLevel.0.tooltip=Error includes fatal application and browser level errors +sebserver.examconfig.props.label.logLevel.1=Warning +sebserver.examconfig.props.label.logLevel.1.tooltip=Warning are non-fatal but non-expected or security affecting events +sebserver.examconfig.props.label.logLevel.2=Info +sebserver.examconfig.props.label.logLevel.2.tooltip=Info includes most user actions including all browser navigation actions +sebserver.examconfig.props.label.logLevel.3=Debug +sebserver.examconfig.props.label.logLevel.3.tooltip=Debug is reserved for information which is only necessary for in-deep program code debugging +sebserver.examconfig.props.label.logLevel.4=Verbose +sebserver.examconfig.props.label.logLevel.4.tooltip=Verbose level contains events of all levels + +sebserver.examconfig.props.group.registry=While running SEB +sebserver.examconfig.props.group.registry.tooltip=Options in the Windows Security Screen invoked by Ctrl-Alt-Del +sebserver.examconfig.props.label.insideSebEnableSwitchUser=Enable Switch User +sebserver.examconfig.props.label.insideSebEnableSwitchUser.tooltip=Activates the button "Switch User" +sebserver.examconfig.props.label.insideSebEnableLockThisComputer=Enable Lock this computer +sebserver.examconfig.props.label.insideSebEnableLockThisComputer.tooltip=Activates the button "Lock this computer" +sebserver.examconfig.props.label.insideSebEnableChangeAPassword=Enable Change a password +sebserver.examconfig.props.label.insideSebEnableChangeAPassword.tooltip=Activates the button "Change a password..." +sebserver.examconfig.props.label.insideSebEnableStartTaskManager=Enable Start Task Manager +sebserver.examconfig.props.label.insideSebEnableStartTaskManager.tooltip=Activates the button "Start Task Manager" +sebserver.examconfig.props.label.insideSebEnableLogOff=Enable Log off +sebserver.examconfig.props.label.insideSebEnableLogOff.tooltip=Activates the button "Log off" +sebserver.examconfig.props.label.insideSebEnableShutDown=Enable Shut down +sebserver.examconfig.props.label.insideSebEnableShutDown.tooltip=Activates the button "Shutdown" +sebserver.examconfig.props.label.insideSebEnableEaseOfAccess=Enable Ease of Access +sebserver.examconfig.props.label.insideSebEnableEaseOfAccess.tooltip=Shows options when the button "Ease of Access" in the lower left corner is clicked,
which offers help e.g. to visually or aurally handicapped persons, like the Magnifier Glass. +sebserver.examconfig.props.label.insideSebEnableVmWareClientShade=Enable VMware Client Shade +sebserver.examconfig.props.label.insideSebEnableVmWareClientShade.tooltip=Activates the "Shade" bar at the upper edge of a virtual desktop, if existent. If you're not using VMware, this setting doesn't have any effect. +sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector=Enable network connection selector +sebserver.examconfig.props.label.insideSebEnableNetworkConnectionSelector.tooltip=Activates the button which allows to connect to WiFi networks, introduces in Windows 10. + +sebserver.examconfig.props.group.specialKeys=Special Keys +sebserver.examconfig.props.group.specialKeys.tooltip=Settings to enable or block (hook) keys, key combinations and mouse buttons. +sebserver.examconfig.props.label.enableEsc=Enable Esc +sebserver.examconfig.props.label.enablePrintScreen=Enable Print Screen +sebserver.examconfig.props.label.enablePrintScreen.tooltip=Controls Print Screen and OS X screen capture, corresponds with Enable screen capture in Security settings. +sebserver.examconfig.props.label.enableCtrlEsc=Enable Ctrl-Esc +sebserver.examconfig.props.label.enableAltEsc=Enable Alt-Esc +sebserver.examconfig.props.label.enableAltTab=Enable Alt-Tap +sebserver.examconfig.props.label.enableAltF4=Enable Alt-F4 +sebserver.examconfig.props.label.enableStartMenu=Enable Start Menu +sebserver.examconfig.props.label.enableRightMouse=Enable Right Mouse +sebserver.examconfig.props.label.enableAltMouseWheel=Enable Alt-Mousewheel +sebserver.examconfig.props.label.enableAltMouseWheel.tooltip=Corresponds to 'Allow browsing back/forward' in Browser pane. Disabling browsing to previously visited pages may increase security, because browsing back might allow to leave an exam + +sebserver.examconfig.props.group.functionKeys=Function Keys +sebserver.examconfig.props.group.functionKeys.tooltip=Enable or block function keys. This doesn't have any effect on the SEB exit sequence. Depending on specific keyboards some function keys cannot be blocked. +sebserver.examconfig.props.label.enableF1=Enable F1 +sebserver.examconfig.props.label.enableF2=Enable F2 +sebserver.examconfig.props.label.enableF3=Enable F3 +sebserver.examconfig.props.label.enableF4=Enable F4 +sebserver.examconfig.props.label.enableF5=Enable F5 +sebserver.examconfig.props.label.enableF6=Enable F6 +sebserver.examconfig.props.label.enableF7=Enable F7 +sebserver.examconfig.props.label.enableF8=Enable F8 +sebserver.examconfig.props.label.enableF9=Enable F9 +sebserver.examconfig.props.label.enableF10=Enable F10 +sebserver.examconfig.props.label.enableF11=Enable F11 +sebserver.examconfig.props.label.enableF12=Enable F12 + +sebserver.examconfig.props.validation.password.confirm=Please enter correct confirm password +sebserver.examconfig.props.validation.unexpected=Unexpected error happened. Value was not set correctly +sebserver.examconfig.props.validation.IntegerTypeValidator=Invalid number +sebserver.examconfig.props.validation.DecimalTypeValidator=Invalid decimal number +sebserver.examconfig.props.validation.ExitKeySequenceValidator=Key is already in sequence +sebserver.examconfig.props.validation.WindowsSizeValidator=Invalid number + +################################ +# SEB Exam Configuration Template +################################ + +sebserver.configtemplate.action.list=Configuration Templates +sebserver.configtemplate.list.title=Configuration Templates +sebserver.configtemplate.list.empty=There is currently no SEB-Exam configuration template available. Please create a new one +sebserver.configtemplate.list.actions= + +sebserver.configtemplate.info.pleaseSelect=Please select first an Exam Configuration template from the list + +sebserver.configtemplate.action.list.new=Add Configuration Template +sebserver.configtemplate.action.list.view=View Configuration Template +sebserver.configtemplate.action.view=View Template +sebserver.configtemplate.action.list.modify=Edit Template +sebserver.configtemplate.action.modify=Edit Template +sebserver.configtemplate.action.create-config=Create Configuration +sebserver.configtemplate.action.create-config.dialog=Exam Configuration + +sebserver.configtemplate.form.title.new=Add Template +sebserver.configtemplate.form.title=Configuration Template +sebserver.configtemplate.form.name=Name +sebserver.configtemplate.form.description=Description +sebserver.configtemplate.action.save=Save Template + +sebserver.configtemplate.attr.type.TEXT_FIELD=Text Field +sebserver.configtemplate.attr.type.PASSWORD_FIELD=Password Field +sebserver.configtemplate.attr.type.TEXT_AREA=Text Area +sebserver.configtemplate.attr.type.CHECKBOX=Checkbox +sebserver.configtemplate.attr.type.SLIDER=Slider +sebserver.configtemplate.attr.type.INTEGER=Number (Integer) +sebserver.configtemplate.attr.type.DECIMAL=Number (Decimal) +sebserver.configtemplate.attr.type.SINGLE_SELECTION=Single Selection +sebserver.configtemplate.attr.type.COMBO_SELECTION=Combo Selection +sebserver.configtemplate.attr.type.RADIO_SELECTION=Radio Selection +sebserver.configtemplate.attr.type.MULTI_SELECTION=Multi Selection +sebserver.configtemplate.attr.type.MULTI_CHECKBOX_SELECTION=Multi Selection (Checkbox) +sebserver.configtemplate.attr.type.FILE_UPLOAD=File Upload +sebserver.configtemplate.attr.type.TABLE=Table +sebserver.configtemplate.attr.type.INLINE_TABLE=Table +sebserver.configtemplate.attr.type.COMPOSITE_TABLE=Table + +sebserver.configtemplate.attrs.list.title=Configuration Attributes +sebserver.configtemplate.attrs.list.name=Name +sebserver.configtemplate.attrs.list.view=View +sebserver.configtemplate.attrs.list.group=Group +sebserver.configtemplate.attrs.list.type=Type + +sebserver.configtemplate.attr.list.actions= +sebserver.configtemplate.attr.list.actions.modify=Edit Attribute +sebserver.configtemplate.attr.list.actions.setdefault=Set Default Values +sebserver.configtemplate.attr.list.actions.removeview=Remove From View +sebserver.configtemplate.attr.list.actions.attach-default-view=Attach To View +sebserver.configtemplate.attr.info.pleaseSelect=Please select first an Attribute from the list + +sebserver.configtemplate.attr.form.title=Template Attribute +sebserver.configtemplate.attr.form.name=Name +sebserver.configtemplate.attr.form.type=Type +sebserver.configtemplate.attr.form.view=View +sebserver.configtemplate.attr.form.group=Group +sebserver.configtemplate.attr.form.value=Template Attribute Value + +sebserver.configtemplate.attr.action.setdefault=Set Default Values +sebserver.configtemplate.attr.action.template=View Template + + +################################ +# Monitoring +################################ + +sebserver.monitoring.action.list=Running Exams +sebserver.monitoring.exam.list.title=Running Exams +sebserver.monitoring.exam.list.actions= +sebserver.monitoring.exam.action.detail.view=Back To Monitoring +sebserver.monitoring.exam.action.list.view=Monitoring + + +sebserver.monitoring.exam.info.pleaseSelect=Please select first an Exam from the list +sebserver.monitoring.exam.list.empty=There are currently no running exams + +sebserver.monitoring.exam.list.column.name=Name +sebserver.monitoring.exam.list.column.type=Type +sebserver.monitoring.exam.list.column.startTime=Start Time {0} +sebserver.monitoring.exam.list.column.endTime=End Time {0} + +sebserver.monitoring.exam=Monitoring Exam: {0} + +sebserver.monitoring.connection.list.column.id=Client Identifier +sebserver.monitoring.connection.list.column.address=IP Address +sebserver.monitoring.connection.list.column.status=Status +sebserver.monitoring.connection.list.column.examname=Exam +sebserver.monitoring.connection.list.column.vdiAddress=IP Address (VDI) + +sebserver.monitoring.exam.connection.emptySelection=Please select first a Connection from the list +sebserver.monitoring.exam.connection.emptySelection.active=Please select first an active Connection from the list +sebserver.monitoring.exam.connection.title=SEB Client Connection +sebserver.monitoring.exam.connection.list.actions= +sebserver.monitoring.exam.connection.action.view=View Details +sebserver.monitoring.exam.connection.action.instruction.quit=Send SEB Quit +sebserver.monitoring.exam.connection.action.instruction.quit.all=Send SEB Quit +sebserver.monitoring.exam.connection.action.instruction.quit.confirm=Are you sure to quit this SEB client connection? +sebserver.monitoring.exam.connection.action.instruction.quit.selected.confirm=Are you sure to quit all selected, active SEB client connections? +sebserver.monitoring.exam.connection.action.instruction.quit.all.confirm=Are you sure to quit all active SEB client connections? +sebserver.monitoring.exam.connection.action.instruction.disable.selected.confirm=Are you sure to disable all selected SEB client connections? +sebserver.monitoring.exam.connection.action.instruction.disable.all.confirm=Are you sure to disable all active SEB client connections? +sebserver.monitoring.exam.connection.action.disable=Mark As Disabled +sebserver.monitoring.exam.connection.action.hide.requested=Hide Requested +sebserver.monitoring.exam.connection.action.show.requested=Show Requested +sebserver.monitoring.exam.connection.action.hide.closed=Hide Closed +sebserver.monitoring.exam.connection.action.show.closed=Show Closed +sebserver.monitoring.exam.connection.action.hide.disabled=Hide Disabled +sebserver.monitoring.exam.connection.action.show.disabled=Show Disabled +sebserver.monitoring.exam.connection.action.hide.undefined=Hide Undefined +sebserver.monitoring.exam.connection.action.show.undefined=Show Undefined + +sebserver.monitoring.exam.connection.eventlist.title=Events +sebserver.monitoring.exam.connection.eventlist.empty=No event found +sebserver.monitoring.exam.connection.eventlist.type=Event Type +sebserver.monitoring.exam.connection.eventlist.clienttime=Client Time {0} +sebserver.monitoring.exam.connection.eventlist.servertime=Server Time {0} +sebserver.monitoring.exam.connection.eventlist.value=Value +sebserver.monitoring.exam.connection.eventlist.text=Text + +sebserver.monitoring.exam.connection.event.type.UNKNOWN=Unknown +sebserver.monitoring.exam.connection.event.type.DEBUG_LOG=Debug +sebserver.monitoring.exam.connection.event.type.INFO_LOG=Info +sebserver.monitoring.exam.connection.event.type.WARN_LOG=Warn +sebserver.monitoring.exam.connection.event.type.ERROR_LOG=Error +sebserver.monitoring.exam.connection.event.type.LAST_PING=Last Ping + +sebserver.monitoring.exam.connection.status.UNDEFINED=Undefined +sebserver.monitoring.exam.connection.status.CONNECTION_REQUESTED=Connection Requested +sebserver.monitoring.exam.connection.status.AUTHENTICATED=Authenticated +sebserver.monitoring.exam.connection.status.ACTIVE=Active +sebserver.monitoring.exam.connection.status.CLOSED=Closed +sebserver.monitoring.exam.connection.status.ABORTED=Aborted +sebserver.monitoring.exam.connection.status.DISABLED=Disabled + +################################ +# Logs +################################ + +sebserver.logs.activity.main=Logs +sebserver.logs.activity.userlogs=User Logs +sebserver.logs.activity.userlogs.details=Show Details +sebserver.logs.activity.seblogs=SEB Client Logs +sebserver.logs.activity.seblogs.details=Show Details + +sebserver.userlogs.list.title=User Activity Logs +sebserver.userlogs.list.column.institution=Institution +sebserver.userlogs.list.column.user=User +sebserver.userlogs.list.column.dateTime=Date {0} +sebserver.userlogs.list.column.activityType=User Activity +sebserver.userlogs.list.column.entityType=Entity Type +sebserver.userlogs.list.column.entityId=Entity-ID +sebserver.userlogs.list.column.message=Message + +sebserver.userlogs.details.title=User Activity Log Details +sebserver.userlogs.info.pleaseSelect=Please select first a User Log from the list +sebserver.userlogs.list.actions= +sebserver.userlogs.list.empty=No User activity logs has been found. Please adapt or clear the filter + + +sebserver.seblogs.list.title=SEB Client Logs +sebserver.seblogs.list.actions= +sebserver.seblogs.list.empty=No SEB client logs has been found. Please adapt or clear the filter + +sebserver.seblogs.info.pleaseSelect=Please select first a SEB Client Log from the list +sebserver.seblogs.list.column.institution=Institution +sebserver.seblogs.list.column.exam=Exam +sebserver.seblogs.list.column.client-session=User Session-ID +sebserver.seblogs.list.column.type=Event Type +sebserver.seblogs.list.column.time=Event Time {0} +sebserver.seblogs.list.column.value=Value + +sebserver.seblogs.details.title=SEB Client Log Details +sebserver.seblogs.details.event.title=Event +sebserver.seblogs.details.connection.title=SEB Connection Details +sebserver.seblogs.details.exam.title=Exam Details +sebserver.seblogs.details.dateTime=Date + +sebserver.seblogs.form.column.client-session=Session-ID +sebserver.seblogs.form.column.type=Event Type +sebserver.seblogs.form.column.server-time=Server Time +sebserver.seblogs.form.column.client-time=SEB Client Time +sebserver.seblogs.form.column.value=Value +sebserver.seblogs.form.column.message=Message + +sebserver.seblogs.form.column.connection.session-id=User Session-ID +sebserver.seblogs.form.column.connection.address=SEB Client Address +sebserver.seblogs.form.column.connection.token=SEB Connection Token +sebserver.seblogs.form.column.connection.status=Connection Status + +sebserver.seblogs.form.column.exam.name=Name +sebserver.seblogs.form.column.exam.description=Description +sebserver.seblogs.form.column.exam.type=Type +sebserver.seblogs.form.column.exam.startTime=Start Time sebserver.seblogs.form.column.exam.endTime=End Time \ No newline at end of file