Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • chrome-manifest-v3
  • develop
  • feat/force-migration-check
  • feat/improve-network-scan
  • feature/android_api_19
  • feature/encrypted_comment
  • feature/migrate-cordova-13
  • gitlab_migration_1
  • master
  • rml8
  • 0.0.1.ES.alpha1
  • 0.0.2
  • 0.1.13
  • 0.1.14
  • 0.1.15
  • 0.1.16
  • 0.1.17
  • 0.1.18
  • 0.1.19
  • 0.1.20
  • 0.1.21
  • 0.1.22
  • 0.1.23
  • 0.1.24
  • 0.1.25
  • 0.1.26
  • 0.1.27
  • 0.1.28
  • 0.1.4
  • 0.1.7
  • 0.1.8
  • 0.2.0
  • 0.2.1
  • v0.10.0
  • v0.10.1
  • v0.10.2
  • v0.11.0
  • v0.11.1
  • v0.11.2
  • v0.11.3
  • v0.11.4
  • v0.11.5
  • v0.11.6
  • v0.11.7
  • v0.11.8
  • v0.12.0
  • v0.12.1
  • v0.12.2
  • v0.12.3
  • v0.12.4
  • v0.12.5
  • v0.12.6
  • v0.12.7
  • v0.12.8
  • v0.12.9
  • v0.13.0
  • v0.14.0
  • v0.14.1
  • v0.15.0
  • v0.15.1
  • v0.15.2
  • v0.15.3
  • v0.15.4
  • v0.15.5
  • v0.15.6
  • v0.15.7
  • v0.16.0
  • v0.16.1
  • v0.17.0
  • v0.17.1
  • v0.17.2
  • v0.17.3
  • v0.17.4
  • v0.17.5
  • v0.17.6
  • v0.18.0
  • v0.18.1
  • v0.18.2
  • v0.18.3
  • v0.19.0
  • v0.19.1
  • v0.19.2
  • v0.19.3
  • v0.19.4
  • v0.19.5
  • v0.19.6
  • v0.2.10
  • v0.2.12
  • v0.2.13
  • v0.2.14
  • v0.2.3
  • v0.2.4
  • v0.2.5
  • v0.2.6
  • v0.2.7
  • v0.2.8
  • v0.2.9
  • v0.3.0
  • v0.3.1
  • v0.3.10
  • v0.3.11
  • v0.3.12
  • v0.3.13
  • v0.3.14
  • v0.3.15
  • v0.3.16
  • v0.3.17
  • v0.3.2
  • v0.3.3
  • v0.3.4
110 results

Target

Select target project
  • cordeliaze/cesium
  • pfouque06/cesium
  • wellno1/cesium
  • 1000i100/cesium
  • vincentux/cesium
  • calbasi/cesium
  • thomasbromehead/cesium
  • matograine/cesium
  • clients/cesium-grp/cesium
  • cedricmenec/cesium
  • Pamplemousse/cesium
  • etienneleba/cesium
  • tnntwister/cesium
  • scanlegentil/cesium
  • morvanc/cesium
  • yyy/cesium
  • Axce/cesium
  • Bertrandbenj/cesium
  • Lupus/cesium
  • elmau/cesium
  • MartinDelille/cesium
  • tykayn/cesium
  • numeropi/cesium
  • Vivakvo/cesium
  • pokapow/cesium
  • pini-gh/cesium
  • anam/cesium
  • RavanH/cesium
  • bpresles/cesium
  • am97/cesium
  • tuxmain/cesium
  • jytou/cesium
  • oliviermaurice/cesium
  • 666titi999/cesium
  • Yvv/cesium
35 results
Select Git revision
  • Vivakvo-master-patch-80805
  • Vivakvo-master-patch-99327
  • dev
  • gitlab_migration_1
  • issue_4
  • issue_780
  • master
  • patch-1
  • patch-10
  • patch-11
  • patch-12
  • patch-13
  • patch-14
  • patch-15
  • patch-16
  • patch-17
  • patch-18
  • patch-19
  • patch-2
  • patch-21
  • patch-22
  • patch-23
  • patch-24
  • patch-25
  • patch-26
  • patch-3
  • patch-4
  • patch-5
  • patch-6
  • patch-7
  • patch-8
  • patch-9
  • rml8
  • undefined
  • 0.0.1.ES.alpha1
  • 0.0.2
  • 0.1.13
  • 0.1.14
  • 0.1.15
  • 0.1.16
  • 0.1.17
  • 0.1.18
  • 0.1.19
  • 0.1.20
  • 0.1.21
  • 0.1.22
  • 0.1.23
  • 0.1.24
  • 0.1.25
  • 0.1.26
  • 0.1.27
  • 0.1.28
  • 0.1.4
  • 0.1.7
  • 0.1.8
  • 0.2.0
  • 0.2.1
  • v0.10.0
  • v0.10.1
  • v0.10.2
  • v0.11.0
  • v0.11.1
  • v0.11.2
  • v0.11.3
  • v0.11.4
  • v0.11.5
  • v0.11.6
  • v0.11.7
  • v0.11.8
  • v0.12.0
  • v0.12.1
  • v0.12.2
  • v0.12.3
  • v0.12.4
  • v0.12.5
  • v0.12.6
  • v0.12.7
  • v0.12.8
  • v0.12.9
  • v0.13.0
  • v0.14.0
  • v0.14.1
  • v0.15.0
  • v0.15.1
  • v0.15.2
  • v0.15.3
  • v0.15.4
  • v0.15.5
  • v0.15.6
  • v0.15.7
  • v0.16.0
  • v0.16.1
  • v0.17.0
  • v0.17.1
  • v0.17.2
  • v0.17.3
  • v0.17.4
  • v0.17.5
  • v0.17.6
  • v0.18.0
  • v0.18.1
  • v0.18.2
  • v0.18.3
  • v0.19.0
  • v0.19.1
  • v0.19.2
  • v0.19.3
  • v0.19.4
  • v0.19.5
  • v0.19.6
  • v0.2.10
  • v0.2.12
  • v0.2.13
  • v0.2.14
  • v0.2.3
  • v0.2.4
  • v0.2.5
  • v0.2.6
  • v0.2.7
  • v0.2.8
  • v0.2.9
  • v0.3.0
  • v0.3.1
  • v0.3.10
  • v0.3.11
  • v0.3.12
  • v0.3.13
  • v0.3.14
  • v0.3.15
  • v0.3.16
  • v0.3.17
  • v0.3.2
  • v0.3.3
  • v0.3.4
134 results
Show changes
Showing
with 2935 additions and 338 deletions
{
"name": "Cesium",
"short_name": "Cesium",
"version": "1.6.9",
"version": "1.7.14",
"description": "Manage your Duniter Wallet on a libre currency, like Ğ1",
"background": {
"scripts": ["background.js"]
......@@ -13,14 +13,23 @@
"32": "img/logo_32px.png",
"60": "img/logo_60px.png",
"96": "img/logo_96px.png",
"128": "img/logo_128px.png"
"128": "img/logo_128px.png",
"192": "img/logo.svg"
}
},
"icons": {
"32": "img/logo_32px.png",
"60": "img/logo_60px.png",
"96": "img/logo_96px.png",
"128": "img/logo_128px.png"
"128": "img/logo_128px.png",
"192": "img/logo.svg"
},
"protocol_handlers": [
{
"protocol": "web+june",
"name": "web Ğ1",
"uriTemplate": "index.html#/app/home?uri=%s"
}
],
"manifest_version": 2
}
......@@ -15,11 +15,16 @@ fi
cd ${PROJECT_DIR}
if [[ ! -d "${ANDROID_SDK_CLI_ROOT}/bin" ]]; then
echo "Failed to find the Android SDK CLI. Please run first: \`scripts/install-android-sdk-tools.sh\`"
exit 1
fi
# Run the build
echo "Cleaning previous android APK files..."
rm -rf ${ANDROID_OUTPUT_APK_DEBUG}/*.apk
rm -rf ${ANDROID_OUTPUT_APK_RELEASE}/*.apk
rm -f ${ANDROID_OUTPUT_APK_DEBUG}/*.apk
rm -f ${ANDROID_OUTPUT_APK_RELEASE}/*.apk*
echo "Running cordova build android..."
ionic cordova build android --warning-mode=none --color $*
#ionic cordova build android --warning-mode=none --color --verbose
ionic cordova build android --warning-mode=none --color $* -- -- --packageType=apk
#ionic cordova build android --warning-mode=none --color --verbose -- -- --packageType=apk
......@@ -9,16 +9,20 @@ export PROJECT_DIR
# Preparing environment
. "${PROJECT_DIR}/scripts/env-global.sh"
BUILD_TOOLS_DIR="${ANDROID_SDK_ROOT}/build-tools/${ANDROID_SDK_VERSION}/"
if test -z "${CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL}"; then
echo "ERROR: Missing Gradle distribution URL - please export env variable 'CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL'"
fi
echo "Preparing Android environment:"
echo " - using Android SDK: ${ANDROID_SDK_ROOT}"
echo " - using Android SDK tools: ${ANDROID_SDK_TOOLS_ROOT}"
echo " - using Gradle: ${GRADLE_HOME}"
echo " - using Java: ${JAVA_HOME}"
echo " - project dir: ${PROJECT_DIR}"
echo "--- Preparing Android environment:"
echo " Root: ${PROJECT_DIR}"
echo " NodeJS: ${NODE_VERSION} with options: ${NODE_OPTIONS}"
echo " Android SDK: ${ANDROID_SDK_ROOT}"
echo " Android CLI: ${ANDROID_SDK_CLI_ROOT}"
echo " Build Tools: ${ANDROID_BUILD_TOOLS_ROOT}"
echo " Gradle: ${GRADLE_HOME} with options: ${GRADLE_OPTS}"
echo " Java: ${JAVA_HOME}"
# Make sure javac exists
JAVAC_PATH=$(which javac)
......@@ -28,18 +32,20 @@ if test -z "${JAVAC_PATH}"; then
fi
# Prepare Android SDK tools
if ! test -d "${ANDROID_SDK_TOOLS_ROOT}"; then
cd "${PROJECT_DIR}/scripts"
./install-android-sdk-tools.sh
if ! test -d "${ANDROID_SDK_CLI_ROOT}"; then
. ${PROJECT_DIR}/scripts/install-android-sdk-tools.sh
if test $? -ne 0; then
echo "ERROR: Unable to install Android SDK Tools"
echo "ERROR: Unable to install Android SDK Tools & CLI"
fi
else
# Add SDK CLI to path
export PATH=${ANDROID_SDK_CLI_ROOT}/bin:$PATH
fi
# Install Gradle
if test -z "$(which gradle)" && ! test -d "${GRADLE_HOME}"; then
cd "${PROJECT_DIR}/scripts"
echo "Installing gradle... ${GRADLE_HOME}"
echo "--- Installing gradle... ${GRADLE_HOME}"
test -e "gradle-${GRADLE_VERSION}-all.zip" || wget -kL ${CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL}
GRADLE_PARENT=$(dirname $GRADLE_HOME)
test -e "${GRADLE_PARENT}" || mkdir -p ${GRADLE_PARENT}
......@@ -55,10 +61,9 @@ if test -z "$(which gradle)" && ! test -d "${GRADLE_HOME}"; then
fi
fi
# Prepare Android platform
if ! test -d "${PROJECT_DIR}/platforms/android"; then
echo "Adding Cordova Android platform..."
echo "--- Adding Cordova Android platform..."
cd "${PROJECT_DIR}"
ionic cordova prepare android --color --verbose
if test $? -ne 0; then
......@@ -78,6 +83,18 @@ else
echo "No directory '${ANDROID_OVERWRITE_DIR}' not found. Please create it, with a file 'release-signing.properties' for release signing"
fi
export PATH=${GRADLE_HOME}/bin:${PATH}
echo
echo "--- Checking Android requirements..."
cordova requirements android --verbose
if test $? -ne 0; then
echo "ERROR: Check Cordova requirements failed"
fi
# Add Gradle to path
PATH=${GRADLE_HOME}/bin:${PATH}
# Export useful variables
export PATH \
BUILD_TOOLS_DIR
echo "Android environment is ready!"
echo "--- Android environment is ready!"
......@@ -20,30 +20,38 @@ REPO="duniter/cesium"
REPO_API_URL="https://api.github.com/repos/${REPO}"
REPO_PUBLIC_URL="https://github.com/${REPO}"
NODEJS_VERSION=12
ANDROID_NDK_VERSION=r19c
ANDROID_SDK_VERSION=r29.0.2
ANDROID_SDK_TOOLS_VERSION=4333796
ANDROID_SDK_ROOT=/usr/lib/android-sdk
ANDROID_ALTERNATIVE_SDK_ROOT="${HOME}/Android/Sdk"
ANDROID_SDK_TOOLS_ROOT=${ANDROID_SDK_ROOT}/build-tools
ANDROID_OUTPUT_APK=${PROJECT_DIR}/platforms/android/app/build/outputs/apk
NODE_VERSION=16
#NODE_OPTIONS=--max-old-space-size=4096
IONIC_CLI_VERSION=6.20.9
ANDROID_NDK_VERSION=21.0.6113669 # Should be compatible with 'cordova-sqlite-storage' plugin
ANDROID_SDK_VERSION=33.0.2
ANDROID_SDK_CLI_VERSION=8512546 # See https://developer.android.com/studio#command-tools
ANDROID_SDK_ROOT="${HOME}/Android/Sdk"
ANDROID_ALTERNATIVE_SDK_ROOT=/usr/lib/android-sdk
ANDROID_SDK_CLI_ROOT=${ANDROID_SDK_ROOT}/cmdline-tools/${ANDROID_SDK_CLI_VERSION}
ANDROID_BUILD_TOOLS_ROOT="${ANDROID_SDK_ROOT}/build-tools/${ANDROID_SDK_VERSION}"
ANDROID_OUTPUT_APK_PREFIX=app
ANDROID_OUTPUT_APK=${PROJECT_DIR}/platforms/android/${ANDROID_OUTPUT_APK_PREFIX}/build/outputs/apk
ANDROID_OUTPUT_APK_DEBUG=${ANDROID_OUTPUT_APK}/debug
ANDROID_OUTPUT_APK_RELEASE=${ANDROID_OUTPUT_APK}/release
ANDROID_OUTPUT_MIN_SDK_VERSION=22 # Used by release-android-sign.sh
ANDROID_OUTPUT_MAX_SDK_VERSION=34 # Used by release-android-sign.sh
DIST_WEB=${PROJECT_DIR}/dist/web/build
DIST_ANDROID=${PROJECT_DIR}/dist/android
DIST_ANDROID=${PROJECT_DIR}/dist/android/build # Where APK are stored
SOURCES_ANDROID=${PROJECT_DIR}/dist/android/sources # Where git cesium-android is checkout
# Addons Mozilla Web extension ID
WEB_EXT_ID="{6f9922f7-a054-4609-94ce-d269993246a5}"
WEB_EXT_ID=${WEB_EXT_ID:-"{6f9922f7-a054-4609-94ce-d269993246a5}"}
# /!\ WARN can be define in your <project>/.local/env.sh file
#JAVA_HOME=
GRADLE_VERSION=6.5.1
GRADLE_VERSION=6.7.1
GRADLE_HOME=${HOME}/.gradle/${GRADLE_VERSION}
CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
GRADLE_OPTS=-Dorg.gradle.jvmargs=-Xmx512m
# Override with a local file, if any
if test -f "${PROJECT_DIR}/.local/env.sh"; then
......@@ -54,7 +62,7 @@ else
fi
# Checking Java installed
if test -z "${JAVA_HOME}"; then
if test -d "${JAVA_HOME}"; then
JAVA_CMD=`which java`
if test -z "${JAVA_CMD}"; then
echo "ERROR: No Java installed. Please install java, or set env variable JAVA_HOME "
......@@ -66,10 +74,12 @@ if test -z "${JAVA_HOME}"; then
if test $? -ne 0 || test -z "${JAVA_VERSION}"; then
echo "No Java JRE 1.8 found in machine. This is required for Android artifacts."
else
if ! test "${JAVA_VERSION}" -eq "11"; then
JAVA_MAJOR_VERSION=$(echo ${JAVA_VERSION} | awk '{split($0, array, ".")} END{print array[1]}')
JAVA_MINOR_VERSION=$(echo ${JAVA_VERSION} | awk '{split($0, array, ".")} END{print array[2]}')
if ! test "${JAVA_MAJOR_VERSION}" == "1" || ! test "${JAVA_MINOR_VERSION}" == "8"; then
echo "ERROR: Require a Java JRE in version 1.8, but found ${JAVA_VERSION}. You can override your default JAVA_HOME in '.local/env.sh'."
if ! test "${JAVA_MAJOR_VERSION}" -eq "11" || ! test "${JAVA_MINOR_VERSION}" -eq "0"; then
echo "ERROR: Require a Java SDK in version 11, but found ${JAVA_VERSION}. You can override your default JAVA_HOME in '.local/env.sh'."
fi
fi
fi
fi
......@@ -83,18 +93,18 @@ if test -z "${ANDROID_SDK_ROOT}" || ! test -d "${ANDROID_SDK_ROOT}"; then
fi
fi
# Add Java, Android SDK tools to path
PATH=${ANDROID_SDK_TOOLS_ROOT}/bin:${GRADLE_HOME}/bin:${JAVA_HOME}/bin$:$PATH
PATH=${ANDROID_SDK_CLI_ROOT}/bin:${GRADLE_HOME}/bin:${JAVA_HOME}/bin$:$PATH
# Export useful variables
export PATH \
PROJECT_DIR \
JAVA_HOME \
ANDROID_SDK_ROOT \
ANDROID_SDK_TOOLS_ROOT \
ANDROID_SDK_CLI_ROOT \
CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL
# Node JS
export NVM_DIR="$HOME/.nvm"
if test -d "${NVM_DIR}"; then
......@@ -103,26 +113,32 @@ if test -d "${NVM_DIR}"; then
. "${NVM_DIR}/nvm.sh"
# Switch to expected version
nvm use ${NODEJS_VERSION}
nvm use ${NODE_VERSION}
# Or install it
if test $? -ne 0; then
nvm install ${NODEJS_VERSION}
nvm install ${NODE_VERSION}
fi
else
echo "nvm (Node version manager) not found (directory ${NVM_DIR} not found). Please install, and retry"
fi
# Checking if some global dependencies are missing
GLOBAL_TOOLS="yarn gulp ionic cordova web-ext cordova-res native-run"
MISSING_GLOBAL_TOOLS=
for GLOBAL_TOOL in ${GLOBAL_TOOLS}
do
GLOBAL_TOOL_PATH=$(which ${GLOBAL_TOOL})
if test -z "${GLOBAL_TOOL_PATH}"; then
echo "- Missing global dependency: ${GLOBAL_TOOL}"
MISSING_GLOBAL_TOOLS="${GLOBAL_TOOL} ${MISSING_GLOBAL_TOOLS}"
fi
done
# Install global dependencies
YARN_PATH=`which yarn`
IONIC_PATH=`which ionic`
CORDOVA_PATH=`which cordova`
CORDOVA_RES_PATH=`which cordova-res`
NATIVE_RUN_PATH=`which native-run`
WEB_EXT_PATH=`which web-ext`
if test -z "${YARN_PATH}" || test -z "${IONIC_PATH}" || test -z "${CORDOVA_PATH}" || test -z "${CORDOVA_RES_PATH}" || test -z "${NATIVE_RUN_PATH}" || test -z "${WEB_EXT_PATH}"; then
if ! test -z "${MISSING_GLOBAL_TOOLS}"; then
echo "Installing global dependencies..."
npm install -g yarn cordova cordova-res @ionic/cli web-ext native-run
npm install -g yarn gulp cordova @ionic/cli@$IONIC_CLI_VERSION web-ext cordova-res native-run
if ! test $? == 0; then
echo "ERROR: Unable to install global dependencies"
#exit 1
......@@ -134,26 +150,44 @@ fi
# Install project dependencies
if ! test -d "${PROJECT_DIR}/node_modules"; then
echo "Installing project dependencies..."
cd "${PROJECT_DIR}"
echo "--- Installing project dependencies..."
cd ${PROJECT_DIR}
yarn install
fi
# Install project submodules
if ! test -d "${PROJECT_DIR}/platforms/android" || ! test -d "${PROJECT_DIR}/dist/desktop"; then
#echo "Installing project submodules..."
#cd "${PROJECT_DIR}"
#git submodule init && git submodule sync && git submodule update --remote --merge
# Install platform Android
if ! test -d "${PROJECT_DIR}/platforms/android"; then
echo "-- Installing platform Android..."
cd ${PROJECT_DIR}
ionic cordova platform add android
if ! test $? == 0; then
echo "ERROR: Unable to install Android platform. Will not be able to build Android artifacts!"
#exit 1
fi
fi
if ! test -d "${PROJECT_DIR}/dist/desktop"; then
echo "-- Checkout submodules (dist/desktop) ..."
cd "${PROJECT_DIR}"
git submodule init && git submodule sync && git submodule update --remote --merge
if ! test $? == 0; then
echo "ERROR: Unable to sync git submodule. Will not be able to build android and desktop artifacts!"
echo "ERROR: Unable to sync git submodule. Will not be able to build desktop artifacts!"
#exit 1
fi
fi
export PROJECT_DIR PROJECT_NAME REPO REPO_API_URL REPO_PUBLIC_URL NODEJS_VERSION \
ANDROID_NDK_VERSION ANDROID_SDK_VERSION ANDROID_SDK_TOOLS_VERSION ANDROID_SDK_ROOT ANDROID_ALTERNATIVE_SDK_ROOT \
ANDROID_SDK_TOOLS_ROOT ANDROID_OUTPUT_APK ANDROID_OUTPUT_APK_DEBUG ANDROID_OUTPUT_APK_RELEASE DIST_WEB \
DIST_ANDROID WEB_EXT_ID
export PATH \
PROJECT_DIR PROJECT_NAME \
REPO REPO_API_URL REPO_PUBLIC_URL \
NODE_VERSION \
JAVA_HOME \
ANDROID_NDK_VERSION ANDROID_SDK_VERSION ANDROID_SDK_CLI_VERSION \
ANDROID_HOME ANDROID_SDK_ROOT ANDROID_ALTERNATIVE_SDK_ROOT ANDROID_SDK_CLI_ROOT \
ANDROID_OUTPUT_APK ANDROID_OUTPUT_APK_DEBUG ANDROID_OUTPUT_APK_RELEASE \
CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL \
GRADLE_HOME GRADLE_OPTS \
DIST_WEB DIST_ANDROID \
WEB_EXT_ID
echo "Project environment is ready!"
#!/bin/bash
#!/bin/bash -e
# Load global variables
. "$(dirname $0)/env-global.sh"
......@@ -8,28 +8,34 @@ if [[ "_" == "_${ANDROID_SDK_ROOT}" ]]; then
echo "Please set env variable ANDROID_SDK_ROOT"
exit 1
fi
if [[ "_" == "_${ANDROID_SDK_TOOLS_ROOT}" ]]; then
echo "Please set env variable ANDROID_SDK_TOOLS_ROOT"
if [[ "_" == "_${ANDROID_SDK_CLI_ROOT}" ]]; then
echo "Please set env variable ANDROID_SDK_CLI_ROOT"
exit 1
fi
if [[ ! -d "${ANDROID_SDK_TOOLS_ROOT}/bin" ]]; then
echo "Installing Android SDK tools... ${ANDROID_SDK_TOOLS_ROOT}"
test -e "sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip" || wget -kL https://dl.google.com/android/repository/sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip
# Get parent folder
ANDROID_SDK_TOOLS_PARENT=$(dirname $ANDROID_SDK_ROOT)
test -e "${ANDROID_SDK_TOOLS_PARENT}" || mkdir -p "${ANDROID_SDK_TOOLS_PARENT}"
test -e "${ANDROID_SDK_TOOLS_ROOT}" || unzip -qq sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip -d "${ANDROID_SDK_TOOLS_PARENT}"
test -e "${ANDROID_SDK_TOOLS_ROOT}" && rm "sdk-tools-linux-${ANDROID_SDK_TOOLS_VERSION}.zip"
if [[ ! -d "${ANDROID_SDK_CLI_ROOT}/bin" ]]; then
echo "-------------------------------------------"
echo "Installing Android SDK CLI... ${ANDROID_SDK_CLI_ROOT}"
mkdir -vp "${ANDROID_SDK_CLI_ROOT}"
ANDROID_SDK_CLI_FILE="commandlinetools-linux-${ANDROID_SDK_CLI_VERSION}_latest.zip"
test -e "${ANDROID_SDK_CLI_FILE}" || wget -kL https://dl.google.com/android/repository/${ANDROID_SDK_CLI_FILE}
test -e "${ANDROID_SDK_CLI_ROOT}" || sudo mkdir -p "${ANDROID_SDK_CLI_ROOT}"
test -e "/tmp/cmdline-tools" && sudo rm -rf /tmp/cmdline-tools
test -e "${ANDROID_SDK_CLI_ROOT}" && sudo unzip -qq ${ANDROID_SDK_CLI_FILE} -d /tmp
test -e "/tmp/cmdline-tools" && sudo mv /tmp/cmdline-tools/* "${ANDROID_SDK_CLI_ROOT}"
test -e "${ANDROID_SDK_CLI_FILE}" && sudo rm "${ANDROID_SDK_CLI_FILE}"
fi
export PATH=${ANDROID_SDK_TOOLS_ROOT}/bin:$PATH
if [[ ! -d "${ANDROID_SDK_CLI_ROOT}/bin" ]]; then
echo "Failed to install Android SDK CLI. If you are not root, try with \`sudo -E ./install-android-sdk-tools.sh\`"
exit 1
fi
mkdir -p ${ANDROID_SDK_ROOT}/licenses
echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > ${ANDROID_SDK_ROOT}/licenses/android-sdk-license
echo 601085b94cd77f0b54ff86406957099ebe79c4d6 > ${ANDROID_SDK_ROOT}/licenses/android-googletv-license
echo 33b6a2b64607f11b759f320ef9dff4ae5c47d97a > ${ANDROID_SDK_ROOT}/licenses/google-gdk-license
yes | sdkmanager --licenses
yes | sdkmanager --licenses "--sdk_root=${ANDROID_SDK_ROOT}"
mkdir -p ~/.android
touch ~/.android/repositories.cfg
......@@ -37,21 +43,30 @@ touch ~/.android/repositories.cfg
echo y | sdkmanager "platform-tools" "--sdk_root=${ANDROID_SDK_ROOT}" | tee sdkmanager.log
echo y | sdkmanager "extras;android;m2repository" "--sdk_root=${ANDROID_SDK_ROOT}" | tee -a sdkmanager.log
echo y | sdkmanager "extras;google;m2repository" "--sdk_root=${ANDROID_SDK_ROOT}" | tee -a sdkmanager.log
echo y | sdkmanager "cmdline-tools;latest" "--sdk_root=${ANDROID_SDK_ROOT}" | tee sdkmanager.log
# Install build tools
echo y | sdkmanager "build-tools;23.0.2" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "build-tools;23.0.3" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "build-tools;25.0.2" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "build-tools;27.0.3" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "build-tools;28.0.3" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "build-tools;29.0.2" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo ""
echo "-------------------------------------------"
echo "--- Installing Android build-tools ${ANDROID_SDK_VERSION}..."
echo y | sdkmanager "build-tools;${ANDROID_SDK_VERSION}" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
[[ $? -ne 0 ]] && exit 1
# Install platforms
echo y | sdkmanager "platforms;android-16" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-21" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-23" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-24" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-25" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-27" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-28" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "platforms;android-29" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
TARGET_VERSIONS="22 23 24 25 26 27 28 29 30 31 32 33"
for TARGET_VERSION in $TARGET_VERSIONS
do
echo "-------------------------------------------"
echo "--- Installing Android target ${TARGET_VERSION}..."
echo y | sdkmanager "platforms;android-${TARGET_VERSION}" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
[[ $? -ne 0 ]] && exit 1
done
# Install NDK
echo "-------------------------------------------"
echo "--- Installing Android NDK..."
echo y | sdkmanager "ndk;22.0.7026061" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
#echo y | sdkmanager "ndk;25.2.9519653" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo y | sdkmanager "ndk;${ANDROID_NDK_VERSION}" --sdk_root=${ANDROID_SDK_ROOT} | tee -a sdkmanager.log
echo "--- Installing Android [OK]"
## Chat GPT prompt for translations
I need translations for the following messages in a web application, in these languages/locales: en, en-GB, de-DE, eo-EO, es-CT, es-ES, it-IT, nl-NL, pt-PT. Please follow these constraints: maintain the input JSON format, indentation, and message keys; preserve HTML tags and case; and keep proper nouns untranslated (e.g., "Duniter" and "Cesium"). Here is the source message in French:
```json
"ORIGINAL_KEY_UNCHANGED": "<your_translation>"
```
Please provide the translations for each language/locale in this format:
- <language_code> (e.g., en, en-GB, ...):
```json
{
"ORIGINAL_KEY_UNCHANGED": "<your_translation>"
}
```
If you have any questions before starting, please ask for clarifications to avoid mistakes.
\ No newline at end of file
......@@ -7,54 +7,75 @@ if [[ "_" == "_${PROJECT_DIR}" ]]; then
export PROJECT_DIR
fi;
# Default env (can be override in file <PROJECT>/.local/env.sh)
# Default env variables (can be override in '.local/env.sh' file)
KEYSTORE_FILE=${PROJECT_DIR}/.local/android/Cesium.keystore
KEY_ALIAS=Cesium
KEYSTORE_PWD=
APK_RELEASE_DIR=${PROJECT_DIR}/platforms/android/app/build/outputs/apk/release
APK_UNSIGNED_FILE=${APK_RELEASE_DIR}/app-release-unsigned.apk
APK_SIGNED_FILE=${APK_RELEASE_DIR}/app-release.apk
# Preparing Android environment
. ${PROJECT_DIR}/scripts/env-android.sh
[[ $? -ne 0 ]] && exit 1
APK_SIGNED_FILE=${APK_SIGNED_FILE:-"${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release-signed.apk"}
APK_UNSIGNED_FILE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release-unsigned.apk
APK_UNSIGNED_FILE_ALTERNATIVE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release.apk
cd ${PROJECT_DIR}
# Sign files
echo "Signing APK file..."
if [[ ! -f "${APK_UNSIGNED_FILE}" ]]; then
echo "APK file not found: ${APK_UNSIGNED_FILE}"
# Checking files
if [[ ! -f "${KEYSTORE_FILE}" ]]; then
echo "ERROR: Keystore file not found: ${KEYSTORE_FILE}"
exit 1
fi
if [[ ! -f "${KEYSTORE_FILE}" ]]; then
echo "Keystore file not found: ${KEYSTORE_FILE}"
if [[ ! -f "${APK_UNSIGNED_FILE}" ]]; then
# Check in an alternative path (e.g. Android default signed file)
if [[ ! -f "${APK_UNSIGNED_FILE_ALTERNATIVE}" ]]; then
echo "ERROR: Unsigned APK file not found: ${APK_UNSIGNED_FILE}"
exit 1
fi
APK_UNSIGNED_FILE=${APK_UNSIGNED_FILE_ALTERNATIVE}
fi
echo "--- Signing Android APK..."
echo ""
# Remove previous version
# Remove previous version (only if unsigned exists)
if [[ -f "${APK_SIGNED_FILE}" ]]; then
echo "Delete previous signed APK file: ${APK_SIGNED_FILE}"
rm -f ${APK_SIGNED_FILE}
rm -f ${APK_SIGNED_FILE}*
fi
echo "Executing jarsigner..."
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ${KEYSTORE_FILE} ${APK_UNSIGNED_FILE} Cesium
[[ $? -ne 0 ]] && exit 1
echo "Executing jarsigner [OK]"
#echo "Executing jarsigner..."
#jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -storepass ${KEYSTORE_PWD} -keystore ${KEYSTORE_FILE} ${APK_UNSIGNED_FILE} ${KEY_ALIAS}
#[[ $? -ne 0 ]] && exit 1
#echo "Executing jarsigner [OK]"
BUILD_TOOLS_DIR="${ANDROID_SDK_ROOT}/build-tools/28.*/"
cd ${BUILD_TOOLS_DIR}
cd ${ANDROID_BUILD_TOOLS_ROOT}
[[ $? -ne 0 ]] && exit 1
echo "Executing zipalign..."
./zipalign -v 4 ${APK_UNSIGNED_FILE} ${APK_SIGNED_FILE}
[[ $? -ne 0 ]] && exit 1
echo "Executing zipalign [OK]"
echo ""
echo "Executing apksigner..."
./apksigner sign --ks ${KEYSTORE_FILE} --ks-pass "pass:${KEYSTORE_PWD}" --ks-key-alias ${KEY_ALIAS} \
--min-sdk-version ${ANDROID_OUTPUT_MIN_SDK_VERSION} \
--max-sdk-version ${ANDROID_OUTPUT_MAX_SDK_VERSION} \
${APK_SIGNED_FILE}
[[ $? -ne 0 ]] && exit 1
echo "Executing apksigner [OK]"
echo ""
echo "Verify APK signature..."
./apksigner verify ${APK_SIGNED_FILE}
./apksigner verify --verbose --print-certs ${APK_SIGNED_FILE}
[[ $? -ne 0 ]] && exit 1
echo "Verify APK signature [OK]"
echo ""
echo "Successfully generated signed APK at: ${APK_SIGNED_FILE}"
export APK_SIGNED_FILE
echo "--- Successfully generated signed APK at: ${APK_SIGNED_FILE}"
exit 0
......@@ -7,22 +7,58 @@ if [[ "_" == "_${PROJECT_DIR}" ]]; then
export PROJECT_DIR
fi;
### Get version to release
cd ${PROJECT_DIR}
current=$(grep -m1 -P "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo " - Make sure the file 'package.json' exists and is readable."
echo " - Check version format is: x.y.z (x and y should be an integer)"
exit 1
fi
# Preparing the environment
source ${PROJECT_DIR}/scripts/env-global.sh
[[ $? -ne 0 ]] && exit 1
# Commit android project
cd ${PROJECT_DIR}/platforms/android || exit 1
git reset HEAD
# Make sure to checkout the source project
if ! test -d "${SOURCES_ANDROID}"; then
echo "-- Checkout submodules (dist/android/sources) ..."
cd "${PROJECT_DIR}"
git submodule init && git submodule sync && git submodule update --remote --merge
if ! test $? == 0; then
echo "ERROR: Unable to sync git submodule. Will not be able commit android sources !"
#exit 1
else
echo "-- Checkout submodules (dist/android/sources) [OK]"
fi
fi
if test -d "${SOURCES_ANDROID}"; then
# Revert changes in the Android sources project
cd ${SOURCES_ANDROID} || exit 1
git fetch && git reset --hard --merge HEAD
# Update sources, from platforms/android
echo "--- Copy Android sources from 'platforms/android' to '${SOURCES_ANDROID}' ..."
rsync -rlptgocq --exclude=.* --exclude=build --exclude=release-signing.* --exclude=*.keystore --delete --force "${PROJECT_DIR}/platforms/android/" "${SOURCES_ANDROID}/"
echo "--- Copy Android sources [OK] ..."
echo ""
echo "--- Git push Android sources, and tag as 'v$current'..."
cd ${SOURCES_ANDROID} || exit 1
git add -A
git commit -m "v$1"
git tag -f -a "v$1" -m "Release v$1"
git commit -a -m "v$current"
git tag -f -a "v$current" -m "Release v$current"
# Push the tag
git push -f origin "v$1"
git push -f origin "v$current"
# Push the master branch
git push -f origin
if [[ $? -ne 0 ]]; then
echo "ERROR: cannot push platform/android project ! Continue anyway..."
echo "ERROR: cannot push Android sources at '${SOURCES_ANDROID}' ! Continue anyway..."
else
echo "--- Git push Android sources, and tag [OK]"
fi
fi
......@@ -7,58 +7,57 @@ if [[ "_" == "_${PROJECT_DIR}" ]]; then
export PROJECT_DIR
fi;
# Preparing Android environment
source ${PROJECT_DIR}/scripts/env-android.sh
[[ $? -ne 0 ]] && exit 1
cd ${PROJECT_DIR}
# Run the build
echo "Running cordova build..."
ionic cordova build android --warning-mode=none --color --prod --release
[[ $? -ne 0 ]] && exit 1
# Signature
# Default env variables (can be override in '.local/env.sh' file)
KEYSTORE_FILE=${PROJECT_DIR}/.local/Cesium.keystore
KEY_ALIAS=Cesium
KEY_PWD=
APK_DIR=${PROJECT_DIR}/platforms/android/build/outputs/apk/release
APK_UNSIGNED_FILE=${APK_DIR}/android-release.apk
BUILD_TOOLS_DIR="${ANDROID_SDK_ROOT}/build-tools/28.*/"
if [[ ! -f "${APK_UNSIGNED_FILE}" ]]; then
echo "APK file not found at: ${APK_UNSIGNED_FILE}"
exit 1
fi
# Preparing Android environment
cd ${PROJECT_DIR}
source scripts/env-android.sh
[[ $? -ne 0 ]] && exit 1
# Check if signed
cd ${BUILD_TOOLS_DIR}
./apksigner verify ${APK_UNSIGNED_FILE}
APK_SIGNED_FILE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release-signed.apk
APK_UNSIGNED_FILE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release-unsigned.apk
# Not signed ? Do it !
if [[ $? -ne 0 ]]; then
echo "It seems that the APK file ${APK_UNSIGNED_FILE} is not signed !"
if [[ ! -f "${KEYSTORE_FILE}" ]]; then
echo "ERROR: Unable to sign: no keystore file found at ${KEYSTORE_FILE} !"
exit 1
fi
echo "--- Cleaning previous Android APK ..."
rm -f ${ANDROID_OUTPUT_APK_RELEASE}/*.apk*
echo "--- Cleaning previous Android APK [OK]"
echo ""
echo "Signing APK file ${APK_UNSIGNED_FILE}..."
APK_SIGNED_FILE=${APK_DIR}/android-release-signed.apk
# Run the build
echo "--- Building Android APK..."
echo ""
yarn run build:android
[[ $? -ne 0 ]] && exit 1
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ${KEYSTORE_FILE} ${APK_UNSIGNED_FILE} Cesium
echo "--- Building Android APK [OK]"
echo ""
BUILD_TOOLS_DIR="${ANDROID_SDK_ROOT}/build-tools/28.*/"
cd ${BUILD_TOOLS_DIR}
./zipalign -v 4 ${APK_UNSIGNED_FILE} ${APK_SIGNED_FILE}
# Sign APK file
cd ${PROJECT_DIR}/scripts
./release-android-sign.sh
./apksigner verify ${APK_SIGNED_FILE}
if [[ $? -ne 0 ]]; then
echo "Signing failed !"
# Check signed APK exists
if [[ ! -f "${APK_SIGNED_FILE}" ]]; then
echo "Missing signed APK file at: ${APK_SIGNED_FILE}"
exit 1
fi
# Do file replacement
rm ${APK_UNSIGNED_FILE}
mv ${APK_SIGNED_FILE} ${APK_UNSIGNED_FILE}
# Get current version
cd ${PROJECT_DIR}
current=$(grep -m 1 -oP "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -m 1 -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)."
exit 1;
fi
# Copy signed APK to 'dist/android/build'
echo ""
echo "--- Copying Android APK to '${APK_FINAL_FILE}'..."
APK_BASENAME="${PROJECT_NAME}-v${current}-android.apk"
APK_FINAL_FILE="${DIST_ANDROID}/${APK_BASENAME}"
mkdir -p "${DIST_ANDROID}"
cp -f "${APK_SIGNED_FILE}" "${APK_FINAL_FILE}"
echo "--- Copying Android APK [OK]"
echo ""
......@@ -22,7 +22,7 @@ then
fi
### Get version to release
current=$(grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -m 1 -oP "\d+.\d+.\d+(\w*)")
current=$(grep -P "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -m 1 -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)."
exit 1;
......@@ -57,7 +57,8 @@ if [[ "${DESKTOP_ASSETS}" == "linux" ]]; then
echo "Skipping windows assets, because DESKTOP_ASSETS env was set to 'linux'."
EXPECTED_ASSETS="${PROJECT_NAME}-desktop-v$current-linux-x64.deb
${PROJECT_NAME}-desktop-v$current-linux-x64.tar.gz"
${PROJECT_NAME}-desktop-v$current-linux-x64.tar.gz
${PROJECT_NAME}-desktop-v$current-linux-x64.AppImage"
fi
# Build desktop assets
......
......@@ -9,12 +9,7 @@ fi;
# Preparing Android environment
cd ${PROJECT_DIR}
source ${PROJECT_DIR}/scripts/env-global.sh
XPI_BASENAME=${PROJECT_NAME}-$current-an+fx.xpi
XPI_FILE=${PROJECT_DIR}/dist/web/build/${XPI_BASENAME}
XPI_FINAL_BASENAME=${PROJECT_NAME}-v$current-extension-firefox.xpi
XPI_FINAL_FILE=${PROJECT_DIR}/dist/web/build/${XPI_FINAL_BASENAME}
source scripts/env-global.sh
### Control that the script is run on `dev` branch
branch=$(git rev-parse --abbrev-ref HEAD)
......@@ -25,16 +20,21 @@ then
fi
### Get version to release
current=$(grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -m 1 -oP "\d+.\d+.\d+(\w*)")
current=$(grep -m 1 -oP "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -m 1 -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)."
exit 1;
fi
echo "Sending v$current extension for Mozilla..."
XPI_BASENAME=${PROJECT_NAME}-$current-an+fx.xpi
XPI_FILE=${PROJECT_DIR}/dist/web/build/${XPI_BASENAME}
XPI_FINAL_BASENAME=${PROJECT_NAME}-v$current-extension-firefox.xpi
XPI_FINAL_FILE=${PROJECT_DIR}/dist/web/build/${XPI_FINAL_BASENAME}
### Check AMO account
if [[ "_" == "_${AMO_JWT_ISSUER}" || "_" == "_${AMO_JWT_SECRET}" ]]; then
echo "ERROR: Unable to find Addons Modzilla account: "
echo "ERROR: Unable to find Addons Mozilla account: "
echo " - Please add environment variables 'AMO_JWT_ISSUER' or 'AMO_JWT_SECRET', then retry."
echo " - You can use the file './local/env.sh'."
exit 1
......@@ -43,6 +43,7 @@ fi
### Sign extension
case "$1" in
pre)
echo "web-ext sign \"--api-key=${AMO_JWT_ISSUER}\" \"--api-secret=${AMO_JWT_SECRET}\" \"--source-dir=${PROJECT_DIR}/dist/web/ext\" \"--artifacts-dir=${PROJECT_DIR}/dist/web/build\" --id=${WEB_EXT_ID} --channel=unlisted"
web-ext sign "--api-key=${AMO_JWT_ISSUER}" "--api-secret=${AMO_JWT_SECRET}" "--source-dir=${PROJECT_DIR}/dist/web/ext" "--artifacts-dir=${PROJECT_DIR}/dist/web/build" --id=${WEB_EXT_ID} --channel=unlisted
if [[ $? -ne 0 ]]; then
if [[ -f "${XPI_FILE}" || -f "${XPI_FINAL_FILE}" ]]; then
......
......@@ -20,21 +20,25 @@ then
fi
### Get version to release
current=$(grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -m 1 -oP "\d+.\d+.\d+(\w*)")
current=$(grep -m1 -P "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)."
exit 1;
echo " - Make sure the file 'package.json' exists and is readable."
echo " - Check version format is: x.y.z (x and y should be an integer)"
exit 1
fi
echo "Sending v$current extension to Github..."
### get auth token
if [[ "_${GITHUB_TOKEN}" == "_" ]]; then
# Get it from user config dir
GITHUB_TOKEN=$(cat ~/.config/${PROJECT_NAME}/.github)
if [[ "_$GITHUB_TOKEN" != "_" ]]; then
GITHUT_AUTH="Authorization: token $GITHUB_TOKEN"
fi
if [[ "_${GITHUB_TOKEN}" != "_" ]]; then
GITHUT_AUTH="Authorization: token ${GITHUB_TOKEN}"
else
echo "ERROR: Unable to find github authentication token file: "
echo " - You can create such a token at https://github.com/settings/tokens > 'Generate a new token'."
echo " - Then copy the token and paste it in the file '~/.config/${PROJECT_NAME}/.github' using a valid token."
echo " - [if CI] Add a pipeline variable named 'GITHUB_TOKEN';"
echo " - [else] Or copy/paste the token into the file '~/.config/${PROJECT_NAME}/.github'."
exit 1
fi
......@@ -44,20 +48,20 @@ case "$1" in
result=$(curl -i "$REPO_API_URL/releases/tags/v$current")
release_url=$(echo "$result" | grep -P "\"url\": \"[^\"]+" | grep -oP "$REPO_API_URL/releases/\d+")
if [[ $release_url != "" ]]; then
echo "Deleting existing release..."
curl -H 'Authorization: token $GITHUB_TOKEN' -XDELETE $release_url
echo "--- Deleting existing release..."
curl -H ''"$GITHUT_AUTH"'' -XDELETE $release_url
fi
exit 0;
;;
pre)
prerelease="true"
echo "Creating new pre-release v$current..."
echo "--- Creating new pre-release v$current..."
;;
rel)
prerelease="false"
echo "Creating new release v$current..."
echo "--- Creating new release v$current..."
;;
*)
echo "No task given, or wrong arguments"
......@@ -79,7 +83,7 @@ fi
result=$(curl -s -H ''"$GITHUT_AUTH"'' "$REPO_API_URL/releases/tags/v$current")
release_url=$(echo "$result" | grep -P "\"url\": \"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+/releases/\d+")
if [[ "_$release_url" != "_" ]]; then
echo "Deleting existing release... $release_url"
echo "--- Deleting existing release... $release_url"
result=$(curl -H ''"$GITHUT_AUTH"'' -s -XDELETE $release_url)
if [[ "_$result" != "_" ]]; then
error_message=$(echo "$result" | grep -P "\"message\": \"[^\"]+" | grep -oP ": \"[^\"]+\"")
......@@ -90,9 +94,14 @@ else
echo "Release not exists yet on github."
fi
### Create the release
result=$(curl -H ''"$GITHUT_AUTH"'' -s $REPO_API_URL/releases -d '{"tag_name": "v'"$current"'","target_commitish": "master","name": "'"$current"'","body": "'"$description"'","draft": false,"prerelease": '"$prerelease"'}')
#echo "DEBUG - $result"
echo "--- Clean previous SHA256 files..."
rm -rf ${PROJECT_DIR}/dist/**/*.sha256
echo ""
echo "--- Creating new release..."
echo " - tag: v$current"
echo " - description: $description"
result=$(curl -X POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" -H ''"$GITHUT_AUTH"'' -s $REPO_API_URL/releases -d '{"tag_name": "v'"$current"'","target_commitish": "master","name": "'"$current"'","body": "'"$description"'","draft": false,"prerelease": '"$prerelease"'}')
upload_url=$(echo "$result" | grep -P "\"upload_url\": \"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+")
if [[ "_$upload_url" = "_" ]]; then
echo "Failed to create new release for repo $REPO."
......@@ -101,8 +110,8 @@ if [[ "_$upload_url" = "_" ]]; then
exit 1
fi
### Send files
echo "Uploading artifacts to ${upload_url} ..."
### Sending files
echo "--- Uploading files to ${upload_url} ..."
# Upload web file
WEB_BASENAME="${PROJECT_NAME}-v$current-web.zip"
......@@ -111,9 +120,12 @@ if [[ -f "${WEB_FILE}" ]]; then
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/zip' -T "${WEB_FILE}" "${upload_url}?name=${WEB_BASENAME}")
browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+")
WEB_SHA256=$(cd ${DIST_WEB} && sha256sum "${WEB_BASENAME}")
echo " - ${browser_download_url} | Checksum: ${WEB_SHA256}"
echo " - ${browser_download_url} | SHA256 Checksum: ${WEB_SHA256}"
echo "${WEB_SHA256} ${WEB_BASENAME}" > "${WEB_FILE}.sha256"
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: text/plain' -T "${WEB_FILE}.sha256" "${upload_url}?name=${WEB_BASENAME}.sha256")
else
echo " - ERROR: Web artifact (ZIP) not found! Skipping."
echo " - ERROR: Web release (ZIP) not found! Skipping."
missing_file=true
fi
# Upload web extension (ZIP) file
......@@ -124,8 +136,11 @@ if [[ -f "${WEB_EXT_ZIP_FILE}" ]]; then
browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+")
WEB_EXT_ZIP_SHA256=$(cd ${DIST_WEB} && sha256sum "${WEB_EXT_ZIP_BASENAME}")
echo " - ${browser_download_url} | Checksum: ${WEB_EXT_ZIP_SHA256}"
echo "${WEB_EXT_ZIP_SHA256} ${WEB_EXT_ZIP_BASENAME}" > "${WEB_EXT_ZIP_FILE}.sha256"
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: text/plain' -T "${WEB_EXT_ZIP_FILE}.sha256" "${upload_url}?name=${WEB_EXT_ZIP_BASENAME}.sha256")
else
echo " - ERROR: Web extension artifact (ZIP) not found! Skipping."
missing_file=true
fi
# Upload web extension (XPI) file
......@@ -136,8 +151,11 @@ if [[ -f "${WEB_EXT_XPI_FILE}" ]]; then
browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+")
WEB_EXT_XPI_SHA256=$(cd ${DIST_WEB} && sha256sum "${WEB_EXT_XPI_BASENAME}")
echo " - ${browser_download_url} | Checksum: ${WEB_EXT_XPI_SHA256}"
echo "${WEB_EXT_XPI_SHA256} ${WEB_EXT_XPI_BASENAME}" > "${WEB_EXT_XPI_FILE}.sha256"
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: text/plain' -T "${WEB_EXT_XPI_FILE}.sha256" "${upload_url}?name=${WEB_EXT_XPI_BASENAME}.sha256")
else
echo " - ERROR: Web signed extension artifact (XPI) not found! Skipping."
missing_file=true
fi
# Upload Android APK file
......@@ -146,20 +164,24 @@ APK_FILE="${DIST_ANDROID}/${APK_BASENAME}"
if [[ -f "${APK_FILE}" ]]; then
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: application/vnd.android.package-archive' -T "${APK_FILE}" "${upload_url}?name=${APK_BASENAME}")
browser_download_url=$(echo "$result" | grep -P "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "\"browser_download_url\":[ ]?\"[^\"]+" | grep -oP "https://[A-Za-z0-9/.-]+")
APK_SHA256=$(cd ${DIST_ANDROID} && sha256sum "${APK_BASENAME}")
echo " - ${browser_download_url} | Checksum: ${APK_SHA256}"
APK_SHA256=$(sha256sum "${APK_FILE}" | sed 's/ /\n/gi' | head -n 1)
echo " - ${browser_download_url} | SHA256 Checksum: ${APK_SHA256}"
echo "${APK_SHA256} ${APK_BASENAME}" > "${APK_FILE}.sha256"
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: text/plain' -T "${APK_FILE}.sha256" "${upload_url}?name=${APK_BASENAME}.sha256")
else
echo "- ERROR: Android artifact (APK) not found! Skipping."
echo "- ERROR: Android release (APK) not found! Skipping."
missing_file=true
fi
# Upload sha256 file (checksum)
SHA_BASENAME=${PROJECT_NAME}-v$current.sha256
SHA_FILE=${PROJECT_DIR}/dist/${SHA_BASENAME}
echo "${WEB_SHA256}" > ${SHA_FILE}
echo "${WEB_EXT_ZIP_SHA256}" >> ${SHA_FILE}
echo "${APK_SHA256}" >> ${SHA_FILE}
echo "${WEB_EXT_XPI_SHA256}" >> ${SHA_FILE}
result=$(curl -s -H ''"$GITHUT_AUTH"'' -H 'Content-Type: text/plain' -T "${SHA_FILE}" "${upload_url}?name=${SHA_BASENAME}")
### Success message
echo "Successfully uploaded files to: ${REPO_PUBLIC_URL}/releases/tag/v${current}"
echo ""
if [[ ${missing_file} == true ]]; then
echo "-------------------------------------------"
echo "ERROR: missing some artifacts (see logs)"
echo " -> Release url: ${REPO_PUBLIC_URL}/releases/tag/${version}"
exit 1
else
echo "-------------------------------------------"
echo "Successfully uploading files !"
echo " -> Release url: ${REPO_PUBLIC_URL}/releases/tag/${version}"
exit 0
fi
......@@ -9,7 +9,7 @@ fi;
cd ${PROJECT_DIR}
### Control that the script is run on `dev` branch
### Control that the script is run on `master` branch
branch=$(git rev-parse --abbrev-ref HEAD)
if [[ ! "$branch" == "master" ]];
then
......@@ -18,7 +18,7 @@ then
fi
### Get current version (package.json)
current=$(grep -oP "version\": \"\d+.\d+.\d+((a|b)[0-9]+)?" package.json | grep -m 1 -oP "\d+.\d+.\d+((a|b)[0-9]+)?")
current=$(grep -m1 -P "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" package.json | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
if [[ "_$current" == "_" ]]; then
echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)."
exit 1;
......@@ -34,7 +34,7 @@ fi
echo "Current Android version: $currentAndroid"
# Check version format
if [[ ! $2 =~ ^[0-9]+.[0-9]+.[0-9]+(-(alpha|beta|rc)[-0-9]*)?$ || ! $3 =~ ^[0-9]+$ ]]; then
if [[ ! $2 =~ ^[0-9]+.[0-9]+.[0-9]+(-[a-z]+[-0-9]*)?$ || ! $3 =~ ^[0-9]+$ ]]; then
echo "Wrong version format"
echo "Usage:"
echo " > ./release.sh [pre|rel] <version> <android-version> <release_description>"
......@@ -53,16 +53,16 @@ case "$1" in
rel|pre)
# Change the version in files: 'package.json' and 'config.xml'
sed -i "s/version\": \"$current\"/version\": \"$2\"/g" package.json
currentConfigXmlVersion=$(grep -oP "version=\"\d+.\d+.\d+((a|b)[0-9]+)?\"" config.xml | grep -oP "\d+.\d+.\d+((a|b)[0-9]+)?")
currentConfigXmlVersion=$(grep -m 1 -oP "version=\"\d+.\d+.\d+(-\w+[-0-9]*)?\"" config.xml | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
sed -i "s/ version=\"$currentConfigXmlVersion\"/ version=\"$2\"/g" config.xml
sed -i "s/ android-versionCode=\"$currentAndroid\"/ android-versionCode=\"$3\"/g" config.xml
# Change version in file: 'www/manifest.json'
currentManifestJsonVersion=$(grep -oP "version\": \"\d+.\d+.\d+((a|b)[0-9]+)?\"" www/manifest.json | grep -oP "\d+.\d+.\d+((a|b)[0-9]+)?")
currentManifestJsonVersion=$(grep -m 1 -oP "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" www/manifest.json | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
sed -i "s/version\": \"$currentManifestJsonVersion\"/version\": \"$2\"/g" www/manifest.json
# Change version in file: 'resources/web-ext/manifest.json'
currentExtManifestJsonVersion=$(grep -oP "version\": \"\d+.\d+.\d+((a|b)[0-9]+)?\"" resources/web-ext/manifest.json | grep -oP "\d+.\d+.\d+((a|b)[0-9]+)?")
currentExtManifestJsonVersion=$(grep -m 1 -oP "version\": \"\d+.\d+.\d+(-\w+[-0-9]*)?\"" resources/web-ext/manifest.json | grep -oP "\d+.\d+.\d+(-\w+[-0-9]*)?")
sed -i "s/version\": \"$currentExtManifestJsonVersion\"/version\": \"$2\"/g" resources/web-ext/manifest.json
# Bump the install.sh
......@@ -77,50 +77,29 @@ esac
# Preparing the environment
. ${PROJECT_DIR}/scripts/env-global.sh
if [[ $? -ne 0 ]]; then
exit 1
fi
[[ $? -ne 0 ]] && exit 1
echo "----------------------------------"
echo "- Compiling sources..."
echo "----------------------------------"
cd ${PROJECT_DIR} || exit 1
gulp config build --env default_fr || exit 1
echo "Clean previous sha256 files..."
rm -rf ${PROJECT_DIR}/dist/*.sha256
gulp config build --env default || exit 1
echo "----------------------------------"
echo "- Building Android artifact..."
echo "----------------------------------"
mkdir -p ${DIST_ANDROID} || exit 1
rm -rf ${DIST_ANDROID}/*.apk || exit 1
rm -rf ${ANDROID_OUTPUT_APK_RELEASE}/*.apk || exit 1
. scripts/build-android.sh --release
[[ $? -ne 0 ]] && exit 1
APK_RELEASE_FILE="${ANDROID_OUTPUT_APK_RELEASE}/app-release.apk"
APK_RELEASE_UNSIGNED_FILE="${ANDROID_OUTPUT_APK_RELEASE}/app-release-unsigned.apk"
if [[ ! -f "${APK_RELEASE_FILE}" ]]; then
if [[ ! -f "${APK_RELEASE_UNSIGNED_FILE}" ]]; then
echo "ERROR: Missing android artifact at ${APK_RELEASE_FILE}"
exit 1
else
. scripts/release-android-sign.sh
[[ $? -ne 0 ]] && exit 1
fi
fi
mkdir -p ${DIST_ANDROID} || exit 1
cp ${APK_RELEASE_FILE} "${DIST_ANDROID}/${PROJECT_NAME}-v$2-android.apk" || exit 1
cd ${PROJECT_DIR}/scripts || exit 1
./release-android.sh
#[[ $? -ne 0 ]] && exit 1
echo "----------------------------------"
echo "- Building web and extension artifacts..."
echo "----------------------------------"
cd ${PROJECT_DIR} || exit 1
# Gnerate config (only once, to keep same config if web and web-extension artifacts)
# Generate config (only once, to keep same config if web and web-extension artifacts)
cd ${PROJECT_DIR} || exit 1
gulp config --env default
# Run web build
......@@ -166,8 +145,9 @@ git push -f origin
echo "----------------------------------"
echo "- Uploading web extension to Mozilla ..."
echo "----------------------------------"
. ${PROJECT_DIR}/scripts/release-sign-extension.sh $1
# FIXME: always failed: but continue
cd ${PROJECT_DIR}/scripts || exit 1
./release-sign-extension.sh $1 ''"$description"''
# FIXME: always failed, but continue
#[[ $? -ne 0 ]] && exit 1
echo "----------------------------------"
......@@ -198,5 +178,5 @@ echo "**********************************"
cd ${PROJECT_DIR}
# Back to nodejs project version
nvm use ${NODEJS_VERSION}
nvm use ${NODE_VERSION}
......@@ -491,7 +491,7 @@ $screen-menu: $screen-sm;
}
.bar-header {
background-color: $positive-900-bg;
background-color: $positive;
color: #fff;
height: 150px;
padding-right: 0 !important;
......@@ -938,13 +938,20 @@ html, body {
display: inline-block !important;
vertical-align: bottom;
}
.loader {
zoom: unset;
top: 49px;
width: 100%;
}
.loader .logo,
#home .logo {
margin-top: 15px;
width: 100%;
background-position: center center;
background-repeat: no-repeat;
}
.loader .center,
#home .center {
float: none;
text-align: center;
......@@ -955,7 +962,8 @@ html, body {
display: inline-block;
}
@media screen and (max-width: $screen-xs-max) {
@media screen and (max-width: $screen-xxs-max) {
.loader .logo,
#home .logo {
height: 96px;
background-image: url('../img/logo_96px.png');
......@@ -966,7 +974,9 @@ html, body {
}
}
@media screen and (min-width: $screen-sm) and (max-width: $screen-sm-max) {
@media screen and (min-width: $screen-xs) and (max-width: $screen-sm-max) {
.loader .logo,
#home .logo {
height: 144px;
background-image: url('../img/logo_144px.png');
......@@ -979,6 +989,7 @@ html, body {
}
@media screen and (min-width: $screen-md) {
.loader .logo,
#home .logo {
height: 200px;
background-image: url('../img/logo_200px.png');
......@@ -991,9 +1002,6 @@ html, body {
}
}
@media screen and (min-width: $screen-md) {
.circle-bg-dark {
background-image: url('../../resources/logo/svg/white/logo.large.empty.transparent.svg');
background-repeat: no-repeat;
......@@ -1001,6 +1009,16 @@ html, body {
background-size: 1024px 1024px;
}
@media screen and (max-width: $screen-sm-max) {
.circle-bg-dark {
background-blend-mode: soft-light;
}
}
@media screen and (min-width: $screen-md) {
.circle-bg-dark {
background-blend-mode: hard-light;
}
}
.gray {
......@@ -1282,10 +1300,11 @@ html, body {
}
}
.stable-100-bg {
background-color: $stable-100-bg !important;
.popover-wallet-tx-actions {
height: 120px;
}
/******
* TX view (wallet or identity)
*******/
......@@ -1296,7 +1315,6 @@ html, body {
padding-top: 8px;
margin: 0 !important;
.badge-energized {
background-color: rgba(255, 201, 0, 0.3);
color: #888 !important;
......@@ -1309,18 +1327,6 @@ html, body {
background-color: white; // Fix issue #847
}
.vertical-center{
position: absolute;
top: 30%;
width: 40%;
}
p.comment{
width: 100%;
white-space: nowrap;
text-overflow: ellipsis;
}
p.text-wrap {
white-space: normal;
a {
......@@ -1328,17 +1334,38 @@ html, body {
}
}
p.comment {
margin: 8px 0;
padding-left: 16px; // For icon
i.ion-ios-chatbubble-outline {
margin-left: -16px;
position: absolute;
}
}
.col-pubkey {
max-width: 80%;
.pubkeys {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
a {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
.pubkeys {
display: block;
max-height: 130px;
overflow: hidden;
}
}
.col-comment {
white-space: normal;
}
}
......@@ -1386,6 +1413,7 @@ html, body {
filter: alpha(opacity=80);
}
.card.stable-900-bg,
.card .stable-900-bg,
.item.stable-900-bg,
......@@ -1936,11 +1964,20 @@ $ionicon-var-badge-editable: $ionicon-var-edit + "\00a0";
}
}
/**********
About modal
**********/
.modal.about .bar.bar-header .button + .title {
left: 0 !important; /* avoid title offset on large screens, if button are 'visible-xs')'*/
}
.modal.about {
.ion-telegram:before {
content: url('../img/logo_telegram.svg');
}
}
/**********
Item buttons
**********/
......@@ -1983,7 +2020,7 @@ $ionicon-var-badge-editable: $ionicon-var-edit + "\00a0";
}
.item.item-thumbnail-left, .item-thumbnail-left {
min-height: 100px !important;
min-height: 100px;
}
.item-thumbnail-left > i:first-child,
......@@ -2419,6 +2456,10 @@ body.demo {
height: 204px;
}
.popover.popover-login-methods.auth.scan {
height: 252px;
}
@media (max-width: $screen-xs-max) {
.popover.popover-login-methods {
height: 256px;
......@@ -2558,6 +2599,11 @@ div[drop-zone]:hover {
/**********
Wot identity
**********/
.stable-100-bg {
background-color: $stable-100-bg !important;
}
.hero.dark-100-bg {
background-color: $dark-100-bg;
}
......@@ -2657,6 +2703,11 @@ div[drop-zone]:hover {
overflow: hidden;
}
}
.icon-eye-toggle:before {
font-size: 24px;
padding-top: 8px;
}
}
/**********
......@@ -2747,6 +2798,19 @@ div[drop-zone]:hover {
color: white !important;
}
h1, .h1 {
font-size: 18pt;
}
h2, .h2 {
font-size: 16pt;
}
h3, .h3 {
font-size: 14pt;
}
h4, .h4 {
font-size: 12pt;
}
ul {
list-style: unset;
padding-left: 40px;
......@@ -2770,24 +2834,63 @@ div[drop-zone]:hover {
border: 1px solid $positive;
}
.avatar-left-padding {
padding-left: 30px;
padding-inline-start: 30px;
}
}
.feed-title,
.card .title {
margin-top: 5px;
font-size: 18pt;
a {
color: white !important;;
}
}
.tags {
font-size: small;
color: grey !important;
}
.feed-content,
.card .content {
text-align: start;
color: lightgrey !important;
img.emoji {
display: unset;
max-width: 12px;
max-height: 12px;
}
blockquote p {
font-weight: unset;
font-size: unset;
line-height: unset;
}
blockquote, .quote .title {
padding: 5px 10px;
border-left: 5px solid gray;
margin: 0 0 10px 0;
font-size: 10pt;
}
.quote .title {
margin: 0;
font-size: 10pt;
padding-left: 32px;
.avatar {
position: absolute;
margin-top: -1px;
margin-left: -3px;
height: 20px;
width: 20px;
border: 1px solid $positive;
}
}
}
.feed-footer,
.card .footer {
a:hover {
......
......@@ -27,6 +27,30 @@
color: grey;
}
#home .progress-bar {
display: inline-block;
width: 50vw;
max-width: 300px;
position: relative;
height: 12px;
border-radius: 5px;
border: 1px solid gray;
}
#home .progress-fill {
height: 100%;
background-color: currentColor;
position: absolute;
left: 0;
top: 0;
border-radius: 5px;
transition: width 0.2s ease;
}
#home .progress-text {
font-size: 12px;
color: currentColor !important;
opacity: 0.7;
}
#modal-license {
color:rgb(0, 0, 0);
}
......@@ -173,7 +197,9 @@
padding-top: 9px;
padding-bottom: 3px;
}
.list .item-peer .col h3 {
margin-bottom: 0 !important;
}
.list .item-peer .badge {
top: 14px;
right: 6%;
......@@ -202,8 +228,54 @@
.list .item-peer.compacted > * {
display: none;
}
.list .item-peer .col-server {
overflow: hidden;
text-overflow: ellipsis;
}
.list .item-peer .col-api {
vertical-align: center;
}
.list .item-peer .col-api h4 {
min-width: 50px;
height: 100%;
white-space: normal;
padding-top: 5px;
}
.list .item-peer .col-api h4 span {
white-space: nowrap;
font-size: 14px;
line-height: 12px;
}
.list .item-peer .col-api h4 span small {
font-size: 85%;
}
.list .item-peer .col-sandboxes h3 {
display: block;
color: gray;
padding: 0;
}
.list .item-peer .col-sandboxes .progress-bar {
display: inline-block;
width: 50px;
position: relative;
height: 12px;
border-radius: 5px;
border: 1px solid gray;
}
.list .item-peer .col-sandboxes .progress-fill {
height: 100%;
background-color: currentColor;
position: absolute;
left: 0;
top: 0;
border-radius: 5px;
transition: width 0.2s ease;
}
.list .item-peer .col-sandboxes .progress-text {
width: 100%;
font-size: 10px;
text-align: center;
}
/**********
Block items
**********/
......
{
"COMMON": {
"APP_NAME": "Cesium",
"APP_VERSION": "v{{version}}",
"APP_BUILD": "data: {{build}}",
"PUBKEY": "Clau pública",
"MEMBER": "Membre",
"BLOCK": "Bloc",
"BTN_OK": "OK",
"BTN_YES": "Sí",
"BTN_NO": "No",
"BTN_SEND": "Envia",
"BTN_SEND_MONEY": "Fes un pagament",
"BTN_SEND_MONEY_SHORT": "Pagament",
"BTN_SAVE": "Guarda",
"BTN_YES_SAVE": "Sí, guarda",
"BTN_YES_CONTINUE": "Sí, continua",
"BTN_SHOW": "Mostra",
"BTN_SHOW_PUBKEY": "Mostra la clau",
"BTN_RELATIVE_UNIT": "Mostra els imports en DU",
"BTN_BACK": "Anterior",
"BTN_NEXT": "Següent",
"BTN_IMPORT": "Importa",
"BTN_CANCEL": "Cancel·la",
"BTN_CLOSE": "Tanca",
"BTN_LATER": "Després",
"BTN_LOGIN": "Connecta't",
"BTN_LOGOUT": "Desconnecta't",
"BTN_ADD_ACCOUNT": "Nou compte",
"BTN_SHARE": "Comparteix",
"BTN_EDIT": "Modifica",
"BTN_DELETE": "Suprimeix",
"BTN_ADD": "Afegeix",
"BTN_SEARCH": "Busca",
"BTN_REFRESH": "Actualitza",
"BTN_RETRY": "Torna-ho a provar",
"BTN_START": "Comença",
"BTN_CONTINUE": "Continua",
"BTN_CREATE": "Crea",
"BTN_UNDERSTOOD": "Entesos",
"BTN_OPTIONS": "Opcions",
"BTN_HELP_TOUR": "Visita guiada",
"BTN_HELP_TOUR_SCREEN": "Explica'm aquesta pantalla",
"BTN_DOWNLOAD": "Descarrega",
"BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Descarrega l'historial del compte",
"BTN_MODIFY": "Modifica",
"CHOOSE_FILE": "Arrossegui el fitxer<br/>o cliqui per seleccionar-lo",
"DAYS": "Dies",
"NO_ACCOUNT_QUESTION": "Encara no ets membre? Fes-te un compte!",
"SEARCH_NO_RESULT": "No s'ha trobat res",
"LOADING": "Esperi si us plau...",
"LOADING_WAIT": "Esperi si us plau...<br/><small>(Cesium està interrogant el node Duniter)</small>",
"SEARCHING": "Cerca en procés...",
"DOWNLOADING_DOTS": "Descarregant...",
"FROM": "De",
"TO": "A",
"COPY": "Còpia",
"LANGUAGE": "Idioma",
"UNIVERSAL_DIVIDEND": "Dividend universal",
"UD": "DU",
"DATE_PATTERN": "DD/MM/YYYY HH:mm",
"DATE_FILE_PATTERN": "YYYY-MM-DD",
"DATE_SHORT_PATTERN": "DD/MM/YY",
"DATE_MONTH_YEAR_PATTERN": "MM/YYYY",
"EMPTY_PARENTHESIS": "(buit)",
"UID": "Renom",
"ENABLE": "Activat",
"DISABLE": "Desactivat",
"RESULTS_LIST": "Resultats:",
"RESULTS_COUNT": "{{count}} resultats",
"EXECUTION_TIME": "executat en {{duration|formatDurationMs}}",
"SHOW_VALUES": "Mostra la contrasenya",
"POPOVER_ACTIONS_TITLE": "Opcions",
"POPOVER_FILTER_TITLE": "Filtres",
"SHOW_MORE": "Mostra'n més",
"SHOW_MORE_COUNT": "(límit actual {{limit}})",
"POPOVER_SHARE": {
"TITLE": "Compartir",
"SHARE_ON_TWITTER": "Compartir a Twitter",
"SHARE_ON_FACEBOOK": "Compartir a Facebook",
"SHARE_ON_DIASPORA": "Compartir a Diaspora*",
"SHARE_ON_GOOGLEPLUS": "Compartir a Google+"
},
"FILE": {
"DATE" : "Data:",
"TYPE" : "Tipus:",
"SIZE": "Mida:",
"VALIDATING": "Validant..."
}
},
"SYSTEM": {
"PICTURE_CHOOSE_TYPE": "Trieu la font:",
"BTN_PICTURE_GALLERY": "Galeria",
"BTN_PICTURE_CAMERA": "<b>Càmera</b>"
},
"MENU": {
"HOME": "Inici",
"WOT": "Directori",
"CURRENCY": "Moneda",
"ACCOUNT": "Compte",
"WALLETS": "Moneders",
"SETTINGS": "Configuració",
"NETWORK": "Xarxa",
"TRANSACTIONS": "Moviments"
},
"ABOUT": {
"BTN_OPEN_DEV_WINDOW": "Obrir la finestra de depuració",
"TITLE": "A propòsit de",
"LICENSE": "Programari <b>llliure</b> (llicència GNU AGPLv3).",
"LATEST_RELEASE": "Hi ha una <b>versió més nova</b> de {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)",
"PLEASE_UPDATE": "Si us plau, actualitzeu {{'COMMON.APP_NAME' | translate}} (última versió: <b>v{{version}}</b>)",
"CODE": "Codi font:",
"OFFICIAL_WEB_SITE": "Web oficial:",
"DEVELOPERS": "Desenvolupat per:",
"USER_FORUM": "Fòrum d'usuaris:",
"TECH_FORUM": "Fòrum Tècnic:",
"TELEGRAM": "Grup de Telegram:",
"USER_HELP_DIVIDER": "Comunitat",
"CONTRIBUTE_DIVIDER": "Contribuir",
"PLEASE_REPORT_ISSUE": "Si trobeu errors no us ho penseu i informeu-nos",
"REPORT_ISSUE": "Informa d'un problema"
},
"HOME": {
"FEED_SOURCE": "Font",
"FEEDS_TITLE": "Notícies",
"READ_MORE": "Amplia",
"SHOW_ALL_FEED": "Mostra-m'ho tot",
"TITLE": "Cesium",
"WELCOME": "Benvingut/da a l'aplicació Cesium!",
"MESSAGE": "Rebeu i envieu moneda lliure {{currency|abbreviate}} fàcilment",
"BTN_CURRENCY": "Sobre la moneda",
"BTN_ABOUT": "A propòsit",
"BTN_HELP": "Ajuda",
"REPORT_ISSUE": "Informar d'un error",
"NOT_YOUR_ACCOUNT_QUESTION": "Aquest no és el seu compte <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
"BTN_CHANGE_ACCOUNT": "Desconnecta aquest compte",
"PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> inabastable o adreça invàlida.<br/><br/>Comprobeu la vostra connexió a Internet, o node Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">a la configuració</a>.",
"NETWORK_CONNECTION_ERROR": "La xarxa és inaccesible.<br/><br/>Comprova la teva connexió a Internet, o selecciona un node manualment <a class=\"positive\" ng-click=\"doQuickFix('settings')\">a la configuració</a>."
},
"SETTINGS": {
"TITLE": "Configuració",
"DISPLAY_DIVIDER": "Visualització",
"STORAGE_DIVIDER": "Emmagatzemament",
"NETWORK_SETTINGS": "Xarxa",
"PEER": "Node Duniter",
"PEER_CHANGED_TEMPORARY": "Adreça usada temporalment",
"PEER_SELECTED_AUTOMATICALLY": "Node seleccionat automàticament a l'inici",
"NETWORK_ANALYZE_TIMEOUT": "Temps d'espera màxim (temps d'espera)",
"NETWORK_ANALYZE_TIMEOUT_HELP": "Temps d'espera màxim per a l'anàlisi de la xarxa",
"NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
"PERSIST_CACHE": "Conserva les dades de navegació (experimental)",
"PERSIST_CACHE_HELP": "Permet una navegació més ràpida, conservant localment les dades rebudes, per reutilitzar d'una sesió a una altra.",
"USE_LOCAL_STORAGE": "Activa l'emmagatzemament local",
"USE_LOCAL_STORAGE_HELP": "Permetre conservar els teus ajustos",
"WALLETS_SETTINGS": "Els meus moneders",
"USE_WALLETS_ENCRYPTION": "Xifrar el llistat",
"USE_WALLETS_ENCRYPTION_HELP": "Permete protegir la llista dels teus moneders (mitjançant xifrat), exigint una autenticació per accedir-hi.",
"ENABLE_HELPTIP": "Activa l'ajuda contextual",
"ENABLE_UI_EFFECTS": "Activa els efectes visuals",
"HISTORY_SETTINGS": "Transaccions del compte",
"DISPLAY_UD_HISTORY": "Mostra els DU creats",
"TX_HISTORY_AUTO_REFRESH": "Activa l'actualització automàtica",
"TX_HISTORY_AUTO_REFRESH_HELP": "Actualitza el saldo i les transaccions automàticament, amb cada bloc nou.",
"AUTHENTICATION_SETTINGS": "Autenticació",
"KEEP_AUTH": "Caducitat de l'autenticació",
"KEEP_AUTH_SHORT": "Caducitat",
"KEEP_AUTH_HELP": "Defineix quan expira la teva sessió",
"KEEP_AUTH_OPTION": {
"NEVER": "Després de cada operació",
"SECONDS": "Després de {{value}} segons d'inactivitat",
"MINUTE": "Després de {{value}}mins d'inactivitat",
"MINUTES": "Després de {{value}}mins d'inactivitat",
"HOUR": "Després de {{value}}h d'inactivitat",
"ALWAYS": "En finalitzar la sessió"
},
"KEYRING_FILE": "Arxiu de claus",
"KEYRING_FILE_HELP": "Et permet <b>connectar-te</b> automàticament a cada inici <br/>i fins i tot <b>autenticar-te</b> (només si \"Caducitat de l'autenticació\" està configurada en mode: \"en finalitzar la sessió\").",
"REMEMBER_ME": "Recorda'm",
"REMEMBER_ME_HELP": "Permet mantenir-se sempre connectat (no recomanat), conservant localment la clau pública.",
"PLUGINS_SETTINGS": "Extensions",
"BTN_RESET": "Restaura els valors per defecte",
"EXPERT_MODE": "Mode expert",
"EXPERT_MODE_HELP": "Permet una visualització més detallada",
"BLOCK_VALIDITY_WINDOW": "Temps d'incertesa dels blocs",
"DISABLE_HELPTIP": "Desactiva l'opció d'ajuda contextual",
"BLOCK_VALIDITY_WINDOW_SHORT": "Temps d'incertesa",
"BLOCK_VALIDITY_WINDOW_HELP": "Temps d'espera abans de considerar una informació com a validada",
"BLOCK_VALIDITY_OPTION": {
"NONE": "Sense espera",
"N": "{{time | formatDuration}} ({{count}} blocs)"
},
"POPUP_PEER": {
"TITLE": "Nodo Duniter",
"HOST": "Dirección",
"HOST_HELP": "Dirección: servidor:puerto",
"USE_SSL": "Conexión segura",
"USE_SSL_HELP": "Cifrado SSL",
"BTN_SHOW_LIST": "Lista de nodos"
}
},
"BLOCKCHAIN": {
"HASH": "Hash: {{hash}}",
"VIEW": {
"HEADER_TITLE": "Bloque #{{number}}-{{hash|formatHash}}",
"TITLE_CURRENT": "Bloque actual",
"TITLE": "Bloque #{{number|formatInteger}}",
"COMPUTED_BY": "Calculado por el nodo de",
"SHOW_RAW": "Ver el fichero en bruto",
"TECHNICAL_DIVIDER": "Informaciones técnicas",
"VERSION": "Versión del formato",
"HASH": "Hash calculado",
"UNIVERSAL_DIVIDEND_HELP": "Moneda co-producida por cada uno de los {{membersCount}} miembros",
"EMPTY": "Ningún dato en este bloque",
"POW_MIN": "Dificultad mínima",
"POW_MIN_HELP": "Dificultad impuesta por el cálculo del hash",
"DATA_DIVIDER": "Datos",
"IDENTITIES_COUNT": "Nuevas identidades",
"JOINERS_COUNT": "Nuevos miembros",
"ACTIVES_COUNT": "Renovaciones",
"ACTIVES_COUNT_HELP": "Miembros que han renovado sus adhesiones",
"LEAVERS_COUNT": "Miembros salientes",
"LEAVERS_COUNT_HELP": "Miembros salientes que ya no quieren estar certificados",
"EXCLUDED_COUNT": "Miembros excluidos",
"EXCLUDED_COUNT_HELP": "Antiguos miembros excluidos por no renovación o falta de certificaciones",
"REVOKED_COUNT": "Identidades revocadas",
"REVOKED_COUNT_HELP": "Estas cuentas no podrán ser miembros",
"TX_COUNT": "Transacciones",
"CERT_COUNT": "Certificaciones",
"TX_TO_HIMSELF": "Operación de cambio",
"TX_OUTPUT_UNLOCK_CONDITIONS": "Condiciones de desbloqueo",
"TX_OUTPUT_OPERATOR": {
"AND": "y",
"OR": "o"
},
"TX_OUTPUT_FUNCTION": {
"SIG": "<b>Firma</b> de ",
"XHX": "<b>Contraseña</b>, cuyo SHA256 =",
"CSV": "Bloqueado durante",
"CLTV": "Bloqueado hasta"
}
},
"LOOKUP": {
"TITLE": "Bloques",
"NO_BLOCK": "Ningún bloque",
"LAST_BLOCKS": "Últimos bloques:",
"BTN_COMPACT": "Compactar"
}
},
"CURRENCY": {
"VIEW": {
"TITLE": "Moneda",
"TAB_CURRENCY": "Moneda",
"TAB_WOT": "Red de confianza",
"TAB_NETWORK": "Red",
"TAB_BLOCKS": "Bloques",
"CURRENCY_SHORT_DESCRIPTION": "{{currency|abbreviate}} es una <b>moneda libre</b>, originada {{firstBlockTime|formatFromNow}}. Cuenta actualmente con <b>{{N}} miembros</b>, que producen y reciben un <a ng-click=\"showHelpModal('ud')\">Dividendo Universal</a> (DU) cada {{dt|formatPeriod}}.",
"NETWORK_RULES_DIVIDER": "Reglas de la red",
"CURRENCY_NAME": "Nombre de la moneda",
"MEMBERS": "Cantidad de miembros",
"MEMBERS_VARIATION": "Variación desde último DU",
"MONEY_DIVIDER": "Moneda",
"MASS": "Masa monetaria",
"SHARE": "Masa media por miembro",
"UD": "Dividendo Universal",
"C_ACTUAL": "Crecimiento actual",
"MEDIAN_TIME": "Hora de la cadena de bloques",
"POW_MIN": "Nivel mínimo de dificultad de cálculo",
"MONEY_RULES_DIVIDER": "Reglas de la moneda",
"C_RULE": "Crecimiento teórico objetivo",
"UD_RULE": "Cálculo del dividendo universal",
"DT_REEVAL": "Periodo de revalorización del DU",
"REEVAL_SYMBOL": "reval",
"DT_REEVAL_VALUE": "Todos los <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})",
"UD_REEVAL_TIME0": "Fecha de la primera revalorización",
"SIG_QTY_RULE": "Certificaciones requeridas para ser miembro",
"SIG_STOCK": "Máximo de certificaciones emitibles por miembros",
"SIG_PERIOD": "Espera mínima entre 2 certificaciones sucesivas emitidas por el mismo individuo",
"SIG_WINDOW": "Límite para tener en cuenta una certificación",
"SIG_VALIDITY": "Duración de una certificación tenida en cuenta",
"MS_WINDOW": "Límite para aprobar una solicitud de membresía",
"MS_VALIDITY": "Duración de una membresía aprobada",
"STEP_MAX": "Distancia máxima entre una nueva candidatura y cada miembro referente",
"WOT_RULES_DIVIDER": "Reglas de la red de confianza",
"SENTRIES": "Certificaciones necesarias para ser miembro referente",
"SENTRIES_FORMULA": "Fórmula de las certificaciones necesarias para ser miembro referente",
"XPERCENT":"Porcentaje mínimo necesario de miembros referentes respentando la regla de distancia máxima",
"AVG_GEN_TIME": "Tiempo medio entre dos bloques",
"CURRENT": "actual",
"MATH_CEILING": "TECHO",
"DISPLAY_ALL_RULES": "¿Ver todas las reglas?",
"BTN_SHOW_LICENSE": "Ver la licencia",
"WOT_DIVIDER": "Red de confianza"
},
"LICENSE": {
"TITLE": "Licencia de la moneda",
"BTN_DOWNLOAD": "Descargar el fichero",
"NO_LICENSE_FILE": "Fichero de licencia no encontrado."
}
},
"NETWORK": {
"VIEW": {
"MEDIAN_TIME": "Hora de la cadena de bloques",
"LOADING_PEERS": "Cargando nodos…",
"NODE_ADDRESS": "Dirección:",
"SOFTWARE": "Software:",
"WARN_PRE_RELEASE": "Prelanzamiento (última versión estable: <b>{{version}}</b>)",
"WARN_NEW_RELEASE": "Versión <b>{{version}}</b> disponible",
"WS2PID": "ID:",
"PRIVATE_ACCESS": "Acceso privado",
"POW_PREFIX": "Prefijo de la prueba de trabajo:",
"ENDPOINTS": {
"BMAS": "Interfaz segura (SSL)",
"BMATOR": "Interfaz red TOR",
"WS2P": "Interfaz WS2P",
"ES_USER_API": "Nodo de datos Cesium+"
}
},
"INFO": {
"CONNECTING_TO_NETWORK": "Connectant a la xarxa...",
"ANALYZING_NETWORK": "Anàlisi de la xarxa {{currency|abbreviate}}...",
"ONLY_SSL_PEERS": "La visualización de los nodos sin SSL está deteriorada porque Cesium funciona en modo HTTPS."
}
},
"PEER": {
"PEERS": "Nodos",
"SIGNED_ON_BLOCK": "Firmado sobre el bloque",
"MIRROR": "espejo",
"MIRRORS": "Espejo",
"MIRROR_PEERS": "Nodos espejo",
"PEER_LIST": "Lista de nodos",
"MEMBERS": "Miembro",
"MEMBER_PEERS": "Nodos miembro",
"ALL_PEERS": "Todos los nodos",
"DIFFICULTY": "Dificultad",
"API": "API",
"SANDBOXES": "Cua",
"PENDING_TX": "{{count}} transacció(ns) / {{size}} màx, {{free}} espai(s) restant(s)",
"PENDING_MEMBERSHIPS": "{{count}} adhesió(ns) pendents / {{size}} màx, {{free}} espai(s) restant(s)",
"CURRENT_BLOCK": "Bloque #",
"POPOVER_FILTER_TITLE": "Filtro",
"OFFLINE": "Fuera de línea",
"OFFLINE_PEERS": "Nodos fuera de línea",
"BTN_SHOW_PEER": "Ver nodo",
"VIEW": {
"TITLE": "Nodo",
"OWNER": "Propiedad de",
"SHOW_RAW_PEERING": "Ver la ficha del par",
"SHOW_RAW_CURRENT_BLOCK": "Ver el último bloque (formato bruto)",
"LAST_BLOCKS": "Bloques recientes",
"KNOWN_PEERS": "Nodos conocidos:",
"GENERAL_DIVIDER": "Información general",
"ERROR": {
"LOADING_TOR_NODE_ERROR": "No se pudo obtener la información del nodo usando la red TOR.",
"LOADING_NODE_ERROR": "No se pudo obtener la información del nodo"
}
}
},
"WOT": {
"SEARCH_HELP": "Buscar (seudónimo o llave pública)",
"SEARCH_INIT_PHASE_WARNING": "Durante la etapa de preinscripción, el tiempo de búsqueda de las candidaturas en espera <b>puede tardar</b>. Por favor espere…",
"REGISTERED_SINCE": "Se registró en",
"REGISTERED_SINCE_BLOCK": "Se registró en el bloque #",
"NO_CERTIFICATION": "Ninguna certificación validada",
"NO_GIVEN_CERTIFICATION": "Ninguna certificación emitida",
"NOT_MEMBER_PARENTHESIS": "(no miembro)",
"IDENTITY_REVOKED_PARENTHESIS": "(identidad revocada)",
"MEMBER_PENDING_REVOCATION_PARENTHESIS": "(revocación en proceso)",
"EXPIRE_IN": "Expira",
"NOT_WRITTEN_EXPIRE_IN": "Fecha límite<br/>de procesamiento",
"EXPIRED": "Expirado",
"PSEUDO": "Seudónimo",
"SIGNED_ON_BLOCK": "Emitida en el bloque #{{block}}",
"WRITTEN_ON_BLOCK": "Escrita en el bloque #{{block}}",
"GENERAL_DIVIDER": "Informaciones generales",
"NOT_MEMBER_ACCOUNT": "Cuenta no miembro",
"NOT_MEMBER_ACCOUNT_HELP": "Se trata de un monedero simple, sin solicitud de membresía en espera",
"TECHNICAL_DIVIDER": "Informaciones técnicas",
"BTN_CERTIFY": "Certificar",
"BTN_YES_CERTIFY": "Sí, certificar",
"BTN_SELECT_AND_CERTIFY": "Nueva certificación",
"ACCOUNT_OPERATIONS": "Transacciones de la cuenta",
"VIEW": {
"POPOVER_SHARE_TITLE": "Identidad {{title}}"
},
"LOOKUP": {
"TITLE": "Directorio",
"NEWCOMERS": "Nuevos miembros:",
"NEWCOMERS_COUNT": "{{count}} miembros",
"PENDING": "Inscripciones en espera:",
"PENDING_COUNT": "{{count}} inscripciones en espera",
"REGISTERED": "Se inscribió {{sigDate | formatFromNow}}",
"MEMBER_FROM": "Miembro desde {{memberDate|medianFromNowShort}}",
"BTN_NEWCOMERS": "Miembros recientes",
"BTN_PENDING": "Candidaturas en espera",
"SHOW_MORE": "Mostrar más",
"SHOW_MORE_COUNT": "(mostrar solo {{limit}})",
"NO_PENDING": "Ninguna candidatura en espera.",
"NO_NEWCOMERS": "Sin miembros."
},
"CONTACTS": {
"TITLE": "Contactos"
},
"MODAL": {
"TITLE": "Buscar"
},
"CERTIFICATIONS": {
"TITLE": "{{uid}} - Certificaciones",
"SUMMARY": "Certificaciones recibidas",
"LIST": "Detalle de las certificaciones recibidas",
"PENDING_LIST": "Certificaciones en espera de tratamiento",
"RECEIVED": "Certificaciones recibidas",
"RECEIVED_BY": "Certificaciones recibidas por {{uid}}",
"ERROR": "Certificaciones recibidas por error",
"SENTRY_MEMBER": "Miembro referente"
},
"OPERATIONS": {
"TITLE": "{{uid}} - Transacciones"
},
"GIVEN_CERTIFICATIONS": {
"TITLE": "{{uid}} - Certificaciones emitidas",
"SUMMARY": "Certificaciones emitidas",
"LIST": "Detalle de las certificaciones emitidas",
"PENDING_LIST": "Certificaciones en espera a ser procesadas",
"SENT": "Certificaciones emitidas",
"SENT_BY": "Certificaciones emitidas por {{uid}}",
"ERROR": "Certificaciones emitidas por error"
}
},
"LOGIN": {
"TITLE": "<i class=\"icon ion-locked\"></i> Conexión",
"SCRYPT_FORM_HELP": "Ingrese sus credenciales.<br>Recuerde comprobar que la llave pública pertenece a su cuenta.",
"PUBKEY_FORM_HELP": "Por favor ingrese una llave pública de cuenta:",
"FILE_FORM_HELP": "Elija el archivo de llaves a usar:",
"SCAN_FORM_HELP": "Escanee el código QR de un monedero.",
"SALT": "Frase secreta",
"SALT_HELP": "Frase secreta",
"SHOW_SALT": "Mostrar la frase secreta",
"PASSWORD": "Contraseña",
"PASSWORD_HELP": "Contraseña",
"PUBKEY_HELP": "llave pública",
"NO_ACCOUNT_QUESTION": "¿Aún no tiene cuenta? ",
"HAVE_ACCOUNT_QUESTION": "¿Ya tiene cuenta?",
"CREATE_ACCOUNT": "Crear una cuenta",
"CREATE_FREE_ACCOUNT": "Crear una cuenta gratis",
"FORGOTTEN_ID": "¿Olvidó su contraseña?",
"ASSOCIATED_PUBKEY": "Llave pública del archivo de llaves:",
"BTN_METHODS": "Otros métodos",
"BTN_METHODS_DOTS": "Otras vías…",
"METHOD_POPOVER_TITLE": "Métodos",
"MEMORIZE_AUTH_FILE": "Memorizar las llaves durante la sesión de navegación",
"SCRYPT_PARAMETERS": "Ajustes (Scrypt) :",
"AUTO_LOGOUT": {
"TITLE": "Información",
"MESSAGE": "<i class=\"ion-android-time\"></i> Se ha <b>desconectado</b> de forma automática, después de un periodo de inactividad prolongada.",
"BTN_RELOGIN": "Volver a conectarme",
"IDLE_WARNING": "Será desconectado en… {{countdown}}"
},
"METHOD": {
"SCRYPT_DEFAULT": "Estándar (por defecto)",
"SCRYPT_ADVANCED": "Aleatoriedad avanzada",
"FILE": "Archivo de llaves",
"PUBKEY": "Llave pública o seudónimo",
"SCAN": "Escanear un código QR"
},
"SCRYPT": {
"SIMPLE": "Ligero",
"DEFAULT": "Predeterminado",
"SECURE": "Seguro",
"HARDEST": "El más seguro",
"EXTREME": "Extremo",
"USER": "Personalizado",
"N": "N (Loop):",
"r": "r (RAM):",
"p": "p (CPU):"
},
"FILE": {
"HELP": "Formato de archivo esperado: <b>.yml</b> o <b>.dunikey</b> (tipo PubSec, WIF o EWIF)."
}
},
"API": {
"COMMON": {
"CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Verifique su conexión a Internet, o contacte con la administración del sitio.</a>.",
"LINK_DOC": "Documentación API",
"LINK_DOC_HELP": "Documentación para desarrolladores",
"LINK_STANDARD_APP": "Versión clásica",
"LINK_STANDARD_APP_HELP": "Abrir la versión clásica de {{'COMMON.APP_NAME'|translate}}"
},
"DOC": {
"AVAILABLE_PARAMETERS": "Lista de parámetros disponibles :",
"DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Cancelado por el usuario",
"DEMO_DIVIDER": "Probar",
"DEMO_HELP": "Para probar este servicio, haga clic en este botón. El resultado se mostrará debajo.",
"DEMO_RESULT": "Resultado retornado por la llamada :",
"DEMO_RESULT_PEER": "Dirección del nodo utilizado :",
"DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> ¡ Éxito !",
"DESCRIPTION_DIVIDER": "Descripción",
"INTEGRATE_CODE": "Código :",
"INTEGRATE_DIVIDER": "Integrar",
"INTEGRATE_PARAMETERS": "Parámetros",
"INTEGRATE_RESULT": "Previsualización del resultado :",
"PARAMETERS_DIVIDER": "Parámetros",
"TRANSFER": {
"DESCRIPTION": "Desde una web (ej: tienda online) puede delegar el pago en moneda libre con la API de Cesium. Para eso, simplemente ponga un link a la siguiente dirección :",
"EXAMPLE_BUTTON": "Botón HTML",
"EXAMPLE_BUTTON_BG_COLOR": "Color de fondo",
"EXAMPLE_BUTTON_BG_COLOR_HELP": "Ejemplo : #fbc14c, black, lightgrey, rgb(180,180,180)",
"EXAMPLE_BUTTON_DEFAULT_STYLE": "Estilo personalizado",
"EXAMPLE_BUTTON_DEFAULT_TEXT": "Pagar en {{currency|currencySymbol}}",
"EXAMPLE_BUTTON_FONT_COLOR": "Color del texto",
"EXAMPLE_BUTTON_FONT_COLOR_HELP": "Ejemplo : black, orange, rgb(180,180,180)",
"EXAMPLE_BUTTON_ICON_CESIUM": "Logo Cesium",
"EXAMPLE_BUTTON_ICON_DUNITER": "Logo Duniter",
"EXAMPLE_BUTTON_ICON_G1_BLACK": "Logo Ğ1 (negro)",
"EXAMPLE_BUTTON_ICON_G1_COLOR": "Logo Ğ1",
"EXAMPLE_BUTTON_ICON_NONE": "Ninguno",
"EXAMPLE_BUTTON_TEXT_HELP": "Texto del botón",
"EXAMPLE_BUTTON_TEXT_ICON": "Icono",
"EXAMPLE_BUTTON_TEXT_WIDTH": "Anchura",
"EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "Ejemplo : 200px, 50%",
"EXAMPLES_HELP": "Ejemplos de integración :",
"PARAM_AMOUNT": "Cuantía",
"PARAM_AMOUNT_HELP": "Cuantía de la transición (obligatorio). Valores múltiples permitidos utilizando un separador (punto y coma, barra vertical o espacio).",
"PARAM_CANCEL_URL": "Dirección web de cancelación",
"PARAM_CANCEL_URL_HELP": "Dirección web (URL) en caso de anulación del pago por parte del usuario. Puede contener las siguientes palabras que serán remplazadas por sus valores dinámicamente en cada caso: \"{comment}\", \"{amount}\" y \"{pubkey}\".",
"PARAM_COMMENT": "Concepto (o comentario)",
"PARAM_COMMENT_HELP": "Concepto o comentario. Le permitirá por ejemplo identificar el pago en la cadena de bloques (blockchain).",
"PARAM_NAME": "Nombre (del destinatario o de su sitio web)",
"PARAM_NAME_HELP": "El nombre del destinatario, o de su sitio web. Puede ser un nombre leíble (\"Mi tienda en línea\"), o un dominio (\"Mitienda.com\").",
"PARAM_PREFERRED_NODE": "Dirección del nodo preferido",
"PARAM_PREFERRED_NODE_HELP": "Dirección (URL) del nodo Duniter a utilizar preferentemente (\"g1.domaine.com:443\" o \"https://g1.domaine.com\").",
"PARAM_PUBKEY": "Llave pública del destinatario",
"PARAM_PUBKEY_HELP": "La llave pública del destinatario (obligatoria)",
"PARAM_REDIRECT_URL": "Dirección web de redirección",
"PARAM_REDIRECT_URL_HELP": "Dirección web (URL) de redirección, llamada cuanda el pago ha sido enviado. Puede contener las palabras siguientes, que serán remplazadas por los valores de la transacción dinámicanente : \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\", \"{pubkey}\" y \"{node}\".",
"TITLE": "Pagos"
},
"URL_DIVIDER": "Dirección de llamada"
},
"HOME": {
"DOC_HEADER": "Servicios disponibles :",
"MESSAGE": "Bienvenido/a a la <b>documentación de la API</b> {{'COMMON.APP_NAME'|translate}}.<br/>Conecte sus sitios webs a la cadena de bloques <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !",
"MESSAGE_SHORT": "Conecte sus sitios a <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> muy fácilmente !",
"TITLE": "Documentación API {{'COMMON.APP_NAME'|translate}}"
},
"TRANSFER": {
"AMOUNT": "Cuantía :",
"AMOUNTS_HELP": "Elija la cuantía :",
"COMMENT": "Concepto/Comentario de la operación :",
"DEMO": {
"BAD_CREDENTIALS": "Verifique sus credenciales.<br/>En modo demostración, las credenciales son : {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}",
"HELP": "<b>Modo demostración</b> : Ningún pago será enviado realmente durante esta simulación.<br/>Utilice las credenciales : <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>",
"PASSWORD": "demo",
"PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1",
"SALT": "demo"
},
"ERROR": {
"TRANSFER_FAILED": "Error en el pago"
},
"INFO": {
"CANCEL_REDIRECTING": "Pago cancelado.<br/>Redirigiendo al sitio del vendedor...",
"CANCEL_REDIRECTING_WITH_NAME": "Pago cancelado.<br/>Redirigiendo a <b>{{name}}</b>...",
"SUCCESS_REDIRECTING": "Pago enviado.<br/>Redirigiendo al sitio del vendedor...",
"SUCCESS_REDIRECTING_WITH_NAME": "Pago enviado.<br/>Redirigiendo a <b>{{name}}</b>..."
},
"NAME": "Nombre :",
"NODE": "Dirección del nodo :",
"PUBKEY": "Llave pública del destinatario :",
"SUMMARY": "Resumen del pago :",
"TITLE": "{{'COMMON.APP_NAME'|translate}} - Pago en línea",
"TITLE_SHORT": "Pago en línea"
}
},
"AUTH": {
"TITLE": "<i class=\"icon ion-locked\"></i> Autenticación",
"BTN_AUTH": "Autenticar",
"GENERAL_HELP": "Por favor, autentíquese:",
"EXPECTED_UID_HELP": "Por favor inicie sesión en la cuenta de <i class=\"ion-person\"></i> {{uid}}:",
"EXPECTED_PUBKEY_HELP": "Por favor, autentíquese en el monedero <br class=\"visible-xs\"/><i class=\"ion-key\"></i> {{pubkey|formatPubkey}} :",
"SCAN_FORM_HELP": "Escanee el código QR de la <b>llave privada</b> del monedero."
},
"ACCOUNT": {
"TITLE": "Mi cuenta",
"BALANCE": "Saldo",
"LAST_TX": "Últimas transacciones validadas",
"BALANCE_ACCOUNT": "Saldo de la cuenta",
"NO_TX": "Ninguna transacción",
"SHOW_MORE_TX": "Mostrar más",
"SHOW_ALL_TX": "Mostrar todo",
"TX_FROM_DATE": "(mostrar solo {{fromTime|medianFromNowShort}})",
"OUT_DISTANCED": "Sus certificaciones recibidas provienen de un grupo demasiado aislado de la <a ng-click=\"showHelpModal('wot')\">Red de Confianza</a> (RdC) : la <a ng-click=\"showHelpModal('distance_rule')\">regla de distancia máxima</a> no se cumple.<br/>Deberá obtener certificaciones provinientes de otros sectores de la RdC, o esperar a que ésta estreche sus vínculos.",
"PENDING_TX": "Transacciones pendientes",
"VALIDATING_TX": "Transacciones validadas",
"ERROR_TX": "Transacciones no ejecutadas",
"ERROR_TX_SENT": "Transacciones ejecutadas fallidas",
"PENDING_TX_RECEIVED": "Transacciones en espera de recepción",
"EVENTS": "Eventos",
"WAITING_MEMBERSHIP": "Solicitud de membresía emitida. En espera de aceptación.",
"WAITING_CERTIFICATIONS": "Debe obtener {{needCertificationCount}} certificación(es) para ser miembro.",
"WAITING_CERTIFICATIONS_HELP": "Para obtener sus certificaciones, solicitelas únicamente a miembros <b>que le conozcan bien (y físicamente)</b>, como exige <a ng-click=\"showLicenseModal()\">la licencia de la moneda</a> que usted ha aceptado.<br/>Si no conoce lo suficiente a miembros, hágalo saber en <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">el foro</a> para conocerse físicamente o asistir a algún encuentro.",
"WILL_MISSING_CERTIFICATIONS": "Pronto le van a <b>faltar certificaciones</b> (al menos {{willNeedCertificationCount}} son necesarias)",
"WILL_NEED_RENEW_MEMBERSHIP": "Su adhesión como miembro <b>va a expirar {{membershipExpiresIn|formatDurationTo}}</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a> mientras tanto.",
"NEED_RENEW_MEMBERSHIP": "Ya no es miembro porque su adhesión <b>ha expirado</b>. Piense en <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.",
"NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Ya no es miembro de la moneda, <b>por falta de certificaciones</b>. Considere <a ng-click=\"doQuickFix('renew')\">renovar su adhesión</a>.",
"NO_WAITING_MEMBERSHIP": "No hay adhesión miembro en espera. Si desea <b>convertirse en miembro</b>, por favor <a ng-click=\"doQuickFix('membership')\">envíe su adhesión como miembro</a>.",
"CERTIFICATION_COUNT": "Certificaciones recibidas",
"CERTIFICATION_COUNT_SHORT": "Certificaciones",
"SIG_STOCK": "Certificaciones emitidas",
"BTN_RECEIVE_MONEY": "Recibir",
"BTN_SELECT_ALTERNATIVES_IDENTITIES": "Cambiar a otra identidad…",
"BTN_FIX_MEMBERSHIP": "Volver a enviar la candidatura…",
"BTN_MEMBERSHIP_RENEW": "Renovar la membresía",
"BTN_MEMBERSHIP_RENEW_DOTS": "Renovar la membresía…",
"BTN_MEMBERSHIP_OUT_DOTS": "Cancelar la membresía…",
"BTN_SECURITY_DOTS": "Cuenta y seguridad…",
"BTN_SHOW_DETAILS": "Publicar la información técnica",
"LOCKED_OUTPUTS_POPOVER": {
"TITLE": "Importe bloqueado",
"DESCRIPTION": "Aquí están las condiciones para desbloquear este importe:",
"DESCRIPTION_MANY": "Esta transacción esta compuesta de varias partes, cuyas condiciones de desbloqueo son:",
"LOCKED_AMOUNT": "Condiciones del importe:"
},
"NEW": {
"TITLE": "Registrarse",
"INTRO_WARNING_TIME": "Crear una cuenta en {{name|capitalize}} es muy simple. Sin embargo, por favor tome el tiempo suficiente para hacerlo correctamente (generar y memorizar bien las credenciales, etc.)",
"INTRO_WARNING_SECURITY": "Asegúrese de que el dispositivo actual (ordenador, tablet, teléfono) <b>es seguro y de confianza</b>.",
"INTRO_WARNING_SECURITY_HELP": "Antivirus, cortafuegos, sesión protegida por contraseña o número PIN, etc.",
"INTRO_HELP": "Haga clic en <b>{{'COMMON.BTN_START'|translate}}</b> para iniciar la creación de la cuenta. Se le guiará paso a paso.",
"REGISTRATION_NODE": "Su registro será grabado a través del nodo Duniter <b>{{server}}</b>, que luego se transmitirá al resto del sistema de la moneda.",
"REGISTRATION_NODE_HELP": "Si no confía en este nodo, <a ng-click=\"doQuickFix('settings')\">cambie los ajustes</a> de Cesium.",
"SELECT_ACCOUNT_TYPE": "Elegir el tipo de cuenta a crear:",
"MEMBER_ACCOUNT": "Cuenta miembro",
"MEMBER_ACCOUNT_TITLE": "Crear una cuenta miembro",
"MEMBER_ACCOUNT_HELP": "Si todavía no es miembro (solamente una cuenta miembro posible por ser humano).",
"WALLET_ACCOUNT": "Simple monedero",
"WALLET_ACCOUNT_TITLE": "Crear una cuenta simple",
"WALLET_ACCOUNT_HELP": "Monedero simple para todos los demás casos, por ejemplo si necesita una cuenta suplementaria para un proyecto, colectivo, para hacer pruebas, etc.<br/>El Dividendo Universal no será producido para esta cuenta.",
"SALT_WARNING": "Elija su frase secreta.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta frase secreta</b>.<br/>¡En caso de pérdida, nadie podrá acceder a su cuenta!",
"PASSWORD_WARNING": "Elija su contraseña.<br/>Se solicitará cada vez que se conectará con esta cuenta.<br/><br/><b>Conserve bien esta contraseña</b>.<br/>¡En caso de pérdida, nadie podrá acceder su cuenta!",
"PSEUDO_WARNING": "Elija un seudónimo.<br/>Sirve para que los otros miembros puedan encontrarlo más fácilmente.<br/><br/>No debe contener <b>ni espacios ni caracteres acentuados</b>.<div class='hidden-xs'><br/>Ejemplo: <span class='gray'>SophieDupond, MarcelChemin, etc.</span>",
"PSEUDO": "Seudónimo",
"PSEUDO_HELP": "Seudónimo",
"SALT_CONFIRM": "Confirmación",
"SALT_CONFIRM_HELP": "Confirmación de la frase secreta",
"PASSWORD_CONFIRM": "Confirmación",
"PASSWORD_CONFIRM_HELP": "Confirmación de la contraseña",
"SLIDE_6_TITLE": "Confirmación:",
"COMPUTING_PUBKEY": "Cálculo en proceso…",
"LAST_SLIDE_CONGRATULATION": "<b>¡Bien!</b> Ha introducido todas los datos necesarios.<br/><b>Puede solicitar</b> la creación de su cuenta.</b><br/><br/>Para su información, la llave pública que se muestra más abajo identificará su futura cuenta.<br/>Esta podrá ser comunicada a terceros para recibir pagos.",
"CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta, la contraseña y el seudónimo no podrán ser modificados.<br/><b>¡Asegúrese siempre de recordarlos!</b><br/><br/><b>¿Desea</b> solicitar la inscripción?",
"CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Advertencia:</b> la frase secreta y la contraseña no podrán ser modificados.<br/><b>¡Asegúrese de recordarlos siempre!</b><br/><br/><b>¿Desea</b> continuar?",
"CHECKING_PSEUDO": "Verificando…",
"PSEUDO_AVAILABLE": "Este nombre está disponible",
"PSEUDO_NOT_AVAILABLE": "Este nombre de usuario no está disponible",
"INFO_LICENSE": "Para unirse a la moneda, le pedimos leer y aceptar esta licencia.",
"BTN_ACCEPT": "Acepto",
"BTN_ACCEPT_LICENSE": "Acepto la licencia"
},
"POPUP_REGISTER": {
"TITLE": "Elija un seudónimo",
"HELP": "Un seudónimo es obligatorio para ser miembro."
},
"SELECT_IDENTITY_MODAL": {
"TITLE": "Selección de identidad",
"HELP": "Se han enviado varias <b>identidades diferentes</b> para la llave pública <span class=\"gray\"><i class=\"ion-key\"></i>{{pubkey | formatPubkey}}</span>.<br/>Por favor, selecciona la carpeta para usar:"
},
"SELECT_WALLET_MODAL": {
"TITLE": "Selección de monedero"
},
"CERTIFICATION_MODAL": {
"CHECKLIST_TITLE": "Llista de verificacions abans de la certificació",
"INFOS": "La seguretat de la moneda Ğ1 recau sobre cada membre. Abans de certificar la identitat d'aquesta persona, cal que realitzis algunes verificacions. Si us plau, respon a les següents preguntes:",
"BTN_ALL_CHECK": "Certificar",
"CHECKLIST_CONDITIONS_NOT_MET": "La certificació no s'ha enviat. Les verificacions semblen insuficients. Si us plau, verifica de nou cada punt amb la persona a certificar.",
"QUESTIONS": {
"WELL_KNOWN": "<b>Coneixes bé</b> la persona que vols certificar, i coneixes altres persones que també la coneixen bé?",
"REVOCATION": "Ha descarregat el seu <b>document de revocació</b> i sap on trobar-lo?",
"CONTACT": "Has <b>contactat</b> amb aquesta persona per diversos mitjans i t'ha respost?",
"DOUBLE_IDENTITY": "La persona ha de tenir <b>una sola identitat de membre activa</b>. En té alguna <b>altra</b>?",
"MASTER_ACCOUNT": "Domina el seu compte i ja ha <b>enviat diners des del seu compte</b> com a mínim una vegada?",
"LICENSE": "Ha <b>entès la llicència</b> i accepta complir-la per a la certificació d'altres membres?",
"CREDENTIALS": "L'identificador i la contrasenya del seu compte són <b>suficientment llargs i complexos</b>? Ha entès que tant la contrasenya com la frase secreta han de romandre secret? Està segur que en recordarà o que podrà trobar-los?",
"PUBLIC_KEY_DIFFERENT": "La <b>clau pública</b> indicada ha de ser <b>idèntica</b> a la que aquesta persona t'ha donat. Les claus són <b>diferents</b>?"
},
"REMINDER_TITLE": "Recordatori",
"SHORT_LICENSE_REMINDER": "Pots recordar a la persona certificada els paràmetres de les certificacions:<br/><br/><ul><li> - Cada membre pot emetre com a màxim 100 certificacions vàlides.</li><li> - Les certificacions es registren amb un interval de 5 dies.</li><li> - Una nova identitat de membre ha de reunir com a mínim 5 certificacions en menys de dos mesos.</li><li> - Un membre ha de renovar la seva afiliació cada any.</li><li> - Les certificacions són vàlides durant dos anys.</li></ul>"
},
"WALLET_LIST": {
"IMPORT_MODAL": {
"HELP": "Para <b>importar monederos</b>, haga clic para seleccionar o arrastre en la zona de abajo el archivo con la lista de monederos.",
"NO_NEW_WALLET": "Ningún monedero nuevo",
"TITLE": "Importar monederos",
"WALLET_COUNT": "<b>{{count}}</b> nuevo{{count > 1 ? 's' : ''}} monedero{{count > 1 ? 's' : ''}}"
},
"TITLE": "Mis monederos",
"BTN_NEW": "Añadir un monedero",
"BTN_DOWNLOAD": "Descargue el listado",
"BTN_IMPORT_FILE_DOTS": "Importar desde fichero…",
"NO_WALLET": "Sin monedero secundario",
"BTN_DELETE": "Eliminar un monedero secundario…",
"BTN_RENAME": "Renombrar el monedero",
"EXPORT_FILENAME": "{{currency}}-monederos-{{pubkey}}.csv",
"TOTAL_DOTS": "Total : ",
"EDIT_POPOVER": {
"TITLE": "Renombrar el monedero",
"HELP": "Escribe el nuevo nombre",
"NAME_HELP": "Nombre del monedero"
}
},
"SECURITY": {
"KEYFILE": {
"ERROR": {
"BAD_CHECKSUM": "Suma de control (checksum) incorrecta",
"BAD_PASSWORD": "Frase secreta incorrecta"
},
"EWIF_FORMAT": "Formato EWIF (Encrypted Wallet Import Format) - v1",
"EWIF_FORMAT_HELP": "Este formato almacena su archivo de llaves <b>de forma cifrada</b> a partir de una frase secreta de su elección. También guarda una suma de control (checksum) para verificar la integridad del archivo.<br/><b>Atención :</b>¡ Asegúrese siempre de recordar su frase secreta !",
"PASSWORD_POPUP": {
"HELP": "Indique la frase secreta :",
"PASSWORD_HELP": "Frase secreta",
"TITLE": "Archivo de llaves cifrado"
},
"PUBSEC_FORMAT": "Formato PubSec",
"PUBSEC_FORMAT_HELP": "Este formato almacena su archivo de llaves de forma simple. Es compatible con Cesium, ğannonce y Duniter.<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !",
"WIF_FORMAT": "Formato WIF (Wallet Import Format) - v1",
"WIF_FORMAT_HELP": "Este formato almacena su archivo de llaves con una suma de control (checksum) para verificar la integridad del archivo. Es compatible con los monederos en papel (Duniter paper wallet).<br/><b>Atención :</b>El archivo <b>no está cifrado</b> (la llave privada aparece en claro) ; ¡ guárdelo en un lugar seguro !"
},
"ADD_QUESTION": "Añadir pregunta personalizada",
"BTN_CLEAN": "Limpiar",
"BTN_RESET": "Reiniciar",
"DOWNLOAD_REVOKE": "Guardar un archivo de revocación",
"DOWNLOAD_REVOKE_HELP" : "Tener un archivo de revocación es importante, en caso de perdida de las credenciales. Le permitirá <b>invalidar y sacar su cuenta miembro fuera de la Red de Confianza</b>, convirtíendose en un monedero simple.",
"RECOVER_ID_SELECT_FILE": "Elija el <b>archivo para salvaguardar sus credenciales</b> a utilizar :",
"GENERATE_KEYFILE": "Generar mi archivo de llaves…",
"GENERATE_KEYFILE_HELP": "Genera un archivo que le permitirá atenticarse sin tener que introducir las credenciales.<br/><b>Cuidado:</b> este archivo contendrá su llave secreta; ¡Es muy importante conservarlo en un lugar seguro!",
"KEYFILE_FILENAME": "{{currency}}-llavero-{{pubkey}}-{{format}}.dunikey",
"MEMBERSHIP_IN": "Registrarse como miembro…",
"MEMBERSHIP_IN_HELP": "Le permite <b>transformar</b> una cuenta de monedero simple <b>en una cuenta miembro</b>, enviando una petición de membresía. Solo si todavía no tiene una cuenta miembro.",
"SEND_IDENTITY": "Publicar identidad…",
"SEND_IDENTITY_HELP": "Le permite asociar un seudónimo a esta cuenta, pero <b>sin pedir ser miembro</b>. La validez de este seudónimo tiene un plazo limitado.",
"HELP_LEVEL": "Elija <strong> al menos {{nb}} preguntas:</strong>",
"LEVEL": "Nivel de seguridad",
"LOW_LEVEL": "Bajo <span class=\"hidden-xs\">(2 preguntas min.)</span>",
"MEDIUM_LEVEL": "Medio <span class=\"hidden-xs\">(4 preguntas min.)</span>",
"QUESTION_1": "¿Cómo se llamaba su mejor amigo de la adolescencia?",
"QUESTION_2": "¿Cómo se llamaba su primer animal de compañía?",
"QUESTION_3": "¿Cuál es el primer plato que aprendió a cocinar?",
"QUESTION_4": "¿Cuál es la primera película que vió en un cine?",
"QUESTION_5": "¿Cuál era el destino del primer avión que cogió?",
"QUESTION_6": "¿Cómo se llamaba su docente favorito en la escuela primaria?",
"QUESTION_7": "¿Cuál sería para usted el mejor oficio?",
"QUESTION_8": "¿Cuál es su libro infantil preferido?",
"QUESTION_9": "¿Cuál fue el modelo de su primer vehículo?",
"QUESTION_10": "¿Cuál fue su sobrenombre durante su infancia?",
"QUESTION_11": "¿Cuál fue su personaje o actor/actriz preferido/a cuando era estudiante?",
"QUESTION_12": "¿Cuál fue su cantante o grupo preferido cuando era estudiante?",
"QUESTION_13": "¿En qué ciudad sus padres se encontraron?",
"QUESTION_14": "¿Cómo se llamaba su primer jefe/a?",
"QUESTION_15": "¿Cómo se llama la calle donde creció?",
"QUESTION_16": "¿Cómo se llama la primera playa donde se bañó?",
"QUESTION_17": "¿Cuál es el primer álbum que compró?",
"QUESTION_18": "¿Cuál es el nombre de su equipo deportivo preferido?",
"QUESTION_19": "¿Cuál fue el oficio de su abuelo?",
"RECOVER_ID": "Recuperar sus credenciales",
"REVOCATION_WITH_FILE": "Revocar una identidad a partir de un fichero",
"REVOCATION_WITH_FILE_DESCRIPTION": "Si ha perdido de forma permanente las credenciales de su cuenta miembro (o la seguridad de la cuenta se ve comprometida), puede usar <b>el archivo de revocación de la cuenta</b> para forzar la salida de la Red de Confianza.",
"REVOCATION_WITH_FILE_HELP": "Para <b>revocar permanentemente</b> una cuenta miembro, arrastre el archivo de revocación en el cuadro siguiente o haga clic en el cuadro para seleccionar un archivo.",
"REVOCATION_FILENAME": "{{currency}}-revocacion-{{uid}}-{{pubkey}}.txt",
"REVOCATION_WALLET": "Revocar esta identidad",
"SAVE_ID": "Guardar mis credenciales",
"STRONG_LEVEL": "Alto <span class=\"hidden-xs \">(6 preguntas min.)</span>",
"TITLE": "Cuenta y seguridad",
"RECOVER_ID_HELP": "Si dispone de un <b>archivo de recuperación de sus credenciales</b>, las puede reobtener respondiendo correctamente a las preguntas personales elegidas en su momento.",
"REVOCATION_WALLET_HELP": "Pedir la revocación de vuestra identidad comporta la <b>salida de la red de confianza</b> (definitiva para el seudónimo y la llave pública asociada). La cuenta no producirá ya más el Dividendo Universal.<br/>Podrá seguir usándola como monedero simple.",
"SAVE_ID_HELP": "Creación de un archivo de recuperación, para <b>reobtener su contraseña</b> (y frase secreta) en caso de olvido. El archivo se <b>cifra</b> con ayuda de las preguntas personales elegidas.",
"SAVE_ID_FILENAME": "{{currency}}-credencials-{{pubkey}}.txt"
},
"FILE_NAME": "{{currency}}-HistorialDeCuenta-{{pubkey}}-{{currentTime|formatDateForFile}}.csv",
"HEADERS": {
"TIME": "Fecha",
"AMOUNT": "Cantidad",
"COMMENT": "Comentario"
}
},
"TRANSFER": {
"TITLE": "Transferencia",
"SUB_TITLE": "Hacer una transferencia",
"FROM": "De",
"TO": "A",
"AMOUNT": "Importe",
"AMOUNT_HELP": "Importe",
"COMMENT": "Comentario",
"COMMENT_HELP": "Comentario",
"BTN_SEND": "Enviar",
"BTN_ADD_COMMENT": "Añadir un comentario",
"REST": "Resto de cuenta",
"REST_TO": "a",
"WARN_COMMENT_IS_PUBLIC": "Tenga en cuenta que los <b>comentarios son públicos</b> (sin encriptar).",
"MODAL": {
"TITLE": "Transferencia"
}
},
"ERROR": {
"ADD_SECONDARY_WALLET_FAILED": "Error añadiendo el monedero secundario.",
"COULD_NOT_ADD_EXISTING_WALLET": "Monedero ya existe en la lista.",
"COULD_NOT_ADD_MAIN_WALLET": "Este monedero <b>corresponde a la cuenta principal</b> con la que se conecta.<br/>Imposible añadirlo como monedero secundario.",
"ISSUE_524_TX_FAILED": "Error en la transferencia.<br/><br/>Un mensaje ha sido enviado a los/as desarrolladores/as para facilitar la resolución del problema. <b>Gracias por su ayuda</b>.",
"LOAD_WALLET_LIST_FAILED": "Error cargando los monederos secundarios.",
"ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Usted debe <b>ser miembro (o haber sido miembro)</b> para poder efectuar esta acción.",
"RESTORE_WALLET_LIST_FAILED": "Error en la restauración de los monederos secundarios.",
"SAVE_WALLET_LIST_FAILED": "Error al guardar los monederos secundarios.",
"UNKNOWN_WALLET_ID": "Monedero secundario desconocido.",
"UPDATE_WALLET_LIST_FAILED": "Error en la actualización de los monederos secundarios.",
"UNKNOWN_URI_FORMAT": "Formato URI desconocido",
"PUBKEY_INVALID_CHECKSUM": "Llave pública no válida (suma de comprobación incorrecta).",
"POPUP_TITLE": "Error",
"UNKNOWN_ERROR": "Error desconocido",
"TIMEOUT_REACHED": "S'ha superat el temps d'espera del node ({{timeout|formatDurationMs}}).<br/><br/><small>{{url}}</small>",
"TOO_MANY_REQUESTS": "Heu enviat massa sol·licituds en un curt període de temps. Espereu una estona abans de tornar-ho a provar.<br/><br/><small>{{url}}</small>",
"CRYPTO_UNKNOWN_ERROR": "Su navegador parece incompatible con las funcionalidades de cryptografía.",
"DOWNLOAD_KEYFILE_FAILED": "Error al generar el archivo de llaves.",
"EQUALS_TO_PSEUDO": "Debe ser diferente del seudónimo.",
"EQUALS_TO_SALT": "Debe ser diferente de la frase secreta.",
"FIELD_REQUIRED": "Campo obligatorio.",
"FIELD_TOO_SHORT": "Valor demasiado corta.",
"FIELD_TOO_SHORT_WITH_LENGTH": "Valor demasiado corta ({{minLength}} carácteres mín)",
"FIELD_TOO_LONG": "Valor demasiado largo",
"FIELD_TOO_LONG_WITH_LENGTH": "Valor demasiado largo, ({{maxLength}} carácteres máx)",
"FIELD_MIN": "Valor mínimo: {{min}}",
"FIELD_MAX": "Valor máximo: {{max}}",
"FIELD_ACCENT": "Caracteres acentuados y comas no autorizados",
"FIELD_NOT_NUMBER": "Valor numérico esperado",
"FIELD_NOT_INT": "Valor entero esperado",
"FIELD_NOT_EMAIL": "Correo electrónico no válido",
"PASSWORD_NOT_CONFIRMED": "No coincide con la contraseña anterior.",
"SALT_NOT_CONFIRMED": "No corresponde a la frase secreta anterior.",
"SEND_IDENTITY_FAILED": "Error de la inscripción.",
"SEND_CERTIFICATION_FAILED": "Error de la certificación.",
"NEED_MEMBER_ACCOUNT_TO_CERTIFY": "No se puede certificar, porque su cuenta no <b>es miembro</b>.",
"NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "No se puede certificar, porque su cuenta todavía no es miembro.<br/><br/>Todavía faltan certificaciones para serlo.",
"IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Esta cuenta no se pudo certificar. No se ha solicitado la membresía, o se necesita renovarla.",
"LOGIN_FAILED": "Error durante la autentificación.",
"LOAD_IDENTITY_FAILED": "Error de carga de la identidad.",
"LOAD_REQUIREMENTS_FAILED": "Error de carga de las condiciones de la identidad.",
"SEND_MEMBERSHIP_IN_FAILED": "Error en el intento de entrada en la comunidad.",
"SEND_MEMBERSHIP_OUT_FAILED": "Error en la interrupción de adhesión.",
"REFRESH_WALLET_DATA": "Error en la actualización del monedero.",
"GET_CURRENCY_PARAMETER": "Error en la recuperación de las reglas de moneda.",
"GET_CURRENCY_FAILED": "Carga de la moneda imposible. Por favor, intente más tarde.",
"SEND_TX_FAILED": "Error en la transferencia.",
"ALL_SOURCES_USED": "Por favor, espera el cálculo del bloque siguiente (Todas sus fuentes de moneda fueron utilizada).",
"NOT_ENOUGH_SOURCES": "No lo bastante cambio para mandar este importe en una sola transacción.<br/>Importe máximo: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.",
"ACCOUNT_CREATION_FAILED": "Error en la creación de la cuenta miembro.",
"RESTORE_WALLET_DATA_ERROR": "Error en la recarga de los ajustes desde el almacenamiento local",
"LOAD_WALLET_DATA_ERROR": "Error en la carga de los datos del monedero.",
"COPY_CLIPBOARD_FAILED": "Copia de la valor imposible.",
"TAKE_PICTURE_FAILED": "Error en la recuperación de la foto.",
"SCAN_FAILED": "Error en el escán del Codigo QR",
"SCAN_UNKNOWN_FORMAT": "Codigo no reconocido.",
"WOT_LOOKUP_FAILED": "Error en la búsqueda",
"LOAD_PEER_DATA_FAILED": "Lectura del nodo Duniter imposible. Por favor, intente más tarde.",
"NEED_LOGIN_FIRST": "Por favor, conéctese en primer lugar.",
"AMOUNT_REQUIRED": "El importe es obligatorio.",
"AMOUNT_NEGATIVE": "Importe negativo no autorizado.",
"NOT_ENOUGH_CREDIT": "Crédito insuficiente.",
"INVALID_NODE_SUMMARY": "Nodo ilocalizable o dirección inválida.",
"INVALID_USER_ID": "El seudónimo no debe contener ni espacios ni caracteres especiales o acentuado.",
"INVALID_COMMENT": "El campo 'referencia’ no debe contener carácteres acentuados.",
"INVALID_PUBKEY": "La llave pública no tiene el formato esperado.",
"INVALID_PUBKEY_CHECKSUM": "Suma de comprobación inválida.",
"IDENTITY_REVOKED": "Esta identidad <b>fue revocada</b>. No puede volver a convertirla en miembro.",
"IDENTITY_REVOKED_WITH_TIME": "Esta identidad <b>fue revocada {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). No puede volver a convertirla en miembro.",
"IDENTITY_PENDING_REVOCATION": "La <b>revocación de esta identidad</b> fue solicitado y esta en espera de tratamiento. Por lo que, la certificación es desactivada.",
"IDENTITY_INVALID_BLOCK_HASH": "Esta solicitud de adhesión no es valida (porque denomina un bloque los nodos de la red han anulado): este individuo/a debe renovelar su solicitud de adhesión <b>antes que</b> estar certificada.",
"IDENTITY_EXPIRED": "La publicación de esta identidad ha caducada: este individuo/a debe realizar una nueva solicitud de adhesión <b>antes que</b> estar certificada.",
"IDENTITY_SANDBOX_FULL": "EL node Duniter utilitzat per Cesium ja no pot rebre noves identidades perquè la cua està plena.<br/><br/>Torneu-ho a provar o canvieu els nodes (a través del menú <b>Configuració</b>).",
"IDENTITY_NOT_FOUND": "Identidad no encontrada",
"IDENTITY_TX_FAILED": "Error cargando las transacciones de la identidad",
"WOT_PENDING_INVALID_BLOCK_HASH": "Adhesión no validada.",
"WALLET_INVALID_BLOCK_HASH": "Su solicitud de adhesión ya no está validada (porque denomina un bloque los nodos de la red han anulado).<br/>Debe <a ng-click=\"doQuickFix('fixMembership')\">mandar una nueva solicitud</a> para resolver este problema.",
"WALLET_IDENTITY_EXPIRED": "La publicación de <b>su identidad ha caducada</b>.<br/>Debe <a ng-click=\"doQuickFix('fixIdentity')\">publicar une outra vez su identidad</a> para resolver este problema.",
"WALLET_REVOKED": "Su identidad fue <b>revocada</b>: ni su seudónimo ni su llave pública podrán estar utilizados en el futuro por una cuenta miembro.",
"WALLET_HAS_NO_SELF": "Su identidad debe en primer lugar haber estado publicado, y no estar caducada.",
"AUTH_REQUIRED": "Autenticación requerida.",
"AUTH_INVALID_PUBKEY": "La llave pública no se corresponde con la cuenta conectada",
"AUTH_INVALID_SCRYPT": "De usuario o contraseña no válidos.",
"AUTH_INVALID_FILE": "archivo de llave no válido.",
"AUTH_FILE_ERROR": "No se pudo abrir el archivo de llave",
"IDENTITY_ALREADY_CERTIFY": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación todavía es valida (expiration {{expiresIn|formatDurationTo}}).",
"IDENTITY_ALREADY_CERTIFY_PENDING": "Ha <b>ya certificado</b> esta identidad.<br/><br/>Esta certificación está en espera de tratamiento (fecha límite de tratamiento {{expiresIn|formatDurationTo}}).",
"UNABLE_TO_CERTIFY_TITLE": "Certificación imposible",
"LOAD_NEWCOMERS_FAILED": "No se pudo cargar las nuevas membresías.",
"LOAD_PENDING_FAILED": "No se pudo cargar las inscripciones pendientes.",
"ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Debe <b>ser miembro</b> para poder realizar esta acción.",
"ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Debe haber <b>publicado su identidad</b> para poder realizar esta acción.",
"GET_BLOCK_FAILED": "Error en la recuperación del bloque",
"INVALID_BLOCK_HASH": "Bloque no encontrado (hash diferente)",
"DOWNLOAD_REVOCATION_FAILED": "Debe seleccionar un fichero de texto",
"DOWNLOAD_SAVE_ID_FAILED": "Error en baixar l'arxiu de còpia de seguretat de les credencials.",
"REVOCATION_FAILED": "Error en la revocación.",
"SALT_OR_PASSWORD_NOT_CONFIRMED": "Frase secreta o contraseña incorrectos",
"RECOVER_ID_FAILED": "Error en la recuperación de las credenciales",
"LOAD_FILE_FAILED": "Error en la carga del archivo",
"NOT_VALID_REVOCATION_FILE": "Archivo de revocación no válido (formato de archivo erróneo)",
"NOT_VALID_SAVE_ID_FILE": "Archivo no válido (formato de archivo erróneo)",
"NOT_VALID_KEY_FILE": "Archivo no válido (formato de archivo erróneo)",
"EXISTING_ACCOUNT": "Sus credenciales corresponden a una cuenta existente, la <a ng-click=\"showHelpModal('pubkey')\">llave pública</a> es:",
"EXISTING_ACCOUNT_REQUEST": "Por favor, cambie sus credenciales para que coincida con una cuenta sin usar.",
"GET_LICENSE_FILE_FAILED": "Error al obtener el archivo de licencia",
"CHECK_NETWORK_CONNECTION": "No se puede conectar a ningún nodo.<br/><br/><b>Compruebe la conexión a Internet</b>.",
"INVALID_FILE_FORMAT": "Formato de archivo inválido.",
"SAME_TX_RECIPIENT": "El destinatario debe ser diferente del emisor.",
"SELF_CERTIFICATION": "No pots certificar la teva pròpia identitat.",
"TX_SANDBOX_FULL": "El node Duniter utilitzat per Cesium ja no pot rebre transferències noves, perquè la cua està plena.<br/><br/>Torneu-ho a provar o canvieu els nodes (a través del menú <b>Configuració</b>).",
"DOWNLOAD_TX_HISTORY_FAILED": "Error en descarregar l'extracte de compte"
},
"INFO": {
"POPUP_TITLE": "Información",
"CERTIFICATION_DONE": "Certificación enviada",
"NOT_ENOUGH_CREDIT": "Crédito insuficiente",
"TRANSFER_SENT": "Transferencia enviada",
"COPY_TO_CLIPBOARD_DONE": "Copia realizada",
"MEMBERSHIP_OUT_SENT": "Anulación enviada",
"NOT_NEED_MEMBERSHIP": "Ya es miembro.",
"IDENTITY_WILL_MISSING_CERTIFICATIONS": "Esta identidad pronto va a necesitar certificaciones (al menos {{willNeedCertificationCount}}).",
"IDENTITY_NEED_MEMBERSHIP": "Esta identidad no ha enviado una solicitud de membresía para convertirse en miembro.",
"HAS_ALTERNATIVE_IDENTITIES": "Hay <b>identidades múltiples</b> adjuntas a esta llave pública. <b>Antes de cualquier certificación</b>, <a ng-click=\"doQuickFix('showSelectIdentities')\">verifique otras identidades</a> para elegir la correcta o comuníquese con el propietario de la cuenta.",
"REVOCATION_SENT": "Revocación enviada",
"REVOCATION_SENT_WAITING_PROCESS": "La <b>revocación de esta identidad</b> fue solicitada y está en espera de ser procesada.",
"FEATURES_NOT_IMPLEMENTED": "Esta funcionalidad todavía está en proceso de desarrollo.<br/><br/>¿Por qué no <b>contribuir a Cesium</b>, para obtenerla más rápido? ;)",
"EMPTY_TX_HISTORY": "Ninguna operación a exportar",
"LOADING_PENDING_TX": "Esperi si us plau...<br/><small>(Recuperant operacions pendents)</small>",
"FILE_DOWNLOADED": "Fitxer descarregat"
},
"CONFIRM": {
"EXIT_APP": "¿ Cerrar la aplicación ?",
"FULLSCREEN": "¿ Mostrar la aplicación en pantalla completa ?",
"ISSUE_524_SEND_LOG": "La transacción ha sido rechazada a causa de una anomalía conocida (ticket #524) pero todavía <b>no replicable</b>.<br/><br/>Para ayudar a los/as desarrolladores/as a corregir este error, ¿ <b>acepta el envío de los logs(trazas del programa)</b> ?<br/><small>(ningún dato confidencia será enviado)</small>.",
"POPUP_TITLE": "<b>Confirmación</b>",
"POPUP_WARNING_TITLE": "<b>Advertencia</b>",
"POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Advertencia de seguridad</b>",
"CERTIFY_RULES_TITLE_UID": "Certificar {{uid}}", "CERTIFY_RULES": "<b class=\"assertive\">NO CERTIFICAR</b> una cuenta si piensa que:<br/><br/><ul><li>1.) no corresponde a un ser humano <b>físico y vivo</b>.<li>2.) su propietario/a <b>posee otra cuenta</b> ya certificada.<li>3.) su propietaria/o incumple (voluntariamente o no) la regla 1 o 2 (por ejemplo certificando cuentas fantasmas o duplicadas).</ul><br/><b>¿Desea</b> todavía certificar esta identidad?",
"TRANSFER": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li></ul><br/><b>Desea realizar esta transferencia?</b>",
"TRANSFER_ALL": "<b>Resumen de la transferencia</b>:<br/><br/><ul><li> - De: {{from}}</li><li> - A: <b>{{to}}</b></li><li> - Importe: <b>{{amount}} {{unit}}</b></li><li> - Comentario: <i>{{comment}}</i></li><br/><li> - Resto: <b>{{restAmount}} {{unit}}</b> para <b>{{restTo}}</b></li></ul><br/><b>¿Desea realizar esta transferencia?</b>",
"MEMBERSHIP_OUT": "Esta operación es <b>irreversible</b>.<br/></br/>¿Desea <b>anular su cuenta miembro</b>?",
"MEMBERSHIP_OUT_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>anular su candidatura</b> como miembro?",
"LOGIN_UNUSED_WALLET_TITLE": "¿Error de introducción de datos?",
"LOGIN_UNUSED_WALLET": "Las credenciales introducidas corresponden a una cuenta que parece <b>inactiva</b>.<br/></br/><b>¿Quiere sin embargo continuar con esta cuenta?</b>",
"FIX_IDENTITY": "El seudónimo <b>{{uid}}</b> va a ser publicado de nuevo, en reemplazo del antiguo que caducó.<br/></br/><b>¿Desea</b> continuar?",
"FIX_MEMBERSHIP": "Su solicitud de adhesión como miembro va a ser enviada de nuevo.<br/></br/><b>¿Desea</b> continuar?",
"MEMBERSHIP": "Se enviará su solicitud de membresía como miembro.<br/></br/><b>¿Desea</b> continuar?",
"RENEW_MEMBERSHIP": "Su adhesión como miembro va a estar renovada.<br/></br/><b>¿Desea</b> continuar?",
"REVOKE_IDENTITY": "Va a <b>revocar definitivamente esta identidad</b>.<br/><br/>La llave pública y el seudónimo asociados <b>jamás podrán ser utilizados</b> (para una cuenta miembro). <br/><br/><b>¿Desea</b> revocar definitivamente esta cuenta?",
"REVOKE_IDENTITY_2": "¡Esta operación es <b>irreversible</b>!<br/><br/>¿Desea <b>revocar definitivamente</b> esta cuenta?",
"NOT_NEED_RENEW_MEMBERSHIP": "Su membresía no necesita ser renovada actualmente (caducará en {{membershipExpiresIn|formatDuration}}).<br/></br/><b>¿Confirma</b> querer renovar su membresía?",
"SAVE_BEFORE_LEAVE": "¿Desea <b>guardar sus cambios</b> antes de abandonar la página?",
"SAVE_BEFORE_LEAVE_TITLE": "Cambios no registrados",
"LOGOUT": "¿Desea desconectarse?",
"USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> inalcanzable o dirección inválida.<br/><br/>¿Desea utilizar temporalmente el nodo <b>{{new}}</b>?",
"USE_SYNC_FALLBACK_NODE": "El node <b>{{old}}</b> sembla desincronitzat.<br/><br/>Vols utilitzar temporalment el node sincronitzat <b>{{new}}</b>?",
"ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Advertència:</b> Vols <b>canviar manualment</b> el node Duniter?<br/><br/>Si continues:<ul><li> - S'activarà el <b>modo experto</b>;</li><li> - Podràs tornar a la selecció automàtica de nodes simplement <b>desactivant el modo experto</b>.</li></ul>"
},
"DOWNLOAD": {
"POPUP_TITLE": "<b>Revocación del archivo</b>",
"POPUP_REVOKE_MESSAGE": "Para proteger su cuenta, descargue el <b>documento de revocación de cuenta</b>. Le permitirá cancelar su cuenta (en caso de robo, cambio de identificadores, cuenta creada incorrectamente, etc.).<br/><br/><b>Por favor, almacénelo en un lugar seguro.</b>"
},
"HELP": {
"TITLE": "Ayuda en línea",
"JOIN": {
"SECTION": "Inscripción",
"SALT": "La frase secreta es muy importante. Sirve para mezclar(<span class=\"text-italic\">hash</span>) la contraseña, antes de calcular la <span class=\"text-italic\">llave pública</span> (el número de cuenta) y la <span class=\"text-italic\">llave privada</span> para acceder a esta.<br/><b>Por favor, memorícelo muy bien</b> porque no existe ninguna forma de recuperarlo en caso de pérdida.<br/>No puede ser modificado. Deberá crear una nueva cuenta si lo pierde o se olvida.<br/><br/>Una buena frase secreta debe ser suficientemente larga (al menos 8 carácteres) y lo más original posible.",
"PASSWORD": "La contraseña es muy importante. Junto a la frase secreta, sirve para calcular la llave pública (el número de cuenta), y la llave privada para acceder a ella.<br/><b>Por favor, memorícela muy bien</b> porque no existe ninguna forma de recuperarla en caso de pérdida (excepto si se tuviese un fichero de respaldo o <span class=\"text-italic\">backup</span>.).<br/>No puede ser modificada. Deberá crear una nueva cuenta si la pierde o se olvida.<br/><br/>Una buena contraseña contiene al menos 8 carácteres, con al menos una mayúscula y un dígito.",
"PSEUDO": "El seudónimo se utiliza solamente en caso de inscripción como <span class=\"text-italic\">miembro</span>. Siempre está asociado a un monedero (vía su <span class=\"text-italic\">llave pública</span>).<br/>Este se publica en la red para que los demás usuarios puedan identificar, certificar o enviar dinero a la cuenta.<br/>Un seudónimo debe ser único para cada miembro (actuales y antiguos)."
},
"LOGIN": {
"SECTION": "Autenticación",
"PUBKEY": "Llave pública",
"PUBKEY_DEF": "La llave pública del archivo de llaves es generada de las credenciales introducidas (cualquiera que sean), sin estar obligatoriamente vinculadas o contrastadas con ninguna cuenta ya usada. <br/><b>Asegúrese por lo tanto de que la llave pública es la misma con la que se creó originalmente su cuenta</b>. De lo contrario, se autogenerará una cuenta vacía que probablemente nunca ha sido usada, ya que el riesgo de coincidir con las credenciales de otra cuenta ajena es muy pequeño.<br/><a href=\"https://es.wikipedia.org/wiki/Criptograf%C3%ADa_de_curva_el%C3%ADptica\" target=\"_ system\">Conozca más sobre criptografía</a> con llaves públicas.",
"METHOD": "Métodos de autenticación",
"METHOD_DEF": "Diversas opciones están disponibles para conectar a las cuentas: <br/> - La conexión <b>con aleatoriedad (estándar o avanzada)</b> mezcla su contraseña con su frase secreta, para limitar las posibilidades de ataque<br/> - La conexión <b>usando llave pública</b> le permite entrar sin credenciales, las cuales solo se le pedirán cuando alguna operación lo necesite.<br/> - La conexión <b>usando archivo de llaves</b> leerá las llave pública y privada de la cuenta desde un archivo sin necesitar sus credenciales. Varios formatos son posibles."
},
"GLOSSARY": {
"DISTANCE_RULE": "Regla de distancia",
"DISTANCE_RULE_DEF": "La regle de distancia de la Red de Confianza define <b>una distancia máxima a respetar</b> entre una candidatura y número mínimo miembros referentes (aquellos más conectados). Esta distancia es calculada utilizando los enlaces de certificación.",
"WOT": "Red de Confianza (RdC)",
"WOT_DEF": "La Red de Confianza se compone del conjunto de miembros de la moneda, y de los enlaces de certificaciones que los conectan.",
"SECTION": "Glosario",
"PUBKEY_DEF": "Una llave pública identifica un monedero, que puede estar asociado a un miembro o ser un monedero anónimo. En Cesium se calcula a partir de la frase secreta y la contraseña.",
"MEMBER": "Miembro",
"MEMBER_DEF": "Cada miembro es una ser humano físico y vivo, deseosa de participar libremente en la comunidad monetaria. Percibe un dividendo universal, de acuerdo a un periodo e importe definido en las <span class=\"text-italic\">reglas de la moneda</span>",
"CURRENCY_RULES": "Reglas de la moneda",
"CURRENCY_RULES_DEF": "Las reglas de la moneda se han definido una vez y para siempre. Establecen el funcionamiento de la moneda: el cálculo del dividendo universal, la cantidad de certificaciones necesarias para ser miembro, la cantidad máxima de certificaciones que cada miembro puede emitir, etc. <a href=\"#/app/currency\">Ver las reglas actuales</a>.<br/> Sus parámetros no pueden alterarse gracias a una <span class=\"text-italic\">Cadena de Bloques</span> que soporta, implementa y verifica la buena aplicación de estas reglas.",
"BLOCKCHAIN": "Cadena de bloques (<span class=\"text-italic\">Blockchain</span>)",
"BLOCKCHAIN_DEF": "La cadena de bloques es un sistema descentralizado, que en el caso de Duniter, sirve para mantener e implementar las <span class=\"text-italic\">reglas de la moneda</span>.<br/><a href=\"http://duniter.org\" target=\"_system\">Más información</a> acerca de Duniter y el funcionamiento de su cadena de bloques.",
"UNIVERSAL_DIVIDEND_DEF": "El Dividendo Universal (DU) es la cantidad de moneda co-creada por cada miembro, dependiendo del periodo y del cálculo definidos en las <span class=\"text-italic\">reglas de la moneda</span>.<br/>En cada periodo, los miembros reciben en sus cuentas la misma cantidad de moneda.<br/><br/>El DU crece regularmente, para ser justo entre cada miembro (actualmente y en el futuro), y calculado en función de la esperanza de vida media, como se demuestra en la <span class=\"text-italic\">Teoría Relativa de la Moneda</span> (TRM, de Stéphane Laborde).<br/><a href=\"http://trm.creationmonetaire.info\">Más información</a> sobre la TRM y las monedas libres."
},
"TIP": {
"MENU_BTN_CURRENCY": "El menú <b>{{'MENU.CURRENCY'|translate}}</b> permite consultar las <b>reglas de la moneda</b> y su estado.",
"CURRENCY_WOT": "El <b>número de miembros</b> muestra el peso de la comunidad y permite <b>seguir su evolución</b>.",
"CURRENCY_MASS": "Siga aquí la <b>cantidad total de moneda</b> existente y su <b>distribución media</b> por miembro.<br/><br/>Esto permite juzgar la <b>relevancia de un importe</b>, en relación con lo que <b>poseen los demás</b> en sus cuentas (de media).",
"CURRENCY_UNIT_RELATIVE": "La unidad utilizada (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) significa que los importes en {{currency|capitalize}} han sido divididos entre el valor del <b>Dividendo Universal</b> (DU).<br/><br/><small> Esta unidad relativa es <b>pertinente</b>, porque permanece estable, independiente de la cantidad de moneda que aumenta constantemente.</small>",
"CURRENCY_CHANGE_UNIT": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes <b>directamente en {{currency|capitalize}}</b> (en lugar de &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;).",
"CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Este botón permite <b>cambiar la unidad</b>, para visualizar los importes en &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;, es decir, relativo al Dividendo Universal (el monto co-producido por cada miembro).",
"CURRENCY_RULES": "Las <b>reglas</b> de la moneda fijan su funcionamiento <b>exacto y previsible</b>.<br/><br/>Es el propio ADN de la moneda, que hace que su código monetario sea <b>legible y transparente</b>.",
"MENU_BTN_NETWORK": "El menú <b>{{'MENU.NETWORK'|translate}}</b> permite consultar el estado de la red.",
"NETWORK_BLOCKCHAIN": "Todas las transacciones de la moneda están registradas dentro de un gran libro de contabilidad <b>público e infalsificable</b>, conocido como la <b>cadena de bloques</b> (<em>BlockChain</em> en inglés).",
"NETWORK_PEERS": "Los <b>nodos</b> visibles aquí corresponden a los <b>dispositivos de miembros que actualizan y validan</b> la cadena de bloques.<br/><br/>Cuanto más nodos haya conectados, la moneda tendrá una gestión más <b>descentralizada</b> y digna de confianza.",
"NETWORK_PEERS_BLOCK_NUMBER": "Este <b>número</b> (en verde) indica el <b>último bloque validado</b> por este nodo (última página escrita en la cadena de bloques).<br/><br/>El color verde indica que este bloque ha sido también validado por <b>la mayoría del resto de nodos</b>.",
"NETWORK_PEERS_PARTICIPATE": "<b>Cada miembro</b>, equipado de un dispositivo conectado a Internet, <b>puede contribuir añadiendo un nodo</b>. Necesita <b>instalar el programa Duniter</b> (libre y gratuito). <a href=\"{{installDocUrl}}\" target=\"_system\">Ver manual de uso &gt;&gt;</a>.",
"MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> permite acceder a la gestión y al historial de su cuenta.",
"MENU_BTN_ACCOUNT_MEMBER": "Consulte aquí el estado de su cuenta y la información sobre sus certificaciones.",
"WALLET_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus certificaciones (recibidas y emitidas).",
"WALLET_RECEIVED_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones recibidas</b>.",
"WALLET_GIVEN_CERTIFICATIONS": "Haga clic aquí para consultar el detalle de sus <b>certificaciones emitidas</b>.",
"WALLET_BALANCE": "El <b>saldo</b> de su cuenta se visualiza aquí.",
"WALLET_BALANCE_RELATIVE":
"{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>La unidad utilizada (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) significa que el importe en {{currency|capitalize}} fue dividido entre el <b>Dividendo Universal</b> (DU) co-producido por cada miembro.<br/><br/>Actualmente un DU vale {{currentUD|formatInteger}} {{currency|capitalize}}s.",
"WALLET_BALANCE_CHANGE_UNIT": "Podrá <b>cambiar la unidad</b> de visualización de los importes en los <b><i class=\"icon ion-android-settings\"></i>&nbsp;{{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Por ejemplo, para visualizar los importes <b>directamente en {{currency|capitalize}}</b>, en lugar de unidad relativa.",
"WALLET_PUBKEY": "Esta es la llave pública de su cuenta. Puede comunicarla a un tercero para que pueda identificar su cuenta de forma simple.",
"WALLET_SEND": "Realizar un pago en algunos clics",
"WALLET_SEND_NO_MONEY": "Realizar un pago en algunos clics.<br/>(Su saldo ya no lo permite)",
"WALLET_OPTIONS": "Este botón permite acceder a las <b>acciones de adhesión</b> y de seguridad.<br/><br/>¡No olvide echar un vistazo!",
"WALLET_RECEIVED_CERTS": "Se exhibirá aquí la lista de individuo/as que le han certificado.",
"WALLET_CERTIFY": "El botón <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> permite seleccionar una identidad y certificarla.<br/><br/>Solo quienes son <b>miembros</b> pueden certificar a otros seres humanos.",
"WALLET_CERT_STOCK": "Su stock de certificaciones (emitidas) es limitado a <b>{{sigStock}} certificaciones</b>.<br/><br/>Este stock se renueva con el tiempo, a medida que las certificaciones caducan.",
"MENU_BTN_TX": "El menú <b>{{'MENU.TRANSACTIONS'|translate}}</b> permite consultar su saldo, el historial de transacciones y realizar nuevos pagos.",
"MENU_BTN_WALLETS": "El menú <b>{{'MENU.WALLETS'|translate}}</b> permite añadir monederos complementarios que usted maneja.",
"MENU_BTN_WOT": "El menú <b>{{'MENU.WOT'|translate}}</b> permite buscar <b>usuarios</b> de la moneda (miembro o no).",
"WOT_SEARCH_TEXT_XS": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública).<br/><br/>La búsqueda se iniciará automáticamente.",
"WOT_SEARCH_TEXT": "Para buscar en el directorio, escriba las <b>primeras letras de un seudónimo</b> (o de una llave pública). <br/><br/>Luego, pulse en la tecla <b>Intro</b> para iniciar la búsqueda.",
"WOT_SEARCH_RESULT": "Visualice la ficha detallada <b>haciendo clic</b> sobre una fila.",
"WOT_VIEW_CERTIFICATIONS": "La opción <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> muestra qué miembros han validado esta identidad.<br/><br/>Estas certificaciones atestiguan que la cuenta pertenece a <b>un ser humano vivo</b> y que no posee <b>ninguna otra cuenta miembro</b>.",
"WOT_VIEW_CERTIFICATIONS_COUNT": "Necesita al menos <b>{{sigQty}} certificaciones</b> para ser miembro y recibir el <b>Dividendo Universal</b>.",
"WOT_VIEW_CERTIFICATIONS_CLICK": "Un clic aquí permite abrir <b>la lista de todas las certificaciones</b> de la identidad (recibidas y emitidas).",
"WOT_VIEW_CERTIFY": "El botón <b>{{'WOT.BTN_CERTIFY'|translate}}</b> permite añadir su certificación a esta identidad.",
"CERTIFY_RULES": "<b>Atención:</b> Certifique solamente <b>seres humanos físicos vivos</b>, que no posean ya ninguna otra cuenta miembro.<br/><br/>¡La seguridad de la red de la moneda depende del cuidado de cada individuo/a!",
"MENU_BTN_SETTINGS": "En <b>{{'MENU.SETTINGS'|translate}}</b> podrá configurar la aplicación.",
"HEADER_BAR_BTN_PROFILE": "Haga clic aquí para acceder a su <b>perfil</b>",
"SETTINGS_CHANGE_UNIT": "Podrá <b>cambiar la unidad de visualización</b> de los importes haciendo clic aquí.<br/><br/>- Desactive la opción para mostrar los importes en {{currency|capitalize}}.<br/>- Actívela para importes relativos al {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (las cantidades de los importes se mostrarán <b>divididos</b> entre el Dividendo Universal actual).",
"END_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>¡Buena suerte en este nuevo mundo de la <b>economía libre</b> !",
"END_NOT_LOGIN": "¡La visita guiada ha <b>terminado</b>!<br/><br/>Si quiere utilizar la moneda {{currency|capitalize}}, tiene que hacer un clic en <b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> más abajo."
}
}
}
{
"COMMON": {
"APP_NAME": "Cesium",
"APP_VERSION": "v{{version}}",
"APP_BUILD": "Build {{build}}",
"PUBKEY": "Öffentlicher Schlüssel",
"MEMBER": "Mitglied",
"BLOCK": "Block",
"BTN_OK": "OK",
"BTN_YES": "Ja",
"BTN_NO": "Nein",
"BTN_SEND": "Schicken",
"BTN_SEND_MONEY": "Geld überweisen",
"BTN_SEND_MONEY_SHORT": "Überweisung",
"BTN_SAVE": "Speichern",
"BTN_YES_SAVE": "Ja, Speichern",
"BTN_YES_CONTINUE": "Ja, Weiter",
"BTN_SHOW": "Anzeigen",
"BTN_SHOW_PUBKEY": "Schlüssel anzeigen",
"BTN_RELATIVE_UNIT": "Relative Einheit UD gebrauchen",
"BTN_BACK": "Zurück",
"BTN_NEXT": "Nächste",
"BTN_IMPORT": "Importieren",
"BTN_CANCEL": "Abbrechen",
"BTN_CLOSE": "Schließen",
"BTN_LATER": "Später",
"BTN_LOGIN": "Anmelden",
"BTN_LOGOUT": "Abmelden",
"BTN_ADD_ACCOUNT": "Neues Konto anlegen",
"BTN_SHARE": "Teilen",
"BTN_EDIT": "Bearbeiten",
"BTN_DELETE": "Löschen",
"BTN_ADD": "Hinzufügen",
"BTN_SEARCH": "Suchen",
"BTN_REFRESH": "Neu laden",
"BTN_RETRY": "Neu versuchen",
"BTN_START": "Start",
"BTN_CONTINUE": "Weiter",
"BTN_CREATE": "Erstellen",
"BTN_UNDERSTOOD": "Ich habe es verstanden",
"BTN_OPTIONS": "Optionen",
"BTN_HELP_TOUR": "Cesium erkunden",
"BTN_HELP_TOUR_SCREEN": "Tour: Erkunde diesen Bildschirm",
"BTN_DOWNLOAD": "Download",
"BTN_DOWNLOAD_ACCOUNT_STATEMENT": "Kontoauszug herunterladen",
"BTN_MODIFY": "Ändern",
"CHOOSE_FILE": "Ziehe deine Datei<br/>oder zur Auswahl drücken",
"DAYS": "Tage",
"NO_ACCOUNT_QUESTION": "Noch nicht Mitglied? Registriere dich jetzt!",
"SEARCH_NO_RESULT": "Keine Ergebnisse gefunden",
"LOADING": "Lade...",
"LOADING_WAIT": "Lade...<br/><small>(Cesium fragt den Duniter-Knoten ab)</small>",
"SEARCHING": "Suche...",
"DOWNLOADING_DOTS": "Herunterladen...",
"FROM": "Von",
"TO": "An",
"COPY": "Kopieren",
"LANGUAGE": "Sprache",
"UNIVERSAL_DIVIDEND": "Universelle Dividende",
"UD": "UD",
"DATE_PATTERN": "DD.MM.YYYY HH:mm",
"DATE_FILE_PATTERN": "DD.MM.YYYY",
"DATE_SHORT_PATTERN": "DD.MM.YY",
"DATE_MONTH_YEAR_PATTERN": "MM-YYYY",
"EMPTY_PARENTHESIS": "(leer)",
"UID": "Pseudonym",
"ENABLE": "aktivieren",
"DISABLE": "deaktivieren",
"RESULTS_LIST": "Ergebnisse:",
"RESULTS_COUNT": "{{count}} Ergebnisse",
"EXECUTION_TIME": "Ausgeführt in {{duration|formatDurationMs}}",
"SHOW_VALUES": "Werte offen anzeigen?",
"POPOVER_ACTIONS_TITLE": "Optionen",
"POPOVER_FILTER_TITLE": "Filter",
"SHOW_MORE": "Mehr anzeigen",
"SHOW_MORE_COUNT": "(heutiges Limit bei: {{limit}})",
"POPOVER_SHARE": {
"TITLE": "Teilen",
"SHARE_ON_TWITTER": "Teilen auf Twitter",
"SHARE_ON_FACEBOOK": "Teilen auf Facebook",
"SHARE_ON_DIASPORA": "Teilen auf Diaspora*",
"SHARE_ON_GOOGLEPLUS": "Teilen auf Google+"
},
"FILE": {
"DATE" : "Datum:",
"TYPE" : "Typ:",
"SIZE": "Größe:",
"VALIDATING": "Validierung..."
}
},
"SYSTEM": {
"PICTURE_CHOOSE_TYPE": "Bildquelle auswählen:",
"BTN_PICTURE_GALLERY": "Gallerie",
"BTN_PICTURE_CAMERA": "<b>Kamera</b>"
},
"MENU": {
"HOME": "Startseite",
"WOT": "Mitgliederverzeichnis",
"CURRENCY": "Währung",
"ACCOUNT": "Mein Konto",
"WALLETS": "Meine Brieftaschen",
"SETTINGS": "Einstellungen",
"NETWORK": "Netzwerk",
"TRANSACTIONS": "Meine Transaktionen"
},
"ABOUT": {
"TITLE": "Über",
"LICENSE": "<b>Freie Software</b> (GNU AGPLv3 Lizenz).",
"LATEST_RELEASE": "Es gibt eine <b>neue Version</b> von {{'COMMON.APP_NAME' | translate}} (<b>v{{version}}</b>)",
"PLEASE_UPDATE": "Bitte aktualisiere {{'COMMON.APP_NAME' | translate}} (latest version: <b>v{{version}}</b>)",
"CODE": "Quellcode:",
"OFFICIAL_WEB_SITE": "Offizielle Webseite:",
"DEVELOPERS": "Entwickler:",
"USER_FORUM": "Benutzerforum:",
"TECH_FORUM": "Technisches Forum:",
"TELEGRAM": "Telegram-Gruppe:",
"USER_HELP_DIVIDER": "Gemeinschaft",
"CONTRIBUTE_DIVIDER": "Beitragen",
"DEV_WARNING": "Warnung",
"DEV_WARNING_MESSAGE": "Diese Anwendung ist noch in der aktiven Entwicklung.<br/>Bitte melde uns jedes auftretende Problem!",
"DEV_WARNING_MESSAGE_SHORT": "Diese App ist evtentuell noch instabil(in Entwicklung).",
"PLEASE_REPORT_ISSUE": "Bitte melde uns jegliches Problem!",
"REPORT_ISSUE": "Ein Problem melden",
"BTN_OPEN_DEV_WINDOW": "Debug Fenster öffnen"
},
"HOME": {
"TITLE": "Cesium",
"WELCOME": "Willkommen in der Cesium App!",
"WELCOME_READONLY": "Willkommen zu Cesium <span class='badge badge-balanced'>Monit</span> !",
"MESSAGE": "Sieh dir {{currency|abbreviate}} Konten in Echtzeit an.",
"MESSAGE_READONLY": "Echtzeitüberwachung der freien Währung {{currency|abbreviate}}",
"BTN_REGISTRY": "Verzeichnis",
"BTN_CURRENCY": "Währung kennenlernen {{currency|abbreviate}}",
"BTN_ABOUT": "über",
"BTN_HELP": "Hilfe",
"BTN_NETWORK": "Netzwerkstatus",
"FREE_SOFTWARE": "Freie Software",
"FORK_ME": "Fork mich!",
"SHOW_LICENSE": "Lizenz anzeigen",
"REPORT_ISSUE": "Ein Problem melden",
"NOT_YOUR_ACCOUNT_QUESTION" : "Ist dieses Konto <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b> nicht von dir?",
"BTN_CHANGE_ACCOUNT": "Von diesem Konto abmelden",
"PEER_CONNECTION_ERROR": "Der Knoten <b>{{server}}</b> ist nicht erreichbar oder die Adresse ist falsch.<br/><br/>Kontrolliere deine Internetverbindung, oder wähle einen anderen Knoten <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in deinen Einstellungen</a>.",
"NETWORK_CONNECTION_ERROR": "Netzwerk ist nicht erreichbar.<br/><br/>Überprüfen Sie Ihre Internetverbindung, oder wählen Sie einen Knoten manuell <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in den Einstellungen</a> aus.",
"SHOW_ALL_FEED": "Alles anzeigen",
"READ_MORE": "Mehr lesen",
"FEED_SOURCE": "Quelle",
"FEEDS_TITLE": "Nachrichten"
},
"SETTINGS": {
"TITLE": "Einstellungen",
"DISPLAY_DIVIDER": "Anzeige",
"STORAGE_DIVIDER": "Speicher",
"NETWORK_SETTINGS": "Netzwerk",
"PEER": "Duniter Knoten",
"PEER_CHANGED_TEMPORARY": "Knotenadresse wird nur temporär gebraucht",
"PEER_SELECTED_AUTOMATICALLY": "Knoten wird beim Start automatisch ausgewählt",
"NETWORK_ANALYZE_TIMEOUT": "Maximale Wartezeit (Timeout)",
"NETWORK_ANALYZE_TIMEOUT_HELP": "Maximale Wartezeit für die Netzwerkanalyse",
"NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
"PERSIST_CACHE": "Navigationsdaten behalten (experimental)",
"PERSIST_CACHE_HELP": "Erlaubt schnellere Navigation, durch Zwischenspeicherung der empfangenen Daten, von einer Sitzung zur nächsten.",
"USE_LOCAL_STORAGE": "Lokales Speichern einschalten",
"USE_LOCAL_STORAGE_HELP": "Damit kannst du deine Einstellungen lokal abspeichern",
"WALLETS_SETTINGS": "Meine Brieftaschen",
"USE_WALLETS_ENCRYPTION": "Verschlüsseln der Liste",
"USE_WALLETS_ENCRYPTION_HELP": "Ermöglicht, die Liste deiner Brieftaschen zu verschlüsseln. Der Zugriff erfordert dann Authentifizierung.",
"ENABLE_HELPTIP": "Kontexthilfe aktivieren",
"DISABLE_HELPTIP": "Kontexthilfe deaktivieren",
"ENABLE_UI_EFFECTS": "Visuelle Effekte aktivieren",
"ENABLE_UI_EFFECTS_HELP": "Wechsel zwischen Seiten, Animation der Liste",
"HISTORY_SETTINGS": "Mein Konto",
"DISPLAY_UD_HISTORY": "Die produzierten universellen Dividenden anzeigen?",
"TX_HISTORY_AUTO_REFRESH": "Automatische Anzeigeaktualisierung anschalten?",
"TX_HISTORY_AUTO_REFRESH_HELP": "Aktualisiert die Liste der Operationen mit jedem neuen Block.",
"AUTHENTICATION_SETTINGS": "Anmeldeeinstellungen",
"KEEP_AUTH": "Ablaufzeit der Sitzung",
"KEEP_AUTH_SHORT": "Ablaufzeit",
"KEEP_AUTH_HELP": "Definiere, wann die Anmeldung ihre Gültigkeit verliert.",
"KEEP_AUTH_OPTION": {
"NEVER": "Nach jeder Operation",
"SECONDS": "Nach {{value}}s Inaktivität",
"MINUTE": "Nach {{value}}min Inaktivität",
"MINUTES": "Nach {{value}}min Inaktivität",
"HOUR": "Nach {{value}}h Inaktivität",
"ALWAYS": "Am Ende der Sitzung"
},
"KEYRING_FILE": "Schlüsselbunddatei",
"KEYRING_FILE_HELP": "Erlaubt automatische Anmeldung beim Start und Authentifizierung während der Sitzung (nur wenn \"Ablaufzeit der Sitzung\" auf \"Am Ende der Sitzung\" steht",
"REMEMBER_ME": "Meine Anmeldung merken",
"REMEMBER_ME_HELP": "Dadurch kannst du immer angemeldet bleiben (nicht empfohlen).",
"PLUGINS_SETTINGS": "Erweiterungen",
"BTN_RESET": "Standardeinstellungen wiederherstellen",
"EXPERT_MODE": "Expertenmodus einschalten",
"EXPERT_MODE_HELP": "Mehr Details anzeigen",
"BLOCK_VALIDITY_WINDOW": "Block-Unsicherheitsspanne",
"BLOCK_VALIDITY_WINDOW_SHORT": "Unsicherheitsspanne",
"BLOCK_VALIDITY_WINDOW_HELP": "Wartezeit, bis eine Information als validiert angesehen wird",
"BLOCK_VALIDITY_OPTION": {
"NONE": "Keine Verzögerung",
"N": "{{time | formatDuration}} ({{count}} Blöcke)"
},
"POPUP_PEER": {
"TITLE" : "Duniter Knoten",
"HOST" : "Adresse",
"HOST_HELP": "Adresse: Server:Port",
"USE_SSL" : "Sichere Verbindung nutzen?",
"USE_SSL_HELP" : "TLS Verschlüsselung",
"BTN_SHOW_LIST" : "Liste der verfügbaren Knoten"
}
},
"BLOCKCHAIN": {
"HASH": "Hash: {{hash}}",
"VIEW": {
"HEADER_TITLE": "Block #{{number}}-{{hash|formatHash}}",
"TITLE_CURRENT": "Aktueller Block",
"TITLE": "Block #{{number|formatInteger}}",
"COMPUTED_BY": "Berechnet durch den Knoten",
"SHOW_RAW": "Rohdaten ansehen",
"TECHNICAL_DIVIDER": "Technische Informationen",
"VERSION": "Format Version",
"HASH": "Berechneter Hash",
"UNIVERSAL_DIVIDEND_HELP": "Geldmenge, die durch jedes der {{membersCount}} Mitglieder produziert wird",
"EMPTY": "Dieser Block enthält keine Daten",
"POW_MIN": "Minimale Schwierigkeit",
"POW_MIN_HELP": "Auferlegte Schwierigkeit beim Berechnen des Hash-Werts",
"DATA_DIVIDER": "Daten",
"IDENTITIES_COUNT": "Neue Identitäten",
"JOINERS_COUNT": "Neue Mitglieder",
"ACTIVES_COUNT": "Verlängerungen",
"ACTIVES_COUNT_HELP": "Mitglieder die ihre Mitgliedschaft verlängert haben",
"LEAVERS_COUNT": "Ausgeschiedene",
"LEAVERS_COUNT_HELP": "Mitglieder, die keine Zertifizierung mehr wünschen",
"EXCLUDED_COUNT": "Ausgeschlossene Mitglieder",
"EXCLUDED_COUNT_HELP": "Alt-Mitglieder, ausgeschlossen durch fehlende Verlängerung oder Mangel an Zertifizierungen",
"REVOKED_COUNT": "Zurückgezogene Identitäten",
"REVOKED_COUNT_HELP": "Diese Konten können keine Mitgliedskonten mehr sein",
"TX_COUNT": "Kontobewegungen",
"CERT_COUNT": "Zertifizierungen",
"TX_TO_HIMSELF": "Tausch",
"TX_OUTPUT_UNLOCK_CONDITIONS": "Voraussetzung für das Eröffnen",
"TX_OUTPUT_OPERATOR": {
"AND": "und",
"OR": "oder"
},
"TX_OUTPUT_FUNCTION": {
"SIG": "<b>Signatur</b> des öffentlichen Schlüssels",
"XHX": "<b>Passwort</b>, mit SHA256 =",
"CSV": "Blockiert während",
"CLTV": "Blockiert bis"
}
},
"LOOKUP": {
"TITLE": "Blöcke",
"NO_BLOCK": "Kein Block",
"LAST_BLOCKS": "Letzte Blöcke:",
"BTN_COMPACT": "Kompakt"
}
},
"CURRENCY": {
"SELECT": {
"TITLE": "Währungen",
"CURRENCIES": "Bekannte Währungen",
"MEMBERS_COUNT": "{{membersCount}} Mitglieder"
},
"VIEW": {
"TITLE": "Währung",
"TAB_CURRENCY": "Währung",
"TAB_WOT": "Netz des Vertrauens",
"TAB_NETWORK": "Netzwerk",
"TAB_BLOCKS": "Blöcke",
"CURRENCY_SHORT_DESCRIPTION": "{{currency|capitalize}} ist eine <b>freie Währung</b>, gegründet vor {{firstBlockTime | formatFromNow}}. Sie zählt aktuell <b>{{N}} Mitglieder </b>, die eine <a ng-click=\"showHelpModal('ud')\">Universelle Dividende</a> (DU) schöpfen und erhalten, und zwar alle {{dt | formatPeriod}}.",
"NETWORK_RULES_DIVIDER": "Netzwerk-Regeln",
"CURRENCY_NAME": "Name der Währung",
"MEMBERS": "Anzahl Mitglieder",
"MEMBERS_VARIATION": "Veränderung seit {{duration|formatDuration}} (seit der letzten UD)",
"MONEY_DIVIDER": "Geld",
"MASS": "Geldmenge",
"SHARE": "Anteil an der Geldmenge",
"UD": "Universelle Dividende",
"C_ACTUAL": "Wachstum heute",
"MEDIAN_TIME": "Aktuelle Blockchain Zeit",
"POW_MIN": "Minimale Schwierigkeit",
"MONEY_RULES_DIVIDER": "Regeln für die Währung",
"C_RULE": "Theoretisches Wachstumsziel",
"UD_RULE": "Universelle Dividende (Berechnungsformel)",
"DT_REEVAL": "Zeitraum zwischen zwei Neubewertungen der UD",
"REEVAL_SYMBOL": "reeval",
"DT_REEVAL_VALUE": "Alle <b>{{dtReeval|formatDuration}}</b> ({{dtReeval/86400}} {{'COMMON.DAYS'|translate}})",
"UD_REEVAL_TIME0": "Datum der ersten Neubewertungen der UD",
"SIG_QTY_RULE": "Benötigte Anzahl Zertifizierungen um Mitglied zu werden",
"SIG_STOCK": "Maximale Anzahl erteilter (gültiger) Zertifikate pro Mitglied",
"SIG_PERIOD": "Minimaler zeitlicher Abstand zwischen 2 Zertifizierungen, die von einer einzelnen Person erteilt wurden.",
"SIG_WINDOW": "Maximale Zeit, nach der eine Zertifizierung verarbeitet werden muss",
"SIG_VALIDITY": "Gültigkeitsspanne einer verarbeiteten Zertifizierung",
"MS_WINDOW": "Maximale Verzögerung, mit der eine ausstehende Mitgliedschaft verarbeitet wird",
"MS_VALIDITY": "Gültigkeitsspanne einer verarbeiteten Mitgliedschaft",
"STEP_MAX": "Maximale Distanz zwischen einem Anwärter und jedem der Referenzmitglieder.",
"WOT_RULES_DIVIDER": "Regeln für das Netz des Vertrauens - WoT",
"SENTRIES": "Erforderliche Anzahl von Zertifizierungen (erteilt <b>und</b> erhalten), um ein Referenzmitglied zu werden",
"SENTRIES_FORMULA": "Erforderliche Anzahl von Zertifizierungen, um ein Referenzmitglied zu werden (Formel)",
"XPERCENT":"Prozentualer Mindestanteil von erreichbaren Referenten, um die Distanzregel einzuhalten",
"AVG_GEN_TIME": "Durchschnittliche Zeit zwischen 2 Blöcken",
"CURRENT": "aktuelle",
"MATH_CEILING": "Obere Schranke",
"DISPLAY_ALL_RULES": "Alle Regeln anzeigen?",
"BTN_SHOW_LICENSE": "Lizenz anzeigen",
"WOT_DIVIDER": "Netz des Vertrauens"
},
"LICENSE": {
"TITLE": "Lizenz der Währung",
"BTN_DOWNLOAD": "Datei herunterladen",
"NO_LICENSE_FILE": "Lizenzdatei nicht gefunden."
}
},
"NETWORK": {
"VIEW": {
"MEDIAN_TIME": "Blockchain Zeit",
"LOADING_PEERS": "Lade Liste der Knoten...",
"NODE_ADDRESS": "Adresse :",
"SOFTWARE": "Software:",
"WARN_PRE_RELEASE": "Vorabversion (letzte stabile Version: <b>{{version}}</b>)",
"WARN_NEW_RELEASE": "Version <b>{{version}}</b> verfügbar",
"WS2PID": "Identifier:",
"PRIVATE_ACCESS": "Private access",
"POW_PREFIX": "Proof of work prefix:",
"ENDPOINTS": {
"BMAS": "Sicherer Endknoten (TLS)",
"BMATOR": "TOR Endknoten",
"WS2P": "WS2P Endknoten",
"ES_USER_API": "Cesium+ Datenknoten"
}
},
"INFO": {
"CONNECTING_TO_NETWORK": "Verbindung zum Netzwerk...",
"ANALYZING_NETWORK": "Analyse des {{currency|abbreviate}} Netzwerks...",
"ONLY_SSL_PEERS": "Die nicht mit SSL gesicherten Knoten haben eine reduzierte Darstellung, weil Cesium im HTTPS Modus funktioniert."
}
},
"PEER": {
"PEERS": "Nachbarknoten",
"SIGNED_ON_BLOCK": "Signiert auf Block",
"MIRROR": "Spiegel",
"MIRRORS": "Spiegel",
"MIRROR_PEERS": "Spiegelknoten",
"PEER_LIST" : "Liste der Knoten",
"MEMBERS" : "Mitglieder",
"MEMBER_PEERS" : "Mitgliederknoten",
"ALL_PEERS" : "Alle Knoten",
"DIFFICULTY" : "Schwierigkeit",
"API" : "API",
"SANDBOXES": "Warteschlange",
"PENDING_TX": "{{count}} Transaktion(en) / {{size}} max, {{free}} Platz(e) verbleibend",
"PENDING_MEMBERSHIPS": "{{count}} ausstehende Mitgliedschaft(en) / {{size}} max, {{free}} Platz(e) verbleibend",
"CURRENT_BLOCK": "Block Nr.",
"POPOVER_FILTER_TITLE": "Filter",
"OFFLINE": "Offline",
"OFFLINE_PEERS": "Offline Knoten",
"BTN_SHOW_PEER": "Knoten anzeigen",
"VIEW": {
"TITLE": "Knoten",
"OWNER": "Besitzer: ",
"SHOW_RAW_PEERING": "Siehe Netzwerkdokument",
"SHOW_RAW_CURRENT_BLOCK": "Aktuellen Block anzeigen (Rohformat)",
"LAST_BLOCKS": "Neueste Blöcke",
"KNOWN_PEERS": "Bekannte Knoten :",
"GENERAL_DIVIDER": "Allgemeine Information",
"ERROR": {
"LOADING_TOR_NODE_ERROR": "Die Daten dieses Knotens konnten nicht über das TOR Netzwerk geladen werden.",
"LOADING_NODE_ERROR": "Knotendaten konnten nicht geladen werden."
}
}
},
"WOT": {
"SEARCH_HELP": "Suche (Pseudonym oder öffentlicher Schlüssel)",
"SEARCH_INIT_PHASE_WARNING": "Während der Vorregistrierungsphase kann die Suche nach ausstehenden Erstzertifizierungen<b>lange dauern</b>. Bitte warten ...",
"REGISTERED_SINCE": "Registriert am",
"REGISTERED_SINCE_BLOCK": "Registriert mit Block #",
"NO_CERTIFICATION": "Keine validierte Zertifizierungen",
"NO_GIVEN_CERTIFICATION": "Keine vergebenen Zertifizierungen",
"NOT_MEMBER_PARENTHESIS": "(Kein Mitglied)",
"IDENTITY_REVOKED_PARENTHESIS": "(Zurückgezogenes Konto)",
"MEMBER_PENDING_REVOCATION_PARENTHESIS": "(wird zurückgezogen)",
"EXPIRE_IN": "Läuft ab",
"NOT_WRITTEN_EXPIRE_IN": "Späteste<br/>Bearbeitung",
"EXPIRED": "Abgelaufen",
"PSEUDO": "Pseudonym",
"SIGNED_ON_BLOCK": "Vergeben in Block #{{block}}",
"WRITTEN_ON_BLOCK": "Geschrieben in Block #{{block}}",
"GENERAL_DIVIDER": "Allgemeine Information",
"NOT_MEMBER_ACCOUNT": "Einfaches Konto (Kein Mitglied)",
"NOT_MEMBER_ACCOUNT_HELP": "Dies ist eine einfache Brieftasche, ohne ausstehende Beantragung der Mitgliedschaft.",
"TECHNICAL_DIVIDER": "Technische Daten",
"BTN_CERTIFY": "Zertifizieren",
"BTN_YES_CERTIFY": "Ja, Zertifizieren",
"BTN_SELECT_AND_CERTIFY": "Neue Zertifizierung",
"ACCOUNT_OPERATIONS": "Kontobewegungen",
"VIEW": {
"POPOVER_SHARE_TITLE": "Benutzer {{title}}"
},
"LOOKUP": {
"TITLE": "Mitgliederverzeichnis",
"NEWCOMERS": "Neue Mitglieder:",
"NEWCOMERS_COUNT": "{{count}} Mitglieder",
"PENDING": "Zukünftige Mitglieder:",
"PENDING_COUNT": "{{count}} ausstehende Registrierungen",
"REGISTERED": "Registriert {{sigDate | formatFromNow}}",
"MEMBER_FROM": "Mitglied seit {{memberDate|medianFromNowShort}}",
"BTN_NEWCOMERS": "Neueste Mitglieder",
"BTN_PENDING": "Ausstehende Registrierungen",
"SHOW_MORE": "Mehr anzeigen",
"SHOW_MORE_COUNT": "(Limit von {{limit}})",
"NO_PENDING": "Keine ausstehenden Registrierungen.",
"NO_NEWCOMERS": "Keine neuen Mitglieder."
},
"CONTACTS": {
"TITLE": "Kontakte"
},
"MODAL": {
"TITLE": "Suchen"
},
"CERTIFICATIONS": {
"TITLE": "{{uid}} - Zertifizierungen",
"SUMMARY": "Erhaltene Zertifizierungen",
"LIST": "Details zu erhaltenen Zertifizierungen",
"PENDING_LIST": "Ausstehende Zertifizierungen",
"RECEIVED": "Erhaltene Zertifizierungen",
"RECEIVED_BY": "Zertifizerungen, die {{uid}} erhalten hat",
"ERROR": "Irrtümlich erhaltene Zertifizierungen",
"SENTRY_MEMBER": "Referenzmitglied"
},
"OPERATIONS": {
"TITLE": "{{uid}} - Operationen"
},
"GIVEN_CERTIFICATIONS": {
"TITLE": "{{uid}} - Erteilte Zertifizierungen",
"SUMMARY": "Erteilte Zertifizierungen",
"LIST": "Details zu erteilten Zertifizierungen",
"PENDING_LIST": "Ausstehende Zertifizierungen",
"SENT": "Erteilte Zertifizierungen",
"SENT_BY": "Von {{uid}} vergebene Zertifizierungen",
"ERROR": "Irrtümlich vergebene Zertifizierungen"
}
},
"LOGIN": {
"TITLE": "<i class=\"icon ion-locked\"></i> Anmelden",
"SCRYPT_FORM_HELP": "Bitte gib Deine Zugangsdaten ein. <br> Überprüfe anschließend den berechneten öffentlichen Schlüssel auf Übereinstimmung mit Deinem Konto.",
"PUBKEY_FORM_HELP": "Bitte gib den öffentlichen Schlüssel Deines Kontos ein:",
"FILE_FORM_HELP": "Wähle die zu verwendende Schlüsselbund-Datei:",
"SCAN_FORM_HELP": "Scanne den QR-Code einer Brieftasche.",
"SALT": "Geheimer Benutzername",
"SALT_HELP": "Geheimer Benutzername (nicht das Pseudonym) zum Absichern des Kontos",
"SHOW_SALT": "Geheimen Benutzernamen anzeigen",
"PASSWORD": "Passwort",
"PASSWORD_HELP": "Passwort zum Absichern des Kontos",
"PUBKEY_HELP": "Öffentlicher Schlüssel oder Pseudonym",
"NO_ACCOUNT_QUESTION": "Noch kein Konto vorhanden?",
"HAVE_ACCOUNT_QUESTION": "Konto bereits vorhanden?",
"CREATE_ACCOUNT": "Ein Konto anlegen",
"CREATE_FREE_ACCOUNT": "Ein kostenloses Konto anlegen",
"FORGOTTEN_ID": "Password und/oder Benutzernamen vergessen?",
"ASSOCIATED_PUBKEY": "Öffentlicher Schlüssel :",
"BTN_METHODS": "Andere Verfahren",
"BTN_METHODS_DOTS": "Verfahren ändern...",
"METHOD_POPOVER_TITLE": "Verfahren",
"MEMORIZE_AUTH_FILE": "Behalte diesen Schlüsselbund für die Dauer dieser Sitzung",
"SCRYPT_PARAMETERS": "Parameter (Scrypt) :",
"AUTO_LOGOUT": {
"TITLE": "Information",
"MESSAGE": "<i class=\"ion-android-time\"></i> Du wurdest aufgrund von Inaktivität automatisch <b>abgemeldet</ b>.",
"BTN_RELOGIN": "Anmelden",
"IDLE_WARNING": "Du wirst bald abgemeldet... {{countdown}}"
},
"METHOD": {
"SCRYPT_DEFAULT": "Geheimer Benutzername und Passwort",
"SCRYPT_ADVANCED": "Fortgeschrittenes Verfahren mit &quot;salt&quot;",
"FILE": "Schlüsselbund-Datei",
"PUBKEY": "Öffentlicher Schlüssel oder Pseudonym",
"SCAN": "Scanne einen QR-Code"
},
"SCRYPT": {
"SIMPLE": "Einfaches &quot;salt&quot;",
"DEFAULT": "Standard &quot;salt&quot;",
"SECURE": "Sicheres &quot;salt&quot;",
"HARDEST": "Schweres &quot;salt&quot;",
"EXTREME": "Extremes &quot;salt&quot;",
"USER": "Benutzerwert",
"N": "N (Loop):",
"r": "r (RAM):",
"p": "p (CPU):"
},
"FILE": {
"HELP": "Erwartetes Dateiformat: <b>.dunikey</b> (Typ PubSec). Die Unterstützung weiterer Formate ist in Entwicklung (EWIF, WIF)."
}
},
"AUTH": {
"TITLE": "<i class=\"icon ion-locked\"></i> Authentifizierung",
"BTN_AUTH": "Authentifizieren",
"GENERAL_HELP": "Bitte authentifiziere dich:",
"EXPECTED_UID_HELP": "Bitte authentifiziere das Konto <i class=\"ion-person\"></i> {{uid}}:",
"EXPECTED_PUBKEY_HELP": "Bitte authentifiziere die Brieftasche <i class=\"ion-key\"></i> {{pubkey|formatPubkey}}:",
"SCAN_FORM_HELP": "Scanne den <b>öffentlichen Schlüssels</b> der Brieftasche als QR-Code."
},
"ACCOUNT": {
"TITLE": "Mein Konto",
"BALANCE": "Saldo",
"LAST_TX": "Letzte validierte Transaktionen",
"BALANCE_ACCOUNT": "Kontosaldo",
"NO_TX": "Keine Transaktionen vorhanden",
"SHOW_MORE_TX": "Mehr anzeigen",
"SHOW_ALL_TX": "Alles anzeigen",
"TX_FROM_DATE": "(Derzeitiges Limit {{fromTime|medianFromNowShort}})",
"PENDING_TX": "Anstehende Transaktionen",
"VALIDATING_TX": "Transaktionen in der Validierung",
"ERROR_TX": "Nicht ausgeführte Transaktionen",
"ERROR_TX_SENT": "Fehlgeschlagene, gesendete Transaktionen",
"PENDING_TX_RECEIVED": "Transaktionen bereit zum Empfang",
"EVENTS": "Ereignisse",
"OUT_DISTANCED": "Deine aktuellen Zertifizierungen stammen von einer Gruppe, die im <a ng-click=\"showHelpModal('wot')\"> Netz des Vertrauens</a> (WoT) zu isoliert ist: die <a ng-click=\"showHelpModal( 'distance_rule')\">Distanzregel</a> wird verletzt.<br/> Du musst Zertifizierungen von einem anderen Bereich des Netzes des Vertrauens einholen oder warten, bis es enger zusammenrückt.",
"WAITING_MEMBERSHIP": "Mitgliedsantrag abgeschickt. Wartet auf Validierung.",
"WAITING_CERTIFICATIONS": "Du brauchst {{needCertificationCount}} Zertifizierungen, um Mitglied zu werden und die <a ng-click=\"showHelpModal('ud')\">Universelle Dividende</a> zu schöpfen. Auf jeden Fall ist dein Konto schon einsatzfähig, um Zahlungen zu leisten oder zu empfangen.",
"WAITING_CERTIFICATIONS_HELP": "Bitte nur Mitglieder, die <b>dich ausreichend kennen</b>, um die nötigen Zertifizierungen zu erhalten, so wie es in der <a ng-click=\"showLicenseModal()\">Lizenz zur Währung</a> steht, die du akzeptiert hast.<br/>Wenn du keine ausreichende Anzahl Mitglieder kennst, kannst du dich im <a ng-click=\"openLink($event, $root.settings.userForumUrl)\">Mitgliederforum</a> umsehen.",
"WILL_MISSING_CERTIFICATIONS": "In Kürze werden dir <b>gültige Zertifizierungen fehlen</b>, (mindestens {{willNeedCertificationCount}} werden benötigt)",
"WILL_NEED_RENEW_MEMBERSHIP": "Dein Mitgliedsstatus <b>verfällt am {{membershipExpiresIn|formatDurationTo}}</b>. Vergiss nicht, vor diesem Termein <a ng-click=\"doQuickFix('renew')\">deine Mitgliedschaft zu erneuern</a>.",
"NEED_RENEW_MEMBERSHIP": "Du bist kein Mitglied mehr, weil deine Mitgliedschaft <b>abgelaufen ist</b>. Denke daran, <a ng-click=\"doQuickFix('renew')\">deine Mitgliedschaft zu erneuern</a>.",
"NEED_RENEW_MEMBERSHIP_AFTER_CANCELLED": "Du bist kein Mitglied mehr, weil deine Mitgliedschaft wegen fehlender Zertifizierungen <b>gekündigt</b> wurde. Denke daran, <a ng-click=\"doQuickFix('renew')\">deine Mitgliedschaft zu erneuern</a>.",
"NO_WAITING_MEMBERSHIP": "Kein Mitgliedsantrag anhängig. Wenn du <b>Mitglied werden</b> möchtest, sende bitte <a ng-click=\"doQuickFix('membership')\">den Mitgliedsantrag</a>.",
"CERTIFICATION_COUNT": "Anzahl Zertifizierungen",
"CERTIFICATION_COUNT_SHORT": "Zertifizierungen",
"SIG_STOCK": "Vorrat noch zu erteilender Zertifizierungen",
"BTN_RECEIVE_MONEY": "Erhalten",
"BTN_SELECT_ALTERNATIVES_IDENTITIES": "Wechsle zu einer anderen Identität...",
"BTN_FIX_MEMBERSHIP": "Mitgliedsantrag erneut absenden...",
"BTN_MEMBERSHIP_IN_DOTS": "Mitgliedschaft beantragen...",
"BTN_MEMBERSHIP_RENEW": "Mitgliedschaft verlängern",
"BTN_MEMBERSHIP_RENEW_DOTS": "Mitgliedschaft verlängern ...",
"BTN_MEMBERSHIP_OUT_DOTS": "Mitgliedschaft widerrufen ...",
"BTN_SEND_IDENTITY_DOTS": "Pseudonym veröffentlichen ...",
"BTN_SECURITY_DOTS": "Anmeldung und Sicherheit ...",
"BTN_SHOW_DETAILS": "Technische Daten anzeigen",
"BTN_REVOKE": "Diese Mitgliedschaft ist <span class='hidden-xs hidden-sm'> unwiderruflich</span> widerrufen ...",
"LOCKED_OUTPUTS_POPOVER": {
"TITLE": "Gesperrter Betrag",
"DESCRIPTION": "Die Bedingungen, um diesen Betrag freizuschalten, lauten wie folgt:",
"DESCRIPTION_MANY": "Diese Transaktion besteht aus mehreren Teilen, deren Bedingungen zur Freischaltung wie folgt lauten:",
"LOCKED_AMOUNT": "Bedingungen für den Betrag:"
},
"NEW": {
"TITLE": "Registrierung",
"INTRO_WARNING_TIME": "Das Erstellen eines Kontos bei {{name|capitalize}} ist sehr einfach. Bitte nimm dir hierfür ausreichend Zeit (um Benutzernamen, Passwörter etc. nicht zu vergessen).",
"INTRO_WARNING_SECURITY": "Überprüfe, ob die Hardware, die du derzeit verwendest (Computer, Tablet, Telefon), <b>sicher und vertrauenswürdig</b> ist.",
"INTRO_WARNING_SECURITY_HELP": "Aktueller Virenschutz, Firewall aktiviert, Sitzung durch Passwort oder PIN-Code geschützt...",
"INTRO_HELP": "Klicke auf <b>{{'COMMON.BTN_START'|translate}}</b>, um mit der Erstellung eines Kontos zu beginnen. Du wirst Schritt für Schritt angeleitet.",
"REGISTRATION_NODE": "Ihre Registrierung wird über den Duniter-Knoten <b>{{server}}</b> durchgeführt und anschließend an den Rest des Währungsnetzwerks verteilt.",
"REGISTRATION_NODE_HELP": "Wenn du diesem Knoten nicht vertraust, wähle bitte <a ng-click=\"doQuickFix('settings')\">in den Einstellungen</a> einen Anderen.",
"SELECT_ACCOUNT_TYPE": "Wähle die Art des zu eröffnenden Kontos:",
"SLIDE_1_TITLE": "Wähle eine Währung aus:",
"SLIDE_2_TITLE": "Kontoart:",
"MEMBER_ACCOUNT": "Persönliches Konto (Mitglied)",
"MEMBER_ACCOUNT_TITLE": "Mitgliedskonto eröffnen",
"MEMBER_ACCOUNT_HELP": "Wenn du noch nicht als Mensch / Person registriert bist (es ist nur ein Mitgliedskonto pro Individuum möglich).",
"WALLET_ACCOUNT": "Einfaches Konto (Brieftasche)",
"WALLET_ACCOUNT_TITLE": "Brieftasche eröffnen",
"WALLET_ACCOUNT_HELP": "Wenn du für ein Unternehmen, eine Stiftung, einen Verein etc. agierst oder einfach ein weiteres Konto benötigst. Durch dieses Konto wird keine universelle Dividende geschöpft werden.",
"SALT_WARNING": "Wähle einen sicheren Benutzernamen.<br/>Diesen brauchst du für jedes Anmelden an deinem Konto.<br/><br/><b>Stelle sicher, dass du ihn gut behalten kannst</b>.<br/>Einmal verloren gegangen, gibt es keine Möglichkeit, deine Zugangsdaten wiederherzustellen!",
"PASSWORD_WARNING": "Wähle ein sicheres Passwort.<br/>Das brauchst für jede Anmeldung an deinem Konto.<br/><br/><b>Stelle sicher, dass du es gut behalten kannst (aufschreiben, sicher ablegen, einfach zu merken, aber trotzdem sicher ...).</b>.<br/>Einmal verloren, gibt es keinen Weg, um deine Zugangsdaten wiederherzustellen!",
"PSEUDO_WARNING": "Wähle ein Pseudonym.<br/>Es wird benötig, damit dich andere Mitglieder einfach finden können.<br/><br/>.Die Verwendung von Leerzeichen, Kommata und Akzenten ist nicht erlaubt.<br/><div class='hidden-xs'><br/>Ein Beispiel: <span class='gray'>ErikaMustermann, Peter192, SuperMann etc.</span>",
"PSEUDO": "Pseudonym",
"PSEUDO_HELP": "joe123",
"SALT_CONFIRM": "Bestätigen",
"SALT_CONFIRM_HELP": "Bestätige deinen Benutzernamen",
"PASSWORD_CONFIRM": "Bestätigen",
"PASSWORD_CONFIRM_HELP": "Bestätige dein Passwort",
"SLIDE_6_TITLE": "Bestätigung:",
"COMPUTING_PUBKEY": "Berechnung des öffentlichen Schlüssels ...",
"LAST_SLIDE_CONGRATULATION": "Bravo! Du hast alle benötigten Felder ausgefüllt.<br/>Jetzt kannst du deinen <b>Kontoantrag abschicken</b>.<br/><br/>Zur Information: mit dem öffentlichen Schlüssel wird in Zukunft dein Konto identifiziert.<br/>Du kannst diesen an Dritte weitergeben um Zahlungen zu erhalten. Sobald das Konto erfolgreich eingerichtet ist, findest du den öffentlichen Schlüssel unter <b>{{'ACCOUNT.TITLE'|translate}}</b>.",
"CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">WARNUNG:</b> Deine Zugangsdaten aus Benutzernamen, Passwort und das Pseudonym können nach dem Anlegen nicht mehr verändert werden.<br/><b>Stelle sicher, dass du diese Daten gut verwahrst!</b><br/><b>Bist du dir sicher,</b> dass du dien persönliche Kontoanfrage abschicken möchtest?",
"CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">WARNUNG:</b> Deine Zugangsdaten aus Benutzername und Passwort können nach Anlegen des Kontos nicht mehr geändert werden.<br/><b>Stelle sicher, dass du sie sicher aufbewahrst / behältst!</b><br/><b>Bist du dir sicher, dass du </b> jetzt die Konotanfrage abschicken willst?",
"CHECKING_PSEUDO": "Überprüfe...",
"PSEUDO_AVAILABLE": "Dieses Pseudonym ist verfügbar",
"PSEUDO_NOT_AVAILABLE": "Diesies Pseudonym ist nicht möglich",
"INFO_LICENSE": "Wenn du dich an dieser Währung beteiligen möchtest, bitten wir dich, die Lizenz zu lesen und zu akzeptieren.",
"BTN_ACCEPT": "Ich akzeptiere",
"BTN_ACCEPT_LICENSE": "Ich bin mit der Lizenz einverstanden"
},
"POPUP_REGISTER": {
"TITLE": "Bitte ein Pseudonym eintragen",
"HELP": "Das Pseudonym ist nötig, damit andere dich/dein Konto finden können."
},
"SELECT_IDENTITY_MODAL": {
"TITLE": "Auswahl der Identität",
"HELP": "Mehrere <b>unterschiedliche Identitäten</b> wurden für den öffentlichen Schlüssel <span class=\"gray\"> <i class=\"ion-key\"></i> {{pubkey | formatPubkey}}</span> gesendet.<br/>Bitte wählen Sie die zu verwendende Identität aus:"
},
"SELECT_WALLET_MODAL": {
"TITLE": "Auswahl der Brieftasche"
},
"CERTIFICATION_MODAL": {
"CHECKLIST_TITLE": "Prüfungen vor der Zertifizierung",
"INFOS": "Die Sicherheit der Währung Ğ1 basiert auf jedem Mitglied. Bevor Sie die Identität dieser Person zertifizieren, müssen Sie einige Überprüfungen vorgenommen haben. Bitte beantworten Sie die folgenden Fragen:",
"BTN_ALL_CHECK": "Zertifizieren",
"CHECKLIST_CONDITIONS_NOT_MET": "Die Zertifizierung wurde nicht gesendet. Die Überprüfungen scheinen unzureichend zu sein. Bitte überprüfen Sie jeden Punkt erneut bei der zu zertifizierenden Person.",
"QUESTIONS": {
"WELL_KNOWN": "Kennen Sie die Person, die Sie zertifizieren, <b>gut</b>, und kennen Sie auch andere, die sie gut kennen?",
"REVOCATION": "Hat sie ihr <b>Widerrufsdokument</b> heruntergeladen und weiß sie, wo sie es finden kann?",
"CONTACT": "Haben Sie diese Person auf verschiedene Weise <b>kontaktiert</b>, und hat sie Ihnen geantwortet?",
"DOUBLE_IDENTITY": "Die Person muss <b>nur eine aktive Mitgliedsidentität</b> haben. Hat sie <b>eine andere</b>?",
"MASTER_ACCOUNT": "Kontrolliert sie ihr Konto und hat sie mindestens <b>eine Überweisung</b> von diesem Konto getätigt?",
"LICENSE": "Hat sie die <b>Lizenz verstanden</b>, und stimmt sie zu, sie bei der Zertifizierung anderer Mitglieder einzuhalten?",
"CREDENTIALS": "Sind der Geheimer Benutzername und das Passwort ihres Kontos <b>lang und komplex</b> (Passphrasen)? Hat sie verstanden, dass der Benutzername auch geheim bleiben muss? Ist sie <b>sicher, sich daran zu erinnern</b> oder in der Lage, sie wiederzufinden?",
"PUBLIC_KEY_DIFFERENT": "Der angegebene <b>öffentliche Schlüssel</b> muss <b>identisch</b> sein mit dem, den Ihnen diese Person mitgeteilt hat. Sind die Schlüssel <b>unterschiedlich</b>?"
},
"REMINDER_TITLE": "Erinnerung",
"SHORT_LICENSE_REMINDER": "Sie können die zertifizierte Person an die Zertifizierungsparameter erinnern:<br/><br/><ul><li> - Jedes Mitglied kann maximal 100 gültige Zertifikate ausstellen.</li><li>- Die Zertifikate werden in Abständen von 5 Tagen aufgezeichnet.</li><li> - Eine neue Mitgliedsidentität muss in weniger als zwei Monaten mindestens 5 Zertifikate sammeln.</li><li> - Ein Mitglied muss seine Mitgliedschaft jedes Jahr erneuern.</li><li> - Zertifikate sind zwei Jahre gültig.</li></ul>"
},
"WALLET_LIST": {
"TITLE": "Meine Brieftaschen",
"BTN_NEW": "Eine Brieftasche hinzufügen",
"BTN_DOWNLOAD": "Liste herunterladen",
"BTN_IMPORT_FILE_DOTS": "Aus Datei importieren...",
"NO_WALLET": "Keine sekundäre Brieftasche",
"BTN_DELETE": "Eine sekundäre Brieftasche entfernen...",
"BTN_RENAME": "Brieftasche umbenennen",
"EXPORT_FILENAME": "{{currency}}-my_wallets-{{pubkey}}.csv",
"TOTAL_DOTS": "Gesamt: ",
"EDIT_POPOVER": {
"TITLE": "Brieftasche umbenennen",
"HELP": "Gib den neuen Namen ein",
"NAME_HELP": "Name der Brieftasche"
},
"IMPORT_MODAL": {
"TITLE": "Sekundäre Brieftaschen importieren",
"HELP": "Um <b>sekundäre Brieftaschen zu importieren</b>, ziehen Sie bitte die Datei in das Feld unten oder klicken Sie in das Feld, um nach einer Datei zu suchen.",
"WALLET_COUNT": "<b>{{count}}</b> neue Brieftasche{{count > 1 ? 'n' : ''}}",
"NO_NEW_WALLET": "Keine neue Brieftaschen"
}
},
"SECURITY":{
"ADD_QUESTION" : "Füge eine benutzerdefinierte Frage hinzu",
"BTN_CLEAN" : "Leeren",
"BTN_RESET" : "Zurücksetzen",
"DOWNLOAD_REVOKE": "Speichere eine Sperrdatei",
"DOWNLOAD_REVOKE_HELP" : "Eine Sperrdatei ist wichtig, zum Beispiel bei Verlust von Zugangsdaten. Sie ermöglicht dir, <b>dieses Konto aus dem Netz des Vertrauens herauszuholen</b> und es zu einer einfachen Brieftasche zu machen.",
"GENERATE_KEYFILE": "Meine Schlüsselbund-Datei generieren ...",
"GENERATE_KEYFILE_HELP": "Generiere eine Datei, mit der du dich authentifizieren kannst, ohne deine Zugangsdaten einzugeben.<br/><b>Warnung:</b> Diese Datei enthält Ihren geheimen Schlüssel. Es ist daher sehr wichtig, sie an einem sicheren Ort aufzubewahren!",
"KEYFILE_FILENAME": "{{currency}}-keychain-{{pubkey}}-{{format}}.dunikey",
"MEMBERSHIP_IN": "Als Mitglied registrieren...",
"MEMBERSHIP_IN_HELP": "Ermöglicht es dir, ein einfaches Brieftaschen-Konto <b>in ein Mitgliedskonto umzuwandeln</b>, indem du eine Mitgliedschaftsanfrage sendest. Nur erlaubt, wenn du noch kein anderes Mitgliedskonto hast.",
"SEND_IDENTITY": "Pseudonym veröffentlichen...",
"SEND_IDENTITY_HELP": "Ermöglicht es dir, diesem Konto ein Pseudonym zuzuordnen, aber <b>ohne eine Mitgliedschaft zu beantragen</b>. Dies ist nicht sehr sinnvoll, da die Gültigkeit dieser Pseudonymzuordnung zeitlich begrenzt ist.",
"HELP_LEVEL": "Wählen Sie <strong> mindestens {{nb}} Fragen </strong>:",
"LEVEL": "Sicherheitsstufe",
"LOW_LEVEL": "Gering <span class=\"hidden-xs\">(2 Fragen Minimum)</span>",
"MEDIUM_LEVEL": "Mittel <span class=\"hidden-xs\">(4 Fragen Minimum)</span>",
"QUESTION_1": "Wie hieß dein(e) beste(r) Freund(in) als Teenager?",
"QUESTION_2": "Wie hieß dein erstes Haustier?",
"QUESTION_3": "Was war das erste Gericht, das du kochen konntest?",
"QUESTION_4": "Was war der erste Film, den Du im Kino gesehen hast?",
"QUESTION_5": "Wohin ging deine erste Flugreise?",
"QUESTION_6": "Wie hieß dein(e) liebste(r) Grundschullehrer(in)?",
"QUESTION_7": "Was wäre für Dich die ideale Arbeit?",
"QUESTION_8": "Welches Kinderbuch magst du am liebsten?",
"QUESTION_9": "Von welchem Modell war Dein erstes Auto?",
"QUESTION_10": "Welchen Spitznamen hattest du als Kind?",
"QUESTION_11": "Wer war dein liebster Kinoschauspieler oder Filmcharakter als du Student warst?",
"QUESTION_12": "Wer war dein(e) liebst(er) Sänger(in) oder Band als du Student warst?",
"QUESTION_13": "In welcher Stadt fanden sich deine Eltern?",
"QUESTION_14": "Wie hieß dein erster Chef?",
"QUESTION_15": "Wie hieß die Straße in der du aufgewachsen bist?",
"QUESTION_16": "Wie hieß der erste Strand an dem du schwimmen warst?",
"QUESTION_17": "Wie hieß das erste Album, das du gekauft hast?",
"QUESTION_18": "Wie heißt deine liebste Sportmannschaft?",
"QUESTION_19": "Welcher Arbeit ging dein Großvater nach?",
"RECOVER_ID": "Mein Passwort wiederherstellen...",
"RECOVER_ID_HELP": "Wenn du eine <b>Sicherungsdatei deiner Zugangsdaten</b> hast, kannst du diese wiederherstellen, indem du deine persönlichen Fragen richtig beantwortest.",
"RECOVER_ID_SELECT_FILE": "Wähle die <b>Sicherungsdatei deiner Zugangsdaten</b>:",
"REVOCATION_WITH_FILE" : "Widerrufe mein Mitgliedskonto...",
"REVOCATION_WITH_FILE_DESCRIPTION": "Wenn du <b>deine Mitgliedskonto-Zugangsdaten dauerhaft verloren hast (oder wenn die Kontosicherheit gefährdet ist), kannst du <b>die Widerrufsdatei</b> des Kontos verwenden, <b>um das Netz des Vertrauens zu verlassen</b>.",
"REVOCATION_WITH_FILE_HELP": "Um ein Mitgliedskonto <b>dauerhaft zu widerrufen</b>, ziehe bitte die Widerrufsdatei in das Feld unten oder klicke in das Feld, um nach einer Datei zu suchen.",
"REVOCATION_WALLET": "Dieses Konto sofort widerrufen",
"REVOCATION_WALLET_HELP": "Die Anforderung des Widerrufs Ihrer Identität führt dazu, dass <b>Ihre Mitgliedschaft widerrufen wird</b> (auf jeden Fall für das zugehörige Pseudonym und den öffentlichen Schlüssel). Das Konto ist dann nicht mehr in der Lage, eine Universaldividende zu produzieren.<br/>Sie können es jedoch weiterhin als einfache Brieftasche verwenden.",
"REVOCATION_FILENAME": "{{currency}}-revocation-{{uid}}-{{pubkey}}.txt",
"SAVE_ID": "Meine Zugangsdaten speichern...",
"SAVE_ID_HELP": "Erstellen einer Sicherungsdatei, um <b>dein Passwort</b> (und den geheimen Benutzernamen) <b>wiederzuerlangen, falls du es vergisst</b>. Die Datei ist mit personenbezogenen Fragen <b>gesichert</b> (verschlüsselt).",
"SAVE_ID_FILENAME": "{{currency}}-anmeldeinformationen-{{pubkey}}.txt",
"STRONG_LEVEL": "Hoch <span class=\"hidden-xs \">(6 Fragen Minimum)</span>",
"TITLE": "Konto and Sicherheit",
"KEYFILE": {
"PUBSEC_FORMAT": "PubSec Format.",
"PUBSEC_FORMAT_HELP": "Dieses Dateiformat ist insbesondere mit Cesium und Gannonce kompatibel. Ihr Schlüsselbund wird <b>unverschlüsselt</b> gespeichert: Jeder, der eine Kopie dieser Datei besitzt, kann Ihr Konto ausräumen.",
"WIF_FORMAT": "Wallet Import Format (WIF)",
"WIF_FORMAT_HELP": "Dieses Format wird insbesondere von &quot;Paper Wallets&quot; verwendet. Ihr Schlüsselbund wird <b>unverschlüsselt</b> gespeichert: Jeder, der eine Kopie dieser Datei besitzt, kann Ihr Konto ausräumen.",
"EWIF_FORMAT": "Encrypted Wallet Import Format (WIF)",
"EWIF_FORMAT_HELP": "Dieses Format wird insbesondere von &quot;Paper Wallets&quot; verwendet. <b>Der Schlüsselbund ist jedoch verschlüsselt</b>, mit einer Passphrase deiner Wahl.",
"PASSWORD_POPUP": {
"TITLE": "Verschlüsselter Schlüsselbund",
"HELP": "Bitte gib eine Passphrase ein:",
"PASSWORD_HELP": "Passphrase"
},
"ERROR": {
"BAD_PASSWORD": "Falsche Passphrase",
"BAD_CHECKSUM": "Falsche Prüfsumme"
}
}
},
"FILE_NAME": "{{currency}}-Kontozusammenfassung-{{pubkey}}-{{currentTime|formatDateForFile}}.csv",
"HEADERS": {
"TIME": "Datum",
"AMOUNT": "Betrag",
"COMMENT": "Kommentar"
}
},
"TRANSFER": {
"TITLE": "Überweisung",
"SUB_TITLE": "Geld überweisen",
"SUB_TITLE_ALL": "Das Konto leeren",
"FROM": "Von",
"TO": "An",
"AMOUNT": "Betrag",
"AMOUNT_HELP": "Betrag",
"COMMENT": "Kommentar",
"COMMENT_HELP": "Kommentar (optional)",
"BTN_SEND": "Senden",
"BTN_ADD_COMMENT": "Kommentar hinzufügen",
"REST": "Restbetrag des Kontos",
"REST_TO": "an",
"WARN_COMMENT_IS_PUBLIC": "Bitte bedenke, dass <b>Kommentare öffenlich einsehbar sind </b> (nicht verschlüsselt).",
"MODAL": {
"TITLE": "Überweisung"
}
},
"ERROR": {
"UNKNOWN_URI_FORMAT": "Unbekanntes URI Format",
"PUBKEY_INVALID_CHECKSUM": "Ungültiger öffentlicher Schlüssel (falsche Prüfsumme).",
"POPUP_TITLE": "Fehler",
"UNKNOWN_ERROR": "Unbekannter Fehler",
"TIMEOUT_REACHED": "Zeitüberschreitung des Knotens überschritten ({{timeout|formatDurationMs}}).<br/><br/><small>{{url}}</small>",
"TOO_MANY_REQUESTS": "Sie haben in kurzer Zeit zu viele Anfragen gesendet. Bitte warten Sie eine Weile, bevor Sie es erneut versuchen.<br/><br/><small>{{url}}</small>",
"CRYPTO_UNKNOWN_ERROR": "Dein Browser ist nicht kompatibel mit kryptographischen Eigenschaften.",
"DOWNLOAD_KEYFILE_FAILED": "Die Schlüsselbunddatei konnte nicht generiert werden.",
"EQUALS_TO_PSEUDO": "Muss sich vom Pseudonym unterscheiden",
"EQUALS_TO_SALT": "Muss sich vom geheimen Benutzernamen unterscheiden",
"FIELD_REQUIRED": "Das ist eine Pflichteingabe.",
"FIELD_TOO_SHORT": "Der eingetragene Wert hat zu wenige Zeichen (min {{minLength]] characters).",
"FIELD_TOO_SHORT_WITH_LENGTH": "Das Eingabefeld ist zu kurz.",
"FIELD_TOO_LONG": "Die Eingabe überschreitet die maximale Länge.",
"FIELD_TOO_LONG_WITH_LENGTH": "Der Eintrag ist zu lang (max {{maxLength}} Zeichen).",
"FIELD_MIN": "Minimalwert: {{min}}",
"FIELD_MAX": "Maximalwert: {{max}}",
"FIELD_ACCENT": "Kommata, Leerzeichen und Akzente sind nicht erlaubt.",
"FIELD_NOT_NUMBER": "Der eingetragene Wert ist keine Zahl",
"FIELD_NOT_INT": "Der Wert ist keine ganze Zahl",
"FIELD_NOT_EMAIL": "E-Mail-Adresse ist ungültig",
"PASSWORD_NOT_CONFIRMED": "Deine Eingabe passt nicht zum vorhergehenden Passwort.",
"SALT_NOT_CONFIRMED": "Die Wiederholung passt nicht zur vorhergehenden Eingabe.",
"SEND_IDENTITY_FAILED": "Es ist ein Fehler bei der Registrierung aufgetreten.",
"SEND_CERTIFICATION_FAILED": "Die Zertifizierung konnte nicht durchgeführt werden.",
"NEED_MEMBER_ACCOUNT_TO_CERTIFY": "Du kannst nicht zertifizieren, weil <b>dein Konto kein Mitgliedskonsot ist</b>.",
"NEED_MEMBER_ACCOUNT_TO_CERTIFY_HAS_SELF": "Du konntest die Zertifizierung noch nicht absenden, weil du <b>noch nicht Mitglied bist. </b><br/>Du brauchst noch selbst Zertifizierungen, um Mitglied zu werden.",
"IDENTITY_TO_CERTIFY_HAS_NO_SELF": "Dieses Konto konnte nicht zertifiziert werden. Es wurde keine Registrierung gefunden oder es muss erneuert werden.",
"LOGIN_FAILED": "Fehler beim Einloggen.",
"LOAD_IDENTITY_FAILED": "Diese Identität konnte nicht geladen werden.",
"LOAD_REQUIREMENTS_FAILED": "Es konnten keine Bedingungen geladen werden.",
"SEND_MEMBERSHIP_IN_FAILED": "Es ist ein Fehler bei der Registrierung als Mitglied aufgetreten.",
"SEND_MEMBERSHIP_OUT_FAILED": "Es ist ein Fehler beim Widerruf des Mitgliedsstatus aufgetreten.",
"REFRESH_WALLET_DATA": "Das Konto konnte nicht neu geladen werden.",
"GET_CURRENCY_PARAMETER": "Die Währungsparameter konnten nicht geladen werden.",
"GET_CURRENCY_FAILED": "Die Währung konnte nicht geladen werden.",
"SEND_TX_FAILED": "Die Tansaktion konnte nicht abgeschlossen werden.",
"ALL_SOURCES_USED": "Bitte warte bis der nächste Block berechnet wird (alle Transaktionressourcen sind gerade verbraucht).",
"NOT_ENOUGH_SOURCES": "Es ist nicht genug Geld auf dem Konto um jetzt diese Summe zu überweisen.<br/>Maximale Summe: {{amount}} {{unit}}<sub>{{subUnit}}</sub>.",
"ACCOUNT_CREATION_FAILED": "Es gab einen Fehler beim Anlegen deines Mitgliedskontos.",
"RESTORE_WALLET_DATA_ERROR": "Es gab einen Fehler beim Einlesen der Einstellung aus dem lokalen Speicher",
"LOAD_WALLET_DATA_ERROR": "Es gab einen Fehler beim Laden der Kontodaten.",
"COPY_CLIPBOARD_FAILED": "Daten konnten nicht in die Zwischenablage kopiert werden",
"TAKE_PICTURE_FAILED": "Es konnte kein Bild geladen werden.",
"SCAN_FAILED": "Der QR-Code konnte nicht gescannt werden.",
"SCAN_UNKNOWN_FORMAT": "QR-Code wurde nicht erkannt.",
"WOT_LOOKUP_FAILED": "Die Suche ist fehlgeschlagen.",
"LOAD_PEER_DATA_FAILED": "Der gewählte Duniter-Knoten ist nicht erreichbar, versuche es später noch einmal.",
"NEED_LOGIN_FIRST": "Bitte logge dich zuerst ein.",
"AMOUNT_REQUIRED": "Es muss ein Betrag angegeben werden.",
"AMOUNT_NEGATIVE": "Negative Werte sind nicht möglich.",
"NOT_ENOUGH_CREDIT": "Du hast nicht genug Guthaben.",
"INVALID_NODE_SUMMARY": "Der Netzknoten ist nicher erreichbar oder die Adresse existiert nicht",
"INVALID_USER_ID": "Die Eingabe für 'Pseudonym' darf keine Leerzeichen oder Sonderzeichen enthalten.",
"INVALID_COMMENT": "Die Eingabe für 'reference' hat das falsche Format.",
"INVALID_PUBKEY": "Der öffentliche Schlüssel hat das falsche Format.",
"INVALID_PUBKEY_CHECKSUM": "Ungültige Prüfsumme.",
"IDENTITY_REVOKED": "Diese Identität wurde <b>widerrufen</b>. Sie kann nicht mehr Mitglied werden.",
"IDENTITY_REVOKED_WITH_TIME": "Diese Identität <b>wurde widerrufen {{revocationTime|medianFromNow}}</b> ({{revocationTime|medianDate}}). Sie kann nicht mehr Mitglied werden.",
"IDENTITY_PENDING_REVOCATION": "Der <b>Widerruf dieser Identität</b> wurde beantragt und wartet auf Bearbeitung. Zertifizierung ist daher deaktiviert.",
"IDENTITY_INVALID_BLOCK_HASH": "Dieser Mitgliedsstatus ist nicht länger gültig (weil er sich auf einen von den Netzknoten gelöschten Block bezieht): diese Person muss seine Mitgliedschaft erneuern <b>bevor</b> sie zertifiziert werden kann.",
"IDENTITY_EXPIRED": "Diese Identität ist abgelaufen: diese Person muss sich neu registrieren <b>bevor</b> sie zertifiziert werden kann.",
"IDENTITY_SANDBOX_FULL": "Registrierung nicht möglich, weil die Sandbox des genutzten Knotens voll ist.<br/><br/>Versuche es später erneut oder wähle einen anderen Duniter-Knoten (in den <b>Einstellungen</b>).",
"IDENTITY_NOT_FOUND": "Identität nicht gefunden",
"IDENTITY_TX_FAILED": "Fehler beim Laden der Transaktion dieser Identität",
"WOT_PENDING_INVALID_BLOCK_HASH": "Diese Mitgliedschaft ist ungültig.",
"WALLET_INVALID_BLOCK_HASH": "Deine Mitgliedschaft ist nicht mehr gültig (sie referenziert einen gelöschten Block).<br/>Du musst <a ng-click=\"doQuickFix('renew')\">deine Mitgliedsregistrierungerneuern</a> um dieses Problem zu lösen.",
"WALLET_IDENTITY_EXPIRED": "Die Veröffentlichung deiner Identität <b>ist abgelaufen</b>.<br/>Du musst <a ng-click=\"doQuickFix('fixIdentity')\">deine Identität neu beantragen</a> um das Problem zu lösen.",
"WALLET_REVOKED": "Deine Identität wurde <b>widerrufen</b>: weder dein Pseudonym noch dein öffentlicher Schlüssel werden in der Zukunft für ein Mitgliedskonto benutzt werden.",
"WALLET_HAS_NO_SELF": "Deine Identität muss erst veröffentlicht sein und darf nicht abgelaufen sein.",
"AUTH_REQUIRED": "Authentifizierung erforderlich.",
"AUTH_INVALID_PUBKEY": "Der öffentliche Schlüssel entspricht nicht dem verbundenen Konto.",
"AUTH_INVALID_SCRYPT": "Ungültiger Benutzername oder Passwort.",
"AUTH_INVALID_FILE": "Ungültige Schlüsselbunddatei.",
"AUTH_FILE_ERROR": "Konnte Schlüsselbunddatei nicht öffnen",
"IDENTITY_ALREADY_CERTIFY": "Du hast dieses Konto / diese Persion <b>bereits zertifiziert</b>.<br/><br/>Deine Zertifizierung ist noch gültig (und verfällt in {{expiresIn|formatDuration}}).",
"IDENTITY_ALREADY_CERTIFY_PENDING": "Du hst dieses Konto / diese Person <b>schon zertifiziert</b>.<br/><br/>Deine Zertifizierung ist noch nicht validiert worden (Letztes Datum für die Behandlung {{expiresIn|formatDuration}}).",
"UNABLE_TO_CERTIFY_TITLE": "Zertifizieren nicht möglich",
"LOAD_NEWCOMERS_FAILED": "Laden neuer Mitglieder nicht möglich.",
"LOAD_PENDING_FAILED": "Laden anstehender Mitgliedsregistrierungen nicht möglich.",
"ONLY_MEMBER_CAN_EXECUTE_THIS_ACTION": "Du musst <b>ein Mitglied sein</b>, um diese Aktion ausführen zu können.",
"ONLY_MEMBER_OR_WAS_MEMBER_CAN_EXECUTE_THIS_ACTION": "Du musst <b>ein Mitglied (oder ehemaliges Mitglied) sein</b>, um diese Aktion ausführen zu können.",
"ONLY_SELF_CAN_EXECUTE_THIS_ACTION": "Du musst deine <b>Identität veröffentlicht haben</b> um diese Aktion machen zu können.",
"GET_BLOCK_FAILED": "Fehler beim Holen eines Blocks",
"INVALID_BLOCK_HASH": "Block nicht gefunden (falscher Hashwert)",
"DOWNLOAD_REVOCATION_FAILED": "Fehler beim Herunterladen der Widerrufsdatei.",
"DOWNLOAD_SAVE_ID_FAILED": "Fehler beim Herunterladen der Sicherungsdatei für die Anmeldeinformationen.",
"REVOCATION_FAILED": "Fehler bei dem Versuch, die Identität zu widerrufen.",
"SALT_OR_PASSWORD_NOT_CONFIRMED": "Falscher geheimer Benutzername oder Passwort",
"RECOVER_ID_FAILED": "Konnte Passwort nicht wiederherstellen",
"LOAD_FILE_FAILED" : "Kann Datei nicht laden",
"NOT_VALID_REVOCATION_FILE": "Ungültige Widerrufsdatei (falsches Dateiformat)",
"NOT_VALID_SAVE_ID_FILE": "Ungültige Zugangsdatensicherungsdatei (falsches Dateiformat)",
"NOT_VALID_KEY_FILE": "Ungültige Schlüsselbunddatei (unbekanntes Format)",
"EXISTING_ACCOUNT": "Die von dir eingegebenen Daten passen zu einem bestehenden Konto mit diesem <a ng-click=\"showHelpModal('pubkey')\">öffentlichen Schlüssel</a>:",
"EXISTING_ACCOUNT_REQUEST": "Bitte passe deine Zugangsdaten an, um dich mit einem nicht bereits vergebenen Konto zu verbinden.",
"GET_LICENSE_FILE_FAILED": "Kann Lizenzdatei nicht laden",
"CHECK_NETWORK_CONNECTION": "Kein Knoten scheint erreichbar zu sein.<br/><br/>Bitte <b>überprüfe deine Internetverbindung</b>.",
"ISSUE_524_TX_FAILED": "Übertragung fehlgeschlagen.<br/><br/>Eine Nachricht wurde an die Entwickler übermittelt, um bei der Problemlösung zu helfen.<b>Vielen Dank für deine Hilfe</b>.",
"ADD_SECONDARY_WALLET_FAILED": "Konnte sekundäre Brieftasche nicht hinzufügen.",
"REMOVE_SECONDARY_WALLET_FAILED": "Konnte sekundäre Brieftasche nicht entfernen.",
"UPDATE_WALLET_LIST_FAILED": "Konnte die Liste der Brieftaschen nicht aktualisieren.",
"LOAD_WALLET_LIST_FAILED": "Konnte die Liste der Brieftaschen nicht laden.",
"SAVE_WALLET_LIST_FAILED": "Konnte die Liste der Brieftaschen nicht speichern.",
"COULD_NOT_ADD_MAIN_WALLET": "Diese Brieftasche <b>ist das Hauptkonto</b> mit dem du verbunden bist. Es kann daher nicht als sekundäre Brieftasche hinzugefügt werden.",
"COULD_NOT_ADD_EXISTING_WALLET": "Diese Brieftasche ist bereits auf der Liste.",
"UNKNOWN_WALLET_ID": "Unbekannte sekundäre Brieftasche.",
"RESTORE_WALLET_LIST_FAILED": "Konnte die Liste der Brieftaschen nicht wiederherstellen.",
"INVALID_FILE_FORMAT": "Ungültiges Dateiformat.",
"SAME_TX_RECIPIENT": "Der Empfänger muss sich vom Auftraggeber unterscheiden.",
"SELF_CERTIFICATION": "Sie können Ihre eigene Identität nicht zertifizieren.",
"TX_SANDBOX_FULL": "Der von Cesium verwendete Duniter-Knoten kann keine neuen Überweisungen mehr bearbeiten, da die Warteschlange voll ist.<br/><br/>Versuche es später erneut oder wähle einen anderen Duniter-Knoten (in den <b>Einstellungen</b>).",
"DOWNLOAD_TX_HISTORY_FAILED": "Fehler beim Herunterladen des Kontoauszugs"
},
"INFO": {
"POPUP_TITLE": "Hinweis",
"CERTIFICATION_DONE": "Die Zertifizierung wurde erfolgreich durchgeführt",
"NOT_ENOUGH_CREDIT": "Es ist nicht genug Kredit vorhanden",
"TRANSFER_SENT": "Überweisung erfolgreich durchgeführt",
"COPY_TO_CLIPBOARD_DONE": "Eine Kopie wurde in der Zwischenablage angelegt",
"MEMBERSHIP_OUT_SENT": "Widerruf des Kontos erfolgreich abgeschickt",
"NOT_NEED_MEMBERSHIP": "Du bist schon ein Mitglied.",
"IDENTITY_WILL_MISSING_CERTIFICATIONS": "Dieses Mitgliedskonto hat in Kürze ungültige Zertifizierungen (mindestens {{willNeedCertificationCount}} sind erforderlich).",
"IDENTITY_NEED_MEMBERSHIP": "Diese Identität hat (noch) keinen Mitgliedsantrag gestellt. Sie wird das tun müssen, wenn sie einen Mitgliederstatus wünscht.",
"HAS_ALTERNATIVE_IDENTITIES": "Mit diesem öffentlichen Schlüssel sind <b>mehrere Identitäten</b> verknüpft. <b>Vor jeder Zertifizierung</b>, <a ng-click=\"doQuickFix('showSelectIdentities')\">überprüfe bitte die anderen Identitäten</a>, um die richtige auszuwählen, oder wenden Sie sich an den Eigentümer der Brieftasche.",
"REVOCATION_SENT": "Widerruf des Kontos abgeschickt",
"REVOCATION_SENT_WAITING_PROCESS": "Widerruf des Kontos <b>erfolgreich abgeschickt</b>. Bearbeitung steht noch aus.",
"FEATURE_NOT_AVAILABLE_ON_DEMO": "Diese Funktion ist auf der Demo-Version nicht verfügbar.<br/>Aus <b>Sicherheitsgründen</b> empfehlen wir dir, eine Kopie der Software zu <b>installieren</b>.<br/>Besuche die Webseite <a href='https://cesium.app'>www.cesium.app</a> für Hilfe und weitere Informationen.",
"FEATURES_NOT_IMPLEMENTED": "Diese Funktion ist noch nicht implementiert.<br/><br/>Warum nicht mitwirken, um sie schneller zu erhalten? ;)",
"EMPTY_TX_HISTORY": "Keine Tansaktionen für den Export vorhanden.",
"LOADING_PENDING_TX": "Lade...<br/><small>(Abrufen von ausstehenden Operationen)</small>",
"FILE_DOWNLOADED": "Datei heruntergeladen"
},
"CONFIRM": {
"CAN_CONTINUE": "<b>Bist du sicher</b>, dass du fortfahren möchtest?",
"POPUP_TITLE": "<b>Bestätigung</b>",
"POPUP_WARNING_TITLE": "<b>WARNUNG</b>",
"POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Sicherheits-Hinweis</b>",
"CERTIFY_RULES_TITLE_UID": "Zertifiziere {{uid}}",
"CERTIFY_RULES": "<b>Sicherheitswarnung:</b><br/><br/><b class=\"assertive\">Zertifiziere ein Konto nicht</b> wenn du glaubst, dass: <ul><li>1.) der Anfragende kein echter Mensch ist.<li>2.) der Anfragende bereits ein registriertes Mitgliedskonto hat.<li>3.) der Anfragende absichtlich oder unwissendlich die Regel 1 oder 2 durch Erteilen von Zertifizierungen misachtet.</ul></small><br/>Bist du dir sicher, dass du dieses Konto zertifizieren willst?",
"FULLSCREEN": "Anwendung im Vollbild anzeigen?",
"EXIT_APP": "Anwendung schließen?",
"TRANSFER": "<b>Zusammenfassung der Überweisung:</b><br/><br/><ul><li> - Von: <b>{{from}}</b></li><li> - An: <b>{{to}}</b></li><li> - Betrag: <b>{{amount}} {{unit}}</b></li><li> - Kommentar: <i>{{comment}}</i></li></ul><br/><b>Bist du dir sicher, dass du diese Überweisung ausführen willst?</b>",
"TRANSFER_ALL": "<b>Zusammenfassung der Überweisung:</b><br/><br/><ul><li> - Von: <b>{{from}}</b></li><li> - An: <b>{{to}}</b></li><li> - Betrag: <b>{{amount}} {{unit}}</b></li><li> - Kommentar: <i>{{comment}}</i></li><br/><li> - Rest : <b>{{restAmount}} {{unit}}</b> an <b>{{restTo}}</b></li></ul><br/><b>Bist du dir sicher, dass du diese Überweisung ausführen willst?</b>",
"MEMBERSHIP_OUT": "<b>WARNUNG</b>:<br/>Du bist gerade dabei, deine Mitgliedschaft zu beenden. Das lässt sich <b>nicht rückgängig machen</b>.<br/></br/><b>Bist du dir sicher, dass du das das Mitgliedskonto löschen möchtest?</b>",
"MEMBERSHIP_OUT_2": "Dieser Vorgang ist <b>unumkehrbar</b>!<br/><br/>Bist du sicher, dass du <b>deine Mitgliedschaft beenden</b> möchtest?",
"LOGIN_UNUSED_WALLET_TITLE": "Tippfehler?",
"LOGIN_UNUSED_WALLET": "Du scheinst in ein <b>nicht aktives Konto</b> eingeloggt zu sein.<br/><br/>Wenn dieses Konto nicht deins ist, liegt die Ursache wahrscheinlich in einem <b>Tippfehler bei der Eingabe</b> der Benutzerdaten.<br/><br/><b>Willst du dennoch mit diesem Konto weitermachen?</b>",
"FIX_IDENTITY": "Das Pseudonym <b>{{uid}}</b> wird erneut veröffentlicht, wodurch die alte Veröffentlichung ersetzt wird.<br/></br/><b>Bist du sicher, </b> dass du weitermachen willst?",
"FIX_MEMBERSHIP": "Dein Mitgliedsantrag wird abgeschickt.<br/></br/><b>Bist du dir sicher?</b>",
"MEMBERSHIP": "Dein Mitgliedsantrag wird verschickt. <br/></br/><b>Bist du sicher?</b>",
"RENEW_MEMBERSHIP": "Deine Mitgliedschaft wird verlängert.<br/></br/><b>Bist du dir sicher?</b>",
"REVOKE_IDENTITY": "<b>Sicherheitshinweis:</b><br/>Du bist gerade dabei <b>endgültig und unwiderruflich deine Identität zu widerrufen</b>.<br/><br/>Dieser öffentliche Schlüssel und dein damit verknüpftes Pseudonym kann <b>nie wieder benutzt werden</b> (für ein Mitgliedskonto).<br/></br/><b>Bist du dir sicher</b> fortzufahren?",
"REVOKE_IDENTITY_2": "Diese Aktion kan man <b>nicht rückgängig machen</b>!<br/><br/><b>Bist du sicher</b> das du das willst?",
"NOT_NEED_RENEW_MEMBERSHIP": "Deine Mitgliedschaft braucht jetzt nicht verlängert werden (sie wird erst auslaufen nach {{membershipExpiresIn|formatDuration}}).<br/></br/><b>Bist du sicher</b> das du jetzt eine Verlängerung beantragen willst?",
"SAVE_BEFORE_LEAVE": "Möchtest du deine <b>Änderungeung abspeichern</b> bevor du diese Seite verlässt?",
"SAVE_BEFORE_LEAVE_TITLE": "Änderungen nicht speichern",
"LOGOUT": "Sicher, dass du dich abmelden möchtest?",
"USE_FALLBACK_NODE": "Knoten <b>{{old}}</b> ist nicht erreichbar.<br/><br/>Möchtest du temporär den Knoten <b>{{new}}</b> verwenden?",
"USE_SYNC_FALLBACK_NODE": "Knoten <b>{{old}}</b> scheint nicht synchronisiert zu sein.<br/><br/>Möchten Sie vorübergehend den synchronisierten Knoten <b>{{new}}</b> verwenden?",
"ISSUE_524_SEND_LOG": "Die Transaktion wurde aufgrund eines bekannten Problems (issue #524) zurückgewiesen. Die Ursache ist bisher unbekannt.<br/>Akzeptierst du <b>die Übertragung deiner Logdaten</b> als Nachricht, um den Entwicklern bei der Korrektur zu helfen?<br/><small>(Dies beinhaltet keine vertraulichen Daten)</small><br/>",
"LICENCE": "Ich habe die die Lizenz des G1 gelesen und akzeptiert",
"ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warnung:</b> Möchten Sie den Knoten <b>manuell ändern</b>?<br/><br/>Wenn Sie fortfahren:<ul><li> - Der <b>Expertenmodus</b> wird aktiviert;</li><li> - Sie können zur automatischen Knotenauswahl zurückkehren, indem Sie einfach den <b>Expertenmodus deaktivieren</b>.</li></ul>"
},
"MODE": {
"DEMO": {
"BADGE": "Demo",
"MODE": "Demonstrationsmodus",
"FEATURE_NOT_AVAILABLE": "Einige Funktionen sind auf dieser Demo-Seite <b>nicht verfügbar</b>.",
"MODE_HELP": "Cesium arbeitet im <b>Demonstrationsmodus</b>: Einsicht in Konten ist verfügbar, jedoch können keine Vorgänge angestoßen werden.",
"INSTALL_HELP": "Aus <b>Sicherheitsgründen</b> empfehlen wir, deine <b>eigene Kopie</b> der Software zu <b>installieren</b>.<br/> Besuche die Seite <a href='https://cesium.app'>www.cesium.app</a> für weitere Hilfe."
},
"READONLY": {
"BADGE": "Monit",
"MODE": "Überwachungsmodus",
"MODE_HELP": "Cesium arbeitet im <b>Überwachungsmodus</b>: ausschließlich Funktionen zur Überwachung der Währung sind verfügbar.",
"INSTALL_HELP": "Falls du <b>eine Brieftasche anlegen</b> möchtest, um Geld zu transferieren, empfehlen wir, deine <b>eigene Kopie</b> der Software zu <b>installieren</b>.<br/> Besuche die Seite <a href='https://cesium.app'>www.cesium.app</a> für weitere Hilfe."
}
},
"DOWNLOAD": {
"POPUP_TITLE": "<b>Widerrufsdatei</b>",
"POPUP_REVOKE_MESSAGE": "Um dein Konto abzusichern, lade dir die <b>Widerrufsdaten für das Konto</b> herunter. Diese benötigst du, um dein Konto aufzulösen, wenn dein Konto gestohlen, eine Veränderung der Identität oder unberechtigt eröffnet wurde.<br/><br/><b>Verwahre die Widerrufsdatei an einem sicheren Platz auf. Es iste eine einfache Textdatei: drucke sie aus und bewahre den Ausdruck so auf, dass du ihn wiederfindest.</b>"
},
"HELP": {
"TITLE": "Online Hilfe",
"JOIN": {
"SECTION": "Mitglied werden",
"SALT": "Deine Benutzerkennung ist sehr wichtigt. Sie wird gebraucht, um dein Passwort zu verschlüsseln, welches wiederum gebraucht wird, um <span class=\"text-italic\">den öffentlichen Schlüssel</span> deines Kontos (quasi die Kontonummer) und den privaten Schlüssel für den Zugang zum Konto zu berechnen. <b>Merke dir die Benutzerkennung sehr gut, oder schreibe sie auf und bewahre sie an einem sicheren Ort auf</b>, es gibt keinen Weg, um deine Zugangsdaten wiederherzustellen, wenn du sie vergisst oder deine Notize dazu nicht wiederfindest. Weiter gibt es keine Möglichkeit die Zugangsdaten zu veränern, ohne ein neues Konto anzulegen.<br/><br/>Eine gute Benutzerkennung muss hinreichen lang (mindestens 8 Zeichen) sein und so originell/individuell wie möglich - also nicht dein vor- und/oder Nachname.",
"PASSWORD": "Das Passwort ist ebenfalls sehr wichtig. Zusammen mit der Benutzerkennung wird es gebraucht, um deine Kontonummer (der öffentliche Schlüssel) und den privaten Schlüssel zu berechnen, der gebraucht wir, um auf dein Konto zuzugreifen. <b>Merke es dir sehr gut (am besten auch aufschreiben und an einem sicheren Ort verwahren)</b>. Es gibt keine Möglichkeit das Passwort wiederherzustellen, wenn du es verloren hast. Darüber hinaus kannst du deinen Kontozugang nur ändern, wenn du ein neues Konto anlegst.<br/><br/>Ein gutes Passwort besteht aus mindestens 8 Zeichen, mit Klein- und Großbuchstaben und Zahlen.",
"PSEUDO": "Ein Pseudonym wird nur gebraucht, wenn du dich als <span class=\"text-italic\">Mitglied</span> registrieren möchtest. Es ist immer mit einem Konto verknüpft (durch den <span class=\"text-italic\">öffentlichen Schlüssel</span>). Das Pseudonym ist öffentlich und ermöglicht, das andere Nutzer das Konto finden, deine Identität zertifizieren oder dir Geld überweisen können. Ein Pseudonym kann nur einmal vergebben werden (aktuelle und auch in der Vergangenheit)."
},
"LOGIN": {
"SECTION": "Anmeldung",
"PUBKEY": "Öffentlicher Schlüssel des Kontos",
"PUBKEY_DEF": "Der öffentliche Schlüssel des Schlüsselbunds wird aus den eingegebenen Kennungen (beliebig) generiert, entspricht aber nicht zwangsweise einem bereits verwendeten Konto.<br/><b>Stelle daher sicher, dass dein öffentlicher Schlüssel mit deinem Konto übereinstimmt</b>. Andernfalls wirst du in ein Konto eingeloggt, das wahrscheinlich nie verwendet wird, da das Risiko einer Kollision mit einem bestehenden Konto sehr gering ist.<br/><a href=\"https://en.wikipedia.org/wiki/ Elliptic_curve_cryptography\" target=\"_ system\">Erfahre mehr über Kryptografie</a> mit öffentlichen Schlüsseln.",
"METHOD": "Anmeldeverfahren",
"METHOD_DEF": "Unterschiedliche Verfahren stehen zur Verfügung, um sich mit einem Konto zu verbinden: <br/> - Die Verbindung <b>mit &quot;Salt&quot; (einfach oder fortgeschritten)</b> mischt Ihr Passwort mit der geheimen Kennung, um Angriffe, die auf bloßem Raten basieren, zu erschweren<br/> - Die Verbindung <b>unter Verwendung eines öffentlichen Schlüssels</b> verhindert, dass Sie Ihre Anmeldeinformationen eingeben, die Sie in Folge nur dann angeben müssen, wenn eine Operation dies erfordert.<br/> - Die Verbindung <b>unter Verwendung einer Schlüsselbunddatei</b> verwendet den öffentlichen und den privaten Schlüssel des Kontos aus einer Datei, ohne dass Anmeldeinformationen eingegeben werden müssen. Mehrere Dateiformate sind möglich."
},
"GLOSSARY": {
"SECTION": "Glossar",
"PUBKEY_DEF": "Ein öffentlicher Schlüssel ist immer mit einem Konto verbunden. Es kann auch zu einem Mitglied gehören. In Cesium wird der öffentliche Schlüssel aus der geheimen Benutzerkennung und dem Passwort berechnet.",
"MEMBER": "Mitglied",
"MEMBER_DEF": "Ein Mitglied ist ein realter und lebender Mensch, der freiwillig an dieser Währungs Gemeinschaft teilnehmen möchte. Ein Mitglied erhält täglich eine universelle Dividende, mit dem zeitlichen Rhytmus und in der Höhe, wie es die <span class=\"text-italic\">Parameter der Währung</span> vorgeben.",
"CURRENCY_RULES": "Regeln für die Währung",
"CURRENCY_RULES_DEF": "Die Währungsregeln wurden einmalig für immer festgelegt. Sie legen die Parameter fest, mit denen die Währung sich entwickeln wird: die Berechnungsder universellen Dividende, die Anzahl der füpr ein neues Mitglies nötigen Zertifizierungen, die höchste Anzalh gültiger Zerifizierungen, die ein Mitglied vergeban kann und so weiter.<br/><br/>Diese Parameter können niemals verändert werden, weil eine <span class=\"text-italic\">Blockchain</span> verwendet wird, die diese Regeln beinhaltet und ausführt. Sie überprüft laufend die Einhaltung der korrekten Anwendung dieser Regeln. <a href=\"#/app/currency\">Siehe hierzu die aktuellen Parameterwerte</a>.",
"BLOCKCHAIN": "Blockchain",
"BLOCKCHAIN_DEF": "Eine Blockchain ist ein dezentrales System, welches im Fall von Duniter dazu dient, die <span class=\"text-italic\">Währungsregeln</span> zu beinhalten und auszuführen.<br/><a href=\"http://en.duniter.org/presentation/\" target=\"_blank\">Hier gibt es mehr Information zu Duniter</a> und wie seine Blockchaine funktioniert.",
"UNIVERSAL_DIVIDEND_DEF": "Die Universelle Dividende (UD) ist die Menge an Geld, die von jedem Mitgleid mit erschaffen wird, wie es die festgelegte Zeitspanne und die Berechnungen in den <span class=\"text-italic\">Währungsregeln</span> vorgeben.<br/>Nach jeder solchen Zeitspanne erhalten die Mitglieder eine gleiche Menge an neu geschaffenem Geld auf ihr Konto gutgeschrieben.<br/><br/>Die UD unterliegt einem ständigen Wachstum, um Fairness zwischen den Mitgliedern zu gewährleisten (jetzt und in der Zukunft), berechnet mit einer durchschnittlichen Lebenserwartung, wie sie in der Relativen Theorie des Geldes (RTM - relative theory of money) gezeigt wurde.<br/><a href=\"http://trm.creationmonetaire.info\" target=\"_system\">Hier findest du merh Informationen zur RTM</a> und dem freien Geld.",
"WOT": "Web of Trust (WoT) - Netz des Vertrauens",
"WOT_DEF": "Das Netz des Vertrauens bildet sich aus allen Mitgliedern der Währung und den Zertifizierungen, die sie verbinden.",
"DISTANCE_RULE": "Distanzregel",
"DISTANCE_RULE_DEF": "Die Distanzregel definiert <b>eine maximal erlaubte Distanz</b> zwischen einem Neumitglied und einer Minimalanzahl von Referenzmitgliedern. Die Distanz wird dabei aufgrund der Verbindungen berechnet, die durch die Zertifizierungen entstehen."
},
"TIP": {
"MENU_BTN_CURRENCY": "Menü <b>{{'MENU.CURRENCY'|translate}}</b> entdecke die <b>Währungsparameter</b> und den aktuellen Stand.",
"CURRENCY_WOT": "Die <b>Anzahl Mitglieder</b> zeigt die<b>Größe und Entwicklung der Community</b>.",
"CURRENCY_MASS": "Hier wird die <b>gesamte Geldmenge</b> derzeit im Umlauf und die <b>durchschnittliche Verteilung</b> pro Mitglied angezeigt.<br/><br/>Damit ist die Einschätzung eines <b>Gegenwertes für jede Summe</b> möglich, unter der Berücksichtigung, über wieviel <b>andere </b> auf ihrem Konto vefügen (im MIttel).",
"CURRENCY_UNIT_RELATIVE": "Die hier benutzte Einheit (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) bedeutet, dass die Summe in {{currency|capitalize}} durch die <b>Universelle Dividende</b> (UD) geteilt wurde.<br/><br/><small>Diese relative Einheit ist <b>relevant</b> weils sie stabil ist im Gegensatz zu der ständig wachsenden Geldmenge.</small>",
"CURRENCY_CHANGE_UNIT": "Mit diesem Button kannst du <b>die Einheit wechseln</b> in der Summen angezeigt werden in <b>{{currency|capitalize}}</b>, nicht geteil durch die universelle Dividende (anstelle von &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;).",
"CURRENCY_CHANGE_UNIT_TO_RELATIVE": "Dieser Butten <b>wechselt die Einheit</b> und zeigt Summen in &ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;, was zur Universellen Dividende in Beziehung steht (Die Menge Geld, mit erschaffen von jedem Mitglied).",
"CURRENCY_RULES": "Die <b>Regeln</b> für diese Währung bedingen ihre <b>exakteudn vorhersagbare</b> Entwicklung.<br/><br/>Wie eine echte DNA der Währung machen diese Regeln die Währung <b>transparent und verständlich</b>.",
"MENU_BTN_NETWORK": "Der Menüpunkt <b>{{'MENU.NETWORK'|translate}}</b> führt zu einer Darstellung des <b>Netzwerkzustands<b>.",
"NETWORK_BLOCKCHAIN": "Alle Geldbewegungen werden verschlüsselt in einer <b>öffentlichen und fälschungssicheren </b> Buchführung, die im allgemeinen als <b>Blockchain</b> bezeichnet wird.",
"NETWORK_PEERS": "Die hier angezeigten <b>Knoten</b> stehen für <b>Computer die regelmäßig die Blockchain prüfen und aktualisieren</b>.<br/><br/>Je mehr aktive Knoten es gibt, desto <b>dezentraler</b> und deshalb vertrauenswürdiger wird die Währung.",
"NETWORK_PEERS_BLOCK_NUMBER": "Diesr <b>Wert</b> zeigt den <b>letzten bestätigten Block</b> (letzte seite in der Buchhaltung) den dieser Netzknoten berechnet hat.<br/><br/>Eine grüne Farbe zeigt an, dass dieser Block von einer <b>Mehrheit der anderen Knoten</b> bestätigt wurde.",
"NETWORK_PEERS_PARTICIPATE": "<b>Jedes Mitglied</b> mit einem Computer, der Internetverbindung hat, <b>kann daran teilnehmen, indem es einen Knoten hinzufügt</b>, indem es einfach die <b>Duniter Software installiert</b> (freie Software, und open source). <a href=\"{{installDocUrl}}\" target=\"_system\">Hier kannst du die Installationsanleitung lesen &gt;&gt;</a>.",
"MENU_BTN_ACCOUNT": "<b>{{'ACCOUNT.TITLE'|translate}}</b> gibt dir Zugang zu deinem Kontostand und den letzten Kontobewegungen.",
"MENU_BTN_ACCOUNT_MEMBER": "Hier kannst du deinen Konto-Status, die letzten Geldbewegungen und Zertifizierungen einsehen.",
"WALLET_CERTIFICATIONS": "Hier klicken und du siehst die Details deiner Zertifizierungen (gegeben und erhalten).",
"WALLET_RECEIVED_CERTIFICATIONS": "Hier klicken, um Details deiner <b>empfangenen Zertifizierungen</b> zu sehen.",
"WALLET_GIVEN_CERTIFICATIONS": "Hier klicken, um Details deiner <b>vergebenen Zertifizierungen</b> zu sehen.",
"WALLET_BALANCE": "Dein <b>Kontostand </b> steht hier.",
"WALLET_BALANCE_RELATIVE": "{{'HELP.TIP.WALLET_BALANCE'|translate}}<br/><br/>Die verwendete Einheit (&ldquo;<b>{{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub></b>&rdquo;) bedeutet, dass die Summe in {{currency|capitalize}} durch die <b>Universelle Dividende</b> geteilt wurde (UD) mitgeschaffen durch jedes Mitglied.<br/>Aktuell entspricht 1 UD {{currentUD}} {{currency|capitalize}}.",
"WALLET_BALANCE_CHANGE_UNIT": "Du kannst die <b>Währungseinheit ändern</b> mit denen die Beträge angezeigt werden <b><i class=\"icon ion-android-settings\"></i>&nbsp;{{'MENU.SETTINGS'|translate}}</b>.<br/><br/>Zum Beispiel um Beträge <b>absolut anzuzeigen in {{currency|capitalize}}</b> als in relativen Werten.",
"WALLET_PUBKEY": "Dies ist der öffentliche Schlüssel deines Kontos. Er kann problemlos Dritten mitgeteilt werden, damit die dein Konto einfacher finden können.",
"WALLET_SEND": "Überweise einen Betrag mit nur ein paar Klicks.",
"WALLET_SEND_NO_MONEY": "Überweise einen Betrag mit nur ein paar Klicks.<br/>(Dein Kontostand reicht dafür noch nicht aus)",
"WALLET_OPTIONS": "Bitte beachte, dass dieser Button Zugriff auf <b>andere, weniger genutze Funktionen</b> ermöglicht.<br/><br/>Wenn du etwas Zeit hast, schau dir das doch einmal an!",
"WALLET_RECEIVED_CERTS": "Diese Liste enthält alle Personen, die dich zertifiziert haben.",
"WALLET_CERTIFY": "Mit diesem Button <b>{{'WOT.BTN_SELECT_AND_CERTIFY'|translate}}</b> kannst du eine Identität/ein Mitglied auswählen und es zertifizieren.<br/><br/>Nur Benutzer, die <b>bereits Mitglied</b> sind, können andere zertifizieren.",
"WALLET_CERT_STOCK": "Dein Vorrat an Zertifizierungen (zum vergeben) ist beschränkt auf <b>{{sigStock}} Zertifizierungen</b>.<br/><br/>Dieser Vorrat füllt sich von selbst wieder auf mit der Zeit, wenn ältere Zertifizierungen verfallen (nach 2 Jahren).",
"MENU_BTN_WALLETS": "Der Menüpunkt <b>{{'MENU.WALLETS'|translate}}</b> erlaubt es dir, zusätzliche Brieftaschen hinzuzufügen, die du verwaltest.",
"MENU_BTN_TX": "Der Menüpunkt <b>{{'MENU.TRANSACTIONS'|translate}}</b> gibt Zugriff auf den Verlauf von Transaktionen, sowie auf Neuaufträge zur Bezahlung.",
"MENU_BTN_WOT": "Dieses Menü <b>{{'MENU.WOT'|translate}}</b> ermöglicht die Suche nach <b>Benutzern</b> dieser Währung (Mitglieder und nicht-Mitglieder).",
"WOT_SEARCH_TEXT_XS": "Um im Verzeichnis zu suchen, tippe die <b>ersten Zeichen des Pseudonyms eines Mitglieds oder seines öffentlichen Schlüssels </b> ein.<br/><br/>Die Suche startet automatisch.",
"WOT_SEARCH_TEXT": "Um im Verzeichnis zu suchen, gib die <b>ersten Zeichen eines Pseudonyms oder des öffentlichen Schlüssels </b> ein.<br/><br/>Dann drücke auf <b>Enter</b>, um die Suche zu starten.",
"WOT_SEARCH_RESULT": "Klicke einfach auf dien Zeile mit dem Usernamen um die Details zu sehen.",
"WOT_VIEW_CERTIFICATIONS": "Die Zeile <b>{{'ACCOUNT.CERTIFICATION_COUNT'|translate}}</b> zeigt an, wie viele Mitglieder diese Identität bestätigt haben.<br/><br/>Diese Zertifizierungen bezeugen das dieses Konto zu einem <b>lebenden Menschen</b> gehört und diese Person <b>kein anderes Mitgliedskonto besitzt</b>.",
"WOT_VIEW_CERTIFICATIONS_COUNT": "Es werden mindestens <b>{{sigQty}} Zertifizierungen </b> benötigt um Mitglied zu werden und die tägliche<b>universelle Dividende</b> zu erhalten.",
"WOT_VIEW_CERTIFICATIONS_CLICK": "Wenn du hier klickst erscheint <b>eine Liste mit allen Zertifizierungen</b> die dieses Mitglied erhalten und erteilt hat.",
"WOT_VIEW_CERTIFY": "Der Button <b>{{'WOT.BTN_CERTIFY'|translate}}</b> fügt deine Zertifizierung zu diesem Mitgliedskonto hinzu.",
"CERTIFY_RULES": "<b>Achtung:</b> Zertifiziere nur <b>echte und lebende Personen</b> die kein weiteres zertifiziertes Mitgliedskonto besitzen.<br/><br/>Das Vertrauen in diese Währung wird von der Zuverlässigkeit aller Mitglieder getragen.!",
"MENU_BTN_SETTINGS": "Mit den <b>{{'MENU.SETTINGS'|translate}}</b> kannst du die Cesium Anwendung einrichten.<br/><br/>Zum Beispiel kannst du einstellen, in welcher <b>Einheit</b>die Währung angezeigt wird.",
"HEADER_BAR_BTN_PROFILE": "Hier klicken, um zu deinem <b>Profil</b> zu kommen",
"SETTINGS_CHANGE_UNIT": "Du kannst die angezeigte Einheit der Menge ändern: <b>hier klicken</b>.<br/><br/>- Option zur Deaktivierung der Anzeige von Werten in {{currency|capitalize}}.<br/>- Activiere diese Option für relative Beträge in {{'COMMON.UD'|translate}}<sub>{{currency|abbreviate}}</sub> (<b>Einheiten der aktuellen universellen Dividende</b>).",
"END_LOGIN": "Diese geführte Tour ist nun zu <b>Ende</b>.<br/><br/>Herzlich willkommen im Netz bei der <b>freien Ökonomie</b>!",
"END_NOT_LOGIN": "Diese geführte Tour ist <b>beendet</b>.<br/><br/>Wenn du dich am Währungsnetzwerk {{currency|capitalize}} beteiligen möchtest, klicke einfach<b>{{'LOGIN.CREATE_ACCOUNT'|translate}}</b> unten.",
"END_READONLY": "Diese geführte Tour ist <b>beendet</b>.<br/><br/>{{'MODE.READONLY.INSTALL_HELP'|translate}}."
}
},
"API" :{
"COMMON": {
"LINK_DOC": "API documentation",
"LINK_DOC_HELP": "API documentation for developers",
"LINK_STANDARD_APP": "Standard version",
"LINK_STANDARD_APP_HELP": "Open standard version of {{'COMMON.APP_NAME'|translate}}",
"CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or contact the web site administrator."
},
"HOME": {
"TITLE": "{{'COMMON.APP_NAME'|translate}} API Documentation",
"MESSAGE": "Welcome to the {{'COMMON.APP_NAME'|translate}} <b>API documentation </b>.<br/>Connect your web site to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!",
"MESSAGE_SHORT": "Connect your websites to <a href=\"http://duniter.org\" target=\"_system\">Duniter</a> very easily!",
"DOC_HEADER": "Available services:"
},
"TRANSFER": {
"TITLE": "{{'COMMON.APP_NAME'|translate}} - Online payment",
"TITLE_SHORT": "Online payment",
"SUMMARY": "Order summary:",
"AMOUNT": "Amount:",
"AMOUNTS_HELP": "Please select the amount:",
"NAME": "Name:",
"PUBKEY": "Public key of the recipient:",
"COMMENT": "Order reference:",
"NODE": "Peer address:",
"DEMO": {
"SALT": "demo",
"PASSWORD": "demo",
"PUBKEY": "3G28bL6deXQBYpPBpLFuECo46d3kfYMJwst7uhdVBnD1",
"HELP": "<b>Demonstration mode</b>: No payment will actually be sent during this simulation.<br/>Please use credentials: <b>{{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}</b>",
"BAD_CREDENTIALS": "Invalid credentials.<br/>In demonstration mode, credentials should be: {{'API.TRANSFER.DEMO.SALT'|translate}} / {{'API.TRANSFER.DEMO.PASSWORD'|translate}}"
},
"INFO": {
"SUCCESS_REDIRECTING_WITH_NAME": "Payment sent.<br/>Redirect to <b>{{name}}</b>...",
"SUCCESS_REDIRECTING": "Payment sent.<br/>Redirect to the seller's website...",
"CANCEL_REDIRECTING_WITH_NAME": "Payment cancelled.<br/>Redirect to <b>{{name}}</b>...",
"CANCEL_REDIRECTING": "Payment cancelled.<br/>Redirect to the seller's website..."
},
"ERROR": {
"TRANSFER_FAILED": "Payment failed"
}
},
"DOC": {
"DESCRIPTION_DIVIDER": "Description",
"URL_DIVIDER": "Calling address",
"PARAMETERS_DIVIDER": "Parameters",
"AVAILABLE_PARAMETERS": "Here is the list of al available parameters:",
"DEMO_DIVIDER": "Try it !",
"DEMO_HELP": "To test this service, click on this button. The result content will be display below.",
"DEMO_RESULT": "Result returned by call:",
"DEMO_RESULT_PEER": "Peer address used:",
"DEMO_SUCCEED": "<i class=\"icon ion-checkmark\"></i> Success!",
"DEMO_CANCELLED": "<i class=\"icon ion-close\"></i> Cancelled by user",
"INTEGRATE_DIVIDER": "Website integration",
"INTEGRATE_CODE": "Code:",
"INTEGRATE_RESULT": "Result preview:",
"INTEGRATE_PARAMETERS": "Parameters",
"TRANSFER": {
"TITLE": "Payments",
"DESCRIPTION": "From a site (eg online marketplace) you can delegate payment in free currency to Cesium API. To do this, simply open a page at the following address:",
"PARAM_PUBKEY": "Recipient's public key",
"PARAM_PUBKEY_HELP": "Recipient's public key (required)",
"PARAM_AMOUNT": "Amount",
"PARAM_AMOUNT_HELP": "Transaction amount (required)",
"PARAM_COMMENT": "Reference (or comment)",
"PARAM_COMMENT_HELP": "Reference or comment. You will allow for example to identify the payment in the BlockChain.",
"PARAM_NAME": "Name (of recipient or website)",
"PARAM_NAME_HELP": "The name of your website. This can be a readable name (eg \"My online site\"), or a web address (eg \"www.MySite.com\").",
"PARAM_REDIRECT_URL": "URL redirection",
"PARAM_REDIRECT_URL_HELP": "URL redirection after sending payment, after the payment has been sent. Can contain the following strings, which will be replaced by the values of the transaction: \"{tx}\", \"{hash}\", \"{comment}\", \"{amount}\" and \"{pubkey}\".",
"PARAM_CANCEL_URL": "URL if cancelled",
"PARAM_CANCEL_URL_HELP": "URL in case of cancellation. Can contain the following strings, which will be replaced: \"{comment}\", \"{amount}\" and \"{pubkey}\".",
"PARAM_PREFERRED_NODE": "Preferred Duniter peer",
"PARAM_PREFERRED_NODE_HELP": "Peer address (URL) to use preferably (\"g1.domain.com:443\" or \"https://g1.domain.com\")",
"EXAMPLES_HELP": "Examples of integration:",
"EXAMPLE_BUTTON": "HTML Button",
"EXAMPLE_BUTTON_DEFAULT_TEXT": "Pay in {{currency|abbreviate}}",
"EXAMPLE_BUTTON_DEFAULT_STYLE": "Custom style",
"EXAMPLE_BUTTON_TEXT_HELP": "Button text",
"EXAMPLE_BUTTON_BG_COLOR": "Background color",
"EXAMPLE_BUTTON_BG_COLOR_HELP": "eg: #fbc14c, yellow, lightgrey, rgb(180,180,180)",
"EXAMPLE_BUTTON_FONT_COLOR": "Font color",
"EXAMPLE_BUTTON_FONT_COLOR_HELP": "eg: black, orange, rgb(180,180,180)",
"EXAMPLE_BUTTON_TEXT_ICON": "Icon",
"EXAMPLE_BUTTON_TEXT_WIDTH": "Width",
"EXAMPLE_BUTTON_TEXT_WIDTH_HELP": "eg: 200px, 50%",
"EXAMPLE_BUTTON_ICON_NONE": "No icon",
"EXAMPLE_BUTTON_ICON_DUNITER": "Duniter logo",
"EXAMPLE_BUTTON_ICON_CESIUM": "Cesium logo",
"EXAMPLE_BUTTON_ICON_G1_COLOR": "Ğ1 logo",
"EXAMPLE_BUTTON_ICON_G1_BLACK": "Ğ1 logo (outline)"
}
}
}
}
......@@ -49,8 +49,9 @@
"NO_ACCOUNT_QUESTION": "Not a member yet? Register now!",
"SEARCH_NO_RESULT": "No result found",
"LOADING": "Loading...",
"LOADING_WAIT": "Loading...<br/><small>(Waiting for node availability)</small>",
"LOADING_WAIT": "Loading...<br/><small>(Cesium is querying the Duniter peer)</small>",
"SEARCHING": "Searching...",
"DOWNLOADING_DOTS": "Downloading...",
"FROM": "From",
"TO": "To",
"COPY": "Copy",
......@@ -110,7 +111,11 @@
"CODE": "Source code:",
"OFFICIAL_WEB_SITE": "Official web site:",
"DEVELOPERS": "Developers:",
"FORUM": "Forum:",
"USER_FORUM": "User forum:",
"TECH_FORUM": "Technical forum:",
"TELEGRAM": "Telegram group:",
"USER_HELP_DIVIDER": "Community",
"CONTRIBUTE_DIVIDER": "Contribute",
"PLEASE_REPORT_ISSUE": "Please report any issue to us!",
"REPORT_ISSUE": "Report an issue",
"BTN_OPEN_DEV_WINDOW": "Open the debug window"
......@@ -131,19 +136,24 @@
"REPORT_ISSUE": "Report an issue",
"NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
"BTN_CHANGE_ACCOUNT": "Disconnect this account",
"CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"PEER_CONNECTION_ERROR": "Peer <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the peer <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a peer manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"SHOW_ALL_FEED": "Show all",
"READ_MORE": "Read more",
"FEED_SOURCE": "Source"
"FEED_SOURCE": "Source",
"FEEDS_TITLE": "News"
},
"SETTINGS": {
"TITLE": "Settings",
"DISPLAY_DIVIDER": "Display",
"STORAGE_DIVIDER": "Storage",
"NETWORK_SETTINGS": "Network",
"PEER": "Duniter peer address",
"PEER_SHORT": "Peer address",
"PEER": "Duniter peer",
"PEER_CHANGED_TEMPORARY": "Address used temporarily",
"PEER_SELECTED_AUTOMATICALLY": "Peer selected automatically at startup",
"NETWORK_ANALYZE_TIMEOUT": "Maximum waiting time (timeout)",
"NETWORK_ANALYZE_TIMEOUT_HELP": "Maximum waiting time for network analysis",
"NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
"PERSIST_CACHE": "Keep navigation data (experimental)",
"PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.",
"USE_LOCAL_STORAGE": "Enable local storage",
......@@ -154,6 +164,7 @@
"ENABLE_HELPTIP": "Enable contextual help tips",
"DISABLE_HELPTIP": "Disable contextual help tips",
"ENABLE_UI_EFFECTS": "Enable visual effects",
"ENABLE_UI_EFFECTS_HELP": "Transition between pages, animation of list",
"HISTORY_SETTINGS": "Account operations",
"DISPLAY_UD_HISTORY": "Display produced dividends?",
"TX_HISTORY_AUTO_REFRESH": "Enable automatic refresh?",
......@@ -190,7 +201,7 @@
"HOST" : "Address",
"HOST_HELP": "Address: server:port",
"USE_SSL" : "Secured?",
"USE_SSL_HELP" : "(SSL Encryption)",
"USE_SSL_HELP" : "SSL Encryption",
"BTN_SHOW_LIST" : "Peer's list"
}
},
......@@ -312,7 +323,9 @@
}
},
"INFO": {
"ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
"CONNECTING_TO_NETWORK": "Connecting to the network...",
"ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
"ONLY_SSL_PEERS": "Non-SSL peers have a degraded display because Cesium works in HTTPS mode."
}
},
"PEER": {
......@@ -327,6 +340,9 @@
"ALL_PEERS" : "All peers",
"DIFFICULTY" : "Difficulty",
"API" : "API",
"SANDBOXES": "Queue",
"PENDING_TX": "{{count}} transaction(s) / {{size}} max, {{free}} space(s) remaining",
"PENDING_MEMBERSHIPS": "{{count}} pending membership(s) / {{size}} max, {{free}} space(s) remaining",
"CURRENT_BLOCK" : "Block #",
"POPOVER_FILTER_TITLE": "Filter",
"OFFLINE": "Offline",
......@@ -523,15 +539,15 @@
"INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.",
"INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...",
"INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.",
"REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.",
"REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b>, which will then be distributed to the rest of the currency network.",
"REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.",
"SELECT_ACCOUNT_TYPE": "Choose the type of account to create:",
"MEMBER_ACCOUNT": "Member account",
"MEMBER_ACCOUNT_TITLE": "Create a member account",
"MEMBER_ACCOUNT_HELP": "If you are not yet registered as an individual (one account possible per individual).",
"MEMBER_ACCOUNT_HELP": "You know enough about libre money and want to participate in its production?<br/>As an individual, you can create your member account (only one per individual). This works like a simple wallet account, but also allows you to co-produce the money, by <b>receiving for each {{parameters.dt|formatPeriod}} a universal dividend</b>: it's then up to you to put to good use!",
"WALLET_ACCOUNT": "Simple wallet",
"WALLET_ACCOUNT_TITLE": "Create a wallet",
"WALLET_ACCOUNT_HELP": "If you represent a company, association, etc. or simply need an additional wallet. No universal dividend will be created by this account.",
"WALLET_ACCOUNT_HELP": "Are you <b>new to libre money</b>? You need an additional account?<br/>This type of account will suit you. Although it does not co-produce the money (unlike a member account - see below), you will be able to receive and send payments there, as soon as registration is complete.<br/>If necessary, you can convert it into a member account later.",
"SALT_WARNING": "Choose a secret identifier.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this identifier</b>.<br/>If lost, there are no means to retrieve it!",
"PASSWORD_WARNING": "Choose a password.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this password</b>.<br/>If lost, there are no means to retrieve it!",
"PSEUDO_WARNING": "Choose a pseudonym.<br/>It may be used by other people to find you more easily.<br/><br/>.Use of <b>commas, spaces and accents</b> is not allowed.<br/><div class='hidden-xs'><br/>Example: <span class='gray'>JohnDalton, JackieChan, etc.</span>",
......@@ -564,6 +580,24 @@
"SELECT_WALLET_MODAL": {
"TITLE": "Wallet selection"
},
"CERTIFICATION_MODAL": {
"CHECKLIST_TITLE": "Certification check list",
"INFOS": "Each member is responsible for the security of Ğ1 currency. Before certifying this person's identity, you should have performed few checks. Please answer following questions:",
"BTN_ALL_CHECK": "Certify",
"CHECKLIST_CONDITIONS_NOT_MET": "The certification has not been sent. All answers are not right. Please recheck each point with the person to be certified.",
"QUESTIONS": {
"WELL_KNOWN": "Do you know <b>well</b> the person you are about to certify? Do you know other people who also know this person well?",
"REVOCATION": "Has this person downloaded their <b>revocation document</b> and do they know where to find it?",
"CONTACT": "Have you <b>had contact</b> with this person by many means, and did they answer?",
"DOUBLE_IDENTITY": "The person should own <b>only one active member identity</b>. Do you think they own another one?",
"MASTER_ACCOUNT": "Does this person own their accounts secrets? Have they already <b>sent money from their account</b> at least once?",
"LICENSE": "Has this person <b>understood the Duniter license</b>? Do they agree to comply with it for future certifications?",
"CREDENTIALS": "Was the account created with <b>long and complex secret identifier and password</b> (ex. passphrases)? Did the person understand that both secret identifier and password must remain secret ? Are they <b>sure to remember them</b> or to be able to find them?",
"PUBLIC_KEY_DIFFERENT": "The <b>public key</b> that is shown must be <b>identical</b> to the one the person gave you. The public keys are they <b>different</b>?"
},
"REMINDER_TITLE": "Reminder",
"SHORT_LICENSE_REMINDER": "You may remind the person to certify different certification parameters:<br/><br/><ul><li> - Each member can certify 100 other identities at most.</li><li> - The certifications are saved with a 5 days interval.</li><li> - A new identity must gather at least 5 certifications in less than 2 months.</li><li>- A member must renew its membership at least once a year.</li><li> - Certifications have a lifespan of two years.</li></ul>"
},
"WALLET_LIST": {
"TITLE": "My wallets",
"BTN_NEW": "Add a wallet",
......@@ -572,7 +606,7 @@
"NO_WALLET": "No secondary wallet",
"BTN_DELETE": "Remove a secondary wallet...",
"BTN_RENAME": "Rename the wallet",
"EXPORT_FILENAME": "my_wallets-{{pubkey|formatPubkey}}-{{currency}}.csv",
"EXPORT_FILENAME": "{{currency}}-my_wallets-{{pubkey}}.csv",
"TOTAL_DOTS": "Total: ",
"EDIT_POPOVER": {
"TITLE": "Rename the wallet",
......@@ -594,7 +628,7 @@
"DOWNLOAD_REVOKE_HELP" : "Having a revocation file is important, for example in case of loss of identifiers. It allows you to <b>get this account out of the Web Of Trust</b>, thus becoming a simple wallet.",
"GENERATE_KEYFILE": "Generate my keychain file ...",
"GENERATE_KEYFILE_HELP": "Generate a file allowing you to authenticate without entering your identifiers.<br/><b>Warning:</b> this file will contain your secret key; It is therefore very important to put it in a safe place!",
"KEYFILE_FILENAME": "keychain-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey",
"KEYFILE_FILENAME": "{{currency}}-keychain-{{pubkey}}-{{format}}.dunikey",
"MEMBERSHIP_IN": "Register as member...",
"MEMBERSHIP_IN_HELP": "Allows you to <b>transform </b> a simple wallet account <b>into a member account</b>, by sending a membership request. Useful only if you do not already have another member account.",
"SEND_IDENTITY": "Publish identity...",
......@@ -630,7 +664,7 @@
"REVOCATION_WITH_FILE_HELP": "To <b>permanently revoke</ b> a member account, please drag the revocation file in the box below, or click in the box to search for a file.",
"REVOCATION_WALLET": "Revoke this account immediately",
"REVOCATION_WALLET_HELP": "Requesting revocation of your identity causes <b>will revoke your membership</ b> (definitely for the associated pseudonym and public key). The account will no longer be able to produce a Universal Dividend.<br/>However, you can still use it as a simple wallet.",
"REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt",
"REVOCATION_FILENAME": "{{currency}}-revocation-{{uid}}-{{pubkey}}.txt",
"SAVE_ID": "Save my credentials...",
"SAVE_ID_HELP": "Creating a backup file, to <b>retrieve your password</b> (and the secret identifier) <b> in case of forgetting</b>. The file is <b>secured</ b> (encrypted) using personal questions.",
"STRONG_LEVEL": "Strong <span class=\"hidden-xs \">(6 questions minimum)</span>",
......@@ -684,6 +718,8 @@
"PUBKEY_INVALID_CHECKSUM": "Invalid public key (bad checksum).",
"POPUP_TITLE": "Error",
"UNKNOWN_ERROR": "Unknown error",
"TIMEOUT_REACHED": "Peer timeout exceeded ({{timeout|formatDurationMs}}).<br/><br/><small>{{url}}</small>",
"TOO_MANY_REQUESTS": "You have made too many requests in a short period of time. Please wait a while before trying again.<br/><br/><small>{{url}}</small>",
"CRYPTO_UNKNOWN_ERROR": "Your browser is not compatible with cryptographic features.",
"DOWNLOAD_KEYFILE_FAILED": "Failed to generate the keychain file.",
"EQUALS_TO_PSEUDO": "Must be different from pseudonym",
......@@ -740,7 +776,7 @@
"IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.",
"IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.",
"IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.",
"IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).",
"IDENTITY_SANDBOX_FULL": "Could not register, because Duniter peer's sandbox is full.<br/><br/>Please retry later or choose another peer (in the <b>settings</b>).",
"IDENTITY_NOT_FOUND": "Identity not found",
"IDENTITY_TX_FAILED": "Error while getting identity's transactions",
"WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.",
......@@ -764,6 +800,7 @@
"GET_BLOCK_FAILED": "Error while getting block",
"INVALID_BLOCK_HASH": "Block not found (incorrect hash)",
"DOWNLOAD_REVOCATION_FAILED": "Error while downloading revocation file.",
"DOWNLOAD_SAVE_ID_FAILED": "Failed to download the credentials backup file.",
"REVOCATION_FAILED": "Error while trying to revoke the identity.",
"SALT_OR_PASSWORD_NOT_CONFIRMED": "Wrong secret identifier or password ",
"RECOVER_ID_FAILED": "Could not recover password",
......@@ -786,7 +823,10 @@
"UNKNOWN_WALLET_ID": "Unknown secondary wallet.",
"RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.",
"INVALID_FILE_FORMAT": "Invalid file format.",
"SAME_TX_RECIPIENT": "The recipient must be different from the issuer."
"SAME_TX_RECIPIENT": "The recipient must be different from the issuer.",
"SELF_CERTIFICATION": "You cannot certify your own identity.",
"TX_SANDBOX_FULL": "The Duniter peer used by Cesium can no longer process new transfers, as its queue is full.<br/><br/>Please try again later or change the peer (in the <b>Settings</b>).",
"DOWNLOAD_TX_HISTORY_FAILED": "Error downloading the account statement"
},
"INFO": {
"POPUP_TITLE": "Information",
......@@ -802,9 +842,12 @@
"REVOCATION_SENT": "Revocation sent successfully",
"REVOCATION_SENT_WAITING_PROCESS": "Revocation <b>has been sent successfully</b>. It is awaiting processing.",
"FEATURES_NOT_IMPLEMENTED": "This features is not implemented yet.<br/><br/>Why not to contribute to get it faster? ;)",
"EMPTY_TX_HISTORY": "No operations to export"
"EMPTY_TX_HISTORY": "No operations to export",
"LOADING_PENDING_TX": "Please wait...<br/><small>(Retrieving pending operations)</small>",
"FILE_DOWNLOADED": "File downloaded"
},
"CONFIRM": {
"CAN_CONTINUE": "<b>Are you sure</b> you want to continue?",
"POPUP_TITLE": "<b>Confirmation</b>",
"POPUP_WARNING_TITLE": "<b>Warning</b>",
"POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Security warning</b>",
......@@ -828,8 +871,10 @@
"SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?",
"SAVE_BEFORE_LEAVE_TITLE": "Changes not saved",
"LOGOUT": "Are you sure you want to logout?",
"USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?",
"ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>"
"USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> peer?",
"USE_SYNC_FALLBACK_NODE": "Peer <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronized peer <b>{{new}}</b>?",
"ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>",
"ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter peer?<br/><br/>If you continue:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic peer selection by simply <b>deactivating expert mode</b>.</li></ul>"
},
"MODE": {
"DEMO": {
......
......@@ -49,8 +49,9 @@
"NO_ACCOUNT_QUESTION": "Not a member yet? Register now!",
"SEARCH_NO_RESULT": "No result found",
"LOADING": "Loading...",
"LOADING_WAIT": "Loading...<br/><small>(Waiting for node availability)</small>",
"LOADING_WAIT": "Loading...<br/><small>(Cesium is querying the Duniter peer)</small>",
"SEARCHING": "Searching...",
"DOWNLOADING_DOTS": "Downloading...",
"FROM": "From",
"TO": "To",
"COPY": "Copy",
......@@ -110,7 +111,11 @@
"CODE": "Source code:",
"OFFICIAL_WEB_SITE": "Official web site:",
"DEVELOPERS": "Developers:",
"FORUM": "Forum:",
"USER_FORUM": "User forum:",
"TECH_FORUM": "Technical forum:",
"TELEGRAM": "Telegram group:",
"USER_HELP_DIVIDER": "Community",
"CONTRIBUTE_DIVIDER": "Contribute",
"PLEASE_REPORT_ISSUE": "Please report any issue to us!",
"REPORT_ISSUE": "Report an issue",
"BTN_OPEN_DEV_WINDOW": "Open the debug window"
......@@ -131,19 +136,24 @@
"REPORT_ISSUE": "Report an issue",
"NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
"BTN_CHANGE_ACCOUNT": "Disconnect this account",
"CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"PEER_CONNECTION_ERROR": "Peer <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the peer <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a peer manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
"SHOW_ALL_FEED": "Show all",
"READ_MORE": "Read more",
"FEED_SOURCE": "Source"
"FEED_SOURCE": "Source",
"FEEDS_TITLE": "News"
},
"SETTINGS": {
"TITLE": "Settings",
"DISPLAY_DIVIDER": "Display",
"STORAGE_DIVIDER": "Storage",
"NETWORK_SETTINGS": "Network",
"PEER": "Duniter peer address",
"PEER_SHORT": "Peer address",
"PEER": "Duniter peer",
"PEER_CHANGED_TEMPORARY": "Address used temporarily",
"PEER_SELECTED_AUTOMATICALLY": "Peer selected automatically at startup",
"NETWORK_ANALYZE_TIMEOUT": "Maximum waiting time (timeout)",
"NETWORK_ANALYZE_TIMEOUT_HELP": "Maximum waiting time for network analysis",
"NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
"PERSIST_CACHE": "Keep navigation data (experimental)",
"PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.",
"USE_LOCAL_STORAGE": "Enable local storage",
......@@ -154,6 +164,7 @@
"ENABLE_HELPTIP": "Enable contextual help tips",
"DISABLE_HELPTIP": "Disable contextual help tips",
"ENABLE_UI_EFFECTS": "Enable visual effects",
"ENABLE_UI_EFFECTS_HELP": "Transition between pages, animation of list",
"HISTORY_SETTINGS": "Account operations",
"DISPLAY_UD_HISTORY": "Display produced dividends?",
"TX_HISTORY_AUTO_REFRESH": "Enable automatic refresh?",
......@@ -190,7 +201,7 @@
"HOST" : "Address",
"HOST_HELP": "Address: server:port",
"USE_SSL" : "Secured?",
"USE_SSL_HELP" : "(SSL Encryption)",
"USE_SSL_HELP" : "SSL Encryption",
"BTN_SHOW_LIST" : "Peer's list"
}
},
......@@ -312,7 +323,9 @@
}
},
"INFO": {
"ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
"CONNECTING_TO_NETWORK": "Connecting to the network...",
"ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
"ONLY_SSL_PEERS": "Non-SSL peers have a degraded display because Cesium works in HTTPS mode."
}
},
"PEER": {
......@@ -327,6 +340,9 @@
"ALL_PEERS" : "All peers",
"DIFFICULTY" : "Difficulty",
"API" : "API",
"SANDBOXES": "Queue",
"PENDING_TX": "{{count}} transaction(s) / {{size}} max, {{free}} space(s) remaining",
"PENDING_MEMBERSHIPS": "{{count}} pending membership(s) / {{size}} max, {{free}} space(s) remaining",
"CURRENT_BLOCK" : "Block #",
"POPOVER_FILTER_TITLE": "Filter",
"OFFLINE": "Offline",
......@@ -523,15 +539,15 @@
"INTRO_WARNING_SECURITY": "Check that the hardware you are currently using (computer, tablet, phone) <b>is secure and trustworthy </b>.",
"INTRO_WARNING_SECURITY_HELP": "Up-to-date anti-virus, firewall enabled, session protected by password or pin code...",
"INTRO_HELP": "Click <b> {{'COMMON.BTN_START'|translate}}</b> to begin creating an account. You will be guided step by step.",
"REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b> node, which will then be distributed to the rest of the currency network.",
"REGISTRATION_NODE": "Your registration will be registered via the Duniter peer <b>{{server}}</b>, which will then be distributed to the rest of the currency network.",
"REGISTRATION_NODE_HELP": "If you do not trust this peer, please change <a ng-click=\"doQuickFix('settings')\">in the settings</a> of Cesium.",
"SELECT_ACCOUNT_TYPE": "Choose the type of account to create:",
"MEMBER_ACCOUNT": "Member account",
"MEMBER_ACCOUNT_TITLE": "Create a member account",
"MEMBER_ACCOUNT_HELP": "If you are not yet registered as an individual (one account possible per individual).",
"MEMBER_ACCOUNT_HELP": "You know enough about libre money and want to participate in its production?<br/>As an individual, you can create your member account (only one per individual). This works like a simple wallet account, but also allows you to co-produce the money, by <b>receiving for each {{parameters.dt|formatPeriod}} a universal dividend</b>: it's then up to you to put to good use!",
"WALLET_ACCOUNT": "Simple wallet",
"WALLET_ACCOUNT_TITLE": "Create a wallet",
"WALLET_ACCOUNT_HELP": "If you represent a company, association, etc. or simply need an additional wallet. No universal dividend will be created by this account.",
"WALLET_ACCOUNT_HELP": "Are you <b>new to libre money</b>? You need an additional account?<br/>This type of account will suit you. Although it does not co-produce the money (unlike a member account - see below), you will be able to receive and send payments there, as soon as registration is complete.<br/>If necessary, you can convert it into a member account later.",
"SALT_WARNING": "Choose a secret identifier.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this identifier</b>.<br/>If lost, there are no means to retrieve it!",
"PASSWORD_WARNING": "Choose a password.<br/>You need it for each connection to this account.<br/><br/><b>Make sure to remember this password</b>.<br/>If lost, there are no means to retrieve it!",
"PSEUDO_WARNING": "Choose a pseudonym.<br/>It may be used by other people to find you more easily.<br/><br/>.Use of <b>commas, spaces and accents</b> is not allowed.<br/><div class='hidden-xs'><br/>Example: <span class='gray'>JohnDalton, JackieChan, etc.</span>",
......@@ -564,6 +580,24 @@
"SELECT_WALLET_MODAL": {
"TITLE": "Wallet selection"
},
"CERTIFICATION_MODAL": {
"CHECKLIST_TITLE": "Certification check list",
"INFOS": "Each member is responsible for the security of Ğ1 currency. Before certifying this person's identity, you should have performed few checks. Please answer following questions:",
"BTN_ALL_CHECK": "Certify",
"CHECKLIST_CONDITIONS_NOT_MET": "The certification has not been sent. All answers are not right. Please recheck each point with the person to be certified.",
"QUESTIONS": {
"WELL_KNOWN": "Do you know <b>well</b> the person you are about to certify? Do you know other people who also know this person well?",
"REVOCATION": "Has this person downloaded their <b>revocation document</b> and do they know where to find it?",
"CONTACT": "Have you <b>had contact</b> with this person by many means, and did they answer?",
"DOUBLE_IDENTITY": "The person should own <b>only one active member identity</b>. Do you think they own another one?",
"MASTER_ACCOUNT": "Does this person own their accounts secrets? Have they already <b>sent money from their account</b> at least once?",
"LICENSE": "Has this person <b>understood the Duniter license</b>? Do they agree to comply with it for future certifications?",
"CREDENTIALS": "Was the account created with <b>long and complex secret identifier and password</b> (ex. passphrases)? Did the person understand that both secret identifier and password must remain secret ? Are they <b>sure to remember them</b> or to be able to find them?",
"PUBLIC_KEY_DIFFERENT": "The <b>public key</b> that is shown must be <b>identical</b> to the one the person gave you. The public keys are they <b>different</b> ?"
},
"REMINDER_TITLE": "Reminder",
"SHORT_LICENSE_REMINDER": "You may remind the person to certify different certification parameters:<br/><br/><ul><li> - Each member can certify 100 other identities at most.</li><li> - The certifications are saved with a 5 days interval.</li><li> - A new identity must gather at least 5 certifications in less than 2 months.</li><li> - A member must renew its membership at least once a year.</li><li> - Certifications have a lifespan of two years.</li></ul>"
},
"WALLET_LIST": {
"TITLE": "My wallets",
"BTN_NEW": "Add a wallet",
......@@ -572,7 +606,7 @@
"NO_WALLET": "No secondary wallet",
"BTN_DELETE": "Remove a secondary wallet...",
"BTN_RENAME": "Rename the wallet",
"EXPORT_FILENAME": "my_wallets-{{pubkey|formatPubkey}}-{{currency}}.csv",
"EXPORT_FILENAME": "{{currency}}-my_wallets-{{pubkey}}.csv",
"TOTAL_DOTS": "Total: ",
"EDIT_POPOVER": {
"TITLE": "Rename the wallet",
......@@ -594,7 +628,7 @@
"DOWNLOAD_REVOKE_HELP" : "Having a revocation file is important, for example in case of loss of identifiers. It allows you to <b>get this account out of the Web Of Trust</b>, thus becoming a simple wallet.",
"GENERATE_KEYFILE": "Generate my keychain file ...",
"GENERATE_KEYFILE_HELP": "Generate a file allowing you to authenticate without entering your identifiers.<br/><b>Warning:</b> this file will contain your secret key; It is therefore very important to put it in a safe place!",
"KEYFILE_FILENAME": "keychain-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey",
"KEYFILE_FILENAME": "{{currency}}-keychain-{{pubkey}}-{{format}}.dunikey",
"MEMBERSHIP_IN": "Register as member...",
"MEMBERSHIP_IN_HELP": "Allows you to <b>transform </b> a simple wallet account <b>into a member account</b>, by sending a membership request. Useful only if you do not already have another member account.",
"SEND_IDENTITY": "Publish identity...",
......@@ -630,9 +664,10 @@
"REVOCATION_WITH_FILE_HELP": "To <b>permanently revoke</ b> a member account, please drag the revocation file in the box below, or click in the box to search for a file.",
"REVOCATION_WALLET": "Revoke this account immediately",
"REVOCATION_WALLET_HELP": "Requesting revocation of your identity causes <b>will revoke your membership</ b> (definitely for the associated pseudonym and public key). The account will no longer be able to produce a Universal Dividend.<br/>However, you can still use it as a simple wallet.",
"REVOCATION_FILENAME": "revocation-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt",
"REVOCATION_FILENAME": "{{currency}}-revocation-{{uid}}-{{pubkey}}.txt",
"SAVE_ID": "Save my credentials...",
"SAVE_ID_HELP": "Creating a backup file, to <b>retrieve your password</b> (and the secret identifier) <b>in case of forgetting</b>. The file is <b>secured</ b> (encrypted) using personal questions.",
"SAVE_ID_FILENAME": "{{currency}}-credentials-{{pubkey}}.txt",
"STRONG_LEVEL": "Strong <span class=\"hidden-xs \">(6 questions minimum)</span>",
"TITLE": "Account and security",
"KEYFILE": {
......@@ -653,7 +688,7 @@
}
}
},
"FILE_NAME": "{{currency}} - Account statement {{pubkey|formatPubkey}} to {{currentTime|formatDateForFile}}.csv",
"FILE_NAME": "{{currency}}-Account_statement-{{pubkey}}-{{currentTime|formatDateForFile}}.csv",
"HEADERS": {
"TIME": "Date",
"AMOUNT": "Amount",
......@@ -684,6 +719,8 @@
"PUBKEY_INVALID_CHECKSUM": "Invalid public key (bad checksum).",
"POPUP_TITLE": "Error",
"UNKNOWN_ERROR": "Unknown error",
"TIMEOUT_REACHED": "Peer timeout exceeded ({{timeout|formatDurationMs}}).<br/><br/><small>{{url}}</small>",
"TOO_MANY_REQUESTS": "You have made too many requests in a short period of time. Please wait a while before trying again.<br/><br/><small>{{url}}</small>",
"CRYPTO_UNKNOWN_ERROR": "Your browser is not compatible with cryptographic features.",
"DOWNLOAD_KEYFILE_FAILED": "Failed to generate the keychain file.",
"EQUALS_TO_PSEUDO": "Must be different from pseudonym",
......@@ -740,7 +777,7 @@
"IDENTITY_PENDING_REVOCATION": "The <b>revocation of this identity</b> has been requested and is awaiting processing. Certification is therefore disabled.",
"IDENTITY_INVALID_BLOCK_HASH": "This membership application is no longer valid (because it references a block that network peers are cancelled): the person must renew its application for membership <b>before</b> being certified.",
"IDENTITY_EXPIRED": "This identity has expired: this person must re-apply <b>before</b> being certified.",
"IDENTITY_SANDBOX_FULL": "Could not register, because peer's sandbox is full.<br/><br/>Please retry later or choose another Duniter peer (in <b>Settings</b>).",
"IDENTITY_SANDBOX_FULL": "Could not register, because Duniter peer's sandbox is full.<br/><br/>Please retry later or choose another peer (in the <b>settings</b>).",
"IDENTITY_NOT_FOUND": "Identity not found",
"IDENTITY_TX_FAILED": "Error while getting identity's transactions",
"WOT_PENDING_INVALID_BLOCK_HASH": "Membership not valid.",
......@@ -764,6 +801,7 @@
"GET_BLOCK_FAILED": "Error while getting block",
"INVALID_BLOCK_HASH": "Block not found (incorrect hash)",
"DOWNLOAD_REVOCATION_FAILED": "Error while downloading revocation file.",
"DOWNLOAD_SAVE_ID_FAILED": "Failed to download the credentials backup file.",
"REVOCATION_FAILED": "Error while trying to revoke the identity.",
"SALT_OR_PASSWORD_NOT_CONFIRMED": "Wrong secret identifier or password ",
"RECOVER_ID_FAILED": "Could not recover password",
......@@ -786,7 +824,10 @@
"UNKNOWN_WALLET_ID": "Unknown secondary wallet.",
"RESTORE_WALLET_LIST_FAILED": "Unable to restore the list of wallets.",
"INVALID_FILE_FORMAT": "Invalid file format.",
"SAME_TX_RECIPIENT": "The recipient must be different from the issuer."
"SAME_TX_RECIPIENT": "The recipient must be different from the issuer.",
"SELF_CERTIFICATION": "You cannot certify your own identity.",
"TX_SANDBOX_FULL": "The Duniter peer used by Cesium can no longer process new transfers, as its queue is full.<br/><br/>Please try again later or change the peer (in the <b>Settings</b>).",
"DOWNLOAD_TX_HISTORY_FAILED": "Error downloading the account statement"
},
"INFO": {
"POPUP_TITLE": "Information",
......@@ -802,9 +843,12 @@
"REVOCATION_SENT": "Revocation sent successfully",
"REVOCATION_SENT_WAITING_PROCESS": "Revocation <b>has been sent successfully</b>. It is awaiting processing.",
"FEATURES_NOT_IMPLEMENTED": "This features is not implemented yet.<br/><br/>Why not to contribute to get it faster? ;)",
"EMPTY_TX_HISTORY": "No operations to export"
"EMPTY_TX_HISTORY": "No operations to export",
"LOADING_PENDING_TX": "Please wait...<br/><small>(Retrieving pending operations)</small>",
"FILE_DOWNLOADED": "File downloaded"
},
"CONFIRM": {
"CAN_CONTINUE": "<b>Are you sure</b> you want to continue?",
"POPUP_TITLE": "<b>Confirmation</b>",
"POPUP_WARNING_TITLE": "<b>Warning</b>",
"POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Security warning</b>",
......@@ -828,8 +872,10 @@
"SAVE_BEFORE_LEAVE": "Do you want to <b>save your changes</b> before leaving the page?",
"SAVE_BEFORE_LEAVE_TITLE": "Changes not saved",
"LOGOUT": "Are you sure you want to logout?",
"USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> node?",
"ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>"
"USE_FALLBACK_NODE": "Peer <b>{{old}}</b> unreachable or invalid address.<br/><br/>Do you want to temporarily use the <b>{{new}}</b> peer?",
"USE_SYNC_FALLBACK_NODE": "Peer <b>{{old}}</b> seems to be out of sync.<br/><br/>Do you want to temporarily use the synchronized peer <b>{{new}}</b>?",
"ISSUE_524_SEND_LOG": "The transaction was rejected because of a known problem (issue #524) but not reproduced.<br/><br/>To help developers correct this error, do you accept <b>the transmission of your logs</b> per message?<br/><small>(No confidential data is sent)</small>",
"ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Warning:</b> Do you want to <b>manually change</b> the Duniter peer?<br/><br/>If you continue:<ul><li> - <b>Expert mode</b> will be activated;</li><li> - You can return to automatic peer selection by simply <b>deactivating expert mode</b>.</li></ul>"
},
"MODE": {
"DEMO": {
......
......@@ -49,8 +49,9 @@
"NO_ACCOUNT_QUESTION": "Ankoraŭ sen konto? Kreu ĝin senpage!",
"SEARCH_NO_RESULT": "Neniu rezulto trovita",
"LOADING": "Bonvolu pacienci...",
"LOADING_WAIT": "Bonvolu pacienci...<br/><small>(Atendado pri disponebleco de la nodo)</small>",
"LOADING_WAIT": "Bonvolu pacienci...<br/><small>(Cesium demandas la Duniter-nodon)</small>",
"SEARCHING": "Serĉanta...",
"DOWNLOADING_DOTS": "Elŝutanta...",
"FROM": "De",
"TO": "Al",
"COPY": "Kopii",
......@@ -110,7 +111,11 @@
"CODE": "Fonto-kodo:",
"OFFICIAL_WEB_SITE": "Oficiala retejo:",
"DEVELOPERS": "Programita de:",
"FORUM": "Forumo:",
"USER_FORUM": "Uzant-Forumo:",
"TECH_FORUM": "Teknika Forumo:",
"TELEGRAM": "Telegram-Grupo:",
"USER_HELP_DIVIDER": "Komunumo",
"CONTRIBUTE_DIVIDER": "Kontribui",
"PLEASE_REPORT_ISSUE": "Ne hezitu sciigi al ni la renkontitajn fuŝaĵojn",
"REPORT_ISSUE": "Sciigi problemon",
"BTN_OPEN_DEV_WINDOW": "Malfermi la fenestron pri malfuŝigado"
......@@ -131,21 +136,26 @@
"REPORT_ISSUE": "fuŝaĵo",
"NOT_YOUR_ACCOUNT_QUESTION" : "Vi ne posedas la konton <b class=\"ion-key\"> {{pubkey|formatPubkey}}</b>&nbsp;?",
"BTN_CHANGE_ACCOUNT": "Malkonektu tiun ĉi konton",
"CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian retkonekton, aŭ elektu alian nodon <a class=\"positive\" ng-click=\"doQuickFix('settings')\">ĉe la parametroj</a>.",
"PEER_CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian retkonekton, aŭ elektu alian nodon <a class=\"positive\" ng-click=\"doQuickFix('settings')\">ĉe la parametroj</a>.",
"NETWORK_CONNECTION_ERROR": "Reto neatingeblas.<br/><br/>Kontrolu vian interreta konekto, aŭ selektu nodon permane <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en la agordoj</a>.",
"SHOW_ALL_FEED": "Vidi ĉion",
"READ_MORE": "Legi la sekvon",
"FEED_SOURCE": "Fonto"
"FEED_SOURCE": "Fonto",
"FEEDS_TITLE": "Novaĵoj"
},
"SETTINGS": {
"TITLE": "Parametroj",
"DISPLAY_DIVIDER": "Afiŝado",
"STORAGE_DIVIDER": "Stokado",
"NETWORK_SETTINGS": "Reto",
"PEER": "Adreso de la nodo Duniter",
"PEER_SHORT": "Adreso de la nodo",
"PEER": "Nodo Duniter",
"PEER_CHANGED_TEMPORARY": "Adreso provizore uzata",
"PEER_SELECTED_AUTOMATICALLY": "Nodo aŭtomate elektita ĉe starto",
"NETWORK_ANALYZE_TIMEOUT": "Maksimuma atendotempo (eltempigo)",
"NETWORK_ANALYZE_TIMEOUT_HELP": "Maksimuma atendotempo por reto analizo",
"NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
"PERSIST_CACHE": "Konservi la datenojn pri retumado (provaĵo)",
"PERSIST_CACHE_HELP": "Ebligas pli rapidan retumadon, loke konservante la ricevitajn datenojn, por uzi ilin de sesio al alia.",
"PERSIST_CACHE_HELP": "Ebligas pli rapidan retumadon, loke konservante la ricevitajn datenojn, por uzi ilin de seanco al alia.",
"USE_LOCAL_STORAGE": "Aktivigi lokan stokadon",
"USE_LOCAL_STORAGE_HELP": "Ebligas konservi viajn parametrojn",
"WALLETS_SETTINGS": "Miaj monujoj",
......@@ -190,7 +200,7 @@
"HOST": "Adreso",
"HOST_HELP": "Adreso: servilo: konektujo",
"USE_SSL": "Sekurigita?",
"USE_SSL_HELP": "(SSL-ĉifrado)",
"USE_SSL_HELP": "SSL-ĉifrado",
"BTN_SHOW_LIST": "Listo de la nodoj"
}
},
......@@ -312,6 +322,8 @@
}
},
"INFO": {
"CONNECTING_TO_NETWORK": "Konektiĝo al la reto...",
"ANALYZING_NETWORK": "Analizo de la {{currency|abbreviate}} reto...",
"ONLY_SSL_PEERS": "La nodoj ne-SSL estas mis-afiŝitaj, ĉar Cesium funkcias laŭ moduso HTTPS."
}
},
......@@ -327,6 +339,9 @@
"ALL_PEERS" : "Ĉiuj nodoj",
"DIFFICULTY" : "Malfacileco",
"API" : "API",
"SANDBOXES": "Atendovico",
"PENDING_TX": "{{count}} transakcio(j) / {{size}} maksimume, {{free}} lokoj restantaj",
"PENDING_MEMBERSHIPS": "{{count}} membreco(j) atendantaj / {{size}} maksimume, {{free}} lokoj restantaj",
"CURRENT_BLOCK" : "Bloko #",
"POPOVER_FILTER_TITLE": "Filtrilo",
"OFFLINE": "Nekonektita",
......@@ -564,6 +579,24 @@
"SELECT_WALLET_MODAL": {
"TITLE": "Elekto de la monujo"
},
"CERTIFICATION_MODAL": {
"CHECKLIST_TITLE": "Kontrolisto antaŭ atesto",
"INFOS": "La sekureco de la monero Ğ1 dependas de ĉiu membro. Antaŭ atesti la identon de tiu ĉi persono, vi devus fari kelkajn kontroladetojn. Bonvolu respondi la jenajn demandojn:",
"BTN_ALL_CHECK": "Atesti",
"CHECKLIST_CONDITIONS_NOT_MET": "La atesto ne estis sendita. La kontrolado ŝajnas nesufiĉa. Bonvolu rekontroli ĉiun punkton kun la persono, kiun vi volas atesti.",
"QUESTIONS": {
"WELL_KNOWN": "<b>Ĉu vi bone konas</b> la personon, kiun vi volas atesti, kaj ĉu vi konas aliajn homojn, kiuj ankaŭ bone konas tiun personon?",
"REVOCATION": "Ĉu tiu ĉi persono elŝutis sian <b>malkonfirmadon dokumenton</b> kaj ĉu ŝi scias, kie trovi ĝin?",
"CONTACT": "Ĉu vi <b>kontaktis</b> kun tiu ĉi persono per diversaj metodoj, kaj ĉu ŝi respondis?",
"DOUBLE_IDENTITY": "La persono devus havi <b>nur unu aktivan membro-identon</b>. Ĉu vi pensas, ke ŝi posedas alian?",
"MASTER_ACCOUNT": "Ĉu tiu ĉi persono posedas siajn kontosekretojn? Ĉu ŝi jam <b>sendis monon de sia konto</b> almenaŭ unufoje?",
"LICENSE": "Ĉu tiu ĉi persono <b>komprenis la permesilon</b> de Duniter, kaj ĉu ŝi konsentas konformiĝi al ĝi por estontaj atestoj?",
"CREDENTIALS": "Ĉu la konto estis kreita kun <b>longa kaj kompleksa identigilo/pasvorto</b> (ekz. pasfrazoj)? Ĉu la persono komprenis, ke ambaŭ la identigilo kaj la pasvorto devas resti sekretaj? Ĉu ŝi estas <b>certa, ke ŝi memoros ilin</b> aŭ povos retrovi ilin?",
"PUBLIC_KEY_DIFFERENT": "La montrata <b>publika ŝlosilo</b> devas esti <b>identa</b> al tiu, kiun la persono donis al vi. Ĉu la publika ŝlosiloj estas <b>malsamaj</b>?"
},
"REMINDER_TITLE": "Memorigo",
"SHORT_LICENSE_REMINDER": "Vi povas rememorigi al la atestota persono diversajn parametrojn pri atestoj:<br/><br/><ul><li> - Ĉiu membro povas atesti maksimume 100 aliajn identecojn.</li><li> - La atestoj estas konservataj kun intervolo de 5 tagoj.</li><li> - Nova membro devas kolekti minimume 5 atestojn en malpli ol 2 monatoj.</li><li> - Membro devas renovigi sian membrecon minimume unufoje jare.</li><li> - Atestoj estas validaj dum du jaroj.</li></ul>"
},
"WALLET_LIST": {
"TITLE": "Miaj monujoj",
"BTN_NEW": "Aldoni monujon",
......@@ -572,7 +605,7 @@
"NO_WALLET": "Neniu kroma monujo",
"BTN_DELETE": "Forigi kroman monujon...",
"BTN_RENAME": "Renomi la monujon",
"EXPORT_FILENAME": "miaj_monujoj-{{pubkey|formatPubkey}}-{{currency}}.csv",
"EXPORT_FILENAME": "{{currency}}-miaj_monujoj-{{pubkey}}.csv",
"TOTAL_DOTS": "Sumo: ",
"EDIT_POPOVER": {
"TITLE": "Renomi la monujon",
......@@ -594,7 +627,7 @@
"DOWNLOAD_REVOKE_HELP": "Disponi dosieron pri nuligo estas grave, ekzemple kaze de perdo de viaj identigiloj. Ĝi ebligas al vi <b>elirigi tiun konton el la reto de fido</b>, tiel ke ĝi refariĝu simpla monujo.",
"GENERATE_KEYFILE": "Krei mian dosieron pri ŝlosilaro...",
"GENERATE_KEYFILE_HELP": "Kreas dosieron, kiu ebligas al vi aŭtentiĝi sen tajpi viajn identigilojn.<br/><b>Atenton:</b> tiu dosiero entenos vian konto-ŝlosilaron (publikan kaj sekretan ŝlosilojn); do tre gravas meti ĝin en sekuran lokon!",
"KEYFILE_FILENAME": "ŝlosilaro-{{pubkey|formatPubkey}}-{{currency}}-{{format}}.dunikey",
"KEYFILE_FILENAME": "{{currency}}-ŝlosilaro-{{pubkey}}-{{format}}.dunikey",
"MEMBERSHIP_IN": "Transformi en membro-konton...",
"MEMBERSHIP_IN_HELP": "Ebligas <b>transformi</b> simplan monujo-konton <b>en membro-konton</b>, sendante aliĝo-peton. Utilas nur se vi ne havas jam alian membro-konton.",
"SEND_IDENTITY": "Publikigi sian identecon...",
......@@ -630,9 +663,10 @@
"REVOCATION_WITH_FILE_HELP": "Por <b>definitive nuligi</b> membro-konton, bonvolu glitigi en la ĉi-suban zonon vian dosieron pri nuligo, aŭ alklaki la zonon por serĉadi dosieron.",
"REVOCATION_WALLET": "Nuligi tiun ĉi konton tuj",
"REVOCATION_WALLET_HELP": "Peti la nuligon de via identeco estigas la <b>eliradon el la reto de fido</b> (definitivan por la pseŭdonimo kaj la publika ŝlosilo kunligitaj). La konto ne plu povos produkti Universalan Dividendon.<br/>Vi tamen daŭre povos konektiĝi al ĝi, kiel al simpla monujo.",
"REVOCATION_FILENAME": "nuligo-{{uid}}-{{pubkey|formatPubkey}}-{{currency}}.txt",
"REVOCATION_FILENAME": "{{currency}}-nuligo-{{uid}}-{{pubkey}}.txt",
"SAVE_ID": "Konservi miajn identigilojn...",
"SAVE_ID_HELP": "Kreado de konserv-dosiero, por <b>retrovi vian pasvorton</b> (kaj la sekretan identigilon) <b>kaze de forgeso</b>. La dosiero estas <b>sekurigita</b> (ĉifrita) dank'al personaj demandoj.",
"SAVE_ID_FILENAME": "{{currency}}-ensalutigiloj-{{pubkey}}.txt",
"STRONG_LEVEL": "Forta <span class=\"hidden-xs \">(6 demandoj minimume)</span>",
"TITLE": "Konto kaj sekureco",
"KEYFILE": {
......@@ -684,6 +718,8 @@
"PUBKEY_INVALID_CHECKSUM": "Publika ŝlosilo nevalida (bad checksum).",
"POPUP_TITLE": "Eraro",
"UNKNOWN_ERROR": "Eraro nekonata",
"TIMEOUT_REACHED": "La atendo de la nodo superis la tempon ({{timeout|formatDurationMs}}).<br/><br/><small>{{url}}</small>",
"TOO_MANY_REQUESTS": "Vi sendis tro da petojn en mallonga tempodaŭro. Bonvolu atendi iomete antaŭ ol reprovu.<br/><br/><small>{{url}}</small>",
"CRYPTO_UNKNOWN_ERROR": "Via retumilo ŝajnas ne kongrua kun la kriptografiaj funkcioj.",
"DOWNLOAD_KEYFILE_FAILED": "Malsukceso por la kreado de la dosiero pri ŝlosilaro.",
"EQUALS_TO_PSEUDO": "Devas esti malsama ol la pseŭdonimo",
......@@ -740,7 +776,7 @@
"IDENTITY_PENDING_REVOCATION": "La <b>nuligo de tiu ĉi identeco</b> estis petita kaj atendas traktadon. La atestado estas do malaktivigita.",
"IDENTITY_INVALID_BLOCK_HASH": "Tiu ĉi aliĝo-peto ne plu validas (ĉar ĝi rilatas al bloko, kiun nuligis la nodoj de la reto): tiu persono devas refari sian aliĝo-peton <b>antaŭ ol</b> esti atestita.",
"IDENTITY_EXPIRED": "La publikigo de tiu ĉi identeco finiĝis: tiu persono devas fari novan aliĝo-peton <b>antaŭ ol</b> esti atestita.",
"IDENTITY_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas ricevi novajn identecojn, ĉar ĝia atendo-vico estas plena.<br/><br/>Bonvolu reprovi poste aŭ ŝanĝi la nodon (per la menuo <b>Parametroj</b>).",
"IDENTITY_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas ricevi novajn identecojn, ĉar ĝia atendovico estas plena.<br/><br/>Bonvolu reprovi poste aŭ ŝanĝi la nodon (per la menuo <b>Parametroj</b>).",
"IDENTITY_NOT_FOUND": "Identeco ne trovita.",
"IDENTITY_TX_FAILED": "Malsukceso por ŝarĝi la spezojn.",
"WOT_PENDING_INVALID_BLOCK_HASH": "Aliĝo ne valida.",
......@@ -764,6 +800,7 @@
"GET_BLOCK_FAILED": "Malsukceso por ricevi la blokon.",
"INVALID_BLOCK_HASH": "Bloko ne trovita (haketo malsama)",
"DOWNLOAD_REVOCATION_FAILED": "Malsukceso por elŝuti la dosieron pri nuligo.",
"DOWNLOAD_SAVE_ID_FAILED": "Malsukcesis elŝuti la dosieron por konservi la ensalutigilojn.",
"REVOCATION_FAILED": "Malsukceso pri nuligo.",
"SALT_OR_PASSWORD_NOT_CONFIRMED": "Sekreta identigilo aŭ pasvorto malĝusta.",
"RECOVER_ID_FAILED": "Malsukceso por ricevi la identigilojn",
......@@ -786,7 +823,10 @@
"UNKNOWN_WALLET_ID": "Kroma monujo nekonata.",
"RESTORE_WALLET_LIST_FAILED": "Malsukceso por restarigi la kromajn monujojn.",
"INVALID_FILE_FORMAT": "Strukturo de dosiero nevalida.",
"SAME_TX_RECIPIENT": "La adresito devas malsami ol la sendanto."
"SAME_TX_RECIPIENT": "La adresito devas malsami ol la sendanto.",
"SELF_CERTIFICATION": "Vi ne povas certigi vian propran identecon.",
"TX_SANDBOX_FULL": "La nodo Duniter uzata de Cesium ne plu povas prilabori novajn elspezojn, ĉar ĝia atendovico estas plena.<br/><br/>Bonvolu provi denove poste aŭ ŝanĝi la nodon (en la <b>Agordoj</b>).",
"DOWNLOAD_TX_HISTORY_FAILED": "Eraro dum la elŝuto de la konta raporto"
},
"INFO": {
"POPUP_TITLE": "Informo",
......@@ -802,9 +842,12 @@
"REVOCATION_SENT": "Nuligo sendita",
"REVOCATION_SENT_WAITING_PROCESS": "La <b>nuligo de tiu ĉi identeco</b> estis petita kaj atendas traktadon.",
"FEATURES_NOT_IMPLEMENTED": "Tiu ĉi funkciaro ankoraŭ estas programiĝanta.<br/>Kial ne <b>kontribui al Cesium</b>, por ekhavi ĝin pli rapide? ;)",
"EMPTY_TX_HISTORY": "Neniu spezo elportota"
"EMPTY_TX_HISTORY": "Neniu spezo elportota",
"LOADING_PENDING_TX": "Bonvolu pacienci...<br/><small>(Prenado de pendaj operacioj)</small>",
"FILE_DOWNLOADED": "Dosiero elŝutita"
},
"CONFIRM": {
"CAN_CONTINUE": "<b>Ĉu vi certas</b>, ke vi volas daŭrigi?",
"POPUP_TITLE": "<b>Konfirmo</b>",
"POPUP_WARNING_TITLE": "<b>Averto</b>",
"POPUP_SECURITY_WARNING_TITLE": "<i class=\"icon ion-alert-circled\"></i> <b>Averto pri sekureco</b>",
......@@ -829,7 +872,9 @@
"SAVE_BEFORE_LEAVE_TITLE": "Modifoj ne registritaj",
"LOGOUT": "Ĉu vi certas, ke vi volas malkonektiĝi?",
"USE_FALLBACK_NODE": "Nodo <b>{{old}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Ĉu vi volas provizore uzi la nodon <b>{{new}}</b> ?",
"ISSUE_524_SEND_LOG": "La spezo estis forĵetita, pro konata anomalio (petslipo #524) sed <b>ne ripetita</b>.<br/><br/>Por helpi la programistojn korekti tiun eraron, <b>ĉu vi akceptas la sendadon de viaj protokolaj dosieroj</b> per mesaĝo?<br/><small>(neniu konfidenca dateno estas sendita)</small>."
"USE_SYNC_FALLBACK_NODE": "Ŝajnas, ke nodo <b>{{old}}</b> ne estas sinkronigita.<br/><br/>Ĉu vi volas provizore uzi la sinkronigitan nodon <b>{{new}}</b>?",
"ISSUE_524_SEND_LOG": "La spezo estis forĵetita, pro konata anomalio (petslipo #524) sed <b>ne ripetita</b>.<br/><br/>Por helpi la programistojn korekti tiun eraron, <b>ĉu vi akceptas la sendadon de viaj protokolaj dosieroj</b> per mesaĝo?<br/><small>(neniu konfidenca dateno estas sendita)</small>.",
"ENABLE_EXPERT_MODE_TO_CHANGE_NODE": "<b class=\"assertive\">Averto:</b> Ĉu vi volas <b>mane ŝanĝi</b> la nodon?<br/><br/>Se vi daŭrigas:<ul><li> - La <b>eksperta reĝimo</b> estos aktivigita;</li><li> - Vi povos reveni al aŭtomata nodo-selekto simple <b>malaktivigante la ekspertan reĝimon</b>.</li></ul>"
},
"MODE": {
"DEMO": {
......