gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-wallet-core] 02/03: fix some wording


From: gnunet
Subject: [taler-wallet-core] 02/03: fix some wording
Date: Sun, 14 Jan 2024 20:02:39 +0100

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository wallet-core.

commit b1c1da74b43abc3355a70dfc533ad5af8a5f47c9
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Sun Jan 14 16:00:31 2024 -0300

    fix some wording
---
 .../demobank-ui/src/components/Cashouts/views.tsx  |  8 +++----
 .../src/components/Transactions/views.tsx          |  6 ++---
 .../demobank-ui/src/pages/AccountPage/views.tsx    |  2 +-
 packages/demobank-ui/src/pages/LoginForm.tsx       | 10 +++++---
 .../demobank-ui/src/pages/OperationState/views.tsx |  3 +--
 packages/demobank-ui/src/pages/PaymentOptions.tsx  |  9 ++++----
 .../src/pages/PaytoWireTransferForm.tsx            | 11 ++++++---
 .../demobank-ui/src/pages/ProfileNavigation.tsx    |  2 +-
 packages/demobank-ui/src/pages/QrCodeSection.tsx   |  2 +-
 .../demobank-ui/src/pages/RegistrationPage.tsx     |  2 +-
 .../demobank-ui/src/pages/SolveChallengePage.tsx   |  6 ++---
 .../demobank-ui/src/pages/WalletWithdrawForm.tsx   |  4 ++--
 .../src/pages/WithdrawalConfirmationQuestion.tsx   | 27 +++++++++++++++-------
 .../demobank-ui/src/pages/WithdrawalQRCode.tsx     |  9 ++++----
 .../demobank-ui/src/pages/admin/AccountForm.tsx    | 19 ++++++++-------
 .../demobank-ui/src/pages/admin/AccountList.tsx    |  4 ++--
 packages/demobank-ui/src/pages/admin/AdminHome.tsx | 22 ++++++++----------
 .../src/pages/business/CreateCashout.tsx           | 12 +---------
 .../src/pages/business/ShowCashoutDetails.tsx      |  8 +++----
 19 files changed, 86 insertions(+), 80 deletions(-)

diff --git a/packages/demobank-ui/src/components/Cashouts/views.tsx 
b/packages/demobank-ui/src/components/Cashouts/views.tsx
index 1f1f02e4e..c3fdec796 100644
--- a/packages/demobank-ui/src/components/Cashouts/views.tsx
+++ b/packages/demobank-ui/src/components/Cashouts/views.tsx
@@ -43,7 +43,7 @@ export function FailedView({ error }: State.Failed) {
 }
 
 export function ReadyView({ cashouts, onSelected }: State.Ready): VNode {
-  const { i18n } = useTranslationContext();
+  const { i18n, dateLocale } = useTranslationContext();
   const resp = useConversionInfo();
   if (!resp) {
     return <Loading />
@@ -55,7 +55,7 @@ export function ReadyView({ cashouts, onSelected }: 
State.Ready): VNode {
   const txByDate = cashouts.reduce((prev, cur) => {
     const d = cur.creation_time.t_s === "never"
       ? ""
-      : format(cur.creation_time.t_s * 1000, "dd/MM/yyyy")
+      : format(cur.creation_time.t_s * 1000, "dd/MM/yyyy", { locale: 
dateLocale })
     if (!prev[d]) {
       prev[d] = []
     }
@@ -90,9 +90,9 @@ export function ReadyView({ cashouts, onSelected }: 
State.Ready): VNode {
                   </th>
                 </tr>
                 {txs.map(item => {
-                  const creationTime = item.creation_time.t_s === "never" ? "" 
: format(item.creation_time.t_s * 1000, "HH:mm:ss")
+                  const creationTime = item.creation_time.t_s === "never" ? "" 
: format(item.creation_time.t_s * 1000, "HH:mm:ss", { locale: dateLocale })
                   const confirmationTime = item.confirmation_time
-                    ? item.confirmation_time.t_s === "never" ? i18n.str`never` 
: format(item.confirmation_time.t_s, "dd/MM/yyyy HH:mm:ss")
+                    ? item.confirmation_time.t_s === "never" ? i18n.str`never` 
: format(item.confirmation_time.t_s, "dd/MM/yyyy HH:mm:ss", { locale: 
dateLocale })
                     : "-"
                   return (<tr key={idx} class="border-b border-gray-200 
hover:bg-gray-200 last:border-none">
 
diff --git a/packages/demobank-ui/src/components/Transactions/views.tsx 
b/packages/demobank-ui/src/components/Transactions/views.tsx
index 8a8a8f72e..f3ffcd157 100644
--- a/packages/demobank-ui/src/components/Transactions/views.tsx
+++ b/packages/demobank-ui/src/components/Transactions/views.tsx
@@ -23,13 +23,13 @@ import { State } from "./index.js";
 
 
 export function ReadyView({ transactions, onNext, onPrev }: State.Ready): 
VNode {
-  const { i18n } = useTranslationContext();
+  const { i18n, dateLocale } = useTranslationContext();
   const { config } = useBankCoreApiContext();
   if (!transactions.length) return <div />
   const txByDate = transactions.reduce((prev, cur) => {
     const d = cur.when.t_ms === "never"
       ? ""
-      : format(cur.when.t_ms, "dd/MM/yyyy")
+      : format(cur.when.t_ms, "dd/MM/yyyy", { locale: dateLocale })
     if (!prev[d]) {
       prev[d] = []
     }
@@ -62,7 +62,7 @@ export function ReadyView({ transactions, onNext, onPrev }: 
State.Ready): VNode
                   </th>
                 </tr>
                 {txs.map(item => {
-                  const time = item.when.t_ms === "never" ? "" : 
format(item.when.t_ms, "HH:mm:ss")
+                  const time = item.when.t_ms === "never" ? "" : 
format(item.when.t_ms, "HH:mm:ss", { locale: dateLocale })
                   return (<tr key={idx} class="border-b border-gray-200 
last:border-none">
                     <td class="relative py-2 pl-2 pr-2 text-sm ">
                       <div class="font-medium text-gray-900">{time}</div>
diff --git a/packages/demobank-ui/src/pages/AccountPage/views.tsx 
b/packages/demobank-ui/src/pages/AccountPage/views.tsx
index 59a6db7b9..7e40b93eb 100644
--- a/packages/demobank-ui/src/pages/AccountPage/views.tsx
+++ b/packages/demobank-ui/src/pages/AccountPage/views.tsx
@@ -71,7 +71,7 @@ function ShowPedingOperation(): VNode {
   })(bankState.currentChallenge.operation)
   return <Attention title={title} type="warning" onClose={() => { 
updateBankState("currentChallenge", undefined); }}>
     <i18n.Translate>
-      To complete or cancel the operation click <a class="font-semibold 
text-yellow-700 hover:text-yellow-600" href={`#/2fa`}>here</a>
+      You can complete or cancel the operation in this <a class="font-semibold 
text-yellow-700 hover:text-yellow-600" 
href={`#/2fa`}><i18n.Translate>page</i18n.Translate></a>
     </i18n.Translate>
   </Attention>
 }
diff --git a/packages/demobank-ui/src/pages/LoginForm.tsx 
b/packages/demobank-ui/src/pages/LoginForm.tsx
index 5eaad4bb0..627252682 100644
--- a/packages/demobank-ui/src/pages/LoginForm.tsx
+++ b/packages/demobank-ui/src/pages/LoginForm.tsx
@@ -37,8 +37,8 @@ export function LoginForm({ currentUser, fixedUser, 
onRegister }: { fixedUser?:
   const { i18n } = useTranslationContext();
   const { api } = useBankCoreApiContext();
   const [notification, notify, handleError] = useLocalNotification()
-  const {config} = useBankCoreApiContext();
-  
+  const { config } = useBankCoreApiContext();
+
   const ref = useRef<HTMLInputElement>(null);
   useEffect(function focusInput() {
     ref.current?.focus();
@@ -123,6 +123,7 @@ export function LoginForm({ currentUser, fixedUser, 
onRegister }: { fixedUser?:
                 enterkeyhint="next"
                 placeholder="identification"
                 autocomplete="username"
+                title={i18n.str`username of the account`}
                 required
                 onInput={(e): void => {
                   setUsername(e.currentTarget.value);
@@ -137,7 +138,9 @@ export function LoginForm({ currentUser, fixedUser, 
onRegister }: { fixedUser?:
 
           <div>
             <div class="flex items-center justify-between">
-              <label for="password" class="block text-sm font-medium leading-6 
text-gray-900">Password</label>
+              <label for="password" class="block text-sm font-medium leading-6 
text-gray-900">
+                <i18n.Translate>Password</i18n.Translate>
+              </label>
             </div>
             <div class="mt-2">
               <input
@@ -149,6 +152,7 @@ export function LoginForm({ currentUser, fixedUser, 
onRegister }: { fixedUser?:
                 enterkeyhint="send"
                 value={password ?? ""}
                 placeholder="Password"
+                title={i18n.str`password of the account`}
                 required
                 onInput={(e): void => {
                   setPassword(e.currentTarget.value);
diff --git a/packages/demobank-ui/src/pages/OperationState/views.tsx 
b/packages/demobank-ui/src/pages/OperationState/views.tsx
index d0016a2f3..05d53bb05 100644
--- a/packages/demobank-ui/src/pages/OperationState/views.tsx
+++ b/packages/demobank-ui/src/pages/OperationState/views.tsx
@@ -93,10 +93,9 @@ export function NeedConfirmationView({ error, onAbort: 
doAbort, onConfirm: doCon
           description: resp.detail.hint as TranslatedString,
           debug: resp.detail,
         })
-        // FIXME: remove exchange word
         case TalerErrorCode.BANK_CONFIRM_INCOMPLETE: return notify({
           type: "error",
-          title: i18n.str`The withdraw operation cannot be confirmed because 
no exchange and reserve public key selection happened before`,
+          title: i18n.str`The withdrawal operation can't be confirmed before a 
wallet accepted the transaction.`,
           description: resp.detail.hint as TranslatedString,
           debug: resp.detail,
         })
diff --git a/packages/demobank-ui/src/pages/PaymentOptions.tsx 
b/packages/demobank-ui/src/pages/PaymentOptions.tsx
index 06d293097..2a7374cab 100644
--- a/packages/demobank-ui/src/pages/PaymentOptions.tsx
+++ b/packages/demobank-ui/src/pages/PaymentOptions.tsx
@@ -41,7 +41,7 @@ export function PaymentOptions({ limit, goToConfirmOperation, 
onAuthorizationReq
 
       <fieldset>
         <legend class="px-4 text-base font-semibold leading-6 text-gray-900">
-          <i18n.Translate>Send money to</i18n.Translate>
+          <i18n.Translate>Send money</i18n.Translate>
         </legend>
 
         <div class="px-4 mt-4 grid grid-cols-1 gap-y-6 sm:grid-cols-2 
sm:gap-x-4">
@@ -49,12 +49,13 @@ export function PaymentOptions({ limit, 
goToConfirmOperation, onAuthorizationReq
           <label class={"relative flex cursor-pointer rounded-lg border 
bg-white p-4 shadow-sm focus:outline-none" + (tab === "charge-wallet" ? 
"border-indigo-600 ring-2 ring-indigo-600" : "border-gray-300")}>
             <input type="radio" name="project-type" value="Newsletter" 
class="sr-only" aria-labelledby="project-type-0-label" 
aria-describedby="project-type-0-description-0 project-type-0-description-1" 
onClick={() => {
               setTab("charge-wallet")
-            }} />
+            }}
+            />
             <div class="flex flex-col">
               <span class="flex">
                 <div class="text-4xl mr-4 my-auto">&#x1F4B5;</div>
                 <span class="grow self-center text-lg text-gray-900 
align-middle text-center">
-                  <i18n.Translate>a <b>Taler</b> wallet</i18n.Translate>
+                  <i18n.Translate>to a <b>Taler</b> wallet</i18n.Translate>
                 </span>
                 <svg class="self-center flex-none h-5 w-5 text-indigo-600" 
style={{ visibility: tab === "charge-wallet" ? "visible" : "hidden" }} 
viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
                   <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 
16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 
1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd" />
@@ -83,7 +84,7 @@ export function PaymentOptions({ limit, goToConfirmOperation, 
onAuthorizationReq
               <span class="flex">
                 <div class="text-4xl mr-4 my-auto">&#x2194;</div>
                 <span class="grow self-center text-lg font-medium 
text-gray-900 align-middle text-center">
-                  <i18n.Translate>another bank account</i18n.Translate>
+                  <i18n.Translate>to another bank account</i18n.Translate>
                 </span>
                 <svg class="self-center flex-none h-5 w-5 text-indigo-600" 
style={{ visibility: tab === "wire-transfer" ? "visible" : "hidden" }} 
viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
                   <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 
16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 
1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z" clip-rule="evenodd" />
diff --git a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx 
b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
index f7b81be48..d60b06dc3 100644
--- a/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
+++ b/packages/demobank-ui/src/pages/PaytoWireTransferForm.tsx
@@ -330,7 +330,7 @@ export function PaytoWireTransferForm({
                   name="subject"
                   id="subject"
                   autocomplete="off"
-                  placeholder="subject"
+                  placeholder={i18n.str`subject`}
                   value={subject ?? ""}
                   required
                   onInput={(e): void => {
@@ -342,7 +342,9 @@ export function PaytoWireTransferForm({
                   isDirty={subject !== undefined}
                 />
               </div>
-              <p class="mt-2 text-sm text-gray-500" >some text to identify the 
transfer</p>
+              <p class="mt-2 text-sm text-gray-500" >
+                <i18n.Translate>some text to identify the 
transfer</i18n.Translate>
+              </p>
             </div>
 
             <div class="sm:col-span-5">
@@ -360,7 +362,9 @@ export function PaytoWireTransferForm({
                 message={errorsWire?.amount}
                 isDirty={trimmedAmountStr !== undefined}
               />
-              <p class="mt-2 text-sm text-gray-500" >amount to transfer</p>
+              <p class="mt-2 text-sm text-gray-500" >
+                <i18n.Translate>amount to transfer</i18n.Translate>
+              </p>
             </div>
 
           </div> :
@@ -377,6 +381,7 @@ export function PaytoWireTransferForm({
                   class="block overflow-hidden w-44 sm:w-96 rounded-md 
border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 
placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 
sm:text-sm sm:leading-6"
                   value={rawPaytoInput ?? ""}
                   required
+                  title={i18n.str`uniform resource identifier of the target 
account`}
                   
placeholder={i18n.str`payto://iban/[receiver-iban]?message=[subject]&amount=[${limit.currency}:X.Y]`}
                   onInput={(e): void => {
                     rawPaytoInputSetter(e.currentTarget.value);
diff --git a/packages/demobank-ui/src/pages/ProfileNavigation.tsx 
b/packages/demobank-ui/src/pages/ProfileNavigation.tsx
index 3596d0f11..bd9883b1b 100644
--- a/packages/demobank-ui/src/pages/ProfileNavigation.tsx
+++ b/packages/demobank-ui/src/pages/ProfileNavigation.tsx
@@ -62,7 +62,7 @@ export function ProfileNavigation({ current }: { current: 
"details" | "delete" |
         </a>
         {config.allow_conversion && nonAdminUser ?
           <a href="#/my-cashouts" data-selected={current == "cashouts"} 
class="rounded-r-lg text-gray-500 hover:text-gray-700 
data-[selected=true]:text-gray-900 group relative min-w-0 flex-1 
overflow-hidden bg-white py-4 px-4 text-center text-sm font-medium 
hover:bg-gray-50 focus:z-10">
-            <span>Cashouts</span>
+            <span><i18n.Translate>Cashouts</i18n.Translate></span>
             <span aria-hidden="true" data-selected={current == "cashouts"} 
class="bg-transparent data-[selected=true]:bg-indigo-500 absolute inset-x-0 
bottom-0 h-0.5"></span>
           </a>
           : undefined}
diff --git a/packages/demobank-ui/src/pages/QrCodeSection.tsx 
b/packages/demobank-ui/src/pages/QrCodeSection.tsx
index 64ebf7e83..606337cb1 100644
--- a/packages/demobank-ui/src/pages/QrCodeSection.tsx
+++ b/packages/demobank-ui/src/pages/QrCodeSection.tsx
@@ -104,7 +104,7 @@ export function QrCodeSection({
           <div class="mt-4 mb-4 text-sm text-gray-500">
             <p><i18n.Translate>
               You will see the details of the operation in your wallet 
including the fees (if applies).
-              If you still don't have one you can install it from <a 
class="font-semibold text-gray-500 hover:text-gray-400" 
href="https://taler.net/en/wallet.html";>here</a>.
+              If you still don't have one you can install it following 
instructions in this <a class="font-semibold text-gray-500 hover:text-gray-400" 
href="https://taler.net/en/wallet.html";><i18n.Translate>page</i18n.Translate></a>.
             </i18n.Translate></p>
           </div>
           <div class="flex items-center justify-between gap-x-6 border-t 
border-gray-900/10 pt-2 mt-2 ">
diff --git a/packages/demobank-ui/src/pages/RegistrationPage.tsx 
b/packages/demobank-ui/src/pages/RegistrationPage.tsx
index e7ed8a2b8..005a0bc2c 100644
--- a/packages/demobank-ui/src/pages/RegistrationPage.tsx
+++ b/packages/demobank-ui/src/pages/RegistrationPage.tsx
@@ -436,7 +436,7 @@ function RegistrationForm({ onComplete, onCancel }: { 
onComplete: () => void, on
                   doRandomRegistration()
                 }}
               >
-                <i18n.Translate>Create a random user</i18n.Translate>
+                <i18n.Translate>Create a random temporary user</i18n.Translate>
               </button>
             </p>
           }
diff --git a/packages/demobank-ui/src/pages/SolveChallengePage.tsx 
b/packages/demobank-ui/src/pages/SolveChallengePage.tsx
index 426866e40..3647f2b65 100644
--- a/packages/demobank-ui/src/pages/SolveChallengePage.tsx
+++ b/packages/demobank-ui/src/pages/SolveChallengePage.tsx
@@ -297,7 +297,7 @@ export function SolveChallengePage({
 }
 
 function ChallengeDetails({ challenge, onStart }: { challenge: 
ChallengeInProgess, onStart: () => void }): VNode {
-  const { i18n } = useTranslationContext();
+  const { i18n, dateLocale } = useTranslationContext();
   const { config } = useBankCoreApiContext();
 
   return <div class="px-4 mt-4 ">
@@ -445,9 +445,9 @@ function ChallengeDetails({ challenge, onStart }: { 
challenge: ChallengeInProges
           }
           {challenge.sent.t_ms !== "never" &&
             <div class="px-4 py-2 sm:grid sm:grid-cols-3 sm:gap-4 sm:px-0">
-              <dt class="text-sm font-medium leading-6 text-gray-900">Sent 
at</dt>
+              <dt class="text-sm font-medium leading-6 
text-gray-900"><i18n.Translate>Sent at</i18n.Translate></dt>
               <dd class="mt-1 text-sm leading-6 text-gray-700 sm:col-span-2 
sm:mt-0">
-                {format(challenge.sent.t_ms, "dd/MM/yyyy HH:mm:ss")}
+                {format(challenge.sent.t_ms, "dd/MM/yyyy HH:mm:ss", { locale: 
dateLocale })}
               </dd>
             </div>
           }
diff --git a/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx 
b/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
index c04e85e0c..70b83fa82 100644
--- a/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
+++ b/packages/demobank-ui/src/pages/WalletWithdrawForm.tsx
@@ -66,7 +66,7 @@ function OldWithdrawalForm({ goToConfirmOperation, limit, 
onCancel, focus }: {
     return <Attention type="warning" title={i18n.str`There is an operation 
already`}>
       <span ref={focus ? doAutoFocus : undefined} />
       <i18n.Translate>
-        To complete or cancel the operation click <a class="font-semibold 
text-yellow-700 hover:text-yellow-600" 
href={`#/operation/${bankState.currentWithdrawalOperationId}`}>here</a>
+        To complete or cancel the operation in this <a class="font-semibold 
text-yellow-700 hover:text-yellow-600" 
href={`#/operation/${bankState.currentWithdrawalOperationId}`}><i18n.Translate>page</i18n.Translate></a>
       </i18n.Translate>
     </Attention>
   }
@@ -261,7 +261,7 @@ export function WalletWithdrawForm({
           updateSettings("showInstallWallet", false);
         }}>
           <i18n.Translate>
-            If you don't have one yet you can follow the instruction <a 
target="_blank" rel="noreferrer noopener" class="font-semibold text-blue-700 
hover:text-blue-600" href="https://taler.net/en/wallet.html";>here</a>
+            If you don't have one yet you can follow the instruction in this 
<a target="_blank" rel="noreferrer noopener" class="font-semibold text-blue-700 
hover:text-blue-600" 
href="https://taler.net/en/wallet.html";><i18n.Translate>page</i18n.Translate></a>
           </i18n.Translate>
         </Attention>
       }
diff --git a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx 
b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
index a2ddc725e..3d1239857 100644
--- a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
+++ b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx
@@ -93,10 +93,9 @@ export function WithdrawalConfirmationQuestion({
             description: resp.detail.hint as TranslatedString,
             debug: resp.detail,
           });
-          // FIXME: remove exchange word
           case TalerErrorCode.BANK_CONFIRM_INCOMPLETE: return notify({
             type: "error",
-            title: i18n.str`The withdraw operation cannot be confirmed because 
no exchange and reserve public key selection happened before`,
+            title: i18n.str`The withdrawal operation can't be confirmed before 
a wallet accepted the transaction.`,
             description: resp.detail.hint as TranslatedString,
             debug: resp.detail,
           });
@@ -200,12 +199,16 @@ export function WithdrawalConfirmationQuestion({
                                 const name = p.params["receiver-name"]
                                 return <Fragment>
                                   <div class="px-4 py-2 sm:grid sm:grid-cols-3 
sm:gap-4 sm:px-0">
-                                    <dt class="text-sm font-medium leading-6 
text-gray-900">Exchange account</dt>
+                                    <dt class="text-sm font-medium leading-6 
text-gray-900">
+                                      <i18n.Translate>Taler Exchange 
operator's account</i18n.Translate>
+                                    </dt>
                                     <dd class="mt-1 text-sm leading-6 
text-gray-700 sm:col-span-2 sm:mt-0">{p.iban}</dd>
                                   </div>
                                   {name &&
                                     <div class="px-4 py-2 sm:grid 
sm:grid-cols-3 sm:gap-4 sm:px-0">
-                                      <dt class="text-sm font-medium leading-6 
text-gray-900">Exchange name</dt>
+                                      <dt class="text-sm font-medium leading-6 
text-gray-900">
+                                        <i18n.Translate>Taler Exchange 
operator's name</i18n.Translate>
+                                      </dt>
                                       <dd class="mt-1 text-sm leading-6 
text-gray-700 sm:col-span-2 sm:mt-0">{p.params["receiver-name"]}</dd>
                                     </div>
                                   }
@@ -216,12 +219,16 @@ export function WithdrawalConfirmationQuestion({
                                 const name = p.params["receiver-name"]
                                 return <Fragment>
                                   <div class="px-4 py-2 sm:grid sm:grid-cols-3 
sm:gap-4 sm:px-0">
-                                    <dt class="text-sm font-medium leading-6 
text-gray-900">Exchange account</dt>
+                                    <dt class="text-sm font-medium leading-6 
text-gray-900">
+                                      <i18n.Translate>Taler Exchange 
operator's account</i18n.Translate>
+                                    </dt>
                                     <dd class="mt-1 text-sm leading-6 
text-gray-700 sm:col-span-2 sm:mt-0">{p.account}</dd>
                                   </div>
                                   {name &&
                                     <div class="px-4 py-2 sm:grid 
sm:grid-cols-3 sm:gap-4 sm:px-0">
-                                      <dt class="text-sm font-medium leading-6 
text-gray-900">Exchange name</dt>
+                                      <dt class="text-sm font-medium leading-6 
text-gray-900">
+                                        <i18n.Translate>Taler Exchange 
operator's name</i18n.Translate>
+                                      </dt>
                                       <dd class="mt-1 text-sm leading-6 
text-gray-700 sm:col-span-2 sm:mt-0">{p.params["receiver-name"]}</dd>
                                     </div>
                                   }
@@ -229,14 +236,18 @@ export function WithdrawalConfirmationQuestion({
                               }
                               default:
                                 return <div class="px-4 py-2 sm:grid 
sm:grid-cols-3 sm:gap-4 sm:px-0">
-                                  <dt class="text-sm font-medium leading-6 
text-gray-900">Exchange account</dt>
+                                  <dt class="text-sm font-medium leading-6 
text-gray-900">
+                                    <i18n.Translate>Taler Exchange operator's 
account</i18n.Translate>
+                                  </dt>
                                   <dd class="mt-1 text-sm leading-6 
text-gray-700 sm:col-span-2 sm:mt-0">{details.account.targetPath}</dd>
                                 </div>
 
                             }
                           })()}
                           <div class="px-4 py-2 sm:grid sm:grid-cols-3 
sm:gap-4 sm:px-0">
-                            <dt class="text-sm font-medium leading-6 
text-gray-900">Amount</dt>
+                            <dt class="text-sm font-medium leading-6 
text-gray-900">
+                              <i18n.Translate>Amount</i18n.Translate>
+                            </dt>
                             <dd class="mt-1 text-sm leading-6 text-gray-700 
sm:col-span-2 sm:mt-0">
                               <RenderAmount value={details.amount} 
spec={config.currency_specification} />
                             </dd>
diff --git a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx 
b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
index c81c4ab8a..c9384e945 100644
--- a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
+++ b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx
@@ -73,9 +73,8 @@ export function WithdrawalQRCode({
       <h1 class="nav">{i18n.str`Operation aborted`}</h1>
       <section>
         <p>
-
           <i18n.Translate>
-            The wire transfer to the GNU Taler Exchange bank's account was 
aborted, your balance
+            The wire transfer to the Taler Exchange operator's account was 
aborted, your balance
             was not affected.
           </i18n.Translate>
         </p>
@@ -147,7 +146,7 @@ export function WithdrawalQRCode({
   if (!data.selected_reserve_pub) {
     return <Attention type="danger"
       title={i18n.str`The operation is incomplete or some step in the 
withdrawal failed`} >
-      <i18n.Translate>The exchange is selected but no reserve public key 
found.</i18n.Translate>
+      <i18n.Translate>The wallet confirmation is partially confirmed. The 
Taler Exchange operator is selected but no withdrawal identification 
found.</i18n.Translate>
     </Attention>
   }
 
@@ -155,8 +154,8 @@ export function WithdrawalQRCode({
 
   if (!account) {
     return <Attention type="danger"
-      title={i18n.str`The operation is incomplete or some step in the 
withdrawal failed`} >
-      <i18n.Translate>The exchange is selected but the exchange payto URI is 
missing or invalid.</i18n.Translate>
+      title={i18n.str`The operation is incomplete or some step in the 
withdrawal failed`}>
+      <i18n.Translate>The Taler Exchange operator is selected but the Taler 
Exchange operator account is missing or invalid.</i18n.Translate>
     </Attention>
   }
 
diff --git a/packages/demobank-ui/src/pages/admin/AccountForm.tsx 
b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
index 827b2a0f0..e08fee8bc 100644
--- a/packages/demobank-ui/src/pages/admin/AccountForm.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountForm.tsx
@@ -110,7 +110,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
         ? undefined :
         !editableCashout ? undefined :
           !cashoutParsed
-            ? i18n.str`does not follow the pattern` :
+            ? i18n.str`it doesnt have the pattern of an IBAN number` :
             !cashoutParsed.isKnown || cashoutParsed.targetType !== "iban"
               ? i18n.str`only "IBAN" target are supported` :
               !IBAN_REGEX.test(cashoutParsed.iban)
@@ -120,7 +120,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
         ? undefined :
         !editableAccount ? undefined :
           !internalParsed
-            ? i18n.str`does not follow the pattern` :
+            ? i18n.str`it doesnt have the pattern of an IBAN number` :
             !internalParsed.isKnown || internalParsed.targetType !== "iban"
               ? i18n.str`only "IBAN" target are supported` :
               !IBAN_REGEX.test(internalParsed.iban)
@@ -129,7 +129,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
       email: !newForm.email
         ? undefined :
         !EMAIL_REGEX.test(newForm.email)
-          ? i18n.str`it should be an email` :
+          ? i18n.str`it doesnt have the pattern of an email` :
           undefined,
       phone: !newForm.phone
         ? undefined :
@@ -400,7 +400,9 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
               message={errors?.debit_threshold ? 
String(errors?.debit_threshold) : undefined}
               isDirty={form.debit_threshold !== undefined}
             />
-            <p class="mt-2 text-sm text-gray-500" >how much is user able to 
transfer </p>
+            <p class="mt-2 text-sm text-gray-500" >
+              <i18n.Translate>how much is user able to transfer after zero 
balance</i18n.Translate>
+            </p>
           </div>
 
           {purpose !== "create" || !userIsAdmin ? undefined :
@@ -437,7 +439,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
                 class="block text-sm font-medium leading-6 text-gray-900"
                 for="channel"
               >
-                {i18n.str`Confirm the operation using`}
+                {i18n.str`Enable second factor authentication`}
               </label>
               <div class="mt-2 max-w-xl text-sm text-gray-500">
                 <div class="px-4 mt-4 grid grid-cols-1 gap-y-6">
@@ -457,7 +459,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
                       <span class="flex flex-1">
                         <span class="flex flex-col">
                           <span id="project-type-0-label" class="block text-sm 
font-medium text-gray-900 ">
-                            <i18n.Translate>Email</i18n.Translate>
+                            <i18n.Translate>Using email</i18n.Translate>
                           </span>
                           {purpose !== "show" && !hasEmail && i18n.str`add a 
email in your profile to enable this option`}
                         </span>
@@ -484,7 +486,7 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
                       <span class="flex flex-1">
                         <span class="flex flex-col">
                           <span id="project-type-1-label" class="block text-sm 
font-medium text-gray-900">
-                            <i18n.Translate>SMS</i18n.Translate>
+                            <i18n.Translate>Using SMS</i18n.Translate>
                           </span>
                           {purpose !== "show" && !hasPhone && i18n.str`add a 
phone number in your profile to enable this option`}
                         </span>
@@ -494,9 +496,6 @@ export function AccountForm<PurposeType extends keyof 
ChangeByPurposeType>({
                       </svg>
                     </label>
                   }
-                  <pre>
-                    {JSON.stringify(form, undefined, 2)}
-                  </pre>
                 </div>
               </div>
             </div>
diff --git a/packages/demobank-ui/src/pages/admin/AccountList.tsx 
b/packages/demobank-ui/src/pages/admin/AccountList.tsx
index dd4586697..4ec25660b 100644
--- a/packages/demobank-ui/src/pages/admin/AccountList.tsx
+++ b/packages/demobank-ui/src/pages/admin/AccountList.tsx
@@ -115,7 +115,7 @@ export function AccountList({ onRemoveAccount, 
onShowAccountDetails, onUpdateAcc
                             onUpdateAccountPassword(item.username)
                           }}
                         >
-                          change password
+                          <i18n.Translate>change password</i18n.Translate>
                         </a>
                         <br />
                         {noBalance ?
@@ -124,7 +124,7 @@ export function AccountList({ onRemoveAccount, 
onShowAccountDetails, onUpdateAcc
                             onRemoveAccount(item.username)
                           }}
                           >
-                            remove
+                            <i18n.Translate>remove</i18n.Translate>
                           </a>
                           : undefined}
                       </td>
diff --git a/packages/demobank-ui/src/pages/admin/AdminHome.tsx 
b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
index f5bce1396..3b06a7740 100644
--- a/packages/demobank-ui/src/pages/admin/AdminHome.tsx
+++ b/packages/demobank-ui/src/pages/admin/AdminHome.tsx
@@ -1,5 +1,5 @@
 import { AmountString, Amounts, CurrencySpecification, TalerCorebankApi, 
TalerError, assertUnreachable } from "@gnu-taler/taler-util";
-import { useTranslationContext } from "@gnu-taler/web-util/browser";
+import { useLang, useTranslationContext } from "@gnu-taler/web-util/browser";
 import { format, getDate, getHours, getMonth, getYear, setDate, setHours, 
setMonth, setYear, sub } from "date-fns";
 import { Fragment, VNode, h } from "preact";
 import { useState } from "preact/hooks";
@@ -11,7 +11,6 @@ import { RenderAmount } from "../PaytoWireTransferForm.js";
 import { WireTransfer } from "../WireTransfer.js";
 import { AccountList } from "./AccountList.js";
 
-
 /**
  * Query account information and show QR code if there is pending withdrawal
  */
@@ -40,15 +39,14 @@ export function AdminHome({ onCreateAccount, 
onAuthorizationRequired, onRemoveAc
   </Fragment>
 }
 
-function getDateForTimeframe(which: number, timeframe: 
TalerCorebankApi.MonitorTimeframeParam): string {
+function getDateForTimeframe(which: number, timeframe: 
TalerCorebankApi.MonitorTimeframeParam, locale: Locale): string {
   const time = Date.now()
-
   switch (timeframe) {
-    case TalerCorebankApi.MonitorTimeframeParam.hour: return 
`${format(setHours(time, which), "HH")}hs`;
-    case TalerCorebankApi.MonitorTimeframeParam.day: return 
format(setDate(time, which), "EEEE");
-    case TalerCorebankApi.MonitorTimeframeParam.month: return 
format(setMonth(time, which), "MMMM");
-    case TalerCorebankApi.MonitorTimeframeParam.year: return 
format(setYear(time, which), "yyyy");
-    case TalerCorebankApi.MonitorTimeframeParam.decade: return 
format(setYear(time, which), "yyyy");
+    case TalerCorebankApi.MonitorTimeframeParam.hour: return 
`${format(setHours(time, which), "HH", { locale })}hs`;
+    case TalerCorebankApi.MonitorTimeframeParam.day: return 
format(setDate(time, which), "EEEE", { locale });
+    case TalerCorebankApi.MonitorTimeframeParam.month: return 
format(setMonth(time, which), "MMMM", { locale });
+    case TalerCorebankApi.MonitorTimeframeParam.year: return 
format(setYear(time, which), "yyyy", { locale });
+    case TalerCorebankApi.MonitorTimeframeParam.decade: return 
format(setYear(time, which), "yyyy", { locale });
   }
   assertUnreachable(timeframe)
 }
@@ -81,7 +79,7 @@ export function getTimeframesForDate(time: Date, timeframe: 
TalerCorebankApi.Mon
 
 
 function Metrics(): VNode {
-  const { i18n } = useTranslationContext()
+  const { i18n, dateLocale } = useTranslationContext()
   const [metricType, setMetricType] = 
useState<TalerCorebankApi.MonitorTimeframeParam>(TalerCorebankApi.MonitorTimeframeParam.hour);
   const { config } = useBankCoreApiContext();
   const respInfo = useConversionInfo()
@@ -132,7 +130,7 @@ function Metrics(): VNode {
 
     <div class="w-full flex justify-between">
       <h1 class="text-base font-semibold leading-7 text-gray-900 mt-5">
-        <i18n.Translate>Trading volume on {getDateForTimeframe(params.current, 
metricType)} compared to {getDateForTimeframe(params.previous, 
metricType)}</i18n.Translate>
+        <i18n.Translate>Trading volume on {getDateForTimeframe(params.current, 
metricType, dateLocale)} compared to {getDateForTimeframe(params.previous, 
metricType, dateLocale)}</i18n.Translate>
       </h1>
     </div>
     <dl class="mt-5 grid grid-cols-1 md:grid-cols-2  divide-y divide-gray-200 
overflow-hidden rounded-lg bg-white shadow-lg md:divide-x md:divide-y-0">
@@ -186,7 +184,7 @@ function Metrics(): VNode {
       <a href="#/download-stats"
         class="disabled:opacity-50 disabled:cursor-default cursor-pointer 
rounded-md bg-indigo-600 px-3 py-2 text-sm font-semibold text-white shadow-sm 
hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 
focus-visible:outline-offset-2 focus-visible:outline-indigo-600"
       ><i18n.Translate>
-          download stats as csv
+          download stats as CSV
         </i18n.Translate></a>
     </div>
   </Fragment>
diff --git a/packages/demobank-ui/src/pages/business/CreateCashout.tsx 
b/packages/demobank-ui/src/pages/business/CreateCashout.tsx
index e3602bff1..14e151ae6 100644
--- a/packages/demobank-ui/src/pages/business/CreateCashout.tsx
+++ b/packages/demobank-ui/src/pages/business/CreateCashout.tsx
@@ -417,11 +417,6 @@ export function CreateCashout({
                     <div class="flex items-center justify-between border-t-2 
afu pt-4">
                       <dt class="flex items-center text-sm text-gray-600">
                         <span><i18n.Translate>Balance 
left</i18n.Translate></span>
-                        {/* <a href="#" class="ml-2 shrink-0 text-gray-400 
bkx">
-                  <span class="sr-only">Learn more about how shipping is 
calculated</span>
-                  <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 20 20" 
fill="currentColor" aria-hidden="true"
-                    class="w-5 h-5"><path fill-rule="evenodd" d="M18 10a8 8 0 
11-16 0 8 8 0 0116 0zM8.94 6.94a.75.75 0 11-1.061-1.061 3 3 0 112.871 
5.026v.345a.75.75 0 01-1.5 0v-.5c0-.72.57-1.172 1.081-1.287A1.5 1.5 0 108.94 
6.94zM10 15a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path></svg>
-                </a> */}
                       </dt>
                       <dd class="text-sm text-gray-900">
                         <RenderAmount value={balanceAfter} 
spec={regional_currency_specification} />
@@ -431,11 +426,6 @@ export function CreateCashout({
                       <div class="flex items-center justify-between border-t-2 
afu pt-4">
                         <dt class="flex items-center text-sm text-gray-600">
                           <span><i18n.Translate>Before 
fee</i18n.Translate></span>
-                          {/* <a href="#" class="ml-2 shrink-0 text-gray-400 
bkx">
-                  <span class="sr-only">Learn more about how shipping is 
calculated</span>
-                  <svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 20 20" 
fill="currentColor" aria-hidden="true"
-                    class="w-5 h-5"><path fill-rule="evenodd" d="M18 10a8 8 0 
11-16 0 8 8 0 0116 0zM8.94 6.94a.75.75 0 11-1.061-1.061 3 3 0 112.871 
5.026v.345a.75.75 0 01-1.5 0v-.5c0-.72.57-1.172 1.081-1.287A1.5 1.5 0 108.94 
6.94zM10 15a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path></svg>
-                </a> */}
                         </dt>
                         <dd class="text-sm text-gray-900">
                           <RenderAmount value={calc.beforeFee} 
spec={fiat_currency_specification} />
@@ -467,7 +457,7 @@ export function CreateCashout({
                     class="block text-sm font-medium leading-6 text-gray-900"
                     for="channel"
                   >
-                    {i18n.str`Confirm the operation using`}
+                    {i18n.str`Second fac`}
                   </label>
                   <div class="mt-2 max-w-xl text-sm text-gray-500">
                     <div class="px-4 mt-4 grid grid-cols-1 gap-y-6">
diff --git a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx 
b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
index 76876df5d..a55bf3ab6 100644
--- a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
+++ b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx
@@ -52,7 +52,7 @@ export function ShowCashoutDetails({
   id,
   onCancel,
 }: Props): VNode {
-  const { i18n } = useTranslationContext();
+  const { i18n, dateLocale } = useTranslationContext();
   const { state } = useBackendState();
   const creds = state.status !== "loggedIn" ? undefined : state
   const { api } = useBankCoreApiContext()
@@ -230,7 +230,7 @@ export function ShowCashoutDetails({
                     <div class="justify-between items-center flex ">
                       <dt class=" 
text-gray-600"><i18n.Translate>Created</i18n.Translate></dt>
                       <dd class="text-sm ">
-                        {format(result.body.creation_time.t_s * 1000, 
"dd/MM/yyyy HH:mm:ss")}
+                        {format(result.body.creation_time.t_s * 1000, 
"dd/MM/yyyy HH:mm:ss", { locale: dateLocale })}
                       </dd>
                     </div>
                     : undefined}
@@ -256,7 +256,7 @@ export function ShowCashoutDetails({
                     <div class="flex justify-between items-center border-t-2 
afu pt-4">
                       <dt class="  
font-medium"><i18n.Translate>Confirmed</i18n.Translate></dt>
                       <dd class="  font-medium">
-                        {format(result.body.confirmation_time.t_s * 1000, 
"dd/MM/yyyy HH:mm:ss")}
+                        {format(result.body.confirmation_time.t_s * 1000, 
"dd/MM/yyyy HH:mm:ss", { locale: dateLocale })}
                       </dd>
                     </div>
                     : undefined}
@@ -280,7 +280,7 @@ export function ShowCashoutDetails({
             >
               <div class="px-4 py-6 sm:p-8">
                 <label for="withdraw-amount">
-                  Enter the confirmation code
+                  <i18n.Translate>Enter the confirmation code</i18n.Translate>
                 </label>
                 <div class="mt-2">
                   <div class="relative rounded-md shadow-sm">

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]