mirror of
https://github.com/Luzifer/ots.git
synced 2024-12-20 13:04:36 -05:00
Implement proper tool to manage translations
Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
parent
d1aa675544
commit
5b84a22fa9
3
Makefile
3
Makefile
@ -19,6 +19,9 @@ publish: download_libs generate-inner generate-apidocs
|
|||||||
curl -sSLo golang.sh https://raw.githubusercontent.com/Luzifer/github-publish/master/golang.sh
|
curl -sSLo golang.sh https://raw.githubusercontent.com/Luzifer/github-publish/master/golang.sh
|
||||||
bash golang.sh
|
bash golang.sh
|
||||||
|
|
||||||
|
translate:
|
||||||
|
cd ci/translate && go run .
|
||||||
|
|
||||||
# -- Download / refresh external libraries --
|
# -- Download / refresh external libraries --
|
||||||
|
|
||||||
clean_libs:
|
clean_libs:
|
||||||
|
@ -121,8 +121,8 @@ You can then use the URL `https://ots.fyi/#1cb08e53-46b9-4f21-bbd9-f1eea1594ad9`
|
|||||||
|
|
||||||
## Localize to your own language
|
## Localize to your own language
|
||||||
|
|
||||||
If you want to help translating the application to your own language please download the [`en.json`](https://github.com/Luzifer/ots/blob/master/src/langs/en.json) file from this repository and translate the strings inside. Afterwards please [open an issue](https://github.com/Luzifer/ots/issues/new) and attach your translation including the information which language you translated the strings into.
|
If you want to help translating the application to your own language please see the [`i18n.yaml`](https://github.com/Luzifer/ots/blob/master/i18n.yaml) file from this repository and translate the English strings inside. Afterwards please [open an issue](https://github.com/Luzifer/ots/issues/new) and attach your translation including the information which language you translated the strings into.
|
||||||
|
|
||||||
Of course you also could open a pull-request to add the new file to the `src/langs` folder. In this case please also edit the `langs.js` file and add your translation.
|
Of course you also could open a pull-request to add the new translations to the `i18n.yaml` file.
|
||||||
|
|
||||||
Same goes with when you're finding translation errors: Just open an issue and let me know!
|
Same goes with when you're finding translation errors: Just open an issue and let me know!
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
function log() {
|
|
||||||
echo "[$(date +%H:%M:%S)] $@" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
translation_keys=($(
|
|
||||||
jq -r '. | keys | .[]' src/langs/en.json
|
|
||||||
))
|
|
||||||
|
|
||||||
for lang_file in src/langs/*.json; do
|
|
||||||
lang=$(echo ${lang_file} | sed -E 's@.*/([^\/\.]*)\.json@\1@')
|
|
||||||
log "Processing ${lang}..."
|
|
||||||
|
|
||||||
target_lang=$(jq -r ".__lang" ${lang_file} | grep -v null || echo "")
|
|
||||||
[[ -n $target_lang ]] || {
|
|
||||||
log " + Missing '__lang' key, cannot translate."
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
for tk in "${translation_keys[@]}"; do
|
|
||||||
[[ $(jq -r ".[\"${tk}\"]" ${lang_file}) == null ]] || continue
|
|
||||||
log " + Missing '${tk}', fetching..."
|
|
||||||
|
|
||||||
source_str=$(jq -r ".[\"${tk}\"]" src/langs/en.json)
|
|
||||||
|
|
||||||
translation="$(
|
|
||||||
curl -sSf -X POST "${DEEPL_API_ENDPOINT}" \
|
|
||||||
-H "Authorization: DeepL-Auth-Key ${DEEPL_API_KEY}" \
|
|
||||||
-F "text=${source_str}" \
|
|
||||||
-F "target_lang=${target_lang}" |
|
|
||||||
jq -r '.translations[0].text'
|
|
||||||
)"
|
|
||||||
|
|
||||||
jq -S --arg t "${translation}" ".[\"${tk}\"]=\$t" ${lang_file} >${lang_file}.tmp
|
|
||||||
mv ${lang_file}.tmp ${lang_file}
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
done
|
|
17
ci/translate/go.mod
Normal file
17
ci/translate/go.mod
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
module translate
|
||||||
|
|
||||||
|
go 1.20
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/Luzifer/rconfig/v2 v2.4.0
|
||||||
|
github.com/pkg/errors v0.9.1
|
||||||
|
github.com/sirupsen/logrus v1.9.3
|
||||||
|
gopkg.in/yaml.v3 v3.0.1
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect
|
||||||
|
gopkg.in/validator.v2 v2.0.0-20210331031555-b37d688a7fb0 // indirect
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||||
|
)
|
27
ci/translate/go.sum
Normal file
27
ci/translate/go.sum
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
github.com/Luzifer/rconfig/v2 v2.4.0 h1:MAdymTlExAZ8mx5VG8xOFAtFQSpWBipKYQHPOmYTn9o=
|
||||||
|
github.com/Luzifer/rconfig/v2 v2.4.0/go.mod h1:hWF3ZVSusbYlg5bEvCwalEyUSY+0JPJWUiIu7rBmav8=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||||
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||||
|
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||||
|
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||||
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
|
||||||
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ=
|
||||||
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/validator.v2 v2.0.0-20210331031555-b37d688a7fb0 h1:EFLtLCwd8tGN+r/ePz3cvRtdsfYNhDEdt/vp6qsT+0A=
|
||||||
|
gopkg.in/validator.v2 v2.0.0-20210331031555-b37d688a7fb0/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc=
|
||||||
|
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||||
|
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
281
ci/translate/translate.go
Normal file
281
ci/translate/translate.go
Normal file
@ -0,0 +1,281 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"encoding/json"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"text/template"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
|
"github.com/Luzifer/rconfig/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
deeplRequestTimeout = 10 * time.Second
|
||||||
|
jsTemplate = `// Auto-Generated, do not edit!
|
||||||
|
|
||||||
|
export default {
|
||||||
|
{{- range $lang, $translation := .Translations }}
|
||||||
|
'{{ $lang }}': JSON.parse('{{ .Translations.ToJSON }}'),
|
||||||
|
{{- end }}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
)
|
||||||
|
|
||||||
|
type (
|
||||||
|
translation map[string]any
|
||||||
|
translationFile struct {
|
||||||
|
Reference translationMapping `yaml:"reference"`
|
||||||
|
Translations map[string]*translationMapping `yaml:"translations"`
|
||||||
|
}
|
||||||
|
translationMapping struct {
|
||||||
|
DeeplLanguage string `yaml:"deeplLanguage,omitempty"`
|
||||||
|
LanguageKey string `yaml:"languageKey,omitempty"`
|
||||||
|
Translations translation `yaml:"translations"`
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
cfg = struct {
|
||||||
|
DeeplAPIEndpoint string `flag:"deepl-api-endpoint" default:"https://api-free.deepl.com/v2/translate" description:"DeepL API endpoint to request translations from"`
|
||||||
|
DeeplAPIKey string `flag:"deepl-api-key" default:"" description:"API key for the DeepL API"`
|
||||||
|
OutputFile string `flag:"output-file,o" default:"../../src/langs/langs.js" description:"Where to put rendered translations"`
|
||||||
|
TranslationFile string `flag:"translation-file,t" default:"../../i18n.yaml" description:"File to use for translations"`
|
||||||
|
LogLevel string `flag:"log-level" default:"info" description:"Log level (debug, info, warn, error, fatal)"`
|
||||||
|
VersionAndExit bool `flag:"version" default:"false" description:"Prints current version and exits"`
|
||||||
|
}{}
|
||||||
|
|
||||||
|
version = "dev"
|
||||||
|
)
|
||||||
|
|
||||||
|
func initApp() error {
|
||||||
|
rconfig.AutoEnv(true)
|
||||||
|
if err := rconfig.ParseAndValidate(&cfg); err != nil {
|
||||||
|
return errors.Wrap(err, "parsing cli options")
|
||||||
|
}
|
||||||
|
|
||||||
|
l, err := logrus.ParseLevel(cfg.LogLevel)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "parsing log-level")
|
||||||
|
}
|
||||||
|
logrus.SetLevel(l)
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var err error
|
||||||
|
if err = initApp(); err != nil {
|
||||||
|
logrus.WithError(err).Fatal("initializing app")
|
||||||
|
}
|
||||||
|
|
||||||
|
if cfg.VersionAndExit {
|
||||||
|
logrus.WithField("version", version).Info("translate")
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Info("loading translations...")
|
||||||
|
|
||||||
|
tf, err := loadTranslationFile()
|
||||||
|
if err != nil {
|
||||||
|
logrus.WithError(err).Fatal("loading translation file")
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Info("auto-translating new strings...")
|
||||||
|
|
||||||
|
if err = autoTranslate(&tf); err != nil {
|
||||||
|
logrus.WithError(err).Fatal("adding missing translations")
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Info("saving translation file...")
|
||||||
|
|
||||||
|
if err = saveTranslationFile(tf); err != nil {
|
||||||
|
logrus.WithError(err).Fatal("saving translation file")
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.Info("updating JS embedded translations...")
|
||||||
|
|
||||||
|
// Copy reference for rendering
|
||||||
|
tf.Translations[tf.Reference.LanguageKey] = &tf.Reference
|
||||||
|
|
||||||
|
if err = renderJSFile(tf); err != nil {
|
||||||
|
logrus.WithError(err).Fatal("rendering JS output")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoTranslate(tf *translationFile) error {
|
||||||
|
if cfg.DeeplAPIKey == "" {
|
||||||
|
logrus.Warn("missing DeepL API key, skipping translation of new strings")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Collect keys to translate
|
||||||
|
var keys []string
|
||||||
|
for key := range tf.Reference.Translations {
|
||||||
|
keys = append(keys, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
for lang := range tf.Translations {
|
||||||
|
if tf.Translations[lang].DeeplLanguage == "" {
|
||||||
|
logrus.WithField("lang", lang).Warn("missing DeepL language, skipping")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, key := range keys {
|
||||||
|
if err := autoTranslateKeyForLang(tf, lang, key); err != nil {
|
||||||
|
return errors.Wrapf(err, "translating %s:%s", lang, key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func autoTranslateKeyForLang(tf *translationFile, lang, key string) (err error) {
|
||||||
|
if tf.Translations[lang].Translations[key] != nil {
|
||||||
|
// There is something, we assume that's fine, might miss out newly
|
||||||
|
// added strings in a slice - we care about that when we need to
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
logrus.WithFields(logrus.Fields{
|
||||||
|
"lang": lang,
|
||||||
|
"key": key,
|
||||||
|
}).Info("fetching translation...")
|
||||||
|
|
||||||
|
if tf.Translations[lang].Translations == nil {
|
||||||
|
tf.Translations[lang].Translations = make(map[string]any)
|
||||||
|
}
|
||||||
|
|
||||||
|
switch typedSrc := tf.Reference.Translations[key].(type) {
|
||||||
|
case string:
|
||||||
|
if tf.Translations[lang].Translations[key], err = fetchTranslation(
|
||||||
|
tf.Reference.DeeplLanguage,
|
||||||
|
tf.Translations[lang].DeeplLanguage,
|
||||||
|
typedSrc,
|
||||||
|
); err != nil {
|
||||||
|
return errors.Wrapf(err, "translating %s:%s", lang, key)
|
||||||
|
}
|
||||||
|
|
||||||
|
case []any:
|
||||||
|
var ts []string
|
||||||
|
for _, str := range typedSrc {
|
||||||
|
tStr, err := fetchTranslation(
|
||||||
|
tf.Reference.DeeplLanguage,
|
||||||
|
tf.Translations[lang].DeeplLanguage,
|
||||||
|
str.(string),
|
||||||
|
)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrapf(err, "translating %s:%s", lang, key)
|
||||||
|
}
|
||||||
|
ts = append(ts, tStr)
|
||||||
|
}
|
||||||
|
tf.Translations[lang].Translations[key] = ts
|
||||||
|
|
||||||
|
default:
|
||||||
|
return errors.Errorf("unexpected translation type %T", tf.Reference.Translations[key])
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func fetchTranslation(srcLang, destLang, text string) (string, error) {
|
||||||
|
params := url.Values{}
|
||||||
|
params.Set("text", text)
|
||||||
|
params.Set("source_lang", strings.ToUpper(srcLang))
|
||||||
|
params.Set("target_lang", strings.ToUpper(destLang))
|
||||||
|
params.Set("tag_handling", "html")
|
||||||
|
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), deeplRequestTimeout)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
req, err := http.NewRequestWithContext(ctx, http.MethodPost, cfg.DeeplAPIEndpoint, strings.NewReader(params.Encode()))
|
||||||
|
if err != nil {
|
||||||
|
return "", errors.Wrap(err, "creating request")
|
||||||
|
}
|
||||||
|
req.Header.Set("Authorization", strings.Join([]string{"DeepL-Auth-Key", cfg.DeeplAPIKey}, " "))
|
||||||
|
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||||
|
|
||||||
|
resp, err := http.DefaultClient.Do(req)
|
||||||
|
if err != nil {
|
||||||
|
return "", errors.Wrap(err, "executing request")
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
var payload struct {
|
||||||
|
Translations []struct {
|
||||||
|
Text string `json:"text"`
|
||||||
|
} `json:"translations"`
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = json.NewDecoder(resp.Body).Decode(&payload); err != nil {
|
||||||
|
return "", errors.Wrap(err, "decoding DeepL response")
|
||||||
|
}
|
||||||
|
|
||||||
|
if l := len(payload.Translations); l != 1 {
|
||||||
|
return "", errors.Errorf("unexpected number of translations: %d", l)
|
||||||
|
}
|
||||||
|
|
||||||
|
return payload.Translations[0].Text, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func loadTranslationFile() (translationFile, error) {
|
||||||
|
var tf translationFile
|
||||||
|
f, err := os.Open(cfg.TranslationFile)
|
||||||
|
if err != nil {
|
||||||
|
return tf, errors.Wrap(err, "opening translation file")
|
||||||
|
}
|
||||||
|
defer f.Close()
|
||||||
|
|
||||||
|
return tf, errors.Wrap(yaml.NewDecoder(f).Decode(&tf), "decoding translation file")
|
||||||
|
}
|
||||||
|
|
||||||
|
func renderJSFile(tf translationFile) error {
|
||||||
|
tpl, err := template.New("js").Parse(jsTemplate)
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "parsing template")
|
||||||
|
}
|
||||||
|
|
||||||
|
f, err := os.Create(cfg.OutputFile + ".tmp")
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "creating tempfile")
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = tpl.Execute(f, tf); err != nil {
|
||||||
|
f.Close()
|
||||||
|
return errors.Wrap(err, "rendering js template")
|
||||||
|
}
|
||||||
|
|
||||||
|
f.Close()
|
||||||
|
return errors.Wrap(os.Rename(cfg.OutputFile+".tmp", cfg.OutputFile), "moving file in place")
|
||||||
|
}
|
||||||
|
|
||||||
|
func saveTranslationFile(tf translationFile) error {
|
||||||
|
f, err := os.Create(cfg.TranslationFile + ".tmp")
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "creating tempfile")
|
||||||
|
}
|
||||||
|
|
||||||
|
encoder := yaml.NewEncoder(f)
|
||||||
|
encoder.SetIndent(2)
|
||||||
|
|
||||||
|
if err = encoder.Encode(tf); err != nil {
|
||||||
|
f.Close()
|
||||||
|
return errors.Wrap(err, "encoding translation file")
|
||||||
|
}
|
||||||
|
|
||||||
|
f.Close()
|
||||||
|
return errors.Wrap(os.Rename(cfg.TranslationFile+".tmp", cfg.TranslationFile), "moving file in place")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t translation) ToJSON() (string, error) {
|
||||||
|
j, err := json.Marshal(t)
|
||||||
|
return strings.ReplaceAll(string(j), "'", "\\'"), errors.Wrap(err, "marshalling JSON")
|
||||||
|
}
|
370
i18n.yaml
Normal file
370
i18n.yaml
Normal file
@ -0,0 +1,370 @@
|
|||||||
|
reference:
|
||||||
|
deeplLanguage: en
|
||||||
|
languageKey: en
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: This is not the secret you are looking for… - If you expected the secret to be here it might be compromised as someone else might have opened the link already.
|
||||||
|
alert-something-went-wrong: Something went wrong. I'm very sorry about this…
|
||||||
|
btn-create-secret: Create the secret!
|
||||||
|
btn-new-secret: New Secret
|
||||||
|
btn-reveal-secret: Show me the secret!
|
||||||
|
btn-show-explanation: How does this work?
|
||||||
|
items-explanation:
|
||||||
|
- You enter a secret into the field on this page
|
||||||
|
- Your browser encrypts the secret using a generated password
|
||||||
|
- Only the encrypted secret is sent to the server (neither the plain secret nor the password are ever sent!)
|
||||||
|
- The server stores the encrypted secret for a certain time
|
||||||
|
- You pass the displayed URL containing the ID and the decryption password to the recipient
|
||||||
|
- 'The recipient can view the secret exactly once: If they can''t, the secret might have been viewed by someone else!'
|
||||||
|
- After the encrypted secret has been retrieved once, it is deleted from the server
|
||||||
|
label-secret-data: 'Secret data:'
|
||||||
|
text-burn-hint: Please remember not to go to this URL yourself as that would destroy the secret. Just pass it to someone else!
|
||||||
|
text-hint-burned: <strong>Attention:</strong> You're only seeing this once. As soon as you reload the page the secret will be gone so maybe copy it now…
|
||||||
|
text-powered-by: Powered by
|
||||||
|
text-pre-reveal-hint: To reveal the secret click this button but be aware doing so will destroy the secret. You can only view it once!
|
||||||
|
text-pre-url: 'Your secret was created and stored using this URL:'
|
||||||
|
text-secret-create-disabled: The creation of new secrets is disabled in this instance.
|
||||||
|
title-explanation: This is how it works…
|
||||||
|
title-new-secret: Create a new secret
|
||||||
|
title-reading-secret: Reading your secret…
|
||||||
|
title-secret-create-disabled: Secret creation disabled…
|
||||||
|
title-secret-created: Secret created!
|
||||||
|
translations:
|
||||||
|
ca:
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Aquest no és el secret que busques… - Si esperaves que el secret estiguera ací, és possible que s'haja vist compromés, ja que una altra persona podria haver obert l'enllaç en comptes de tu.
|
||||||
|
alert-something-went-wrong: Alguna cosa ha eixit malament. Ens sap molt greu…
|
||||||
|
btn-create-secret: Crea el secret!
|
||||||
|
btn-new-secret: Nou secret
|
||||||
|
btn-reveal-secret: Mostra'm el secret!
|
||||||
|
btn-show-explanation: Com funciona?
|
||||||
|
items-explanation:
|
||||||
|
- Introduïx un secret en el formulari que hi ha en aquesta pàgina
|
||||||
|
- El teu navegador xifra el secret utilitzant una contrasenya generada
|
||||||
|
- Únicament s'envia al servidor el secret xifrat (mai s'envien ni el secret sense xifrar ni la contrasenya!)
|
||||||
|
- El servidor emmagatzema el secret xifrat durant un temps limitat
|
||||||
|
- Envia al destinatari l'enllaç mostrat, que conté l'identificador del secret i la contrasenya de desxifrat
|
||||||
|
- 'El destinatari pot veure el secret una sola vegada: si no pot, el secret podria haver sigut vist per una altra persona!'
|
||||||
|
- Quan s'ha obtingut per primera i única vegada el secret xifrat, s'elimina del servidor
|
||||||
|
label-secret-data: 'Informació secreta:'
|
||||||
|
text-burn-hint: Per favor, recorda no accedir a aquest enllaç tu mateix, ja que això destruiria el secret. Només has de passar-li'l a una altra persona!
|
||||||
|
text-hint-burned: <strong>Atenció:</strong> Només veuràs això una vegada. Quan recarregues la pàgina, el secret desapareixerà, així que copia'l ja…
|
||||||
|
text-powered-by: Funciona amb
|
||||||
|
text-pre-reveal-hint: Per a mostrar el secret prem aquest botó, però tingues en compte que en fer-ho es destruirà. Només pots veure'l una vegada!
|
||||||
|
text-pre-url: 'El teu secret ha sigut creat i emmagatzemat en el següent enllaç:'
|
||||||
|
title-explanation: Així és com funciona…
|
||||||
|
title-new-secret: Crea un nou secret
|
||||||
|
title-reading-secret: Obtenint el teu secret…
|
||||||
|
title-secret-created: Secret creat!
|
||||||
|
de:
|
||||||
|
deeplLanguage: de
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Das ist nicht das Secret, was du suchst… - Falls du diesen Link noch nicht selbst geöffnet hast, könnte das Secret kompromittiert sein, da jemand anderes den Link geöffnet haben könnte.
|
||||||
|
alert-something-went-wrong: Irgendwas ging schief. Entschuldigung…
|
||||||
|
btn-create-secret: Secret erstellen!
|
||||||
|
btn-new-secret: Neues Secret
|
||||||
|
btn-reveal-secret: Zeig mir das Secret!
|
||||||
|
btn-show-explanation: Wie funktioniert das?
|
||||||
|
items-explanation:
|
||||||
|
- Du gibst ein Secret auf dieser Seite ein
|
||||||
|
- Dein Browser verschlüsselt das Secret mit einem generierten Passwort
|
||||||
|
- Nur das verschlüsselte Secret wird an den Server geschickt (das Passwort oder das Secret im Klartext werden niemals übertragen!)
|
||||||
|
- Der Server speichert das verschlüsselte Secret für eine Weile
|
||||||
|
- Du gibst die angezeigte URL, welche die ID und das Passwort des Secrets enthält, an den Empfänger
|
||||||
|
- 'Der Empfänger kann das Secret einmalig abrufen: Funktioniert das nicht, könnte jemand anderes es abgerufen haben!'
|
||||||
|
- Wenn das verschlüsselte Secret das erste Mal abgerufen wurde, wird es automatisch vom Server gelöscht
|
||||||
|
label-secret-data: 'Inhalt des Secrets:'
|
||||||
|
text-burn-hint: Bitte rufe die URL nicht selbst auf, da das Secret dadurch zerstört würde. Gib sie einfach weiter!
|
||||||
|
text-hint-burned: <strong>Achtung:</strong> Du kannst das nur einmal ansehen! Sobald du die Seite neu lädst, ist das Secret verschwunden, also besser direkt kopieren und sicher abspeichern…
|
||||||
|
text-powered-by: Läuft mit
|
||||||
|
text-pre-reveal-hint: Um das Secret anzuzeigen klicke diesen Button aber denk dran, dass das Secret nur einmal angezeigt und dabei gelöscht wird.
|
||||||
|
text-pre-url: 'Dein Secret wurde angelegt und unter folgender URL gespeichert:'
|
||||||
|
text-secret-create-disabled: Auf dieser Instanz wurde das Erstellen neuer Secrets deaktiviert.
|
||||||
|
title-explanation: So funktioniert es…
|
||||||
|
title-new-secret: Erstelle ein neues Secret
|
||||||
|
title-reading-secret: Secret auslesen…
|
||||||
|
title-secret-create-disabled: Erstellen von Secrets deaktiviert…
|
||||||
|
title-secret-created: Secret erstellt!
|
||||||
|
es:
|
||||||
|
deeplLanguage: es
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Este no es el secreto que buscas… - Si esperabas que el secreto estuviera aquí, es posible que se haya visto comprometido, ya que otra persona podría haber abierto el enlace en tu lugar.
|
||||||
|
alert-something-went-wrong: Algo ha salido mal. Lo sentimos mucho…
|
||||||
|
btn-create-secret: ¡Crea el secreto!
|
||||||
|
btn-new-secret: Nuevo secreto
|
||||||
|
btn-reveal-secret: ¡Muéstrame el secreto!
|
||||||
|
btn-show-explanation: ¿Cómo funciona?
|
||||||
|
items-explanation:
|
||||||
|
- Introduce un secreto en el formulario que hay en esta página
|
||||||
|
- Tu navegador cifra el secreto utilizando una contraseña generada
|
||||||
|
- Únicamente se envía al servidor el secreto cifrado (¡nunca se envían ni el secreto sin cifrar ni la contraseña!)
|
||||||
|
- El servidor almacena el secreto cifrado durante un tiempo limitado
|
||||||
|
- Envía al destinatario el enlace mostrado, que contiene el identificador del secreto y la contraseña de descifrado
|
||||||
|
- 'El destinatario puede ver el secreto una sola vez: si no puede, ¡el secreto podría haber sido visto por otra persona!'
|
||||||
|
- Cuando se ha obtenido por primera y única vez el secreto cifrado, se elimina del servidor
|
||||||
|
label-secret-data: 'Información secreta:'
|
||||||
|
text-burn-hint: Por favor, recuerda no acceder a este enlace tú mismo, ya que esto destruiría el secreto. ¡Solo tienes que pasárselo a otra persona!
|
||||||
|
text-hint-burned: <strong>Atención:</strong> Solo verás esto una vez. En cuanto recargues la página, el secreto desaparecerá, así que cópialo ya…
|
||||||
|
text-powered-by: Funciona con
|
||||||
|
text-pre-reveal-hint: Para mostrar el secreto pulsa este botón, pero ten en cuenta que al hacerlo se destruirá. ¡Solo puedes verlo una vez!
|
||||||
|
text-pre-url: 'Tu secreto ha sido creado y almacenado en el siguiente enlace:'
|
||||||
|
text-secret-create-disabled: En este caso, la creación de nuevos secretos está desactivada.
|
||||||
|
title-explanation: Así es como funciona…
|
||||||
|
title-new-secret: Crea un nuevo secreto
|
||||||
|
title-reading-secret: Obteniendo tu secreto…
|
||||||
|
title-secret-create-disabled: Creación secreta desactivada...
|
||||||
|
title-secret-created: ¡Secreto creado!
|
||||||
|
fr:
|
||||||
|
deeplLanguage: fr
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Ce secret n'est pas celui que vous cherchez… - Si vous comptiez trouvez ce secret ici, il a pu être compromis car quelqu'un a probablement déjà ouvert le lien.
|
||||||
|
alert-something-went-wrong: Un problème est survenu. Nous en sommes désolés…
|
||||||
|
btn-create-secret: Créer le secret!
|
||||||
|
btn-new-secret: Nouveau secret
|
||||||
|
btn-reveal-secret: Voir le secret!
|
||||||
|
btn-show-explanation: Comment ça fonctionne?
|
||||||
|
items-explanation:
|
||||||
|
- Vous saisissez le secret dans un champ sur cette page
|
||||||
|
- Votre navigateur chiffre le secret en utilisant un mot de passe généré
|
||||||
|
- Seul le secret chiffré est envoyé au serveur (ni le secret en clair, ni le mot de passe ne sont envoyés!)
|
||||||
|
- Le serveur stocke le secret chiffré pendant un certain temps
|
||||||
|
- Vous fournissez l'URL affichée contenant l'identifiant et le mot de passe de déchiffrage au destinataire
|
||||||
|
- 'Le destintaire ne peut voir le secret qu''une fois: si cela ne fonctionne pas, c''est que le secret a été consulté par quelqu''un d''autre!'
|
||||||
|
- Dès que le secret chiffré a été récupéré, il est supprimé du serveur
|
||||||
|
label-secret-data: 'Données secrètes:'
|
||||||
|
text-burn-hint: Attention de ne pas ouvrir cette URL vous-même, cela détruirait le secret. Fournissez-la à quelqu'un d'autre!
|
||||||
|
text-hint-burned: <strong>Attention:</strong> Vous ne pouvez consulter ce contenu qu'une fois. Le secret sera détruit dès que vous rechargez la page, donc copiez le maintenant…
|
||||||
|
text-powered-by: Propulsé par
|
||||||
|
text-pre-reveal-hint: Pour afficher le secret, cliquez sur ce bouton, mais soyez conscient que cela le détruira. Vous ne pouvez l'afficher qu'une fois!
|
||||||
|
text-pre-url: 'Votre secret a été créé et stocké à cette URL:'
|
||||||
|
text-secret-create-disabled: La création de nouveaux secrets est désactivée dans ce cas.
|
||||||
|
title-explanation: Voici comment ça fonctionne…
|
||||||
|
title-new-secret: Créer un nouveau secret
|
||||||
|
title-reading-secret: Lecture du secret…
|
||||||
|
title-secret-create-disabled: Création secrète désactivée...
|
||||||
|
title-secret-created: Secret créé!
|
||||||
|
lv:
|
||||||
|
deeplLanguage: lv
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: <strong>Ziņa nav atrasta!</strong>… - Ja ievadītā saite ir pareiza, tad ir beidzies ziņas glabāšanas laiks, vai arī tā jau vienreiz ir atvērta.
|
||||||
|
alert-something-went-wrong: Neparedzēta sistēmas kļūda. Atvainojiet par sagādātajām neērtībām…
|
||||||
|
btn-create-secret: Šifrēt ziņu!
|
||||||
|
btn-new-secret: Jauna ziņa
|
||||||
|
btn-reveal-secret: Atvērt ziņu!
|
||||||
|
btn-show-explanation: Kā tas strādā?
|
||||||
|
items-explanation:
|
||||||
|
- Tu ievadi ziņu ievades laukā
|
||||||
|
- Pārlūks nošifrē ziņu ar uzģenerētu paroli
|
||||||
|
- Tikai šifrētā ziņa tiek nosūtīta serverim (nešifrētā ziņa un parole sūtīta netiek!)
|
||||||
|
- Serveris noteiktu laiku glabā šifrēto ziņu
|
||||||
|
- Tu nodod URL ar ziņas ID un atšifrēšanas paroli saņēmējam
|
||||||
|
- 'Saņēmējs var atvērt ziņu tikai vienreiz: ja tas neizdodas, iespējams, ziņu jau atvēris kāds cits!'
|
||||||
|
- Kad ziņa tiek atvērta pirmo reizi, tā no servera tiek dzēsta
|
||||||
|
label-secret-data: 'Ziņa:'
|
||||||
|
text-burn-hint: Lūdzu atceries neatvērt saiti pats, jo tad ziņa tiks dzēsta. Nodod saiti ziņas saņēmējam!
|
||||||
|
text-hint-burned: <strong>Uzmanību:</strong> Ziņa tiek parādīta tikai vienu reizi. Līdzko lapa tiks pārlādēta, ziņa būs neatgriezeniski zaudēta, tāpēc nepieciešamības gadījumā nokopē to tagad…
|
||||||
|
text-powered-by: Darbina
|
||||||
|
text-pre-reveal-hint: Lai parādītu ziņu nospied šo pogu, bet rēķinies ar to, ka pēc apskates ziņa vairs nebūs pieejama. To var atvērt tikai vienreiz!
|
||||||
|
text-pre-url: 'Ziņa ir nošifrēta un ir atverama šajā adresē:'
|
||||||
|
text-secret-create-disabled: Šajā gadījumā jaunu noslēpumu izveide ir atspējota.
|
||||||
|
title-explanation: Tā tas strādā…
|
||||||
|
title-new-secret: Šifrēt ziņu
|
||||||
|
title-reading-secret: Atver ziņu…
|
||||||
|
title-secret-create-disabled: Slepena izveide atspējota...
|
||||||
|
title-secret-created: Ziņa nošifrēta!
|
||||||
|
nl:
|
||||||
|
deeplLanguage: nl
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: De gegevens die je zocht bestaan niet (meer)… - Als je hier informatie verwachtte dan is de link mogelijk al door iemand anders bekeken!
|
||||||
|
alert-something-went-wrong: Er ging iets verkeerd, sorry…
|
||||||
|
btn-create-secret: Nieuwe vertrouwelijke info aanmaken!
|
||||||
|
btn-new-secret: Nieuw
|
||||||
|
btn-reveal-secret: Toon mij de vertrouwelijke info!
|
||||||
|
btn-show-explanation: Hoe werkt dit?
|
||||||
|
items-explanation:
|
||||||
|
- Je vult vertrouwelijke informatie in op deze pagina.
|
||||||
|
- Je browser versleutelt de ingevulde tekst via een automatisch gegenereerd wachtwoord.
|
||||||
|
- Alleen de versleutelde data wordt naar de server gestuurd. (De leesbare versie of het wachtwoord worden nooit verstuurd!)
|
||||||
|
- De server slaat de versleutelde data gedurende een beperkte periode op.
|
||||||
|
- Je geeft de URL met identificatie en het gegenereerde wachtwoord aan de ontvanger.
|
||||||
|
- 'De ontvanger kan de vertrouwelijke informatie exact eenmaal bekijken: indien het niet lukt heeft mogelijk iemand anders de info gezien!'
|
||||||
|
- De versleutelde data wordt van de server gewist van zodra de ontvanger het bekeken heeft.
|
||||||
|
label-secret-data: 'Vertrouwelijke info:'
|
||||||
|
text-burn-hint: 'Bezoek de URL niet zelf: je kan deze slechts eenmaal gebruiken. Geef de URL aan de ontvanger.'
|
||||||
|
text-hint-burned: <strong>Opgelet:</strong> Je ziet deze informatie alleen nu. Je kan het niet meer opnieuw opvragen als je de pagina verlaat.
|
||||||
|
text-powered-by: Mogelijk gemaakt door
|
||||||
|
text-pre-reveal-hint: 'Gebruik deze knop om de vertrouwelijke info op te halen. Let op: Je kan dit slechts eenmaal doen!'
|
||||||
|
text-pre-url: 'Je vertrouwelijke informatie kan opgevraagd worden via deze URL:'
|
||||||
|
text-secret-create-disabled: Het aanmaken van nieuwe geheimen is in dit geval uitgeschakeld.
|
||||||
|
title-explanation: Dit is hoe het werkt…
|
||||||
|
title-new-secret: Nieuwe vertrouwelijke info opslaan
|
||||||
|
title-reading-secret: Vertrouwelijke info lezen…
|
||||||
|
title-secret-create-disabled: Geheime creatie uitgeschakeld...
|
||||||
|
title-secret-created: Vertrouwelijke info opgeslaan!
|
||||||
|
pt-BR:
|
||||||
|
deeplLanguage: pt-BR
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Esta não é o segredo que você está procurando… - Se você esperava que o segredo estaria aqui, ele pode ter sido comprometido por alguém que já acessou o link.
|
||||||
|
alert-something-went-wrong: Desculpe, algo deu errado…
|
||||||
|
btn-create-secret: Criar segredo!
|
||||||
|
btn-new-secret: Novo segredo
|
||||||
|
btn-reveal-secret: Mostrar o segredo!
|
||||||
|
btn-show-explanation: Como funciona?
|
||||||
|
items-explanation:
|
||||||
|
- Você insere o segredo no campo de texto desta página
|
||||||
|
- Seu navegador criptografa o segredo usando uma senha gerada
|
||||||
|
- Somente o segredo criptografado é enviado para o servidor (nem o segredo em texto claro, nem a senha é enviada para o servidor!)
|
||||||
|
- O servidor armazena o segredo criptografado por um certo tempo
|
||||||
|
- Você envia a URL mostrada contendo a ID e a senha de descriptografia para o destinatário
|
||||||
|
- 'O destinatário pode ver o segredo apenas uma vez: se ele não pode ver, o segredo pode ter sido visto por outra pessoa!'
|
||||||
|
- Após o segredo ter sido obtido uma vez, o mesmo é deletado do servidor
|
||||||
|
label-secret-data: 'Informação secreta:'
|
||||||
|
text-burn-hint: Importante você lembrar de não acessar esta URL, pois isto irá indisponibilizar o segredo. Apenas encaminhe para outra pessoa!
|
||||||
|
text-hint-burned: 'Atenção: Você está vendo esta informação apenas uma vez. Logo que você recarregar a página o segredo ficará indisponível. É recomendado que você copie a informação agora…'
|
||||||
|
text-powered-by: Powered by
|
||||||
|
text-pre-reveal-hint: Para revelar o segredo clique neste botão, mas lembre-se que esta ação vai destruir o segredo. Você só pode ver uma única vez!
|
||||||
|
text-pre-url: 'Seu segredo foi criado e armazenado na seguinte URL:'
|
||||||
|
text-secret-create-disabled: A criação de novos segredos é desativada nesse caso.
|
||||||
|
title-explanation: É assim como funciona…
|
||||||
|
title-new-secret: Criar um novo segredo
|
||||||
|
title-reading-secret: Lendo seu segredo…
|
||||||
|
title-secret-create-disabled: Criação secreta desativada...
|
||||||
|
title-secret-created: Segredo criado!
|
||||||
|
ru:
|
||||||
|
deeplLanguage: ru
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Секрет недоступен… - Помните, он может быть скомпрометирован. Возможно кто-то другой уже открыл вашу ссылку.
|
||||||
|
alert-something-went-wrong: Что-то пошло не так. Приносим свои извинения…
|
||||||
|
btn-create-secret: Создать секрет!
|
||||||
|
btn-new-secret: Новый секрет
|
||||||
|
btn-reveal-secret: Показать секрет!
|
||||||
|
btn-show-explanation: Как это работает?
|
||||||
|
items-explanation:
|
||||||
|
- Вы вводите секрет в поле на этой странице.
|
||||||
|
- Ваш браузер шифрует секрет с помощью сгенерированного пароля.
|
||||||
|
- На сервер отправляется только зашифрованный секрет (ни текст секрета, ни пароль никогда не отправляются!)
|
||||||
|
- Сервер хранит зашифрованный секрет в течение определенного времени.
|
||||||
|
- Вы передаете отображаемый URL-адрес, содержащий идентификатор и пароль для расшифровки, получателю.
|
||||||
|
- 'Получатель может просмотреть секрет ровно один раз: если он не смог, секрет возможно был просмотрен кем-то другим!'
|
||||||
|
- После того как зашифрованный секрет был извлечен, он удаляется с сервера.
|
||||||
|
label-secret-data: 'Секретные данные:'
|
||||||
|
text-burn-hint: Пожалуйста, не переходите по этому URL для проверки, так как это удалит секрет. Просто скопируйте и передайте его!
|
||||||
|
text-hint-burned: <strong>Внимание:</strong> Секрет будет показан только один раз. Как только вы перезагрузите страницу, секрет исчезнет, скопируйте его незамедлительно…
|
||||||
|
text-powered-by: Powered by
|
||||||
|
text-pre-reveal-hint: Чтобы раскрыть секрет, нажмите эту кнопку, но имейте в виду, что это приведет к уничтожению секрета. Вы можете просмотреть его только один раз!
|
||||||
|
text-pre-url: 'Ваш секрет создан и сохранён, его URL:'
|
||||||
|
text-secret-create-disabled: Создание новых секретов в этом случае отключено.
|
||||||
|
title-explanation: Как это работает…
|
||||||
|
title-new-secret: Создать новый секрет
|
||||||
|
title-reading-secret: Читаем ваш секрет…
|
||||||
|
title-secret-create-disabled: Секретное создание отключено...
|
||||||
|
title-secret-created: Секрет создан!
|
||||||
|
sv:
|
||||||
|
deeplLanguage: sv
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Hemlighet hittades inte… - Om du förväntade dig att hemligheten skulle finnas här kan den vara röjd då någon annan kan ha öppnat denna länk tidigare.
|
||||||
|
alert-something-went-wrong: Något gick fel. Jag ber om ursäkt för detta!…
|
||||||
|
btn-create-secret: Skapa hemliget!
|
||||||
|
btn-new-secret: Ny hemlighet.
|
||||||
|
btn-reveal-secret: Visa mig hemligheten!
|
||||||
|
btn-show-explanation: Hur fungerar detta?
|
||||||
|
items-explanation:
|
||||||
|
- Skriv in en hemlighet i rutan nedan
|
||||||
|
- Din webbläsare krypterar hemligheten med hjälp av ett genererat lösenord
|
||||||
|
- Endast den krypterade hemligheten skickas till servern. (varken lösenordet eller hemligheten i klartext skickas!)
|
||||||
|
- Servern lagrar den krypterade hemligheten för en begränsad tid
|
||||||
|
- Du skickar URL-länken med ID-numret och avkrypteringslösenordet till mottagaren
|
||||||
|
- 'Mottagaren kan se hemligheten exakt en gång: Om detta misslyckas kan hemligheten redan ha setts av någon annan!'
|
||||||
|
- När hemligheten har setts en gång, raderas den från servern
|
||||||
|
label-secret-data: 'Hemlig data:'
|
||||||
|
text-burn-hint: Kom ihåg att inte gå till denna URL själv eftersom detta skulle förbruka hemligheten. Skicka bara vidare den till mottagaren!
|
||||||
|
text-hint-burned: <strong>Observera:</strong> Du kan endast se denna sida en gång. Så fort du laddar om sidan kommer hemligheten att försvinna så kopiera den nu…
|
||||||
|
text-powered-by: Drivs av
|
||||||
|
text-pre-reveal-hint: För att visa hemligheten klicka på denna knapp. Var medveten om att när du gör det kommer hemligheten att förbrukas, du kan endast se den en gång!
|
||||||
|
text-pre-url: 'Din hemlighet har skapats och lagrats med denna URL:'
|
||||||
|
text-secret-create-disabled: Skapandet av nya hemligheter blockeras i detta fall.
|
||||||
|
title-explanation: Såhär fungerar det…
|
||||||
|
title-new-secret: Skapa ny hemlighet
|
||||||
|
title-reading-secret: Läs din hemlighet…
|
||||||
|
title-secret-create-disabled: Hemlig skapelse avaktiverad...
|
||||||
|
title-secret-created: Hemlighet skapad!
|
||||||
|
tr:
|
||||||
|
deeplLanguage: tr
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: Aradığınız sır bu değil… - Sırrın burada olmasını bekliyorsanız, bu link başkası tarafından açılmış ve sırrınız tehlikede olabilir.
|
||||||
|
alert-something-went-wrong: Bir şeyler ters gitti. Bunun için çok üzgünüm…
|
||||||
|
btn-create-secret: Sır oluştur!
|
||||||
|
btn-new-secret: Yeni sır
|
||||||
|
btn-reveal-secret: Sırrı göster!
|
||||||
|
btn-show-explanation: Nasıl çalışır?
|
||||||
|
items-explanation:
|
||||||
|
- Bu sayfadaki alana sırrınızı giriniz
|
||||||
|
- Internet tarayıcınız oluşturulan şifre yardımı ile sırrınızı enkripte eder
|
||||||
|
- Sadece ektripte edilmiş sır sunucuya gönderilir (ne sır metni nede şifre gönderilmez!)
|
||||||
|
- Sunucu enkripte edilmiş sırrı bünyesinde belli bir süre saklar
|
||||||
|
- Gösterilen linki, id ve deşifre bilgisi ile birlikte alıcıya gönder
|
||||||
|
- 'Alcı sırrı tam olarak sadece bir kez görebilir: Eğer göremez ise, sır bir başkası tarafından daha önce görülmüş olabilir!'
|
||||||
|
- Sır bir kez gösterildikten sonra hemen sunucudan silinir
|
||||||
|
label-secret-data: 'Sır bilgisi:'
|
||||||
|
text-burn-hint: Lütfen linki kendiniz acmayın, bu sırrın silinmesine neden olur. Linki sadece alıcıya gönderin!
|
||||||
|
text-hint-burned: 'Dikkat: Bunu sadece bir kez göreceksiniz. Sayfayı güncellediğinizde yada kapattiğınızda sır kaybolacaktır, belkide şimdi sırrı kopyalamanız akıllıca olacaktır…'
|
||||||
|
text-powered-by: Tarafından desteklenmektedir
|
||||||
|
text-pre-reveal-hint: Sırrı görmek için bu düğmeye tıklayın, ama bunu yaptıktan sonra sırrın silineceğini unutmayın. Bunu sadece bir kez görebilirsin!
|
||||||
|
text-pre-url: 'Sırrınız oluşturuldu ve bu link kullanılarak kaydedildi:'
|
||||||
|
text-secret-create-disabled: Bu durumda yeni gizli dizilerin oluşturulması devre dışı bırakılır.
|
||||||
|
title-explanation: Bu sekilde çalışır…
|
||||||
|
title-new-secret: Yeni sır oluştur
|
||||||
|
title-reading-secret: Sırrınız okunuyor…
|
||||||
|
title-secret-create-disabled: Gizli yaratım devre dışı bırakıldı...
|
||||||
|
title-secret-created: Sır oluşturuldu!
|
||||||
|
zh:
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: 这不是您正在寻找的机密… - 如果您期望机密会出现在这里,它可能已经被泄漏了,因为可能有其他人已经打开了此链接。
|
||||||
|
alert-something-went-wrong: 看样子出了一些问题,对此我非常抱歉…
|
||||||
|
btn-create-secret: 创建机密!
|
||||||
|
btn-new-secret: 新的机密
|
||||||
|
btn-reveal-secret: 向我展示机密!
|
||||||
|
btn-show-explanation: 这是如何工作的?
|
||||||
|
items-explanation:
|
||||||
|
- 您在当前页面上的字段输入一个机密
|
||||||
|
- 您的浏览器使用生成的密码加密刚才的机密
|
||||||
|
- 只有加密后的机密被发送到服务器(无论是机密的明文内容还是加密的密码都不会被发送!)
|
||||||
|
- 服务器将加密的机密存储一定时间
|
||||||
|
- 您将显示的包含 ID 和解密密码的 URL 链接发送给收件人
|
||||||
|
- 收件人只能查看一次机密:如果他们无法查看,就代表这个机密已经被其他人看过来!
|
||||||
|
- 当加密的机密被取回一次以后,他将从服务器上被删除
|
||||||
|
label-secret-data: 机密数据
|
||||||
|
text-burn-hint: 请注意您自己不要访问这个 URL 地址,否则这会破坏机密。 就这样把它发送给别人就可以了!
|
||||||
|
text-hint-burned: <strong>请注意:</strong> 您只能看到这一次! 一旦您刷新当前页面,机密就会消失,所以应该现在就复制机密…
|
||||||
|
text-powered-by: 强力驱动通过
|
||||||
|
text-pre-reveal-hint: 要揭露这个机密,请点击此按钮,但注意这样做之后会破坏此机密。 您只能查看一次!
|
||||||
|
text-pre-url: 您的机密是使用此 URL 创建和存储:
|
||||||
|
title-explanation: 这就是它的工作方式…
|
||||||
|
title-new-secret: 创建一个机密
|
||||||
|
title-reading-secret: 读取你的机密…
|
||||||
|
title-secret-created: 机密已创建!
|
||||||
|
zh-TW:
|
||||||
|
translations:
|
||||||
|
alert-secret-not-found: 這不是您正在尋找的機密… - 如果您期望機密會出現在這裡,它可能已經被泄漏了,因為可能有其他人已經打開了此連結。
|
||||||
|
alert-something-went-wrong: 看樣子出了一些問題,對此我非常抱歉…
|
||||||
|
btn-create-secret: 創建機密!
|
||||||
|
btn-new-secret: 新的機密
|
||||||
|
btn-reveal-secret: 向我展示機密!
|
||||||
|
btn-show-explanation: 這是如何工作的?
|
||||||
|
items-explanation:
|
||||||
|
- 您在當前頁面上的欄位輸入一個機密
|
||||||
|
- 您的瀏覽器使用生成的密碼加密剛才的機密
|
||||||
|
- 只有加密後的機密被發送到伺服器(無論是機密的明文內容還是加密的密碼都不會被發送!)
|
||||||
|
- 伺服器將加密的機密存儲一定時間
|
||||||
|
- 您將顯示的包含 ID 和解密密碼的 URL 連結發送給收件人
|
||||||
|
- 收件人只能查看一次機密:如果他們無法查看,就代表這個機密已經被其他人看過來!
|
||||||
|
- 當加密的機密被取回一次以後,他將從伺服器上被刪除
|
||||||
|
label-secret-data: 機密數據
|
||||||
|
text-burn-hint: 請注意您自己不要訪問這個 URL 地址,否則這會破壞機密。 就這樣把它發送給別人就可以了!
|
||||||
|
text-hint-burned: <strong>請注意:</strong> 您只能看到這一次! 一旦您刷新當前頁面,機密就會消失,所以應該現在就複製機密…
|
||||||
|
text-powered-by: 強力驅動通過
|
||||||
|
text-pre-reveal-hint: 要揭露這個機密,請點擊此按鈕,但注意這樣做之後會破壞此機密。 您只能查看一次!
|
||||||
|
text-pre-url: 您的機密是使用此 URL 創建和存儲:
|
||||||
|
title-explanation: 這就是它的工作方式…
|
||||||
|
title-new-secret: 創建一個機密
|
||||||
|
title-reading-secret: 讀取你的機密…
|
||||||
|
title-secret-created: 機密已創建!
|
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"alert-secret-not-found": "Aquest no és el secret que busques… - Si esperaves que el secret estiguera ací, és possible que s'haja vist compromés, ja que una altra persona podria haver obert l'enllaç en comptes de tu.",
|
|
||||||
"alert-something-went-wrong": "Alguna cosa ha eixit malament. Ens sap molt greu…",
|
|
||||||
"btn-create-secret": "Crea el secret!",
|
|
||||||
"btn-new-secret": "Nou secret",
|
|
||||||
"btn-reveal-secret": "Mostra'm el secret!",
|
|
||||||
"btn-show-explanation": "Com funciona?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Introduïx un secret en el formulari que hi ha en aquesta pàgina",
|
|
||||||
"El teu navegador xifra el secret utilitzant una contrasenya generada",
|
|
||||||
"Únicament s'envia al servidor el secret xifrat (mai s'envien ni el secret sense xifrar ni la contrasenya!)",
|
|
||||||
"El servidor emmagatzema el secret xifrat durant un temps limitat",
|
|
||||||
"Envia al destinatari l'enllaç mostrat, que conté l'identificador del secret i la contrasenya de desxifrat",
|
|
||||||
"El destinatari pot veure el secret una sola vegada: si no pot, el secret podria haver sigut vist per una altra persona!",
|
|
||||||
"Quan s'ha obtingut per primera i única vegada el secret xifrat, s'elimina del servidor"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Informació secreta:",
|
|
||||||
"text-burn-hint": "Per favor, recorda no accedir a aquest enllaç tu mateix, ja que això destruiria el secret. Només has de passar-li'l a una altra persona!",
|
|
||||||
"text-hint-burned": "<strong>Atenció:</strong> Només veuràs això una vegada. Quan recarregues la pàgina, el secret desapareixerà, així que copia'l ja…",
|
|
||||||
"text-powered-by": "Funciona amb",
|
|
||||||
"text-pre-reveal-hint": "Per a mostrar el secret prem aquest botó, però tingues en compte que en fer-ho es destruirà. Només pots veure'l una vegada!",
|
|
||||||
"text-pre-url": "El teu secret ha sigut creat i emmagatzemat en el següent enllaç:",
|
|
||||||
"title-explanation": "Així és com funciona…",
|
|
||||||
"title-new-secret": "Crea un nou secret",
|
|
||||||
"title-reading-secret": "Obtenint el teu secret…",
|
|
||||||
"title-secret-created": "Secret creat!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "de",
|
|
||||||
"alert-secret-not-found": "Das ist nicht das Secret, was du suchst… - Falls du diesen Link noch nicht selbst geöffnet hast, könnte das Secret kompromittiert sein, da jemand anderes den Link geöffnet haben könnte.",
|
|
||||||
"alert-something-went-wrong": "Irgendwas ging schief. Entschuldigung…",
|
|
||||||
"btn-create-secret": "Secret erstellen!",
|
|
||||||
"btn-new-secret": "Neues Secret",
|
|
||||||
"btn-reveal-secret": "Zeig mir das Secret!",
|
|
||||||
"btn-show-explanation": "Wie funktioniert das?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Du gibst ein Secret auf dieser Seite ein",
|
|
||||||
"Dein Browser verschlüsselt das Secret mit einem generierten Passwort",
|
|
||||||
"Nur das verschlüsselte Secret wird an den Server geschickt (das Passwort oder das Secret im Klartext werden niemals übertragen!)",
|
|
||||||
"Der Server speichert das verschlüsselte Secret für eine Weile",
|
|
||||||
"Du gibst die angezeigte URL, welche die ID und das Passwort des Secrets enthält, an den Empfänger",
|
|
||||||
"Der Empfänger kann das Secret einmalig abrufen: Funktioniert das nicht, könnte jemand anderes es abgerufen haben!",
|
|
||||||
"Wenn das verschlüsselte Secret das erste Mal abgerufen wurde, wird es automatisch vom Server gelöscht"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Inhalt des Secrets:",
|
|
||||||
"text-burn-hint": "Bitte rufe die URL nicht selbst auf, da das Secret dadurch zerstört würde. Gib sie einfach weiter!",
|
|
||||||
"text-hint-burned": "<strong>Achtung:</strong> Du kannst das nur einmal ansehen! Sobald du die Seite neu lädst, ist das Secret verschwunden, also besser direkt kopieren und sicher abspeichern…",
|
|
||||||
"text-powered-by": "Läuft mit",
|
|
||||||
"text-pre-reveal-hint": "Um das Secret anzuzeigen klicke diesen Button aber denk dran, dass das Secret nur einmal angezeigt und dabei gelöscht wird.",
|
|
||||||
"text-pre-url": "Dein Secret wurde angelegt und unter folgender URL gespeichert:",
|
|
||||||
"text-secret-create-disabled": "Auf dieser Instanz wurde das Erstellen neuer Secrets deaktiviert.",
|
|
||||||
"title-explanation": "So funktioniert es…",
|
|
||||||
"title-new-secret": "Erstelle ein neues Secret",
|
|
||||||
"title-reading-secret": "Secret auslesen…",
|
|
||||||
"title-secret-create-disabled": "Erstellen von Secrets deaktiviert…",
|
|
||||||
"title-secret-created": "Secret erstellt!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "en",
|
|
||||||
"alert-secret-not-found": "This is not the secret you are looking for… - If you expected the secret to be here it might be compromised as someone else might have opened the link already.",
|
|
||||||
"alert-something-went-wrong": "Something went wrong. I'm very sorry about this…",
|
|
||||||
"btn-create-secret": "Create the secret!",
|
|
||||||
"btn-new-secret": "New Secret",
|
|
||||||
"btn-reveal-secret": "Show me the secret!",
|
|
||||||
"btn-show-explanation": "How does this work?",
|
|
||||||
"items-explanation": [
|
|
||||||
"You enter a secret into the field on this page",
|
|
||||||
"Your browser encrypts the secret using a generated password",
|
|
||||||
"Only the encrypted secret is sent to the server (neither the plain secret nor the password are ever sent!)",
|
|
||||||
"The server stores the encrypted secret for a certain time",
|
|
||||||
"You pass the displayed URL containing the ID and the decryption password to the recipient",
|
|
||||||
"The recipient can view the secret exactly once: If they can't, the secret might have been viewed by someone else!",
|
|
||||||
"After the encrypted secret has been retrieved once, it is deleted from the server"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Secret data:",
|
|
||||||
"text-burn-hint": "Please remember not to go to this URL yourself as that would destroy the secret. Just pass it to someone else!",
|
|
||||||
"text-hint-burned": "<strong>Attention:</strong> You're only seeing this once. As soon as you reload the page the secret will be gone so maybe copy it now…",
|
|
||||||
"text-powered-by": "Powered by",
|
|
||||||
"text-pre-reveal-hint": "To reveal the secret click this button but be aware doing so will destroy the secret. You can only view it once!",
|
|
||||||
"text-pre-url": "Your secret was created and stored using this URL:",
|
|
||||||
"text-secret-create-disabled": "The creation of new secrets is disabled in this instance.",
|
|
||||||
"title-explanation": "This is how it works…",
|
|
||||||
"title-new-secret": "Create a new secret",
|
|
||||||
"title-reading-secret": "Reading your secret…",
|
|
||||||
"title-secret-create-disabled": "Secret creation disabled…",
|
|
||||||
"title-secret-created": "Secret created!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "es",
|
|
||||||
"alert-secret-not-found": "Este no es el secreto que buscas… - Si esperabas que el secreto estuviera aquí, es posible que se haya visto comprometido, ya que otra persona podría haber abierto el enlace en tu lugar.",
|
|
||||||
"alert-something-went-wrong": "Algo ha salido mal. Lo sentimos mucho…",
|
|
||||||
"btn-create-secret": "¡Crea el secreto!",
|
|
||||||
"btn-new-secret": "Nuevo secreto",
|
|
||||||
"btn-reveal-secret": "¡Muéstrame el secreto!",
|
|
||||||
"btn-show-explanation": "¿Cómo funciona?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Introduce un secreto en el formulario que hay en esta página",
|
|
||||||
"Tu navegador cifra el secreto utilizando una contraseña generada",
|
|
||||||
"Únicamente se envía al servidor el secreto cifrado (¡nunca se envían ni el secreto sin cifrar ni la contraseña!)",
|
|
||||||
"El servidor almacena el secreto cifrado durante un tiempo limitado",
|
|
||||||
"Envía al destinatario el enlace mostrado, que contiene el identificador del secreto y la contraseña de descifrado",
|
|
||||||
"El destinatario puede ver el secreto una sola vez: si no puede, ¡el secreto podría haber sido visto por otra persona!",
|
|
||||||
"Cuando se ha obtenido por primera y única vez el secreto cifrado, se elimina del servidor"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Información secreta:",
|
|
||||||
"text-burn-hint": "Por favor, recuerda no acceder a este enlace tú mismo, ya que esto destruiría el secreto. ¡Solo tienes que pasárselo a otra persona!",
|
|
||||||
"text-hint-burned": "<strong>Atención:</strong> Solo verás esto una vez. En cuanto recargues la página, el secreto desaparecerá, así que cópialo ya…",
|
|
||||||
"text-powered-by": "Funciona con",
|
|
||||||
"text-pre-reveal-hint": "Para mostrar el secreto pulsa este botón, pero ten en cuenta que al hacerlo se destruirá. ¡Solo puedes verlo una vez!",
|
|
||||||
"text-pre-url": "Tu secreto ha sido creado y almacenado en el siguiente enlace:",
|
|
||||||
"text-secret-create-disabled": "En este caso, la creación de nuevos secretos está desactivada.",
|
|
||||||
"title-explanation": "Así es como funciona…",
|
|
||||||
"title-new-secret": "Crea un nuevo secreto",
|
|
||||||
"title-reading-secret": "Obteniendo tu secreto…",
|
|
||||||
"title-secret-create-disabled": "Creación secreta desactivada...",
|
|
||||||
"title-secret-created": "¡Secreto creado!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "fr",
|
|
||||||
"alert-secret-not-found": "Ce secret n'est pas celui que vous cherchez… - Si vous comptiez trouvez ce secret ici, il a pu être compromis car quelqu'un a probablement déjà ouvert le lien.",
|
|
||||||
"alert-something-went-wrong": "Un problème est survenu. Nous en sommes désolés…",
|
|
||||||
"btn-create-secret": "Créer le secret!",
|
|
||||||
"btn-new-secret": "Nouveau secret",
|
|
||||||
"btn-reveal-secret": "Voir le secret!",
|
|
||||||
"btn-show-explanation": "Comment ça fonctionne?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Vous saisissez le secret dans un champ sur cette page",
|
|
||||||
"Votre navigateur chiffre le secret en utilisant un mot de passe généré",
|
|
||||||
"Seul le secret chiffré est envoyé au serveur (ni le secret en clair, ni le mot de passe ne sont envoyés!)",
|
|
||||||
"Le serveur stocke le secret chiffré pendant un certain temps",
|
|
||||||
"Vous fournissez l'URL affichée contenant l'identifiant et le mot de passe de déchiffrage au destinataire",
|
|
||||||
"Le destintaire ne peut voir le secret qu'une fois: si cela ne fonctionne pas, c'est que le secret a été consulté par quelqu'un d'autre!",
|
|
||||||
"Dès que le secret chiffré a été récupéré, il est supprimé du serveur"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Données secrètes:",
|
|
||||||
"text-burn-hint": "Attention de ne pas ouvrir cette URL vous-même, cela détruirait le secret. Fournissez-la à quelqu'un d'autre!",
|
|
||||||
"text-hint-burned": "<strong>Attention:</strong> Vous ne pouvez consulter ce contenu qu'une fois. Le secret sera détruit dès que vous rechargez la page, donc copiez le maintenant…",
|
|
||||||
"text-powered-by": "Propulsé par",
|
|
||||||
"text-pre-reveal-hint": "Pour afficher le secret, cliquez sur ce bouton, mais soyez conscient que cela le détruira. Vous ne pouvez l'afficher qu'une fois!",
|
|
||||||
"text-pre-url": "Votre secret a été créé et stocké à cette URL:",
|
|
||||||
"text-secret-create-disabled": "La création de nouveaux secrets est désactivée dans ce cas.",
|
|
||||||
"title-explanation": "Voici comment ça fonctionne…",
|
|
||||||
"title-new-secret": "Créer un nouveau secret",
|
|
||||||
"title-reading-secret": "Lecture du secret…",
|
|
||||||
"title-secret-create-disabled": "Création secrète désactivée...",
|
|
||||||
"title-secret-created": "Secret créé!"
|
|
||||||
}
|
|
@ -1,29 +1,17 @@
|
|||||||
import ca from './ca.json'
|
// Auto-Generated, do not edit!
|
||||||
import de from './de.json'
|
|
||||||
import en from './en.json'
|
|
||||||
import es from './es.json'
|
|
||||||
import fr from './fr.json'
|
|
||||||
import lv from './lv.json'
|
|
||||||
import nl from './nl.json'
|
|
||||||
import ptBR from './ptBR.json'
|
|
||||||
import ru from './ru.json'
|
|
||||||
import sv from './sv.json'
|
|
||||||
import tr from './tr.json'
|
|
||||||
import zh from './zh.json'
|
|
||||||
import zhTW from './zhTW.json'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
ca,
|
'ca': JSON.parse('{"alert-secret-not-found":"Aquest no és el secret que busques\u0026hellip; - Si esperaves que el secret estiguera ací, és possible que s\'haja vist compromés, ja que una altra persona podria haver obert l\'enllaç en comptes de tu.","alert-something-went-wrong":"Alguna cosa ha eixit malament. Ens sap molt greu\u0026hellip;","btn-create-secret":"Crea el secret!","btn-new-secret":"Nou secret","btn-reveal-secret":"Mostra\'m el secret!","btn-show-explanation":"Com funciona?","items-explanation":["Introduïx un secret en el formulari que hi ha en aquesta pàgina","El teu navegador xifra el secret utilitzant una contrasenya generada","Únicament s\'envia al servidor el secret xifrat (mai s\'envien ni el secret sense xifrar ni la contrasenya!)","El servidor emmagatzema el secret xifrat durant un temps limitat","Envia al destinatari l\'enllaç mostrat, que conté l\'identificador del secret i la contrasenya de desxifrat","El destinatari pot veure el secret una sola vegada: si no pot, el secret podria haver sigut vist per una altra persona!","Quan s\'ha obtingut per primera i única vegada el secret xifrat, s\'elimina del servidor"],"label-secret-data":"Informació secreta:","text-burn-hint":"Per favor, recorda no accedir a aquest enllaç tu mateix, ja que això destruiria el secret. Només has de passar-li\'l a una altra persona!","text-hint-burned":"\u003cstrong\u003eAtenció:\u003c/strong\u003e Només veuràs això una vegada. Quan recarregues la pàgina, el secret desapareixerà, així que copia\'l ja\u0026hellip;","text-powered-by":"Funciona amb","text-pre-reveal-hint":"Per a mostrar el secret prem aquest botó, però tingues en compte que en fer-ho es destruirà. Només pots veure\'l una vegada!","text-pre-url":"El teu secret ha sigut creat i emmagatzemat en el següent enllaç:","title-explanation":"Així és com funciona\u0026hellip;","title-new-secret":"Crea un nou secret","title-reading-secret":"Obtenint el teu secret\u0026hellip;","title-secret-created":"Secret creat!"}'),
|
||||||
de,
|
'de': JSON.parse('{"alert-secret-not-found":"Das ist nicht das Secret, was du suchst\u0026hellip; - Falls du diesen Link noch nicht selbst geöffnet hast, könnte das Secret kompromittiert sein, da jemand anderes den Link geöffnet haben könnte.","alert-something-went-wrong":"Irgendwas ging schief. Entschuldigung\u0026hellip;","btn-create-secret":"Secret erstellen!","btn-new-secret":"Neues Secret","btn-reveal-secret":"Zeig mir das Secret!","btn-show-explanation":"Wie funktioniert das?","items-explanation":["Du gibst ein Secret auf dieser Seite ein","Dein Browser verschlüsselt das Secret mit einem generierten Passwort","Nur das verschlüsselte Secret wird an den Server geschickt (das Passwort oder das Secret im Klartext werden niemals übertragen!)","Der Server speichert das verschlüsselte Secret für eine Weile","Du gibst die angezeigte URL, welche die ID und das Passwort des Secrets enthält, an den Empfänger","Der Empfänger kann das Secret einmalig abrufen: Funktioniert das nicht, könnte jemand anderes es abgerufen haben!","Wenn das verschlüsselte Secret das erste Mal abgerufen wurde, wird es automatisch vom Server gelöscht"],"label-secret-data":"Inhalt des Secrets:","text-burn-hint":"Bitte rufe die URL nicht selbst auf, da das Secret dadurch zerstört würde. Gib sie einfach weiter!","text-hint-burned":"\u003cstrong\u003eAchtung:\u003c/strong\u003e Du kannst das nur einmal ansehen! Sobald du die Seite neu lädst, ist das Secret verschwunden, also besser direkt kopieren und sicher abspeichern\u0026hellip;","text-powered-by":"Läuft mit","text-pre-reveal-hint":"Um das Secret anzuzeigen klicke diesen Button aber denk dran, dass das Secret nur einmal angezeigt und dabei gelöscht wird.","text-pre-url":"Dein Secret wurde angelegt und unter folgender URL gespeichert:","text-secret-create-disabled":"Auf dieser Instanz wurde das Erstellen neuer Secrets deaktiviert.","title-explanation":"So funktioniert es\u0026hellip;","title-new-secret":"Erstelle ein neues Secret","title-reading-secret":"Secret auslesen\u0026hellip;","title-secret-create-disabled":"Erstellen von Secrets deaktiviert…","title-secret-created":"Secret erstellt!"}'),
|
||||||
en,
|
'en': JSON.parse('{"alert-secret-not-found":"This is not the secret you are looking for\u0026hellip; - If you expected the secret to be here it might be compromised as someone else might have opened the link already.","alert-something-went-wrong":"Something went wrong. I\'m very sorry about this\u0026hellip;","btn-create-secret":"Create the secret!","btn-new-secret":"New Secret","btn-reveal-secret":"Show me the secret!","btn-show-explanation":"How does this work?","items-explanation":["You enter a secret into the field on this page","Your browser encrypts the secret using a generated password","Only the encrypted secret is sent to the server (neither the plain secret nor the password are ever sent!)","The server stores the encrypted secret for a certain time","You pass the displayed URL containing the ID and the decryption password to the recipient","The recipient can view the secret exactly once: If they can\'t, the secret might have been viewed by someone else!","After the encrypted secret has been retrieved once, it is deleted from the server"],"label-secret-data":"Secret data:","text-burn-hint":"Please remember not to go to this URL yourself as that would destroy the secret. Just pass it to someone else!","text-hint-burned":"\u003cstrong\u003eAttention:\u003c/strong\u003e You\'re only seeing this once. As soon as you reload the page the secret will be gone so maybe copy it now\u0026hellip;","text-powered-by":"Powered by","text-pre-reveal-hint":"To reveal the secret click this button but be aware doing so will destroy the secret. You can only view it once!","text-pre-url":"Your secret was created and stored using this URL:","text-secret-create-disabled":"The creation of new secrets is disabled in this instance.","title-explanation":"This is how it works\u0026hellip;","title-new-secret":"Create a new secret","title-reading-secret":"Reading your secret\u0026hellip;","title-secret-create-disabled":"Secret creation disabled…","title-secret-created":"Secret created!"}'),
|
||||||
es,
|
'es': JSON.parse('{"alert-secret-not-found":"Este no es el secreto que buscas\u0026hellip; - Si esperabas que el secreto estuviera aquí, es posible que se haya visto comprometido, ya que otra persona podría haber abierto el enlace en tu lugar.","alert-something-went-wrong":"Algo ha salido mal. Lo sentimos mucho\u0026hellip;","btn-create-secret":"¡Crea el secreto!","btn-new-secret":"Nuevo secreto","btn-reveal-secret":"¡Muéstrame el secreto!","btn-show-explanation":"¿Cómo funciona?","items-explanation":["Introduce un secreto en el formulario que hay en esta página","Tu navegador cifra el secreto utilizando una contraseña generada","Únicamente se envía al servidor el secreto cifrado (¡nunca se envían ni el secreto sin cifrar ni la contraseña!)","El servidor almacena el secreto cifrado durante un tiempo limitado","Envía al destinatario el enlace mostrado, que contiene el identificador del secreto y la contraseña de descifrado","El destinatario puede ver el secreto una sola vez: si no puede, ¡el secreto podría haber sido visto por otra persona!","Cuando se ha obtenido por primera y única vez el secreto cifrado, se elimina del servidor"],"label-secret-data":"Información secreta:","text-burn-hint":"Por favor, recuerda no acceder a este enlace tú mismo, ya que esto destruiría el secreto. ¡Solo tienes que pasárselo a otra persona!","text-hint-burned":"\u003cstrong\u003eAtención:\u003c/strong\u003e Solo verás esto una vez. En cuanto recargues la página, el secreto desaparecerá, así que cópialo ya\u0026hellip;","text-powered-by":"Funciona con","text-pre-reveal-hint":"Para mostrar el secreto pulsa este botón, pero ten en cuenta que al hacerlo se destruirá. ¡Solo puedes verlo una vez!","text-pre-url":"Tu secreto ha sido creado y almacenado en el siguiente enlace:","text-secret-create-disabled":"En este caso, la creación de nuevos secretos está desactivada.","title-explanation":"Así es como funciona\u0026hellip;","title-new-secret":"Crea un nuevo secreto","title-reading-secret":"Obteniendo tu secreto\u0026hellip;","title-secret-create-disabled":"Creación secreta desactivada...","title-secret-created":"¡Secreto creado!"}'),
|
||||||
fr,
|
'fr': JSON.parse('{"alert-secret-not-found":"Ce secret n\'est pas celui que vous cherchez\u0026hellip; - Si vous comptiez trouvez ce secret ici, il a pu être compromis car quelqu\'un a probablement déjà ouvert le lien.","alert-something-went-wrong":"Un problème est survenu. Nous en sommes désolés\u0026hellip;","btn-create-secret":"Créer le secret!","btn-new-secret":"Nouveau secret","btn-reveal-secret":"Voir le secret!","btn-show-explanation":"Comment ça fonctionne?","items-explanation":["Vous saisissez le secret dans un champ sur cette page","Votre navigateur chiffre le secret en utilisant un mot de passe généré","Seul le secret chiffré est envoyé au serveur (ni le secret en clair, ni le mot de passe ne sont envoyés!)","Le serveur stocke le secret chiffré pendant un certain temps","Vous fournissez l\'URL affichée contenant l\'identifiant et le mot de passe de déchiffrage au destinataire","Le destintaire ne peut voir le secret qu\'une fois: si cela ne fonctionne pas, c\'est que le secret a été consulté par quelqu\'un d\'autre!","Dès que le secret chiffré a été récupéré, il est supprimé du serveur"],"label-secret-data":"Données secrètes:","text-burn-hint":"Attention de ne pas ouvrir cette URL vous-même, cela détruirait le secret. Fournissez-la à quelqu\'un d\'autre!","text-hint-burned":"\u003cstrong\u003eAttention:\u003c/strong\u003e Vous ne pouvez consulter ce contenu qu\'une fois. Le secret sera détruit dès que vous rechargez la page, donc copiez le maintenant\u0026hellip;","text-powered-by":"Propulsé par","text-pre-reveal-hint":"Pour afficher le secret, cliquez sur ce bouton, mais soyez conscient que cela le détruira. Vous ne pouvez l\'afficher qu\'une fois!","text-pre-url":"Votre secret a été créé et stocké à cette URL:","text-secret-create-disabled":"La création de nouveaux secrets est désactivée dans ce cas.","title-explanation":"Voici comment ça fonctionne\u0026hellip;","title-new-secret":"Créer un nouveau secret","title-reading-secret":"Lecture du secret\u0026hellip;","title-secret-create-disabled":"Création secrète désactivée...","title-secret-created":"Secret créé!"}'),
|
||||||
lv,
|
'lv': JSON.parse('{"alert-secret-not-found":"\u003cstrong\u003eZiņa nav atrasta!\u003c/strong\u003e\u0026hellip; - Ja ievadītā saite ir pareiza, tad ir beidzies ziņas glabāšanas laiks, vai arī tā jau vienreiz ir atvērta.","alert-something-went-wrong":"Neparedzēta sistēmas kļūda. Atvainojiet par sagādātajām neērtībām\u0026hellip;","btn-create-secret":"Šifrēt ziņu!","btn-new-secret":"Jauna ziņa","btn-reveal-secret":"Atvērt ziņu!","btn-show-explanation":"Kā tas strādā?","items-explanation":["Tu ievadi ziņu ievades laukā","Pārlūks nošifrē ziņu ar uzģenerētu paroli","Tikai šifrētā ziņa tiek nosūtīta serverim (nešifrētā ziņa un parole sūtīta netiek!)","Serveris noteiktu laiku glabā šifrēto ziņu","Tu nodod URL ar ziņas ID un atšifrēšanas paroli saņēmējam","Saņēmējs var atvērt ziņu tikai vienreiz: ja tas neizdodas, iespējams, ziņu jau atvēris kāds cits!","Kad ziņa tiek atvērta pirmo reizi, tā no servera tiek dzēsta"],"label-secret-data":"Ziņa:","text-burn-hint":"Lūdzu atceries neatvērt saiti pats, jo tad ziņa tiks dzēsta. Nodod saiti ziņas saņēmējam!","text-hint-burned":"\u003cstrong\u003eUzmanību:\u003c/strong\u003e Ziņa tiek parādīta tikai vienu reizi. Līdzko lapa tiks pārlādēta, ziņa būs neatgriezeniski zaudēta, tāpēc nepieciešamības gadījumā nokopē to tagad\u0026hellip;","text-powered-by":"Darbina","text-pre-reveal-hint":"Lai parādītu ziņu nospied šo pogu, bet rēķinies ar to, ka pēc apskates ziņa vairs nebūs pieejama. To var atvērt tikai vienreiz!","text-pre-url":"Ziņa ir nošifrēta un ir atverama šajā adresē:","text-secret-create-disabled":"Šajā gadījumā jaunu noslēpumu izveide ir atspējota.","title-explanation":"Tā tas strādā\u0026hellip;","title-new-secret":"Šifrēt ziņu","title-reading-secret":"Atver ziņu\u0026hellip;","title-secret-create-disabled":"Slepena izveide atspējota...","title-secret-created":"Ziņa nošifrēta!"}'),
|
||||||
nl,
|
'nl': JSON.parse('{"alert-secret-not-found":"De gegevens die je zocht bestaan niet (meer)\u0026hellip; - Als je hier informatie verwachtte dan is de link mogelijk al door iemand anders bekeken!","alert-something-went-wrong":"Er ging iets verkeerd, sorry\u0026hellip;","btn-create-secret":"Nieuwe vertrouwelijke info aanmaken!","btn-new-secret":"Nieuw","btn-reveal-secret":"Toon mij de vertrouwelijke info!","btn-show-explanation":"Hoe werkt dit?","items-explanation":["Je vult vertrouwelijke informatie in op deze pagina.","Je browser versleutelt de ingevulde tekst via een automatisch gegenereerd wachtwoord.","Alleen de versleutelde data wordt naar de server gestuurd. (De leesbare versie of het wachtwoord worden nooit verstuurd!)","De server slaat de versleutelde data gedurende een beperkte periode op.","Je geeft de URL met identificatie en het gegenereerde wachtwoord aan de ontvanger.","De ontvanger kan de vertrouwelijke informatie exact eenmaal bekijken: indien het niet lukt heeft mogelijk iemand anders de info gezien!","De versleutelde data wordt van de server gewist van zodra de ontvanger het bekeken heeft."],"label-secret-data":"Vertrouwelijke info:","text-burn-hint":"Bezoek de URL niet zelf: je kan deze slechts eenmaal gebruiken. Geef de URL aan de ontvanger.","text-hint-burned":"\u003cstrong\u003eOpgelet:\u003c/strong\u003e Je ziet deze informatie alleen nu. Je kan het niet meer opnieuw opvragen als je de pagina verlaat.","text-powered-by":"Mogelijk gemaakt door","text-pre-reveal-hint":"Gebruik deze knop om de vertrouwelijke info op te halen. Let op: Je kan dit slechts eenmaal doen!","text-pre-url":"Je vertrouwelijke informatie kan opgevraagd worden via deze URL:","text-secret-create-disabled":"Het aanmaken van nieuwe geheimen is in dit geval uitgeschakeld.","title-explanation":"Dit is hoe het werkt\u0026hellip;","title-new-secret":"Nieuwe vertrouwelijke info opslaan","title-reading-secret":"Vertrouwelijke info lezen\u0026hellip;","title-secret-create-disabled":"Geheime creatie uitgeschakeld...","title-secret-created":"Vertrouwelijke info opgeslaan!"}'),
|
||||||
'pt-BR': ptBR,
|
'pt-BR': JSON.parse('{"alert-secret-not-found":"Esta não é o segredo que você está procurando… - Se você esperava que o segredo estaria aqui, ele pode ter sido comprometido por alguém que já acessou o link.","alert-something-went-wrong":"Desculpe, algo deu errado…","btn-create-secret":"Criar segredo!","btn-new-secret":"Novo segredo","btn-reveal-secret":"Mostrar o segredo!","btn-show-explanation":"Como funciona?","items-explanation":["Você insere o segredo no campo de texto desta página","Seu navegador criptografa o segredo usando uma senha gerada","Somente o segredo criptografado é enviado para o servidor (nem o segredo em texto claro, nem a senha é enviada para o servidor!)","O servidor armazena o segredo criptografado por um certo tempo","Você envia a URL mostrada contendo a ID e a senha de descriptografia para o destinatário","O destinatário pode ver o segredo apenas uma vez: se ele não pode ver, o segredo pode ter sido visto por outra pessoa!","Após o segredo ter sido obtido uma vez, o mesmo é deletado do servidor"],"label-secret-data":"Informação secreta:","text-burn-hint":"Importante você lembrar de não acessar esta URL, pois isto irá indisponibilizar o segredo. Apenas encaminhe para outra pessoa!","text-hint-burned":"Atenção: Você está vendo esta informação apenas uma vez. Logo que você recarregar a página o segredo ficará indisponível. É recomendado que você copie a informação agora…","text-powered-by":"Powered by","text-pre-reveal-hint":"Para revelar o segredo clique neste botão, mas lembre-se que esta ação vai destruir o segredo. Você só pode ver uma única vez!","text-pre-url":"Seu segredo foi criado e armazenado na seguinte URL:","text-secret-create-disabled":"A criação de novos segredos é desativada nesse caso.","title-explanation":"É assim como funciona…","title-new-secret":"Criar um novo segredo","title-reading-secret":"Lendo seu segredo…","title-secret-create-disabled":"Criação secreta desativada...","title-secret-created":"Segredo criado!"}'),
|
||||||
ru,
|
'ru': JSON.parse('{"alert-secret-not-found":"Секрет недоступен\u0026hellip; - Помните, он может быть скомпрометирован. Возможно кто-то другой уже открыл вашу ссылку.","alert-something-went-wrong":"Что-то пошло не так. Приносим свои извинения\u0026hellip;","btn-create-secret":"Создать секрет!","btn-new-secret":"Новый секрет","btn-reveal-secret":"Показать секрет!","btn-show-explanation":"Как это работает?","items-explanation":["Вы вводите секрет в поле на этой странице.","Ваш браузер шифрует секрет с помощью сгенерированного пароля.","На сервер отправляется только зашифрованный секрет (ни текст секрета, ни пароль никогда не отправляются!)","Сервер хранит зашифрованный секрет в течение определенного времени.","Вы передаете отображаемый URL-адрес, содержащий идентификатор и пароль для расшифровки, получателю.","Получатель может просмотреть секрет ровно один раз: если он не смог, секрет возможно был просмотрен кем-то другим!","После того как зашифрованный секрет был извлечен, он удаляется с сервера."],"label-secret-data":"Секретные данные:","text-burn-hint":"Пожалуйста, не переходите по этому URL для проверки, так как это удалит секрет. Просто скопируйте и передайте его!","text-hint-burned":"\u003cstrong\u003eВнимание:\u003c/strong\u003e Секрет будет показан только один раз. Как только вы перезагрузите страницу, секрет исчезнет, скопируйте его незамедлительно\u0026hellip;","text-powered-by":"Powered by","text-pre-reveal-hint":"Чтобы раскрыть секрет, нажмите эту кнопку, но имейте в виду, что это приведет к уничтожению секрета. Вы можете просмотреть его только один раз!","text-pre-url":"Ваш секрет создан и сохранён, его URL:","text-secret-create-disabled":"Создание новых секретов в этом случае отключено.","title-explanation":"Как это работает\u0026hellip;","title-new-secret":"Создать новый секрет","title-reading-secret":"Читаем ваш секрет\u0026hellip;","title-secret-create-disabled":"Секретное создание отключено...","title-secret-created":"Секрет создан!"}'),
|
||||||
sv,
|
'sv': JSON.parse('{"alert-secret-not-found":"Hemlighet hittades inte\u0026hellip; - Om du förväntade dig att hemligheten skulle finnas här kan den vara röjd då någon annan kan ha öppnat denna länk tidigare.","alert-something-went-wrong":"Något gick fel. Jag ber om ursäkt för detta!\u0026hellip;","btn-create-secret":"Skapa hemliget!","btn-new-secret":"Ny hemlighet.","btn-reveal-secret":"Visa mig hemligheten!","btn-show-explanation":"Hur fungerar detta?","items-explanation":["Skriv in en hemlighet i rutan nedan","Din webbläsare krypterar hemligheten med hjälp av ett genererat lösenord","Endast den krypterade hemligheten skickas till servern. (varken lösenordet eller hemligheten i klartext skickas!)","Servern lagrar den krypterade hemligheten för en begränsad tid","Du skickar URL-länken med ID-numret och avkrypteringslösenordet till mottagaren","Mottagaren kan se hemligheten exakt en gång: Om detta misslyckas kan hemligheten redan ha setts av någon annan!","När hemligheten har setts en gång, raderas den från servern"],"label-secret-data":"Hemlig data:","text-burn-hint":"Kom ihåg att inte gå till denna URL själv eftersom detta skulle förbruka hemligheten. Skicka bara vidare den till mottagaren!","text-hint-burned":"\u003cstrong\u003eObservera:\u003c/strong\u003e Du kan endast se denna sida en gång. Så fort du laddar om sidan kommer hemligheten att försvinna så kopiera den nu\u0026hellip;","text-powered-by":"Drivs av","text-pre-reveal-hint":"För att visa hemligheten klicka på denna knapp. Var medveten om att när du gör det kommer hemligheten att förbrukas, du kan endast se den en gång!","text-pre-url":"Din hemlighet har skapats och lagrats med denna URL:","text-secret-create-disabled":"Skapandet av nya hemligheter blockeras i detta fall.","title-explanation":"Såhär fungerar det\u0026hellip;","title-new-secret":"Skapa ny hemlighet","title-reading-secret":"Läs din hemlighet\u0026hellip;","title-secret-create-disabled":"Hemlig skapelse avaktiverad...","title-secret-created":"Hemlighet skapad!"}'),
|
||||||
tr,
|
'tr': JSON.parse('{"alert-secret-not-found":"Aradığınız sır bu değil… - Sırrın burada olmasını bekliyorsanız, bu link başkası tarafından açılmış ve sırrınız tehlikede olabilir.","alert-something-went-wrong":"Bir şeyler ters gitti. Bunun için çok üzgünüm…","btn-create-secret":"Sır oluştur!","btn-new-secret":"Yeni sır","btn-reveal-secret":"Sırrı göster!","btn-show-explanation":"Nasıl çalışır?","items-explanation":["Bu sayfadaki alana sırrınızı giriniz","Internet tarayıcınız oluşturulan şifre yardımı ile sırrınızı enkripte eder","Sadece ektripte edilmiş sır sunucuya gönderilir (ne sır metni nede şifre gönderilmez!)","Sunucu enkripte edilmiş sırrı bünyesinde belli bir süre saklar","Gösterilen linki, id ve deşifre bilgisi ile birlikte alıcıya gönder","Alcı sırrı tam olarak sadece bir kez görebilir: Eğer göremez ise, sır bir başkası tarafından daha önce görülmüş olabilir!","Sır bir kez gösterildikten sonra hemen sunucudan silinir"],"label-secret-data":"Sır bilgisi:","text-burn-hint":"Lütfen linki kendiniz acmayın, bu sırrın silinmesine neden olur. Linki sadece alıcıya gönderin!","text-hint-burned":"Dikkat: Bunu sadece bir kez göreceksiniz. Sayfayı güncellediğinizde yada kapattiğınızda sır kaybolacaktır, belkide şimdi sırrı kopyalamanız akıllıca olacaktır…","text-powered-by":"Tarafından desteklenmektedir","text-pre-reveal-hint":"Sırrı görmek için bu düğmeye tıklayın, ama bunu yaptıktan sonra sırrın silineceğini unutmayın. Bunu sadece bir kez görebilirsin!","text-pre-url":"Sırrınız oluşturuldu ve bu link kullanılarak kaydedildi:","text-secret-create-disabled":"Bu durumda yeni gizli dizilerin oluşturulması devre dışı bırakılır.","title-explanation":"Bu sekilde çalışır…","title-new-secret":"Yeni sır oluştur","title-reading-secret":"Sırrınız okunuyor…","title-secret-create-disabled":"Gizli yaratım devre dışı bırakıldı...","title-secret-created":"Sır oluşturuldu!"}'),
|
||||||
zh,
|
'zh': JSON.parse('{"alert-secret-not-found":"这不是您正在寻找的机密\u0026hellip; - 如果您期望机密会出现在这里,它可能已经被泄漏了,因为可能有其他人已经打开了此链接。","alert-something-went-wrong":"看样子出了一些问题,对此我非常抱歉\u0026hellip;","btn-create-secret":"创建机密!","btn-new-secret":"新的机密","btn-reveal-secret":"向我展示机密!","btn-show-explanation":"这是如何工作的?","items-explanation":["您在当前页面上的字段输入一个机密","您的浏览器使用生成的密码加密刚才的机密","只有加密后的机密被发送到服务器(无论是机密的明文内容还是加密的密码都不会被发送!)","服务器将加密的机密存储一定时间","您将显示的包含 ID 和解密密码的 URL 链接发送给收件人","收件人只能查看一次机密:如果他们无法查看,就代表这个机密已经被其他人看过来!","当加密的机密被取回一次以后,他将从服务器上被删除"],"label-secret-data":"机密数据","text-burn-hint":"请注意您自己不要访问这个 URL 地址,否则这会破坏机密。 就这样把它发送给别人就可以了!","text-hint-burned":"\u003cstrong\u003e请注意:\u003c/strong\u003e 您只能看到这一次! 一旦您刷新当前页面,机密就会消失,所以应该现在就复制机密\u0026hellip;","text-powered-by":"强力驱动通过","text-pre-reveal-hint":"要揭露这个机密,请点击此按钮,但注意这样做之后会破坏此机密。 您只能查看一次!","text-pre-url":"您的机密是使用此 URL 创建和存储:","title-explanation":"这就是它的工作方式\u0026hellip;","title-new-secret":"创建一个机密","title-reading-secret":"读取你的机密\u0026hellip;","title-secret-created":"机密已创建!"}'),
|
||||||
'zh-TW': zhTW,
|
'zh-TW': JSON.parse('{"alert-secret-not-found":"這不是您正在尋找的機密\u0026hellip; - 如果您期望機密會出現在這裡,它可能已經被泄漏了,因為可能有其他人已經打開了此連結。","alert-something-went-wrong":"看樣子出了一些問題,對此我非常抱歉\u0026hellip;","btn-create-secret":"創建機密!","btn-new-secret":"新的機密","btn-reveal-secret":"向我展示機密!","btn-show-explanation":"這是如何工作的?","items-explanation":["您在當前頁面上的欄位輸入一個機密","您的瀏覽器使用生成的密碼加密剛才的機密","只有加密後的機密被發送到伺服器(無論是機密的明文內容還是加密的密碼都不會被發送!)","伺服器將加密的機密存儲一定時間","您將顯示的包含 ID 和解密密碼的 URL 連結發送給收件人","收件人只能查看一次機密:如果他們無法查看,就代表這個機密已經被其他人看過來!","當加密的機密被取回一次以後,他將從伺服器上被刪除"],"label-secret-data":"機密數據","text-burn-hint":"請注意您自己不要訪問這個 URL 地址,否則這會破壞機密。 就這樣把它發送給別人就可以了!","text-hint-burned":"\u003cstrong\u003e請注意:\u003c/strong\u003e 您只能看到這一次! 一旦您刷新當前頁面,機密就會消失,所以應該現在就複製機密\u0026hellip;","text-powered-by":"強力驅動通過","text-pre-reveal-hint":"要揭露這個機密,請點擊此按鈕,但注意這樣做之後會破壞此機密。 您只能查看一次!","text-pre-url":"您的機密是使用此 URL 創建和存儲:","title-explanation":"這就是它的工作方式\u0026hellip;","title-new-secret":"創建一個機密","title-reading-secret":"讀取你的機密\u0026hellip;","title-secret-created":"機密已創建!"}'),
|
||||||
}
|
}
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "lv",
|
|
||||||
"alert-secret-not-found": "<strong>Ziņa nav atrasta!</strong>… - Ja ievadītā saite ir pareiza, tad ir beidzies ziņas glabāšanas laiks, vai arī tā jau vienreiz ir atvērta.",
|
|
||||||
"alert-something-went-wrong": "Neparedzēta sistēmas kļūda. Atvainojiet par sagādātajām neērtībām…",
|
|
||||||
"btn-create-secret": "Šifrēt ziņu!",
|
|
||||||
"btn-new-secret": "Jauna ziņa",
|
|
||||||
"btn-reveal-secret": "Atvērt ziņu!",
|
|
||||||
"btn-show-explanation": "Kā tas strādā?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Tu ievadi ziņu ievades laukā",
|
|
||||||
"Pārlūks nošifrē ziņu ar uzģenerētu paroli",
|
|
||||||
"Tikai šifrētā ziņa tiek nosūtīta serverim (nešifrētā ziņa un parole sūtīta netiek!)",
|
|
||||||
"Serveris noteiktu laiku glabā šifrēto ziņu",
|
|
||||||
"Tu nodod URL ar ziņas ID un atšifrēšanas paroli saņēmējam",
|
|
||||||
"Saņēmējs var atvērt ziņu tikai vienreiz: ja tas neizdodas, iespējams, ziņu jau atvēris kāds cits!",
|
|
||||||
"Kad ziņa tiek atvērta pirmo reizi, tā no servera tiek dzēsta"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Ziņa:",
|
|
||||||
"text-burn-hint": "Lūdzu atceries neatvērt saiti pats, jo tad ziņa tiks dzēsta. Nodod saiti ziņas saņēmējam!",
|
|
||||||
"text-hint-burned": "<strong>Uzmanību:</strong> Ziņa tiek parādīta tikai vienu reizi. Līdzko lapa tiks pārlādēta, ziņa būs neatgriezeniski zaudēta, tāpēc nepieciešamības gadījumā nokopē to tagad…",
|
|
||||||
"text-powered-by": "Darbina",
|
|
||||||
"text-pre-reveal-hint": "Lai parādītu ziņu nospied šo pogu, bet rēķinies ar to, ka pēc apskates ziņa vairs nebūs pieejama. To var atvērt tikai vienreiz!",
|
|
||||||
"text-pre-url": "Ziņa ir nošifrēta un ir atverama šajā adresē:",
|
|
||||||
"text-secret-create-disabled": "Šajā gadījumā jaunu noslēpumu izveide ir atspējota.",
|
|
||||||
"title-explanation": "Tā tas strādā…",
|
|
||||||
"title-new-secret": "Šifrēt ziņu",
|
|
||||||
"title-reading-secret": "Atver ziņu…",
|
|
||||||
"title-secret-create-disabled": "Slepena izveide atspējota...",
|
|
||||||
"title-secret-created": "Ziņa nošifrēta!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "nl",
|
|
||||||
"alert-secret-not-found": "De gegevens die je zocht bestaan niet (meer)… - Als je hier informatie verwachtte dan is de link mogelijk al door iemand anders bekeken!",
|
|
||||||
"alert-something-went-wrong": "Er ging iets verkeerd, sorry…",
|
|
||||||
"btn-create-secret": "Nieuwe vertrouwelijke info aanmaken!",
|
|
||||||
"btn-new-secret": "Nieuw",
|
|
||||||
"btn-reveal-secret": "Toon mij de vertrouwelijke info!",
|
|
||||||
"btn-show-explanation": "Hoe werkt dit?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Je vult vertrouwelijke informatie in op deze pagina.",
|
|
||||||
"Je browser versleutelt de ingevulde tekst via een automatisch gegenereerd wachtwoord.",
|
|
||||||
"Alleen de versleutelde data wordt naar de server gestuurd. (De leesbare versie of het wachtwoord worden nooit verstuurd!)",
|
|
||||||
"De server slaat de versleutelde data gedurende een beperkte periode op.",
|
|
||||||
"Je geeft de URL met identificatie en het gegenereerde wachtwoord aan de ontvanger.",
|
|
||||||
"De ontvanger kan de vertrouwelijke informatie exact eenmaal bekijken: indien het niet lukt heeft mogelijk iemand anders de info gezien!",
|
|
||||||
"De versleutelde data wordt van de server gewist van zodra de ontvanger het bekeken heeft."
|
|
||||||
],
|
|
||||||
"label-secret-data": "Vertrouwelijke info:",
|
|
||||||
"text-burn-hint": "Bezoek de URL niet zelf: je kan deze slechts eenmaal gebruiken. Geef de URL aan de ontvanger.",
|
|
||||||
"text-hint-burned": "<strong>Opgelet:</strong> Je ziet deze informatie alleen nu. Je kan het niet meer opnieuw opvragen als je de pagina verlaat.",
|
|
||||||
"text-powered-by": "Mogelijk gemaakt door",
|
|
||||||
"text-pre-reveal-hint": "Gebruik deze knop om de vertrouwelijke info op te halen. Let op: Je kan dit slechts eenmaal doen!",
|
|
||||||
"text-pre-url": "Je vertrouwelijke informatie kan opgevraagd worden via deze URL:",
|
|
||||||
"text-secret-create-disabled": "Het aanmaken van nieuwe geheimen is in dit geval uitgeschakeld.",
|
|
||||||
"title-explanation": "Dit is hoe het werkt…",
|
|
||||||
"title-new-secret": "Nieuwe vertrouwelijke info opslaan",
|
|
||||||
"title-reading-secret": "Vertrouwelijke info lezen…",
|
|
||||||
"title-secret-create-disabled": "Geheime creatie uitgeschakeld...",
|
|
||||||
"title-secret-created": "Vertrouwelijke info opgeslaan!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "PT-BR",
|
|
||||||
"alert-secret-not-found": "Esta não é o segredo que você está procurando… - Se você esperava que o segredo estaria aqui, ele pode ter sido comprometido por alguém que já acessou o link.",
|
|
||||||
"alert-something-went-wrong": "Desculpe, algo deu errado…",
|
|
||||||
"btn-create-secret": "Criar segredo!",
|
|
||||||
"btn-new-secret": "Novo segredo",
|
|
||||||
"btn-reveal-secret": "Mostrar o segredo!",
|
|
||||||
"btn-show-explanation": "Como funciona?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Você insere o segredo no campo de texto desta página",
|
|
||||||
"Seu navegador criptografa o segredo usando uma senha gerada",
|
|
||||||
"Somente o segredo criptografado é enviado para o servidor (nem o segredo em texto claro, nem a senha é enviada para o servidor!)",
|
|
||||||
"O servidor armazena o segredo criptografado por um certo tempo",
|
|
||||||
"Você envia a URL mostrada contendo a ID e a senha de descriptografia para o destinatário",
|
|
||||||
"O destinatário pode ver o segredo apenas uma vez: se ele não pode ver, o segredo pode ter sido visto por outra pessoa!",
|
|
||||||
"Após o segredo ter sido obtido uma vez, o mesmo é deletado do servidor"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Informação secreta:",
|
|
||||||
"text-burn-hint": "Importante você lembrar de não acessar esta URL, pois isto irá indisponibilizar o segredo. Apenas encaminhe para outra pessoa!",
|
|
||||||
"text-hint-burned": "Atenção: Você está vendo esta informação apenas uma vez. Logo que você recarregar a página o segredo ficará indisponível. É recomendado que você copie a informação agora…",
|
|
||||||
"text-powered-by": "Powered by",
|
|
||||||
"text-pre-reveal-hint": "Para revelar o segredo clique neste botão, mas lembre-se que esta ação vai destruir o segredo. Você só pode ver uma única vez!",
|
|
||||||
"text-pre-url": "Seu segredo foi criado e armazenado na seguinte URL:",
|
|
||||||
"text-secret-create-disabled": "A criação de novos segredos é desativada nesse caso.",
|
|
||||||
"title-explanation": "É assim como funciona…",
|
|
||||||
"title-new-secret": "Criar um novo segredo",
|
|
||||||
"title-reading-secret": "Lendo seu segredo…",
|
|
||||||
"title-secret-create-disabled": "Criação secreta desativada...",
|
|
||||||
"title-secret-created": "Segredo criado!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "ru",
|
|
||||||
"alert-secret-not-found": "Секрет недоступен… - Помните, он может быть скомпрометирован. Возможно кто-то другой уже открыл вашу ссылку.",
|
|
||||||
"alert-something-went-wrong": "Что-то пошло не так. Приносим свои извинения…",
|
|
||||||
"btn-create-secret": "Создать секрет!",
|
|
||||||
"btn-new-secret": "Новый секрет",
|
|
||||||
"btn-reveal-secret": "Показать секрет!",
|
|
||||||
"btn-show-explanation": "Как это работает?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Вы вводите секрет в поле на этой странице.",
|
|
||||||
"Ваш браузер шифрует секрет с помощью сгенерированного пароля.",
|
|
||||||
"На сервер отправляется только зашифрованный секрет (ни текст секрета, ни пароль никогда не отправляются!)",
|
|
||||||
"Сервер хранит зашифрованный секрет в течение определенного времени.",
|
|
||||||
"Вы передаете отображаемый URL-адрес, содержащий идентификатор и пароль для расшифровки, получателю.",
|
|
||||||
"Получатель может просмотреть секрет ровно один раз: если он не смог, секрет возможно был просмотрен кем-то другим!",
|
|
||||||
"После того как зашифрованный секрет был извлечен, он удаляется с сервера."
|
|
||||||
],
|
|
||||||
"label-secret-data": "Секретные данные:",
|
|
||||||
"text-burn-hint": "Пожалуйста, не переходите по этому URL для проверки, так как это удалит секрет. Просто скопируйте и передайте его!",
|
|
||||||
"text-hint-burned": "<strong>Внимание:</strong> Секрет будет показан только один раз. Как только вы перезагрузите страницу, секрет исчезнет, скопируйте его незамедлительно…",
|
|
||||||
"text-powered-by": "Powered by",
|
|
||||||
"text-pre-reveal-hint": "Чтобы раскрыть секрет, нажмите эту кнопку, но имейте в виду, что это приведет к уничтожению секрета. Вы можете просмотреть его только один раз!",
|
|
||||||
"text-pre-url": "Ваш секрет создан и сохранён, его URL:",
|
|
||||||
"text-secret-create-disabled": "Создание новых секретов в этом случае отключено.",
|
|
||||||
"title-explanation": "Как это работает…",
|
|
||||||
"title-new-secret": "Создать новый секрет",
|
|
||||||
"title-reading-secret": "Читаем ваш секрет…",
|
|
||||||
"title-secret-create-disabled": "Секретное создание отключено...",
|
|
||||||
"title-secret-created": "Секрет создан!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "sv",
|
|
||||||
"alert-secret-not-found": "Hemlighet hittades inte… - Om du förväntade dig att hemligheten skulle finnas här kan den vara röjd då någon annan kan ha öppnat denna länk tidigare.",
|
|
||||||
"alert-something-went-wrong": "Något gick fel. Jag ber om ursäkt för detta!…",
|
|
||||||
"btn-create-secret": "Skapa hemliget!",
|
|
||||||
"btn-new-secret": "Ny hemlighet.",
|
|
||||||
"btn-reveal-secret": "Visa mig hemligheten!",
|
|
||||||
"btn-show-explanation": "Hur fungerar detta?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Skriv in en hemlighet i rutan nedan",
|
|
||||||
"Din webbläsare krypterar hemligheten med hjälp av ett genererat lösenord",
|
|
||||||
"Endast den krypterade hemligheten skickas till servern. (varken lösenordet eller hemligheten i klartext skickas!)",
|
|
||||||
"Servern lagrar den krypterade hemligheten för en begränsad tid",
|
|
||||||
"Du skickar URL-länken med ID-numret och avkrypteringslösenordet till mottagaren",
|
|
||||||
"Mottagaren kan se hemligheten exakt en gång: Om detta misslyckas kan hemligheten redan ha setts av någon annan!",
|
|
||||||
"När hemligheten har setts en gång, raderas den från servern"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Hemlig data:",
|
|
||||||
"text-burn-hint": "Kom ihåg att inte gå till denna URL själv eftersom detta skulle förbruka hemligheten. Skicka bara vidare den till mottagaren!",
|
|
||||||
"text-hint-burned": "<strong>Observera:</strong> Du kan endast se denna sida en gång. Så fort du laddar om sidan kommer hemligheten att försvinna så kopiera den nu…",
|
|
||||||
"text-powered-by": "Drivs av",
|
|
||||||
"text-pre-reveal-hint": "För att visa hemligheten klicka på denna knapp. Var medveten om att när du gör det kommer hemligheten att förbrukas, du kan endast se den en gång!",
|
|
||||||
"text-pre-url": "Din hemlighet har skapats och lagrats med denna URL:",
|
|
||||||
"text-secret-create-disabled": "Skapandet av nya hemligheter blockeras i detta fall.",
|
|
||||||
"title-explanation": "Såhär fungerar det…",
|
|
||||||
"title-new-secret": "Skapa ny hemlighet",
|
|
||||||
"title-reading-secret": "Läs din hemlighet…",
|
|
||||||
"title-secret-create-disabled": "Hemlig skapelse avaktiverad...",
|
|
||||||
"title-secret-created": "Hemlighet skapad!"
|
|
||||||
}
|
|
@ -1,30 +0,0 @@
|
|||||||
{
|
|
||||||
"__lang": "tr",
|
|
||||||
"alert-secret-not-found": "Aradığınız sır bu değil… - Sırrın burada olmasını bekliyorsanız, bu link başkası tarafından açılmış ve sırrınız tehlikede olabilir.",
|
|
||||||
"alert-something-went-wrong": "Bir şeyler ters gitti. Bunun için çok üzgünüm…",
|
|
||||||
"btn-create-secret": "Sır oluştur!",
|
|
||||||
"btn-new-secret": "Yeni sır",
|
|
||||||
"btn-reveal-secret": "Sırrı göster!",
|
|
||||||
"btn-show-explanation": "Nasıl çalışır?",
|
|
||||||
"items-explanation": [
|
|
||||||
"Bu sayfadaki alana sırrınızı giriniz",
|
|
||||||
"Internet tarayıcınız oluşturulan şifre yardımı ile sırrınızı enkripte eder",
|
|
||||||
"Sadece ektripte edilmiş sır sunucuya gönderilir (ne sır metni nede şifre gönderilmez!)",
|
|
||||||
"Sunucu enkripte edilmiş sırrı bünyesinde belli bir süre saklar",
|
|
||||||
"Gösterilen linki, id ve deşifre bilgisi ile birlikte alıcıya gönder",
|
|
||||||
"Alcı sırrı tam olarak sadece bir kez görebilir: Eğer göremez ise, sır bir başkası tarafından daha önce görülmüş olabilir!",
|
|
||||||
"Sır bir kez gösterildikten sonra hemen sunucudan silinir"
|
|
||||||
],
|
|
||||||
"label-secret-data": "Sır bilgisi:",
|
|
||||||
"text-burn-hint": "Lütfen linki kendiniz acmayın, bu sırrın silinmesine neden olur. Linki sadece alıcıya gönderin!",
|
|
||||||
"text-hint-burned": "Dikkat: Bunu sadece bir kez göreceksiniz. Sayfayı güncellediğinizde yada kapattiğınızda sır kaybolacaktır, belkide şimdi sırrı kopyalamanız akıllıca olacaktır…",
|
|
||||||
"text-powered-by": "Tarafından desteklenmektedir",
|
|
||||||
"text-pre-reveal-hint": "Sırrı görmek için bu düğmeye tıklayın, ama bunu yaptıktan sonra sırrın silineceğini unutmayın. Bunu sadece bir kez görebilirsin!",
|
|
||||||
"text-pre-url": "Sırrınız oluşturuldu ve bu link kullanılarak kaydedildi:",
|
|
||||||
"text-secret-create-disabled": "Bu durumda yeni gizli dizilerin oluşturulması devre dışı bırakılır.",
|
|
||||||
"title-explanation": "Bu sekilde çalışır…",
|
|
||||||
"title-new-secret": "Yeni sır oluştur",
|
|
||||||
"title-reading-secret": "Sırrınız okunuyor…",
|
|
||||||
"title-secret-create-disabled": "Gizli yaratım devre dışı bırakıldı...",
|
|
||||||
"title-secret-created": "Sır oluşturuldu!"
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"alert-secret-not-found": "这不是您正在寻找的机密… - 如果您期望机密会出现在这里,它可能已经被泄漏了,因为可能有其他人已经打开了此链接。",
|
|
||||||
"alert-something-went-wrong": "看样子出了一些问题,对此我非常抱歉…",
|
|
||||||
"btn-create-secret": "创建机密!",
|
|
||||||
"btn-new-secret": "新的机密",
|
|
||||||
"btn-reveal-secret": "向我展示机密!",
|
|
||||||
"btn-show-explanation": "这是如何工作的?",
|
|
||||||
"items-explanation": [
|
|
||||||
"您在当前页面上的字段输入一个机密",
|
|
||||||
"您的浏览器使用生成的密码加密刚才的机密",
|
|
||||||
"只有加密后的机密被发送到服务器(无论是机密的明文内容还是加密的密码都不会被发送!)",
|
|
||||||
"服务器将加密的机密存储一定时间",
|
|
||||||
"您将显示的包含 ID 和解密密码的 URL 链接发送给收件人",
|
|
||||||
"收件人只能查看一次机密:如果他们无法查看,就代表这个机密已经被其他人看过来!",
|
|
||||||
"当加密的机密被取回一次以后,他将从服务器上被删除"
|
|
||||||
],
|
|
||||||
"label-secret-data": "机密数据",
|
|
||||||
"text-burn-hint": "请注意您自己不要访问这个 URL 地址,否则这会破坏机密。 就这样把它发送给别人就可以了!",
|
|
||||||
"text-hint-burned": "<strong>请注意:</strong> 您只能看到这一次! 一旦您刷新当前页面,机密就会消失,所以应该现在就复制机密…",
|
|
||||||
"text-powered-by": "强力驱动通过",
|
|
||||||
"text-pre-reveal-hint": "要揭露这个机密,请点击此按钮,但注意这样做之后会破坏此机密。 您只能查看一次!",
|
|
||||||
"text-pre-url": "您的机密是使用此 URL 创建和存储:",
|
|
||||||
"title-explanation": "这就是它的工作方式…",
|
|
||||||
"title-new-secret": "创建一个机密",
|
|
||||||
"title-reading-secret": "读取你的机密…",
|
|
||||||
"title-secret-created": "机密已创建!"
|
|
||||||
}
|
|
@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
"alert-secret-not-found": "這不是您正在尋找的機密… - 如果您期望機密會出現在這裡,它可能已經被泄漏了,因為可能有其他人已經打開了此連結。",
|
|
||||||
"alert-something-went-wrong": "看樣子出了一些問題,對此我非常抱歉…",
|
|
||||||
"btn-create-secret": "創建機密!",
|
|
||||||
"btn-new-secret": "新的機密",
|
|
||||||
"btn-reveal-secret": "向我展示機密!",
|
|
||||||
"btn-show-explanation": "這是如何工作的?",
|
|
||||||
"items-explanation": [
|
|
||||||
"您在當前頁面上的欄位輸入一個機密",
|
|
||||||
"您的瀏覽器使用生成的密碼加密剛才的機密",
|
|
||||||
"只有加密後的機密被發送到伺服器(無論是機密的明文內容還是加密的密碼都不會被發送!)",
|
|
||||||
"伺服器將加密的機密存儲一定時間",
|
|
||||||
"您將顯示的包含 ID 和解密密碼的 URL 連結發送給收件人",
|
|
||||||
"收件人只能查看一次機密:如果他們無法查看,就代表這個機密已經被其他人看過來!",
|
|
||||||
"當加密的機密被取回一次以後,他將從伺服器上被刪除"
|
|
||||||
],
|
|
||||||
"label-secret-data": "機密數據",
|
|
||||||
"text-burn-hint": "請注意您自己不要訪問這個 URL 地址,否則這會破壞機密。 就這樣把它發送給別人就可以了!",
|
|
||||||
"text-hint-burned": "<strong>請注意:</strong> 您只能看到這一次! 一旦您刷新當前頁面,機密就會消失,所以應該現在就複製機密…",
|
|
||||||
"text-powered-by": "強力驅動通過",
|
|
||||||
"text-pre-reveal-hint": "要揭露這個機密,請點擊此按鈕,但注意這樣做之後會破壞此機密。 您只能查看一次!",
|
|
||||||
"text-pre-url": "您的機密是使用此 URL 創建和存儲:",
|
|
||||||
"title-explanation": "這就是它的工作方式…",
|
|
||||||
"title-new-secret": "創建一個機密",
|
|
||||||
"title-reading-secret": "讀取你的機密…",
|
|
||||||
"title-secret-created": "機密已創建!"
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user