fix translation

pull/28/head
Niko PLP 6 months ago
parent df5af0fe26
commit f4675ac042
  1. 7
      ng-app/src/App.svelte
  2. 5
      ng-app/src/lib/CenteredLayout.svelte
  3. 6
      ng-app/src/lib/Login.svelte
  4. 163
      ng-app/src/locales/en.json
  5. 23
      ng-app/src/locales/i18n-init.ts
  6. 2
      ng-app/src/routes/AccountInfo.svelte
  7. 24
      ng-app/src/routes/WalletCreate.svelte
  8. 2
      ng-app/src/routes/WalletInfo.svelte
  9. 23
      ng-app/src/store.ts
  10. 2
      ngone/web/src/routes/WalletCreate.svelte
  11. 3688
      pnpm-lock.yaml

@ -11,7 +11,6 @@
<script lang="ts"> <script lang="ts">
import { push, default as Router } from "svelte-spa-router"; import { push, default as Router } from "svelte-spa-router";
import "./locales/i18n-init";
import { isLoading } from "svelte-i18n"; import { isLoading } from "svelte-i18n";
import { onMount, tick, onDestroy } from "svelte"; import { onMount, tick, onDestroy } from "svelte";
@ -49,7 +48,7 @@
routes.set("/user", User); routes.set("/user", User);
routes.set("/user/registered", UserRegistered); routes.set("/user/registered", UserRegistered);
routes.set("/wallet", WalletInfo); routes.set("/wallet", WalletInfo);
routes.set("/user/account", AccountInfo); routes.set("/user/accounts", AccountInfo);
if (import.meta.env.NG_APP_WEB) routes.set("/install", Install); if (import.meta.env.NG_APP_WEB) routes.set("/install", Install);
routes.set(/^\/did:ng(.*)/i, NURI); routes.set(/^\/did:ng(.*)/i, NURI);
routes.set("*", NotFound); routes.set("*", NotFound);
@ -283,7 +282,9 @@
</p> --> </p> -->
{#if $isLoading} {#if $isLoading}
<p>Loading...</p> <p class="text-center">Loading translations...</p>
{:else} {:else}
<Router {routes} /> <Router {routes} />
{/if} {/if}

@ -12,10 +12,9 @@
<script lang="ts"> <script lang="ts">
import ng from "../api"; import ng from "../api";
import { onMount, tick } from "svelte"; import { onMount, tick } from "svelte";
import { locale } from "svelte-i18n"; import { locale, t } from "svelte-i18n";
import { available_languages } from "../locales/i18n-init"; import { available_languages } from "../store";
import { Language } from "svelte-heros-v2"; import { Language } from "svelte-heros-v2";
import { t } from "svelte-i18n";
export let displayFooter = false; export let displayFooter = false;

@ -374,9 +374,9 @@
<!-- Save wallet? --> <!-- Save wallet? -->
{#if for_import} {#if for_import}
<div class="max-w-xl lg:px-8 mx-auto px-4 mb-2"> <div class="max-w-xl lg:px-8 mx-auto px-4 mb-2">
<span class="text-xl">{$t("pages.login.trust_device")} </span> <br /> <span class="text-xl">{$t("pages.wallet_create.save_wallet_options.trust")} </span> <br />
<p class="text-sm"> <p class="text-sm">
{$t("pages.login.trust_device_description")} {$t("pages.wallet_create.save_wallet_options.trust_description")}
{#if !tauri_platform} {#if !tauri_platform}
{$t("pages.login.trust_device_allow_cookies")}{/if}<br /> {$t("pages.login.trust_device_allow_cookies")}{/if}<br />
</p> </p>
@ -467,7 +467,7 @@
> >
<PasswordInput <PasswordInput
id="mnemonic-input" id="mnemonic-input"
placeholder="12 words separated by spaces" placeholder={$t("pages.login.mnemonic_placeholder")}
bind:value={mnemonic} bind:value={mnemonic}
className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" className="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
auto_complete="mnemonic" auto_complete="mnemonic"

@ -74,15 +74,13 @@
"3": "Once you completed the last category, you will be presented with all the images you have previously selected. Their order is displayed as it was when you picked them. But this is not the correct order of the images in your pazzle. You now have to order them correctly.", "3": "Once you completed the last category, you will be presented with all the images you have previously selected. Their order is displayed as it was when you picked them. But this is not the correct order of the images in your pazzle. You now have to order them correctly.",
"4": "You must remember which image should be the first one in your pazzle. Find it on the screen and click or tap on it. It will be greyed out and the number 1 will appear on top of it.", "4": "You must remember which image should be the first one in your pazzle. Find it on the screen and click or tap on it. It will be greyed out and the number 1 will appear on top of it.",
"5": "Move on to the second image of your pazzle (that you memorized). Find it on the screen and tap on it. Repeat this step until you reached the last image.", "5": "Move on to the second image of your pazzle (that you memorized). Find it on the screen and tap on it. Repeat this step until you reached the last image.",
"6": "Finally, your are asked for your PIN code. Enter it by clicking or tapping on the digits." "6": "Finally, you are asked for your PIN code. Enter it by clicking or tapping on the digits."
}, },
"with_mnemonic": "With your 12 words Mnemonic (passphrase)", "with_mnemonic": "With your 12 words Mnemonic (passphrase)",
"mnemonic_steps": { "mnemonic_steps": {
"1": "Enter your twelve words mnemonic in the input field. The words must be separated by spaces.", "1": "Enter your twelve words mnemonic in the input field. The words must be separated by spaces.",
"2": "Enter the PIN code that you chose when you created your wallet." "2": "Enter the PIN code that you chose when you created your wallet."
}, },
"trust_device": "Do you trust this device?",
"trust_device_description": "If you do, if this device is yours or is used by few trusted persons of your family or workplace, and you would like to login again from this device in the future, then you can save your wallet on this device. To the contrary, if this device is public and shared by strangers, do not save your wallet here.",
"trust_device_allow_cookies": "By selecting this option, you agree to saving some cookies on your browser.", "trust_device_allow_cookies": "By selecting this option, you agree to saving some cookies on your browser.",
"trust_device_yes": "Yes, save my wallet on this device", "trust_device_yes": "Yes, save my wallet on this device",
"loading_pazzle": "Loading Pazzle", "loading_pazzle": "Loading Pazzle",
@ -90,19 +88,20 @@
"login_cancel": "Cancel Login", "login_cancel": "Cancel Login",
"open_with_mnemonic": "Open with Mnemonic instead", "open_with_mnemonic": "Open with Mnemonic instead",
"enter_mnemonic": "Enter your 12 words mnemonic.", "enter_mnemonic": "Enter your 12 words mnemonic.",
"select_emoji": "Select your emoji of category:<br />{category}", "mnemonic_placeholder": "12 words separated by spaces",
"select_emoji": "Select your image for category:<br />{category}",
"order_emojis": "Select each image in the correct order", "order_emojis": "Select each image in the correct order",
"enter_pin": "Enter your PIN code", "enter_pin": "Enter your PIN code",
"opening_wallet": "Opening your wallet...<br /> Please wait", "opening_wallet": "Opening your wallet...<br /> Please wait",
"wallet_opened": "Your wallet is opened! <br />Please wait while the app is loading...", "wallet_opened": "Your wallet is opened! <br />Please wait while the app is loading...",
"qr_code": "Wallet QR-Code", "qr_code": "Wallet QRCode",
"qr_modal_title": "My Wallet QR-Code", "qr_modal_title": "My Wallet QRCode",
"qr_modal_description": "Use this QR-Code to log in with your wallet on new devices.", "qr_modal_description": "Use this QRCode to log in with your wallet on new devices.",
"copy_wallet_link": "Copy Wallet Link", "copy_wallet_link": "Copy Wallet Link",
"keep_wallet": "Save to Device for Future Logins" "keep_wallet": "Save to Device for Future Logins"
}, },
"account_info": { "account_info": {
"title": "Account Info", "title": "Accounts Info",
"site": "{name} account", "site": "{name} account",
"devices": "Devices", "devices": "Devices",
"brokers": "Brokers", "brokers": "Brokers",
@ -144,7 +143,7 @@
}, },
"choose_broker": "Please choose one broker among the list", "choose_broker": "Please choose one broker among the list",
"register_with_broker": "Register with {broker}", "register_with_broker": "Register with {broker}",
"for_eu_citizens": "For European Union Citizens", "for_eu_citizens": "European Union Citizens",
"for_rest": "For the rest of the world", "for_rest": "For the rest of the world",
"enter_invite_link": "Enter an invitation link", "enter_invite_link": "Enter an invitation link",
"scan_invite_qr": "Scan an invitation QR-code", "scan_invite_qr": "Scan an invitation QR-code",
@ -179,6 +178,7 @@
"9": "The best would be a landscape you like or any other picture that you will recognize as unique.", "9": "The best would be a landscape you like or any other picture that you will recognize as unique.",
"10": "Please be aware that other people who are sharing this device with you, will be able to see this image and phrase." "10": "Please be aware that other people who are sharing this device with you, will be able to see this image and phrase."
}, },
"type_security_phrase_placeholder": "Type a security phrase...",
"save_security_phrase_and_image": "Save security phrase & image", "save_security_phrase_and_image": "Save security phrase & image",
"tap_to_upload": "Tap to upload an image", "tap_to_upload": "Tap to upload an image",
"click_to_upload": "Click to select an image", "click_to_upload": "Click to select an image",
@ -189,7 +189,6 @@
"description": "There are 4 options to choose before we can create your wallet. Those options can help you to use and keep your wallet. But we also want to be careful with your security and privacy.<br /><br /> Remember that in any case, once your wallet will be created, you will download a file that you should keep privately somewhere on your device, USB key or hard-disk. This is the default way you can use and keep your wallet. Now let's look at some options that can make your life a bit easier.", "description": "There are 4 options to choose before we can create your wallet. Those options can help you to use and keep your wallet. But we also want to be careful with your security and privacy.<br /><br /> Remember that in any case, once your wallet will be created, you will download a file that you should keep privately somewhere on your device, USB key or hard-disk. This is the default way you can use and keep your wallet. Now let's look at some options that can make your life a bit easier.",
"trust": "Do you trust this device?", "trust": "Do you trust this device?",
"trust_description": "If you do, if this device is yours, or it is used by a few trusted persons of your family or workplace, and you would like to login again from this device in the future, then you can save your wallet on this device. To the contrary, if this device is public and shared by strangers, do not save your wallet here.", "trust_description": "If you do, if this device is yours, or it is used by a few trusted persons of your family or workplace, and you would like to login again from this device in the future, then you can save your wallet on this device. To the contrary, if this device is public and shared by strangers, do not save your wallet here.",
"trust_allow_cookies": "By selecting this option, you agree to saving some cookies on your browser.",
"trust_toggle": "Save my wallet on this device?", "trust_toggle": "Save my wallet on this device?",
"cloud": "Keep a copy in the cloud?", "cloud": "Keep a copy in the cloud?",
"cloud_description": "Are you afraid that you will loose the file containing your wallet? If this would happen, your wallet would be lost forever, together with all your documents. We can keep an encrypted copy of your wallet in our cloud. Only you will be able to download it with a special link. You would have to keep this link safely though. By selecting this option, you agree to the", "cloud_description": "Are you afraid that you will loose the file containing your wallet? If this would happen, your wallet would be lost forever, together with all your documents. We can keep an encrypted copy of your wallet in our cloud. Only you will be able to download it with a special link. You would have to keep this link safely though. By selecting this option, you agree to the",
@ -212,7 +211,7 @@
"your_mnemonic": "And here is your mnemonic (your alternative passphrase):", "your_mnemonic": "And here is your mnemonic (your alternative passphrase):",
"unlock_tips_1": "You can use both the pazzle or the mnemonic to unlock your wallet. The pazzle is easier to remember. The mnemonic is useful in some special cases. We recommend that you use the pazzle. <span class=\"font-bold text-xl\" >Copy both on a piece of paper.</span > You should try to memorize the pazzle. Once you did, you won't need the paper anymore.", "unlock_tips_1": "You can use both the pazzle or the mnemonic to unlock your wallet. The pazzle is easier to remember. The mnemonic is useful in some special cases. We recommend that you use the pazzle. <span class=\"font-bold text-xl\" >Copy both on a piece of paper.</span > You should try to memorize the pazzle. Once you did, you won't need the paper anymore.",
"unlock_tips_2": "Now click on \"Continue to Login\" and select your new wallet.", "unlock_tips_2": "Now click on \"Continue to Login\" and select your new wallet.",
"unlock_tips_3": "It is important that you <span class=\"font-bold\">login</span> with this wallet <span class=\"font-bold\">at least once</span> from this {platform, select, browser {browser tab} other {device}},<br /> while connected to the internet, so your personal site can be created on your broker.", "unlock_tips_3": "It is important that you <span class=\"font-bold\">login</span> with this wallet <span class=\"font-bold\">at least once</span> from this {platform, select, browser {browser tab} other {device}}, while connected to the internet, so your personal site can be created on your broker.",
"continue_to_login": "Continue to Login", "continue_to_login": "Continue to Login",
"continue_confirm": "Did you write down your login credentials?", "continue_confirm": "Did you write down your login credentials?",
"continue_confirm_description": "The pazzle and the mnemonic <span class=\"font-bold\"> will not be shown to you again</span >. Please make sure, you have written them down.", "continue_confirm_description": "The pazzle and the mnemonic <span class=\"font-bold\"> will not be shown to you again</span >. Please make sure, you have written them down.",
@ -224,34 +223,34 @@
"with_another_wallet": "Log in with another wallet", "with_another_wallet": "Log in with another wallet",
"import_wallet": "Import your wallet", "import_wallet": "Import your wallet",
"import_file": "Import a Wallet File", "import_file": "Import a Wallet File",
"import_qr": "Import with QR-Code", "import_qr": "Import with QRCode",
"import_link": "Enter a Wallet Link", "import_link": "Enter a Wallet Link",
"new_wallet": "Create a New Wallet", "new_wallet": "Create a new Wallet",
"logged_in": "You are logged in.<br /> please wait while the app is loading" "logged_in": "You are logged in.<br /> please wait while the app is loading"
} }
}, },
"buttons": { "buttons": {
"ok": "Ok", "ok": "Ok",
"go_back": "Go Back", "go_back": "Go back",
"back": "Back", "back": "Back",
"confirm": "Confirm", "confirm": "Confirm",
"cancel": "Cancel", "cancel": "Cancel",
"remove": "Remove", "remove": "Remove",
"correct": "Correct", "correct": "Correct",
"try_again": "Try Again", "try_again": "Try again",
"back_to_homepage": "Go Back to Homepage", "back_to_homepage": "Go back to Homepage",
"logout": "Logout", "logout": "Logout",
"login": "Login", "login": "Login",
"start_over": "Start over" "start_over": "Start over"
}, },
"errors": { "errors": {
"an_error_occurred": "An error occurred!", "an_error_occurred": "An error occurred",
"error_occurred": "An error occurred:<br />{message}", "error_occurred": "An error occurred:<br />{message}",
"AlreadyExists": "The user is already registered with the selected broker.<br />Try logging in instead.", "AlreadyExists": "The user is already registered with the selected broker.<br />Try logging in instead.",
"InvalidSignature": "The signature is invalid.", "InvalidSignature": "The signature is invalid.",
"IncompleteSignature": "The signature is incomplete.", "IncompleteSignature": "The signature is incomplete.",
"SerializationError": "The object could not be serialized.", "SerializationError": "The object could not be serialized.",
"EncryptionError": "Error with encryption.", "EncryptionError": "Your wallet could not be opened. You probably did a mistake.",
"DecryptionError": "Error with decryption.", "DecryptionError": "Error with decryption.",
"InvalidValue": "The value is invalid.", "InvalidValue": "The value is invalid.",
"ConnectionNotFound": "The connection was not found.", "ConnectionNotFound": "The connection was not found.",
@ -265,15 +264,15 @@
"InvalidMnemonic": "The mnemonic is not correct.", "InvalidMnemonic": "The mnemonic is not correct.",
"CommitLoadError": "Error loading commit.", "CommitLoadError": "Error loading commit.",
"ObjectParseError": "Error parsing object.", "ObjectParseError": "Error parsing object.",
"StorageError": "Storage error. ", "StorageError": "Storage error.",
"NotFound": "Could not find resource.", "NotFound": "Not Found",
"JsStorageKeyNotFound": "Could not find JavaScript storage key.", "JsStorageKeyNotFound": "Could not find JavaScript storage key.",
"IoError": "Input/Output error.", "IoError": "Input/Output error.",
"CommitVerifyError": "Verifying commit failed.", "CommitVerifyError": "Verifying commit failed.",
"LocalBrokerNotInitialized": "The local broker is not initialized.", "LocalBrokerNotInitialized": "The local broker is not initialized.",
"JsStorageReadError": "Could not read from JavaScript Storage.", "JsStorageReadError": "Could not read from JavaScript Storage.",
"JsStorageWriteError": "Could not write to JavaScript Storage.", "JsStorageWriteError": "Could not write to JavaScript Storage.",
"CannotSaveWhenInMemoryConfig": "Saving in Browser is not possible.", "CannotSaveWhenInMemoryConfig": "Saving while configured for In-Memory is not possible.",
"WalletNotFound": "The wallet was not found.", "WalletNotFound": "The wallet was not found.",
"WalletAlreadyAdded": "The wallet is already added.", "WalletAlreadyAdded": "The wallet is already added.",
"WalletAlreadyOpened": "The wallet is already open.", "WalletAlreadyOpened": "The wallet is already open.",
@ -336,23 +335,23 @@
"sport": "Sport", "sport": "Sport",
"bigger_animal": "Big Animal", "bigger_animal": "Big Animal",
"smaller_animal": "Small Animal", "smaller_animal": "Small Animal",
"plants": "Plants and Instects", "plants": "Plants and Insects",
"fruits": "Fruites and Veggies", "fruits": "Fruits and Veggies",
"food": "Food and Drinks", "food": "Food and Drinks",
"travel": "Travel", "travel": "Travel",
"sky": "Sky and Weather", "sky": "Sky and Weather",
"play": "Leasure", "play": "Leisure",
"house": "Household" "house": "Household"
}, },
"codes": { "codes": {
"COMMENT": "YOU CAN FIND I18N UNICODE DESCRIPTIONS AT https://github.com/unicode-org/cldr-json", "COMMENT": "YOU CAN FIND I18N UNICODE DESCRIPTIONS AT https://github.com/unicode-org/cldr-json",
"happy": "happy grinning face", "happy": "happy face",
"happy_tears": "face with tears of joy", "happy_tears": "face with tears of joy",
"halo": "smiling face with halo ring", "halo": "smiling face with halo ring",
"three_hearts": "face with 3 hearts", "three_hearts": "face with 3 hearts",
"with_two_hearts": "face with 2 heart-eyes", "with_two_hearts": "face with 2 heart-eyes",
"one_heart": "face blowing one heart kiss", "one_heart": "face blowing one heart kiss",
"with_tongue": "squinting face with tongue", "with_tongue": "face with tongue",
"with_two_hands": "face with two hands", "with_two_hands": "face with two hands",
"one_hand": "face with hand over mouth", "one_hand": "face with hand over mouth",
"silenced": "silenced zipper-mouth face", "silenced": "silenced zipper-mouth face",
@ -374,12 +373,12 @@
"long_nose": "long nose lying face", "long_nose": "long nose lying face",
"many_tears": "loudly crying face", "many_tears": "loudly crying face",
"fear": "face screaming in fear", "fear": "face screaming in fear",
"tired": "yawning face", "tired": "tired yawning face",
"annoyed": "annoyed face with steam from nose", "annoyed": "annoyed face with steam from nose",
"clown": "clown face", "clown": "clown face",
"ghost": "ghost", "ghost": "ghost",
"dog": "dog face", "dog": "dog face",
"happy_cat": "grinning cat with smiling eyes", "happy_cat": "happy cat with smiling eyes",
"scared_cat": "weary scared cat", "scared_cat": "weary scared cat",
"sad_cat": "crying cat", "sad_cat": "crying cat",
"monkey_no_see": "see-no-evil monkey", "monkey_no_see": "see-no-evil monkey",
@ -389,24 +388,24 @@
"princess": "princess", "princess": "princess",
"firefighter": "firefighter", "firefighter": "firefighter",
"mage": "mage", "mage": "mage",
"mermaid": "merperson", "mermaid": "mermaid",
"fairy": "fairy", "fairy": "fairy",
"letter_heart": "love letter", "letter_heart": "love letter",
"red_heart": "red heart", "red_heart": "red heart",
"two_hearts": "two hearts", "two_hearts": "two hearts",
"kiss": "kiss mark", "kiss": "kiss mark",
"hundred": "hundred points", "hundred": "hundred points",
"explosion": "collision", "explosion": "explosion",
"drops": "sweat droplets", "drops": "sweat droplets",
"handshake": "handshake", "handshake": "handshake",
"hand_five_fingers": "hand with fingers splayed", "hand_five_fingers": "hand with 5 fingers splayed",
"hand_two_fingers": "victory hand", "hand_two_fingers": "victory hand with 2 fingers",
"thumbs_up": "thumbs up", "thumbs_up": "thumbs up",
"fist": "raised fist", "fist": "raised fist",
"two_hands": "open hands", "two_hands": "two open hands",
"writing": "writing hand", "writing": "writing hand",
"praying": "folded hands", "praying": "praying folded hands",
"arm": "flexed biceps", "arm": "flexed arm",
"leg": "leg", "leg": "leg",
"foot": "foot", "foot": "foot",
"ear": "ear", "ear": "ear",
@ -418,24 +417,24 @@
"tongue": "tongue", "tongue": "tongue",
"mouth": "mouth", "mouth": "mouth",
"shirt": "t-shirt", "shirt": "t-shirt",
"pants": "jeans", "pants": "pants",
"dress": "dress", "dress": "dress",
"shoe": "running shoe", "shoe": "running shoe",
"fencing": "person fencing", "fencing": "fencing",
"horse_riding": "horse racing", "horse_riding": "horse riding",
"ski": "skier", "ski": "skier",
"rowing_boat": "person rowing boat", "rowing_boat": "rowing boat",
"swim": "person swimming", "swim": "swimming",
"surf": "person surfing", "surf": "surfing",
"gym": "person lifting weights", "gym": "lifting weights",
"wrestling": "people wrestling", "wrestling": "two people wrestling",
"bike": "person biking", "bike": "biking",
"parachute": "parachute", "parachute": "parachute",
"football": "soccer ball", "football": "football",
"basketball": "basketball", "basketball": "basketball",
"tennis": "tennis", "tennis": "tennis",
"ping_pong": "ping pong", "ping_pong": "ping pong",
"martial": "martial arts uniform", "martial": "judo uniform kimono",
"lion": "lion", "lion": "lion",
"leopard": "leopard", "leopard": "leopard",
"horse": "horse face", "horse": "horse face",
@ -448,7 +447,7 @@
"elephant": "elephant", "elephant": "elephant",
"rhinoceros": "rhinoceros", "rhinoceros": "rhinoceros",
"flamingo": "flamingo", "flamingo": "flamingo",
"whale": "spouting whale", "whale": "whale",
"dolphin": "dolphin", "dolphin": "dolphin",
"bear": "bear", "bear": "bear",
"rooster": "rooster", "rooster": "rooster",
@ -464,22 +463,22 @@
"hedgehog": "hedgehog", "hedgehog": "hedgehog",
"bat": "bat", "bat": "bat",
"fish": "fish", "fish": "fish",
"shell": "spiral shell", "shell": "shell",
"octopus": "octopus", "octopus": "octopus",
"snail": "snail", "snail": "snail",
"butterfly": "butterfly", "butterfly": "butterfly",
"ant": "ant", "ant": "ant",
"bee": "honeybee", "bee": "honeybee",
"beetle": "lady beetle", "beetle": "beetle",
"rose": "rose", "rose": "rose",
"sunflower": "sunflower", "sunflower": "sunflower",
"fir": "evergreen tree", "fir": "evergreen fir tree",
"palm_tree": "palm tree", "palm_tree": "palm tree",
"cactus": "cactus", "cactus": "cactus",
"clover": "four leaf clover", "clover": "four leaf clover",
"potted_plant": "potted plant", "potted_plant": "potted plant",
"bouquet": "bouquet", "bouquet": "bouquet",
"three_leaves": "fallen leaf", "three_leaves": "three fallen leaf",
"mushroom": "mushroom", "mushroom": "mushroom",
"grapes": "grapes", "grapes": "grapes",
"watermelon": "watermelon", "watermelon": "watermelon",
@ -489,37 +488,37 @@
"apple": "red apple", "apple": "red apple",
"cherries": "cherries", "cherries": "cherries",
"strawberry": "strawberry", "strawberry": "strawberry",
"three_blueberries": "blueberries", "three_blueberries": "three blueberries",
"kiwi": "kiwi fruit", "kiwi": "kiwi",
"avocado": "avocado", "avocado": "avocado",
"eggplant": "eggplant", "eggplant": "eggplant",
"carrot": "carrot", "carrot": "carrot",
"corn": "ear of corn", "corn": "corn",
"pepper": "hot pepper", "pepper": "red hot pepper",
"croissant": "croissant", "croissant": "croissant",
"bread": "baguette bread", "bread": "baguette bread",
"pretzel": "pretzel", "pretzel": "pretzel",
"cheese": "cheese wedge", "cheese": "cheese",
"pizza": "pizza", "pizza": "slice of pizza",
"egg": "cooking", "egg": "fried egg",
"ice_cream": "soft ice cream", "ice_cream": "ice cream",
"cookie": "cookie", "cookie": "cookie",
"cake": "shortcake", "cake": "piece of cake",
"chocolate": "chocolate bar", "chocolate": "chocolate",
"sweet": "candy", "sweet": "candy",
"coffee": "hot beverage", "coffee": "coffee",
"champagne_bottle": "bottle with popping cork", "champagne_bottle": "champagne bottle",
"glass_wine": "wine glass", "glass_wine": "wine glass",
"two_glasses": "clinking glasses", "two_glasses": "two glasses of cava",
"mountain": "snow-capped mountain", "mountain": "smountain",
"camping": "camping", "camping": "camping",
"beach": "beach with umbrella", "beach": "beach",
"compass": "compass", "compass": "compass",
"museum": "classical building", "museum": "museum",
"house": "house with garden", "house": "house",
"fountain": "fountain", "fountain": "fountain",
"circus": "circus tent", "circus": "circus",
"train": "locomotive", "train": "train",
"taxi": "taxi", "taxi": "taxi",
"motorcycle": "motorcycle", "motorcycle": "motorcycle",
"sailboat": "sailboat", "sailboat": "sailboat",
@ -527,15 +526,15 @@
"helicopter": "helicopter", "helicopter": "helicopter",
"rocket": "rocket", "rocket": "rocket",
"sun": "sun", "sun": "sun",
"moon": "crescent moon", "moon": "moon",
"planet": "ringed planet", "planet": "planet",
"star": "star", "star": "star",
"night_sky": "milky way", "night_sky": "night sky",
"cloud": "cloud with rain", "cloud": "cloud with rain",
"umbrella": "umbrella with rain drops", "umbrella": "umbrella with rain drops",
"lightning": "lightning", "lightning": "lightning",
"snowflake": "snowflake", "snowflake": "snowflake",
"snowman": "snowman without snow", "snowman": "snowman",
"thermometer": "thermometer", "thermometer": "thermometer",
"fire": "fire", "fire": "fire",
"balloon": "balloon", "balloon": "balloon",
@ -544,29 +543,29 @@
"guitar": "guitar", "guitar": "guitar",
"saxophone": "saxophone", "saxophone": "saxophone",
"music": "musical note", "music": "musical note",
"painting": "artist palette", "painting": "painting",
"chess": "chess pawn", "chess": "chess",
"gift": "wrapped gift", "gift": "gift",
"die": "game die", "die": "game die",
"puzzle": "puzzle piece", "puzzle": "puzzle",
"teddy_bear": "teddy bear", "teddy_bear": "teddy bear",
"firecracker": "firecracker", "firecracker": "firecracker",
"bullseye": "bullseye", "bullseye": "bullseye",
"roller_skate": "roller skate", "roller_skate": "roller skate",
"kick_scooter": "kick scooter", "kick_scooter": "kick scooter",
"anchor": "anchor", "anchor": "anchor",
"scuba_diving": "diving mask", "scuba_diving": "scuba diving",
"broom": "broom", "broom": "broom",
"magnifying_glass": "magnifying glass tilted left", "magnifying_glass": "magnifying glass",
"bulb": "light bulb", "bulb": "light bulb",
"three_books": "three books", "three_books": "three books",
"package": "package", "package": "package",
"pencil": "pencil", "pencil": "pencil",
"pin": "pushpin", "pin": "pin",
"paperclip": "paperclip", "paperclip": "paperclip",
"scissors": "scissors", "scissors": "scissors",
"key": "key", "key": "key",
"lock": "unlocked", "lock": "lock",
"chair": "chair", "chair": "chair",
"bathtub": "bathtub", "bathtub": "bathtub",
"sponge": "sponge", "sponge": "sponge",

@ -1,23 +0,0 @@
import { register, init, getLocaleFromNavigator } from "svelte-i18n";
// Make sure that a file with `<lang>.json` exists
// in the same directory, when adding it here.
export const available_languages = {
en: "English",
de: "Deutsch",
fr: "Français",
ru: "Русский",
es: "Español",
it: "Italiano",
zh: "中文",
pt: "Português",
};
for (const lang of Object.keys(available_languages)) {
register(lang, () => import(`./${lang}.json`))
}
init({
fallbackLocale: "en",
initialLocale: getLocaleFromNavigator(),
});

@ -11,7 +11,7 @@
<!-- <!--
@component @component
"Account Info" user panel sub menu. "Accounts Info" user panel sub menu.
Provides info about wallet, broker, etc. and download option. Provides info about wallet, broker, etc. and download option.
--> -->

@ -1325,7 +1325,7 @@
bind:this={phrase} bind:this={phrase}
class="mt-10 mr-0" class="mt-10 mr-0"
id="security-phrase-input" id="security-phrase-input"
placeholder="Type a security phrase..." placeholder={$t("pages.wallet_create.type_security_phrase_placeholder")}
bind:value={security_txt} bind:value={security_txt}
on:keypress={security_phrase_ok} on:keypress={security_phrase_ok}
/><button on:click={async () => await security_phrase_ok()}> /><button on:click={async () => await security_phrase_ok()}>
@ -1375,7 +1375,7 @@
{:else} {:else}
<span class="font-semibold" <span class="font-semibold"
>{$t("pages.wallet_create.click_to_upload")}</span >{$t("pages.wallet_create.click_to_upload")}</span
>{$t("pages.wallet_create.or_drag_drop")} > {$t("pages.wallet_create.or_drag_drop")}
{/if} {/if}
</p> </p>
<svg <svg
@ -1433,9 +1433,9 @@
"pages.wallet_create.save_wallet_options.trust_description" "pages.wallet_create.save_wallet_options.trust_description"
)} )}
{#if !tauri_platform}{@html $t( {#if !tauri_platform}{@html $t(
"pages.wallet_create.save_wallet_options.trust_allow_cookies" "pages.login.trust_device_allow_cookies"
)}{/if}<br /> )}{/if}<br /><br />
<Toggle class="mt-3" bind:checked={options.trusted} <Toggle bind:checked={options.trusted}
>{@html $t( >{@html $t(
"pages.wallet_create.save_wallet_options.trust_toggle" "pages.wallet_create.save_wallet_options.trust_toggle"
)}</Toggle )}</Toggle
@ -1460,8 +1460,8 @@
"pages.wallet_create.save_wallet_options.cloud_tos" "pages.wallet_create.save_wallet_options.cloud_tos"
)}</span )}</span
>. >.
<br /> <br /><br />
<Toggle disabled class="mt-3" bind:checked={options.cloud} <Toggle disabled bind:checked={options.cloud}
>{@html $t( >{@html $t(
"pages.wallet_create.save_wallet_options.cloud_toggle" "pages.wallet_create.save_wallet_options.cloud_toggle"
)}</Toggle )}</Toggle
@ -1475,8 +1475,8 @@
{@html $t( {@html $t(
"pages.wallet_create.save_wallet_options.pdf_description" "pages.wallet_create.save_wallet_options.pdf_description"
)} )}
<br /> <br /><br />
<Toggle disabled class="mt-3" bind:checked={options.pdf} <Toggle disabled bind:checked={options.pdf}
>{@html $t( >{@html $t(
"pages.wallet_create.save_wallet_options.pdf_toggle" "pages.wallet_create.save_wallet_options.pdf_toggle"
)}</Toggle )}</Toggle
@ -1500,8 +1500,8 @@
"pages.wallet_create.save_wallet_options.cloud_tos" "pages.wallet_create.save_wallet_options.cloud_tos"
)}</span )}</span
>. >.
<br /> <br /><br />
<Toggle disabled class="mt-3" bind:checked={options.bootstrap} <Toggle disabled bind:checked={options.bootstrap}
>{@html $t( >{@html $t(
"pages.wallet_create.save_wallet_options.link_toggle" "pages.wallet_create.save_wallet_options.link_toggle"
)}</Toggle )}</Toggle
@ -1645,7 +1645,7 @@
</div> </div>
<div class="flex flex-col ml-4"> <div class="flex flex-col ml-4">
<div class="w-[10em] text-left"> <div class="w-[10em] text-left">
<span>{emoji.cat}</span> <span>{$t("emojis.category." + emoji.cat)}</span>
</div> </div>
<div class="font-bold text-lg h-full content-center"> <div class="font-bold text-lg h-full content-center">
<span>{$t("emojis.codes." + emoji.code)}</span> <span>{$t("emojis.codes." + emoji.code)}</span>

@ -246,7 +246,7 @@
</div> </div>
</Modal> </Modal>
<!-- TODO: Show QR-Code --> <!-- TODO: Show QRCode -->
{#if false} {#if false}
<li <li
tabindex="0" tabindex="0"

@ -15,14 +15,33 @@ import {
get, get,
type Writable, type Writable,
} from "svelte/store"; } from "svelte/store";
import { locale } from "svelte-i18n"; import { register, init, locale } from "svelte-i18n";
import ng from "./api"; import ng from "./api";
import { official_classes } from "./classes"; import { official_classes } from "./classes";
import { official_apps, official_services } from "./zeras"; import { official_apps, official_services } from "./zeras";
import { available_languages } from "./locales/i18n-init";
let all_branches = {}; let all_branches = {};
// Make sure that a file named `locales/<lang>.json` exists when adding it here.
export const available_languages = {
en: "English",
de: "Deutsch",
fr: "Français",
ru: "Русский",
es: "Español",
it: "Italiano",
zh: "中文",
pt: "Português",
};
for (const lang of Object.keys(available_languages)) {
register(lang, () => import(`./locales/${lang}.json`))
}
init({
fallbackLocale: "en",
initialLocale: "en",
});
export const select_default_lang = async () => { export const select_default_lang = async () => {
let locales = await ng.locales(); let locales = await ng.locales();

@ -73,7 +73,7 @@
class="text-primary-700 bg-primary-100 hover:bg-primary-100/90 focus:ring-4 focus:ring-primary-100/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-100/55 mr-2 mb-2" class="text-primary-700 bg-primary-100 hover:bg-primary-100/90 focus:ring-4 focus:ring-primary-100/50 font-medium rounded-lg text-lg px-5 py-2.5 text-center inline-flex items-center dark:focus:ring-primary-100/55 mr-2 mb-2"
> >
<EULogo class="mr-4 block h-10 w-10" alt="European Union flag" /> <EULogo class="mr-4 block h-10 w-10" alt="European Union flag" />
For European Union citizens European Union citizens
</button> </button>
</a> </a>
</div> </div>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save