diff --git a/.env b/.env
index 81b9303..9af8f29 100644
--- a/.env
+++ b/.env
@@ -2,8 +2,5 @@ REACT_APP_COMPILER_URL=https://compiler.sensebox.de
REACT_APP_BOARD=sensebox-mcu
REACT_APP_BLOCKLY_API=https://api.blockly.sensebox.de
-REACT_APP_MYBADGES=https://mybadges.org
-REACT_APP_MYBADGES_API=https://mybadges.org/api/v1
-
# in days
REACT_APP_SHARE_LINK_EXPIRES=30
diff --git a/package.json b/package.json
index 2a69b37..8428926 100644
--- a/package.json
+++ b/package.json
@@ -38,7 +38,7 @@
},
"scripts": {
"start": "react-scripts start",
- "dev": "set \"REACT_APP_BLOCKLY_API=http://localhost:8080\" && set \"REACT_APP_MYBADGES_API=http://localhost:3001/api/v1\"&& npm start",
+ "dev": "set \"REACT_APP_BLOCKLY_API=http://localhost:8080\" && npm start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
diff --git a/src/actions/authActions.js b/src/actions/authActions.js
index 77e3f4b..04a2265 100644
--- a/src/actions/authActions.js
+++ b/src/actions/authActions.js
@@ -1,290 +1,260 @@
-import { MYBADGES_CONNECT, MYBADGES_DISCONNECT, GET_STATUS, USER_LOADED, USER_LOADING, AUTH_ERROR, LOGIN_SUCCESS, LOGIN_FAIL, LOGOUT_SUCCESS, LOGOUT_FAIL, REFRESH_TOKEN_SUCCESS } from '../actions/types';
+import {
+ GET_STATUS,
+ USER_LOADED,
+ USER_LOADING,
+ AUTH_ERROR,
+ LOGIN_SUCCESS,
+ LOGIN_FAIL,
+ LOGOUT_SUCCESS,
+ LOGOUT_FAIL,
+ REFRESH_TOKEN_SUCCESS,
+} from "../actions/types";
-import axios from 'axios';
-import { returnErrors, returnSuccess } from './messageActions';
-import { setLanguage } from './generalActions';
+import axios from "axios";
+import { returnErrors, returnSuccess } from "./messageActions";
+import { setLanguage } from "./generalActions";
// Check token & load user
export const loadUser = () => (dispatch) => {
// user loading
dispatch({
- type: USER_LOADING
+ type: USER_LOADING,
});
const config = {
- success: res => {
+ success: (res) => {
dispatch({
type: GET_STATUS,
- payload: res.data.user.status
+ payload: res.data.user.status,
});
dispatch(setLanguage(res.data.user.language));
dispatch({
type: USER_LOADED,
- payload: res.data.user
+ payload: res.data.user,
});
},
- error: err => {
- if(err.response){
+ error: (err) => {
+ if (err.response) {
dispatch(returnErrors(err.response.data.message, err.response.status));
}
var status = [];
- if (window.localStorage.getItem('status')) {
- status = JSON.parse(window.localStorage.getItem('status'));
+ if (window.localStorage.getItem("status")) {
+ status = JSON.parse(window.localStorage.getItem("status"));
}
dispatch({
type: GET_STATUS,
- payload: status
+ payload: status,
});
dispatch({
- type: AUTH_ERROR
+ type: AUTH_ERROR,
});
- }
+ },
};
- axios.get(`${process.env.REACT_APP_BLOCKLY_API}/user`, config, dispatch(authInterceptor()))
- .then(res => {
+ axios
+ .get(
+ `${process.env.REACT_APP_BLOCKLY_API}/user`,
+ config,
+ dispatch(authInterceptor())
+ )
+ .then((res) => {
res.config.success(res);
})
- .catch(err => {
+ .catch((err) => {
err.config.error(err);
});
};
-
var logoutTimerId;
-const timeToLogout = 14.9*60*1000; // nearly 15 minutes corresponding to the API
+const timeToLogout = 14.9 * 60 * 1000; // nearly 15 minutes corresponding to the API
// Login user
-export const login = ({ email, password }) => (dispatch) => {
- dispatch({
- type: USER_LOADING
- });
- // Headers
- const config = {
- headers: {
- 'Content-Type': 'application/json'
- }
- };
- // Request Body
- const body = JSON.stringify({ email, password });
- axios.post(`${process.env.REACT_APP_BLOCKLY_API}/user`, body, config)
- .then(res => {
- // Logout automatically if refreshToken "expired"
- const logoutTimer = () => setTimeout(
- () => dispatch(logout()),
- timeToLogout
- );
- logoutTimerId = logoutTimer();
- dispatch(setLanguage(res.data.user.language));
+export const login =
+ ({ email, password }) =>
+ (dispatch) => {
dispatch({
- type: LOGIN_SUCCESS,
- payload: res.data
+ type: USER_LOADING,
});
- dispatch({
- type: GET_STATUS,
- payload: res.data.user.status
- });
- dispatch(returnSuccess(res.data.message, res.status, 'LOGIN_SUCCESS'));
- })
- .catch(err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'LOGIN_FAIL'));
- dispatch({
- type: LOGIN_FAIL
- });
- var status = [];
- if (window.localStorage.getItem('status')) {
- status = JSON.parse(window.localStorage.getItem('status'));
- }
- dispatch({
- type: GET_STATUS,
- payload: status
- });
- });
-};
-
-
-// Connect to MyBadges-Account
-export const connectMyBadges = ({ username, password }) => (dispatch, getState) => {
- const config = {
- success: res => {
- var user = getState().auth.user;
- user.badge = res.data.account;
- user.badges = res.data.badges;
- dispatch({
- type: MYBADGES_CONNECT,
- payload: user
+ // Headers
+ const config = {
+ headers: {
+ "Content-Type": "application/json",
+ },
+ };
+ // Request Body
+ const body = JSON.stringify({ email, password });
+ axios
+ .post(`${process.env.REACT_APP_BLOCKLY_API}/user`, body, config)
+ .then((res) => {
+ // Logout automatically if refreshToken "expired"
+ const logoutTimer = () =>
+ setTimeout(() => dispatch(logout()), timeToLogout);
+ logoutTimerId = logoutTimer();
+ dispatch(setLanguage(res.data.user.language));
+ dispatch({
+ type: LOGIN_SUCCESS,
+ payload: res.data,
+ });
+ dispatch({
+ type: GET_STATUS,
+ payload: res.data.user.status,
+ });
+ dispatch(returnSuccess(res.data.message, res.status, "LOGIN_SUCCESS"));
+ })
+ .catch((err) => {
+ dispatch(
+ returnErrors(
+ err.response.data.message,
+ err.response.status,
+ "LOGIN_FAIL"
+ )
+ );
+ dispatch({
+ type: LOGIN_FAIL,
+ });
+ var status = [];
+ if (window.localStorage.getItem("status")) {
+ status = JSON.parse(window.localStorage.getItem("status"));
+ }
+ dispatch({
+ type: GET_STATUS,
+ payload: status,
+ });
});
- dispatch(returnSuccess(res.data.message, res.status, 'MYBADGES_CONNECT_SUCCESS'));
- },
- error: err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'MYBADGES_CONNECT_FAIL'));
- }
};
- // Request Body
- const body = JSON.stringify({ username, password });
- axios.post(`${process.env.REACT_APP_BLOCKLY_API}/user/badge`, body, config)
- .then(res => {
- res.config.success(res);
- })
- .catch(err => {
- if(err.response && err.response.status !== 401){
- err.config.error(err);
- }
- });
-};
-
-// Disconnect MyBadges-Account
-export const disconnectMyBadges = () => (dispatch, getState) => {
- const config = {
- success: res => {
- var user = getState().auth.user;
- user.badge = null;
- user.badges = null;
- dispatch({
- type: MYBADGES_DISCONNECT,
- payload: user
- });
- dispatch(returnSuccess(res.data.message, res.status, 'MYBADGES_DISCONNECT_SUCCESS'));
- },
- error: err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'MYBADGES_DISCONNECT_FAIL'));
- }
- };
- axios.put(`${process.env.REACT_APP_BLOCKLY_API}/user/badge`, {}, config)
- .then(res => {
- res.config.success(res);
- })
- .catch(err => {
- if(err.response && err.response.status !== 401){
- err.config.error(err);
- }
- });
-};
-
// Logout User
export const logout = () => (dispatch) => {
const config = {
- success: res => {
+ success: (res) => {
dispatch({
- type: LOGOUT_SUCCESS
+ type: LOGOUT_SUCCESS,
});
var status = [];
- if (window.localStorage.getItem('status')) {
- status = JSON.parse(window.localStorage.getItem('status'));
+ if (window.localStorage.getItem("status")) {
+ status = JSON.parse(window.localStorage.getItem("status"));
}
dispatch({
type: GET_STATUS,
- payload: status
+ payload: status,
});
- var locale = 'en_US';
- if (window.localStorage.getItem('locale')) {
- locale = window.localStorage.getItem('locale');
- }
- else if (navigator.language === 'de-DE'){
- locale = 'de_DE';
+ var locale = "en_US";
+ if (window.localStorage.getItem("locale")) {
+ locale = window.localStorage.getItem("locale");
+ } else if (navigator.language === "de-DE") {
+ locale = "de_DE";
}
dispatch(setLanguage(locale));
- dispatch(returnSuccess(res.data.message, res.status, 'LOGOUT_SUCCESS'));
+ dispatch(returnSuccess(res.data.message, res.status, "LOGOUT_SUCCESS"));
clearTimeout(logoutTimerId);
},
- error: err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'LOGOUT_FAIL'));
+ error: (err) => {
+ dispatch(
+ returnErrors(
+ err.response.data.message,
+ err.response.status,
+ "LOGOUT_FAIL"
+ )
+ );
dispatch({
- type: LOGOUT_FAIL
+ type: LOGOUT_FAIL,
});
var status = [];
- if (window.localStorage.getItem('status')) {
- status = JSON.parse(window.localStorage.getItem('status'));
+ if (window.localStorage.getItem("status")) {
+ status = JSON.parse(window.localStorage.getItem("status"));
}
dispatch({
type: GET_STATUS,
- payload: status
+ payload: status,
});
clearTimeout(logoutTimerId);
- }
+ },
};
- axios.post('https://api.opensensemap.org/users/sign-out', {}, config)
- .then(res => {
- res.config.success(res);
- })
- .catch(err => {
- if(err.response && err.response.status !== 401){
- err.config.error(err);
- }
- });
+ axios
+ .post("https://api.opensensemap.org/users/sign-out", {}, config)
+ .then((res) => {
+ res.config.success(res);
+ })
+ .catch((err) => {
+ if (err.response && err.response.status !== 401) {
+ err.config.error(err);
+ }
+ });
};
-
export const authInterceptor = () => (dispatch, getState) => {
// Add a request interceptor
axios.interceptors.request.use(
- config => {
- config.headers['Content-Type'] = 'application/json';
+ (config) => {
+ config.headers["Content-Type"] = "application/json";
const token = getState().auth.token;
if (token) {
- config.headers['Authorization'] = `Bearer ${token}`;
+ config.headers["Authorization"] = `Bearer ${token}`;
}
return config;
- },
- error => {
- Promise.reject(error);
- }
+ },
+ (error) => {
+ Promise.reject(error);
+ }
);
// Add a response interceptor
axios.interceptors.response.use(
- response => {
+ (response) => {
// request was successfull
return response;
},
- error => {
+ (error) => {
const originalRequest = error.config;
const refreshToken = getState().auth.refreshToken;
- if(refreshToken){
+ if (refreshToken) {
// try to refresh the token failed
if (error.response.status === 401 && originalRequest._retry) {
- // router.push('/login');
- return Promise.reject(error);
+ // router.push('/login');
+ return Promise.reject(error);
}
// token was not valid and 1st try to refresh the token
if (error.response.status === 401 && !originalRequest._retry) {
originalRequest._retry = true;
const refreshToken = getState().auth.refreshToken;
// request to refresh the token, in request-body is the refreshToken
- axios.post('https://api.opensensemap.org/users/refresh-auth', {"token": refreshToken})
- .then(res => {
- if (res.status === 200) {
- clearTimeout(logoutTimerId);
- const logoutTimer = () => setTimeout(
- () => dispatch(logout()),
- timeToLogout
- );
- logoutTimerId = logoutTimer();
- dispatch({
- type: REFRESH_TOKEN_SUCCESS,
- payload: res.data
- });
- axios.defaults.headers.common['Authorization'] = 'Bearer ' + getState().auth.token;
- // request was successfull, new request with the old parameters and the refreshed token
- return axios(originalRequest)
- .then(res => {
- originalRequest.success(res);
- })
- .catch(err => {
- originalRequest.error(err);
- });
- }
- return Promise.reject(error);
- })
- .catch(err => {
- // request failed, token could not be refreshed
- if(err.response){
- dispatch(returnErrors(err.response.data.message, err.response.status));
- }
- dispatch({
- type: AUTH_ERROR
- });
- return Promise.reject(error);
- });
+ axios
+ .post("https://api.opensensemap.org/users/refresh-auth", {
+ token: refreshToken,
+ })
+ .then((res) => {
+ if (res.status === 200) {
+ clearTimeout(logoutTimerId);
+ const logoutTimer = () =>
+ setTimeout(() => dispatch(logout()), timeToLogout);
+ logoutTimerId = logoutTimer();
+ dispatch({
+ type: REFRESH_TOKEN_SUCCESS,
+ payload: res.data,
+ });
+ axios.defaults.headers.common["Authorization"] =
+ "Bearer " + getState().auth.token;
+ // request was successfull, new request with the old parameters and the refreshed token
+ return axios(originalRequest)
+ .then((res) => {
+ originalRequest.success(res);
+ })
+ .catch((err) => {
+ originalRequest.error(err);
+ });
+ }
+ return Promise.reject(error);
+ })
+ .catch((err) => {
+ // request failed, token could not be refreshed
+ if (err.response) {
+ dispatch(
+ returnErrors(err.response.data.message, err.response.status)
+ );
+ }
+ dispatch({
+ type: AUTH_ERROR,
+ });
+ return Promise.reject(error);
+ });
}
}
// request status was unequal to 401, no possibility to refresh the token
diff --git a/src/actions/tutorialActions.js b/src/actions/tutorialActions.js
index 0254205..372697a 100644
--- a/src/actions/tutorialActions.js
+++ b/src/actions/tutorialActions.js
@@ -1,107 +1,105 @@
-import { MYBADGES_DISCONNECT, TUTORIAL_PROGRESS, GET_TUTORIAL, GET_TUTORIALS, TUTORIAL_SUCCESS, TUTORIAL_ERROR, TUTORIAL_CHANGE, TUTORIAL_XML, TUTORIAL_STEP } from './types';
+import {
+ TUTORIAL_PROGRESS,
+ GET_TUTORIAL,
+ GET_TUTORIALS,
+ TUTORIAL_SUCCESS,
+ TUTORIAL_ERROR,
+ TUTORIAL_CHANGE,
+ TUTORIAL_XML,
+ TUTORIAL_STEP,
+} from "./types";
-import axios from 'axios';
-import { returnErrors, returnSuccess } from './messageActions';
+import axios from "axios";
+import { returnErrors, returnSuccess } from "./messageActions";
export const tutorialProgress = () => (dispatch) => {
- dispatch({type: TUTORIAL_PROGRESS});
+ dispatch({ type: TUTORIAL_PROGRESS });
};
-
export const getTutorial = (id) => (dispatch, getState) => {
- axios.get(`${process.env.REACT_APP_BLOCKLY_API}/tutorial/${id}`)
- .then(res => {
+ axios
+ .get(`${process.env.REACT_APP_BLOCKLY_API}/tutorial/${id}`)
+ .then((res) => {
var tutorial = res.data.tutorial;
- existingTutorial(tutorial, getState().tutorial.status).then(status => {
+ existingTutorial(tutorial, getState().tutorial.status).then((status) => {
dispatch({
type: TUTORIAL_SUCCESS,
- payload: status
+ payload: status,
});
dispatch(updateStatus(status));
dispatch({
type: GET_TUTORIAL,
- payload: tutorial
+ payload: tutorial,
});
- dispatch({type: TUTORIAL_PROGRESS});
+ dispatch({ type: TUTORIAL_PROGRESS });
dispatch(returnSuccess(res.data.message, res.status));
});
})
- .catch(err => {
+ .catch((err) => {
if (err.response) {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'GET_TUTORIAL_FAIL'));
+ dispatch(
+ returnErrors(
+ err.response.data.message,
+ err.response.status,
+ "GET_TUTORIAL_FAIL"
+ )
+ );
}
dispatch({ type: TUTORIAL_PROGRESS });
});
};
export const getTutorials = () => (dispatch, getState) => {
- axios.get(`${process.env.REACT_APP_BLOCKLY_API}/tutorial`)
- .then(res => {
+ axios
+ .get(`${process.env.REACT_APP_BLOCKLY_API}/tutorial`)
+ .then((res) => {
var tutorials = res.data.tutorials;
- existingTutorials(tutorials, getState().tutorial.status).then(status => {
- dispatch({
- type: TUTORIAL_SUCCESS,
- payload: status
- });
- dispatch(updateStatus(status));
- dispatch({
- type: GET_TUTORIALS,
- payload: tutorials
- });
- dispatch({ type: TUTORIAL_PROGRESS });
- dispatch(returnSuccess(res.data.message, res.status));
- });
+ existingTutorials(tutorials, getState().tutorial.status).then(
+ (status) => {
+ dispatch({
+ type: TUTORIAL_SUCCESS,
+ payload: status,
+ });
+ dispatch(updateStatus(status));
+ dispatch({
+ type: GET_TUTORIALS,
+ payload: tutorials,
+ });
+ dispatch({ type: TUTORIAL_PROGRESS });
+ dispatch(returnSuccess(res.data.message, res.status));
+ }
+ );
})
- .catch(err => {
+ .catch((err) => {
if (err.response) {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'GET_TUTORIALS_FAIL'));
+ dispatch(
+ returnErrors(
+ err.response.data.message,
+ err.response.status,
+ "GET_TUTORIALS_FAIL"
+ )
+ );
}
dispatch({ type: TUTORIAL_PROGRESS });
});
};
-export const assigneBadge = (id) => (dispatch, getState) => {
- const config = {
- success: res => {
- var badge = res.data.badge;
- var user = getState().auth.user;
- user.badges.push(badge._id);
- dispatch({
- type: MYBADGES_DISCONNECT,
- payload: user
- });
- dispatch(returnSuccess(badge, res.status, 'ASSIGNE_BADGE_SUCCESS'));
- },
- error: err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'ASSIGNE_BADGE_FAIL'));
- }
- };
- axios.put(`${process.env.REACT_APP_BLOCKLY_API}/user/badge/${id}`, {}, config)
- .then(res => {
- res.config.success(res);
- })
- .catch(err => {
- if(err.response && err.response.status !== 401){
- err.config.error(err);
- }
- });
-};
-
export const updateStatus = (status) => (dispatch, getState) => {
- if(getState().auth.isAuthenticated){
+ if (getState().auth.isAuthenticated) {
// update user account in database - sync with redux store
- axios.put(`${process.env.REACT_APP_BLOCKLY_API}/user/status`, {status: status})
- .then(res => {
- // dispatch(returnSuccess(badge, res.status, 'UPDATE_STATUS_SUCCESS'));
+ axios
+ .put(`${process.env.REACT_APP_BLOCKLY_API}/user/status`, {
+ status: status,
})
- .catch(err => {
- if(err.response){
+ .then((res) => {})
+ .catch((err) => {
+ if (err.response) {
// dispatch(returnErrors(err.response.data.message, err.response.status, 'UPDATE_STATUS_FAIL'));
}
});
} else {
// update locale storage - sync with redux store
- window.localStorage.setItem('status', JSON.stringify(status));
+ window.localStorage.setItem("status", JSON.stringify(status));
}
};
@@ -109,65 +107,77 @@ export const deleteTutorial = (id) => (dispatch, getState) => {
var tutorial = getState().tutorial;
var id = getState().builder.id;
const config = {
- success: res => {
+ success: (res) => {
var tutorials = tutorial.tutorials;
- var index = tutorials.findIndex(res => res._id === id);
- tutorials.splice(index, 1)
+ var index = tutorials.findIndex((res) => res._id === id);
+ tutorials.splice(index, 1);
dispatch({
type: GET_TUTORIALS,
- payload: tutorials
+ payload: tutorials,
});
- dispatch(returnSuccess(res.data.message, res.status, 'TUTORIAL_DELETE_SUCCESS'));
+ dispatch(
+ returnSuccess(res.data.message, res.status, "TUTORIAL_DELETE_SUCCESS")
+ );
+ },
+ error: (err) => {
+ dispatch(
+ returnErrors(
+ err.response.data.message,
+ err.response.status,
+ "TUTORIAL_DELETE_FAIL"
+ )
+ );
},
- error: err => {
- dispatch(returnErrors(err.response.data.message, err.response.status, 'TUTORIAL_DELETE_FAIL'));
- }
};
- axios.delete(`${process.env.REACT_APP_BLOCKLY_API}/tutorial/${id}`, config)
- .then(res => {
+ axios
+ .delete(`${process.env.REACT_APP_BLOCKLY_API}/tutorial/${id}`, config)
+ .then((res) => {
res.config.success(res);
})
- .catch(err => {
- if(err.response && err.response.status !== 401){
+ .catch((err) => {
+ if (err.response && err.response.status !== 401) {
err.config.error(err);
}
});
};
-
export const resetTutorial = () => (dispatch) => {
dispatch({
type: GET_TUTORIALS,
- payload: []
+ payload: [],
});
dispatch({
type: TUTORIAL_STEP,
- payload: 0
+ payload: 0,
});
};
export const tutorialChange = () => (dispatch) => {
dispatch({
- type: TUTORIAL_CHANGE
+ type: TUTORIAL_CHANGE,
});
};
export const tutorialCheck = (status, step) => (dispatch, getState) => {
var tutorialsStatus = getState().tutorial.status;
var id = getState().tutorial.tutorials[0]._id;
- var tutorialsStatusIndex = tutorialsStatus.findIndex(tutorialStatus => tutorialStatus._id === id);
- var tasksIndex = tutorialsStatus[tutorialsStatusIndex].tasks.findIndex(task => task._id === step._id);
+ var tutorialsStatusIndex = tutorialsStatus.findIndex(
+ (tutorialStatus) => tutorialStatus._id === id
+ );
+ var tasksIndex = tutorialsStatus[tutorialsStatusIndex].tasks.findIndex(
+ (task) => task._id === step._id
+ );
tutorialsStatus[tutorialsStatusIndex].tasks[tasksIndex] = {
...tutorialsStatus[tutorialsStatusIndex].tasks[tasksIndex],
- type: status
+ type: status,
};
dispatch({
- type: status === 'success' ? TUTORIAL_SUCCESS : TUTORIAL_ERROR,
- payload: tutorialsStatus
+ type: status === "success" ? TUTORIAL_SUCCESS : TUTORIAL_ERROR,
+ payload: tutorialsStatus,
});
dispatch(updateStatus(tutorialsStatus));
dispatch(tutorialChange());
- dispatch(returnSuccess('', '', 'TUTORIAL_CHECK_SUCCESS'));
+ dispatch(returnSuccess("", "", "TUTORIAL_CHECK_SUCCESS"));
};
export const storeTutorialXml = (code) => (dispatch, getState) => {
@@ -176,17 +186,21 @@ export const storeTutorialXml = (code) => (dispatch, getState) => {
var id = tutorial._id;
var activeStep = getState().tutorial.activeStep;
var steps = tutorial.steps;
- if (steps && steps[activeStep].type === 'task') {
+ if (steps && steps[activeStep].type === "task") {
var tutorialsStatus = getState().tutorial.status;
- var tutorialsStatusIndex = tutorialsStatus.findIndex(tutorialStatus => tutorialStatus._id === id);
- var tasksIndex = tutorialsStatus[tutorialsStatusIndex].tasks.findIndex(task => task._id === steps[activeStep]._id);
+ var tutorialsStatusIndex = tutorialsStatus.findIndex(
+ (tutorialStatus) => tutorialStatus._id === id
+ );
+ var tasksIndex = tutorialsStatus[tutorialsStatusIndex].tasks.findIndex(
+ (task) => task._id === steps[activeStep]._id
+ );
tutorialsStatus[tutorialsStatusIndex].tasks[tasksIndex] = {
...tutorialsStatus[tutorialsStatusIndex].tasks[tasksIndex],
- xml: code
+ xml: code,
};
dispatch({
type: TUTORIAL_XML,
- payload: tutorialsStatus
+ payload: tutorialsStatus,
});
dispatch(updateStatus(tutorialsStatus));
}
@@ -196,50 +210,65 @@ export const storeTutorialXml = (code) => (dispatch, getState) => {
export const tutorialStep = (step) => (dispatch) => {
dispatch({
type: TUTORIAL_STEP,
- payload: step
+ payload: step,
});
};
-
-const existingTutorials = (tutorials, status) => new Promise(function (resolve, reject) {
- var newstatus;
+const existingTutorials = (tutorials, status) =>
new Promise(function (resolve, reject) {
- var existingTutorialIds = tutorials.map((tutorial, i) => {
- existingTutorial(tutorial, status).then(status => {
- newstatus = status;
+ var newstatus;
+ new Promise(function (resolve, reject) {
+ var existingTutorialIds = tutorials.map((tutorial, i) => {
+ existingTutorial(tutorial, status).then((status) => {
+ newstatus = status;
+ });
+ return tutorial._id;
});
- return tutorial._id;
+ resolve(existingTutorialIds);
+ }).then((existingTutorialIds) => {
+ // deleting old tutorials which do not longer exist
+ if (existingTutorialIds.length > 0) {
+ status = newstatus.filter(
+ (status) => existingTutorialIds.indexOf(status._id) > -1
+ );
+ }
+ resolve(status);
});
- resolve(existingTutorialIds)
- }).then(existingTutorialIds => {
- // deleting old tutorials which do not longer exist
- if (existingTutorialIds.length > 0) {
- status = newstatus.filter(status => existingTutorialIds.indexOf(status._id) > -1);
+ });
+
+const existingTutorial = (tutorial, status) =>
+ new Promise(function (resolve, reject) {
+ var tutorialsId = tutorial._id;
+ var statusIndex = status.findIndex((status) => status._id === tutorialsId);
+ if (statusIndex > -1) {
+ var tasks = tutorial.steps.filter((step) => step.type === "task");
+ var existingTaskIds = tasks.map((task, j) => {
+ var tasksId = task._id;
+ if (
+ status[statusIndex].tasks.findIndex(
+ (task) => task._id === tasksId
+ ) === -1
+ ) {
+ // task does not exist
+ status[statusIndex].tasks.push({ _id: tasksId });
+ }
+ return tasksId;
+ });
+ // deleting old tasks which do not longer exist
+ if (existingTaskIds.length > 0) {
+ status[statusIndex].tasks = status[statusIndex].tasks.filter(
+ (task) => existingTaskIds.indexOf(task._id) > -1
+ );
+ }
+ } else {
+ status.push({
+ _id: tutorialsId,
+ tasks: tutorial.steps
+ .filter((step) => step.type === "task")
+ .map((task) => {
+ return { _id: task._id };
+ }),
+ });
}
resolve(status);
});
-});
-
-const existingTutorial = (tutorial, status) => new Promise(function(resolve, reject){
- var tutorialsId = tutorial._id;
- var statusIndex = status.findIndex(status => status._id === tutorialsId);
- if (statusIndex > -1) {
- var tasks = tutorial.steps.filter(step => step.type === 'task');
- var existingTaskIds = tasks.map((task, j) => {
- var tasksId = task._id;
- if (status[statusIndex].tasks.findIndex(task => task._id === tasksId) === -1) {
- // task does not exist
- status[statusIndex].tasks.push({ _id: tasksId });
- }
- return tasksId;
- });
- // deleting old tasks which do not longer exist
- if (existingTaskIds.length > 0) {
- status[statusIndex].tasks = status[statusIndex].tasks.filter(task => existingTaskIds.indexOf(task._id) > -1);
- }
- }
- else {
- status.push({ _id: tutorialsId, tasks: tutorial.steps.filter(step => step.type === 'task').map(task => { return { _id: task._id }; }) });
- }
- resolve(status);
-});
diff --git a/src/actions/tutorialBuilderActions.js b/src/actions/tutorialBuilderActions.js
index 25f27b0..72d7f3e 100644
--- a/src/actions/tutorialBuilderActions.js
+++ b/src/actions/tutorialBuilderActions.js
@@ -1,24 +1,36 @@
-import { PROGRESS, JSON_STRING, BUILDER_CHANGE, BUILDER_ERROR, BUILDER_TITLE, BUILDER_ID, BUILDER_BADGE, BUILDER_ADD_STEP, BUILDER_DELETE_STEP, BUILDER_CHANGE_STEP, BUILDER_CHANGE_ORDER, BUILDER_DELETE_PROPERTY } from './types';
+import {
+ PROGRESS,
+ JSON_STRING,
+ BUILDER_CHANGE,
+ BUILDER_ERROR,
+ BUILDER_TITLE,
+ BUILDER_ID,
+ BUILDER_ADD_STEP,
+ BUILDER_DELETE_STEP,
+ BUILDER_CHANGE_STEP,
+ BUILDER_CHANGE_ORDER,
+ BUILDER_DELETE_PROPERTY,
+} from "./types";
-import data from '../data/hardware.json';
+import data from "../data/hardware.json";
export const changeTutorialBuilder = () => (dispatch) => {
dispatch({
- type: BUILDER_CHANGE
+ type: BUILDER_CHANGE,
});
};
export const jsonString = (json) => (dispatch) => {
dispatch({
type: JSON_STRING,
- payload: json
+ payload: json,
});
};
export const tutorialTitle = (title) => (dispatch) => {
dispatch({
type: BUILDER_TITLE,
- payload: title
+ payload: title,
});
dispatch(changeTutorialBuilder());
};
@@ -26,7 +38,7 @@ export const tutorialTitle = (title) => (dispatch) => {
export const tutorialSteps = (steps) => (dispatch) => {
dispatch({
type: BUILDER_ADD_STEP,
- payload: steps
+ payload: steps,
});
dispatch(changeTutorialBuilder());
};
@@ -34,15 +46,7 @@ export const tutorialSteps = (steps) => (dispatch) => {
export const tutorialId = (id) => (dispatch) => {
dispatch({
type: BUILDER_ID,
- payload: id
- });
- dispatch(changeTutorialBuilder());
-};
-
-export const tutorialBadge = (badge) => (dispatch) => {
- dispatch({
- type: BUILDER_BADGE,
- payload: badge
+ payload: id,
});
dispatch(changeTutorialBuilder());
};
@@ -51,14 +55,14 @@ export const addStep = (index) => (dispatch, getState) => {
var steps = getState().builder.steps;
var step = {
id: index + 1,
- type: 'instruction',
- headline: '',
- text: ''
+ type: "instruction",
+ headline: "",
+ text: "",
};
steps.splice(index, 0, step);
dispatch({
type: BUILDER_ADD_STEP,
- payload: steps
+ payload: steps,
});
dispatch(addErrorStep(index));
dispatch(changeTutorialBuilder());
@@ -69,7 +73,7 @@ export const addErrorStep = (index) => (dispatch, getState) => {
error.steps.splice(index, 0, {});
dispatch({
type: BUILDER_ERROR,
- payload: error
+ payload: error,
});
};
@@ -78,7 +82,7 @@ export const removeStep = (index) => (dispatch, getState) => {
steps.splice(index, 1);
dispatch({
type: BUILDER_DELETE_STEP,
- payload: steps
+ payload: steps,
});
dispatch(removeErrorStep(index));
dispatch(changeTutorialBuilder());
@@ -89,45 +93,47 @@ export const removeErrorStep = (index) => (dispatch, getState) => {
error.steps.splice(index, 1);
dispatch({
type: BUILDER_ERROR,
- payload: error
+ payload: error,
});
};
-export const changeContent = (content, index, property1, property2) => (dispatch, getState) => {
- var steps = getState().builder.steps;
- var step = steps[index];
- if (property2) {
- if (step[property1] && step[property1][property2]) {
- step[property1][property2] = content;
+export const changeContent =
+ (content, index, property1, property2) => (dispatch, getState) => {
+ var steps = getState().builder.steps;
+ var step = steps[index];
+ if (property2) {
+ if (step[property1] && step[property1][property2]) {
+ step[property1][property2] = content;
+ } else {
+ step[property1] = { [property2]: content };
+ }
} else {
- step[property1] = { [property2]: content };
+ step[property1] = content;
}
- } else {
- step[property1] = content;
- }
- dispatch({
- type: BUILDER_CHANGE_STEP,
- payload: steps
- });
- dispatch(changeTutorialBuilder());
-};
+ dispatch({
+ type: BUILDER_CHANGE_STEP,
+ payload: steps,
+ });
+ dispatch(changeTutorialBuilder());
+ };
-export const deleteProperty = (index, property1, property2) => (dispatch, getState) => {
- var steps = getState().builder.steps;
- var step = steps[index];
- if (property2) {
- if (step[property1] && step[property1][property2]) {
- delete step[property1][property2];
+export const deleteProperty =
+ (index, property1, property2) => (dispatch, getState) => {
+ var steps = getState().builder.steps;
+ var step = steps[index];
+ if (property2) {
+ if (step[property1] && step[property1][property2]) {
+ delete step[property1][property2];
+ }
+ } else {
+ delete step[property1];
}
- } else {
- delete step[property1];
- }
- dispatch({
- type: BUILDER_DELETE_PROPERTY,
- payload: steps
- });
- dispatch(changeTutorialBuilder());
-};
+ dispatch({
+ type: BUILDER_DELETE_PROPERTY,
+ payload: steps,
+ });
+ dispatch(changeTutorialBuilder());
+ };
export const changeStepIndex = (fromIndex, toIndex) => (dispatch, getState) => {
var steps = getState().builder.steps;
@@ -136,34 +142,34 @@ export const changeStepIndex = (fromIndex, toIndex) => (dispatch, getState) => {
steps.splice(toIndex, 0, step);
dispatch({
type: BUILDER_CHANGE_ORDER,
- payload: steps
+ payload: steps,
});
dispatch(changeErrorStepIndex(fromIndex, toIndex));
dispatch(changeTutorialBuilder());
};
-export const changeErrorStepIndex = (fromIndex, toIndex) => (dispatch, getState) => {
- var error = getState().builder.error;
- var errorStep = error.steps[fromIndex];
- error.steps.splice(fromIndex, 1);
- error.steps.splice(toIndex, 0, errorStep);
- dispatch({
- type: BUILDER_ERROR,
- payload: error
- });
-};
+export const changeErrorStepIndex =
+ (fromIndex, toIndex) => (dispatch, getState) => {
+ var error = getState().builder.error;
+ var errorStep = error.steps[fromIndex];
+ error.steps.splice(fromIndex, 1);
+ error.steps.splice(toIndex, 0, errorStep);
+ dispatch({
+ type: BUILDER_ERROR,
+ payload: error,
+ });
+ };
export const setError = (index, property) => (dispatch, getState) => {
var error = getState().builder.error;
if (index !== undefined) {
error.steps[index][property] = true;
- }
- else {
+ } else {
error[property] = true;
}
dispatch({
type: BUILDER_ERROR,
- payload: error
+ payload: error,
});
dispatch(changeTutorialBuilder());
};
@@ -172,13 +178,12 @@ export const deleteError = (index, property) => (dispatch, getState) => {
var error = getState().builder.error;
if (index !== undefined) {
delete error.steps[index][property];
- }
- else {
+ } else {
delete error[property];
}
dispatch({
type: BUILDER_ERROR,
- payload: error
+ payload: error,
});
dispatch(changeTutorialBuilder());
};
@@ -188,11 +193,11 @@ export const setSubmitError = () => (dispatch, getState) => {
// if(builder.id === undefined || builder.id === ''){
// dispatch(setError(undefined, 'id'));
// }
- if (builder.title === '') {
- dispatch(setError(undefined, 'title'));
+ if (builder.title === "") {
+ dispatch(setError(undefined, "title"));
}
if (builder.title === null) {
- dispatch(setError(undefined, 'badge'));
+ dispatch(setError(undefined, "title"));
}
var type = builder.steps.map((step, i) => {
// media and xml are directly checked for errors in their components and
@@ -200,76 +205,82 @@ export const setSubmitError = () => (dispatch, getState) => {
step.id = i + 1;
if (i === 0) {
if (step.requirements && step.requirements.length > 0) {
- var requirements = step.requirements.filter(requirement => /^[0-9a-fA-F]{24}$/.test(requirement));
+ var requirements = step.requirements.filter((requirement) =>
+ /^[0-9a-fA-F]{24}$/.test(requirement)
+ );
if (requirements.length < step.requirements.length) {
- dispatch(changeContent(requirements, i, 'requirements'));
+ dispatch(changeContent(requirements, i, "requirements"));
}
}
if (step.hardware === undefined || step.hardware.length < 1) {
- dispatch(setError(i, 'hardware'));
- }
- else {
- var hardwareIds = data.map(hardware => hardware.id);
- var hardware = step.hardware.filter(hardware => hardwareIds.includes(hardware));
+ dispatch(setError(i, "hardware"));
+ } else {
+ var hardwareIds = data.map((hardware) => hardware.id);
+ var hardware = step.hardware.filter((hardware) =>
+ hardwareIds.includes(hardware)
+ );
if (hardware.length < step.hardware.length) {
- dispatch(changeContent(hardware, i, 'hardware'));
+ dispatch(changeContent(hardware, i, "hardware"));
}
}
}
- if (step.headline === undefined || step.headline === '') {
- dispatch(setError(i, 'headline'));
+ if (step.headline === undefined || step.headline === "") {
+ dispatch(setError(i, "headline"));
}
- if (step.text === undefined || step.text === '') {
- dispatch(setError(i, 'text'));
+ if (step.text === undefined || step.text === "") {
+ dispatch(setError(i, "text"));
}
return step.type;
});
- if (!(type.filter(item => item === 'task').length > 0 && type.filter(item => item === 'instruction').length > 0)) {
- dispatch(setError(undefined, 'type'));
+ if (
+ !(
+ type.filter((item) => item === "task").length > 0 &&
+ type.filter((item) => item === "instruction").length > 0
+ )
+ ) {
+ dispatch(setError(undefined, "type"));
}
};
-
export const checkError = () => (dispatch, getState) => {
dispatch(setSubmitError());
var error = getState().builder.error;
- if (error.id || error.title || error.badge ||error.type) {
+ if (error.id || error.title || error.type) {
return true;
}
for (var i = 0; i < error.steps.length; i++) {
if (Object.keys(error.steps[i]).length > 0) {
- return true
+ return true;
}
}
return false;
-}
+};
export const progress = (inProgress) => (dispatch) => {
dispatch({
type: PROGRESS,
- payload: inProgress
- })
+ payload: inProgress,
+ });
};
export const resetTutorial = () => (dispatch, getState) => {
- dispatch(jsonString(''));
- dispatch(tutorialTitle(''));
- dispatch(tutorialBadge(undefined));
+ dispatch(jsonString(""));
+ dispatch(tutorialTitle(""));
var steps = [
{
- type: 'instruction',
- headline: '',
- text: '',
+ type: "instruction",
+ headline: "",
+ text: "",
hardware: [],
- requirements: []
- }
+ requirements: [],
+ },
];
dispatch(tutorialSteps(steps));
dispatch({
type: BUILDER_ERROR,
payload: {
- steps: [{}]
- }
+ steps: [{}],
+ },
});
};
@@ -278,8 +289,10 @@ export const readJSON = (json) => (dispatch, getState) => {
dispatch({
type: BUILDER_ERROR,
payload: {
- steps: json.steps.map(() => { return {}; })
- }
+ steps: json.steps.map(() => {
+ return {};
+ }),
+ },
});
// accept only valid attributes
var steps = json.steps.map((step, i) => {
@@ -287,7 +300,7 @@ export const readJSON = (json) => (dispatch, getState) => {
_id: step._id,
type: step.type,
headline: step.headline,
- text: step.text
+ text: step.text,
};
if (i === 0) {
object.hardware = step.hardware;
@@ -296,19 +309,17 @@ export const readJSON = (json) => (dispatch, getState) => {
if (step.xml) {
object.xml = step.xml;
}
- if (step.media && step.type === 'instruction') {
+ if (step.media && step.type === "instruction") {
object.media = {};
if (step.media.picture) {
object.media.picture = step.media.picture;
- }
- else if (step.media.youtube) {
+ } else if (step.media.youtube) {
object.media.youtube = step.media.youtube;
}
}
return object;
});
dispatch(tutorialTitle(json.title));
- dispatch(tutorialBadge(json.badge));
dispatch(tutorialSteps(steps));
dispatch(setSubmitError());
dispatch(progress(false));
diff --git a/src/actions/types.js b/src/actions/types.js
index a5ab516..7b474d6 100644
--- a/src/actions/types.js
+++ b/src/actions/types.js
@@ -1,65 +1,59 @@
// authentication
-export const USER_LOADING = 'USER_LOADING';
-export const USER_LOADED = 'USER_LOADED';
-export const AUTH_ERROR = 'AUTH_ERROR';
-export const LOGIN_SUCCESS = 'LOGIN_SUCCESS';
-export const LOGIN_FAIL = 'LOGIN_FAIL';
-export const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS';
-export const LOGOUT_FAIL = 'LOGOUT_FAIL';
-export const REFRESH_TOKEN_FAIL = 'REFRESH_TOKEN_FAIL';
-export const REFRESH_TOKEN_SUCCESS = 'REFRESH_TOKEN_SUCCESS';
-export const MYBADGES_CONNECT = 'MYBADGES_CONNECT';
-export const MYBADGES_DISCONNECT = 'MYBADGES_DISCONNECT';
+export const USER_LOADING = "USER_LOADING";
+export const USER_LOADED = "USER_LOADED";
+export const AUTH_ERROR = "AUTH_ERROR";
+export const LOGIN_SUCCESS = "LOGIN_SUCCESS";
+export const LOGIN_FAIL = "LOGIN_FAIL";
+export const LOGOUT_SUCCESS = "LOGOUT_SUCCESS";
+export const LOGOUT_FAIL = "LOGOUT_FAIL";
+export const REFRESH_TOKEN_FAIL = "REFRESH_TOKEN_FAIL";
+export const REFRESH_TOKEN_SUCCESS = "REFRESH_TOKEN_SUCCESS";
-export const NEW_CODE = 'NEW_CODE';
-export const CHANGE_WORKSPACE = 'CHANGE_WORKSPACE';
-export const CREATE_BLOCK = 'CREATE_BLOCK';
-export const MOVE_BLOCK = 'MOVE_BLOCK';
-export const CHANGE_BLOCK = 'CHANGE_BLOCK';
-export const DELETE_BLOCK = 'DELETE_BLOCK';
-export const CLEAR_STATS = 'CLEAR_STATS';
-export const NAME = 'NAME';
+export const NEW_CODE = "NEW_CODE";
+export const CHANGE_WORKSPACE = "CHANGE_WORKSPACE";
+export const CREATE_BLOCK = "CREATE_BLOCK";
+export const MOVE_BLOCK = "MOVE_BLOCK";
+export const CHANGE_BLOCK = "CHANGE_BLOCK";
+export const DELETE_BLOCK = "DELETE_BLOCK";
+export const CLEAR_STATS = "CLEAR_STATS";
+export const NAME = "NAME";
-export const TUTORIAL_PROGRESS = 'TUTORIAL_PROGRESS';
-export const GET_TUTORIAL = 'GET_TUTORIAL';
-export const GET_TUTORIALS = 'GET_TUTORIALS';
-export const GET_STATUS = 'GET_STATUS';
-export const TUTORIAL_SUCCESS = 'TUTORIAL_SUCCESS';
-export const TUTORIAL_ERROR = 'TUTORIAL_ERROR';
-export const TUTORIAL_CHANGE = 'TUTORIAL_CHANGE';
-export const TUTORIAL_XML = 'TUTORIAL_XML';
-export const TUTORIAL_ID = 'TUTORIAL_ID';
-export const TUTORIAL_STEP = 'TUTORIAL_STEP';
-export const JSON_STRING = 'JSON_STRING';
+export const TUTORIAL_PROGRESS = "TUTORIAL_PROGRESS";
+export const GET_TUTORIAL = "GET_TUTORIAL";
+export const GET_TUTORIALS = "GET_TUTORIALS";
+export const GET_STATUS = "GET_STATUS";
+export const TUTORIAL_SUCCESS = "TUTORIAL_SUCCESS";
+export const TUTORIAL_ERROR = "TUTORIAL_ERROR";
+export const TUTORIAL_CHANGE = "TUTORIAL_CHANGE";
+export const TUTORIAL_XML = "TUTORIAL_XML";
+export const TUTORIAL_ID = "TUTORIAL_ID";
+export const TUTORIAL_STEP = "TUTORIAL_STEP";
+export const JSON_STRING = "JSON_STRING";
+export const BUILDER_CHANGE = "BUILDER_CHANGE";
+export const BUILDER_TITLE = "BUILDER_TITLE";
+export const BUILDER_ID = "BUILDER_ID";
+export const BUILDER_ADD_STEP = "BUILDER_ADD_STEP";
+export const BUILDER_DELETE_STEP = "BUILDER_DELETE_STEP";
+export const BUILDER_CHANGE_STEP = "BUILDER_CHANGE_STEP";
+export const BUILDER_CHANGE_ORDER = "BUILDER_CHANGE_ORDER";
+export const BUILDER_DELETE_PROPERTY = "BUILDER_DELETE_PROPERTY";
+export const BUILDER_ERROR = "BUILDER_ERROR";
+export const PROGRESS = "PROGRESS";
-export const BUILDER_CHANGE = 'BUILDER_CHANGE';
-export const BUILDER_TITLE = 'BUILDER_TITLE';
-export const BUILDER_BADGE = 'BUILDER_BADGE';
-export const BUILDER_ID = 'BUILDER_ID';
-export const BUILDER_ADD_STEP = 'BUILDER_ADD_STEP';
-export const BUILDER_DELETE_STEP = 'BUILDER_DELETE_STEP';
-export const BUILDER_CHANGE_STEP = 'BUILDER_CHANGE_STEP';
-export const BUILDER_CHANGE_ORDER = 'BUILDER_CHANGE_ORDER';
-export const BUILDER_DELETE_PROPERTY = 'BUILDER_DELETE_PROPERTY';
-export const BUILDER_ERROR = 'BUILDER_ERROR';
-export const PROGRESS = 'PROGRESS';
-
-
-export const VISIT = 'VISIT';
-export const LANGUAGE = 'LANGUAGE';
-export const RENDERER = 'RENDERER';
-export const STATISTICS = 'STATISTICS';
+export const VISIT = "VISIT";
+export const LANGUAGE = "LANGUAGE";
+export const RENDERER = "RENDERER";
+export const STATISTICS = "STATISTICS";
// messages
-export const GET_ERRORS = 'GET_ERRORS';
-export const GET_SUCCESS = 'GET_SUCCESS';
-export const CLEAR_MESSAGES = 'CLEAR_MESSAGES';
-
+export const GET_ERRORS = "GET_ERRORS";
+export const GET_SUCCESS = "GET_SUCCESS";
+export const CLEAR_MESSAGES = "CLEAR_MESSAGES";
// projects: share, gallery, project
-export const PROJECT_PROGRESS = 'PROJECT_PROGRESS';
-export const GET_PROJECT = 'GET_PROJECT';
-export const GET_PROJECTS = 'GET_PROJECTS';
-export const PROJECT_TYPE = 'PROJECT_TYPE';
-export const PROJECT_DESCRIPTION = 'PROJECT_DESCRIPTION';
+export const PROJECT_PROGRESS = "PROJECT_PROGRESS";
+export const GET_PROJECT = "GET_PROJECT";
+export const GET_PROJECTS = "GET_PROJECTS";
+export const PROJECT_TYPE = "PROJECT_TYPE";
+export const PROJECT_DESCRIPTION = "PROJECT_DESCRIPTION";
diff --git a/src/components/Blockly/msg/de/ui.js b/src/components/Blockly/msg/de/ui.js
index 3c8b238..917bb27 100644
--- a/src/components/Blockly/msg/de/ui.js
+++ b/src/components/Blockly/msg/de/ui.js
@@ -172,14 +172,6 @@ export const UI = {
labels_username: "E-Mail oder Nutzername",
labels_password: "Passwort",
- /**
- * Badges
- */
-
- badges_explaination:
- "Eine Übersicht über alle erhaltenen Badges im Kontext Blockly for senseBox findest du ",
- badges_ASSIGNE_BADGE_SUCCESS_01: "Herzlichen Glückwunsch! Du hast den Badge ",
- badges_ASSIGNE_BADGE_SUCCESS_02: " erhalten.",
/**
* Tutorials
*/
@@ -228,7 +220,6 @@ export const UI = {
navbar_menu: "Menü",
navbar_login: "Einloggen",
- navbar_mybadges: "myBadges",
navbar_account: "Konto",
navbar_logout: "Abmelden",
navbar_settings: "Einstellungen",
diff --git a/src/components/Blockly/msg/de_old.js b/src/components/Blockly/msg/de_old.js
index 67cc755..51c65d2 100644
--- a/src/components/Blockly/msg/de_old.js
+++ b/src/components/Blockly/msg/de_old.js
@@ -2,61 +2,87 @@ const Blockly = {};
Blockly.Msg = {};
Blockly.Msg.ADD_COMMENT = "Kommentar hinzufügen";
-Blockly.Msg.AUTH = "Bitte autorisiere diese App zum Aktivieren der Speicherung deiner Arbeit und zum Teilen.";
+Blockly.Msg.AUTH =
+ "Bitte autorisiere diese App zum Aktivieren der Speicherung deiner Arbeit und zum Teilen.";
Blockly.Msg.CHANGE_VALUE_TITLE = "Wert ändern:";
-Blockly.Msg.CHAT = "Chatte mit unserem Mitarbeiter durch Eingeben von Text in diesen Kasten!";
+Blockly.Msg.CHAT =
+ "Chatte mit unserem Mitarbeiter durch Eingeben von Text in diesen Kasten!";
Blockly.Msg.CLEAN_UP = "Blöcke aufräumen";
Blockly.Msg.COLLAPSE_ALL = "Alle Blöcke zusammenfalten";
Blockly.Msg.COLLAPSE_BLOCK = "Block zusammenfalten";
Blockly.Msg.COLOUR_BLEND_COLOUR1 = "Farbe 1";
Blockly.Msg.COLOUR_BLEND_COLOUR2 = "mit Farbe 2";
-Blockly.Msg.COLOUR_BLEND_HELPURL = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg.COLOUR_BLEND_HELPURL =
+ "http://meyerweb.com/eric/tools/color-blend/";
Blockly.Msg.COLOUR_BLEND_RATIO = "im Verhältnis";
Blockly.Msg.COLOUR_BLEND_TITLE = "mische";
-Blockly.Msg.COLOUR_BLEND_TOOLTIP = "Vermische 2 Farben mit konfigurierbaren Farbverhältnis (0.0 - 1.0).";
+Blockly.Msg.COLOUR_BLEND_TOOLTIP =
+ "Vermische 2 Farben mit konfigurierbaren Farbverhältnis (0.0 - 1.0).";
Blockly.Msg.COLOUR_PICKER_HELPURL = "https://de.wikipedia.org/wiki/Farbe";
-Blockly.Msg.COLOUR_PICKER_TOOLTIP = "Wähle eine Farbe aus der Palette. Die Farbe wird automatisch in RGB-Werte konvertiert.";
-Blockly.Msg.COLOUR_RANDOM_HELPURL = "http://randomcolour.com"; // untranslated
+Blockly.Msg.COLOUR_PICKER_TOOLTIP =
+ "Wähle eine Farbe aus der Palette. Die Farbe wird automatisch in RGB-Werte konvertiert.";
+Blockly.Msg.COLOUR_RANDOM_HELPURL = "http://randomcolour.com"; // untranslated
Blockly.Msg.COLOUR_RANDOM_TITLE = "zufällige Farbe";
-Blockly.Msg.COLOUR_RANDOM_TOOLTIP = "Erstelle eine Farbe nach dem Zufallsprinzip.";
+Blockly.Msg.COLOUR_RANDOM_TOOLTIP =
+ "Erstelle eine Farbe nach dem Zufallsprinzip.";
Blockly.Msg.COLOUR_RGB_BLUE = "blau";
Blockly.Msg.COLOUR_RGB_GREEN = "grün";
Blockly.Msg.COLOUR_RGB_HELPURL = "https://de.wikipedia.org/wiki/RGB-Farbraum";
Blockly.Msg.COLOUR_RGB_RED = "rot";
Blockly.Msg.COLOUR_RGB_TITLE = "Farbe mit";
-Blockly.Msg.COLOUR_RGB_TOOLTIP = "Erstelle eine Farbe mit selbst definierten Rot-, Grün- und Blauwerten. Alle Werte müssen zwischen 0 und 255 liegen. 0 ist hierbei die geringte Intensität der Farbe 255 die höchste.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = "https://de.wikipedia.org/wiki/Kontrollstruktur";
+Blockly.Msg.COLOUR_RGB_TOOLTIP =
+ "Erstelle eine Farbe mit selbst definierten Rot-, Grün- und Blauwerten. Alle Werte müssen zwischen 0 und 255 liegen. 0 ist hierbei die geringte Intensität der Farbe 255 die höchste.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL =
+ "https://de.wikipedia.org/wiki/Kontrollstruktur";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = "Die Schleife abbrechen";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = "mit der nächsten Iteration der Schleife fortfahren";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = "Die umgebende Schleife beenden.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = "Diese Anweisung abbrechen und mit dem nächsten Schleifendurchlauf fortfahren.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = "Warnung: Dieser Block sollte nur in einer Schleife verwendet werden.";
-Blockly.Msg.CONTROLS_FOREACH_HELPURL = "https://de.wikipedia.org/wiki/For-Schleife";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE =
+ "mit der nächsten Iteration der Schleife fortfahren";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK =
+ "Die umgebende Schleife beenden.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE =
+ "Diese Anweisung abbrechen und mit dem nächsten Schleifendurchlauf fortfahren.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING =
+ "Warnung: Dieser Block sollte nur in einer Schleife verwendet werden.";
+Blockly.Msg.CONTROLS_FOREACH_HELPURL =
+ "https://de.wikipedia.org/wiki/For-Schleife";
Blockly.Msg.CONTROLS_FOREACH_TITLE = "Für Wert %1 aus der Liste %2";
-Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = "Führe eine Anweisung für jeden Wert in der Liste aus und setzte dabei die Variable \"%1\" auf den aktuellen Listenwert.";
+Blockly.Msg.CONTROLS_FOREACH_TOOLTIP =
+ 'Führe eine Anweisung für jeden Wert in der Liste aus und setzte dabei die Variable "%1" auf den aktuellen Listenwert.';
Blockly.Msg.CONTROLS_FOR_HELPURL = "https://de.wikipedia.org/wiki/For-Schleife";
Blockly.Msg.CONTROLS_FOR_TITLE = "Zähle %1 von %2 bis %3 mit %4";
-Blockly.Msg.CONTROLS_FOR_TOOLTIP = "Zähle die Variable \"%1\" von einem Startwert bis zu einem Zielwert und führe für jeden Wert eine Anweisung aus.";
+Blockly.Msg.CONTROLS_FOR_TOOLTIP =
+ 'Zähle die Variable "%1" von einem Startwert bis zu einem Zielwert und führe für jeden Wert eine Anweisung aus.';
Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = "Eine weitere Bedingung hinzufügen.";
-Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = "Eine sonst-Bedingung hinzufügen, führt eine Anweisung aus, falls keine Bedingung zutrifft.";
-Blockly.Msg.CONTROLS_IF_HELPURL = "https://github.com/google/blockly/wiki/IfElse"; // untranslated
-Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = "Hinzufügen, entfernen oder sortieren von Sektionen";
+Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP =
+ "Eine sonst-Bedingung hinzufügen, führt eine Anweisung aus, falls keine Bedingung zutrifft.";
+Blockly.Msg.CONTROLS_IF_HELPURL =
+ "https://github.com/google/blockly/wiki/IfElse"; // untranslated
+Blockly.Msg.CONTROLS_IF_IF_TOOLTIP =
+ "Hinzufügen, entfernen oder sortieren von Sektionen";
Blockly.Msg.CONTROLS_IF_MSG_ELSE = "sonst";
Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = "sonst wenn";
Blockly.Msg.CONTROLS_IF_MSG_IF = "wenn";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = "Wenn eine Bedingung wahr (true) ist, dann führe eine Anweisung aus.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_2 = "Wenn eine Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Ansonsten führe die zweite Anweisung aus.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_3 = "Wenn die erste Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Oder wenn die zweite Bedingung wahr (true) ist, dann führe die zweite Anweisung aus.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_4 = "Wenn die erste Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Oder wenn die zweite Bedingung wahr (true) ist, dann führe die zweite Anweisung aus. Falls keine der beiden Bedingungen wahr (true) ist, dann führe die dritte Anweisung aus.";
-Blockly.Msg.CONTROLS_REPEAT_HELPURL = "https://de.wikipedia.org/wiki/For-Schleife";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_1 =
+ "Wenn eine Bedingung wahr (true) ist, dann führe eine Anweisung aus.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_2 =
+ "Wenn eine Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Ansonsten führe die zweite Anweisung aus.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_3 =
+ "Wenn die erste Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Oder wenn die zweite Bedingung wahr (true) ist, dann führe die zweite Anweisung aus.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_4 =
+ "Wenn die erste Bedingung wahr (true) ist, dann führe die erste Anweisung aus. Oder wenn die zweite Bedingung wahr (true) ist, dann führe die zweite Anweisung aus. Falls keine der beiden Bedingungen wahr (true) ist, dann führe die dritte Anweisung aus.";
+Blockly.Msg.CONTROLS_REPEAT_HELPURL =
+ "https://de.wikipedia.org/wiki/For-Schleife";
Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = "mache";
Blockly.Msg.CONTROLS_REPEAT_TITLE = "Wiederhole %1 mal";
Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = "Eine Anweisung mehrfach ausführen.";
-Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = "https://de.wikipedia.org/wiki/Schleife_%28Programmierung%29";
+Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL =
+ "https://de.wikipedia.org/wiki/Schleife_%28Programmierung%29";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = "Wiederhole bis";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = "Wiederhole solange";
-Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = "Führe die Anweisung solange aus wie die Bedingung falsch (false) ist.";
-Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = "Führe die Anweisung solange aus wie die Bedingung wahr (true) ist.";
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL =
+ "Führe die Anweisung solange aus wie die Bedingung falsch (false) ist.";
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE =
+ "Führe die Anweisung solange aus wie die Bedingung wahr (true) ist.";
Blockly.Msg.DELETE_ALL_BLOCKS = "Alle %1 Bausteine löschen?";
Blockly.Msg.DELETE_BLOCK = "Block löschen";
Blockly.Msg.DELETE_X_BLOCKS = "Block %1 löschen";
@@ -68,15 +94,21 @@ Blockly.Msg.EXPAND_BLOCK = "Block entfalten";
Blockly.Msg.EXTERNAL_INPUTS = "externe Eingänge";
Blockly.Msg.HELP = "Hilfe";
Blockly.Msg.INLINE_INPUTS = "interne Eingänge";
-Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#create-empty-list";
Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = "Erzeuge eine leere Liste";
-Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = "Erzeugt eine leere Liste ohne Inhalt.";
+Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP =
+ "Erzeugt eine leere Liste ohne Inhalt.";
Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = "Liste";
-Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = "Hinzufügen, entfernen und sortieren von Elementen.";
-Blockly.Msg.LISTS_CREATE_WITH_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP =
+ "Hinzufügen, entfernen und sortieren von Elementen.";
+Blockly.Msg.LISTS_CREATE_WITH_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = "Erzeuge Liste mit";
-Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = "Ein Element zur Liste hinzufügen.";
-Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = "Erzeugt eine List mit konfigurierten Elementen.";
+Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP =
+ "Ein Element zur Liste hinzufügen.";
+Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP =
+ "Erzeugt eine List mit konfigurierten Elementen.";
Blockly.Msg.LISTS_GET_INDEX_FIRST = "erstes";
Blockly.Msg.LISTS_GET_INDEX_FROM_END = "#tes von hinten";
Blockly.Msg.LISTS_GET_INDEX_FROM_START = "#tes";
@@ -86,59 +118,96 @@ Blockly.Msg.LISTS_GET_INDEX_LAST = "letztes";
Blockly.Msg.LISTS_GET_INDEX_RANDOM = "zufälliges";
Blockly.Msg.LISTS_GET_INDEX_REMOVE = "entferne";
Blockly.Msg.LISTS_GET_INDEX_TAIL = "";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = "Extrahiere das erste Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END = "Extrahiere das #1te Element aus Ende der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START = "Extrahiere das #1te Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = "Extrahiere das letzte Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = "Extrahiere ein zufälliges Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = "Extrahiere und entfernt das erste Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END = "Extrahiere und entfernt das #1te Element aus Ende der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START = "Extrahiere und entfernt das #1te Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = "Extrahiere und entfernt das letzte Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = "Extrahiere und entfernt ein zufälliges Element aus der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = "Entfernt das erste Element von der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END = "Entfernt das #1te Element von Ende der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START = "Entfernt das #1te Element von der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = "Entfernt das letzte Element von der Liste.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = "Entfernt ein zufälliges Element von der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST =
+ "Extrahiere das erste Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END =
+ "Extrahiere das #1te Element aus Ende der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START =
+ "Extrahiere das #1te Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST =
+ "Extrahiere das letzte Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM =
+ "Extrahiere ein zufälliges Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST =
+ "Extrahiere und entfernt das erste Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END =
+ "Extrahiere und entfernt das #1te Element aus Ende der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START =
+ "Extrahiere und entfernt das #1te Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST =
+ "Extrahiere und entfernt das letzte Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM =
+ "Extrahiere und entfernt ein zufälliges Element aus der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST =
+ "Entfernt das erste Element von der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END =
+ "Entfernt das #1te Element von Ende der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START =
+ "Entfernt das #1te Element von der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST =
+ "Entfernt das letzte Element von der Liste.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM =
+ "Entfernt ein zufälliges Element von der Liste.";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = "bis zu # von hinten";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = "bis zu #";
Blockly.Msg.LISTS_GET_SUBLIST_END_LAST = "bis zum Ende";
-Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.LISTS_GET_SUBLIST_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST = "erhalte Unterliste vom Anfang";
-Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = "erhalte Unterliste von # von hinten";
+Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END =
+ "erhalte Unterliste von # von hinten";
Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = "erhalte Unterliste von #";
Blockly.Msg.LISTS_GET_SUBLIST_TAIL = "";
-Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.";
+Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP =
+ "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.";
Blockly.Msg.LISTS_INDEX_OF_FIRST = "suche erstes Auftreten von";
-Blockly.Msg.LISTS_INDEX_OF_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.LISTS_INDEX_OF_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.LISTS_INDEX_OF_LAST = "suche letztes Auftreten von";
-Blockly.Msg.LISTS_INDEX_OF_TOOLTIP = "Sucht die Position (index) eines Elementes in der Liste. Gibt 0 zurück, falls kein Element gefunden wurde.";
+Blockly.Msg.LISTS_INDEX_OF_TOOLTIP =
+ "Sucht die Position (index) eines Elementes in der Liste. Gibt 0 zurück, falls kein Element gefunden wurde.";
Blockly.Msg.LISTS_INLIST = "von der Liste";
-Blockly.Msg.LISTS_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#is-empty"; // untranslated
+Blockly.Msg.LISTS_ISEMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#is-empty"; // untranslated
Blockly.Msg.LISTS_ISEMPTY_TITLE = "%1 ist leer?";
Blockly.Msg.LISTS_ISEMPTY_TOOLTIP = "Ist wahr (true), wenn die Liste leer ist.";
-Blockly.Msg.LISTS_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Lists#length-of"; // untranslated
+Blockly.Msg.LISTS_LENGTH_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#length-of"; // untranslated
Blockly.Msg.LISTS_LENGTH_TITLE = "Länge von %1";
Blockly.Msg.LISTS_LENGTH_TOOLTIP = "Die Anzahl von Elementen in der Liste.";
-Blockly.Msg.LISTS_REPEAT_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
-Blockly.Msg.LISTS_REPEAT_TITLE = "Erzeuge Liste mit Element %1 wiederhole es %2 mal";
-Blockly.Msg.LISTS_REPEAT_TOOLTIP = "Erzeugt eine Liste mit einer variablen Anzahl von Elementen";
-Blockly.Msg.LISTS_SET_INDEX_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.LISTS_REPEAT_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.LISTS_REPEAT_TITLE =
+ "Erzeuge Liste mit Element %1 wiederhole es %2 mal";
+Blockly.Msg.LISTS_REPEAT_TOOLTIP =
+ "Erzeugt eine Liste mit einer variablen Anzahl von Elementen";
+Blockly.Msg.LISTS_SET_INDEX_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = "ein";
Blockly.Msg.LISTS_SET_INDEX_INSERT = "füge";
Blockly.Msg.LISTS_SET_INDEX_SET = "setze";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = "Fügt das Element an den Anfang der Liste an.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END = "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist das letzte Element.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START = "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist die erste Element.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = "Fügt das Element ans Ende der Liste an.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = "Fügt das Element zufällig in die Liste ein.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = "Setzt das erste Element in der Liste.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END = "Setzt das Element an der angegebenen Position in der Liste. #1 ist das letzte Element.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START = "Setzte das Element an der angegebenen Position in der Liste. #1 ist das erste Element.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = "Setzt das letzte Element in der Liste.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = "Setzt ein zufälliges Element in der Liste.";
-Blockly.Msg.LISTS_SORT_HELPURL = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST =
+ "Fügt das Element an den Anfang der Liste an.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END =
+ "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist das letzte Element.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START =
+ "Fügt das Element an der angegebenen Position in der Liste ein. #1 ist die erste Element.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST =
+ "Fügt das Element ans Ende der Liste an.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM =
+ "Fügt das Element zufällig in die Liste ein.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST =
+ "Setzt das erste Element in der Liste.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END =
+ "Setzt das Element an der angegebenen Position in der Liste. #1 ist das letzte Element.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START =
+ "Setzte das Element an der angegebenen Position in der Liste. #1 ist das erste Element.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST =
+ "Setzt das letzte Element in der Liste.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM =
+ "Setzt ein zufälliges Element in der Liste.";
+Blockly.Msg.LISTS_SORT_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
Blockly.Msg.LISTS_SORT_ORDER_ASCENDING = "aufsteigend";
Blockly.Msg.LISTS_SORT_ORDER_DESCENDING = "absteigend";
Blockly.Msg.LISTS_SORT_TITLE = "%1 %2 %3 sortieren";
@@ -146,62 +215,89 @@ Blockly.Msg.LISTS_SORT_TOOLTIP = "Eine Kopie einer Liste sortieren.";
Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE = "alphabetisch, Schreibung ignorieren";
Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = "numerisch";
Blockly.Msg.LISTS_SORT_TYPE_TEXT = "alphabetisch";
-Blockly.Msg.LISTS_SPLIT_HELPURL = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg.LISTS_SPLIT_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = "Liste aus Text erstellen";
Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = "Text aus Liste erstellen";
-Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.";
-Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.";
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN =
+ "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.";
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT =
+ "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.";
Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER = "mit Trennzeichen";
Blockly.Msg.LOGIC_BOOLEAN_FALSE = "falsch";
-Blockly.Msg.LOGIC_BOOLEAN_HELPURL = "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
-Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = "Ist entweder wahr (true) oder falsch (false)";
+Blockly.Msg.LOGIC_BOOLEAN_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#values"; // untranslated
+Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP =
+ "Ist entweder wahr (true) oder falsch (false)";
Blockly.Msg.LOGIC_BOOLEAN_TRUE = "wahr";
-Blockly.Msg.LOGIC_COMPARE_HELPURL = "https://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = "Ist wahr (true), wenn beide Werte gleich sind.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = "Ist wahr (true), wenn der erste Wert größer als der zweite Wert ist.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = "Ist wahr (true), wenn der erste Wert größer als oder gleich groß wie der zweite Wert ist.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = "Ist wahr (true), wenn der erste Wert kleiner als der zweite Wert ist.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = "Ist wahr (true), wenn der erste Wert kleiner als oder gleich groß wie der zweite Wert ist.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = "Ist wahr (true), wenn beide Werte unterschiedlich sind.";
-Blockly.Msg.LOGIC_NEGATE_HELPURL = "https://github.com/google/blockly/wiki/Logic#not"; // untranslated
+Blockly.Msg.LOGIC_COMPARE_HELPURL =
+ "https://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ =
+ "Ist wahr (true), wenn beide Werte gleich sind.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT =
+ "Ist wahr (true), wenn der erste Wert größer als der zweite Wert ist.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE =
+ "Ist wahr (true), wenn der erste Wert größer als oder gleich groß wie der zweite Wert ist.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT =
+ "Ist wahr (true), wenn der erste Wert kleiner als der zweite Wert ist.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE =
+ "Ist wahr (true), wenn der erste Wert kleiner als oder gleich groß wie der zweite Wert ist.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ =
+ "Ist wahr (true), wenn beide Werte unterschiedlich sind.";
+Blockly.Msg.LOGIC_NEGATE_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#not"; // untranslated
Blockly.Msg.LOGIC_NEGATE_TITLE = "nicht %1";
-Blockly.Msg.LOGIC_NEGATE_TOOLTIP = "Ist wahr (true), wenn der Eingabewert falsch (false) ist. Ist falsch (false), wenn der Eingabewert wahr (true) ist.";
+Blockly.Msg.LOGIC_NEGATE_TOOLTIP =
+ "Ist wahr (true), wenn der Eingabewert falsch (false) ist. Ist falsch (false), wenn der Eingabewert wahr (true) ist.";
Blockly.Msg.LOGIC_NULL = "null";
Blockly.Msg.LOGIC_NULL_HELPURL = "https://de.wikipedia.org/wiki/Nullwert";
Blockly.Msg.LOGIC_NULL_TOOLTIP = "Ist NULL.";
Blockly.Msg.LOGIC_OPERATION_AND = "und";
-Blockly.Msg.LOGIC_OPERATION_HELPURL = "https://github.com/google/blockly/wiki/Logic#logical-operations"; // untranslated
+Blockly.Msg.LOGIC_OPERATION_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#logical-operations"; // untranslated
Blockly.Msg.LOGIC_OPERATION_OR = "oder";
-Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = "Ist wahr (true), wenn beide Werte wahr (true) sind.";
-Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = "Ist wahr (true), wenn einer der beiden Werte wahr (true) ist.";
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND =
+ "Ist wahr (true), wenn beide Werte wahr (true) sind.";
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR =
+ "Ist wahr (true), wenn einer der beiden Werte wahr (true) ist.";
Blockly.Msg.LOGIC_TERNARY_CONDITION = "teste";
-Blockly.Msg.LOGIC_TERNARY_HELPURL = "https://de.wikipedia.org/wiki/%3F:#Auswahloperator";
+Blockly.Msg.LOGIC_TERNARY_HELPURL =
+ "https://de.wikipedia.org/wiki/%3F:#Auswahloperator";
Blockly.Msg.LOGIC_TERNARY_IF_FALSE = "wenn falsch";
Blockly.Msg.LOGIC_TERNARY_IF_TRUE = "wenn wahr";
-Blockly.Msg.LOGIC_TERNARY_TOOLTIP = "Überprüft eine Bedingung \"teste\". Wenn die Bedingung wahr ist, wird der \"wenn wahr\" Wert zurückgegeben, andernfalls der \"wenn falsch\" Wert";
-Blockly.Msg.MATH_ADDITION_SYMBOL = "+"; // untranslated
-Blockly.Msg.MATH_ARITHMETIC_HELPURL = "https://de.wikipedia.org/wiki/Grundrechenart";
+Blockly.Msg.LOGIC_TERNARY_TOOLTIP =
+ 'Überprüft eine Bedingung "teste". Wenn die Bedingung wahr ist, wird der "wenn wahr" Wert zurückgegeben, andernfalls der "wenn falsch" Wert';
+Blockly.Msg.MATH_ADDITION_SYMBOL = "+"; // untranslated
+Blockly.Msg.MATH_ARITHMETIC_HELPURL =
+ "https://de.wikipedia.org/wiki/Grundrechenart";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = "Ist die Summe zweier Werte.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = "Ist der Quotient zweier Werte.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = "Ist die Differenz zweier Werte.";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = "Ist das Produkt zweier Werte.";
-Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = "Ist der erste Wert potenziert mit dem zweiten Wert.";
-Blockly.Msg.MATH_CHANGE_HELPURL = "https://de.wikipedia.org/wiki/Inkrement_und_Dekrement";
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER =
+ "Ist der erste Wert potenziert mit dem zweiten Wert.";
+Blockly.Msg.MATH_CHANGE_HELPURL =
+ "https://de.wikipedia.org/wiki/Inkrement_und_Dekrement";
Blockly.Msg.MATH_CHANGE_TITLE = "erhöhe %1 um %2";
-Blockly.Msg.MATH_CHANGE_TOOLTIP = "Addiert einen Wert zur Variable \"%1\" hinzu.";
-Blockly.Msg.MATH_CONSTANT_HELPURL = "https://de.wikipedia.org/wiki/Mathematische_Konstante";
-Blockly.Msg.MATH_CONSTANT_TOOLTIP = "Mathematische Konstanten wie: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder ∞ (unendlich).";
-Blockly.Msg.MATH_CONSTRAIN_HELPURL = "https://en.wikipedia.org/wiki/Clamping_%28graphics%29"; // untranslated
+Blockly.Msg.MATH_CHANGE_TOOLTIP = 'Addiert einen Wert zur Variable "%1" hinzu.';
+Blockly.Msg.MATH_CONSTANT_HELPURL =
+ "https://de.wikipedia.org/wiki/Mathematische_Konstante";
+Blockly.Msg.MATH_CONSTANT_TOOLTIP =
+ "Mathematische Konstanten wie: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder ∞ (unendlich).";
+Blockly.Msg.MATH_CONSTRAIN_HELPURL =
+ "https://en.wikipedia.org/wiki/Clamping_%28graphics%29"; // untranslated
Blockly.Msg.MATH_CONSTRAIN_TITLE = "begrenze %1 von %2 bis %3";
-Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = "Begrenzt den Wertebereich auf den \"von\"-Wert bis einschließlich zum \"bis\"-Wert. (inklusiv)";
-Blockly.Msg.MATH_DIVISION_SYMBOL = "÷"; // untranslated
+Blockly.Msg.MATH_CONSTRAIN_TOOLTIP =
+ 'Begrenzt den Wertebereich auf den "von"-Wert bis einschließlich zum "bis"-Wert. (inklusiv)';
+Blockly.Msg.MATH_DIVISION_SYMBOL = "÷"; // untranslated
Blockly.Msg.MATH_IS_DIVISIBLE_BY = "ist teilbar durch";
Blockly.Msg.MATH_IS_EVEN = "ist gerade";
Blockly.Msg.MATH_IS_NEGATIVE = "ist negativ";
Blockly.Msg.MATH_IS_ODD = "ist ungerade";
Blockly.Msg.MATH_IS_POSITIVE = "ist positiv";
Blockly.Msg.MATH_IS_PRIME = "ist eine Primzahl";
-Blockly.Msg.MATH_IS_TOOLTIP = "Überprüft ob eine Zahl gerade, ungerade, eine Primzahl, ganzzahlig, positiv, negativ oder durch eine zweite Zahl teilbar ist. Gibt wahr (true) oder falsch (false) zurück.";
+Blockly.Msg.MATH_IS_TOOLTIP =
+ "Überprüft ob eine Zahl gerade, ungerade, eine Primzahl, ganzzahlig, positiv, negativ oder durch eine zweite Zahl teilbar ist. Gibt wahr (true) oder falsch (false) zurück.";
Blockly.Msg.MATH_IS_WHOLE = "ist eine ganze Zahl";
Blockly.Msg.MATH_MODULO_HELPURL = "https://de.wikipedia.org/wiki/Modulo";
Blockly.Msg.MATH_MODULO_TITLE = "Rest von %1 ÷ %2";
@@ -209,7 +305,8 @@ Blockly.Msg.MATH_MODULO_TOOLTIP = "Der Rest nach einer Division.";
Blockly.Msg.MATH_MULTIPLICATION_SYMBOL = "×";
Blockly.Msg.MATH_NUMBER_HELPURL = "https://de.wikipedia.org/wiki/Zahl";
Blockly.Msg.MATH_NUMBER_TOOLTIP = "Eine Zahl.";
-Blockly.Msg.MATH_ONLIST_HELPURL = "http://www.sysplus.ch/einstieg.php?links=menu&seite=4125&grad=Crash&prog=Excel";
+Blockly.Msg.MATH_ONLIST_HELPURL =
+ "http://www.sysplus.ch/einstieg.php?links=menu&seite=4125&grad=Crash&prog=Excel";
Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = "Mittelwert einer Liste";
Blockly.Msg.MATH_ONLIST_OPERATOR_MAX = "Maximalwert einer Liste";
Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = "Median einer Liste";
@@ -218,21 +315,32 @@ Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = "am häufigsten in Liste";
Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = "Zufallswert einer Liste";
Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = "Standardabweichung einer Liste";
Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = "Summe einer Liste";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = "Ist der Durchschnittswert aller Werte in einer Liste.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE =
+ "Ist der Durchschnittswert aller Werte in einer Liste.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = "Ist der größte Wert in einer Liste.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = "Ist der Median aller Werte in einer Liste.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN =
+ "Ist der Median aller Werte in einer Liste.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = "Ist der kleinste Wert in einer Liste.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = "Findet den am häufigsten vorkommenden Wert in einer Liste. Falls kein Wert öfter vorkommt als alle anderen, wird die originale Liste zurückgeben";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = "Gebe einen zufälligen Wert aus der Liste zurück.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = "Ist die standardisierte Standardabweichung aller Werte in der Liste";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = "Ist die Summe aller Werte in einer Liste.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE =
+ "Findet den am häufigsten vorkommenden Wert in einer Liste. Falls kein Wert öfter vorkommt als alle anderen, wird die originale Liste zurückgeben";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM =
+ "Gebe einen zufälligen Wert aus der Liste zurück.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV =
+ "Ist die standardisierte Standardabweichung aller Werte in der Liste";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM =
+ "Ist die Summe aller Werte in einer Liste.";
Blockly.Msg.MATH_POWER_SYMBOL = "^";
-Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = "https://de.wikipedia.org/wiki/Zufallszahlen";
+Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL =
+ "https://de.wikipedia.org/wiki/Zufallszahlen";
Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = "Zufallszahl (0.0 -1.0)";
-Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = "Erzeuge eine Zufallszahl zwischen 0.0 (inklusiv) und 1.0 (exklusiv).";
-Blockly.Msg.MATH_RANDOM_INT_HELPURL = "https://de.wikipedia.org/wiki/Zufallszahlen";
-Blockly.Msg.MATH_RANDOM_INT_TITLE = "ganzzahliger Zufallswert zwischen %1 bis %2";
-Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = "Erzeuge einen ganzzahligen Zufallswert zwischen zwei Werten (inklusiv).";
+Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP =
+ "Erzeuge eine Zufallszahl zwischen 0.0 (inklusiv) und 1.0 (exklusiv).";
+Blockly.Msg.MATH_RANDOM_INT_HELPURL =
+ "https://de.wikipedia.org/wiki/Zufallszahlen";
+Blockly.Msg.MATH_RANDOM_INT_TITLE =
+ "ganzzahliger Zufallswert zwischen %1 bis %2";
+Blockly.Msg.MATH_RANDOM_INT_TOOLTIP =
+ "Erzeuge einen ganzzahligen Zufallswert zwischen zwei Werten (inklusiv).";
Blockly.Msg.MATH_ROUND_HELPURL = "https://de.wikipedia.org/wiki/Runden";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = "runden";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = "abrunden";
@@ -242,9 +350,12 @@ Blockly.Msg.MATH_SINGLE_HELPURL = "https://de.wikipedia.org/wiki/Quadratwurzel";
Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = "Absolutwert";
Blockly.Msg.MATH_SINGLE_OP_ROOT = "Quadratwurzel";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = "Ist der Absolutwert eines Wertes.";
-Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = "Ist Wert der Exponentialfunktion eines Wertes.";
-Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = "Ist der natürliche Logarithmus eines Wertes.";
-Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = "Ist der dekadische Logarithmus eines Wertes.";
+Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP =
+ "Ist Wert der Exponentialfunktion eines Wertes.";
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LN =
+ "Ist der natürliche Logarithmus eines Wertes.";
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 =
+ "Ist der dekadische Logarithmus eines Wertes.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = "Negiert einen Wert.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = "Rechnet 10 hoch Eingabewert.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = "Ist die Quadratwurzel eines Wertes.";
@@ -268,149 +379,197 @@ Blockly.Msg.NEW_VARIABLE_TITLE = "Name der neuen Variable:";
Blockly.Msg.ORDINAL_NUMBER_SUFFIX = "";
Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = "Aussagen erlauben";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "mit:";
-Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
-Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = "Rufe einen Funktionsblock ohne Rückgabewert auf.";
-Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
-Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = "Rufe einen Funktionsblock mit Rückgabewert auf.";
+Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL =
+ "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP =
+ "Rufe einen Funktionsblock ohne Rückgabewert auf.";
+Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL =
+ "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP =
+ "Rufe einen Funktionsblock mit Rückgabewert auf.";
Blockly.Msg.PROCEDURES_CALL = "Rufe";
Blockly.Msg.PROCEDURES_CALL_END = "auf";
Blockly.Msg.PROCEDURES_DEFNORETURN = "Erstelle Funktion";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "mit Eingabeparameter:";
Blockly.Msg.PROCEDURES_DEFRETURN_RETURN_TYPE = "Rückgabetype";
Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = "mit:";
-Blockly.Msg.PROCEDURES_CREATE_DO = "Erzeuge \"Aufruf %1\"";
+Blockly.Msg.PROCEDURES_CREATE_DO = 'Erzeuge "Aufruf %1"';
Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = "Beschreibe diese Funktion …";
Blockly.Msg.PROCEDURES_DEFNORETURN_DO = "";
-Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL =
+ "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = "Funktionsblock";
Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = "zu";
-Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = "Ein Funktionsblock ohne Rückgabewert.";
-Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP =
+ "Ein Funktionsblock ohne Rückgabewert.";
+Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL =
+ "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = "gebe zurück";
-Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = "Ein Funktionsblock mit Rückgabewert.";
-Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = "Warnung: dieser Funktionsblock hat zwei gleich benannte Parameter.";
+Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP =
+ "Ein Funktionsblock mit Rückgabewert.";
+Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING =
+ "Warnung: dieser Funktionsblock hat zwei gleich benannte Parameter.";
Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = "Markiere Funktionsblock";
Blockly.Msg.PROCEDURES_IFRETURN_HELPURL = "http://c2.com/cgi/wiki?GuardClause";
-Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = "Wenn der erste Wert wahr (true) ist, Gebe den zweiten Wert zurück.";
-Blockly.Msg.PROCEDURES_IFRETURN_WARNING = "Warnung: Dieser Block darf nur innerhalb eines Funktionsblock genutzt werden.";
+Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP =
+ "Wenn der erste Wert wahr (true) ist, Gebe den zweiten Wert zurück.";
+Blockly.Msg.PROCEDURES_IFRETURN_WARNING =
+ "Warnung: Dieser Block darf nur innerhalb eines Funktionsblock genutzt werden.";
Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = "Variable:";
-Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = "Eine Eingabe zur Funktion hinzufügen.";
+Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP =
+ "Eine Eingabe zur Funktion hinzufügen.";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = "Parameter";
-Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.";
+Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP =
+ "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.";
Blockly.Msg.REDO = "Wiederholen";
Blockly.Msg.REMOVE_COMMENT = "Kommentar entfernen";
Blockly.Msg.RENAME_VARIABLE = "Variable umbenennen...";
-Blockly.Msg.RENAME_VARIABLE_TITLE = "Alle \"%1\" Variablen umbenennen in:";
+Blockly.Msg.RENAME_VARIABLE_TITLE = 'Alle "%1" Variablen umbenennen in:';
Blockly.Msg.TEXT_APPEND_APPENDTEXT = "Text anhängen";
-Blockly.Msg.TEXT_APPEND_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
+Blockly.Msg.TEXT_APPEND_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
Blockly.Msg.TEXT_APPEND_TO = "An";
-Blockly.Msg.TEXT_APPEND_TOOLTIP = "Text an die Variable \"%1\" anhängen.";
-Blockly.Msg.TEXT_CHANGECASE_HELPURL = "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
+Blockly.Msg.TEXT_APPEND_TOOLTIP = 'Text an die Variable "%1" anhängen.';
+Blockly.Msg.TEXT_CHANGECASE_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#adjusting-text-case"; // untranslated
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = "umwandeln in kleinbuchstaben";
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = "umwandeln in Substantive";
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = "umwandeln in GROSSBUCHSTABEN";
-Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = "Wandelt Schreibweise von Texten um, in Großbuchstaben, Kleinbuchstaben oder den ersten Buchstaben jedes Wortes groß und die anderen klein.";
+Blockly.Msg.TEXT_CHANGECASE_TOOLTIP =
+ "Wandelt Schreibweise von Texten um, in Großbuchstaben, Kleinbuchstaben oder den ersten Buchstaben jedes Wortes groß und die anderen klein.";
Blockly.Msg.TEXT_CHARAT_FIRST = "Nehme ersten Buchstaben";
Blockly.Msg.TEXT_CHARAT_FROM_END = "Nehme #ten Buchstaben von hinten";
Blockly.Msg.TEXT_CHARAT_FROM_START = "Nehme #ten Buchstaben";
-Blockly.Msg.TEXT_CHARAT_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.TEXT_CHARAT_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.TEXT_CHARAT_INPUT_INTEXT = "vom Text";
Blockly.Msg.TEXT_CHARAT_LAST = "Nehme letzten Buchstaben";
Blockly.Msg.TEXT_CHARAT_RANDOM = "Nehme zufälligen Buchstaben";
Blockly.Msg.TEXT_CHARAT_TAIL = "";
-Blockly.Msg.TEXT_CHARAT_TOOLTIP = "Extrahiere einen Buchstaben von einer spezifizierten Position.";
+Blockly.Msg.TEXT_CHARAT_TOOLTIP =
+ "Extrahiere einen Buchstaben von einer spezifizierten Position.";
Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = "Ein Element zum Text hinzufügen.";
Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = "verbinden";
-Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = "Hinzufügen, entfernen und sortieren von Elementen.";
-Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = "bis zum #ten Buchstaben von hinten";
+Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP =
+ "Hinzufügen, entfernen und sortieren von Elementen.";
+Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END =
+ "bis zum #ten Buchstaben von hinten";
Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = "bis zum #ten Buchstaben";
Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST = "bis zum letzten Buchstaben";
-Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = "in Text";
Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = "vom ersten Buchstaben";
-Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = "vom #ten Buchstaben von hinten";
+Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END =
+ "vom #ten Buchstaben von hinten";
Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = "vom #ten Buchstaben";
Blockly.Msg.TEXT_GET_SUBSTRING_TAIL = "";
-Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = "Gibt den angegebenen Textabschnitt zurück.";
-Blockly.Msg.TEXT_INDEXOF_HELPURL = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP =
+ "Gibt den angegebenen Textabschnitt zurück.";
+Blockly.Msg.TEXT_INDEXOF_HELPURL =
+ "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = "im Text";
Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = "Suche erstes Auftreten des Begriffs";
Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = "Suche letztes Auftreten des Begriffs";
Blockly.Msg.TEXT_INDEXOF_TAIL = "";
-Blockly.Msg.TEXT_INDEXOF_TOOLTIP = "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text. Gibt die Position des Begriffs oder 0 zurück.";
-Blockly.Msg.TEXT_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text"; // untranslated
+Blockly.Msg.TEXT_INDEXOF_TOOLTIP =
+ "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text. Gibt die Position des Begriffs oder 0 zurück.";
+Blockly.Msg.TEXT_ISEMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#checking-for-empty-text"; // untranslated
Blockly.Msg.TEXT_ISEMPTY_TITLE = "%1 ist leer?";
-Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = "Ist wahr (true), wenn der Text keine Zeichen enthält ist.";
+Blockly.Msg.TEXT_ISEMPTY_TOOLTIP =
+ "Ist wahr (true), wenn der Text keine Zeichen enthält ist.";
Blockly.Msg.TEXT_JOIN_HELPURL = "";
Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = "Erstelle Text aus";
-Blockly.Msg.TEXT_JOIN_TOOLTIP = "Erstellt einen Text durch das Verbinden von mehreren Textelementen.";
-Blockly.Msg.TEXT_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
+Blockly.Msg.TEXT_JOIN_TOOLTIP =
+ "Erstellt einen Text durch das Verbinden von mehreren Textelementen.";
+Blockly.Msg.TEXT_LENGTH_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#text-modification"; // untranslated
Blockly.Msg.TEXT_LENGTH_TITLE = "Länge %1";
-Blockly.Msg.TEXT_LENGTH_TOOLTIP = "Die Anzahl von Zeichen in einem Text. (inkl. Leerzeichen)";
-Blockly.Msg.TEXT_PRINT_HELPURL = "https://github.com/google/blockly/wiki/Text#printing-text"; // untranslated
+Blockly.Msg.TEXT_LENGTH_TOOLTIP =
+ "Die Anzahl von Zeichen in einem Text. (inkl. Leerzeichen)";
+Blockly.Msg.TEXT_PRINT_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#printing-text"; // untranslated
Blockly.Msg.TEXT_PRINT_TITLE = "Ausgabe %1";
Blockly.Msg.TEXT_PRINT_TOOLTIP = "Gib den Inhalt einer Variable aus.";
-Blockly.Msg.TEXT_PROMPT_HELPURL = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user"; // untranslated
+Blockly.Msg.TEXT_PROMPT_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user"; // untranslated
Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = "Fragt den Benutzer nach einer Zahl.";
Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = "Fragt den Benutzer nach einem Text.";
Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = "Fragt nach Zahl mit Hinweis";
Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = "Fragt nach Text mit Hinweis";
Blockly.Msg.TEXT_TEXT_HELPURL = "https://de.wikipedia.org/wiki/Zeichenkette";
Blockly.Msg.TEXT_TEXT_TOOLTIP = "Ein Buchstabe, Text oder Satz.";
-Blockly.Msg.TEXT_TRIM_HELPURL = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
-Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH = "entferne Leerzeichen vom Anfang und vom Ende (links und rechts)";
+Blockly.Msg.TEXT_TRIM_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces"; // untranslated
+Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH =
+ "entferne Leerzeichen vom Anfang und vom Ende (links und rechts)";
Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = "entferne Leerzeichen vom Anfang (links)";
Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = "entferne Leerzeichen vom Ende (rechts)";
-Blockly.Msg.TEXT_TRIM_TOOLTIP = "Entfernt Leerzeichen vom Anfang und / oder Ende eines Textes.";
+Blockly.Msg.TEXT_TRIM_TOOLTIP =
+ "Entfernt Leerzeichen vom Anfang und / oder Ende eines Textes.";
Blockly.Msg.TODAY = "Heute";
Blockly.Msg.UNDO = "Rückgängig";
Blockly.Msg.VARIABLES_DEFAULT_NAME = "Element";
-Blockly.Msg.VARIABLES_GET_CREATE_SET = "Erzeuge \"Schreibe %1\"";
-Blockly.Msg.VARIABLES_GET_HELPURL = "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
+Blockly.Msg.VARIABLES_GET_CREATE_SET = 'Erzeuge "Schreibe %1"';
+Blockly.Msg.VARIABLES_GET_HELPURL =
+ "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
Blockly.Msg.VARIABLES_GET_TOOLTIP = "Gibt den Wert der Variable zurück.";
Blockly.Msg.VARIABLES_SET = "Schreibe %1 %2";
-Blockly.Msg.VARIABLES_SET_CREATE_GET = "Erzeuge \"Lese %1\"";
-Blockly.Msg.VARIABLES_SET_HELPURL = "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
+Blockly.Msg.VARIABLES_SET_CREATE_GET = 'Erzeuge "Lese %1"';
+Blockly.Msg.VARIABLES_SET_HELPURL =
+ "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
Blockly.Msg.VARIABLES_SET_TOOLTIP = "Setzt den Wert einer Variable.";
Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
-Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
+Blockly.Msg.PROCEDURES_DEFRETURN_TITLE =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;
Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
-Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
+Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
-Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
+Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF =
+ Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
Blockly.Msg.LISTS_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;
Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
-Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM =
+ Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
-Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
+Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
// Ardublockly strings
Blockly.Msg.ARD_ANALOGREAD = "lese analogen Pin#";
Blockly.Msg.ARD_ANALOGREAD_TIP = "Gibt einen Wert zwischen 0 und 1024 zurüch";
Blockly.Msg.ARD_ANALOGWRITE = "setzte analogen Pin#";
-Blockly.Msg.ARD_ANALOGWRITE_TIP = "Schreibe analogen Wert zwischen 0 und 255 an einen spezifischen PWM Port";
+Blockly.Msg.ARD_ANALOGWRITE_TIP =
+ "Schreibe analogen Wert zwischen 0 und 255 an einen spezifischen PWM Port";
Blockly.Msg.ARD_BUILTIN_LED = "eingebaute LED";
Blockly.Msg.ARD_BUILTIN_LED_TIP = "Schaltet die interne LED An oder Aus";
-Blockly.Msg.ARD_COMPONENT_WARN1 = "A %1 configuration block with the same %2 name must be added to use this block!";
+Blockly.Msg.ARD_COMPONENT_WARN1 =
+ "A %1 configuration block with the same %2 name must be added to use this block!";
Blockly.Msg.ARD_DEFINE = "Definiere";
Blockly.Msg.ARD_DIGITALREAD = "lesen digitalen Pin#";
-Blockly.Msg.ARD_DIGITALREAD_TIP = "Lese Wert an digitalen Pin: HIGH(1) oder LOW(0)";
+Blockly.Msg.ARD_DIGITALREAD_TIP =
+ "Lese Wert an digitalen Pin: HIGH(1) oder LOW(0)";
Blockly.Msg.ARD_DIGITALWRITE = "setzte digitalen Pin#";
-Blockly.Msg.ARD_DIGITALWRITE_TIP = "Schreibe digitalen Wert HIGH (1) oder LOW(0) an spezifischen Port";
+Blockly.Msg.ARD_DIGITALWRITE_TIP =
+ "Schreibe digitalen Wert HIGH (1) oder LOW(0) an spezifischen Port";
Blockly.Msg.ARD_FUN_RUN_LOOP = "Endlosschleife()";
Blockly.Msg.ARD_FUN_RUN_SETUP = "Setup()";
-Blockly.Msg.ARD_FUN_RUN_TIP = "Definiert die setup() und loop() Funktionen. Die setup()-Funktion wird beim starten **einmal** ausgeführt. Anschließend wir die loop()-Funktion in einer **Endlosschleife** ausgeführt. Füge in die Setup()-Funktion Blöcke ein, um z.B. das Display zu initalisieren, eine Verbindung zum WiFi-Netzwerk herzustellen oder um die LoRa Verbindung zu initialsieren.";
+Blockly.Msg.ARD_FUN_RUN_TIP =
+ "Definiert die setup() und loop() Funktionen. Die setup()-Funktion wird beim starten **einmal** ausgeführt. Anschließend wir die loop()-Funktion in einer **Endlosschleife** ausgeführt. Füge in die Setup()-Funktion Blöcke ein, um z.B. das Display zu initalisieren, eine Verbindung zum WiFi-Netzwerk herzustellen oder um die LoRa Verbindung zu initialsieren.";
Blockly.Msg.ARD_HIGH = "HIGH";
-Blockly.Msg.ARD_HIGHLOW_TIP = "Setzt einen Status auf HIGH oder LOWSet a pin state logic High or Low.";
+Blockly.Msg.ARD_HIGHLOW_TIP =
+ "Setzt einen Status auf HIGH oder LOWSet a pin state logic High or Low.";
Blockly.Msg.ARD_LOW = "LOW";
Blockly.Msg.ARD_MAP = "Verteile Wert";
Blockly.Msg.ARD_MAP_FROMMIN = "von Minimum";
@@ -423,83 +582,99 @@ Blockly.Msg.ARD_NOTONE = "Schalte Ton aus an Pin";
Blockly.Msg.ARD_NOTONE_PIN = "keinen Ton an Pin";
Blockly.Msg.ARD_NOTONE_PIN_TIP = "Stoppe die Tonerzeugung an Pin";
Blockly.Msg.ARD_NOTONE_TIP = "Schaltet den Ton am ausgewählten Pin aus";
-Blockly.Msg.ARD_PIN_WARN1 = "Pin %1 wird benötigt für %2 als Pin %3. Bereitsgenutzt als %4.";
-Blockly.Msg.ARD_PULSETIMEOUT_TIP = "Misst die Laufzeit eines Impulses am ausgewählten Pin, wenn die Zeit ist in Microsekunden.";
+Blockly.Msg.ARD_PIN_WARN1 =
+ "Pin %1 wird benötigt für %2 als Pin %3. Bereitsgenutzt als %4.";
+Blockly.Msg.ARD_PULSETIMEOUT_TIP =
+ "Misst die Laufzeit eines Impulses am ausgewählten Pin, wenn die Zeit ist in Microsekunden.";
Blockly.Msg.ARD_PULSE_READ = "Misst %1 Impuls an Pin #%2";
-Blockly.Msg.ARD_PULSE_READ_TIMEOUT = "Misst %1 Impuls an Pin #%2 (Unterbrechung nach %3 μs)";
-Blockly.Msg.ARD_PULSE_TIP = "Misst die Zeit eines Impulses an dem ausgewählten Pin.";
+Blockly.Msg.ARD_PULSE_READ_TIMEOUT =
+ "Misst %1 Impuls an Pin #%2 (Unterbrechung nach %3 μs)";
+Blockly.Msg.ARD_PULSE_TIP =
+ "Misst die Zeit eines Impulses an dem ausgewählten Pin.";
Blockly.Msg.ARD_SERIAL_BPS = "bps";
Blockly.Msg.ARD_SERIAL_PRINT = "schreibe";
Blockly.Msg.ARD_SERIAL_PRINT_NEWLINE = "neue Zeile hinzufügen";
-Blockly.Msg.ARD_SERIAL_PRINT_TIP = "Prints data to the console/serial port as human-readable ASCII text."; // untranslated
-Blockly.Msg.ARD_SERIAL_PRINT_WARN = "A setup block for %1 must be added to the workspace to use this block!"; // untranslated
+Blockly.Msg.ARD_SERIAL_PRINT_TIP =
+ "Prints data to the console/serial port as human-readable ASCII text."; // untranslated
+Blockly.Msg.ARD_SERIAL_PRINT_WARN =
+ "A setup block for %1 must be added to the workspace to use this block!"; // untranslated
Blockly.Msg.ARD_SERIAL_SETUP = "Setup";
-Blockly.Msg.ARD_SERIAL_SETUP_TIP = "Selects the speed for a specific Serial peripheral"; // untranslated
+Blockly.Msg.ARD_SERIAL_SETUP_TIP =
+ "Selects the speed for a specific Serial peripheral"; // untranslated
Blockly.Msg.ARD_SERIAL_SPEED = ": Übertragungsgeschwindigkeit zu";
Blockly.Msg.ARD_SERVO_READ = "liest SERVO an PIN#";
Blockly.Msg.ARD_SERVO_READ_TIP = "Liest den Winkel des Servomotors aus";
Blockly.Msg.ARD_SERVO_WRITE = "setzt SERVO an Pin";
Blockly.Msg.ARD_SERVO_WRITE_DEG_180 = "Winkel (0~180)";
-Blockly.Msg.ARD_SERVO_WRITE_TIP = "Set a Servo to an specified angle"; // untranslated
-Blockly.Msg.ARD_SERVO_WRITE_TO = ""; // untranslated
-Blockly.Msg.ARD_SETTONE = "Spiele Ton an Pin"; // untranslated
+Blockly.Msg.ARD_SERVO_WRITE_TIP = "Set a Servo to an specified angle"; // untranslated
+Blockly.Msg.ARD_SERVO_WRITE_TO = ""; // untranslated
+Blockly.Msg.ARD_SETTONE = "Spiele Ton an Pin"; // untranslated
Blockly.Msg.ARD_SPI_SETUP = "Setup";
Blockly.Msg.ARD_SPI_SETUP_CONF = "Konfiguration:";
-Blockly.Msg.ARD_SPI_SETUP_DIVIDE = "clock divide"; // untranslated
-Blockly.Msg.ARD_SPI_SETUP_LSBFIRST = "LSBFIRST"; // untranslated
-Blockly.Msg.ARD_SPI_SETUP_MODE = "SPI mode (idle - edge)"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_DIVIDE = "clock divide"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_LSBFIRST = "LSBFIRST"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_MODE = "SPI mode (idle - edge)"; // untranslated
Blockly.Msg.ARD_SPI_SETUP_MODE0 = "0 (LOW - Fallend)";
Blockly.Msg.ARD_SPI_SETUP_MODE1 = "1 (LOW - Steigend)";
Blockly.Msg.ARD_SPI_SETUP_MODE2 = "2 (HIGH - Fallend)";
Blockly.Msg.ARD_SPI_SETUP_MODE3 = "3 (HIGH - Steigend)";
-Blockly.Msg.ARD_SPI_SETUP_MSBFIRST = "MSBFIRST"; // untranslated
-Blockly.Msg.ARD_SPI_SETUP_SHIFT = "data shift"; // untranslated
-Blockly.Msg.ARD_SPI_SETUP_TIP = "Configures the SPI peripheral."; // untranslated
-Blockly.Msg.ARD_SPI_TRANSRETURN_TIP = "Send a SPI message to an specified slave device and get data back."; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_NONE = "none"; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_SLAVE = "to slave pin"; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_TIP = "Send a SPI message to an specified slave device."; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_VAL = "transfer"; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_WARN1 = "A setup block for %1 must be added to the workspace to use this block!"; // untranslated
-Blockly.Msg.ARD_SPI_TRANS_WARN2 = "Old pin value %1 is no longer available."; // untranslated
-Blockly.Msg.ARD_STEPPER_COMPONENT = "stepper"; // untranslated
-Blockly.Msg.ARD_STEPPER_DEFAULT_NAME = "MyStepper"; // untranslated
-Blockly.Msg.ARD_STEPPER_FOUR_PINS = "4"; // untranslated
-Blockly.Msg.ARD_STEPPER_MOTOR = "stepper motor:"; // untranslated
-Blockly.Msg.ARD_STEPPER_NUMBER_OF_PINS = "Number of pins"; // untranslated
-Blockly.Msg.ARD_STEPPER_PIN1 = "pin1#"; // untranslated
-Blockly.Msg.ARD_STEPPER_PIN2 = "pin2#"; // untranslated
-Blockly.Msg.ARD_STEPPER_PIN3 = "pin3#"; // untranslated
-Blockly.Msg.ARD_STEPPER_PIN4 = "pin4#"; // untranslated
-Blockly.Msg.ARD_STEPPER_REVOLVS = "how many steps per revolution"; // untranslated
-Blockly.Msg.ARD_STEPPER_SETUP = "Setup stepper motor"; // untranslated
-Blockly.Msg.ARD_STEPPER_SETUP_TIP = "Configures a stepper motor pinout and other settings."; // untranslated
-Blockly.Msg.ARD_STEPPER_SPEED = "set speed (rpm) to"; // untranslated
-Blockly.Msg.ARD_STEPPER_STEP = "move stepper"; // untranslated
-Blockly.Msg.ARD_STEPPER_STEPS = "steps"; // untranslated
-Blockly.Msg.ARD_STEPPER_STEP_TIP = "Turns the stepper motor a specific number of steps."; // untranslated
-Blockly.Msg.ARD_STEPPER_TWO_PINS = "2"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_MSBFIRST = "MSBFIRST"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_SHIFT = "data shift"; // untranslated
+Blockly.Msg.ARD_SPI_SETUP_TIP = "Configures the SPI peripheral."; // untranslated
+Blockly.Msg.ARD_SPI_TRANSRETURN_TIP =
+ "Send a SPI message to an specified slave device and get data back."; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_NONE = "none"; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_SLAVE = "to slave pin"; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_TIP =
+ "Send a SPI message to an specified slave device."; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_VAL = "transfer"; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_WARN1 =
+ "A setup block for %1 must be added to the workspace to use this block!"; // untranslated
+Blockly.Msg.ARD_SPI_TRANS_WARN2 = "Old pin value %1 is no longer available."; // untranslated
+Blockly.Msg.ARD_STEPPER_COMPONENT = "stepper"; // untranslated
+Blockly.Msg.ARD_STEPPER_DEFAULT_NAME = "MyStepper"; // untranslated
+Blockly.Msg.ARD_STEPPER_FOUR_PINS = "4"; // untranslated
+Blockly.Msg.ARD_STEPPER_MOTOR = "stepper motor:"; // untranslated
+Blockly.Msg.ARD_STEPPER_NUMBER_OF_PINS = "Number of pins"; // untranslated
+Blockly.Msg.ARD_STEPPER_PIN1 = "pin1#"; // untranslated
+Blockly.Msg.ARD_STEPPER_PIN2 = "pin2#"; // untranslated
+Blockly.Msg.ARD_STEPPER_PIN3 = "pin3#"; // untranslated
+Blockly.Msg.ARD_STEPPER_PIN4 = "pin4#"; // untranslated
+Blockly.Msg.ARD_STEPPER_REVOLVS = "how many steps per revolution"; // untranslated
+Blockly.Msg.ARD_STEPPER_SETUP = "Setup stepper motor"; // untranslated
+Blockly.Msg.ARD_STEPPER_SETUP_TIP =
+ "Configures a stepper motor pinout and other settings."; // untranslated
+Blockly.Msg.ARD_STEPPER_SPEED = "set speed (rpm) to"; // untranslated
+Blockly.Msg.ARD_STEPPER_STEP = "move stepper"; // untranslated
+Blockly.Msg.ARD_STEPPER_STEPS = "steps"; // untranslated
+Blockly.Msg.ARD_STEPPER_STEP_TIP =
+ "Turns the stepper motor a specific number of steps."; // untranslated
+Blockly.Msg.ARD_STEPPER_TWO_PINS = "2"; // untranslated
Blockly.Msg.ARD_TIME_DELAY = "Warte";
Blockly.Msg.ARD_TIME_DELAY_MICROS = "Mikrosekunden";
-Blockly.Msg.ARD_TIME_DELAY_MICRO_TIP = "Warte eine spezifischen Zeit in Microsekunden";
+Blockly.Msg.ARD_TIME_DELAY_MICRO_TIP =
+ "Warte eine spezifischen Zeit in Microsekunden";
Blockly.Msg.ARD_TIME_DELAY_TIP = "Warte spezifische Zeit in Millisekunden";
Blockly.Msg.ARD_TIME_INF = "Warte für immer (Beende Programm)";
Blockly.Msg.ARD_TIME_INF_TIP = "Stoppt das Programm.";
Blockly.Msg.ARD_TIME_MICROS = "Bereits vergangen Zeit (Mikrosekunden)";
-Blockly.Msg.ARD_TIME_MICROS_TIP = "Gibt eine Zahl in Microsekunden zurück, die der Zeitdauer des Aktuellen Programms entspricht. Muss als positiven Integer gespeichert werden"; // untranslated
+Blockly.Msg.ARD_TIME_MICROS_TIP =
+ "Gibt eine Zahl in Microsekunden zurück, die der Zeitdauer des Aktuellen Programms entspricht. Muss als positiven Integer gespeichert werden"; // untranslated
Blockly.Msg.ARD_TIME_MILLIS = "Bereits vergangen Zeit (Millisekunden)";
-Blockly.Msg.ARD_TIME_MILLIS_TIP = "Gibt eine Zahl in Millisekunden zurück, die der Zeitdauer des Aktuellen Programms entspricht. Muss als positiven Integer gespeichert werden"; // untranslated
+Blockly.Msg.ARD_TIME_MILLIS_TIP =
+ "Gibt eine Zahl in Millisekunden zurück, die der Zeitdauer des Aktuellen Programms entspricht. Muss als positiven Integer gespeichert werden"; // untranslated
Blockly.Msg.ARD_TIME_MS = "Millisekunden";
Blockly.Msg.ARD_TONEFREQ = "mit Frequenz";
Blockly.Msg.ARD_TONE_FREQ = "Frequenz";
Blockly.Msg.ARD_TONE_PIN = "Ton PIN#";
Blockly.Msg.ARD_TONE_PIN_TIP = "Erzeugt einen Ton an Pin";
-Blockly.Msg.ARD_TONE_TIP = "Erzeugt einen Ton an Pin mit einer spezifischen Frequenz zwischen 31 - 65535";
+Blockly.Msg.ARD_TONE_TIP =
+ "Erzeugt einen Ton an Pin mit einer spezifischen Frequenz zwischen 31 - 65535";
Blockly.Msg.ARD_TONE_WARNING = "Frequenz muss zwischen 31 - 65535 liegen";
Blockly.Msg.ARD_TYPE_ARRAY = "Array";
Blockly.Msg.ARD_TYPE_BOOL = "Boolean";
Blockly.Msg.ARD_TYPE_CHAR = "Zeichen";
-Blockly.Msg.ARD_TYPE_CHILDBLOCKMISSING = "ChildBlockMissing"; // untranslated
+Blockly.Msg.ARD_TYPE_CHILDBLOCKMISSING = "ChildBlockMissing"; // untranslated
Blockly.Msg.ARD_TYPE_DECIMAL = "Dezimalzahl";
Blockly.Msg.ARD_TYPE_LONG = "große Zahl";
Blockly.Msg.ARD_TYPE_NULL = "Null";
@@ -523,7 +698,7 @@ Blockly.Msg.senseBox_basic_red = "Rot";
Blockly.Msg.senseBox_basic_state = "Status";
Blockly.Msg.senseBox_off = "Aus";
Blockly.Msg.senseBox_on = "Ein";
-Blockly.Msg.senseBox_sensor = "Sensoren"
+Blockly.Msg.senseBox_sensor = "Sensoren";
Blockly.Msg.senseBox_output_filename = "Daten";
Blockly.Msg.senseBox_output_format = "Format:";
@@ -533,27 +708,32 @@ Blockly.Msg.senseBox_output_format = "Format:";
Blockly.Msg.senseBox_sd_create_file = "Erstelle Datei auf SD-Karte";
Blockly.Msg.senseBox_sd_write_file = "Schreibe Daten auf SD-Karte";
Blockly.Msg.senseBox_sd_open_file = "Öffne eine Datei auf der SD-Karte";
-Blockly.Msg.senseBox_sd_create_file_tooltip = "Erstellt eine Datei auf der Karte. Stecke das SD-Bee auf den Steckplatz **XBEE2**. Die **maximale** Länge des Dateinamen sind **8 Zeichen**. Die Datei sollte zuerst im *Setup()* erstellt werden"
-Blockly.Msg.senseBox_sd_write_file_tooptip = "Schreibe Daten auf die SD-Karte. Beachte, dass die Datei zuerst geöffnet werden muss.";
-Blockly.Msg.senseBox_sd_open_file_tooltip = "Öffne die Datei auf der SD-Karte, um Dateien zu speichern. Am Ende der Schleife wird die Datei automatisch wieder geschlossen.";
+Blockly.Msg.senseBox_sd_create_file_tooltip =
+ "Erstellt eine Datei auf der Karte. Stecke das SD-Bee auf den Steckplatz **XBEE2**. Die **maximale** Länge des Dateinamen sind **8 Zeichen**. Die Datei sollte zuerst im *Setup()* erstellt werden";
+Blockly.Msg.senseBox_sd_write_file_tooptip =
+ "Schreibe Daten auf die SD-Karte. Beachte, dass die Datei zuerst geöffnet werden muss.";
+Blockly.Msg.senseBox_sd_open_file_tooltip =
+ "Öffne die Datei auf der SD-Karte, um Dateien zu speichern. Am Ende der Schleife wird die Datei automatisch wieder geschlossen.";
Blockly.Msg.sensebox_sd_filename = "Daten";
Blockly.Msg.senseBox_SD_COMPONENT = "SD-Block";
Blockly.Msg.senseBox_sd_decimals = "Dezimalen";
-
Blockly.Msg.senseBox_output_linebreak = "Zeilenumbruch";
Blockly.Msg.senseBox_output_networkid = "NetzwerkID";
Blockly.Msg.senseBox_output_password = "Passwort";
Blockly.Msg.senseBox_output_safetosd = "Auf SD Karte speichern";
-Blockly.Msg.senseBox_output_safetosd_tip = "Speichert Messwerte auf SD Karte"
+Blockly.Msg.senseBox_output_safetosd_tip = "Speichert Messwerte auf SD Karte";
Blockly.Msg.senseBox_output_serialprint = "Auf Kommandozeile ausgeben";
-Blockly.Msg.senseBox_serial_tip = "Gibt Messwerte oder Daten auf dem Seriellen Monitor der Arduino IDE aus. Praktisch um ohne Display zu arbeiten";
+Blockly.Msg.senseBox_serial_tip =
+ "Gibt Messwerte oder Daten auf dem Seriellen Monitor der Arduino IDE aus. Praktisch um ohne Display zu arbeiten";
Blockly.Msg.senseBox_output_timestamp = "Zeitstempel";
Blockly.Msg.senseBox_led = "LED an digitalen";
-Blockly.Msg.senseBox_led_tip = "Einfache LED. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden";
+Blockly.Msg.senseBox_led_tip =
+ "Einfache LED. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden";
Blockly.Msg.senseBox_piezo = "Piezo an digital";
-Blockly.Msg.senseBox_piezo_tip = "Piezo an digital PIN. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden";
+Blockly.Msg.senseBox_piezo_tip =
+ "Piezo an digital PIN. Beim Anschluss sollte immer ein Vorwiderstand verwendet werden";
Blockly.Msg.senseBox_foto = "Fotowiderstand";
Blockly.Msg.senseBox_foto_tip = "Fotowiderstand";
Blockly.Msg.senseBox_hum = "Luftfeuchtigkeit in %";
@@ -571,29 +751,31 @@ Blockly.Msg.senseBox_pressure_tip = "Luftdrucksensor";
Blockly.Msg.senseBox_pressure_referencePressure = "Luftdruck auf NN";
Blockly.Msg.senseBox_pressure_referencePressure_dim = "hPa";
Blockly.Msg.senseBox_sound = "Mikrofon";
-Blockly.Msg.senseBox_sound_tip = "Gibt den Messwert des Mikrofons in Volt zurück";
+Blockly.Msg.senseBox_sound_tip =
+ "Gibt den Messwert des Mikrofons in Volt zurück";
/**
* RGB-LED
*/
-Blockly.Msg.senseBox_rgb_led = "RGB-LED"
-Blockly.Msg.senseBox_rgb_led_tip = "RGB-LED benötigt einen digitalen Pin und eine Stromkreis ";
-
+Blockly.Msg.senseBox_rgb_led = "RGB-LED";
+Blockly.Msg.senseBox_rgb_led_tip =
+ "RGB-LED benötigt einen digitalen Pin und eine Stromkreis ";
/**
* Temperature and Humidity Sensor (HDC1080)
*/
Blockly.Msg.senseBox_temp = "Temperatur in °C";
Blockly.Msg.senseBox_temp_hum = "Temperatur-/Luftfeuchtigkeitssensor (HDC1080)";
-Blockly.Msg.senseBox_temp_hum_tooltip = "Dieser Block gibt dir die Messwerte des Temperatur- und Luftfeuchtigkeitssensor zurück. Schließe den Sensor an einen der 5 I2C Anschlüsse an. Messwert wird mit 2 Nachkommastellen ausgegeben.";
+Blockly.Msg.senseBox_temp_hum_tooltip =
+ "Dieser Block gibt dir die Messwerte des Temperatur- und Luftfeuchtigkeitssensor zurück. Schließe den Sensor an einen der 5 I2C Anschlüsse an. Messwert wird mit 2 Nachkommastellen ausgegeben.";
/**
* Ultraschalldistanzsensor
*/
Blockly.Msg.senseBox_ultrasonic = "Ultraschall-Abstandssensor an Port";
-Blockly.Msg.senseBox_ultrasonic_trigger = "Trigger"
-Blockly.Msg.senseBox_ultrasonic_echo = "Echo"
+Blockly.Msg.senseBox_ultrasonic_trigger = "Trigger";
+Blockly.Msg.senseBox_ultrasonic_echo = "Echo";
Blockly.Msg.senseBox_ultrasonic_port_A = "A";
Blockly.Msg.senseBox_ultrasonic_port_B = "B";
Blockly.Msg.senseBox_ultrasonic_port_C = "C";
@@ -601,13 +783,13 @@ Blockly.Msg.senseBox_ultrasonic_tooltip = `Misst die Distanz mithilfe von Ultras
- Trigger: Grünes Kabel
- Echo: gelbes Kabel`;
-
/**
* UV and Lightsensor
*/
Blockly.Msg.senseBox_value = "Messwert:";
Blockly.Msg.senseBox_uv_light = "Helligkeit-/UV-Sensor";
-Blockly.Msg.senseBox_uv_light_tooltip = "Sensor misst UV-Licht oder die Helligkeit. Die Helligkeit wird als **Ganzezahl** in Lux ausgegeben. Die UV-Intensität als **Kommazahl** in µW/cm².";
+Blockly.Msg.senseBox_uv_light_tooltip =
+ "Sensor misst UV-Licht oder die Helligkeit. Die Helligkeit wird als **Ganzezahl** in Lux ausgegeben. Die UV-Intensität als **Kommazahl** in µW/cm².";
Blockly.Msg.senseBox_uv = "UV-Intensität in µW/cm²";
Blockly.Msg.senseBox_light = "Beleuchtungsstärke in Lux";
@@ -633,18 +815,20 @@ Blockly.Msg.senseBox_bmx055_compass_tip = "Lage Sensor";
Blockly.Msg.senseBox_bmx055_gyroscope_tip = "Lage Sensor";
Blockly.Msg.senseBox_bmx055_x = "X-Richtung";
Blockly.Msg.senseBox_bmx055_y = "Y-Richtung";
-Blockly.Msg.senseBox_bmx055_accelerometer_tooltip = `Dieser Block gibt dir den Messwert des Beschleunigungssensors der direkt auf der senseBox MCU aufgelötet ist. Im Dropdown Menü kannst du die Richtung und den Messbereich auswählen.`
-
+Blockly.Msg.senseBox_bmx055_accelerometer_tooltip = `Dieser Block gibt dir den Messwert des Beschleunigungssensors der direkt auf der senseBox MCU aufgelötet ist. Im Dropdown Menü kannst du die Richtung und den Messbereich auswählen.`;
/**
* WiFi
*/
Blockly.Msg.senseBox_wifi_connect = "Verbinde mit WLAN";
Blockly.Msg.senseBox_wifi_ssid = "Netzwerkname";
-Blockly.Msg.senseBox_wifi_tooltip = "Stellt eine Verbindung mit einem WLAN-Netzwerk her. Möchtest du dich mit einem ungesicheren Netzwerk (z.B. Freifunk) verbinden lösche das Feld Passwort. Das WiFi-Bee muss auf den Steckplatz **XBEE1** aufgesteckt werden.";
+Blockly.Msg.senseBox_wifi_tooltip =
+ "Stellt eine Verbindung mit einem WLAN-Netzwerk her. Möchtest du dich mit einem ungesicheren Netzwerk (z.B. Freifunk) verbinden lösche das Feld Passwort. Das WiFi-Bee muss auf den Steckplatz **XBEE1** aufgesteckt werden.";
Blockly.Msg.senseBox_wifi_startap = "Initialisiere WLAN Access Point";
-Blockly.Msg.senseBox_wifi_startap_tooltip = "Erstellt einen WiFi-Accesspoint zu dem du dich verbinden kannst. Beachte, dass immer nur 1 Gerät gleichzeitig verbunden werden kann.";
-Blockly.Msg.senseBox_wifi_helpurl = "https://docs.sensebox.de/blockly/blockly-web-wifi/"
+Blockly.Msg.senseBox_wifi_startap_tooltip =
+ "Erstellt einen WiFi-Accesspoint zu dem du dich verbinden kannst. Beachte, dass immer nur 1 Gerät gleichzeitig verbunden werden kann.";
+Blockly.Msg.senseBox_wifi_helpurl =
+ "https://docs.sensebox.de/blockly/blockly-web-wifi/";
/**
* openSenseMap
*/
@@ -661,19 +845,18 @@ Blockly.Msg.senseBox_osem_mobile = "Mobil";
Blockly.Msg.senseBox_osem_access_token = "API Schlüssel";
/**
- * Feinstaubsensor (SDS011)
+ * Feinstaubsensor (SDS011)
*/
Blockly.Msg.senseBox_sds011 = "Feinstaubsensor";
Blockly.Msg.senseBox_sds011_dimension = "in µg/m³ an";
Blockly.Msg.senseBox_sds011_pm25 = "PM2.5";
Blockly.Msg.senseBox_sds011_pm10 = "PM10";
-Blockly.Msg.senseBox_sds011_tooltip = "Dieser Block gibt dir den Messwert des Feinstaubsensor. Schließe den Feinstaubsensor an einen der 2 **Serial/UART** Anschlüssen an. Im Dropdown Menü zwischen PM2.5 und PM10 auswählen. Der Messwert wird dir als **Kommazahl** in µg/m3"
+Blockly.Msg.senseBox_sds011_tooltip =
+ "Dieser Block gibt dir den Messwert des Feinstaubsensor. Schließe den Feinstaubsensor an einen der 2 **Serial/UART** Anschlüssen an. Im Dropdown Menü zwischen PM2.5 und PM10 auswählen. Der Messwert wird dir als **Kommazahl** in µg/m3";
Blockly.Msg.senseBox_sds011_serial1 = "Serial1";
Blockly.Msg.senseBox_sds011_serial2 = "Serial2";
-
-
/**
* Display
*/
@@ -681,21 +864,25 @@ Blockly.Msg.senseBox_sds011_serial2 = "Serial2";
Blockly.Msg.senseBox_display_beginDisplay = "Display initialisieren";
Blockly.Msg.senseBox_display_beginDisplay_tooltip = `Initialisiert das Display. Dieser Block muss im Setup() verwendet werden.
**Anschluss:** I2C
-`
-Blockly.Msg.senseBox_display_clearDisplay_tooltip = "Löscht die Anzeige auf dem Display. Sollte immer zu Begin oder am Ende der Endlosschleife aufgerufen werden.";
+`;
+Blockly.Msg.senseBox_display_clearDisplay_tooltip =
+ "Löscht die Anzeige auf dem Display. Sollte immer zu Begin oder am Ende der Endlosschleife aufgerufen werden.";
Blockly.Msg.senseBox_display_clearDisplay = "Display löschen";
Blockly.Msg.senseBox_display_printDisplay = "Schreibe Text/Zahl";
-Blockly.Msg.senseBox_display_printDisplay_tooltip = "Zeigt eine Zahl/Text auf dem Display an. Über die X- und Y-Koordinaten kann die Position auf dem Display bestimmt werden. Die Schriftgröße lässt sich in ganzzahligen Werten zwischen 1 und 4 einstellen. Das Display hat eine Auflösung von 128x64 Pixeln (X- und Y-Achse)";
+Blockly.Msg.senseBox_display_printDisplay_tooltip =
+ "Zeigt eine Zahl/Text auf dem Display an. Über die X- und Y-Koordinaten kann die Position auf dem Display bestimmt werden. Die Schriftgröße lässt sich in ganzzahligen Werten zwischen 1 und 4 einstellen. Das Display hat eine Auflösung von 128x64 Pixeln (X- und Y-Achse)";
Blockly.Msg.senseBox_display_printDisplay_x = "x-Koordinate";
Blockly.Msg.senseBox_display_printDisplay_y = "y-Koordinate";
Blockly.Msg.senseBox_display_printDisplay_value = "Wert";
Blockly.Msg.senseBox_display_setSize = "Schriftgröße";
-Blockly.Msg.senseBox_display_setSize_tip = "Ändere die Schriftgröße auf einen Wert zwischen 1 und 10.";
+Blockly.Msg.senseBox_display_setSize_tip =
+ "Ändere die Schriftgröße auf einen Wert zwischen 1 und 10.";
Blockly.Msg.senseBox_display_color = "Schriftfarbe";
Blockly.Msg.senseBox_display_white = "Weiß";
Blockly.Msg.senseBox_display_black = "Schwarz";
Blockly.Msg.sensebox_display_show = "Zeige auf dem Display";
-Blockly.Msg.sensebox_display_show_tip = "Zeigt den Nachfolgenden Inhalt auf dem Bildschirm";
+Blockly.Msg.sensebox_display_show_tip =
+ "Zeigt den Nachfolgenden Inhalt auf dem Bildschirm";
Blockly.Msg.senseBox_dipslay_plotTitle = "Titel";
Blockly.Msg.senseBox_display_plotDisplay = "Zeichne Diagramm";
Blockly.Msg.senseBox_display_plotXLabel = "X-Achsen Beschriftung";
@@ -706,23 +893,27 @@ Blockly.Msg.senseBox_display_plotYRange1 = "Y-Wertebereich Anfang";
Blockly.Msg.senseBox_display_plotYRange2 = "Y-Wertebereich Ende";
Blockly.Msg.senseBox_display_plotXTick = "X-Linienabstand";
Blockly.Msg.senseBox_display_plotYTick = "Y-Linienabstand";
-Blockly.Msg.senseBox_display_printDisplay_tooltip = "Mit diesem Block können automatisch Diagramme auf dem Display erstellt werden."
+Blockly.Msg.senseBox_display_printDisplay_tooltip =
+ "Mit diesem Block können automatisch Diagramme auf dem Display erstellt werden.";
Blockly.Msg.senseBox_display_plotTimeFrame = "Zeitabschnitt";
Blockly.Msg.sensebox_display_fillCircle = "Zeichne Punkt";
Blockly.Msg.sensebox_display_fillCircle_radius = "Radius";
-Blockly.Msg.senseBox_display_fillCircle_tooltip = "Mit diesem Block kann ein Punkt auf dem Display angezeigt werden. Über die Koordinaten kannst du den Punkt auf dem Display platzieren und mithilfe des Radius die Größe bestimmen."
+Blockly.Msg.senseBox_display_fillCircle_tooltip =
+ "Mit diesem Block kann ein Punkt auf dem Display angezeigt werden. Über die Koordinaten kannst du den Punkt auf dem Display platzieren und mithilfe des Radius die Größe bestimmen.";
Blockly.Msg.sensebox_display_drawRectangle = "Zeichne Rechteck";
Blockly.Msg.sensebox_display_drawRectangle_width = "Breite";
Blockly.Msg.sensebox_display_drawRectangle_height = "Höhe";
-Blockly.Msg.senseBox_display_drawRectangle_tooltip = "Dieser Block zeichnet ein Rechteck auf das Display. Mit den X- und Y-Koordinaten wird die Position der oberen linken Ecke des Rechtecks auf dem Display bestimmt. Die Höhe und Breite wird in Pixeln angegeben und mit der Checkbox 'Ausgefüllt' kann ausgewählt werden ob das Rechteck ausgefüllt oder nur als Rahmen angezeigt wird."
+Blockly.Msg.senseBox_display_drawRectangle_tooltip =
+ "Dieser Block zeichnet ein Rechteck auf das Display. Mit den X- und Y-Koordinaten wird die Position der oberen linken Ecke des Rechtecks auf dem Display bestimmt. Die Höhe und Breite wird in Pixeln angegeben und mit der Checkbox 'Ausgefüllt' kann ausgewählt werden ob das Rechteck ausgefüllt oder nur als Rahmen angezeigt wird.";
Blockly.Msg.senseBox_display_filled = "Ausgefüllt";
Blockly.Msg.senseBox_display_fastPrint_show = "Zeige Messwerte";
Blockly.Msg.senseBox_display_fastPrint_title = "Titel";
Blockly.Msg.senseBox_display_fastPrint_value = "Messwert";
Blockly.Msg.senseBox_display_fastPrint_dimension = "Einheit";
-Blockly.Msg.sensebox_display_fastPrint_tooltip = "Zeigt zwei Messwerte auf dem Display an. Wähle eine Überschrift für jeden Messwert und gib die Einheit an."
-Blockly.Msg.senseBox_display_helpurl = "https://docs.sensebox.de/blockly/blockly-display/"
-
+Blockly.Msg.sensebox_display_fastPrint_tooltip =
+ "Zeigt zwei Messwerte auf dem Display an. Wähle eine Überschrift für jeden Messwert und gib die Einheit an.";
+Blockly.Msg.senseBox_display_helpurl =
+ "https://docs.sensebox.de/blockly/blockly-display/";
// GPS
Blockly.Msg.senseBox_gps_getValues = "GPS Modul";
@@ -735,21 +926,21 @@ Blockly.Msg.senseBox_gps_time = "Uhrzeit";
Blockly.Msg.senseBox_gps_timeStamp = "Zeitstempel (RFC 3339)";
Blockly.Msg.senseBox_gps_tooltip = `Liest das GPS Modul aus und gibt dir die Standortinformationen. Längen- und Breitengrad werden als Kommazahl mit 6 Nachkommastellen ausgegeben.
**Anschluss: I2C**
-`
+`;
-
-Blockly.Msg.senseBox_send_mobile_to_osem = "Sende Messwert und Standort an die openSenseMap";
-Blockly.Msg.senseBox_send_mobile_to_osem_tip = "Sende Messwert und Standort an die openSenseMap";
+Blockly.Msg.senseBox_send_mobile_to_osem =
+ "Sende Messwert und Standort an die openSenseMap";
+Blockly.Msg.senseBox_send_mobile_to_osem_tip =
+ "Sende Messwert und Standort an die openSenseMap";
/**
* Interval Block
*/
Blockly.Msg.senseBox_interval_timer = "Messintervall";
-Blockly.Msg.senseBox_interval = "ms"
+Blockly.Msg.senseBox_interval = "ms";
Blockly.Msg.senseBox_interval_timer_tip = "Intervall";
Blockly.Msg.senseBox_soil = "Bodenfeuchte";
-Blockly.Msg.senseBox_watertemperature = "Wassertemperatur"
-
+Blockly.Msg.senseBox_watertemperature = "Wassertemperatur";
/**
* Cases
@@ -769,46 +960,59 @@ Blockly.Msg.senseBox_button_wasPressed = "wurde gedrückt";
Blockly.Msg.senseBox_button_tooltip = `Dieser Block gibt dir den Status des angeschlossenen Buttons. Im Dropdown Menü können verschiedene Modi für den Button ausgewählt werden. Angesteuert können entweder der on Board Button oder ein Button, der an einen der 6 digitalen Pins angeschlossen ist. verschiedene Modi:
- "ist gedrückt": Mit diesem Modus kannst du abfragen ob der Block gerade gedrückt wird. Du erhältst entweder den Wert TRUE oder FALSE.
- "wurde gedrückt": Mit diesem Modus kannst du abfragen ob der Block gedrückt wurde. Erst wenn der Knopf gedrückt und wieder losgelassen wurde erhältst du TRUE zurück
-- "als Schalter": Wenn du diesen Block verwendest kannst du den Knopf wie ein Lichtschalter verwenden. Der Status wird gespeichert bis der Button erneut gedrückt wird`
+- "als Schalter": Wenn du diesen Block verwendest kannst du den Knopf wie ein Lichtschalter verwenden. Der Status wird gespeichert bis der Button erneut gedrückt wird`;
/**
* Webserver
*/
Blockly.Msg.senseBox_ip_address = "IP-Adresse";
-Blockly.Msg.senseBox_ip_address_tip = "Gibt die IP-Adresse als Zeichenkette zurück.";
-Blockly.Msg.senseBox_init_http_server_tip = "Initialisiert einen http-Server auf dem angegebenen Port";
+Blockly.Msg.senseBox_ip_address_tip =
+ "Gibt die IP-Adresse als Zeichenkette zurück.";
+Blockly.Msg.senseBox_init_http_server_tip =
+ "Initialisiert einen http-Server auf dem angegebenen Port";
Blockly.Msg.senseBox_init_http_server = "HTTP-Server initialisieren";
Blockly.Msg.senseBox_http_on_client_connect = "Wenn Client verbunden ist:";
-Blockly.Msg.senseBox_http_on_client_connect_tip = "Überprüft, ob ein Client verbunden ist und führt in diesem Fall die angegebene Anweisung aus";
+Blockly.Msg.senseBox_http_on_client_connect_tip =
+ "Überprüft, ob ein Client verbunden ist und führt in diesem Fall die angegebene Anweisung aus";
Blockly.Msg.senseBox_http_method = "Methode";
Blockly.Msg.senseBox_http_method_tip = "Methode des aktuellen HTTP-Requests";
Blockly.Msg.senseBox_http_uri = "URI";
-Blockly.Msg.senseBox_http_uri_tip = "URI der angeforderten Ressource der aktuellen HTTP-Anfrage";
+Blockly.Msg.senseBox_http_uri_tip =
+ "URI der angeforderten Ressource der aktuellen HTTP-Anfrage";
Blockly.Msg.senseBox_http_user_agent = "User-Agent";
-Blockly.Msg.senseBox_http_user_agent_tip = "Der Benutzer-Agent sendet zusammen mit der aktuellen HTTP-Anfrage";
+Blockly.Msg.senseBox_http_user_agent_tip =
+ "Der Benutzer-Agent sendet zusammen mit der aktuellen HTTP-Anfrage";
Blockly.Msg.senseBox_http_protocol_version = "HTTP Version";
-Blockly.Msg.senseBox_http_protocol_version_tip = "The HTTP Version of the current HTTP request";
-Blockly.Msg.senseBox_http_success_tip = "Senden einer erfolgreichen HTTP-Antwort mit Inhalt";
-Blockly.Msg.senseBox_http_not_found_tip = "Senden einer vordefinierten 404 HTTP-Antwort.";
+Blockly.Msg.senseBox_http_protocol_version_tip =
+ "The HTTP Version of the current HTTP request";
+Blockly.Msg.senseBox_http_success_tip =
+ "Senden einer erfolgreichen HTTP-Antwort mit Inhalt";
+Blockly.Msg.senseBox_http_not_found_tip =
+ "Senden einer vordefinierten 404 HTTP-Antwort.";
Blockly.Msg.senseBox_http_success = "Erfolgreiche";
Blockly.Msg.senseBox_http_success_l2 = "HTTP-Antwort";
-Blockly.Msg.senseBox_http_success_buildhtml = "HTML:"
+Blockly.Msg.senseBox_http_success_buildhtml = "HTML:";
Blockly.Msg.senseBox_http_not_found = "404 Fehler";
Blockly.Msg.senseBox_html_document = "HTML";
Blockly.Msg.senseBox_html_header = "
";
Blockly.Msg.senseBox_html_header_end = "";
Blockly.Msg.senseBox_html_body = "";
Blockly.Msg.senseBox_html_body_end = "";
-Blockly.Msg.senseBox_html_general_tag_tip = "Ein allgemeiner HTML-Tag-Baustein.";
-Blockly.Msg.senseBox_html_document_tip = "Ein Block zum Erzeugen eines HTML-Dokuments...";
-Blockly.Msg.senseBox_tag_first_mutator_tip = "Mögliche Erweiterungen zu diesem Block...";
-Blockly.Msg.senseBox_tag_optional_mutator_tip = "Mehr Tags zum Block hinzufügen";
+Blockly.Msg.senseBox_html_general_tag_tip =
+ "Ein allgemeiner HTML-Tag-Baustein.";
+Blockly.Msg.senseBox_html_document_tip =
+ "Ein Block zum Erzeugen eines HTML-Dokuments...";
+Blockly.Msg.senseBox_tag_first_mutator_tip =
+ "Mögliche Erweiterungen zu diesem Block...";
+Blockly.Msg.senseBox_tag_optional_mutator_tip =
+ "Mehr Tags zum Block hinzufügen";
Blockly.Msg.senseBox_sd_web_readHTML = "Lese HTML von SD Karte";
Blockly.Msg.sensebox_web_readHTML_filename = "Datei:";
Blockly.Msg.senseBox_bme680 = "Umweltsensor (BME680)";
Blockly.Msg.senseBox_bme680_tip = "Gibt Messwerte des BME680 zurück";
-Blockly.Msg.senseBox_bme680_warning = "Achtung. Gas (VOC) kann nicht gleichzeitig mit anderen Parametern gemessen werden"
+Blockly.Msg.senseBox_bme680_warning =
+ "Achtung. Gas (VOC) kann nicht gleichzeitig mit anderen Parametern gemessen werden";
Blockly.Msg.senseBox_gas = "Gas (VOC)";
Blockly.Msg.sensebox_soil_smt50 = "Bodenfeuchte/-temperatur (SMT50)";
@@ -823,7 +1027,7 @@ Blockly.Msg.senseBox_LoRa_app_key = "App Key (msb)";
Blockly.Msg.senseBox_LoRa_nwskey_id = "Network Session Key (msb)";
Blockly.Msg.senseBox_LoRa_appskey_id = "App Session Key (msb)";
Blockly.Msg.senseBox_LoRa_devaddr_id = "Device Adress";
-Blockly.Msg.senseBox_LoRa_interval = "Intervall in Minuten"
+Blockly.Msg.senseBox_LoRa_interval = "Intervall in Minuten";
Blockly.Msg.senseBox_measurement = "Messung";
Blockly.Msg.senseBox_measurements = "Messungen";
@@ -831,7 +1035,7 @@ Blockly.Msg.senseBox_LoRa_send_message = "Sende als Lora Nachricht";
Blockly.Msg.senseBox_LoRa_send_cayenne = "Sende als Cayenne Nachricht";
Blockly.Msg.senseBox_LoRa_cayenne_temperature = "Temperatur";
Blockly.Msg.senseBox_LoRa_cayenne_channel = "Kanal";
-Blockly.Msg.senseBox_LoRa_cayenne_humidity = "Luftfeuchtigkeit"
+Blockly.Msg.senseBox_LoRa_cayenne_humidity = "Luftfeuchtigkeit";
Blockly.Msg.senseBox_LoRa_cayenne_pressure = "Luftdruck";
Blockly.Msg.senseBox_LoRa_cayenne_luminosity = "Helligkeit";
Blockly.Msg.senseBox_LoRa_cayenne_analog = "Analoger Wert";
@@ -842,34 +1046,41 @@ Blockly.Msg.senseBox_LoRa_cayenne_lat = "Breitengrad";
Blockly.Msg.senseBox_LoRa_cayenne_lng = "Längengrad";
Blockly.Msg.senseBox_LoRa_cayenne_alt = "Höhe";
-Blockly.Msg.senseBox_LoRa_cayenne_tip = "Sende Daten als Cayenne Payload Format"
+Blockly.Msg.senseBox_LoRa_cayenne_tip =
+ "Sende Daten als Cayenne Payload Format";
Blockly.Msg.senseBox_LoRa_cayenne_gps_tip = "Sende GPS";
-Blockly.Msg.senseBox_LoRa_cayenne_temperature_tip = "Sendet Temperaturwert mit einer Nachkommastelle";
-Blockly.Msg.senseBox_LoRa_cayenne_pressure_tip = "Sendet Luftdruck mit einer Nachkommastelle";
+Blockly.Msg.senseBox_LoRa_cayenne_temperature_tip =
+ "Sendet Temperaturwert mit einer Nachkommastelle";
+Blockly.Msg.senseBox_LoRa_cayenne_pressure_tip =
+ "Sendet Luftdruck mit einer Nachkommastelle";
Blockly.Msg.senseBox_LoRa_cayenne_luminosity_tip = "Sendet Helligkeitswert";
-Blockly.Msg.senseBox_LoRa_cayenne_analog_tip = "Sendet einen Dezimalwert mit einer Nachkommastelle";
+Blockly.Msg.senseBox_LoRa_cayenne_analog_tip =
+ "Sendet einen Dezimalwert mit einer Nachkommastelle";
Blockly.Msg.senseBox_LoRa_message_tip = "Sende eine Nachricht über LoRa";
-Blockly.Msg.senseBox_LoRa_sensor_tip = "Sende eine Sensorwert mit einer bestimmten Anzahl an Bytes";
-Blockly.Msg.senseBox_LoRa_init_abp_tip = 'Initialisiere die LoRa übertragung. Kopiere die IDs im lsb Format [test](https://test.html)';
+Blockly.Msg.senseBox_LoRa_sensor_tip =
+ "Sende eine Sensorwert mit einer bestimmten Anzahl an Bytes";
+Blockly.Msg.senseBox_LoRa_init_abp_tip =
+ "Initialisiere die LoRa übertragung. Kopiere die IDs im lsb Format [test](https://test.html)";
-Blockly.Msg.senseBox_LoRa_init_otaa_tip = "Initialisiere die LoRa übertragung. Kopiere die ID's im lsb Format";
+Blockly.Msg.senseBox_LoRa_init_otaa_tip =
+ "Initialisiere die LoRa übertragung. Kopiere die ID's im lsb Format";
/**
* Windspeed
*/
Blockly.Msg.senseBox_windspeed = "Windgeschwindigkeitssensor";
-Blockly.Msg.senseBox_windspeed_tooltip = ""
+Blockly.Msg.senseBox_windspeed_tooltip = "";
/*
-* Soundsensor
-*/
+ * Soundsensor
+ */
Blockly.Msg.senseBox_soundsensor_dfrobot = "Soundsensor (DF Robot)";
-Blockly.Msg.senseBox_soundsensor_dfrobot_tooltip = ""
+Blockly.Msg.senseBox_soundsensor_dfrobot_tooltip = "";
/*
-* BME680
-*/
+ * BME680
+ */
Blockly.Msg.senseBox_bme680 = "Umweltsensor (BME680)";
Blockly.Msg.senseBox_bme_iaq = "Innenraumluftqualität (IAQ)";
Blockly.Msg.senseBox_bme_iaq_accuracy = "Kalibrierungswert";
@@ -877,31 +1088,33 @@ Blockly.Msg.senseBox_bme_co2 = "CO2 Äquivalent";
Blockly.Msg.senseBox_bme_breatheVocEquivalent = "Atemluft VOC Äquivalent";
Blockly.Msg.senseBox_bme_tooltip = "Gibt Messwerte des BME680 zurück";
-
/**
* Truebner SMT50
*/
Blockly.Msg.sensebox_soil_stm50 = "Bodenfeuchte/-temperatur (SMT50)";
/*
-* Telegram
-*/
-Blockly.Msg.senseBox_telegram_init = "Telegram Bot initialisieren"
-Blockly.Msg.senseBox_telegram_token = "Token"
-Blockly.Msg.senseBox_telegram_do = "Telegram mache"
-Blockly.Msg.senseBox_telegram_do_tooltip = "Füge in diese Schleife die Blöcke ein, die dein Telegram Bot ausführen soll. Beachte hierbei, dass du Aktionen bei einer bestimmten Nachricht ausführen lassen kannst oder auch selbst eine Nachricht versenden werden kann."
-Blockly.Msg.senseBox_telegram_do_on_message = "bei Nachricht"
-Blockly.Msg.senseBox_telegram_message = "Nachricht"
-Blockly.Msg.senseBox_telegram_message_tooltip = "Führe eine Aktion aus, wenn der Telegram eine *Nachricht* empfangen hat."
-Blockly.Msg.senseBox_telegram_send = "Sende Nachricht"
-Blockly.Msg.senseBox_telegram_send_tooltip = "Dein Telgram Bot sendet dir eine Nachricht auf dein Handy. Die Nachricht kann zum Beispiel ein Alarm oder auch ein Messwert sein"
-Blockly.Msg.senseBox_telegram_init_tooltip = "Initialisiere den Telegram Bot. Verwende diesen Block in der **Setup()-Schleife**. Den Token kannst du dir über den Telegram erstellen."
-Blockly.Msg.senseBox_telegram_helpurl = "https://sensebox.de/projects/de/2019-12-15-telegram-blockly"
-
-
+ * Telegram
+ */
+Blockly.Msg.senseBox_telegram_init = "Telegram Bot initialisieren";
+Blockly.Msg.senseBox_telegram_token = "Token";
+Blockly.Msg.senseBox_telegram_do = "Telegram mache";
+Blockly.Msg.senseBox_telegram_do_tooltip =
+ "Füge in diese Schleife die Blöcke ein, die dein Telegram Bot ausführen soll. Beachte hierbei, dass du Aktionen bei einer bestimmten Nachricht ausführen lassen kannst oder auch selbst eine Nachricht versenden werden kann.";
+Blockly.Msg.senseBox_telegram_do_on_message = "bei Nachricht";
+Blockly.Msg.senseBox_telegram_message = "Nachricht";
+Blockly.Msg.senseBox_telegram_message_tooltip =
+ "Führe eine Aktion aus, wenn der Telegram eine *Nachricht* empfangen hat.";
+Blockly.Msg.senseBox_telegram_send = "Sende Nachricht";
+Blockly.Msg.senseBox_telegram_send_tooltip =
+ "Dein Telgram Bot sendet dir eine Nachricht auf dein Handy. Die Nachricht kann zum Beispiel ein Alarm oder auch ein Messwert sein";
+Blockly.Msg.senseBox_telegram_init_tooltip =
+ "Initialisiere den Telegram Bot. Verwende diesen Block in der **Setup()-Schleife**. Den Token kannst du dir über den Telegram erstellen.";
+Blockly.Msg.senseBox_telegram_helpurl =
+ "https://sensebox.de/projects/de/2019-12-15-telegram-blockly";
/*
-* SCD30 CO2 Senso
-*/
+ * SCD30 CO2 Senso
+ */
Blockly.Msg.senseBox_scd30 = "CO2 Sensor (Sensirion SCD30)";
Blockly.Msg.senseBox_scd_tip = "Gibt den Wert des CO2 Sensors";
Blockly.Msg.senseBox_scd_co2 = "CO2 in ppm";
@@ -913,11 +1126,12 @@ Blockly.Msg.senseBox_ws2818_rgb_led = "Setze RGB-LED an";
Blockly.Msg.senseBox_ws2818_rgb_led_init = "RGB LED (WS2818) initialisieren";
Blockly.Msg.senseBox_ws2818_rgb_led_position = "Position";
Blockly.Msg.senseBox_ws2818_rgb_led_brightness = "Helligkeit";
-Blockly.Msg.senseBox_ws2818_rgb_led_tooltip = "Verändere mit diesem Block die Farbe deiner RGB-LED. Verbinde einen Block für die Farbe. Wenn mehrere RGB-LEDs miteinander verkettet werden kannst du über die Position bestimmen welche LED angesteuert wird. "
-Blockly.Msg.senseBox_ws2818_rgb_led_init_tooltip = "Schließe die RGB-LED an einen der drei **digital/analog Ports** an. Wenn mehrere RGB-LEDs miteinander verkettet werden kannst du über die Position bestimmen welche LED angesteuert wird. "
-Blockly.Msg.senseBox_ws2818_rgb_led_color = "Farbe"
-Blockly.Msg.senseBox_ws2818_rgb_led_number = "Anzahl"
-
+Blockly.Msg.senseBox_ws2818_rgb_led_tooltip =
+ "Verändere mit diesem Block die Farbe deiner RGB-LED. Verbinde einen Block für die Farbe. Wenn mehrere RGB-LEDs miteinander verkettet werden kannst du über die Position bestimmen welche LED angesteuert wird. ";
+Blockly.Msg.senseBox_ws2818_rgb_led_init_tooltip =
+ "Schließe die RGB-LED an einen der drei **digital/analog Ports** an. Wenn mehrere RGB-LEDs miteinander verkettet werden kannst du über die Position bestimmen welche LED angesteuert wird. ";
+Blockly.Msg.senseBox_ws2818_rgb_led_color = "Farbe";
+Blockly.Msg.senseBox_ws2818_rgb_led_number = "Anzahl";
/***
* MQTT
@@ -928,32 +1142,27 @@ Blockly.Msg.senseBox_mqtt_server = "Server";
Blockly.Msg.senseBox_mqtt_port = "Port";
Blockly.Msg.senseBox_mqtt_username = "Benutzername";
Blockly.Msg.senseBox_mqtt_password = "Passwort";
-Blockly.Msg.sensebox_mqtt_subscribe = "Subscribe to Feed"
+Blockly.Msg.sensebox_mqtt_subscribe = "Subscribe to Feed";
Blockly.Msg.senseBox_mqtt_publish = "Sende an Feed/Topic";
-
-
/**
* Add Translation for Blocks above
* ---------------------------------------------------------------
* Add Translation for the UI below
*/
-
-
/**
* Typed Variable Modal
*
*/
-
Blockly.Msg.TYPED_VAR_MODAL_CONFIRM_BUTTON = "Ok";
Blockly.Msg.TYPED_VAR_MODAL_VARIABLE_NAME_LABEL = "Variablen Name: ";
Blockly.Msg.TYPED_VAR_MODAL_TYPES_LABEL = "Variable Typen";
Blockly.Msg.TYPED_VAR_MODAL_CANCEL_BUTTON = "Abbrechen";
Blockly.Msg.TYPED_VAR_MODAL_TITLE = "Erstelle Variable";
-Blockly.Msg.TYPED_VAR_MODAL_INVALID_NAME = "Der Name ist ungültig, bitte versuche einen anderen."
-
+Blockly.Msg.TYPED_VAR_MODAL_INVALID_NAME =
+ "Der Name ist ungültig, bitte versuche einen anderen.";
/**
* Toolbox
@@ -972,72 +1181,87 @@ Blockly.Msg.toolbox_variables = "Variablen";
*
*/
-Blockly.Msg.tooltip_compile_code = "Code kompilieren"
+Blockly.Msg.tooltip_compile_code = "Code kompilieren";
Blockly.Msg.tooltip_save_blocks = "Blöcke speichern";
Blockly.Msg.tooltip_open_blocks = "Blöcke öffnen";
Blockly.Msg.tooltip_screenshot = "Screenshot erstellen";
Blockly.Msg.tooltip_clear_workspace = "Workspace zurücksetzen";
Blockly.Msg.tooltip_share_blocks = "Blöcke teilen";
Blockly.Msg.tooltip_show_code = "Code anzeigen";
-Blockly.Msg.tooltip_hide_code = "Code ausblenden"
-Blockly.Msg.tooltip_delete_project = "Projekt löschen"
-Blockly.Msg.tooltip_project_name = "Name des Projektes"
-Blockly.Msg.tooltip_download_project = "Projekt herunterladen"
-Blockly.Msg.tooltip_open_project = "Projekt öffnen"
-Blockly.Msg.tooltip_update_project = "Projekt aktualisieren"
-Blockly.Msg.tooltip_save_project = "Projekt speichern"
-Blockly.Msg.tooltip_create_project = "Projekt erstellen"
-Blockly.Msg.tooltip_share_project = "Projekt teilen"
-Blockly.Msg.tooltip_reset_workspace = "Workspace zurücksetzen"
-Blockly.Msg.tooltip_copy_link = "Link kopieren"
-Blockly.Msg.tooltip_trashcan_hide = 'gelöschte Blöcke ausblenden'
-Blockly.Msg.tooltip_trashcan_delete = 'Blöcke endgültig löschen'
-Blockly.Msg.tooltip_project_title = "Titel des Projektes"
-Blockly.Msg.tooltip_check_solution = "Lösung kontrollieren"
+Blockly.Msg.tooltip_hide_code = "Code ausblenden";
+Blockly.Msg.tooltip_delete_project = "Projekt löschen";
+Blockly.Msg.tooltip_project_name = "Name des Projektes";
+Blockly.Msg.tooltip_download_project = "Projekt herunterladen";
+Blockly.Msg.tooltip_open_project = "Projekt öffnen";
+Blockly.Msg.tooltip_update_project = "Projekt aktualisieren";
+Blockly.Msg.tooltip_save_project = "Projekt speichern";
+Blockly.Msg.tooltip_create_project = "Projekt erstellen";
+Blockly.Msg.tooltip_share_project = "Projekt teilen";
+Blockly.Msg.tooltip_reset_workspace = "Workspace zurücksetzen";
+Blockly.Msg.tooltip_copy_link = "Link kopieren";
+Blockly.Msg.tooltip_trashcan_hide = "gelöschte Blöcke ausblenden";
+Blockly.Msg.tooltip_trashcan_delete = "Blöcke endgültig löschen";
+Blockly.Msg.tooltip_project_title = "Titel des Projektes";
+Blockly.Msg.tooltip_check_solution = "Lösung kontrollieren";
/**
* Messages
*
*/
-Blockly.Msg.messages_delete_project_failed = "Fehler beim Löschen des Projektes. Versuche es noch einmal."
-Blockly.Msg.messages_reset_workspace_success = "Das Projekt wurde erfolgreich zurückgesetzt"
-Blockly.Msg.messages_PROJECT_UPDATE_SUCCESS = "Das Projekt wurde erfolgreich aktualisiert."
-Blockly.Msg.messages_GALLERY_UPDATE_SUCCESS = "Das Galerie-Projekt wurde erfolgreich aktualisiert."
-Blockly.Msg.messages_PROJECT_UPDATE_FAIL = "Fehler beim Aktualisieren des Projektes. Versuche es noch einmal."
-Blockly.Msg.messages_GALLERY_UPDATE_FAIL = "Fehler beim Aktualisieren des Galerie-Projektes. Versuche es noch einmal."
-Blockly.Msg.messages_gallery_save_fail_1 = "Fehler beim Speichern des "
-Blockly.Msg.messages_gallery_save_fail_2 = "Projektes. Versuche es noch einmal."
-Blockly.Msg.messages_SHARE_SUCCESS = 'Programm teilen'
-Blockly.Msg.messages_SHARE_FAIL = "Fehler beim Erstellen eines Links zum Teilen deines Programmes. Versuche es noch einmal."
-Blockly.Msg.messages_copylink_success = 'Link erfolgreich in Zwischenablage gespeichert.'
-Blockly.Msg.messages_rename_success_01 = 'Das Projekt wurde erfolgreich in '
-Blockly.Msg.messages_rename_success_02 = 'umbenannt.'
-Blockly.Msg.messages_newblockly_head = "Willkommen zur neuen Version Blockly für die senseBox"
-Blockly.Msg.messages_newblockly_text = "Die neue Blockly Version befindet sich zurzeit in der Testphase. Alle Neuigkeiten findet ihr hier: "
-Blockly.Msg.messages_GET_TUTORIAL_FAIL = 'Zurück zur Tutorials-Übersicht'
-Blockly.Msg.messages_LOGIN_FAIL = 'Der Benutzername oder das Passwort ist nicht korrekt.'
+Blockly.Msg.messages_delete_project_failed =
+ "Fehler beim Löschen des Projektes. Versuche es noch einmal.";
+Blockly.Msg.messages_reset_workspace_success =
+ "Das Projekt wurde erfolgreich zurückgesetzt";
+Blockly.Msg.messages_PROJECT_UPDATE_SUCCESS =
+ "Das Projekt wurde erfolgreich aktualisiert.";
+Blockly.Msg.messages_GALLERY_UPDATE_SUCCESS =
+ "Das Galerie-Projekt wurde erfolgreich aktualisiert.";
+Blockly.Msg.messages_PROJECT_UPDATE_FAIL =
+ "Fehler beim Aktualisieren des Projektes. Versuche es noch einmal.";
+Blockly.Msg.messages_GALLERY_UPDATE_FAIL =
+ "Fehler beim Aktualisieren des Galerie-Projektes. Versuche es noch einmal.";
+Blockly.Msg.messages_gallery_save_fail_1 = "Fehler beim Speichern des ";
+Blockly.Msg.messages_gallery_save_fail_2 =
+ "Projektes. Versuche es noch einmal.";
+Blockly.Msg.messages_SHARE_SUCCESS = "Programm teilen";
+Blockly.Msg.messages_SHARE_FAIL =
+ "Fehler beim Erstellen eines Links zum Teilen deines Programmes. Versuche es noch einmal.";
+Blockly.Msg.messages_copylink_success =
+ "Link erfolgreich in Zwischenablage gespeichert.";
+Blockly.Msg.messages_rename_success_01 = "Das Projekt wurde erfolgreich in ";
+Blockly.Msg.messages_rename_success_02 = "umbenannt.";
+Blockly.Msg.messages_newblockly_head =
+ "Willkommen zur neuen Version Blockly für die senseBox";
+Blockly.Msg.messages_newblockly_text =
+ "Die neue Blockly Version befindet sich zurzeit in der Testphase. Alle Neuigkeiten findet ihr hier: ";
+Blockly.Msg.messages_GET_TUTORIAL_FAIL = "Zurück zur Tutorials-Übersicht";
+Blockly.Msg.messages_LOGIN_FAIL =
+ "Der Benutzername oder das Passwort ist nicht korrekt.";
/**
* Share Dialog
*/
Blockly.Msg.sharedialog_headline = "Dein Link wurde erstellt.";
-Blockly.Msg.sharedialog_text = "Über den folgenden Link kannst du dein Programm teilen.";
+Blockly.Msg.sharedialog_text =
+ "Über den folgenden Link kannst du dein Programm teilen.";
/**
* Project rename Dialog
*/
Blockly.Msg.renamedialog_headline = "Projekt benennen";
-Blockly.Msg.renamedialog_text = "Bitte gib einen Namen für das Projekt ein und bestätige diesen mit einem Klick auf 'Bestätigen'."
+Blockly.Msg.renamedialog_text =
+ "Bitte gib einen Namen für das Projekt ein und bestätige diesen mit einem Klick auf 'Bestätigen'.";
/**
* Compile Dialog
*
*/
-Blockly.Msg.compiledialog_headline = "Fehler"
-Blockly.Msg.compiledialog_text = "Beim kompilieren ist ein Fehler aufgetreten. Überprüfe deine Blöcke und versuche es erneut"
+Blockly.Msg.compiledialog_headline = "Fehler";
+Blockly.Msg.compiledialog_text =
+ "Beim kompilieren ist ein Fehler aufgetreten. Überprüfe deine Blöcke und versuche es erneut";
/**
* Buttons
@@ -1049,10 +1273,10 @@ Blockly.Msg.button_close = "Schließen";
Blockly.Msg.button_accept = "Bestätigen";
Blockly.Msg.button_compile = "Kompilieren";
Blockly.Msg.button_create_variableCreate = "Erstelle Variable";
-Blockly.Msg.button_back = "Zurück"
-Blockly.Msg.button_next = "nächster Schritt"
-Blockly.Msg.button_tutorial_overview = "Tutorial Übersicht"
-Blockly.Msg.button_login = "Anmelden"
+Blockly.Msg.button_back = "Zurück";
+Blockly.Msg.button_next = "nächster Schritt";
+Blockly.Msg.button_tutorial_overview = "Tutorial Übersicht";
+Blockly.Msg.button_login = "Anmelden";
/**
*
@@ -1064,143 +1288,155 @@ Blockly.Msg.projectname = "Projektname";
/**
* Settings
*/
-Blockly.Msg.settings_head = "Einstellungen"
-Blockly.Msg.settings_language = "Sprache"
-Blockly.Msg.settings_language_text = "Auswahl der Sprache gilt für die gesamte Anwendung. Es kann zwischen Deutsch und Englisch unterschieden werden."
-Blockly.Msg.settings_language_de = "Deutsch"
-Blockly.Msg.settings_language_en = "Englisch"
-Blockly.Msg.settings_renderer = "Renderer"
-Blockly.Msg.settings_renderer_text = "Der eingestellte Renderer bestimmt das Aussehen der Blöcke. Es kann zwischen 'Geras' und 'Zelos' unterschieden werden, wobei 'Zelos' insbesondere für eine Touch-Anwendung geeignet ist."
-Blockly.Msg.settings_statistics = "Statistiken"
-Blockly.Msg.settings_statistics_text = "Die Anzeige von Statistiken zur Nutzung der Blöcke oberhalb der Arbeitsfläche kann ein- oder ausgeblendet werden."
-Blockly.Msg.settings_statistics_on = "An"
-Blockly.Msg.settings_statistics_off = "Aus"
+Blockly.Msg.settings_head = "Einstellungen";
+Blockly.Msg.settings_language = "Sprache";
+Blockly.Msg.settings_language_text =
+ "Auswahl der Sprache gilt für die gesamte Anwendung. Es kann zwischen Deutsch und Englisch unterschieden werden.";
+Blockly.Msg.settings_language_de = "Deutsch";
+Blockly.Msg.settings_language_en = "Englisch";
+Blockly.Msg.settings_renderer = "Renderer";
+Blockly.Msg.settings_renderer_text =
+ "Der eingestellte Renderer bestimmt das Aussehen der Blöcke. Es kann zwischen 'Geras' und 'Zelos' unterschieden werden, wobei 'Zelos' insbesondere für eine Touch-Anwendung geeignet ist.";
+Blockly.Msg.settings_statistics = "Statistiken";
+Blockly.Msg.settings_statistics_text =
+ "Die Anzeige von Statistiken zur Nutzung der Blöcke oberhalb der Arbeitsfläche kann ein- oder ausgeblendet werden.";
+Blockly.Msg.settings_statistics_on = "An";
+Blockly.Msg.settings_statistics_off = "Aus";
/**
* 404
*/
-Blockly.Msg.notfound_head = "Die von Ihnen angeforderte Seite kann nicht gefunden werden."
-Blockly.Msg.notfound_text = "Die gesuchte Seite wurde möglicherweise entfernt, ihr Name wurde geändert oder sie ist vorübergehend nicht verfügbar."
-
+Blockly.Msg.notfound_head =
+ "Die von Ihnen angeforderte Seite kann nicht gefunden werden.";
+Blockly.Msg.notfound_text =
+ "Die gesuchte Seite wurde möglicherweise entfernt, ihr Name wurde geändert oder sie ist vorübergehend nicht verfügbar.";
/**
* Labels
*/
-Blockly.Msg.labels_donotshowagain = 'Dialog nicht mehr anzeigen'
-Blockly.Msg.labels_here = "hier"
-Blockly.Msg.labels_username = 'E-Mail oder Nutzername'
-Blockly.Msg.labels_password = "Passwort"
+Blockly.Msg.labels_donotshowagain = "Dialog nicht mehr anzeigen";
+Blockly.Msg.labels_here = "hier";
+Blockly.Msg.labels_username = "E-Mail oder Nutzername";
+Blockly.Msg.labels_password = "Passwort";
-/**
- * Badges
- */
-
-Blockly.Msg.badges_explaination = "Eine Übersicht über alle erhaltenen Badges im Kontext Blockly for senseBox findest du "
-Blockly.Msg.badges_ASSIGNE_BADGE_SUCCESS_01 = "Herzlichen Glückwunsch! Du hast den Badge "
-Blockly.Msg.badges_ASSIGNE_BADGE_SUCCESS_02 = " erhalten."
/**
* Tutorials
*/
-Blockly.Msg.tutorials_assessment_task = "Aufgabe"
-Blockly.Msg.tutorials_hardware_head = "Für die Umsetzung benötigst du folgende Hardware:"
-Blockly.Msg.tutorials_hardware_moreInformation = "Weitere Informationen zur Hardware-Komponente findest du"
+Blockly.Msg.tutorials_assessment_task = "Aufgabe";
+Blockly.Msg.tutorials_hardware_head =
+ "Für die Umsetzung benötigst du folgende Hardware:";
+Blockly.Msg.tutorials_hardware_moreInformation =
+ "Weitere Informationen zur Hardware-Komponente findest du";
Blockly.Msg.tutorials_hardware_here = "hier";
-Blockly.Msg.tutorials_requirements = "Bevor du mit diesem Tutorial fortfährst solltest du folgende Tutorials erfolgreich abgeschlossen haben:"
-
+Blockly.Msg.tutorials_requirements =
+ "Bevor du mit diesem Tutorial fortfährst solltest du folgende Tutorials erfolgreich abgeschlossen haben:";
/**
* Tutorial Builder
*/
-Blockly.Msg.builder_solution = "Lösung"
-Blockly.Msg.builder_solution_submit = "Lösung einreichen"
-Blockly.Msg.builder_example_submit = "Beispiel einreichen"
-Blockly.Msg.builder_comment = "Anmerkung: Man kann den initialen Setup()- bzw. Endlosschleifen()-Block löschen. Zusätzlich ist es möglich u.a. nur einen beliebigen Block auszuwählen, ohne dass dieser als deaktiviert dargestellt wird."
-Blockly.Msg.builder_hardware_order = "Beachte, dass die Reihenfolge des Auswählens maßgebend ist."
-Blockly.Msg.builder_hardware_helper = "Wähle mindestens eine Hardware-Komponente aus."
-Blockly.Msg.builder_requirements_head = "Voraussetzungen"
-Blockly.Msg.builder_requirements_order = "Beachte, dass die Reihenfolge des Anhakens maßgebend ist."
+Blockly.Msg.builder_solution = "Lösung";
+Blockly.Msg.builder_solution_submit = "Lösung einreichen";
+Blockly.Msg.builder_example_submit = "Beispiel einreichen";
+Blockly.Msg.builder_comment =
+ "Anmerkung: Man kann den initialen Setup()- bzw. Endlosschleifen()-Block löschen. Zusätzlich ist es möglich u.a. nur einen beliebigen Block auszuwählen, ohne dass dieser als deaktiviert dargestellt wird.";
+Blockly.Msg.builder_hardware_order =
+ "Beachte, dass die Reihenfolge des Auswählens maßgebend ist.";
+Blockly.Msg.builder_hardware_helper =
+ "Wähle mindestens eine Hardware-Komponente aus.";
+Blockly.Msg.builder_requirements_head = "Voraussetzungen";
+Blockly.Msg.builder_requirements_order =
+ "Beachte, dass die Reihenfolge des Anhakens maßgebend ist.";
/**
* Login
*/
-
-Blockly.Msg.login_head = "Anmelden"
-Blockly.Msg.login_osem_account_01 = "Du benötigst einen "
-Blockly.Msg.login_osem_account_02 = "Account um dich einzuloggen"
-Blockly.Msg.login_lostpassword = "Du hast dein Passwort vergessen?"
-Blockly.Msg.login_createaccount = "Falls du noch keinen Account hast erstellen einen auf "
+Blockly.Msg.login_head = "Anmelden";
+Blockly.Msg.login_osem_account_01 = "Du benötigst einen ";
+Blockly.Msg.login_osem_account_02 = "Account um dich einzuloggen";
+Blockly.Msg.login_lostpassword = "Du hast dein Passwort vergessen?";
+Blockly.Msg.login_createaccount =
+ "Falls du noch keinen Account hast erstellen einen auf ";
/**
* Navbar
*/
-Blockly.Msg.navbar_tutorials = "Tutorials"
-Blockly.Msg.navbar_tutorialbuilder = "Tutorial erstellen"
-Blockly.Msg.navbar_gallery = "Gallerie"
-Blockly.Msg.navbar_projects = "Projekte"
+Blockly.Msg.navbar_tutorials = "Tutorials";
+Blockly.Msg.navbar_tutorialbuilder = "Tutorial erstellen";
+Blockly.Msg.navbar_gallery = "Gallerie";
+Blockly.Msg.navbar_projects = "Projekte";
-Blockly.Msg.navbar_menu = "Menü"
-Blockly.Msg.navbar_login = "Einloggen"
-Blockly.Msg.navbar_mybadges = "myBadges"
-Blockly.Msg.navbar_account = "Konto"
-Blockly.Msg.navbar_logout = "Abmelden"
-Blockly.Msg.navbar_settings = "Einstellungen"
+Blockly.Msg.navbar_menu = "Menü";
+Blockly.Msg.navbar_login = "Einloggen";
+Blockly.Msg.navbar_account = "Konto";
+Blockly.Msg.navbar_logout = "Abmelden";
+Blockly.Msg.navbar_settings = "Einstellungen";
/**
* Codeviewer
*/
-Blockly.Msg.codeviewer_arduino = "Arduino Quellcode"
-Blockly.Msg.codeviewer_xml = "XML Blöcke"
-
+Blockly.Msg.codeviewer_arduino = "Arduino Quellcode";
+Blockly.Msg.codeviewer_xml = "XML Blöcke";
/**
* Home Tour
*/
-Blockly.Msg.hometour_wrapper = "Willkommen zu Blockly für die senseBox. In dieser Tour werde ich dir alle wichtigen Funktionen der Oberfläche zeigen"
-Blockly.Msg.hometour_workspaceFunc = "Hier findest du alle Buttons um dein Programm zu übertragen, zu speichern oder zu teilen"
-Blockly.Msg.hometour_blocklyWindow = "Dies ist deine Arbeitsfläche. Hier kannst du mithilfe der Blöcke deinen Programmcode erstellen"
-Blockly.Msg.hometour_blocklyToolboxDiv = "In der Toolbox befinden sich alle Blöcke. Verbinde diese in der Arbeitsfläche und erstelle dein Programmcode"
-Blockly.Msg.hometour_compileBlocks = "Wenn du fertig mit dem Programmieren bist und deinen Programmcode auf die senseBox übertragen möchtest klicke hier um deinen Programmcode zu kompilieren."
-Blockly.Msg.hometour_menuButton = "Im Menü findest du Tutorials und eine Gallery mit verschiedenen Beispiel Programmen. Logge dich über deinen openSenseMap Account ein und du erhälst noch mehr Funktionen"
-Blockly.Msg.hometour_showCode = "Über diesen Button kannst du dir den generierten Programmcode anzeigen lassen"
-Blockly.Msg.hometour_shareBlocks = "Erstelle über diesen Button einen Kurzlink und teile deine Blöcke mit anderen Nutzer:innen"
-
-
+Blockly.Msg.hometour_wrapper =
+ "Willkommen zu Blockly für die senseBox. In dieser Tour werde ich dir alle wichtigen Funktionen der Oberfläche zeigen";
+Blockly.Msg.hometour_workspaceFunc =
+ "Hier findest du alle Buttons um dein Programm zu übertragen, zu speichern oder zu teilen";
+Blockly.Msg.hometour_blocklyWindow =
+ "Dies ist deine Arbeitsfläche. Hier kannst du mithilfe der Blöcke deinen Programmcode erstellen";
+Blockly.Msg.hometour_blocklyToolboxDiv =
+ "In der Toolbox befinden sich alle Blöcke. Verbinde diese in der Arbeitsfläche und erstelle dein Programmcode";
+Blockly.Msg.hometour_compileBlocks =
+ "Wenn du fertig mit dem Programmieren bist und deinen Programmcode auf die senseBox übertragen möchtest klicke hier um deinen Programmcode zu kompilieren.";
+Blockly.Msg.hometour_menuButton =
+ "Im Menü findest du Tutorials und eine Gallery mit verschiedenen Beispiel Programmen. Logge dich über deinen openSenseMap Account ein und du erhälst noch mehr Funktionen";
+Blockly.Msg.hometour_showCode =
+ "Über diesen Button kannst du dir den generierten Programmcode anzeigen lassen";
+Blockly.Msg.hometour_shareBlocks =
+ "Erstelle über diesen Button einen Kurzlink und teile deine Blöcke mit anderen Nutzer:innen";
/**
* Assessment Tour
*/
-Blockly.Msg.assessmenttour_solutionCheck = "Wenn deine Lösung fertig ist klicke hier um diese zu überprüfen"
-Blockly.Msg.assessmenttour_assessmentDiv = "Los gehts! Löse die folgende Aufgabe, um das Tutorial abzuschließen. "
-Blockly.Msg.assessmenttour_injectionDiv = "Erstelle hier deine Lösung. Du kannst alle Blöcke aus der Toolbox verwenden."
-
+Blockly.Msg.assessmenttour_solutionCheck =
+ "Wenn deine Lösung fertig ist klicke hier um diese zu überprüfen";
+Blockly.Msg.assessmenttour_assessmentDiv =
+ "Los gehts! Löse die folgende Aufgabe, um das Tutorial abzuschließen. ";
+Blockly.Msg.assessmenttour_injectionDiv =
+ "Erstelle hier deine Lösung. Du kannst alle Blöcke aus der Toolbox verwenden.";
/**
* Overlay
*/
-Blockly.Msg.compile_overlay_head = "Dein Programm wird nun kompiliert und heruntergeladen"
-Blockly.Msg.compile_overlay_text = "Kopiere es anschließend auf deine senseBox MCU"
-Blockly.Msg.compile_overlay_help = "Benötigst du mehr Hilfe? Dann schaue hier: "
+Blockly.Msg.compile_overlay_head =
+ "Dein Programm wird nun kompiliert und heruntergeladen";
+Blockly.Msg.compile_overlay_text =
+ "Kopiere es anschließend auf deine senseBox MCU";
+Blockly.Msg.compile_overlay_help =
+ "Benötigst du mehr Hilfe? Dann schaue hier: ";
/**
* Tooltip Viewer
*/
-Blockly.Msg.tooltip_viewer = "Hilfe"
-Blockly.Msg.tooltip_moreInformation = "Mehr Informationen findest du "
+Blockly.Msg.tooltip_viewer = "Hilfe";
+Blockly.Msg.tooltip_moreInformation = "Mehr Informationen findest du ";
/**
* FAQ
*/
-Blockly.Msg.faq_q1_question = `Wie kann ich mein Programm auf die senseBox kopieren?`
+Blockly.Msg.faq_q1_question = `Wie kann ich mein Programm auf die senseBox kopieren?`;
Blockly.Msg.faq_q1_answer = `Um Programme auf die senseBox zu kopieren wird diese mit dem Micro USB Kabel an den Computer angeschlossen. Mache anschließend auf der senseBox MCU einen Doppelklick auf den roten Reset Button. Die senseBox wird nun als Wechseldatenträger an deinem Computer erkannt und die zuvor erstellen Programm können per Drag & Drop kopiert werden. Nach jeder Änderung des Programmcodes muss das Programm neu kompiliert und übertragen werden
#### Lernmodus der MCU aktivieren
@@ -1208,18 +1444,16 @@ Blockly.Msg.faq_q1_answer = `Um Programme auf die senseBox zu kopieren wird dies
Das Kopieren der Programme unter MacOS funktioniert nicht über den Finder, es gibt es aber dennoch zwei verschiedene Möglichkeiten die Programme zu kopieren:
- [senseBox Kopiertool](https://sensebox.de/docs/senseBox_Sketch_Uploader_DE.zip)
- [muCommander](https://www.mucommander.com/)
-`
+`;
-Blockly.Msg.faq_q2_question = `Mit welcher senseBox ist die Programmierumgebung kompatibel?`
+Blockly.Msg.faq_q2_question = `Mit welcher senseBox ist die Programmierumgebung kompatibel?`;
Blockly.Msg.faq_q2_answer = `
Grundsätzlich kann die Programmierumgebung mit jeder senseBox mit senseBox MCU verwendet werden.
-`
+`;
-
-Blockly.Msg.faq_q3_question = `Ich habe einen Fehler gefunden oder etwas funktioniert nicht. Wo kann ich diesen melden?`
+Blockly.Msg.faq_q3_question = `Ich habe einen Fehler gefunden oder etwas funktioniert nicht. Wo kann ich diesen melden?`;
Blockly.Msg.faq_q3_answer = `
Am besten legst du dazu ein Issue auf [Github](https://github.com/sensebox/React-Ardublockly/issues) an. Alternativ kannst du uns auch eine Email an info(at)sensebox.de senden
-`
+`;
-
-export const De = Blockly.Msg;
\ No newline at end of file
+export const De = Blockly.Msg;
diff --git a/src/components/Blockly/msg/en/ui.js b/src/components/Blockly/msg/en/ui.js
index 63089be..3859ab3 100644
--- a/src/components/Blockly/msg/en/ui.js
+++ b/src/components/Blockly/msg/en/ui.js
@@ -165,15 +165,6 @@ export const UI = {
labels_here: "here",
labels_username: "Email or username",
labels_password: "Password",
- /**
- * Badges
- */
-
- badges_explaination:
- "An overview of all badges received in the Blockly for senseBox context can be found ",
- badges_ASSIGNE_BADGE_SUCCESS_01:
- "Congratulations! You have received the badge ",
- badges_ASSIGNE_BADGE_SUCCESS_02: ".",
/**
* Tutorials
@@ -225,7 +216,6 @@ export const UI = {
navbar_menu: "Menu",
navbar_login: "Login",
- navbar_mybadges: "myBadges",
navbar_account: "Account",
navbar_logout: "Logout",
navbar_settings: "Settings",
diff --git a/src/components/Blockly/msg/en_old.js b/src/components/Blockly/msg/en_old.js
index c6efad4..ddb6388 100644
--- a/src/components/Blockly/msg/en_old.js
+++ b/src/components/Blockly/msg/en_old.js
@@ -2,7 +2,8 @@ const Blockly = {};
Blockly.Msg = {};
Blockly.Msg.ADD_COMMENT = "Add Comment";
-Blockly.Msg.AUTH = "Please authorize this app to enable your work to be saved and to allow it to be shared by you.";
+Blockly.Msg.AUTH =
+ "Please authorize this app to enable your work to be saved and to allow it to be shared by you.";
Blockly.Msg.CHANGE_VALUE_TITLE = "Change value:";
Blockly.Msg.CHAT = "Chat with your collaborator by typing in this box!";
Blockly.Msg.CLEAN_UP = "Clean up Blocks";
@@ -10,10 +11,12 @@ Blockly.Msg.COLLAPSE_ALL = "Collapse Blocks";
Blockly.Msg.COLLAPSE_BLOCK = "Collapse Block";
Blockly.Msg.COLOUR_BLEND_COLOUR1 = "colour 1";
Blockly.Msg.COLOUR_BLEND_COLOUR2 = "colour 2";
-Blockly.Msg.COLOUR_BLEND_HELPURL = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg.COLOUR_BLEND_HELPURL =
+ "http://meyerweb.com/eric/tools/color-blend/";
Blockly.Msg.COLOUR_BLEND_RATIO = "ratio";
Blockly.Msg.COLOUR_BLEND_TITLE = "blend";
-Blockly.Msg.COLOUR_BLEND_TOOLTIP = "Blends two colours together with a given ratio (0.0 - 1.0).";
+Blockly.Msg.COLOUR_BLEND_TOOLTIP =
+ "Blends two colours together with a given ratio (0.0 - 1.0).";
Blockly.Msg.COLOUR_PICKER_HELPURL = "https://en.wikipedia.org/wiki/Color";
Blockly.Msg.COLOUR_PICKER_TOOLTIP = "Choose a colour from the palette.";
Blockly.Msg.COLOUR_RANDOM_HELPURL = "http://randomcolour.com";
@@ -21,42 +24,63 @@ Blockly.Msg.COLOUR_RANDOM_TITLE = "random colour";
Blockly.Msg.COLOUR_RANDOM_TOOLTIP = "Choose a colour at random.";
Blockly.Msg.COLOUR_RGB_BLUE = "blue";
Blockly.Msg.COLOUR_RGB_GREEN = "green";
-Blockly.Msg.COLOUR_RGB_HELPURL = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg.COLOUR_RGB_HELPURL =
+ "http://www.december.com/html/spec/colorper.html";
Blockly.Msg.COLOUR_RGB_RED = "red";
Blockly.Msg.COLOUR_RGB_TITLE = "colour with";
-Blockly.Msg.COLOUR_RGB_TOOLTIP = "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
+Blockly.Msg.COLOUR_RGB_TOOLTIP =
+ "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL =
+ "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = "break out of loop";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = "continue with next iteration of loop";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = "Break out of the containing loop.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = "Skip the rest of this loop, and continue with the next iteration.";
-Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = "Warning: This block may only be used within a loop.";
-Blockly.Msg.CONTROLS_FOREACH_HELPURL = "https://github.com/google/blockly/wiki/Loops#for-each";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE =
+ "continue with next iteration of loop";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK =
+ "Break out of the containing loop.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE =
+ "Skip the rest of this loop, and continue with the next iteration.";
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING =
+ "Warning: This block may only be used within a loop.";
+Blockly.Msg.CONTROLS_FOREACH_HELPURL =
+ "https://github.com/google/blockly/wiki/Loops#for-each";
Blockly.Msg.CONTROLS_FOREACH_TITLE = "for each item %1 in list %2";
-Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = "For each item in a list, set the variable '%1' to the item, and then do some statements.";
-Blockly.Msg.CONTROLS_FOR_HELPURL = "https://github.com/google/blockly/wiki/Loops#count-with";
+Blockly.Msg.CONTROLS_FOREACH_TOOLTIP =
+ "For each item in a list, set the variable '%1' to the item, and then do some statements.";
+Blockly.Msg.CONTROLS_FOR_HELPURL =
+ "https://github.com/google/blockly/wiki/Loops#count-with";
Blockly.Msg.CONTROLS_FOR_TITLE = "count with %1 from %2 to %3 by %4";
-Blockly.Msg.CONTROLS_FOR_TOOLTIP = "Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.";
+Blockly.Msg.CONTROLS_FOR_TOOLTIP =
+ "Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.";
Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = "Add a condition to the if block.";
-Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = "Add a final, catch-all condition to the if block.";
-Blockly.Msg.CONTROLS_IF_HELPURL = "https://github.com/google/blockly/wiki/IfElse";
-Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = "Add, remove, or reorder sections to reconfigure this if block.";
+Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP =
+ "Add a final, catch-all condition to the if block.";
+Blockly.Msg.CONTROLS_IF_HELPURL =
+ "https://github.com/google/blockly/wiki/IfElse";
+Blockly.Msg.CONTROLS_IF_IF_TOOLTIP =
+ "Add, remove, or reorder sections to reconfigure this if block.";
Blockly.Msg.CONTROLS_IF_MSG_ELSE = "else";
Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = "else if";
Blockly.Msg.CONTROLS_IF_MSG_IF = "if";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = "If a value is true, then do some statements.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_2 = "If a value is true, then do the first block of statements. Otherwise, do the second block of statements.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_3 = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.";
-Blockly.Msg.CONTROLS_IF_TOOLTIP_4 = "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_1 =
+ "If a value is true, then do some statements.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_2 =
+ "If a value is true, then do the first block of statements. Otherwise, do the second block of statements.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_3 =
+ "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.";
+Blockly.Msg.CONTROLS_IF_TOOLTIP_4 =
+ "If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.";
Blockly.Msg.CONTROLS_REPEAT_HELPURL = "https://en.wikipedia.org/wiki/For_loop";
Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = "do";
Blockly.Msg.CONTROLS_REPEAT_TITLE = "repeat %1 times";
Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = "Do some statements several times.";
-Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = "https://github.com/google/blockly/wiki/Loops#repeat";
+Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL =
+ "https://github.com/google/blockly/wiki/Loops#repeat";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = "repeat until";
Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = "repeat while";
-Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = "While a value is false, then do some statements.";
-Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = "While a value is true, then do some statements.";
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL =
+ "While a value is false, then do some statements.";
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE =
+ "While a value is true, then do some statements.";
Blockly.Msg.DELETE_ALL_BLOCKS = "Delete all %1 blocks?";
Blockly.Msg.DELETE_BLOCK = "Delete Block";
Blockly.Msg.DELETE_X_BLOCKS = "Delete %1 Blocks";
@@ -68,15 +92,20 @@ Blockly.Msg.EXPAND_BLOCK = "Expand Block";
Blockly.Msg.EXTERNAL_INPUTS = "External Inputs";
Blockly.Msg.HELP = "Help";
Blockly.Msg.INLINE_INPUTS = "Inline Inputs";
-Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#create-empty-list";
Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = "create empty list";
-Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = "Returns a list, of length 0, containing no data records";
+Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP =
+ "Returns a list, of length 0, containing no data records";
Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = "list";
-Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = "Add, remove, or reorder sections to reconfigure this list block.";
-Blockly.Msg.LISTS_CREATE_WITH_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP =
+ "Add, remove, or reorder sections to reconfigure this list block.";
+Blockly.Msg.LISTS_CREATE_WITH_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = "create list with";
Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = "Add an item to the list.";
-Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = "Create a list with any number of items.";
+Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP =
+ "Create a list with any number of items.";
Blockly.Msg.LISTS_GET_INDEX_FIRST = "first";
Blockly.Msg.LISTS_GET_INDEX_FROM_END = "# from end";
Blockly.Msg.LISTS_GET_INDEX_FROM_START = "#";
@@ -86,59 +115,93 @@ Blockly.Msg.LISTS_GET_INDEX_LAST = "last";
Blockly.Msg.LISTS_GET_INDEX_RANDOM = "random";
Blockly.Msg.LISTS_GET_INDEX_REMOVE = "remove";
Blockly.Msg.LISTS_GET_INDEX_TAIL = "";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = "Returns the first item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END = "Returns the item at the specified position in a list. #1 is the last item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START = "Returns the item at the specified position in a list. #1 is the first item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = "Returns the last item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = "Returns a random item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = "Removes and returns the first item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END = "Removes and returns the item at the specified position in a list. #1 is the last item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START = "Removes and returns the item at the specified position in a list. #1 is the first item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = "Removes and returns the last item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = "Removes and returns a random item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = "Removes the first item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END = "Removes the item at the specified position in a list. #1 is the last item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START = "Removes the item at the specified position in a list. #1 is the first item.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = "Removes the last item in a list.";
-Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = "Removes a random item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST =
+ "Returns the first item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_END =
+ "Returns the item at the specified position in a list. #1 is the last item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM_START =
+ "Returns the item at the specified position in a list. #1 is the first item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST =
+ "Returns the last item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM =
+ "Returns a random item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST =
+ "Removes and returns the first item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END =
+ "Removes and returns the item at the specified position in a list. #1 is the last item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START =
+ "Removes and returns the item at the specified position in a list. #1 is the first item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST =
+ "Removes and returns the last item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM =
+ "Removes and returns a random item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST =
+ "Removes the first item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END =
+ "Removes the item at the specified position in a list. #1 is the last item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START =
+ "Removes the item at the specified position in a list. #1 is the first item.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST =
+ "Removes the last item in a list.";
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM =
+ "Removes a random item in a list.";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = "to # from end";
Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = "to #";
Blockly.Msg.LISTS_GET_SUBLIST_END_LAST = "to last";
-Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
+Blockly.Msg.LISTS_GET_SUBLIST_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST = "get sub-list from first";
Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = "get sub-list from # from end";
Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = "get sub-list from #";
Blockly.Msg.LISTS_GET_SUBLIST_TAIL = "";
-Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = "Creates a copy of the specified portion of a list.";
+Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP =
+ "Creates a copy of the specified portion of a list.";
Blockly.Msg.LISTS_INDEX_OF_FIRST = "find first occurrence of item";
-Blockly.Msg.LISTS_INDEX_OF_HELPURL = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
+Blockly.Msg.LISTS_INDEX_OF_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
Blockly.Msg.LISTS_INDEX_OF_LAST = "find last occurrence of item";
-Blockly.Msg.LISTS_INDEX_OF_TOOLTIP = "Returns the index of the first/last occurrence of the item in the list. Returns 0 if item is not found.";
+Blockly.Msg.LISTS_INDEX_OF_TOOLTIP =
+ "Returns the index of the first/last occurrence of the item in the list. Returns 0 if item is not found.";
Blockly.Msg.LISTS_INLIST = "in list";
-Blockly.Msg.LISTS_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Lists#is-empty";
+Blockly.Msg.LISTS_ISEMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#is-empty";
Blockly.Msg.LISTS_ISEMPTY_TITLE = "%1 is empty";
Blockly.Msg.LISTS_ISEMPTY_TOOLTIP = "Returns true if the list is empty.";
-Blockly.Msg.LISTS_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Lists#length-of";
+Blockly.Msg.LISTS_LENGTH_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#length-of";
Blockly.Msg.LISTS_LENGTH_TITLE = "length of %1";
Blockly.Msg.LISTS_LENGTH_TOOLTIP = "Returns the length of a list.";
-Blockly.Msg.LISTS_REPEAT_HELPURL = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg.LISTS_REPEAT_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#create-list-with";
Blockly.Msg.LISTS_REPEAT_TITLE = "create list with item %1 repeated %2 times";
-Blockly.Msg.LISTS_REPEAT_TOOLTIP = "Creates a list consisting of the given value repeated the specified number of times.";
-Blockly.Msg.LISTS_SET_INDEX_HELPURL = "https://github.com/google/blockly/wiki/Lists#in-list--set";
+Blockly.Msg.LISTS_REPEAT_TOOLTIP =
+ "Creates a list consisting of the given value repeated the specified number of times.";
+Blockly.Msg.LISTS_SET_INDEX_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#in-list--set";
Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = "as";
Blockly.Msg.LISTS_SET_INDEX_INSERT = "insert at";
Blockly.Msg.LISTS_SET_INDEX_SET = "set";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = "Inserts the item at the start of a list.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END = "Inserts the item at the specified position in a list. #1 is the last item.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START = "Inserts the item at the specified position in a list. #1 is the first item.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = "Append the item to the end of a list.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = "Inserts the item randomly in a list.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = "Sets the first item in a list.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END = "Sets the item at the specified position in a list. #1 is the last item.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START = "Sets the item at the specified position in a list. #1 is the first item.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST =
+ "Inserts the item at the start of a list.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END =
+ "Inserts the item at the specified position in a list. #1 is the last item.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START =
+ "Inserts the item at the specified position in a list. #1 is the first item.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST =
+ "Append the item to the end of a list.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM =
+ "Inserts the item randomly in a list.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST =
+ "Sets the first item in a list.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_END =
+ "Sets the item at the specified position in a list. #1 is the last item.";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM_START =
+ "Sets the item at the specified position in a list. #1 is the first item.";
Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = "Sets the last item in a list.";
-Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = "Sets a random item in a list.";
-Blockly.Msg.LISTS_SORT_HELPURL = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM =
+ "Sets a random item in a list.";
+Blockly.Msg.LISTS_SORT_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
Blockly.Msg.LISTS_SORT_ORDER_ASCENDING = "ascending";
Blockly.Msg.LISTS_SORT_ORDER_DESCENDING = "descending";
Blockly.Msg.LISTS_SORT_TITLE = "sort %1 %2 %3";
@@ -146,54 +209,81 @@ Blockly.Msg.LISTS_SORT_TOOLTIP = "Sort a copy of a list.";
Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE = "alphabetic, ignore case";
Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = "numeric";
Blockly.Msg.LISTS_SORT_TYPE_TEXT = "alphabetic";
-Blockly.Msg.LISTS_SPLIT_HELPURL = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg.LISTS_SPLIT_HELPURL =
+ "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = "make list from text";
Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = "make text from list";
-Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = "Join a list of texts into one text, separated by a delimiter.";
-Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = "Split text into a list of texts, breaking at each delimiter.";
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN =
+ "Join a list of texts into one text, separated by a delimiter.";
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT =
+ "Split text into a list of texts, breaking at each delimiter.";
Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER = "with delimiter";
Blockly.Msg.LOGIC_BOOLEAN_FALSE = "false";
-Blockly.Msg.LOGIC_BOOLEAN_HELPURL = "https://github.com/google/blockly/wiki/Logic#values";
+Blockly.Msg.LOGIC_BOOLEAN_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#values";
Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = "Returns either true or false.";
Blockly.Msg.LOGIC_BOOLEAN_TRUE = "true";
-Blockly.Msg.LOGIC_COMPARE_HELPURL = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = "Return true if both inputs equal each other.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = "Return true if the first input is greater than the second input.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = "Return true if the first input is greater than or equal to the second input.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = "Return true if the first input is smaller than the second input.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = "Return true if the first input is smaller than or equal to the second input.";
-Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = "Return true if both inputs are not equal to each other.";
-Blockly.Msg.LOGIC_NEGATE_HELPURL = "https://github.com/google/blockly/wiki/Logic#not";
+Blockly.Msg.LOGIC_COMPARE_HELPURL =
+ "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ =
+ "Return true if both inputs equal each other.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT =
+ "Return true if the first input is greater than the second input.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE =
+ "Return true if the first input is greater than or equal to the second input.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT =
+ "Return true if the first input is smaller than the second input.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE =
+ "Return true if the first input is smaller than or equal to the second input.";
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ =
+ "Return true if both inputs are not equal to each other.";
+Blockly.Msg.LOGIC_NEGATE_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#not";
Blockly.Msg.LOGIC_NEGATE_TITLE = "not %1";
-Blockly.Msg.LOGIC_NEGATE_TOOLTIP = "Returns true if the input is false. Returns false if the input is true.";
+Blockly.Msg.LOGIC_NEGATE_TOOLTIP =
+ "Returns true if the input is false. Returns false if the input is true.";
Blockly.Msg.LOGIC_NULL = "null";
Blockly.Msg.LOGIC_NULL_HELPURL = "https://en.wikipedia.org/wiki/Nullable_type";
Blockly.Msg.LOGIC_NULL_TOOLTIP = "Returns null.";
Blockly.Msg.LOGIC_OPERATION_AND = "and";
-Blockly.Msg.LOGIC_OPERATION_HELPURL = "https://github.com/google/blockly/wiki/Logic#logical-operations";
+Blockly.Msg.LOGIC_OPERATION_HELPURL =
+ "https://github.com/google/blockly/wiki/Logic#logical-operations";
Blockly.Msg.LOGIC_OPERATION_OR = "or";
-Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = "Return true if both inputs are true.";
-Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = "Return true if at least one of the inputs is true.";
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND =
+ "Return true if both inputs are true.";
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR =
+ "Return true if at least one of the inputs is true.";
Blockly.Msg.LOGIC_TERNARY_CONDITION = "test";
Blockly.Msg.LOGIC_TERNARY_HELPURL = "https://en.wikipedia.org/wiki/%3F:";
Blockly.Msg.LOGIC_TERNARY_IF_FALSE = "if false";
Blockly.Msg.LOGIC_TERNARY_IF_TRUE = "if true";
-Blockly.Msg.LOGIC_TERNARY_TOOLTIP = "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.";
+Blockly.Msg.LOGIC_TERNARY_TOOLTIP =
+ "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.";
Blockly.Msg.MATH_ADDITION_SYMBOL = "+";
-Blockly.Msg.MATH_ARITHMETIC_HELPURL = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg.MATH_ARITHMETIC_HELPURL =
+ "https://en.wikipedia.org/wiki/Arithmetic";
Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = "Return the sum of the two numbers.";
-Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = "Return the quotient of the two numbers.";
-Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = "Return the difference of the two numbers.";
-Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = "Return the product of the two numbers.";
-Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = "Return the first number raised to the power of the second number.";
-Blockly.Msg.MATH_CHANGE_HELPURL = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE =
+ "Return the quotient of the two numbers.";
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS =
+ "Return the difference of the two numbers.";
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY =
+ "Return the product of the two numbers.";
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER =
+ "Return the first number raised to the power of the second number.";
+Blockly.Msg.MATH_CHANGE_HELPURL =
+ "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
Blockly.Msg.MATH_CHANGE_TITLE = "change %1 by %2";
Blockly.Msg.MATH_CHANGE_TOOLTIP = "Add a number to variable '%1'.";
-Blockly.Msg.MATH_CONSTANT_HELPURL = "https://en.wikipedia.org/wiki/Mathematical_constant";
-Blockly.Msg.MATH_CONSTANT_TOOLTIP = "Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).";
-Blockly.Msg.MATH_CONSTRAIN_HELPURL = "https://en.wikipedia.org/wiki/Clamping_%28graphics%29";
+Blockly.Msg.MATH_CONSTANT_HELPURL =
+ "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg.MATH_CONSTANT_TOOLTIP =
+ "Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).";
+Blockly.Msg.MATH_CONSTRAIN_HELPURL =
+ "https://en.wikipedia.org/wiki/Clamping_%28graphics%29";
Blockly.Msg.MATH_CONSTRAIN_TITLE = "constrain %1 low %2 high %3";
-Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = "Constrain a number to be between the specified limits (inclusive).";
+Blockly.Msg.MATH_CONSTRAIN_TOOLTIP =
+ "Constrain a number to be between the specified limits (inclusive).";
Blockly.Msg.MATH_DIVISION_SYMBOL = "÷";
Blockly.Msg.MATH_IS_DIVISIBLE_BY = "is divisible by";
Blockly.Msg.MATH_IS_EVEN = "is even";
@@ -201,11 +291,14 @@ Blockly.Msg.MATH_IS_NEGATIVE = "is negative";
Blockly.Msg.MATH_IS_ODD = "is odd";
Blockly.Msg.MATH_IS_POSITIVE = "is positive";
Blockly.Msg.MATH_IS_PRIME = "is prime";
-Blockly.Msg.MATH_IS_TOOLTIP = "Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.";
+Blockly.Msg.MATH_IS_TOOLTIP =
+ "Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.";
Blockly.Msg.MATH_IS_WHOLE = "is whole";
-Blockly.Msg.MATH_MODULO_HELPURL = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg.MATH_MODULO_HELPURL =
+ "https://en.wikipedia.org/wiki/Modulo_operation";
Blockly.Msg.MATH_MODULO_TITLE = "remainder of %1 ÷ %2";
-Blockly.Msg.MATH_MODULO_TOOLTIP = "Return the remainder from dividing the two numbers.";
+Blockly.Msg.MATH_MODULO_TOOLTIP =
+ "Return the remainder from dividing the two numbers.";
Blockly.Msg.MATH_MULTIPLICATION_SYMBOL = "×";
Blockly.Msg.MATH_NUMBER_HELPURL = "https://en.wikipedia.org/wiki/Number";
Blockly.Msg.MATH_NUMBER_TOOLTIP = "A number.";
@@ -218,21 +311,31 @@ Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = "modes of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = "random item of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = "standard deviation of list";
Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = "sum of list";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = "Return the average (arithmetic mean) of the numeric values in the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE =
+ "Return the average (arithmetic mean) of the numeric values in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = "Return the largest number in the list.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = "Return the median number in the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN =
+ "Return the median number in the list.";
Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = "Return the smallest number in the list.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = "Return a list of the most common item(s) in the list.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = "Return a random element from the list.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = "Return the standard deviation of the list.";
-Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = "Return the sum of all the numbers in the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE =
+ "Return a list of the most common item(s) in the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM =
+ "Return a random element from the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV =
+ "Return the standard deviation of the list.";
+Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM =
+ "Return the sum of all the numbers in the list.";
Blockly.Msg.MATH_POWER_SYMBOL = "^";
-Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL =
+ "https://en.wikipedia.org/wiki/Random_number_generation";
Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = "random fraction";
-Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";
-Blockly.Msg.MATH_RANDOM_INT_HELPURL = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP =
+ "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";
+Blockly.Msg.MATH_RANDOM_INT_HELPURL =
+ "https://en.wikipedia.org/wiki/Random_number_generation";
Blockly.Msg.MATH_RANDOM_INT_TITLE = "random integer from %1 to %2";
-Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = "Return a random integer between the two specified limits, inclusive.";
+Blockly.Msg.MATH_RANDOM_INT_TOOLTIP =
+ "Return a random integer between the two specified limits, inclusive.";
Blockly.Msg.MATH_ROUND_HELPURL = "https://en.wikipedia.org/wiki/Rounding";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = "round";
Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = "round down";
@@ -243,8 +346,10 @@ Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = "absolute";
Blockly.Msg.MATH_SINGLE_OP_ROOT = "square root";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = "Return the absolute value of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = "Return e to the power of a number.";
-Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = "Return the natural logarithm of a number.";
-Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = "Return the base 10 logarithm of a number.";
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LN =
+ "Return the natural logarithm of a number.";
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 =
+ "Return the base 10 logarithm of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = "Return the negation of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = "Return 10 to the power of a number.";
Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = "Return the square root of a number.";
@@ -253,161 +358,211 @@ Blockly.Msg.MATH_TRIG_ACOS = "acos";
Blockly.Msg.MATH_TRIG_ASIN = "asin";
Blockly.Msg.MATH_TRIG_ATAN = "atan";
Blockly.Msg.MATH_TRIG_COS = "cos";
-Blockly.Msg.MATH_TRIG_HELPURL = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg.MATH_TRIG_HELPURL =
+ "https://en.wikipedia.org/wiki/Trigonometric_functions";
Blockly.Msg.MATH_TRIG_SIN = "sin";
Blockly.Msg.MATH_TRIG_TAN = "tan";
Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS = "Return the arccosine of a number.";
Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN = "Return the arcsine of a number.";
Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN = "Return the arctangent of a number.";
-Blockly.Msg.MATH_TRIG_TOOLTIP_COS = "Return the cosine of a degree (not radian).";
+Blockly.Msg.MATH_TRIG_TOOLTIP_COS =
+ "Return the cosine of a degree (not radian).";
Blockly.Msg.MATH_TRIG_TOOLTIP_SIN = "Return the sine of a degree (not radian).";
-Blockly.Msg.MATH_TRIG_TOOLTIP_TAN = "Return the tangent of a degree (not radian).";
+Blockly.Msg.MATH_TRIG_TOOLTIP_TAN =
+ "Return the tangent of a degree (not radian).";
Blockly.Msg.ME = "Me";
Blockly.Msg.NEW_VARIABLE = "New variable...";
Blockly.Msg.NEW_VARIABLE_TITLE = "New variable name:";
Blockly.Msg.ORDINAL_NUMBER_SUFFIX = "";
Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = "allow statements";
Blockly.Msg.PROCEDURES_BEFORE_PARAMS = "with inputs:";
-Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
-Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = "Run the user-defined function '%1'.";
-Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
-Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = "Run the user-defined function '%1' and use its output.";
+Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL =
+ "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP =
+ "Run the user-defined function '%1'.";
+Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL =
+ "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP =
+ "Run the user-defined function '%1' and use its output.";
Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = "with Inputs:";
Blockly.Msg.PROCEDURES_CALL = "Call";
-Blockly.Msg.PROCEDURES_CALL_END = '';
+Blockly.Msg.PROCEDURES_CALL_END = "";
Blockly.Msg.PROCEDURES_CREATE_DO = "Create '%1'";
Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = "Describe this function...";
Blockly.Msg.PROCEDURES_DEFNORETURN = "Create Function";
Blockly.Msg.PROCEDURES_DEFNORETURN_DO = "";
-Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL =
+ "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = "do something";
Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = "to";
-Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = "Creates a function with no output.";
-Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP =
+ "Creates a function with no output.";
+Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL =
+ "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.Msg.PROCEDURES_DEFRETURN_RETURN_TYPE = "return Type";
Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = "return";
Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = "Creates a function with an output.";
-Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = "Warning: This function has duplicate parameters.";
+Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING =
+ "Warning: This function has duplicate parameters.";
Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = "Highlight function definition";
Blockly.Msg.PROCEDURES_IFRETURN_HELPURL = "http://c2.com/cgi/wiki?GuardClause";
-Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = "If a value is true, then return a second value.";
-Blockly.Msg.PROCEDURES_IFRETURN_WARNING = "Warning: This block may be used only within a function definition.";
+Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP =
+ "If a value is true, then return a second value.";
+Blockly.Msg.PROCEDURES_IFRETURN_WARNING =
+ "Warning: This block may be used only within a function definition.";
Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = "input name:";
Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = "Add an input to the function.";
Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = "inputs";
-Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = "Add, remove, or reorder inputs to this function.";
+Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP =
+ "Add, remove, or reorder inputs to this function.";
Blockly.Msg.REDO = "Redo";
Blockly.Msg.REMOVE_COMMENT = "Remove Comment";
Blockly.Msg.RENAME_VARIABLE = "Rename variable...";
Blockly.Msg.RENAME_VARIABLE_TITLE = "Rename all '%1' variables to:";
Blockly.Msg.TEXT_APPEND_APPENDTEXT = "append text";
-Blockly.Msg.TEXT_APPEND_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg.TEXT_APPEND_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#text-modification";
Blockly.Msg.TEXT_APPEND_TO = "to";
Blockly.Msg.TEXT_APPEND_TOOLTIP = "Append some text to variable '%1'.";
-Blockly.Msg.TEXT_CHANGECASE_HELPURL = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
+Blockly.Msg.TEXT_CHANGECASE_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = "to lower case";
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = "to Title Case";
Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = "to UPPER CASE";
-Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = "Return a copy of the text in a different case.";
+Blockly.Msg.TEXT_CHANGECASE_TOOLTIP =
+ "Return a copy of the text in a different case.";
Blockly.Msg.TEXT_CHARAT_FIRST = "get first letter";
Blockly.Msg.TEXT_CHARAT_FROM_END = "get letter # from end";
Blockly.Msg.TEXT_CHARAT_FROM_START = "get letter #";
-Blockly.Msg.TEXT_CHARAT_HELPURL = "https://github.com/google/blockly/wiki/Text#extracting-text";
+Blockly.Msg.TEXT_CHARAT_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#extracting-text";
Blockly.Msg.TEXT_CHARAT_INPUT_INTEXT = "in text";
Blockly.Msg.TEXT_CHARAT_LAST = "get last letter";
Blockly.Msg.TEXT_CHARAT_RANDOM = "get random letter";
Blockly.Msg.TEXT_CHARAT_TAIL = "";
-Blockly.Msg.TEXT_CHARAT_TOOLTIP = "Returns the letter at the specified position.";
+Blockly.Msg.TEXT_CHARAT_TOOLTIP =
+ "Returns the letter at the specified position.";
Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = "Add an item to the text.";
Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = "join";
-Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = "Add, remove, or reorder sections to reconfigure this text block.";
+Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP =
+ "Add, remove, or reorder sections to reconfigure this text block.";
Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = "to letter # from end";
Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = "to letter #";
Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST = "to last letter";
-Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";
+Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";
Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = "in text";
Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = "get substring from first letter";
-Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = "get substring from letter # from end";
+Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END =
+ "get substring from letter # from end";
Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = "get substring from letter #";
Blockly.Msg.TEXT_GET_SUBSTRING_TAIL = "";
-Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = "Returns a specified portion of the text.";
-Blockly.Msg.TEXT_INDEXOF_HELPURL = "https://github.com/google/blockly/wiki/Text#finding-text";
+Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP =
+ "Returns a specified portion of the text.";
+Blockly.Msg.TEXT_INDEXOF_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#finding-text";
Blockly.Msg.TEXT_INDEXOF_INPUT_INTEXT = "in text";
Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = "find first occurrence of text";
Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = "find last occurrence of text";
Blockly.Msg.TEXT_INDEXOF_TAIL = "";
-Blockly.Msg.TEXT_INDEXOF_TOOLTIP = "Returns the index of the first/last occurrence of the first text in the second text. Returns 0 if text is not found.";
-Blockly.Msg.TEXT_ISEMPTY_HELPURL = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
+Blockly.Msg.TEXT_INDEXOF_TOOLTIP =
+ "Returns the index of the first/last occurrence of the first text in the second text. Returns 0 if text is not found.";
+Blockly.Msg.TEXT_ISEMPTY_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
Blockly.Msg.TEXT_ISEMPTY_TITLE = "%1 is empty";
-Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = "Returns true if the provided text is empty.";
-Blockly.Msg.TEXT_JOIN_HELPURL = "https://github.com/google/blockly/wiki/Text#text-creation";
+Blockly.Msg.TEXT_ISEMPTY_TOOLTIP =
+ "Returns true if the provided text is empty.";
+Blockly.Msg.TEXT_JOIN_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#text-creation";
Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = "create text with";
-Blockly.Msg.TEXT_JOIN_TOOLTIP = "Create a piece of text by joining together any number of items.";
-Blockly.Msg.TEXT_LENGTH_HELPURL = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg.TEXT_JOIN_TOOLTIP =
+ "Create a piece of text by joining together any number of items.";
+Blockly.Msg.TEXT_LENGTH_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#text-modification";
Blockly.Msg.TEXT_LENGTH_TITLE = "length of %1";
-Blockly.Msg.TEXT_LENGTH_TOOLTIP = "Returns the number of letters (including spaces) in the provided text.";
-Blockly.Msg.TEXT_PRINT_HELPURL = "https://github.com/google/blockly/wiki/Text#printing-text";
+Blockly.Msg.TEXT_LENGTH_TOOLTIP =
+ "Returns the number of letters (including spaces) in the provided text.";
+Blockly.Msg.TEXT_PRINT_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#printing-text";
Blockly.Msg.TEXT_PRINT_TITLE = "print %1";
-Blockly.Msg.TEXT_PRINT_TOOLTIP = "Print the specified text, number or other value.";
-Blockly.Msg.TEXT_PROMPT_HELPURL = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
+Blockly.Msg.TEXT_PRINT_TOOLTIP =
+ "Print the specified text, number or other value.";
+Blockly.Msg.TEXT_PROMPT_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = "Prompt for user for a number.";
Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = "Prompt for user for some text.";
Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = "prompt for number with message";
Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = "prompt for text with message";
-Blockly.Msg.TEXT_TEXT_HELPURL = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg.TEXT_TEXT_HELPURL =
+ "https://en.wikipedia.org/wiki/String_(computer_science)";
Blockly.Msg.TEXT_TEXT_TOOLTIP = "A letter, word, or line of text.";
-Blockly.Msg.TEXT_TRIM_HELPURL = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
+Blockly.Msg.TEXT_TRIM_HELPURL =
+ "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH = "trim spaces from both sides of";
Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = "trim spaces from left side of";
Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = "trim spaces from right side of";
-Blockly.Msg.TEXT_TRIM_TOOLTIP = "Return a copy of the text with spaces removed from one or both ends.";
+Blockly.Msg.TEXT_TRIM_TOOLTIP =
+ "Return a copy of the text with spaces removed from one or both ends.";
Blockly.Msg.TODAY = "Today";
Blockly.Msg.UNDO = "Undo";
Blockly.Msg.VARIABLES_DEFAULT_NAME = "item";
Blockly.Msg.VARIABLES_GET_CREATE_SET = "Create 'set %1'";
-Blockly.Msg.VARIABLES_GET_HELPURL = "https://github.com/google/blockly/wiki/Variables#get";
+Blockly.Msg.VARIABLES_GET_HELPURL =
+ "https://github.com/google/blockly/wiki/Variables#get";
Blockly.Msg.VARIABLES_GET_TOOLTIP = "Returns the value of this variable.";
Blockly.Msg.VARIABLES_SET = "set %1 to %2";
Blockly.Msg.VARIABLES_SET_CREATE_GET = "Create 'get %1'";
-Blockly.Msg.VARIABLES_SET_HELPURL = "https://github.com/google/blockly/wiki/Variables#set";
-Blockly.Msg.VARIABLES_SET_TOOLTIP = "Sets this variable to be equal to the input.";
-Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
+Blockly.Msg.VARIABLES_SET_HELPURL =
+ "https://github.com/google/blockly/wiki/Variables#set";
+Blockly.Msg.VARIABLES_SET_TOOLTIP =
+ "Sets this variable to be equal to the input.";
+Blockly.Msg.PROCEDURES_DEFRETURN_TITLE =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;
Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
-Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
+Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
-Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
+Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF =
+ Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
Blockly.Msg.LISTS_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;
Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
Blockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
-Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM =
+ Blockly.Msg.VARIABLES_DEFAULT_NAME;
Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
-Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
+Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT =
+ Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
// Ardublockly strings
Blockly.Msg.ARD_ANALOGREAD = "read analog pin#";
Blockly.Msg.ARD_ANALOGREAD_TIP = "Return value between 0 and 1024";
Blockly.Msg.ARD_ANALOGWRITE = "set analog pin#";
-Blockly.Msg.ARD_ANALOGWRITE_TIP = "Write analog value between 0 and 255 to a specific PWM Port";
+Blockly.Msg.ARD_ANALOGWRITE_TIP =
+ "Write analog value between 0 and 255 to a specific PWM Port";
Blockly.Msg.ARD_BUILTIN_LED = "set built-in LED";
-Blockly.Msg.ARD_BUILTIN_LED_TIP = "Light on or off for the built-in LED of the Arduino";
-Blockly.Msg.ARD_COMPONENT_WARN1 = "A %1 configuration block with the same %2 name must be added to use this block!";
+Blockly.Msg.ARD_BUILTIN_LED_TIP =
+ "Light on or off for the built-in LED of the Arduino";
+Blockly.Msg.ARD_COMPONENT_WARN1 =
+ "A %1 configuration block with the same %2 name must be added to use this block!";
Blockly.Msg.ARD_DEFINE = "Define";
Blockly.Msg.ARD_DIGITALREAD = "read digital pin#";
Blockly.Msg.ARD_DIGITALREAD_TIP = "Read digital value on a pin: HIGH or LOW";
Blockly.Msg.ARD_DIGITALWRITE = "set digitial pin#";
-Blockly.Msg.ARD_DIGITALWRITE_TIP = "Write digital value HIGH or LOW to a specific Port";
+Blockly.Msg.ARD_DIGITALWRITE_TIP =
+ "Write digital value HIGH or LOW to a specific Port";
Blockly.Msg.ARD_FUN_RUN_LOOP = "Arduino loop forever:";
Blockly.Msg.ARD_FUN_RUN_SETUP = "Arduino run first:";
-Blockly.Msg.ARD_FUN_RUN_TIP = "Defines the Arduino setup() and loop() functions.";
+Blockly.Msg.ARD_FUN_RUN_TIP =
+ "Defines the Arduino setup() and loop() functions.";
Blockly.Msg.ARD_HIGH = "HIGH";
Blockly.Msg.ARD_HIGHLOW_TIP = "Set a pin state logic High or Low.";
Blockly.Msg.ARD_LOW = "LOW";
@@ -422,18 +577,25 @@ Blockly.Msg.ARD_NOTONE = "Turn off tone on pin #";
Blockly.Msg.ARD_NOTONE_PIN = "No tone PIN#";
Blockly.Msg.ARD_NOTONE_PIN_TIP = "Stop generating a tone on a pin";
Blockly.Msg.ARD_NOTONE_TIP = "Turns the tone off on the selected pin";
-Blockly.Msg.ARD_PIN_WARN1 = "Pin %1 is needed for %2 as pin %3. Already used as %4.";
-Blockly.Msg.ARD_PULSETIMEOUT_TIP = "Measures the duration of a pulse on the selected pin, if it is within the time-out in microseconds.";
+Blockly.Msg.ARD_PIN_WARN1 =
+ "Pin %1 is needed for %2 as pin %3. Already used as %4.";
+Blockly.Msg.ARD_PULSETIMEOUT_TIP =
+ "Measures the duration of a pulse on the selected pin, if it is within the time-out in microseconds.";
Blockly.Msg.ARD_PULSE_READ = "measure %1 pulse on pin #%2";
-Blockly.Msg.ARD_PULSE_READ_TIMEOUT = "measure %1 pulse on pin #%2 (timeout after %3 μs)";
-Blockly.Msg.ARD_PULSE_TIP = "Measures the duration of a pulse on the selected pin.";
+Blockly.Msg.ARD_PULSE_READ_TIMEOUT =
+ "measure %1 pulse on pin #%2 (timeout after %3 μs)";
+Blockly.Msg.ARD_PULSE_TIP =
+ "Measures the duration of a pulse on the selected pin.";
Blockly.Msg.ARD_SERIAL_BPS = "bps";
Blockly.Msg.ARD_SERIAL_PRINT = "print";
Blockly.Msg.ARD_SERIAL_PRINT_NEWLINE = "add new line";
-Blockly.Msg.ARD_SERIAL_PRINT_TIP = "Prints data to the console/serial port as human-readable ASCII text.";
-Blockly.Msg.ARD_SERIAL_PRINT_WARN = "A setup block for %1 must be added to the workspace to use this block!";
+Blockly.Msg.ARD_SERIAL_PRINT_TIP =
+ "Prints data to the console/serial port as human-readable ASCII text.";
+Blockly.Msg.ARD_SERIAL_PRINT_WARN =
+ "A setup block for %1 must be added to the workspace to use this block!";
Blockly.Msg.ARD_SERIAL_SETUP = "Setup";
-Blockly.Msg.ARD_SERIAL_SETUP_TIP = "Selects the speed for a specific Serial peripheral";
+Blockly.Msg.ARD_SERIAL_SETUP_TIP =
+ "Selects the speed for a specific Serial peripheral";
Blockly.Msg.ARD_SERIAL_SPEED = ": speed to";
Blockly.Msg.ARD_SERVO_READ = "read SERVO from PIN#";
Blockly.Msg.ARD_SERVO_READ_TIP = "Read a Servo angle";
@@ -454,12 +616,15 @@ Blockly.Msg.ARD_SPI_SETUP_MODE3 = "3 (High - Rising)";
Blockly.Msg.ARD_SPI_SETUP_MSBFIRST = "MSBFIRST";
Blockly.Msg.ARD_SPI_SETUP_SHIFT = "data shift";
Blockly.Msg.ARD_SPI_SETUP_TIP = "Configures the SPI peripheral.";
-Blockly.Msg.ARD_SPI_TRANSRETURN_TIP = "Send a SPI message to an specified slave device and get data back.";
+Blockly.Msg.ARD_SPI_TRANSRETURN_TIP =
+ "Send a SPI message to an specified slave device and get data back.";
Blockly.Msg.ARD_SPI_TRANS_NONE = "none";
Blockly.Msg.ARD_SPI_TRANS_SLAVE = "to slave pin";
-Blockly.Msg.ARD_SPI_TRANS_TIP = "Send a SPI message to an specified slave device.";
+Blockly.Msg.ARD_SPI_TRANS_TIP =
+ "Send a SPI message to an specified slave device.";
Blockly.Msg.ARD_SPI_TRANS_VAL = "transfer";
-Blockly.Msg.ARD_SPI_TRANS_WARN1 = "A setup block for %1 must be added to the workspace to use this block!";
+Blockly.Msg.ARD_SPI_TRANS_WARN1 =
+ "A setup block for %1 must be added to the workspace to use this block!";
Blockly.Msg.ARD_SPI_TRANS_WARN2 = "Old pin value %1 is no longer available.";
Blockly.Msg.ARD_STEPPER_COMPONENT = "stepper";
Blockly.Msg.ARD_STEPPER_DEFAULT_NAME = "MyStepper";
@@ -472,11 +637,13 @@ Blockly.Msg.ARD_STEPPER_PIN3 = "pin3#";
Blockly.Msg.ARD_STEPPER_PIN4 = "pin4#";
Blockly.Msg.ARD_STEPPER_REVOLVS = "how many steps per revolution";
Blockly.Msg.ARD_STEPPER_SETUP = "Setup stepper motor";
-Blockly.Msg.ARD_STEPPER_SETUP_TIP = "Configures a stepper motor pinout and other settings.";
+Blockly.Msg.ARD_STEPPER_SETUP_TIP =
+ "Configures a stepper motor pinout and other settings.";
Blockly.Msg.ARD_STEPPER_SPEED = "set speed (rpm) to";
Blockly.Msg.ARD_STEPPER_STEP = "move stepper";
Blockly.Msg.ARD_STEPPER_STEPS = "steps";
-Blockly.Msg.ARD_STEPPER_STEP_TIP = "Turns the stepper motor a specific number of steps.";
+Blockly.Msg.ARD_STEPPER_STEP_TIP =
+ "Turns the stepper motor a specific number of steps.";
Blockly.Msg.ARD_STEPPER_TWO_PINS = "2";
Blockly.Msg.ARD_TIME_DELAY = "wait";
Blockly.Msg.ARD_TIME_DELAY_MICROS = "microseconds";
@@ -485,15 +652,18 @@ Blockly.Msg.ARD_TIME_DELAY_TIP = "Wait specific time in milliseconds";
Blockly.Msg.ARD_TIME_INF = "wait forever (end program)";
Blockly.Msg.ARD_TIME_INF_TIP = "Wait indefinitely, stopping the program.";
Blockly.Msg.ARD_TIME_MICROS = "current elapsed Time (microseconds)";
-Blockly.Msg.ARD_TIME_MICROS_TIP = "Returns the number of microseconds since the Arduino board began running the current program. Has to be stored in a positive long integer";
+Blockly.Msg.ARD_TIME_MICROS_TIP =
+ "Returns the number of microseconds since the Arduino board began running the current program. Has to be stored in a positive long integer";
Blockly.Msg.ARD_TIME_MILLIS = "current elapsed Time (milliseconds)";
-Blockly.Msg.ARD_TIME_MILLIS_TIP = "Returns the number of milliseconds since the Arduino board began running the current program. Has to be stored in a positive long integer";
+Blockly.Msg.ARD_TIME_MILLIS_TIP =
+ "Returns the number of milliseconds since the Arduino board began running the current program. Has to be stored in a positive long integer";
Blockly.Msg.ARD_TIME_MS = "milliseconds";
Blockly.Msg.ARD_TONEFREQ = "at frequency";
Blockly.Msg.ARD_TONE_FREQ = "frequency";
Blockly.Msg.ARD_TONE_PIN = "Tone PIN#";
Blockly.Msg.ARD_TONE_PIN_TIP = "Generate audio tones on a pin";
-Blockly.Msg.ARD_TONE_TIP = "Sets tone on pin to specified frequency within range 31 - 65535";
+Blockly.Msg.ARD_TONE_TIP =
+ "Sets tone on pin to specified frequency within range 31 - 65535";
Blockly.Msg.ARD_TONE_WARNING = "Frequency must be in range 31 - 65535";
Blockly.Msg.ARD_TYPE_ARRAY = "Array";
Blockly.Msg.ARD_TYPE_BOOL = "Boolean";
@@ -527,15 +697,18 @@ Blockly.Msg.senseBox_LoRa_cayenne_channel = "Channel";
Blockly.Msg.senseBox_LoRa_cayenne_gps_tip = "Send GPS Data";
Blockly.Msg.senseBox_LoRa_cayenne_gyros_tip = "Send a value from the Gyroscope";
Blockly.Msg.senseBox_LoRa_cayenne_humidity = "Humidity";
-Blockly.Msg.senseBox_LoRa_cayenne_humidity_tip = "Send temperature with one decimal";
+Blockly.Msg.senseBox_LoRa_cayenne_humidity_tip =
+ "Send temperature with one decimal";
Blockly.Msg.senseBox_LoRa_cayenne_lat = "Latitude";
Blockly.Msg.senseBox_LoRa_cayenne_lng = "Longitude";
Blockly.Msg.senseBox_LoRa_cayenne_luminosity = "Luminosity";
Blockly.Msg.senseBox_LoRa_cayenne_luminosity_tip = "Send luminosity";
Blockly.Msg.senseBox_LoRa_cayenne_pressure = "Pressure";
-Blockly.Msg.senseBox_LoRa_cayenne_pressure_tip = "Send pressure with one decimal";
+Blockly.Msg.senseBox_LoRa_cayenne_pressure_tip =
+ "Send pressure with one decimal";
Blockly.Msg.senseBox_LoRa_cayenne_temperature = "Temperature";
-Blockly.Msg.senseBox_LoRa_cayenne_temperature_tip = "Send temperature with one decimal";
+Blockly.Msg.senseBox_LoRa_cayenne_temperature_tip =
+ "Send temperature with one decimal";
Blockly.Msg.senseBox_LoRa_cayenne_tip = "Send Data as Cayenne Payload Format";
Blockly.Msg.senseBox_LoRa_cayenne_x = "X Value";
Blockly.Msg.senseBox_LoRa_cayenne_y = "Y Value";
@@ -543,14 +716,17 @@ Blockly.Msg.senseBox_LoRa_cayenne_z = "Z Value";
Blockly.Msg.senseBox_LoRa_connect = "Send to TTN";
Blockly.Msg.senseBox_LoRa_devaddr_id = "Device Adress";
Blockly.Msg.senseBox_LoRa_device_id = "Device EUI (lsb)";
-Blockly.Msg.senseBox_LoRa_init_abp_tip = "Initialise the LoRa tranismission. Copy ID's as lsb";
-Blockly.Msg.senseBox_LoRa_init_otaa_tip = "Initialise the LoRa tranismission. Copy ID's as lsb";
+Blockly.Msg.senseBox_LoRa_init_abp_tip =
+ "Initialise the LoRa tranismission. Copy ID's as lsb";
+Blockly.Msg.senseBox_LoRa_init_otaa_tip =
+ "Initialise the LoRa tranismission. Copy ID's as lsb";
Blockly.Msg.senseBox_LoRa_interval = "Transmission interval in minutes";
Blockly.Msg.senseBox_LoRa_message_tip = "Send a message with LoRa";
Blockly.Msg.senseBox_LoRa_nwskey_id = "Network Session Key (msb)";
Blockly.Msg.senseBox_LoRa_send_cayenne = "Send as Cayenne Payload";
Blockly.Msg.senseBox_LoRa_send_message = "Send as Lora Message";
-Blockly.Msg.senseBox_LoRa_sensor_tip = "Send a value with a specific number of bytes";
+Blockly.Msg.senseBox_LoRa_sensor_tip =
+ "Send a value with a specific number of bytes";
Blockly.Msg.senseBox_SD_COMPONENT = "SD-Block";
Blockly.Msg.senseBox_basic_blue = "Blue";
Blockly.Msg.senseBox_basic_green = "Gree";
@@ -558,7 +734,8 @@ Blockly.Msg.senseBox_basic_red = "Red";
Blockly.Msg.senseBox_basic_state = "Status";
Blockly.Msg.senseBox_bme680 = "Environmental sensor (BME680)";
Blockly.Msg.senseBox_bme680_tip = "Returns values from the BME680";
-Blockly.Msg.senseBox_bme680_warning = "Warning. Gas (VOC) cannot be measured simultaneously with other parameters.";
+Blockly.Msg.senseBox_bme680_warning =
+ "Warning. Gas (VOC) cannot be measured simultaneously with other parameters.";
Blockly.Msg.senseBox_bme_breatheVocEquivalent = "Breathe VOC Equivalent";
Blockly.Msg.senseBox_bme_co2 = "CO2 Equivalent";
Blockly.Msg.senseBox_bme_iaq = "Indoor Air Quality (IAQ)";
@@ -606,27 +783,32 @@ Blockly.Msg.senseBox_display_plotYRange1 = "Y-Range Begin";
Blockly.Msg.senseBox_display_plotYRange2 = "Y-Range End";
Blockly.Msg.senseBox_display_plotYTick = "Y-Tick";
Blockly.Msg.senseBox_display_printDisplay = "Write Text/Number";
-Blockly.Msg.senseBox_display_printDisplay_tip = "Prints Values to the Display, set X and Y Location";
+Blockly.Msg.senseBox_display_printDisplay_tip =
+ "Prints Values to the Display, set X and Y Location";
Blockly.Msg.senseBox_display_printDisplay_value = "value";
Blockly.Msg.senseBox_display_printDisplay_x = "x-coordinates";
Blockly.Msg.senseBox_display_printDisplay_y = "y-coordinates";
Blockly.Msg.senseBox_display_setSize = "set font size to";
-Blockly.Msg.senseBox_display_setSize_tip = "Change the font size. Set a Value between 1-10.";
+Blockly.Msg.senseBox_display_setSize_tip =
+ "Change the font size. Set a Value between 1-10.";
Blockly.Msg.senseBox_display_white = "White";
Blockly.Msg.senseBox_display_fastPrint_dimension = "Unit";
Blockly.Msg.senseBox_display_fastPrint_show = "Show Measurements";
-Blockly.Msg.senseBox_display_fastPrint_tip = "Show two measurements with title and dimension on the display";
+Blockly.Msg.senseBox_display_fastPrint_tip =
+ "Show two measurements with title and dimension on the display";
Blockly.Msg.senseBox_display_fastPrint_title = "Title";
Blockly.Msg.senseBox_display_fastPrint_value = "Measurement";
Blockly.Msg.senseBox_foto = "Light Dependent Resistor";
-Blockly.Msg.senseBox_foto_tip = "simple light depending resistor, gives values between 0 and 1023";
+Blockly.Msg.senseBox_foto_tip =
+ "simple light depending resistor, gives values between 0 and 1023";
Blockly.Msg.senseBox_gas = "Gas (VOC)";
Blockly.Msg.senseBox_gps_alt = "altitude";
Blockly.Msg.senseBox_gps_begin = "initialize GPS";
Blockly.Msg.senseBox_gps_begin_tip = "initialize GPS Sensor";
Blockly.Msg.senseBox_gps_date = "date";
Blockly.Msg.senseBox_gps_getValues = "GPS-Module";
-Blockly.Msg.senseBox_gps_getValues_tip = "gets the specific Value from the GPS Sensor";
+Blockly.Msg.senseBox_gps_getValues_tip =
+ "gets the specific Value from the GPS Sensor";
Blockly.Msg.senseBox_gps_lat = "latitude";
Blockly.Msg.senseBox_gps_lng = "longitude";
Blockly.Msg.senseBox_gps_speed = "speed";
@@ -635,41 +817,52 @@ Blockly.Msg.senseBox_gps_timeStamp = "timestamp (RFC 3339)";
Blockly.Msg.senseBox_html_body = "";
Blockly.Msg.senseBox_html_body_end = "";
Blockly.Msg.senseBox_html_document = "HTML";
-Blockly.Msg.senseBox_html_document_tip = "A block for generating a HTML document.";
-Blockly.Msg.senseBox_html_general_tag_tip = "A general HTML tag building block.";
+Blockly.Msg.senseBox_html_document_tip =
+ "A block for generating a HTML document.";
+Blockly.Msg.senseBox_html_general_tag_tip =
+ "A general HTML tag building block.";
Blockly.Msg.senseBox_html_header = "";
Blockly.Msg.senseBox_html_header_end = "";
Blockly.Msg.senseBox_http_method = "Method";
Blockly.Msg.senseBox_http_method_tip = "Method of the current HTTP request";
Blockly.Msg.senseBox_http_not_found = "404 Not found";
-Blockly.Msg.senseBox_http_not_found_tip = "Send a predefined 404 HTTP response.";
+Blockly.Msg.senseBox_http_not_found_tip =
+ "Send a predefined 404 HTTP response.";
Blockly.Msg.senseBox_http_on_client_connect = "If client is connected:";
-Blockly.Msg.senseBox_http_on_client_connect_tip = "Checks if a client is connected and executes given statement in that case.";
+Blockly.Msg.senseBox_http_on_client_connect_tip =
+ "Checks if a client is connected and executes given statement in that case.";
Blockly.Msg.senseBox_http_protocol_version = "HTTP Version";
-Blockly.Msg.senseBox_http_protocol_version_tip = "The HTTP Version of the current HTTP request";
+Blockly.Msg.senseBox_http_protocol_version_tip =
+ "The HTTP Version of the current HTTP request";
Blockly.Msg.senseBox_http_success = "Succesful";
Blockly.Msg.senseBox_http_success_l2 = "HTTP reponse";
-Blockly.Msg.senseBox_http_success_tip = "Send a successful HTTP response with content.";
+Blockly.Msg.senseBox_http_success_tip =
+ "Send a successful HTTP response with content.";
Blockly.Msg.senseBox_http_uri = "URI";
-Blockly.Msg.senseBox_http_uri_tip = "URI of requested resource of the current HTTP request";
+Blockly.Msg.senseBox_http_uri_tip =
+ "URI of requested resource of the current HTTP request";
Blockly.Msg.senseBox_http_user_agent = "User-Agent";
-Blockly.Msg.senseBox_http_user_agent_tip = "The User-Agent send along with the current HTTP request";
+Blockly.Msg.senseBox_http_user_agent_tip =
+ "The User-Agent send along with the current HTTP request";
Blockly.Msg.senseBox_hum = "humidity in %";
Blockly.Msg.senseBox_hum_tip = "Measures humidity in %";
Blockly.Msg.senseBox_init_http_server = "Initialize HTTP-Server";
-Blockly.Msg.senseBox_init_http_server_tip = "Initializes a http server on the specified port.";
+Blockly.Msg.senseBox_init_http_server_tip =
+ "Initializes a http server on the specified port.";
Blockly.Msg.senseBox_interval = "ms";
Blockly.Msg.senseBox_interval_timer = "Measuring interval";
Blockly.Msg.senseBox_interval_timer_tip = "Setup an Intervall";
Blockly.Msg.senseBox_ip_address = "IP-Address";
Blockly.Msg.senseBox_ip_address_tip = "Returns the IP address as a string.";
Blockly.Msg.senseBox_ir = "infrared distance sensor";
-Blockly.Msg.senseBox_ir_tip = "infrared distance sensor can measure the distance between 10 and 80 cm";
+Blockly.Msg.senseBox_ir_tip =
+ "infrared distance sensor can measure the distance between 10 and 80 cm";
Blockly.Msg.senseBox_led = "LED connected to digital";
Blockly.Msg.senseBox_led_tip = "simple LED. Don't forget the resistor";
Blockly.Msg.senseBox_light = "Illuminance in Lux";
Blockly.Msg.senseBox_lux = "lightsensor";
-Blockly.Msg.senseBox_lux_tip = "Light Sensor can measure the illuminance in lux";
+Blockly.Msg.senseBox_lux_tip =
+ "Light Sensor can measure the illuminance in lux";
Blockly.Msg.senseBox_measurement = "Measurement";
Blockly.Msg.senseBox_measurements = "Measurements";
Blockly.Msg.senseBox_off = "off";
@@ -697,8 +890,10 @@ Blockly.Msg.senseBox_poti_tip = "Potentiometer";
Blockly.Msg.senseBox_pressure = "Airpressure in Pa";
Blockly.Msg.senseBox_pressure_referencePressure = "Pressure at Sea Level";
Blockly.Msg.senseBox_pressure_referencePressure_dim = "hPa";
-Blockly.Msg.senseBox_pressure_sensor = "Airpressure/Temperature Sensor (BMP280)";
-Blockly.Msg.senseBox_pressure_tip = "airpressure sensor can measure the airpressure in Pa";
+Blockly.Msg.senseBox_pressure_sensor =
+ "Airpressure/Temperature Sensor (BMP280)";
+Blockly.Msg.senseBox_pressure_tip =
+ "airpressure sensor can measure the airpressure in Pa";
Blockly.Msg.senseBox_rgb_led = "RGB-LED";
Blockly.Msg.senseBox_rgb_led_tip = "RGB-LED";
Blockly.Msg.senseBox_sd_create_file = "Create file on SD-Card";
@@ -713,17 +908,24 @@ Blockly.Msg.senseBox_sds011_pm25 = "PM2.5";
Blockly.Msg.senseBox_sds011_serial1 = "Serial1";
Blockly.Msg.senseBox_sds011_serial2 = "Serial2";
Blockly.Msg.senseBox_sds011_tip = "Measuring the fine particular concentration";
-Blockly.Msg.senseBox_send_mobile_to_osem = "Send measurement and location to openSenseMap";
-Blockly.Msg.senseBox_send_mobile_to_osem_tip = "Send Value and Location to openSenseMap";
+Blockly.Msg.senseBox_send_mobile_to_osem =
+ "Send measurement and location to openSenseMap";
+Blockly.Msg.senseBox_send_mobile_to_osem_tip =
+ "Send Value and Location to openSenseMap";
Blockly.Msg.senseBox_send_to_osem = "Send measurement to openSenseMap";
-Blockly.Msg.senseBox_send_to_osem_tip = "sends the measurement to openSenseMap. Make shure to enter the correct BoxID and SensorID";
+Blockly.Msg.senseBox_send_to_osem_tip =
+ "sends the measurement to openSenseMap. Make shure to enter the correct BoxID and SensorID";
Blockly.Msg.senseBox_sensor = "Sensors";
-Blockly.Msg.senseBox_serial_tip = "prints the values to the serial monitor in the arduino IDE. Good way to have a fast and easy feedback for your programm";
+Blockly.Msg.senseBox_serial_tip =
+ "prints the values to the serial monitor in the arduino IDE. Good way to have a fast and easy feedback for your programm";
Blockly.Msg.senseBox_soil = "Soil Moisture";
Blockly.Msg.senseBox_sound = "Microphone";
-Blockly.Msg.senseBox_sound_tip = "This block returns the measured value of the microphone in volts.";
-Blockly.Msg.senseBox_tag_first_mutator_tip = "Mandatory children to this block.";
-Blockly.Msg.senseBox_tag_optional_mutator_tip = "Add more children to the block.";
+Blockly.Msg.senseBox_sound_tip =
+ "This block returns the measured value of the microphone in volts.";
+Blockly.Msg.senseBox_tag_first_mutator_tip =
+ "Mandatory children to this block.";
+Blockly.Msg.senseBox_tag_optional_mutator_tip =
+ "Add more children to the block.";
Blockly.Msg.senseBox_telegram_do = "Telegram do";
Blockly.Msg.senseBox_telegram_do_on_message = "on message";
Blockly.Msg.senseBox_telegram_init = "Initialize Telegram Bot";
@@ -742,7 +944,8 @@ Blockly.Msg.senseBox_ultrasonic_tip = "ultrasonic distance sensor";
Blockly.Msg.senseBox_ultrasonic_trigger = "Trigger";
Blockly.Msg.senseBox_uv = "UV-Light in µW/cm²";
Blockly.Msg.senseBox_uv_light = "Light Visible + UV";
-Blockly.Msg.senseBox_uv_light_tip = "Sensor measuring the UV-light and the illuminance";
+Blockly.Msg.senseBox_uv_light_tip =
+ "Sensor measuring the UV-light and the illuminance";
Blockly.Msg.senseBox_value = "value:";
Blockly.Msg.senseBox_watertemperature = "Water Temperature";
Blockly.Msg.senseBox_wifi_connect = "Connect to Wifi";
@@ -764,7 +967,6 @@ Blockly.Msg.senseBox_scd30 = "CO2 Sensor (Sensirion SCD30)";
Blockly.Msg.senseBox_scd_co2 = "CO2 in ppm";
Blockly.Msg.senseBox_scd_tip = "Returns value of the CO2 Sensor";
-
//WS2818 RGB LED
Blockly.Msg.senseBox_ws2818_rgb_led = "senseBox WS2812 - RGB LED";
Blockly.Msg.senseBox_ws2818_rgb_led_brightness = "Helligkeit";
@@ -779,11 +981,11 @@ Blockly.Msg.senseBox_mqtt_server = "Server";
Blockly.Msg.senseBox_mqtt_port = "Port";
Blockly.Msg.senseBox_mqtt_username = "Username";
Blockly.Msg.senseBox_mqtt_password = "Password";
-Blockly.Msg.sensebox_mqtt_subscribe = "Subscribe to Feed"
+Blockly.Msg.sensebox_mqtt_subscribe = "Subscribe to Feed";
Blockly.Msg.senseBox_mqtt_publish = "Publish to Feed/Topic";
//Windspeed
-Blockly.Msg.senseBox_windspeed = "Windspeedsensor"
+Blockly.Msg.senseBox_windspeed = "Windspeedsensor";
//Soundsensor
Blockly.Msg.senseBox_soundsensor_dfrobot = "Soundsensor (DF Robot)";
@@ -811,72 +1013,85 @@ Blockly.Msg.toolbox_variables = "Variables";
*
*/
-Blockly.Msg.tooltip_compile_code = "Compile code"
+Blockly.Msg.tooltip_compile_code = "Compile code";
Blockly.Msg.tooltip_save_blocks = "Save blocks";
Blockly.Msg.tooltip_open_blocks = "Open blocks";
Blockly.Msg.tooltip_screenshot = "Download screenshot";
Blockly.Msg.tooltip_clear_workspace = "Reset workspace";
Blockly.Msg.tooltip_share_blocks = "Share blocks";
Blockly.Msg.tooltip_show_code = "Show code";
-Blockly.Msg.tooltip_hide_code = "Hide code "
-Blockly.Msg.tooltip_delete_project = "Delete project"
-Blockly.Msg.tooltip_project_name = "Project name"
-Blockly.Msg.tooltip_download_project = "Download project"
-Blockly.Msg.tooltip_open_project = "Open project"
-Blockly.Msg.tooltip_update_project = "Update project"
-Blockly.Msg.tooltip_save_project = "Save project"
-Blockly.Msg.tooltip_create_project = "Create project"
-Blockly.Msg.tooltip_share_project = "Share project"
-Blockly.Msg.tooltip_reset_workspace = "Reset workspace"
-Blockly.Msg.tooltip_copy_link = "Cooy link"
-Blockly.Msg.tooltip_trashcan_hide = "hide deleted blocks"
-Blockly.Msg.tooltip_trashcan_delete = "empty trashcan"
-Blockly.Msg.tooltip_project_title = "Project title"
-Blockly.Msg.tooltip_check_solution = "Check solution"
+Blockly.Msg.tooltip_hide_code = "Hide code ";
+Blockly.Msg.tooltip_delete_project = "Delete project";
+Blockly.Msg.tooltip_project_name = "Project name";
+Blockly.Msg.tooltip_download_project = "Download project";
+Blockly.Msg.tooltip_open_project = "Open project";
+Blockly.Msg.tooltip_update_project = "Update project";
+Blockly.Msg.tooltip_save_project = "Save project";
+Blockly.Msg.tooltip_create_project = "Create project";
+Blockly.Msg.tooltip_share_project = "Share project";
+Blockly.Msg.tooltip_reset_workspace = "Reset workspace";
+Blockly.Msg.tooltip_copy_link = "Cooy link";
+Blockly.Msg.tooltip_trashcan_hide = "hide deleted blocks";
+Blockly.Msg.tooltip_trashcan_delete = "empty trashcan";
+Blockly.Msg.tooltip_project_title = "Project title";
+Blockly.Msg.tooltip_check_solution = "Check solution";
/**
* Messages
*
*/
-Blockly.Msg.messages_delete_project_failed = "Error deleting the project. Try again."
-Blockly.Msg.messages_reset_workspace_success = "The project has been successfully reset."
-Blockly.Msg.messages_PROJECT_UPDATE_SUCCESS = "The project was successfully updated."
-Blockly.Msg.messages_GALLERY_UPDATE_SUCCESS = "The gallery project was successfully updated."
-Blockly.Msg.messages_PROJECT_UPDATE_FAIL = "Error updating the project. Try again."
-Blockly.Msg.messages_GALLERY_UPDATE_FAIL = "Error updating the gallery project. Try again."
-Blockly.Msg.messages_gallery_save_fail_1 = "Error saving the "
-Blockly.Msg.messages_gallery_save_fail_2 = "Project. Try again."
-Blockly.Msg.messages_SHARE_SUCCESS = 'Share program'
-Blockly.Msg.messages_SHARE_FAIL = "Error creating a link to share your program. Try again."
-Blockly.Msg.messages_copylink_success = 'Link successfully saved to clipboard.'
-Blockly.Msg.messages_rename_success_01 = 'The project was successfully saved to '
-Blockly.Msg.messages_rename_success_02 = 'renamed.'
-Blockly.Msg.messages_newblockly_head = 'Welcome to the new version Blockly for the senseBox'
-Blockly.Msg.messages_newblockly_text = "The new Blockly version is currently in testing. You can find all the news here: "
-Blockly.Msg.messages_GET_TUTORIAL_FAIL = 'Back to tutorials overview'
-Blockly.Msg.messages_LOGIN_FAIL = 'The username or password is incorrect.'
-Blockly.Msg.messages_login_error = "Enter both a username and a password."
+Blockly.Msg.messages_delete_project_failed =
+ "Error deleting the project. Try again.";
+Blockly.Msg.messages_reset_workspace_success =
+ "The project has been successfully reset.";
+Blockly.Msg.messages_PROJECT_UPDATE_SUCCESS =
+ "The project was successfully updated.";
+Blockly.Msg.messages_GALLERY_UPDATE_SUCCESS =
+ "The gallery project was successfully updated.";
+Blockly.Msg.messages_PROJECT_UPDATE_FAIL =
+ "Error updating the project. Try again.";
+Blockly.Msg.messages_GALLERY_UPDATE_FAIL =
+ "Error updating the gallery project. Try again.";
+Blockly.Msg.messages_gallery_save_fail_1 = "Error saving the ";
+Blockly.Msg.messages_gallery_save_fail_2 = "Project. Try again.";
+Blockly.Msg.messages_SHARE_SUCCESS = "Share program";
+Blockly.Msg.messages_SHARE_FAIL =
+ "Error creating a link to share your program. Try again.";
+Blockly.Msg.messages_copylink_success = "Link successfully saved to clipboard.";
+Blockly.Msg.messages_rename_success_01 =
+ "The project was successfully saved to ";
+Blockly.Msg.messages_rename_success_02 = "renamed.";
+Blockly.Msg.messages_newblockly_head =
+ "Welcome to the new version Blockly for the senseBox";
+Blockly.Msg.messages_newblockly_text =
+ "The new Blockly version is currently in testing. You can find all the news here: ";
+Blockly.Msg.messages_GET_TUTORIAL_FAIL = "Back to tutorials overview";
+Blockly.Msg.messages_LOGIN_FAIL = "The username or password is incorrect.";
+Blockly.Msg.messages_login_error = "Enter both a username and a password.";
/**
* Share Dialog
*/
Blockly.Msg.sharedialog_headline = "Your link has been created.";
-Blockly.Msg.sharedialog_text = "You can share your program using the following link.";
+Blockly.Msg.sharedialog_text =
+ "You can share your program using the following link.";
/**
* Project rename Dialog
*/
Blockly.Msg.renamedialog_headline = "Rename project";
-Blockly.Msg.renamedialog_text = "Please enter a name for the project and confirm it by clicking 'Confirm'."
+Blockly.Msg.renamedialog_text =
+ "Please enter a name for the project and confirm it by clicking 'Confirm'.";
/**
* Compile Dialog
*
*/
-Blockly.Msg.compiledialog_headline = "Error"
-Blockly.Msg.compiledialog_text = "While compiling an error occured. Please check your blocks and try again"
+Blockly.Msg.compiledialog_headline = "Error";
+Blockly.Msg.compiledialog_text =
+ "While compiling an error occured. Please check your blocks and try again";
/**
* Buttons
@@ -888,10 +1103,10 @@ Blockly.Msg.button_close = "Close";
Blockly.Msg.button_accept = "Ok";
Blockly.Msg.button_compile = "Compile";
Blockly.Msg.button_create_variableCreate = "Create Variable";
-Blockly.Msg.button_back = "Back"
-Blockly.Msg.button_next = "Next step"
-Blockly.Msg.button_tutorial_overview = "Tutorial overview"
-Blockly.Msg.button_login = "Login"
+Blockly.Msg.button_back = "Back";
+Blockly.Msg.button_next = "Next step";
+Blockly.Msg.button_tutorial_overview = "Tutorial overview";
+Blockly.Msg.button_login = "Login";
/**
*
@@ -904,131 +1119,138 @@ Blockly.Msg.projectname = "Projectname";
* 404
*/
-Blockly.Msg.notfound_head = "The page you requested cannot be found."
-Blockly.Msg.notfound_text = "The page you are looking for may have been removed, its name changed, or it may be temporarily unavailable."
+Blockly.Msg.notfound_head = "The page you requested cannot be found.";
+Blockly.Msg.notfound_text =
+ "The page you are looking for may have been removed, its name changed, or it may be temporarily unavailable.";
/**
* Labels
*/
-Blockly.Msg.labels_donotshowagain = 'Do not show dialog again'
-Blockly.Msg.labels_here = 'here'
-Blockly.Msg.labels_username = 'Email or username'
-Blockly.Msg.labels_password = "Password"
-/**
- * Badges
- */
+Blockly.Msg.labels_donotshowagain = "Do not show dialog again";
+Blockly.Msg.labels_here = "here";
+Blockly.Msg.labels_username = "Email or username";
+Blockly.Msg.labels_password = "Password";
-Blockly.Msg.badges_explaination = "An overview of all badges received in the Blockly for senseBox context can be found "
-Blockly.Msg.badges_ASSIGNE_BADGE_SUCCESS_01 = "Congratulations! You have received the badge "
-Blockly.Msg.badges_ASSIGNE_BADGE_SUCCESS_02 = "."
/**
* Tutorials
*/
-Blockly.Msg.tutorials_assessment_task = "Task"
-Blockly.Msg.tutorials_hardware_head = "For the implementation you need the following hardware:"
-Blockly.Msg.tutorials_hardware_moreInformation = "You can find more information about the hardware component."
+Blockly.Msg.tutorials_assessment_task = "Task";
+Blockly.Msg.tutorials_hardware_head =
+ "For the implementation you need the following hardware:";
+Blockly.Msg.tutorials_hardware_moreInformation =
+ "You can find more information about the hardware component.";
Blockly.Msg.tutorials_hardware_here = "here";
-Blockly.Msg.tutorials_requirements = "Before continuing with this tutorial, you should have successfully completed the following tutorials:"
-
+Blockly.Msg.tutorials_requirements =
+ "Before continuing with this tutorial, you should have successfully completed the following tutorials:";
/**
* Tutorial Builder
*/
-Blockly.Msg.builder_solution = "Solution"
-Blockly.Msg.builder_solution_submit = "Submit Solution"
-Blockly.Msg.builder_example_submit = "Submit example"
-Blockly.Msg.builder_comment = "Note: You can delete the initial setup() or infinite loop() block. Additionally, it is possible to select only any block, among others, without displaying it as disabled."
-Blockly.Msg.builder_hardware_order = "Note that the order of selection is authoritative."
-Blockly.Msg.builder_hardware_helper = "Select at least one hardware component."
-Blockly.Msg.builder_requirements_head = "Requirements."
-Blockly.Msg.builder_requirements_order = "Note that the order of ticking is authoritative."
+Blockly.Msg.builder_solution = "Solution";
+Blockly.Msg.builder_solution_submit = "Submit Solution";
+Blockly.Msg.builder_example_submit = "Submit example";
+Blockly.Msg.builder_comment =
+ "Note: You can delete the initial setup() or infinite loop() block. Additionally, it is possible to select only any block, among others, without displaying it as disabled.";
+Blockly.Msg.builder_hardware_order =
+ "Note that the order of selection is authoritative.";
+Blockly.Msg.builder_hardware_helper = "Select at least one hardware component.";
+Blockly.Msg.builder_requirements_head = "Requirements.";
+Blockly.Msg.builder_requirements_order =
+ "Note that the order of ticking is authoritative.";
/**
* Login
*/
-
-Blockly.Msg.login_head = "Login"
-Blockly.Msg.login_osem_account_01 = "You need to have an "
-Blockly.Msg.login_osem_account_02 = "Account to login"
-Blockly.Msg.login_lostpassword = "Lost your password?"
-Blockly.Msg.login_createaccount = "If you don't have an openSenseMap account please register on "
-
-
+Blockly.Msg.login_head = "Login";
+Blockly.Msg.login_osem_account_01 = "You need to have an ";
+Blockly.Msg.login_osem_account_02 = "Account to login";
+Blockly.Msg.login_lostpassword = "Lost your password?";
+Blockly.Msg.login_createaccount =
+ "If you don't have an openSenseMap account please register on ";
/**
* Settings
*/
-Blockly.Msg.settings_head = "Settings"
-Blockly.Msg.settings_language = "Language"
-Blockly.Msg.settings_language_text = "Selection of the language applies to the entire application. A distinction can be made between German and English."
-Blockly.Msg.settings_language_de = "German"
-Blockly.Msg.settings_language_en = "English"
-Blockly.Msg.settings_renderer = "Renderer"
-Blockly.Msg.settings_renderer_text = "The selected renderer determines the appearance of the blocks. A distinction can be made between 'Geras' and 'Zelos', whereby 'Zelos' is particularly suitable for a touch application."
-Blockly.Msg.settings_statistics = "Statistics"
-Blockly.Msg.settings_statistics_text = "The display of statistics on the usage of the blocks above the workspace can be shown or hidden."
-Blockly.Msg.settings_statistics_on = "On"
-Blockly.Msg.settings_statistics_off = "Off"
+Blockly.Msg.settings_head = "Settings";
+Blockly.Msg.settings_language = "Language";
+Blockly.Msg.settings_language_text =
+ "Selection of the language applies to the entire application. A distinction can be made between German and English.";
+Blockly.Msg.settings_language_de = "German";
+Blockly.Msg.settings_language_en = "English";
+Blockly.Msg.settings_renderer = "Renderer";
+Blockly.Msg.settings_renderer_text =
+ "The selected renderer determines the appearance of the blocks. A distinction can be made between 'Geras' and 'Zelos', whereby 'Zelos' is particularly suitable for a touch application.";
+Blockly.Msg.settings_statistics = "Statistics";
+Blockly.Msg.settings_statistics_text =
+ "The display of statistics on the usage of the blocks above the workspace can be shown or hidden.";
+Blockly.Msg.settings_statistics_on = "On";
+Blockly.Msg.settings_statistics_off = "Off";
/**
* Navbar
*/
-Blockly.Msg.navbar_tutorials = "Tutorials"
-Blockly.Msg.navbar_tutorialbuilder = "Create tutorial"
-Blockly.Msg.navbar_gallery = "Gallery"
-Blockly.Msg.navbar_projects = "Projects"
-
-Blockly.Msg.navbar_menu = "Menu"
-Blockly.Msg.navbar_login = "Login"
-Blockly.Msg.navbar_mybadges = "myBadges"
-Blockly.Msg.navbar_account = "Account"
-Blockly.Msg.navbar_logout = "Logout"
-Blockly.Msg.navbar_settings = "Settings"
-
-
-Blockly.Msg.codeviewer_arduino = "Arduino Source Code"
-Blockly.Msg.codeviewer_xml = "XML Blocks"
+Blockly.Msg.navbar_tutorials = "Tutorials";
+Blockly.Msg.navbar_tutorialbuilder = "Create tutorial";
+Blockly.Msg.navbar_gallery = "Gallery";
+Blockly.Msg.navbar_projects = "Projects";
+Blockly.Msg.navbar_menu = "Menu";
+Blockly.Msg.navbar_login = "Login";
+Blockly.Msg.navbar_account = "Account";
+Blockly.Msg.navbar_logout = "Logout";
+Blockly.Msg.navbar_settings = "Settings";
+Blockly.Msg.codeviewer_arduino = "Arduino Source Code";
+Blockly.Msg.codeviewer_xml = "XML Blocks";
/**
* Home Tour
*/
-Blockly.Msg.hometour_wrapper = "Welcome to the new Learn- and Programmingapp for the senseBox. In this tour I will show you all the important features of the interface"
-Blockly.Msg.hometour_workspaceFunc = "Here you will find all the buttons to compile, save or share your program"
-Blockly.Msg.hometour_blocklyWindow = "This is your workspace. Here you can use the blocks to create your program code"
-Blockly.Msg.hometour_blocklyToolboxDiv = "The toolbox contains all the blocks. Connect them in the workspace and create your program code."
-Blockly.Msg.hometour_compileBlocks = "When you are done programming and want to transfer your program code to the senseBox click here to compile your program code."
-Blockly.Msg.hometour_menuButton = "In the menu you will find tutorials and a gallery with different example programs. Log in with your openSenseMap account and you will get even more features."
-Blockly.Msg.hometour_showCode = "With this button you can show the generated program code"
-Blockly.Msg.hometour_shareBlocks = "Use this button to create a short link and share your blocks with other users"
-
+Blockly.Msg.hometour_wrapper =
+ "Welcome to the new Learn- and Programmingapp for the senseBox. In this tour I will show you all the important features of the interface";
+Blockly.Msg.hometour_workspaceFunc =
+ "Here you will find all the buttons to compile, save or share your program";
+Blockly.Msg.hometour_blocklyWindow =
+ "This is your workspace. Here you can use the blocks to create your program code";
+Blockly.Msg.hometour_blocklyToolboxDiv =
+ "The toolbox contains all the blocks. Connect them in the workspace and create your program code.";
+Blockly.Msg.hometour_compileBlocks =
+ "When you are done programming and want to transfer your program code to the senseBox click here to compile your program code.";
+Blockly.Msg.hometour_menuButton =
+ "In the menu you will find tutorials and a gallery with different example programs. Log in with your openSenseMap account and you will get even more features.";
+Blockly.Msg.hometour_showCode =
+ "With this button you can show the generated program code";
+Blockly.Msg.hometour_shareBlocks =
+ "Use this button to create a short link and share your blocks with other users";
/**
* Assessment Tour
*/
-Blockly.Msg.assessmenttour_solutionCheck = "When your solution is ready click here to check it"
-Blockly.Msg.assessmenttour_assessmentDiv = "Let's go! Solve the following task to complete the tutorial. "
-Blockly.Msg.assessmenttour_injectionDiv = "Create your solution here. You can use any blocks from the toolbox."
+Blockly.Msg.assessmenttour_solutionCheck =
+ "When your solution is ready click here to check it";
+Blockly.Msg.assessmenttour_assessmentDiv =
+ "Let's go! Solve the following task to complete the tutorial. ";
+Blockly.Msg.assessmenttour_injectionDiv =
+ "Create your solution here. You can use any blocks from the toolbox.";
/**
* Overlay
*/
-Blockly.Msg.compile_overlay_head = "Your program is now compiled and downloaded";
+Blockly.Msg.compile_overlay_head =
+ "Your program is now compiled and downloaded";
Blockly.Msg.compile_overlay_text = "Then copy it to your senseBox MCU";
-Blockly.Msg.compile_overlay_help = "You need help? Have a look here: "
+Blockly.Msg.compile_overlay_help = "You need help? Have a look here: ";
/**
* FAQ
*/
-
-Blockly.Msg.faq_q1_question = `How can I copy my program to the senseBox?`
+Blockly.Msg.faq_q1_question = `How can I copy my program to the senseBox?`;
Blockly.Msg.faq_q1_answer = `To copy programs to the senseBox, connect it to the computer with the Micro USB cable. Then double click on the red reset button on the senseBox MCU. The senseBox will now be recognized as a removable disk on your computer and the previously created programs can be copied via drag & drop. After each change of the program code the program must be recompiled and transferred again.
#### Activate learning mode of the MCU
@@ -1036,19 +1258,16 @@ Blockly.Msg.faq_q1_answer = `To copy programs to the senseBox, connect it to the
Copying programs under MacOS does not work via the Finder, but there are still two different ways to copy the programs:
- [senseBox Copy Tool](https://sensebox.de/docs/senseBox_Sketch_Uploader_DE.zip)
- [muCommander](https://www.mucommander.com/)
-`
+`;
-Blockly.Msg.faq_q2_question = `With which senseBox is the programming environment compatible?`
+Blockly.Msg.faq_q2_question = `With which senseBox is the programming environment compatible?`;
Blockly.Msg.faq_q2_answer = `
Basically the programming environment can be used with any senseBox with senseBox MCU.
-`
+`;
-
-Blockly.Msg.faq_q3_question = `I found an error or something is not working. Where can I report it?`
+Blockly.Msg.faq_q3_question = `I found an error or something is not working. Where can I report it?`;
Blockly.Msg.faq_q3_answer = `
The best way to do this is to create an issue on [Github](https://github.com/sensebox/React-Ardublockly/issues). Alternatively you can send us an email to info(at)sensebox.de
-`
+`;
-
-
-export const En = Blockly.Msg;
\ No newline at end of file
+export const En = Blockly.Msg;
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
index 226650a..0aa4d47 100644
--- a/src/components/Navbar.js
+++ b/src/components/Navbar.js
@@ -1,136 +1,177 @@
-import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import { connect } from 'react-redux';
-import { Link } from 'react-router-dom';
-import { logout } from '../actions/authActions';
+import React, { Component } from "react";
+import PropTypes from "prop-types";
+import { connect } from "react-redux";
+import { Link } from "react-router-dom";
+import { logout } from "../actions/authActions";
-import senseboxLogo from './sensebox_logo.svg';
+import senseboxLogo from "./sensebox_logo.svg";
-import { withRouter } from 'react-router-dom';
+import { withRouter } from "react-router-dom";
-import { withStyles } from '@material-ui/core/styles';
-import Drawer from '@material-ui/core/Drawer';
-import AppBar from '@material-ui/core/AppBar';
-import Toolbar from '@material-ui/core/Toolbar';
-import List from '@material-ui/core/List';
-import Typography from '@material-ui/core/Typography';
-import Divider from '@material-ui/core/Divider';
-import IconButton from '@material-ui/core/IconButton';
-import ListItem from '@material-ui/core/ListItem';
-import ListItemIcon from '@material-ui/core/ListItemIcon';
-import ListItemText from '@material-ui/core/ListItemText';
-import LinearProgress from '@material-ui/core/LinearProgress';
-import Tour from 'reactour'
-import { home, assessment } from './Tour';
-import { faBars, faChevronLeft, faLayerGroup, faSignInAlt, faSignOutAlt, faCertificate, faUserCircle, faQuestionCircle, faCog, faChalkboardTeacher, faTools, faLightbulb } from "@fortawesome/free-solid-svg-icons";
+import { withStyles } from "@material-ui/core/styles";
+import Drawer from "@material-ui/core/Drawer";
+import AppBar from "@material-ui/core/AppBar";
+import Toolbar from "@material-ui/core/Toolbar";
+import List from "@material-ui/core/List";
+import Typography from "@material-ui/core/Typography";
+import Divider from "@material-ui/core/Divider";
+import IconButton from "@material-ui/core/IconButton";
+import ListItem from "@material-ui/core/ListItem";
+import ListItemIcon from "@material-ui/core/ListItemIcon";
+import ListItemText from "@material-ui/core/ListItemText";
+import LinearProgress from "@material-ui/core/LinearProgress";
+import Tour from "reactour";
+import { home, assessment } from "./Tour";
+import {
+ faBars,
+ faChevronLeft,
+ faLayerGroup,
+ faSignInAlt,
+ faSignOutAlt,
+ faUserCircle,
+ faQuestionCircle,
+ faCog,
+ faChalkboardTeacher,
+ faTools,
+ faLightbulb,
+} from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
-import * as Blockly from 'blockly'
-import Tooltip from '@material-ui/core/Tooltip';
-
+import * as Blockly from "blockly";
+import Tooltip from "@material-ui/core/Tooltip";
const styles = (theme) => ({
drawerWidth: {
// color: theme.palette.primary.main,
- width: window.innerWidth < 600 ? '100%' : '240px',
- borderRight: `1px solid ${theme.palette.primary.main}`
+ width: window.innerWidth < 600 ? "100%" : "240px",
+ borderRight: `1px solid ${theme.palette.primary.main}`,
},
appBarColor: {
- backgroundColor: theme.palette.primary.main
+ backgroundColor: theme.palette.primary.main,
},
tourButton: {
- marginleft: 'auto',
- marginright: '30px',
- }
+ marginleft: "auto",
+ marginright: "30px",
+ },
});
-
class Navbar extends Component {
-
constructor(props) {
super(props);
this.state = {
open: false,
- isTourOpen: false
+ isTourOpen: false,
};
}
toggleDrawer = () => {
this.setState({ open: !this.state.open });
- }
+ };
openTour = () => {
this.setState({ isTourOpen: true });
-
- }
+ };
closeTour = () => {
this.setState({ isTourOpen: false });
- }
+ };
render() {
var isHome = /^\/(\/.*$|$)/g.test(this.props.location.pathname);
var isTutorial = /^\/tutorial(\/.*$|$)/g.test(this.props.location.pathname);
- var isAssessment = /^\/tutorial\/.{1,}$/g.test(this.props.location.pathname) &&
- !this.props.tutorialIsLoading && this.props.tutorial &&
- this.props.tutorial.steps[this.props.activeStep].type === 'task';
+ var isAssessment =
+ /^\/tutorial\/.{1,}$/g.test(this.props.location.pathname) &&
+ !this.props.tutorialIsLoading &&
+ this.props.tutorial &&
+ this.props.tutorial.steps[this.props.activeStep].type === "task";
return (
-
-
-
-
- {!this.props.user.badge ?
-
- Du kannst dein Blockly-Konto mit deinem MyBadges-Konto verknüpfen, um Badges erwerben zu können.
-
- : null}
-
-