feat: initial commit — tcb_devportal Next.js app
Some checks failed
homelab-k8s-services/tcb_devportal/pipeline/head There was a failure building this commit
Includes Helm chart (tcb-devportal), Jenkinsfile with homelab CI pipeline, and Next.js app source.
BIN
public/font/SF-Pro-Display-Black.otf
Normal file
BIN
public/font/SF-Pro-Display-BlackItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Bold.otf
Normal file
BIN
public/font/SF-Pro-Display-BoldItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Heavy.otf
Normal file
BIN
public/font/SF-Pro-Display-HeavyItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Light.otf
Normal file
BIN
public/font/SF-Pro-Display-LightItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Medium.otf
Normal file
BIN
public/font/SF-Pro-Display-MediumItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Regular.otf
Normal file
BIN
public/font/SF-Pro-Display-RegularItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Semibold.otf
Normal file
BIN
public/font/SF-Pro-Display-SemiboldItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Thin.otf
Normal file
BIN
public/font/SF-Pro-Display-ThinItalic.otf
Normal file
BIN
public/font/SF-Pro-Display-Ultralight.otf
Normal file
BIN
public/font/SF-Pro-Display-UltralightItalic.otf
Normal file
BIN
public/images/api-products/About.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
BIN
public/images/api-products/banner-apiProduct.png
Normal file
|
After Width: | Height: | Size: 791 KiB |
BIN
public/images/api-products/banner-detail.png
Normal file
|
After Width: | Height: | Size: 578 KiB |
BIN
public/images/auth/background.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
18
public/images/logo/Techcombank_logo.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<svg width="204" height="28" viewBox="0 0 204 28" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_105_8674" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="6"
|
||||
width="94" height="16">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 6.89844H93.8135V21.1009H0V6.89844Z"
|
||||
fill="white" />
|
||||
</mask>
|
||||
<g mask="url(#mask0_105_8674)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M59.6924 7.72704V11.7549C59.1743 11.2175 58.6783 10.7986 58.1696 10.5282C57.6654 10.2658 57.1137 10.1426 56.5305 10.1426C55.4839 10.1426 54.615 10.4844 53.9332 11.2348C53.2803 11.9425 52.9435 12.8816 52.9435 14.0497C52.9435 15.1349 53.3059 16.0303 53.9541 16.7668C54.6406 17.4849 55.5048 17.8313 56.5305 17.8313C57.1137 17.8313 57.6654 17.7024 58.1696 17.4401C58.6783 17.1857 59.1743 16.7668 59.6924 16.1914V20.2469C59.0965 20.5001 58.518 20.7337 57.9523 20.8741C57.339 21.0226 56.764 21.079 56.1716 21.079C55.4282 21.079 54.7184 21.0053 54.1051 20.8131C53.4604 20.6509 52.8854 20.3827 52.3406 20.0248C51.3381 19.3481 50.5599 18.4908 50.0255 17.4688C49.4796 16.4239 49.224 15.2707 49.224 13.9807C49.224 12.9438 49.3936 11.9978 49.727 11.16C50.0569 10.3049 50.5854 9.54995 51.2615 8.8537C51.9166 8.20233 52.6391 7.71092 53.4604 7.38409C54.2631 7.05035 55.1796 6.89844 56.1716 6.89844C56.764 6.89844 57.339 6.95138 57.9523 7.09408C58.518 7.24599 59.0965 7.44048 59.6924 7.72704V7.72704ZM34.4843 20.7337V7.19528H38.2061V12.4765H43.1719V7.19528H46.9019V20.7337H43.1719V15.2269H38.2061V20.7337H34.4843ZM32.382 7.72704V11.7549C31.8674 11.2175 31.3691 10.7986 30.8591 10.5282C30.3712 10.2658 29.809 10.1426 29.2363 10.1426C28.1514 10.1426 27.2907 10.4844 26.6297 11.2348C25.9722 11.9425 25.6319 12.8816 25.6319 14.0497C25.6319 15.1349 25.9827 16.0303 26.646 16.7668C27.3336 17.4849 28.1932 17.8313 29.2363 17.8313C29.809 17.8313 30.3712 17.7024 30.8591 17.4401C31.3691 17.1857 31.8674 16.7668 32.382 16.1914V20.2469C31.7803 20.5001 31.2099 20.7337 30.6268 20.8741C30.0355 21.0226 29.4536 21.079 28.8623 21.079C28.1189 21.079 27.4103 21.0053 26.7912 20.8131C26.15 20.6509 25.5796 20.3827 25.0429 20.0248C24.0289 19.3481 23.2517 18.4908 22.707 17.4688C22.1691 16.4239 21.902 15.2707 21.902 13.9807C21.902 12.9438 22.0948 11.9978 22.4235 11.16C22.7604 10.3049 23.2645 9.54995 23.9487 8.8537C24.6108 8.20233 25.3252 7.71092 26.1349 7.38409C26.9561 7.05035 27.8482 6.89844 28.8623 6.89844C29.4536 6.89844 30.0355 6.95138 30.6268 7.09408C31.2099 7.24599 31.7803 7.44048 32.382 7.72704V7.72704ZM11.6691 20.7337V7.19528H20.0234V10.1817H15.284V12.5167H19.7515V15.4203H15.284V17.7024H20.0234V20.7337H11.6691ZM68.5277 6.91228V10.0138C67.4962 10.0138 66.6436 10.4051 65.9583 11.16C65.2741 11.9184 64.9465 12.869 64.9465 14.006C64.9465 15.1522 65.2741 16.1074 65.9408 16.8509C66.6029 17.607 67.4707 17.9695 68.5277 17.9695V21.1009C67.5462 21.1009 66.6029 20.9179 65.7155 20.5704C64.8234 20.1998 64.0521 19.6911 63.3574 19.0156C62.657 18.3446 62.1284 17.5851 61.7567 16.7266C61.4059 15.8669 61.2189 14.9658 61.2189 14.006C61.2189 13.0255 61.4059 12.1186 61.7567 11.2705C62.1284 10.4051 62.657 9.64895 63.3574 8.97457C64.0521 8.3232 64.8234 7.81453 65.7155 7.44051C66.6029 7.07224 67.5462 6.91228 68.5277 6.91228V6.91228ZM3.06756 20.7337V10.405H-0.000244141V7.19528H9.84205V10.405H6.78354V20.7337H3.06756ZM93.8135 20.7337H90.3276L89.5272 14.8794C89.4819 14.4754 89.4145 14.0358 89.3785 13.511C89.3309 13.0024 89.2972 12.4465 89.2589 11.855C89.1799 12.4316 88.9871 13.1485 88.742 14.0059C88.6676 14.182 88.6374 14.3201 88.6165 14.3949L86.7591 20.7337H84.2802L82.4228 14.3949C82.3996 14.3201 82.3706 14.182 82.2974 14.0059C82.0535 13.1485 81.8653 12.4316 81.8107 11.855C81.77 12.3706 81.7259 12.8815 81.6573 13.3937C81.6213 13.8839 81.5574 14.3949 81.4994 14.8794L80.692 20.7337H77.2281L79.3283 7.19528H83.028L85.0887 14.182C85.0887 14.2315 85.1294 14.3201 85.1422 14.4409C85.3547 15.0589 85.4779 15.5791 85.5185 16.0302C85.5406 15.7839 85.5801 15.5216 85.6695 15.2269C85.7288 14.9312 85.8252 14.5721 85.9297 14.1716L88.0171 7.19528H91.7087L93.8135 20.7337ZM68.5276 21.1009V17.9695C69.5591 17.9695 70.3885 17.607 71.0739 16.8509C71.7685 16.089 72.0845 15.1522 72.0845 14.006C72.0845 12.869 71.7685 11.9184 71.0599 11.16C70.3781 10.4051 69.5382 10.0138 68.5276 10.0138V6.91228C69.4894 6.91228 70.4222 7.07224 71.3283 7.44051C72.2157 7.81453 73.0207 8.3232 73.7003 8.97457C74.3729 9.64895 74.9002 10.4051 75.2638 11.2705C75.6402 12.1186 75.8225 13.0255 75.8225 14.006C75.8225 14.9658 75.6402 15.8842 75.2638 16.7473C74.9118 17.5851 74.3729 18.3446 73.7003 19.0156C72.9998 19.6911 72.2157 20.1998 71.3027 20.5704C70.4222 20.9179 69.4894 21.1009 68.5276 21.1009V21.1009Z"
|
||||
fill="#FF3B30" />
|
||||
</g>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M98.9361 12.9808H99.6655C99.9753 12.9808 100.244 12.9577 100.492 12.9422V15.3001H100.276H98.9361V18.1172H100.225H100.492V20.7721C100.14 20.7721 99.7497 20.7809 99.3066 20.7809H95.448V7.7793H99.226C99.6784 7.7793 100.098 7.7793 100.492 7.8069V10.3922C100.263 10.3668 99.9951 10.347 99.7274 10.347H98.9361V12.9808ZM113.976 7.7793V9.89656L113.966 9.87779C113.875 10.2178 113.822 10.5092 113.735 10.7995C113.653 11.0932 113.571 11.3736 113.494 11.633L112.123 15.9183H113.976V18.4528H111.31L110.585 20.7809H106.864L111.602 7.7793H113.976ZM100.492 12.9423C100.972 12.9014 101.34 12.8252 101.581 12.6851C101.905 12.4819 102.072 12.1508 102.072 11.6838C102.072 11.197 101.932 10.8581 101.598 10.6638C101.388 10.528 101.012 10.432 100.492 10.3923V7.80696C101.366 7.82131 102.029 7.86215 102.439 7.92176C103.073 8.00897 103.604 8.17786 104.042 8.41299C104.568 8.68124 104.937 9.04 105.194 9.4926C105.476 9.94188 105.6 10.453 105.6 11.0414C105.6 11.7766 105.411 12.3451 105.02 12.7954C104.597 13.2249 103.987 13.5439 103.107 13.7934C104.08 13.8673 104.844 14.1753 105.39 14.7416C105.955 15.3289 106.217 16.0928 106.217 17.0598C106.217 17.7607 106.074 18.3602 105.761 18.8955C105.449 19.4144 104.998 19.8316 104.437 20.1187C103.959 20.3483 103.379 20.5205 102.685 20.6242C102.19 20.7092 101.445 20.7446 100.492 20.7722V18.1173C101.245 18.093 101.782 18.0014 102.108 17.7972C102.481 17.6128 102.674 17.2574 102.674 16.7606C102.674 16.2175 102.481 15.8256 102.159 15.6324C101.842 15.4106 101.282 15.3167 100.492 15.3002V12.9423ZM138.746 20.7809V7.7793H142.463V13.684L146.825 7.7793H151.181L146.093 14.1212L151.623 20.7809H146.953L142.463 14.9413V20.7809H138.746ZM122.377 20.7809V7.7793H125.978L131.176 14.4612C131.274 14.6102 131.437 14.8806 131.671 15.3001C131.901 15.7008 132.145 16.1965 132.418 16.7606C132.352 16.2174 132.294 15.7439 132.246 15.3167C132.227 14.8983 132.213 14.5285 132.213 14.1929V7.7793H135.798V20.7809H132.213L127.01 14.0604C126.918 13.9169 126.751 13.6608 126.526 13.2568C126.296 12.8362 126.047 12.345 125.777 11.8052C125.834 12.3373 125.9 12.8252 125.939 13.2248C125.958 13.6608 125.978 14.0328 125.978 14.3563V20.7809H122.377ZM113.976 18.4528V15.9183H115.824L114.441 11.633C114.4 11.506 114.331 11.2886 114.264 10.9971C114.191 10.7168 114.088 10.3469 113.976 9.89656V7.7793H116.312L121.06 20.7809H117.328L116.624 18.4528H113.976Z"
|
||||
fill="black" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M182.36 6.99801L175.164 13.9904L182.36 21.0145L175.164 28L160.752 13.9904L175.164 0L182.36 6.99801ZM204 13.9904L189.587 0L182.36 6.99801L189.587 13.9904L182.36 21.0145L189.587 28L204 13.9904Z"
|
||||
fill="#FF3B30" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.2 KiB |
11
public/images/logo/Techcombank_logo_footer.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg width="216" height="58" viewBox="0 0 216 58" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M104.77 26.5165H105.542C105.87 26.5165 106.155 26.4913 106.418 26.4744V29.0387H104.77V32.1024H106.418V34.9895C106.045 34.9895 105.631 34.9991 105.162 34.9991H101.076V20.8598H105.077C105.556 20.8598 106 20.8598 106.418 20.8898V23.7013C106.175 23.6737 105.891 23.6521 105.608 23.6521H104.77V26.5165ZM120.696 20.8898V23.1623L120.686 23.1419C120.59 23.5116 120.534 23.8286 120.441 24.1443C120.355 24.4636 120.268 24.7685 120.186 25.0507L118.734 29.711H122.653L123.501 32.4673H117.874L117.105 34.9991H113.165L118.182 20.8597L120.696 20.8898ZM106.418 26.4744C106.926 26.43 107.316 26.3473 107.571 26.1948C107.914 25.9739 108.091 25.6138 108.091 25.106C108.091 24.5766 107.943 24.208 107.589 23.9967C107.367 23.8491 106.968 23.7445 106.418 23.7013V20.8898C107.343 20.9054 108.045 20.9499 108.48 21.0147C109.151 21.1095 109.713 21.2932 110.177 21.5489C110.734 21.8406 111.125 22.2308 111.397 22.723C111.696 23.2116 111.827 23.7674 111.827 24.4073C111.827 25.2068 111.626 25.8251 111.213 26.3149C110.765 26.7819 110.119 27.1288 109.187 27.4001C110.218 27.4805 111.026 27.8155 111.604 28.4313C112.203 29.07 112.481 29.9007 112.481 30.9524C112.481 31.7147 112.328 32.3665 111.998 32.9488C111.667 33.513 111.189 33.9668 110.595 34.2789C110.089 34.5286 109.475 34.7159 108.74 34.8288C108.216 34.9212 107.426 34.9595 106.418 34.9895V32.1024C107.215 32.0759 107.784 31.9764 108.129 31.7543C108.524 31.5538 108.729 31.1673 108.729 30.627C108.729 30.0364 108.524 29.6102 108.183 29.4001C107.847 29.1588 107.254 29.0567 106.418 29.0387V26.4744ZM146.928 34.9991V20.8597H150.864V27.2812L155.482 20.8597H160.096L154.708 27.7566L160.564 34.9991H155.619L150.864 28.6485V34.9991H146.928ZM129.593 34.9991V20.8597H133.406L138.911 28.1263C139.015 28.2884 139.187 28.5825 139.435 29.0387C139.679 29.4745 139.937 30.0135 140.226 30.6269C140.156 30.0363 140.095 29.5213 140.044 29.0567C140.024 28.6017 140.009 28.1995 140.009 27.8346V20.8597H143.806V34.9991H140.009L134.499 27.6905C134.402 27.5345 134.225 27.256 133.987 26.8166C133.743 26.3592 133.479 25.825 133.193 25.2379C133.254 25.8166 133.323 26.3472 133.366 26.7818C133.385 27.256 133.406 27.6605 133.406 28.0123V34.9991H129.593ZM123.501 32.4673L122.653 29.711L121.189 25.0507C121.146 24.9126 121.073 24.6761 121.002 24.3592C120.924 24.0542 120.815 23.6521 120.696 23.1623V20.8898L123.171 20.8597L128.199 34.9991H124.246L123.501 32.4673Z"
|
||||
fill="white" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M63.2126 20.8024V25.1827C62.664 24.5983 62.1387 24.1427 61.5999 23.8486C61.0661 23.5633 60.4818 23.4293 59.8643 23.4293C58.7559 23.4293 57.8358 23.801 57.1138 24.617C56.4224 25.3867 56.0657 26.408 56.0657 27.6783C56.0657 28.8585 56.4495 29.8322 57.1359 30.6332C57.8629 31.4142 58.7781 31.7909 59.8643 31.7909C60.4818 31.7909 61.0661 31.6507 61.5999 31.3654C62.1387 31.0888 62.664 30.6332 63.2126 30.0074V34.4179C62.5816 34.6932 61.969 34.9473 61.3699 35.0999C60.7204 35.2614 60.1115 35.3227 59.4842 35.3227C58.6969 35.3227 57.9453 35.2426 57.2958 35.0336C56.6131 34.8571 56.0042 34.5655 55.4273 34.1763C54.3657 33.4404 53.5415 32.508 52.9757 31.3966C52.3975 30.2602 52.1269 29.0062 52.1269 27.6032C52.1269 26.4756 52.3065 25.4468 52.6595 24.5357C53.0089 23.6058 53.5686 22.7848 54.2845 22.0276C54.9783 21.3192 55.7434 20.7848 56.6131 20.4294C57.4631 20.0664 58.4337 19.9012 59.4842 19.9012C60.1115 19.9012 60.7204 19.9588 61.3699 20.114C61.969 20.2792 62.5816 20.4907 63.2126 20.8024ZM36.5181 34.9473V20.2241H40.4593V25.9675H45.718V20.2241H49.6679V34.9473H45.718V28.9586H40.4593V34.9473H36.5181ZM34.2917 20.8024V25.1827C33.7467 24.5983 33.219 24.1427 32.679 23.8486C32.1623 23.5633 31.567 23.4293 30.9605 23.4293C29.8116 23.4293 28.9001 23.801 28.2002 24.617C27.5039 25.3867 27.1435 26.408 27.1435 27.6783C27.1435 28.8585 27.515 29.8322 28.2174 30.6332C28.9456 31.4142 29.8559 31.7909 30.9605 31.7909C31.567 31.7909 32.1623 31.6507 32.679 31.3654C33.219 31.0888 33.7467 30.6332 34.2917 30.0074V34.4179C33.6545 34.6932 33.0505 34.9473 32.433 35.0999C31.8068 35.2614 31.1906 35.3227 30.5644 35.3227C29.7772 35.3227 29.0268 35.2426 28.3712 35.0336C27.6922 34.8571 27.0882 34.5655 26.5199 34.1763C25.446 33.4404 24.623 32.508 24.0461 31.3966C23.4766 30.2602 23.1937 29.0062 23.1937 27.6032C23.1937 26.4756 23.3979 25.4468 23.746 24.5357C24.1027 23.6058 24.6366 22.7848 25.3611 22.0276C26.0623 21.3192 26.8188 20.7848 27.6762 20.4294C28.5458 20.0664 29.4906 19.9012 30.5644 19.9012C31.1906 19.9012 31.8068 19.9588 32.433 20.114C33.0505 20.2792 33.6545 20.4907 34.2917 20.8024ZM12.3576 34.9473V20.2241H21.2045V23.4719H16.1856V26.0113H20.9166V29.1689H16.1856V31.6507H21.2045V34.9473H12.3576ZM72.5689 19.9163V23.2892C71.4766 23.2892 70.5737 23.7147 69.848 24.5357C69.1234 25.3605 68.7765 26.3943 68.7765 27.6308C68.7765 28.8773 69.1234 29.9161 69.8295 30.7246C70.5307 31.5469 71.4496 31.9411 72.5689 31.9411V35.3465C71.5295 35.3465 70.5307 35.1475 69.5909 34.7696C68.6461 34.3666 67.8294 33.8134 67.0938 33.0787C66.352 32.3491 65.7923 31.5231 65.3987 30.5894C65.0272 29.6545 64.8291 28.6746 64.8291 27.6308C64.8291 26.5645 65.0272 25.5783 65.3987 24.6559C65.7923 23.7147 66.352 22.8925 67.0938 22.1591C67.8294 21.4507 68.6461 20.8975 69.5909 20.4908C70.5307 20.0903 71.5295 19.9163 72.5689 19.9163ZM3.24871 34.9473V23.7147H0V20.2241H10.4227V23.7147H7.18381V34.9473H3.24871ZM99.3458 34.9473H95.6543L94.8068 28.5807C94.7588 28.1414 94.6874 27.6633 94.6493 27.0926C94.5989 26.5394 94.5632 25.9349 94.5226 25.2916C94.439 25.9186 94.2348 26.6984 93.9752 27.6308C93.8965 27.8222 93.8645 27.9724 93.8424 28.0538L91.8754 34.9473H89.2504L87.2834 28.0538C87.2589 27.9724 87.2281 27.8222 87.1506 27.6308C86.8923 26.6984 86.693 25.9186 86.6352 25.2916C86.5921 25.8523 86.5454 26.408 86.4728 26.9649C86.4347 27.4981 86.367 28.0538 86.3055 28.5807L85.4506 34.9473H81.7824L84.0065 20.2241H87.9243L90.1065 27.8222C90.1065 27.8761 90.1496 27.9724 90.1631 28.1038C90.3882 28.7759 90.5186 29.3416 90.5617 29.8322C90.5851 29.5644 90.6269 29.279 90.7216 28.9586C90.7843 28.637 90.8864 28.2465 90.9971 27.811L93.2076 20.2241H97.1169L99.3458 34.9473ZM72.5689 35.3465V31.9411C73.6613 31.9411 74.5394 31.5469 75.2652 30.7246C76.0008 29.8961 76.3354 28.8773 76.3354 27.6308C76.3354 26.3943 76.0008 25.3605 75.2504 24.5357C74.5284 23.7147 73.6391 23.2892 72.5689 23.2892V19.9163C73.5875 19.9163 74.5751 20.0903 75.5346 20.4908C76.4744 20.8975 77.3269 21.4507 78.0465 22.1591C78.7587 22.8925 79.3172 23.7147 79.7022 24.6559C80.1007 25.5783 80.2939 26.5645 80.2939 27.6308C80.2939 28.6746 80.1007 29.6733 79.7022 30.612C79.3295 31.5231 78.7587 32.3491 78.0465 33.0787C77.3047 33.8134 76.4744 34.3666 75.5075 34.7696C74.5751 35.1475 73.5875 35.3465 72.5689 35.3465Z"
|
||||
fill="white" />
|
||||
<path fill-rule="evenodd" clip-rule="evenodd"
|
||||
d="M193.087 20.6605L185.466 28.2647L193.087 35.9035L185.466 43.5003L170.205 28.2647L185.466 13.05L193.087 20.6605ZM216.003 28.2647L200.74 13.05L193.087 20.6605L200.74 28.2647L193.087 35.9035L200.74 43.5003L216.003 28.2647Z"
|
||||
fill="white" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.0 KiB |
4
public/images/logo/Techcombank_logomark.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg width="67" height="45" viewBox="0 0 67 45" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.3267 22.4847L33.4747 11.2469L22.3267 0L0 22.4847L22.3267 45.0004L33.4747 33.7735L22.3267 22.4847Z" fill="#ED1C24"/>
|
||||
<path d="M44.6716 0L67.0001 22.4847L44.6716 45.0004L33.4747 33.7735L44.6716 22.4847L33.4747 11.2469L44.6716 0Z" fill="#ED1C24"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 361 B |
BIN
public/images/news/banner-detail.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
public/images/news/banner-news.png
Normal file
|
After Width: | Height: | Size: 627 KiB |
BIN
public/images/news/categories-banner.png
Normal file
|
After Width: | Height: | Size: 283 KiB |
BIN
public/images/news/news-card.png
Normal file
|
After Width: | Height: | Size: 489 KiB |
990
public/locales/en.json
Normal file
@@ -0,0 +1,990 @@
|
||||
{
|
||||
"login": {
|
||||
"btn": {
|
||||
"login": "Login",
|
||||
"signup": "Create an account"
|
||||
},
|
||||
"fields": {
|
||||
"forgot_password": "Forgot password?",
|
||||
"password": "Password",
|
||||
"username": "User name"
|
||||
},
|
||||
"form": {
|
||||
"hint": "Don't have an account yet?",
|
||||
"title": "Log in to Open API"
|
||||
},
|
||||
"mess": {
|
||||
"get_token": {
|
||||
"loading": "Changing direction...",
|
||||
"success": "Log in successfully"
|
||||
},
|
||||
"signin": {
|
||||
"error": "Log in failed",
|
||||
"loading": "Signing in...",
|
||||
"success": "Log in successfully"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"confirm": {
|
||||
"logout": {
|
||||
"description": "You’ll need to sign in again next time",
|
||||
"title": "Log out of this account?"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "Copyright © 2026 Techcombank. All rights reserved.",
|
||||
"hotline": "HOTLINE",
|
||||
"language": "Language:",
|
||||
"privacypolicy": "Privacy Policy",
|
||||
"stayconnected": "Stay connected with Techcombank",
|
||||
"termsconditions": "Terms & Conditions"
|
||||
},
|
||||
"header": {
|
||||
"apiproducts": "API Products",
|
||||
"application": "Application",
|
||||
"certificate": "Digital signature",
|
||||
"home": "Home",
|
||||
"login": "Log in",
|
||||
"logout": "Log out",
|
||||
"myaccount": "My account",
|
||||
"news": "News",
|
||||
"profile": "Profile",
|
||||
"reg_ticket": "Request Production access",
|
||||
"support": "Support",
|
||||
"tryout": "Sandbox Testing",
|
||||
"support_faqs": "FAQs",
|
||||
"support_guide": "Guide"
|
||||
},
|
||||
"mess": {
|
||||
"logout": {
|
||||
"success": "You're logged out!"
|
||||
}
|
||||
}
|
||||
},
|
||||
"form": {
|
||||
"btn": {
|
||||
"accept": "Accept",
|
||||
"cancel": "Cancel",
|
||||
"exit": "Exit",
|
||||
"save": "Save changes"
|
||||
},
|
||||
"confirm": {
|
||||
"description": "Information you just entered will not be saved by the system",
|
||||
"title": "Exit without saving changes?"
|
||||
},
|
||||
"error": {
|
||||
"application": {
|
||||
"description": {
|
||||
"length": "Maximum 512 characters"
|
||||
},
|
||||
"name": {
|
||||
"invalid": "Application name must be text and space only",
|
||||
"length": "Application name must be 3-50 characters long (excluding leading and trailing spaces)",
|
||||
"valid": "Application name must not be empty or contain only spaces"
|
||||
}
|
||||
},
|
||||
"callbackUrl": {
|
||||
"required": "Callback URL must not be empty"
|
||||
},
|
||||
"reg_ticket": {
|
||||
"company_address": {
|
||||
"invalid": "Company address can only contain letters, numbers, commas, dots, hyphens, and slashes",
|
||||
"length": "Company address must be 5 - 200 characters long"
|
||||
},
|
||||
"description": {
|
||||
"invalid": "Describe must not contain special characters",
|
||||
"length": "Description is limited to 500 characters"
|
||||
},
|
||||
"representative_email": {
|
||||
"invalid": "Invalid email format",
|
||||
"length": "Email must be 5–35 characters long"
|
||||
},
|
||||
"representative_phone": {
|
||||
"invalid": "Invalid phone number format",
|
||||
"length": "Phone Number must be 10–11 digits long"
|
||||
}
|
||||
},
|
||||
"required": "Please enter {label, select, undefined {This field} other {{label}}}",
|
||||
"signup": {
|
||||
"business_type": "Please select business sector",
|
||||
"companyemail": {
|
||||
"invalid": "Invalid company email format",
|
||||
"length": "Company email must be 5-35 characters long"
|
||||
},
|
||||
"companyname": {
|
||||
"invalid": "Company name must not contain special characters",
|
||||
"max": "Company name must not exceed 100 characters"
|
||||
},
|
||||
"confirmpassword": {
|
||||
"mismatch": "Passwords do not match"
|
||||
},
|
||||
"fullname": "Full name must be 3–50 characters long",
|
||||
"mobilenumber": {
|
||||
"invalid": "Invalid mobile number format",
|
||||
"length": "Mobile number must be 10-11 digits long"
|
||||
},
|
||||
"password": "New password does not meet security requirements",
|
||||
"taxnumber": "Tax code must be numeric and 10–13 digits",
|
||||
"tnc": "Please accept Terms and Conditions"
|
||||
}
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Enter {label, select, undefined {information} other {{label}}}"
|
||||
},
|
||||
"select": {
|
||||
"placeholder": "Select {label, select, undefined {information} other {{label}}}"
|
||||
}
|
||||
},
|
||||
"certificate": {
|
||||
"badge": {
|
||||
"expiring_soon": "Expiring soon"
|
||||
},
|
||||
"btn": {
|
||||
"back": "Back",
|
||||
"continue": "Continue",
|
||||
"download": "Download",
|
||||
"replace": "Replace",
|
||||
"upload": "Upload"
|
||||
},
|
||||
"fields": {
|
||||
"action": "Action",
|
||||
"end_date": "Expiry Date",
|
||||
"expiration_date": "Expiry Date",
|
||||
"filter": {
|
||||
"title": "Filter"
|
||||
},
|
||||
"issuer": "Issuer",
|
||||
"key_id": "Key ID",
|
||||
"serial_number": "Serial Number",
|
||||
"start_date": "Start date",
|
||||
"status": "Status",
|
||||
"subject": "Subject",
|
||||
"tpp_id": "TPP Name",
|
||||
"tpp_name": "TPP Name"
|
||||
},
|
||||
"filter": {
|
||||
"all": "All",
|
||||
"search": {
|
||||
"placeholder": "Search TPP name"
|
||||
},
|
||||
"total": "{total} items"
|
||||
},
|
||||
"listing": {
|
||||
"header": "Digital signature"
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"loading": "Creating certificate…",
|
||||
"success": "Certificate created successfully"
|
||||
},
|
||||
"upload": {
|
||||
"error": "Certificate upload failed",
|
||||
"loading": "Uploading certificate…",
|
||||
"success": "Certificate uploaded successfully"
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"title": "Replace document"
|
||||
},
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"in_active": "Inactive",
|
||||
"pending": "Under review",
|
||||
"reject": "Rejected"
|
||||
},
|
||||
"upload": {
|
||||
"erorr": {
|
||||
"max_size": "File must be {maxKb} KB or smaller"
|
||||
},
|
||||
"title": "Upload document"
|
||||
}
|
||||
},
|
||||
"regTicket": {
|
||||
"btn": {
|
||||
"back": "Back",
|
||||
"cancel": "Cancel",
|
||||
"compelete": "Done",
|
||||
"create": "Submit request",
|
||||
"delete": "Delete",
|
||||
"down_cert": "Certificate",
|
||||
"edit": "Edit"
|
||||
},
|
||||
"company_info": {
|
||||
"title": "Company profile"
|
||||
},
|
||||
"conection": {
|
||||
"title": "Connection request"
|
||||
},
|
||||
"create": {
|
||||
"header": "Request Production access",
|
||||
"status": {
|
||||
"description": "We will contact the representative as soon as possible and send the results via email",
|
||||
"title": "Request submitted"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"action": "Action",
|
||||
"api": "API Product",
|
||||
"applicationName": "Application name",
|
||||
"business_sector": "Business sector",
|
||||
"certificate": "Sandbox test cases completion certificate",
|
||||
"company_address": "Company address",
|
||||
"company_name": "Company name",
|
||||
"description": "Describe your purpose",
|
||||
"email": "Email",
|
||||
"fullName": "Full name",
|
||||
"phone": "Phone number",
|
||||
"start_date": "Start date",
|
||||
"status": "Status",
|
||||
"subject": "Subject",
|
||||
"taxcode": "Tax number",
|
||||
"tpp_name": "TPP Name"
|
||||
},
|
||||
"listing": {
|
||||
"header": "Reg Ticket Management"
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"error": "Request Production failed",
|
||||
"loading": "Requesting Production access..."
|
||||
},
|
||||
"download": {
|
||||
"error": "Download certificate failed",
|
||||
"loading": "Downloading certificate..."
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"title": "Replace document"
|
||||
},
|
||||
"representative": {
|
||||
"title": "Representative"
|
||||
},
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"in_active": "Inactive",
|
||||
"pending": "Pending",
|
||||
"reject": "Reject"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Upload document"
|
||||
},
|
||||
"user_info": {
|
||||
"title": "User profile"
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"btn": {
|
||||
"collapse": "Show less",
|
||||
"got_it": "OK, got it",
|
||||
"load_more": "Load more",
|
||||
"logout": "Log out"
|
||||
},
|
||||
"copy": {
|
||||
"error": "Could not copy to clipboard",
|
||||
"inline_success": "Link copied",
|
||||
"prompt": "Copy to clipboard",
|
||||
"success": "Copied to clipboard"
|
||||
},
|
||||
"empty": {
|
||||
"no_products_description": "There are no API products available at the moment. Please check back later.",
|
||||
"no_products_title": "No API products available",
|
||||
"search": "No matching results for \"{value}\""
|
||||
},
|
||||
"error": {
|
||||
"code": "Support code",
|
||||
"description": "Unable to process request. Please try again.",
|
||||
"title": "Uh-oh, service interrupted"
|
||||
},
|
||||
"table": {
|
||||
"btn": {
|
||||
"create": "Create new"
|
||||
},
|
||||
"empty": "No result."
|
||||
},
|
||||
"upload_file": {
|
||||
"drop_zone": {
|
||||
"suffix": "or drop your file here",
|
||||
"upload_action": "Upload"
|
||||
},
|
||||
"file_list": {
|
||||
"remove": "Remove"
|
||||
},
|
||||
"toast": {
|
||||
"duplicate_skip": "Skipped duplicate file: {name}",
|
||||
"max_files": "You can select at most {maxFiles} files. You selected {count}."
|
||||
}
|
||||
}
|
||||
},
|
||||
"api_product": {
|
||||
"about": {
|
||||
"image_alt": "API product flow",
|
||||
"spec_button": "API Specs.PDF",
|
||||
"title": "About this product"
|
||||
},
|
||||
"breadcrumb": {
|
||||
"current": "API products",
|
||||
"home": "Home"
|
||||
},
|
||||
"btn": {
|
||||
"back": "Back to {name}",
|
||||
"download": "Download",
|
||||
"get_access_key": "Get Test Key",
|
||||
"get_access_token": "Get token",
|
||||
"login": "Log in",
|
||||
"request": "Request Production access",
|
||||
"signup": "Sign up"
|
||||
},
|
||||
"card": {
|
||||
"api_count": "{count} APIs"
|
||||
},
|
||||
"confirm": {
|
||||
"login": {
|
||||
"title": "Log in to view this document"
|
||||
}
|
||||
},
|
||||
"empty": {
|
||||
"certificate": {
|
||||
"description": "After that, we will provide you with a certification and let you request Production access",
|
||||
"title": "Complete all test cases first"
|
||||
},
|
||||
"try_suggestions": "Search with one of these keywords?"
|
||||
},
|
||||
"filter": {
|
||||
"all": "All",
|
||||
"recent_searches": "Recent searches",
|
||||
"search_placeholder": "Search API products"
|
||||
},
|
||||
"hint": {
|
||||
"certificate": {
|
||||
"description": "All test cases completed! You can now request to connect this API on Production."
|
||||
},
|
||||
"empty_certificate": {
|
||||
"description": "Complete all test cases to move confidently into Production"
|
||||
}
|
||||
},
|
||||
"keys": {
|
||||
"oauth2_tokens": {
|
||||
"access_key_addon": "Access Key:",
|
||||
"access_key_description": "Get the access token to test the API in your application",
|
||||
"access_key_label": "Access Key",
|
||||
"access_token_addon": "Authorization: Bearer",
|
||||
"access_token_description": "Get the access token to test the API in your application",
|
||||
"access_token_label": "Access Token"
|
||||
}
|
||||
},
|
||||
"list": {
|
||||
"result_count_label": "API products"
|
||||
},
|
||||
"mess": {
|
||||
"download_postman_collection": {
|
||||
"error": "Download Postman Collection failed"
|
||||
},
|
||||
"download": {
|
||||
"loading": "Downloading API Specs.PDF...",
|
||||
"success": "Download API Specs.PDF successsfully"
|
||||
}
|
||||
},
|
||||
"resource_table": {
|
||||
"business_plan": "Call frequency (per hour)",
|
||||
"name": "API name",
|
||||
"no_resources": "No resources available",
|
||||
"no_results": "No results.",
|
||||
"scope": "Scope",
|
||||
"verb": "Type"
|
||||
},
|
||||
"steps": {
|
||||
"items": {
|
||||
"step_1_description": "Register your application and generate a key from the system. Then confirm the key, and you're done!",
|
||||
"step_1_label": "Step 1",
|
||||
"step_1_title": "Register your application",
|
||||
"step_2_description": "Request to test the APIs for your application, and see how this API works in a near-Production environment.",
|
||||
"step_2_label": "Step 2",
|
||||
"step_2_link_text": "See instructions",
|
||||
"step_2_title": "Test in the Sandbox",
|
||||
"step_3_description": "Request to use API on Production. Once approved, you'll be able to deploy and monitor API performance.",
|
||||
"step_3_label": "Step 3",
|
||||
"step_3_title": "Ready to deploy"
|
||||
},
|
||||
"section_title": "How to get started",
|
||||
"see_guides": "See our guides"
|
||||
},
|
||||
"title": "API products",
|
||||
"tryout": {
|
||||
"guide": {
|
||||
"step1_content": "Download and use the certificate provided by Techcombank in our Sandbox environment to identify the request to be transmitted. Note: In the Production environment, you will use the script we provide to automatically generate a certificate for your application, following the guidelines.",
|
||||
"step1_label": "Step 1",
|
||||
"step2_content": "Sign and encrypt the request, following the guidelines.",
|
||||
"step2_label": "Step 2",
|
||||
"step3_label": "Step 3",
|
||||
"step3_li1": "Update the request payload with the encrypted data from Step 2.",
|
||||
"step3_li2": "Send the request to the Sandbox environment for testing.",
|
||||
"step3_title": "Send the Test request",
|
||||
"step4_label": "Step 4",
|
||||
"step4_li1": "After receiving the response from the Sandbox, decrypt it following the guidelines.",
|
||||
"step4_li2": "Once decrypted successfully, review the detailed response data.",
|
||||
"step4_title": "Receive and decrypt the response",
|
||||
"title": "How to Test in Sandbox"
|
||||
},
|
||||
"header": "Sandbox Testing",
|
||||
"info": {
|
||||
"description": "Ensure the API is stable and secure before developing it in a real-world environment.",
|
||||
"link": "Learn more",
|
||||
"title": "Complete all script tests to unlock Production feature integration"
|
||||
},
|
||||
"security": {
|
||||
"application": "Application",
|
||||
"security_type": "Security type",
|
||||
"title": "Security"
|
||||
},
|
||||
"tabs": {
|
||||
"certificate": "Certificate"
|
||||
}
|
||||
},
|
||||
"version_label": "Version {version}"
|
||||
},
|
||||
"application": {
|
||||
"btn": {
|
||||
"back": "Back to {name}",
|
||||
"cancel": "Cancel",
|
||||
"close": "Close",
|
||||
"continue": "Continue",
|
||||
"create": "New application",
|
||||
"default_back": "Back",
|
||||
"delete": "Delete",
|
||||
"delete_application": "Delete application",
|
||||
"detail": "See application details",
|
||||
"generate": "Generate",
|
||||
"generate_keys": "Create New Keys",
|
||||
"load_more": "Load more",
|
||||
"login": "Log in",
|
||||
"next": "Next",
|
||||
"save_changes": "Save changes",
|
||||
"subscribe": "Request API testing",
|
||||
"test_sandbox": "Test API in Sandbox"
|
||||
},
|
||||
"card": {
|
||||
"badge": {
|
||||
"subscribed": "This API registered"
|
||||
},
|
||||
"fields": {
|
||||
"subscription": "Subscription",
|
||||
"tier": "Tier"
|
||||
}
|
||||
},
|
||||
"confirm_delete_key": {
|
||||
"description": "You can create a new Access Key after deleting the current Key",
|
||||
"title": "Delete Access Key?"
|
||||
},
|
||||
"confirm_delete": {
|
||||
"description": "Test cases and certificates will also be permanently deleted",
|
||||
"title": "Delete <name>{value}</name>?"
|
||||
},
|
||||
"confirm_subscribe": {
|
||||
"description": "Only one application can be used to subscribe and test APIs at a time. Other applications will be disabled until you cancel the current API subscriptions.",
|
||||
"title": "You can only choose one application to test"
|
||||
},
|
||||
"create": {
|
||||
"header": "New application"
|
||||
},
|
||||
"detail": {
|
||||
"api_registration": {
|
||||
"confirm_delete": {
|
||||
"description": "Test cases and certificates will also be permanently deleted",
|
||||
"title": "Delete <api_name>{api_name_value}</api_name> from <app_name>{app_name_value}</app_name>?"
|
||||
},
|
||||
"empty_description": "Go back to the main page to request an API for this application.",
|
||||
"empty_title": "No APIs registered yet",
|
||||
"error": "Unable to load registered APIs.",
|
||||
"table": {
|
||||
"action": "Action",
|
||||
"api": "API",
|
||||
"api_status": "Status",
|
||||
"delete": "Delete registration",
|
||||
"plan": "API plan",
|
||||
"subscription_status": "State"
|
||||
},
|
||||
"title": "Manage API registration"
|
||||
},
|
||||
"coming_soon": "Coming soon",
|
||||
"header": "Application details",
|
||||
"save_changes": "Save changes",
|
||||
"sections": {
|
||||
"access_token": "Access Token",
|
||||
"api_registration": "API registration",
|
||||
"keys": "Keys",
|
||||
"oauth2_tokens": "OAuth2 Tokens",
|
||||
"overview": "Overview"
|
||||
},
|
||||
"subscription_count": "{count} subscriptions"
|
||||
},
|
||||
"fields": {
|
||||
"description": {
|
||||
"label": "Describe the application"
|
||||
},
|
||||
"name": {
|
||||
"description": "Give your application a name you can quickly recognise later",
|
||||
"label": "Application name"
|
||||
},
|
||||
"quota": {
|
||||
"description": "The allocated quota will be shared among all APIs registered for this application",
|
||||
"label": "Access token quota",
|
||||
"placeholder": "10 Per Min"
|
||||
}
|
||||
},
|
||||
"keys": {
|
||||
"access_token": {
|
||||
"description": "Key Restrictions",
|
||||
"description_common": "Use the Generate Key button to create a self-contained JWT token.",
|
||||
"helper": "Choose how you want to restrict usage of this API key.",
|
||||
"http_invalid": "Please enter a valid URL or pattern.",
|
||||
"http_placeholder": "www.example.com/path",
|
||||
"http": {
|
||||
"add": "Add HTTP Referer",
|
||||
"examples_description": "Specify URLs or URL patterns to restrict where this key can be used.",
|
||||
"examples_intro": "For example:",
|
||||
"examples_title": "Examples of allowed URLs to restrict websites:",
|
||||
"submit": "Create Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"ip_invalid": "Please enter a valid IP address.",
|
||||
"ip_placeholder": "Enter IP address",
|
||||
"ip": {
|
||||
"add": "Add IP address",
|
||||
"examples_description": "Specify an IPv4 or IPv6 or subnet using CIDR notation.",
|
||||
"examples_intro": "For example:",
|
||||
"examples_title": "Examples of allowed IP addresses:",
|
||||
"submit": "Create Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"modal": {
|
||||
"copy_description": "If the token type is JWT or API Key, please copy this generated token value as it will be displayed only for the current browser session. ( The token will not be visible in the UI after the page is refreshed. )",
|
||||
"copy_title": "Please Copy the API Key",
|
||||
"generate_title": "Generate API Key",
|
||||
"unlimited_validity": "API Key with infinite validity period",
|
||||
"validity_period": {
|
||||
"description": "You can set an expiration period to determine the validity period of the token after generation. Set this as -1 to ensure that the API Key never expires.",
|
||||
"label": "API Key validity period",
|
||||
"placeholder": "Enter time in seconds"
|
||||
}
|
||||
},
|
||||
"none": {
|
||||
"submit": "Create Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"option": {
|
||||
"http": "HTTP Referer",
|
||||
"ip": "IP Address",
|
||||
"none": "None"
|
||||
},
|
||||
"title": "API Key",
|
||||
"token_field": {
|
||||
"bearer_prefix": "Authorization: Bearer",
|
||||
"description": "Get the access token to test the API in your application",
|
||||
"label": "Access token"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"table": {
|
||||
"header_key_manager": "Key manager",
|
||||
"header_resident_key_manager": "Resident key manager",
|
||||
"rows": {
|
||||
"environment_label": "Environment",
|
||||
"environment_value": "Sandbox",
|
||||
"grant_types_label": "Grant types",
|
||||
"grant_types_value": "Refresh Token, SAML2, Password, Client Credentials, IWA-NTLM, Device Code, Code, JWT,",
|
||||
"revoke_endpoint_label": "Revoke Endpoint",
|
||||
"token_endpoint_label": "Token Endpoint",
|
||||
"user_info_endpoint_label": "User info endpoint",
|
||||
"user_info_endpoint_value": "-"
|
||||
}
|
||||
}
|
||||
},
|
||||
"consumer_key": {
|
||||
"generate_curl": {
|
||||
"label_1": "The following cURL command shows how to generate an access token using the Password Grant type.",
|
||||
"label_2": "In a similar manner, you can generate an access token using the Client Credentials grant type with the following cURL command.",
|
||||
"title": "Get CURL to Generate Access Token"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"api_key_label": "Access Token",
|
||||
"copy_description": "If the token type is JWT or API Key, please copy the token value you just created, as it is only shown in the current browser session. (The token will no longer be displayed in the UI after you reload the page.)",
|
||||
"copy_title": "Keep your token secure",
|
||||
"validity_period_label": "Validity Period",
|
||||
"validity_period_placeholder": "Enter validity period"
|
||||
},
|
||||
"oauth2_tokens": {
|
||||
"access_token_addon": "Authorization: Bearer",
|
||||
"access_token_description": "Get the access token to test the API in your application",
|
||||
"access_token_label": "Access Token",
|
||||
"application_access_token_expiry_time": "Application Access Token Expiry Time",
|
||||
"bypassClientCredentials": "Public client",
|
||||
"callback_url_description": "Callback URL is a redirection URI in the client application which is used by the authorization server to send the client's user-agent (usually web browser) back after granting access",
|
||||
"callback_url_label": "Callback URL",
|
||||
"consumer_key_label": "Consumer Key",
|
||||
"consumer_secret_label": "Consumer Secret",
|
||||
"consumer_section_title": "Rules for using Key",
|
||||
"curl_link": "CURL to generate an Access Token",
|
||||
"delete_key": "Delete Keys",
|
||||
"generate_token": "Generate Access Token",
|
||||
"grant_type": {
|
||||
"client_credentials": "Client Credentials",
|
||||
"code": "authorization_code",
|
||||
"device_code": "Device Code",
|
||||
"iwa_ntlm": "IWA-NTLM",
|
||||
"jwt": "JWT",
|
||||
"password": "Password",
|
||||
"refresh_token": "Refresh Token",
|
||||
"saml2": "SAML2",
|
||||
"token_exchange": "Token Exchange"
|
||||
},
|
||||
"grant_types_description": "The application can use the following grant types to generate Access Tokens. Depending on the application's requirements, you can enable or disable grant types for this application.",
|
||||
"grant_types_label": "Grant Types",
|
||||
"id_token_expiry_label": "ID token expiry",
|
||||
"pkceMandatory": "Enable PKCE",
|
||||
"pkceSupportPlain": "Supports PKCE Plain text",
|
||||
"refresh_token_expiry_label": "Refresh token expiry",
|
||||
"refresh_token_expiry_time": "Refresh Token Expiry Time",
|
||||
"user_access_token_expiry_time": "User Access Token Expiry Time"
|
||||
},
|
||||
"token_field_label": "Access token",
|
||||
"token_generate": "Generate token",
|
||||
"token_info_description": "If the token type is JWT or API Key, please copy the token value you just created, as it is only shown in the current browser session. (The token will no longer be displayed in the UI after you reload the page.)",
|
||||
"token_info_title": "Keep your token secure",
|
||||
"token_next": "Next",
|
||||
"token_title": "Access token",
|
||||
"view_keys_description": "These settings have been pre-configured by the wizard. You can edit them later in the Manage Applications section.",
|
||||
"view_keys_title": "Key configuration",
|
||||
"view_token_description": {
|
||||
"SANDBOX": "Scopes control what API resources the app can access. For your convenience, the system auto‑selects all scopes when you create an access token.",
|
||||
"PRODUCTION": "Scope App Production refers to the range of API resources that the application has connected to in Production"
|
||||
},
|
||||
"view_token_scope": "Scope",
|
||||
"view_token_title": {
|
||||
"SANDBOX": "Sandbox access token",
|
||||
"PRODUCTION": "Production Access Token"
|
||||
}
|
||||
},
|
||||
"list_tabs": {
|
||||
"access_key": "Access Key",
|
||||
"access_token": "Access Token",
|
||||
"api-registration": "API registration",
|
||||
"keys": "Keys",
|
||||
"overview": "Overview"
|
||||
},
|
||||
"listing": {
|
||||
"btn": {
|
||||
"create": "Create new"
|
||||
},
|
||||
"collapse": "Show less",
|
||||
"empty": {
|
||||
"description": "Create a new application to start using this API",
|
||||
"title": "No applications yet"
|
||||
},
|
||||
"header": "Manage applications",
|
||||
"load_more": "Load more",
|
||||
"not_auth": {
|
||||
"title": "Log in to view your applications"
|
||||
}
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"loading": "Registering a new application...",
|
||||
"success": "You're all set! Application registered"
|
||||
},
|
||||
"delete_oauth_key": {
|
||||
"error": "Delete Access Key failed",
|
||||
"loading": "Deleting Access Key...",
|
||||
"success": "Access Key deleted successfully"
|
||||
},
|
||||
"delete_subscription": {
|
||||
"error": "Delete API registration failed",
|
||||
"loading": "Deleting API registration...",
|
||||
"success": "API registration deleted successfully"
|
||||
},
|
||||
"delete": {
|
||||
"error": "Delete application failed",
|
||||
"loading": "Deleting application...",
|
||||
"success": "Application deleted successfully"
|
||||
},
|
||||
"generate_access_token": {
|
||||
"error": "Access token generate failed",
|
||||
"loading": "Generating access token...",
|
||||
"success": "Access token generated successfully"
|
||||
},
|
||||
"generate_api_key": {
|
||||
"loading": "Generating API key...",
|
||||
"success": "API key generated successfully"
|
||||
},
|
||||
"generate_keys": {
|
||||
"error": "Generate Keys failed",
|
||||
"loading": "Generating Keys...",
|
||||
"success": "Keys generated successfully"
|
||||
},
|
||||
"subscribe": {
|
||||
"error": "Register API failed",
|
||||
"loading": "Requesting API testing",
|
||||
"success": "API successfully registered for {name}"
|
||||
},
|
||||
"update_keys_config": {
|
||||
"error": "Save changes failed",
|
||||
"loading": "Saving changes...",
|
||||
"success": "Changes saved successfully"
|
||||
},
|
||||
"update": {
|
||||
"error": "Update application name failed",
|
||||
"loading": "Updating application name...",
|
||||
"success": "Application name updated successfully"
|
||||
}
|
||||
},
|
||||
"overview": {
|
||||
"access_token_quota": "Access token quota",
|
||||
"owner": "Application owner",
|
||||
"tier": "Tier",
|
||||
"workflow_status": "Workflow status"
|
||||
},
|
||||
"update": {
|
||||
"loading": "Updating application name...",
|
||||
"success": "Application name updated"
|
||||
}
|
||||
},
|
||||
"support": {
|
||||
"contact": {
|
||||
"email": "Email",
|
||||
"email_value": "support@techcombank.com.vn",
|
||||
"heading": "Look for something else?",
|
||||
"hotline": "Hotline",
|
||||
"hotline_value": "028 xxx xxxx",
|
||||
"leave_request": "Or leave a request",
|
||||
"subheading": "Contact us directly and we'll be happy to help!"
|
||||
},
|
||||
"empty": {
|
||||
"no_result_after": "\".",
|
||||
"no_result_before": "We currently have no matching results for \""
|
||||
},
|
||||
"faq": {
|
||||
"categories": {
|
||||
"account_registration": "Account registration",
|
||||
"authentication": "Authentication"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"actions_cancel": "Cancel",
|
||||
"actions_submit": "Submit",
|
||||
"company_label": "Company",
|
||||
"description_label": "Description",
|
||||
"description_placeholder": "Enter your message...",
|
||||
"email_label": "Email",
|
||||
"full_name_label": "Full name",
|
||||
"phone_number_label": "Phone number",
|
||||
"request_type_label": "Request type"
|
||||
},
|
||||
"page": {
|
||||
"search_placeholder": "What are you looking for?",
|
||||
"title": "Frequently Asked"
|
||||
},
|
||||
"request_type_options": {
|
||||
"business": "Business",
|
||||
"other": "Other",
|
||||
"technical": "Technical"
|
||||
},
|
||||
"title": "Leave a request",
|
||||
"toast": {
|
||||
"loading": "Submitting request...",
|
||||
"success": "Request submitted successfully"
|
||||
},
|
||||
"guide": {
|
||||
"page": {
|
||||
"title": "Guide",
|
||||
"search_placeholder": "What are you looking for?"
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"account": {
|
||||
"btn": {
|
||||
"changepassword": "Change password",
|
||||
"logout": "Log out"
|
||||
},
|
||||
"changepassword": {
|
||||
"fields": {
|
||||
"confirmpassword": "Confirm new password",
|
||||
"currentpassword": "Current password",
|
||||
"newpassword": "New password"
|
||||
},
|
||||
"title": "Change password",
|
||||
"validation": {
|
||||
"correct": "Correct password!",
|
||||
"notcorrect": "Incorrect password",
|
||||
"notsame": "Not the same password"
|
||||
}
|
||||
},
|
||||
"logout": {
|
||||
"btn": {
|
||||
"confirm": "Log out",
|
||||
"stay": "Cancel"
|
||||
},
|
||||
"description": "You’ll need to sign in again next time",
|
||||
"title": "Log out of this account?"
|
||||
}
|
||||
},
|
||||
"btn": {
|
||||
"cancel": "Cancel",
|
||||
"save": "Save changes"
|
||||
},
|
||||
"businessinfo": {
|
||||
"fields": {
|
||||
"businesssector": "Business sector",
|
||||
"companyaddress": "Company address",
|
||||
"companyname": "Company name",
|
||||
"taxnumber": "Tax number"
|
||||
},
|
||||
"title": "Company profile"
|
||||
},
|
||||
"mess": {
|
||||
"businessinfo": {
|
||||
"update": {
|
||||
"loading": "Updating business information...",
|
||||
"success": "Business information updated successfully"
|
||||
}
|
||||
},
|
||||
"changepassword": {
|
||||
"loading": "Changing password...",
|
||||
"success": "Password changed successfully"
|
||||
},
|
||||
"representative": {
|
||||
"update": {
|
||||
"loading": "Updating representative information...",
|
||||
"success": "Representative information updated successfully"
|
||||
}
|
||||
},
|
||||
"userinfo": {
|
||||
"update": {
|
||||
"loading": "Updating user information...",
|
||||
"success": "User information updated successfully"
|
||||
}
|
||||
}
|
||||
},
|
||||
"page": {
|
||||
"title": "Profile"
|
||||
},
|
||||
"representative": {
|
||||
"fields": {
|
||||
"email": "Email",
|
||||
"fullname": "Full name",
|
||||
"phone": "Phone number"
|
||||
},
|
||||
"title": "Representative"
|
||||
},
|
||||
"userinfo": {
|
||||
"fields": {
|
||||
"email": "Email",
|
||||
"fullname": "Full name",
|
||||
"phone": "Phone number"
|
||||
},
|
||||
"title": "User profile"
|
||||
}
|
||||
},
|
||||
"signup": {
|
||||
"btn": {
|
||||
"login": "Log in",
|
||||
"signup": "Create an account",
|
||||
"resend": "Send email verification",
|
||||
"done": "Done"
|
||||
},
|
||||
"fields": {
|
||||
"business_sector": {
|
||||
"commerce": "Commerce",
|
||||
"education": "Education",
|
||||
"finance": "Finance",
|
||||
"label": "Business sector",
|
||||
"service": "Service",
|
||||
"technology": "Technology"
|
||||
},
|
||||
"captcha": {
|
||||
"label": "Captcha",
|
||||
"placeholder": "Enter CAPTCHA code on the left"
|
||||
},
|
||||
"companyemail": "Company email",
|
||||
"companyname": "Company name",
|
||||
"confirmpassword": {
|
||||
"label": "Confirm password",
|
||||
"match": "The passwords match",
|
||||
"not_match": "Not the same password"
|
||||
},
|
||||
"fullname": "Full name",
|
||||
"mobilenumber": "Mobile number",
|
||||
"password": "New password",
|
||||
"radio": {
|
||||
"business-owner": "I am a business owner",
|
||||
"developer": "I am a developer"
|
||||
},
|
||||
"taxnumber": "Tax number"
|
||||
},
|
||||
"form": {
|
||||
"hint": "Already had an account?",
|
||||
"title": "Join Techcombank Open API"
|
||||
},
|
||||
"legal": {
|
||||
"agreeprefix": "I agree to the",
|
||||
"terms": "Terms & Conditions"
|
||||
},
|
||||
"mess": {
|
||||
"signup": {
|
||||
"loading": "Registering account...",
|
||||
"success": "Account registered successfully"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"digit": "At least 1 number",
|
||||
"length": "Between 8 to 20 characters",
|
||||
"lower": "At least 1 lowercase letter",
|
||||
"special": "At least 1 special character",
|
||||
"upper": "At least 1 UPPERCASE LETTER"
|
||||
},
|
||||
"status": {
|
||||
"success": {
|
||||
"title": "Verification email sent!",
|
||||
"description": "Open your email and tap the verification link to confirm"
|
||||
},
|
||||
"pending": {
|
||||
"title": "Account not verified",
|
||||
"description": "Resend the verification email to continue"
|
||||
},
|
||||
"create": {
|
||||
"title": "Join Techcombank Open API",
|
||||
"description": "Great job finishing everything! One last step: open your email and tap the verification link to confirm."
|
||||
}
|
||||
},
|
||||
"callback": {
|
||||
"expired": {
|
||||
"title": "Verification link expired",
|
||||
"description": "Let's start fresh and sign up again. This time, don't forget to confirm by email before the link expires.",
|
||||
"btn": {
|
||||
"signup": "Sign up"
|
||||
}
|
||||
},
|
||||
"verified": {
|
||||
"countdown": "{count, plural, =1 {1 second} other {# seconds}}",
|
||||
"title": "Account verified!",
|
||||
"redirect": "We'll take you to the login page in <strong>{countdown}</strong>, or you can",
|
||||
"btn": {
|
||||
"login": "Log in now"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recaptcha": {
|
||||
"execute_error": "Verification error. Please reload the page and try again.",
|
||||
"no_token": "Could not get verification token. Please reload the page.",
|
||||
"verify_failed": "Verification failed. Please try again.",
|
||||
"score_low": "Verification did not pass. Please try again."
|
||||
}
|
||||
},
|
||||
"news": {
|
||||
"highlights": {
|
||||
"title": "Highlights",
|
||||
"subtitle": "From the world of Techcombank Open API"
|
||||
}
|
||||
}
|
||||
}
|
||||
990
public/locales/vi.json
Normal file
@@ -0,0 +1,990 @@
|
||||
{
|
||||
"login": {
|
||||
"btn": {
|
||||
"login": "Đăng nhập",
|
||||
"signup": "Tạo tài khoản"
|
||||
},
|
||||
"fields": {
|
||||
"forgot_password": "Quên mật khẩu?",
|
||||
"password": "Mật khẩu",
|
||||
"username": "Tên đăng nhập"
|
||||
},
|
||||
"form": {
|
||||
"hint": "Chưa có tài khoản?",
|
||||
"title": "Đăng nhập vào Open API"
|
||||
},
|
||||
"mess": {
|
||||
"get_token": {
|
||||
"loading": "Đang chuyển hướng...",
|
||||
"success": "Đăng nhập thành công"
|
||||
},
|
||||
"signin": {
|
||||
"error": "Đăng nhập thất bại",
|
||||
"loading": "Đang đăng nhập...",
|
||||
"success": "Đăng nhập thành công"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layout": {
|
||||
"confirm": {
|
||||
"logout": {
|
||||
"description": "Quý đối tác sẽ cần đăng nhập lại vào lần tiếp theo muốn sử dụng dịch vụ Open API",
|
||||
"title": "Đăng xuất khỏi tài khoản này?"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"copyright": "Toàn bộ bản quyền thuộc về © 2026 Techcombank",
|
||||
"hotline": "HOTLINE",
|
||||
"language": "Ngôn ngữ:",
|
||||
"privacypolicy": "Chính sách bảo mật",
|
||||
"stayconnected": "Kết nối với Techcombank",
|
||||
"termsconditions": "Điều khoản & Điều kiện"
|
||||
},
|
||||
"header": {
|
||||
"apiproducts": "Sản phẩm API",
|
||||
"application": "Ứng dụng",
|
||||
"certificate": "Chữ ký số",
|
||||
"home": "Trang chủ",
|
||||
"login": "Đăng nhập",
|
||||
"logout": "Đăng xuất",
|
||||
"myaccount": "Quản lý tài khoản",
|
||||
"news": "Tin tức",
|
||||
"profile": "Quản lý tài khoản",
|
||||
"reg_ticket": "Kết nối Production",
|
||||
"support": "Hỗ trợ",
|
||||
"tryout": "Kiểm thử Sandbox",
|
||||
"support_faqs": "FAQs",
|
||||
"support_guide": "Hướng dẫn"
|
||||
},
|
||||
"mess": {
|
||||
"logout": {
|
||||
"success": "Đăng xuất thành công!"
|
||||
}
|
||||
}
|
||||
},
|
||||
"form": {
|
||||
"btn": {
|
||||
"accept": "Xác nhận",
|
||||
"cancel": "Hủy",
|
||||
"exit": "Thoát",
|
||||
"save": "Lưu thay đổi"
|
||||
},
|
||||
"confirm": {
|
||||
"description": "Thông tin bạn vừa cập nhận sẽ không được hệ thống lưu lại",
|
||||
"title": "Thoát mà không lưu?"
|
||||
},
|
||||
"error": {
|
||||
"application": {
|
||||
"description": {
|
||||
"length": "Tối đa 512 ký tự"
|
||||
},
|
||||
"name": {
|
||||
"invalid": "Tên ứng dụng chỉ bao gồm chữ, số, khoảng trắng",
|
||||
"length": "Tên ứng dụng phải từ 3 - 50 ký tự (không tính khoảng trắng ở đầu và cuối)",
|
||||
"valid": "Tên ứng dụng không được để trống hoặc chỉ chứa khoảng trắng"
|
||||
}
|
||||
},
|
||||
"callbackUrl": {
|
||||
"required": "Callback URL không được để trống"
|
||||
},
|
||||
"reg_ticket": {
|
||||
"company_address": {
|
||||
"invalid": "Địa chỉ doanh nghiệp chỉ được chứa chữ, số, dấu phẩy, dấu chấm, dấu gạch ngang và dấu gạch chéo",
|
||||
"length": "Địa chỉ doanh nghiệp phải từ 5 - 200 ký tự"
|
||||
},
|
||||
"description": {
|
||||
"invalid": "Mô tả yêu cầu không được chứa ký tự đặc biệt",
|
||||
"length": "Trường mô tả không được vượt quá 500 ký tự"
|
||||
},
|
||||
"representative_email": {
|
||||
"invalid": "Email không đúng định dạng",
|
||||
"length": "Email phải từ 5 đến 35 ký tự"
|
||||
},
|
||||
"representative_phone": {
|
||||
"invalid": "Số điện thoại không đúng định dạng",
|
||||
"length": "Số điện thoại phải từ 10 đến 11 ký tự"
|
||||
}
|
||||
},
|
||||
"required": "Vui lòng nhập {label, select, undefined {này} other {{label}}}",
|
||||
"signup": {
|
||||
"business_type": "Vui lòng chọn lĩnh vực kinh doanh",
|
||||
"companyemail": {
|
||||
"invalid": "Email doanh nghiệp không đúng định dạng",
|
||||
"length": "Email doanh nghiệp phải từ 5 đến 35 ký tự"
|
||||
},
|
||||
"companyname": {
|
||||
"invalid": "Tên doanh nghiệp không được chứa ký tự đặc biệt",
|
||||
"max": "Tên doanh nghiệp không được vượt quá 100 ký tự"
|
||||
},
|
||||
"confirmpassword": {
|
||||
"mismatch": "Mật khẩu xác nhận không khớp"
|
||||
},
|
||||
"fullname": "Họ và tên phải từ 3 đến 50 ký tự",
|
||||
"mobilenumber": {
|
||||
"invalid": "Số điện thoại không đúng định dạng",
|
||||
"length": "Số điện thoại phải từ 10 đến 11 ký tự"
|
||||
},
|
||||
"password": "Vui lòng nhập mật khẩu đúng định dạng",
|
||||
"taxnumber": "Mã số thuế chỉ được phép chứa chữ số và có độ dài từ 10 đến 13 ký tự",
|
||||
"tnc": "Vui lòng đọc và đồng ý với Điều khoản điều kiện"
|
||||
}
|
||||
},
|
||||
"input": {
|
||||
"placeholder": "Nhập {label, select, undefined {thông tin} other {{label}}}"
|
||||
},
|
||||
"select": {
|
||||
"placeholder": "Chọn {label, select, undefined {thông tin} other {{label}}}"
|
||||
}
|
||||
},
|
||||
"certificate": {
|
||||
"badge": {
|
||||
"expiring_soon": "Sắp hết hạn"
|
||||
},
|
||||
"btn": {
|
||||
"back": "Quay lại",
|
||||
"continue": "Tiếp tục",
|
||||
"download": "Tải xuống",
|
||||
"replace": "Thay thế",
|
||||
"upload": "Tải lên"
|
||||
},
|
||||
"fields": {
|
||||
"action": "Hành động",
|
||||
"end_date": "Hết hạn",
|
||||
"expiration_date": "Ngày hết hạn",
|
||||
"filter": {
|
||||
"title": "Bộ lọc"
|
||||
},
|
||||
"issuer": "Issuer",
|
||||
"key_id": "Key ID",
|
||||
"serial_number": "Số sê-ri",
|
||||
"start_date": "Bắt đầu",
|
||||
"status": "Trạng thái",
|
||||
"subject": "Subject",
|
||||
"tpp_id": "Tên đối tác",
|
||||
"tpp_name": "Tên đối tác"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Tất cả",
|
||||
"search": {
|
||||
"placeholder": "Tìm kiếm"
|
||||
},
|
||||
"total": "{total} chữ ký số"
|
||||
},
|
||||
"listing": {
|
||||
"header": "Chữ ký số"
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"loading": "Đang tạo chứng nhận…",
|
||||
"success": "Tạo chứng nhận thành công"
|
||||
},
|
||||
"upload": {
|
||||
"error": "Tải lên chứng nhận thất bại",
|
||||
"loading": "Đang tải lên chứng nhận…",
|
||||
"success": "Tải lên chứng nhận thành công"
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"title": "Thay đổi tập tin"
|
||||
},
|
||||
"status": {
|
||||
"active": "Có hiệu lực",
|
||||
"in_active": "Vô hiệu lực",
|
||||
"pending": "Chờ duyệt",
|
||||
"reject": "Từ chối"
|
||||
},
|
||||
"upload": {
|
||||
"erorr": {
|
||||
"max_size": "Tập tin không được vượt quá {maxKb} KB"
|
||||
},
|
||||
"title": "Tải lên tập tin"
|
||||
}
|
||||
},
|
||||
"regTicket": {
|
||||
"btn": {
|
||||
"back": "Quay lại",
|
||||
"cancel": "Hủy",
|
||||
"compelete": "Hoàn thành",
|
||||
"create": "Gửi yêu cầu kết nối",
|
||||
"delete": "Xóa",
|
||||
"down_cert": "Chứng nhận",
|
||||
"edit": "Chỉnh sửa"
|
||||
},
|
||||
"company_info": {
|
||||
"title": "Thông tin doanh nghiệp"
|
||||
},
|
||||
"conection": {
|
||||
"title": "Yêu cầu kết nối"
|
||||
},
|
||||
"create": {
|
||||
"header": "Kết nối trên Production",
|
||||
"status": {
|
||||
"description": "Techcombank Open API sẽ liên hệ người đại diện của doanh nghiệp để hoàn tất triển khai kết nối",
|
||||
"title": "Gửi yêu cầu thành công"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"action": "Hành động",
|
||||
"api": "Sản phẩm API",
|
||||
"applicationName": "Tên ứng dụng",
|
||||
"business_sector": "Lĩnh vực kinh doanh",
|
||||
"certificate": "Giấy chứng nhận hoàn thành kiểm thử",
|
||||
"company_address": "Địa chỉ doanh nghiệp",
|
||||
"company_name": "Tên doanh nghiệp",
|
||||
"description": "Mô tả yêu cầu",
|
||||
"email": "Email",
|
||||
"fullName": "Họ và tên",
|
||||
"phone": "Số điện thoại",
|
||||
"start_date": "Bắt đầu",
|
||||
"status": "Trạng thái",
|
||||
"subject": "Subject",
|
||||
"taxcode": "Mã số thuế",
|
||||
"tpp_name": "Tên đối tác"
|
||||
},
|
||||
"listing": {
|
||||
"header": "Quản lý Reg Ticket"
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"error": "Tạo kết nối Production thất bại",
|
||||
"loading": "Đang tạo kết nối Production..."
|
||||
},
|
||||
"download": {
|
||||
"error": "Tải xuống chứng nhận thất bại",
|
||||
"loading": "Đang tải xuống chứng nhận..."
|
||||
}
|
||||
},
|
||||
"replace": {
|
||||
"title": "Thay đổi tập tin"
|
||||
},
|
||||
"representative": {
|
||||
"title": "Người đại diện"
|
||||
},
|
||||
"status": {
|
||||
"active": "Hoạt động",
|
||||
"in_active": "Ngừng hoạt động",
|
||||
"pending": "Chờ duyệt",
|
||||
"reject": "Từ chối"
|
||||
},
|
||||
"upload": {
|
||||
"title": "Tải lên tập tin"
|
||||
},
|
||||
"user_info": {
|
||||
"title": "Thông tin người dùng"
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"btn": {
|
||||
"collapse": "Thu gọn",
|
||||
"got_it": "Ok, đã hiểu",
|
||||
"load_more": "Xem thêm",
|
||||
"logout": "Đăng xuất"
|
||||
},
|
||||
"copy": {
|
||||
"error": "Không thể sao chép vào bộ nhớ tạm",
|
||||
"inline_success": "Đã sao chép",
|
||||
"prompt": "Sao chép vào bộ nhớ tạm",
|
||||
"success": "Đã sao chép vào bộ nhớ tạm"
|
||||
},
|
||||
"empty": {
|
||||
"no_products_description": "Hiện tại chưa có sản phẩm API nào. Vui lòng quay lại sau.",
|
||||
"no_products_title": "Không có sản phẩm API nào",
|
||||
"search": "Không có kết quả phù hợp với từ khoá \"{value}\""
|
||||
},
|
||||
"error": {
|
||||
"code": "Mã hỗ trợ",
|
||||
"description": "Không thể xử lý yêu cầu. Vui lòng thử lại.",
|
||||
"title": "Ôi không, dịch vụ bị gián đoạn"
|
||||
},
|
||||
"table": {
|
||||
"btn": {
|
||||
"create": "Thêm mới dữ liệu"
|
||||
},
|
||||
"empty": "Không có dữ liệu."
|
||||
},
|
||||
"upload_file": {
|
||||
"drop_zone": {
|
||||
"suffix": "hoặc kéo thả tập tin tại đây",
|
||||
"upload_action": "Tải lên"
|
||||
},
|
||||
"file_list": {
|
||||
"remove": "Xóa"
|
||||
},
|
||||
"toast": {
|
||||
"duplicate_skip": "Bỏ qua file trùng: {name}",
|
||||
"max_files": "Chỉ được chọn tối đa {maxFiles} file. Bạn đã chọn {count} file."
|
||||
}
|
||||
}
|
||||
},
|
||||
"api_product": {
|
||||
"about": {
|
||||
"image_alt": "Luồng sản phẩm API",
|
||||
"spec_button": "API Specs.PDF",
|
||||
"title": "Giới thiệu API"
|
||||
},
|
||||
"breadcrumb": {
|
||||
"current": "Sản phẩm API",
|
||||
"home": "Trang chủ"
|
||||
},
|
||||
"btn": {
|
||||
"back": "Quay lại {name}",
|
||||
"download": "Tải xuống",
|
||||
"get_access_key": "Tạo Test Key",
|
||||
"get_access_token": "Tạo mã token",
|
||||
"login": "Đăng nhập",
|
||||
"request": "Kết nối trên Production",
|
||||
"signup": "Đăng ký"
|
||||
},
|
||||
"card": {
|
||||
"api_count": "{count} APIs"
|
||||
},
|
||||
"confirm": {
|
||||
"login": {
|
||||
"title": "Đăng nhập để xem thông tin"
|
||||
}
|
||||
},
|
||||
"empty": {
|
||||
"certificate": {
|
||||
"description": "Sau đó, chúng tôi sẽ cung cấp chứng nhận và cho phép kết nối trên Production",
|
||||
"title": "Giấy chứng nhận chưa sẵn sàng"
|
||||
},
|
||||
"try_suggestions": "Thử tìm kiếm theo các từ khoá dưới đây nhé?"
|
||||
},
|
||||
"filter": {
|
||||
"all": "Tất cả",
|
||||
"recent_searches": "Tìm kiếm gần đây",
|
||||
"search_placeholder": "Tìm kiếm sản phẩm API"
|
||||
},
|
||||
"hint": {
|
||||
"certificate": {
|
||||
"description": "Kiểm thử hoàn tất. API đã sẵn sàng kết nối trên Production."
|
||||
},
|
||||
"empty_certificate": {
|
||||
"description": "Hoàn thành tất cả kịch bản kiểm thử để tự tin kết nối trên môi trường thật"
|
||||
}
|
||||
},
|
||||
"keys": {
|
||||
"oauth2_tokens": {
|
||||
"access_key_addon": "Access Key:",
|
||||
"access_key_description": "Tạo mã token để truy cập và kiểm thử API cho ứng dụng",
|
||||
"access_key_label": "Access Key",
|
||||
"access_token_addon": "Authorization: Bearer",
|
||||
"access_token_description": "Tạo mã token để truy cập và kiểm thử API cho ứng dụng",
|
||||
"access_token_label": "Access Token"
|
||||
}
|
||||
},
|
||||
"list": {
|
||||
"result_count_label": "Sản phẩm API"
|
||||
},
|
||||
"mess": {
|
||||
"download_postman_collection": {
|
||||
"error": "Tải xuống Postman Collection thất bại"
|
||||
},
|
||||
"download": {
|
||||
"loading": "Đang tải API Specs.PDF...",
|
||||
"success": "Tải xuống API Specs.PDF thành công"
|
||||
}
|
||||
},
|
||||
"resource_table": {
|
||||
"business_plan": "Tần suất gọi (mỗi giờ)",
|
||||
"name": "Tên API",
|
||||
"no_resources": "Không có tài nguyên nào",
|
||||
"no_results": "Không có kết quả.",
|
||||
"scope": "Phạm vi",
|
||||
"verb": "Loại"
|
||||
},
|
||||
"steps": {
|
||||
"items": {
|
||||
"step_1_description": "Đăng ký thông tin ứng dụng và khởi tạo key trên hệ thống. Sau đó, xác nhận key để hoàn tất thiết lập.",
|
||||
"step_1_label": "Bước 1",
|
||||
"step_1_title": "Đăng ký ứng dụng",
|
||||
"step_2_description": "Đăng ký kiểm thử API cho ứng dụng đã thiết lập, và thử nghiệm trong môi trường Sandbox của Techcombank.",
|
||||
"step_2_label": "Bước 2",
|
||||
"step_2_link_text": "Xem hướng dẫn",
|
||||
"step_2_title": "Kiểm thử trên Sandbox",
|
||||
"step_3_description": "Gửi yêu cầu kết nối API trên môi trường thật và chờ phê duyệt. Sau đó, triển khai và theo dõi hiệu suất API.",
|
||||
"step_3_label": "Bước 3",
|
||||
"step_3_title": "Kết nối trên môi trường thật"
|
||||
},
|
||||
"section_title": "Hướng dẫn sử dụng",
|
||||
"see_guides": "Xem hướng dẫn"
|
||||
},
|
||||
"title": "Sản phẩm API",
|
||||
"tryout": {
|
||||
"guide": {
|
||||
"step1_content": "Tải xuống và sử dụng certificate do Techcombank cung cấp trên môi trường Sandbox để xách định request cần truyền. Lưu ý: Trên môi trường Production, bạn sẽ sử dụng đoạn script do Techcombank cung cấp để tự động sinh certificate cho ứng dụng theo hướng dẫn.",
|
||||
"step1_label": "Bước 1",
|
||||
"step2_content": "Ký và mã hóa request theo hướng dẫn.",
|
||||
"step2_label": "Bước 2",
|
||||
"step3_label": "Bước 3",
|
||||
"step3_li1": "Cập nhật payload request bằng dữ liệu đã được mã hóa ở Bước 2.",
|
||||
"step3_li2": "Thực hiện gửi request lên Sandbox để kiểm thử.",
|
||||
"step3_title": "Gửi request kiểm thử",
|
||||
"step4_label": "Bước 4",
|
||||
"step4_li1": "Sau khi nhận response từ Sandbox, tiến hành giải mã theo hướng dẫn.",
|
||||
"step4_li2": "Xem thông tin chi tiết của response sau khi giải mã thành công.",
|
||||
"step4_title": "Nhận và giải mã response",
|
||||
"title": "Hướng dẫn các bước kiểm thử trên Sandbox"
|
||||
},
|
||||
"header": "Kiểm thử Sandbox",
|
||||
"info": {
|
||||
"description": "Đảm bảo tích hợp API ổn định và an toàn trước khi triển khai trên môi trường thật.",
|
||||
"link": "Tìm hiểm thêm",
|
||||
"title": "Hoàn thành tất cả kịch bản kiểm thử để mở khoá tính năng kết nối Production"
|
||||
},
|
||||
"security": {
|
||||
"application": "Ứng dụng",
|
||||
"security_type": "Loại bảo mật",
|
||||
"title": "Bảo mật"
|
||||
},
|
||||
"tabs": {
|
||||
"certificate": "Chứng nhận"
|
||||
}
|
||||
},
|
||||
"version_label": "Version {version}"
|
||||
},
|
||||
"application": {
|
||||
"btn": {
|
||||
"back": "Quay lại {name}",
|
||||
"cancel": "Huỷ",
|
||||
"close": "Đóng",
|
||||
"continue": "Tiếp tục",
|
||||
"create": "Ứng dụng mới",
|
||||
"default_back": "Quay lại",
|
||||
"delete": "Xác nhận",
|
||||
"delete_application": "Xoá ứng dụng",
|
||||
"detail": "Xem chi tiết ứng dụng",
|
||||
"generate": "Ứng dụng mới",
|
||||
"generate_keys": "Tạo Keys mới",
|
||||
"load_more": "Xem thêm",
|
||||
"login": "Đăng nhập",
|
||||
"next": "Tiếp tục",
|
||||
"save_changes": "Lưu thay đổi",
|
||||
"subscribe": "Đăng ký kiểm thử API",
|
||||
"test_sandbox": "Kiểm thử trên Sandbox"
|
||||
},
|
||||
"card": {
|
||||
"badge": {
|
||||
"subscribed": "Đã đăng ký API này"
|
||||
},
|
||||
"fields": {
|
||||
"subscription": "Subscription",
|
||||
"tier": "Tier"
|
||||
}
|
||||
},
|
||||
"confirm_delete_key": {
|
||||
"description": "Bạn có thể tạo Access Key mới sau khi xoá Key hiện tại",
|
||||
"title": "Xoá Access Key?"
|
||||
},
|
||||
"confirm_delete": {
|
||||
"description": "Test case và certificate cũng sẽ bị xoá vĩnh viễn",
|
||||
"title": "Xoá ứng dụng <name>{value}</name>?"
|
||||
},
|
||||
"confirm_subscribe": {
|
||||
"description": "Chỉ một ứng dụng có thể được sử dụng để đăng ký và kiểm tra API tại một thời điểm. Các ứng dụng khác sẽ bị vô hiệu hóa cho đến khi bạn hủy đăng ký API hiện tại.",
|
||||
"title": "Bạn chỉ có thể đăng ký kiểm thử API cho một ứng dụng duy nhất"
|
||||
},
|
||||
"create": {
|
||||
"header": "Ứng dụng mới"
|
||||
},
|
||||
"detail": {
|
||||
"api_registration": {
|
||||
"confirm_delete": {
|
||||
"description": "Test case và certificate cũng sẽ bị xoá vĩnh viễn",
|
||||
"title": "Xóa <api_name>{api_name_value}</api_name> khỏi ứng dụng <app_name>{app_name_value}</app_name>?"
|
||||
},
|
||||
"empty_description": "Vui lòng quay về trang API để đăng ký cho ứng dụng này",
|
||||
"empty_title": "Ứng dụng này chưa đăng ký API nào.",
|
||||
"error": "Không thể tải danh sách API đã đăng ký.",
|
||||
"table": {
|
||||
"action": "Hành động",
|
||||
"api": "API",
|
||||
"api_status": "Trạng thái API",
|
||||
"delete": "Xóa đăng ký",
|
||||
"plan": "Gói API",
|
||||
"subscription_status": "Trạng thái đăng ký"
|
||||
},
|
||||
"title": "Quản lý đăng ký API"
|
||||
},
|
||||
"coming_soon": "Tính năng sẽ sớm ra mắt",
|
||||
"header": "Chi tiết ứng dụng",
|
||||
"save_changes": "Lưu thay đổi",
|
||||
"sections": {
|
||||
"access_token": "API Key",
|
||||
"api_registration": "Quản lý đăng ký API",
|
||||
"keys": "Keys",
|
||||
"oauth2_tokens": "OAuth2 Tokens",
|
||||
"overview": "Tổng quan"
|
||||
},
|
||||
"subscription_count": "{count} đăng ký"
|
||||
},
|
||||
"fields": {
|
||||
"description": {
|
||||
"label": "Mô tả ứng dụng"
|
||||
},
|
||||
"name": {
|
||||
"description": "Đặt tên dễ nhớ và dễ nhận diện để thuận tiện tìm kiếm sau này",
|
||||
"label": "Tên ứng dụng"
|
||||
},
|
||||
"quota": {
|
||||
"description": "Quota được phân bố sẽ được chia sẻ giữa tất cả các API đăng ký cho ứng dụng này",
|
||||
"label": "Access token quota",
|
||||
"placeholder": "10 token/phút"
|
||||
}
|
||||
},
|
||||
"keys": {
|
||||
"access_token": {
|
||||
"description": "Giới hạn sử dụng key",
|
||||
"description_common": "Nhấn Tạo Access Token để tạo JWT token độc lập.",
|
||||
"helper": "Chọn cách bạn muốn giới hạn việc sử dụng API key này.",
|
||||
"http_invalid": "Vui lòng nhập URL hoặc pattern hợp lệ.",
|
||||
"http_placeholder": "www.example.com/path",
|
||||
"http": {
|
||||
"add": "Thêm HTTP Referer",
|
||||
"examples_description": "Chỉ định các URL hoặc pattern URL để giới hạn nơi key này được sử dụng.",
|
||||
"examples_intro": "Ví dụ:",
|
||||
"examples_title": "Ví dụ về URL được phép giới hạn website:",
|
||||
"submit": "Tạo Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"ip_invalid": "Vui lòng nhập địa chỉ IP hợp lệ.",
|
||||
"ip_placeholder": "Nhập địa chỉ IP",
|
||||
"ip": {
|
||||
"add": "Thêm địa chỉ IP",
|
||||
"examples_description": "Chỉ định địa chỉ IPv4, IPv6 hoặc subnet sử dụng ký hiệu CIDR.",
|
||||
"examples_intro": "Ví dụ:",
|
||||
"examples_title": "Ví dụ về địa chỉ IP được phép:",
|
||||
"submit": "Tạo Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"modal": {
|
||||
"copy_description": "Nếu loại Token là JWT hoặc API Key, vui lòng sao chép giá trị token được tạo này vì nó sẽ chỉ hiển thị trong phiên trình duyệt hiện tại. (Token sẽ không hiển thị trên UI sau khi trang được làm mới.)",
|
||||
"copy_title": "Vui lòng sao chép API Key",
|
||||
"generate_title": "Tạo API Key",
|
||||
"unlimited_validity": "API Key có hiệu lực vô thời hạn",
|
||||
"validity_period": {
|
||||
"description": "Đặt khoảng thời gian hết hạn để xác định thời hạn hiệu lực của Token sau khi được tạo. Hãy đặt giá trị này là -1 để đảm bảo rằng API Key không bao giờ hết hạn.",
|
||||
"label": "Thời gian hiệu lực của API Key",
|
||||
"placeholder": "Nhập thời gian theo giây"
|
||||
}
|
||||
},
|
||||
"none": {
|
||||
"submit": "Tạo Access Token",
|
||||
"title": "API Key"
|
||||
},
|
||||
"option": {
|
||||
"http": "HTTP Referer",
|
||||
"ip": "Địa chỉ IP",
|
||||
"none": "Không giới hạn"
|
||||
},
|
||||
"title": "API Key",
|
||||
"token_field": {
|
||||
"bearer_prefix": "Authorization: Bearer",
|
||||
"description": "Lấy access token để thử API trong ứng dụng của bạn",
|
||||
"label": "Access token"
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"table": {
|
||||
"header_key_manager": "Key manager",
|
||||
"header_resident_key_manager": "Resident Key Manager",
|
||||
"rows": {
|
||||
"environment_label": "Môi trường",
|
||||
"environment_value": "Sandbox",
|
||||
"grant_types_label": "Grant Types",
|
||||
"grant_types_value": "Refresh Token, SAML2, Password, Client Credentials, IWA-NTLM, Device Code, Code, JWT,",
|
||||
"revoke_endpoint_label": "Revoke Endpoint",
|
||||
"token_endpoint_label": "Token Endpoint",
|
||||
"user_info_endpoint_label": "User Info Endpoint",
|
||||
"user_info_endpoint_value": "-"
|
||||
}
|
||||
}
|
||||
},
|
||||
"consumer_key": {
|
||||
"generate_curl": {
|
||||
"label_1": "Lệnh CURL sau đây cho thấy cách tạo mã truy cập bằng cách sử dụng loại cấp quyền Password Grant:",
|
||||
"label_2": "Tương tự, bạn có thể tạo mã truy cập bằng cách sử dụng loại cấp quyền Client Credentials với lệnh CURL sau:",
|
||||
"title": "CURL để tạo Access Token"
|
||||
}
|
||||
},
|
||||
"modal": {
|
||||
"api_key_label": "Access Token",
|
||||
"copy_description": "Nếu loại token là JWT hoặc API key, vui lòng sao chép giá trị token được tạo này vì hệ thống chỉ hiển thị trong phiên làm việc hiện tại trên trình duyệt.",
|
||||
"copy_title": "Vui lòng gen và sao chép Access Token",
|
||||
"validity_period_label": "Validity Period",
|
||||
"validity_period_placeholder": "Nhập validityPeriod"
|
||||
},
|
||||
"oauth2_tokens": {
|
||||
"access_token_addon": "Authorization: Bearer",
|
||||
"access_token_description": "Tạo mã token để truy cập và kiểm thử API cho ứng dụng",
|
||||
"access_token_label": "Access Token",
|
||||
"application_access_token_expiry_time": "Thời gian hết hạn Application Access Token",
|
||||
"bypassClientCredentials": "Client công khai",
|
||||
"callback_url_description": "Callback URL là một redirection URI trong client application, được authorization server sử dụng để chuyển hướng user-agent của client (thường là web browser) quay lại sau khi cấp quyền truy cập",
|
||||
"callback_url_label": "Callback URL",
|
||||
"consumer_key_label": "Consumer Key",
|
||||
"consumer_secret_label": "Consumer Secret",
|
||||
"consumer_section_title": "Quy định sử dụng Key",
|
||||
"curl_link": "CURL để tạo Access Token",
|
||||
"delete_key": "Xoá Keys",
|
||||
"generate_token": "Tạo Access Token",
|
||||
"grant_type": {
|
||||
"client_credentials": "Client Credentials",
|
||||
"code": "authorization_code",
|
||||
"device_code": "Device Code",
|
||||
"iwa_ntlm": "IWA-NTLM",
|
||||
"jwt": "JWT",
|
||||
"password": "Password",
|
||||
"refresh_token": "Refresh Token",
|
||||
"saml2": "SAML2",
|
||||
"token_exchange": "Token Exchange"
|
||||
},
|
||||
"grant_types_description": "Ứng dụng có thể sử dụng các grant type sau để tạo Access Tokens. Dựa vào yêu cầu của ứng dụng, bạn có thể bật hoặc tắt grant type cho ứng dụng này.",
|
||||
"grant_types_label": "Grant Types",
|
||||
"id_token_expiry_label": "Thời gian hết hạn ID Token",
|
||||
"pkceMandatory": "Bật PKCE",
|
||||
"pkceSupportPlain": "Hỗ trợ PKCE Plain text",
|
||||
"refresh_token_expiry_label": "Thời gian hết hạn Refresh Token",
|
||||
"refresh_token_expiry_time": "Thời gian hết hạn Refresh Token",
|
||||
"user_access_token_expiry_time": "Thời gian hết hạn User Access Token"
|
||||
},
|
||||
"token_field_label": "Access Token",
|
||||
"token_generate": "Gen Access Token",
|
||||
"token_info_description": "Nếu loại token là JWT hoặc API Key, vui lòng sao chép giá trị token vừa tạo vì nó chỉ hiển thị trong phiên trình duyệt hiện tại. (Token sẽ không hiển thị trên UI sau khi tải lại trang.)",
|
||||
"token_info_title": "Vui lòng gen và sao chép Access Token",
|
||||
"token_next": "Tiếp theo",
|
||||
"token_title": "Access Token",
|
||||
"view_keys_description": "Các cài đặt này đã được thiết lập sẵn cho trình hướng dẫn (wizard). Bạn có thể chỉnh sửa lại sau tại mục Quản lý ứng dụng.",
|
||||
"view_keys_title": "Cấu hình Key",
|
||||
"view_token_description": {
|
||||
"SANDBOX": "Scope là phạm vi các tài nguyên API mà ứng dụng có thể truy cập. Hệ thống tự động chọn tất cả các scope khi bạn tạo mã truy cập.",
|
||||
"PRODUCTION": "Scope App Production là phạm vi các tài nguyên API mà ứng dụng đã thực hiện kết nối trên Production"
|
||||
},
|
||||
"view_token_scope": "Scope",
|
||||
"view_token_title": {
|
||||
"SANDBOX": "Sandbox access token",
|
||||
"PRODUCTION": "Production Access Token"
|
||||
}
|
||||
},
|
||||
"list_tabs": {
|
||||
"access_key": "Access Key",
|
||||
"access_token": "Access Token",
|
||||
"api-registration": "Đăng ký API",
|
||||
"keys": "Keys",
|
||||
"overview": "Tổng quan"
|
||||
},
|
||||
"listing": {
|
||||
"btn": {
|
||||
"create": "Đăng ký ứng dụng"
|
||||
},
|
||||
"collapse": "Thu gọn",
|
||||
"empty": {
|
||||
"description": "Vui lòng đăng ký ứng dụng để sử dụng API",
|
||||
"title": "Chưa có ứng dụng"
|
||||
},
|
||||
"header": "Quản lý ứng dụng",
|
||||
"load_more": "Xem thêm",
|
||||
"not_auth": {
|
||||
"title": "Đăng nhập để xem thông tin"
|
||||
}
|
||||
},
|
||||
"mess": {
|
||||
"create": {
|
||||
"loading": "Đang đăng ký ứng dụng mới...",
|
||||
"success": "Đăng ký ứng dụng mới thành công!"
|
||||
},
|
||||
"delete_oauth_key": {
|
||||
"error": "Xóa Access Key thất bại",
|
||||
"loading": "Đang xóa Access Key...",
|
||||
"success": "Xóa Access Key thành công"
|
||||
},
|
||||
"delete_subscription": {
|
||||
"error": "Xóa đăng ký API thất bại",
|
||||
"loading": "Đang xóa đăng ký API...",
|
||||
"success": "Xóa đăng ký API thành công"
|
||||
},
|
||||
"delete": {
|
||||
"error": "Xóa ứng dụng thất bại",
|
||||
"loading": "Đang xoá ứng dụng...",
|
||||
"success": "Xoá ứng dụng thành công"
|
||||
},
|
||||
"generate_access_token": {
|
||||
"error": "Tạo Access Token thất bại",
|
||||
"loading": "Đang tạo Access Token...",
|
||||
"success": "Tạo Access Token thành công"
|
||||
},
|
||||
"generate_api_key": {
|
||||
"loading": "Đang tạo API Key...",
|
||||
"success": "Tạo API Key thành công"
|
||||
},
|
||||
"generate_keys": {
|
||||
"error": "Tạo Keys thất bại",
|
||||
"loading": "Đang tạo Keys...",
|
||||
"success": "Tạo Keys thành công"
|
||||
},
|
||||
"subscribe": {
|
||||
"error": "Đăng ký API thất bại",
|
||||
"loading": "Đang gửi yêu cầu kiểm thử API",
|
||||
"success": "Đăng ký API thành công cho {name}"
|
||||
},
|
||||
"update_keys_config": {
|
||||
"error": "Lưu thay đổi thất bại",
|
||||
"loading": "Đang lưu thay đổi...",
|
||||
"success": "Lưu thay đổi thành công"
|
||||
},
|
||||
"update": {
|
||||
"error": "Cập nhật tên ứng dụng thất bại",
|
||||
"loading": "Đang cập nhật tên ứng dụng...",
|
||||
"success": "Cập nhật tên ứng dụng thành công"
|
||||
}
|
||||
},
|
||||
"overview": {
|
||||
"access_token_quota": "Access token quota",
|
||||
"owner": "Application owner",
|
||||
"tier": "Tier",
|
||||
"workflow_status": "Workflow status"
|
||||
},
|
||||
"update": {
|
||||
"loading": "Đang cập nhật tên ứng dụng...",
|
||||
"success": "Cập nhật tên ứng dụng thành công"
|
||||
}
|
||||
},
|
||||
"support": {
|
||||
"contact": {
|
||||
"email": "Email",
|
||||
"email_value": "support@techcombank.com.vn",
|
||||
"heading": "Cần thêm hỗ trợ?",
|
||||
"hotline": "Hotline",
|
||||
"hotline_value": "028 xxx xxxx",
|
||||
"leave_request": "Hoặc gửi yêu cầu hỗ trợ",
|
||||
"subheading": "Liên hệ trực tiếp với chúng tôi để được hỗ trợ!"
|
||||
},
|
||||
"empty": {
|
||||
"no_result_after": "\".",
|
||||
"no_result_before": "Chúng tôi hiện không có kết quả phù hợp cho \""
|
||||
},
|
||||
"faq": {
|
||||
"categories": {
|
||||
"account_registration": "Đăng ký tài khoản",
|
||||
"authentication": "Xác thực"
|
||||
}
|
||||
},
|
||||
"fields": {
|
||||
"actions_cancel": "Hủy",
|
||||
"actions_submit": "Gửi",
|
||||
"company_label": "Công ty",
|
||||
"description_label": "Nội dung",
|
||||
"description_placeholder": "Nhập nội dung yêu cầu",
|
||||
"email_label": "Email",
|
||||
"full_name_label": "Họ và tên",
|
||||
"phone_number_label": "Số điện thoại",
|
||||
"request_type_label": "Loại yêu cầu hỗ"
|
||||
},
|
||||
"page": {
|
||||
"search_placeholder": "Bạn đang tìm kiếm điều gì?",
|
||||
"title": "Câu hỏi thường gặp"
|
||||
},
|
||||
"request_type_options": {
|
||||
"business": "Kinh doanh",
|
||||
"other": "Khác",
|
||||
"technical": "Kỹ thuật"
|
||||
},
|
||||
"title": "Gửi yêu cầu hỗ trợ",
|
||||
"toast": {
|
||||
"loading": "Đang gửi yêu cầu...",
|
||||
"success": "Gửi yêu cầu thành công"
|
||||
},
|
||||
"guide": {
|
||||
"page": {
|
||||
"title": "Hướng dẫn",
|
||||
"search_placeholder": "Bạn đang tìm kiếm điều gì?"
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"account": {
|
||||
"btn": {
|
||||
"changepassword": "Đổi mật khẩu",
|
||||
"logout": "Đăng xuất"
|
||||
},
|
||||
"changepassword": {
|
||||
"fields": {
|
||||
"confirmpassword": "Xác nhận mật khẩu mới",
|
||||
"currentpassword": "Mật khẩu hiện tại",
|
||||
"newpassword": "Mật khẩu mới"
|
||||
},
|
||||
"title": "Đổi mật khẩu",
|
||||
"validation": {
|
||||
"correct": "Mật khẩu đúng",
|
||||
"notcorrect": "Mật khẩu không đúng",
|
||||
"notsame": "Mật khẩu không trùng khớp"
|
||||
}
|
||||
},
|
||||
"logout": {
|
||||
"btn": {
|
||||
"confirm": "Đăng xuất",
|
||||
"stay": "Huỷ"
|
||||
},
|
||||
"description": "Bạn có chắc chắn muốn đăng xuất?",
|
||||
"title": "Đăng xuất"
|
||||
}
|
||||
},
|
||||
"btn": {
|
||||
"cancel": "Huỷ thay đổi",
|
||||
"save": "Lưu thay đổi"
|
||||
},
|
||||
"businessinfo": {
|
||||
"fields": {
|
||||
"businesssector": "Lĩnh vực kinh doanh",
|
||||
"companyaddress": "Địa chỉ công ty",
|
||||
"companyname": "Tên doanh nghiệp",
|
||||
"taxnumber": "Tên công ty"
|
||||
},
|
||||
"title": "Mã số thuế doanh nghiệp"
|
||||
},
|
||||
"mess": {
|
||||
"businessinfo": {
|
||||
"update": {
|
||||
"loading": "Đang cập nhật thông tin doanh nghiệp...",
|
||||
"success": "Cập nhật thông tin doanh nghiệp thành công"
|
||||
}
|
||||
},
|
||||
"changepassword": {
|
||||
"loading": "Đang đổi mật khẩu...",
|
||||
"success": "Đổi mật khẩu thành công"
|
||||
},
|
||||
"representative": {
|
||||
"update": {
|
||||
"loading": "Đang cập nhật thông tin người đại diện...",
|
||||
"success": "Cập nhật thông tin người đại diện thành công"
|
||||
}
|
||||
},
|
||||
"userinfo": {
|
||||
"update": {
|
||||
"loading": "Đang cập nhật thông tin người dùng...",
|
||||
"success": "Cập nhật thông tin người dùng thành công"
|
||||
}
|
||||
}
|
||||
},
|
||||
"page": {
|
||||
"title": "Quản lý tài khoản"
|
||||
},
|
||||
"representative": {
|
||||
"fields": {
|
||||
"email": "Email",
|
||||
"fullname": "Họ và tên",
|
||||
"phone": "Số điện thoại"
|
||||
},
|
||||
"title": "Người đại diện"
|
||||
},
|
||||
"userinfo": {
|
||||
"fields": {
|
||||
"email": "Email",
|
||||
"fullname": "Họ và tên",
|
||||
"phone": "Số điện thoại"
|
||||
},
|
||||
"title": "Thông tin người dùng"
|
||||
}
|
||||
},
|
||||
"signup": {
|
||||
"btn": {
|
||||
"login": "Đăng nhập",
|
||||
"signup": "Đăng ký tài khoản",
|
||||
"resend": "Gửi lại email xác thực",
|
||||
"done": "Hoàn thành"
|
||||
},
|
||||
"fields": {
|
||||
"business_sector": {
|
||||
"commerce": "Thương mại",
|
||||
"education": "Giáo dục",
|
||||
"finance": "Tài chính",
|
||||
"label": "Lĩnh vực kinh doanh",
|
||||
"service": "Dịch vụ",
|
||||
"technology": "Công nghệ"
|
||||
},
|
||||
"captcha": {
|
||||
"label": "Captcha",
|
||||
"placeholder": "Nhập mã captcha bên trái"
|
||||
},
|
||||
"companyemail": "Email doanh nghiệp",
|
||||
"companyname": "Tên doanh nghiệp",
|
||||
"confirmpassword": {
|
||||
"label": "Xác nhận mật khẩu",
|
||||
"match": "Mật khẩu đã trùng khớp",
|
||||
"not_match": "Mật khẩu chưa trùng khớp"
|
||||
},
|
||||
"fullname": "Họ và tên",
|
||||
"mobilenumber": "Số điện thoại",
|
||||
"password": "Mật khẩu mới",
|
||||
"radio": {
|
||||
"business-owner": "Tôi là chủ doanh nghiệp",
|
||||
"developer": "Tôi là nhà phát triển"
|
||||
},
|
||||
"taxnumber": "Mã số thuế"
|
||||
},
|
||||
"form": {
|
||||
"hint": "Đã có tài khoản?",
|
||||
"title": "Đăng ký Techcombank Open API"
|
||||
},
|
||||
"legal": {
|
||||
"agreeprefix": "Tôi đã đọc và đồng ý với",
|
||||
"terms": "Điều khoản và điều kiện"
|
||||
},
|
||||
"mess": {
|
||||
"signup": {
|
||||
"loading": "Đang đăng ký tài khoản...",
|
||||
"success": "Đăng ký tài khoản thành công"
|
||||
}
|
||||
},
|
||||
"rules": {
|
||||
"digit": "Ít nhất 1 ký tự là số",
|
||||
"length": "Số lượng ký tự: từ 8 đến 20",
|
||||
"lower": "Ít nhất 1 ký tự là chữ thường",
|
||||
"special": "Ít nhất 1 ký tự là ký tự đặc biệt",
|
||||
"upper": "Ít nhất 1 ký tự là CHỮ IN HOA"
|
||||
},
|
||||
"status": {
|
||||
"success": {
|
||||
"title": "Đã gửi email xác thực",
|
||||
"description": "Kiểm tra email và nhấn vào liên kết xác thực để hoàn tất"
|
||||
},
|
||||
"pending": {
|
||||
"title": "Tài khoản chưa được xác thực",
|
||||
"description": "Hãy gửi lại email xác thực để hoàn thành đăng ký và bắt đầu sử dụng dịch vụ Techcombank Open API"
|
||||
},
|
||||
"create": {
|
||||
"title": "Đăng ký Techcombank Open API",
|
||||
"description": "Thông tin tài khoản đã được ghi nhận. Bước cuối cùng: Xác thực liên kết trên email để hoàn tất đăng ký."
|
||||
}
|
||||
},
|
||||
"callback": {
|
||||
"expired": {
|
||||
"title": "Liên kết đã hết hiệu lực",
|
||||
"description": "Vui lòng đăng ký tài khoản lại từ đầu và lưu ý thời hạn xác thực qua email để tránh gặp lại tình huống này",
|
||||
"btn": {
|
||||
"signup": "Đăng ký"
|
||||
}
|
||||
},
|
||||
"verified": {
|
||||
"countdown": "{count, plural, =1 {1 giây} other {# giây}}",
|
||||
"title": "Xác thực tài khoản thành công!",
|
||||
"redirect": "Tự động điều hướng đến trang Đăng nhập sau <strong>{countdown}</strong>, hoặc",
|
||||
"btn": {
|
||||
"login": "Đăng nhập ngay"
|
||||
}
|
||||
}
|
||||
},
|
||||
"recaptcha": {
|
||||
"execute_error": "Lỗi xác minh. Vui lòng tải lại trang và thử lại.",
|
||||
"no_token": "Không thể lấy mã xác minh. Vui lòng tải lại trang.",
|
||||
"verify_failed": "Xác minh thất bại. Vui lòng thử lại.",
|
||||
"score_low": "Xác minh không đạt yêu cầu. Vui lòng thử lại."
|
||||
}
|
||||
},
|
||||
"news": {
|
||||
"highlights": {
|
||||
"title": "Tiêu điểm",
|
||||
"subtitle": "Thông tin nổi bật từ Techcombank Open API"
|
||||
}
|
||||
}
|
||||
}
|
||||