Injimob-2313 - New theme and new locale support (#1704)

* [INJIMOB-2313]: support for new car app

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>

* Injimob 2313 - New theme for country demo (#1683)

* [INJIMOB-2313]: new theme support for country demo

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>

* [INJIMOB-2313]: new theme support for country demo

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>

* [INJIMOB-2313]: new theme support for country demo

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>

---------

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>
Co-authored-by: adityankannan-tw <adityan410pm@gmail.com>

* [INJIMOB-2313]: add new locale portuguese and refactor (#1700)

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>
Co-authored-by: adityankannan-tw <adityan410pm@gmail.com>

---------

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>
Co-authored-by: adityankannan-tw <adityan410pm@gmail.com>
This commit is contained in:
adityankannan-tw
2024-11-26 09:47:37 +05:30
committed by GitHub
parent e6702e9845
commit 6a25f373ea
58 changed files with 1217 additions and 115 deletions

View File

@@ -12,6 +12,8 @@ elif [[ "$flavor" == "inji" ]]; then
echo "CLIENT_ID=INJI_ORG_KEY" >> $GITHUB_OUTPUT
elif [[ "$flavor" == "mec" ]]; then
echo "CLIENT_ID=MEC_ORG_KEY" >> $GITHUB_OUTPUT
elif [[ "$flavor" == "car" ]]; then
echo "CLIENT_ID=CAR_ORG_KEY" >> $GITHUB_OUTPUT
else
echo "Error: Invalid flavor '$flavor'"
exit 1

View File

@@ -47,6 +47,7 @@ on:
- collab
- synergy
- mec
- car
internal-testers:
description: 'Internal Testers Group'
required: true
@@ -64,7 +65,7 @@ on:
default: 'orange'
type: choice
options:
- orange
- green
- purple
allow_env_edit:
description: 'Edit ENV'

View File

@@ -166,7 +166,7 @@ fileignoreconfig:
- filename: shared/storage.ts
checksum: 181bbdfe1f4a7daa82c7e8ea1050028c4c50f72200ab2a5eff5bfe1915c7de68
- filename: shared/constants.ts
checksum: 69aa79ed25fee2162de7c8e065930e18168551377420a520092bdf6a86c7712d
checksum: ddbf8073cad531f82f3435c100cf5af3564aeeff75465ee2f4d4aa7edc33991f
- filename: machines/backupAndRestore/backup.ts
checksum: 9810de8d626df3a2cf8266e4be0c1b50aa3bce3c6e3b082afaa3e3ecab66af17
- filename: machines/backupAndRestore/backup.typegen.ts
@@ -396,4 +396,6 @@ fileignoreconfig:
checksum: 9f29c9b0b91eba7fd7f5f4d1f78f9b6f96ef2c850c1346d712058a438d01036a
- filename: assets/InjiHomeLogo.svg
checksum: 6600a3d75033af4d702dd8c9663e12ad7c2c096a529bac2771bb856cc75a5ed0
- filename: locales/pt.json
checksum: 7ddf49a5afe0c94b30ec7115fd3e06d91dda9b1d574b03b2ed9b7441c0953285
version: ""

View File

@@ -205,6 +205,12 @@ android {
dimension "inji"
resValue "string", "app_name", "Inji"
}
car {
applicationId "io.mosip.inji.car"
versionName defaultConfig.versionName
dimension "inji"
resValue "string", "app_name", "Inji Wallet CAR"
}
inji {
applicationId "io.mosip.inji.wallet"
versionName defaultConfig.versionName

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -33,7 +33,7 @@ allprojects { repositories {
configurations.all {
resolutionStrategy {
// use 0.9.0 to fix crash on Android 11
force "com.facebook.soloader:soloader:0.9.0+"
force "com.facebook.soloader:soloader:0.10.4+"
force "com.apicatalog:titanium-json-ld:1.3.1"
}

View File

@@ -26,6 +26,8 @@ def generate_app_bundle_id()
return "io.mosip.inji.synergy"
when "mec"
return "io.mosip.inji.mec"
when "car"
return "io.mosip.inji.car"
end
end
@@ -42,6 +44,8 @@ def generate_app_name()
return "Inji Wallet Synergy"
when "mec"
return "Inji Wallet Mec"
when "car"
return "Inji Wallet CAR"
end
end

View File

@@ -11,7 +11,7 @@
<rect id="Rectangle_6977" data-name="Rectangle 6977" width="18" height="18" transform="translate(0.164 0.164)" fill="none"/>
</g>
</g>
<rect id="Rectangle_6981" data-name="Rectangle 6981" width="36" height="36" rx="8" transform="translate(266 71)" fill="#F7EDF3" opacity="1"/>
<rect id="Rectangle_6981" data-name="Rectangle 6981" width="36" height="36" rx="8" transform="translate(266 71)" fill="#EEF5EF" opacity="1"/>
<path id="more_horiz_FILL0_wght400_GRAD0_opsz48" d="M161.277-525.5a1.24,1.24,0,0,1-.9-.368,1.2,1.2,0,0,1-.374-.885,1.181,1.181,0,0,1,.377-.882,1.259,1.259,0,0,1,.907-.365,1.24,1.24,0,0,1,.9.368,1.2,1.2,0,0,1,.374.885,1.181,1.181,0,0,1-.377.882A1.259,1.259,0,0,1,161.277-525.5Zm5.219,0a1.24,1.24,0,0,1-.9-.368,1.2,1.2,0,0,1-.374-.885,1.181,1.181,0,0,1,.377-.882A1.259,1.259,0,0,1,166.5-528a1.24,1.24,0,0,1,.9.368,1.2,1.2,0,0,1,.374.885,1.181,1.181,0,0,1-.377.882A1.259,1.259,0,0,1,166.5-525.5Zm5.219,0a1.24,1.24,0,0,1-.9-.368,1.2,1.2,0,0,1-.374-.885,1.181,1.181,0,0,1,.377-.882,1.259,1.259,0,0,1,.907-.365,1.24,1.24,0,0,1,.9.368,1.2,1.2,0,0,1,.374.885,1.181,1.181,0,0,1-.377.882A1.259,1.259,0,0,1,171.715-525.5Z" transform="translate(117.5 615.5)" fill="url(#linear-gradient)"/>
<path id="more_horiz_FILL0_wght400_GRAD0_opsz48_-_Outline" data-name="more_horiz_FILL0_wght400_GRAD0_opsz48 - Outline" d="M171.715-525.25a1.488,1.488,0,0,1-1.079-.44,1.445,1.445,0,0,1-.448-1.063,1.427,1.427,0,0,1,.454-1.062,1.507,1.507,0,0,1,1.081-.435,1.488,1.488,0,0,1,1.079.44,1.445,1.445,0,0,1,.448,1.063,1.427,1.427,0,0,1-.454,1.062A1.507,1.507,0,0,1,171.715-525.25Zm.008-2.5a1.01,1.01,0,0,0-.734.294.933.933,0,0,0-.3.7.949.949,0,0,0,.3.707.991.991,0,0,0,.728.3,1.009,1.009,0,0,0,.734-.294.932.932,0,0,0,.3-.7.95.95,0,0,0-.3-.707A.991.991,0,0,0,171.723-527.75Zm-5.226,2.5a1.488,1.488,0,0,1-1.079-.44,1.445,1.445,0,0,1-.448-1.063,1.428,1.428,0,0,1,.454-1.062,1.507,1.507,0,0,1,1.081-.435,1.488,1.488,0,0,1,1.079.44,1.445,1.445,0,0,1,.448,1.063,1.427,1.427,0,0,1-.454,1.062A1.507,1.507,0,0,1,166.5-525.25Zm.008-2.5a1.01,1.01,0,0,0-.734.294.933.933,0,0,0-.3.7.949.949,0,0,0,.3.707.991.991,0,0,0,.728.3,1.009,1.009,0,0,0,.734-.294.932.932,0,0,0,.3-.7.949.949,0,0,0-.3-.707A.991.991,0,0,0,166.5-527.75Zm-5.226,2.5a1.488,1.488,0,0,1-1.079-.44,1.445,1.445,0,0,1-.448-1.063,1.427,1.427,0,0,1,.454-1.062,1.507,1.507,0,0,1,1.081-.435,1.488,1.488,0,0,1,1.079.44,1.445,1.445,0,0,1,.448,1.063,1.427,1.427,0,0,1-.454,1.062A1.507,1.507,0,0,1,161.277-525.25Zm.008-2.5a1.01,1.01,0,0,0-.734.294.932.932,0,0,0-.3.7.949.949,0,0,0,.3.707.991.991,0,0,0,.728.3,1.009,1.009,0,0,0,.734-.294.932.932,0,0,0,.3-.7.949.949,0,0,0-.3-.707A.991.991,0,0,0,161.285-527.75Z" transform="translate(117.5 615.5)" fill="url(#linear-gradient)"/>
</g>

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -11,7 +11,7 @@
</linearGradient>
<linearGradient id="paint1_linear_17_6792" x1="13.818" y1="24.5943" x2="36.3708" y2="24.5943" gradientUnits="userSpaceOnUse">
<stop offset="0.16" stop-color="@fill"/>
<stop offset="1" stop-color="#5B03AD"/>
<stop offset="1" stop-color="#006535"/>
</linearGradient>
<linearGradient id="paint2_linear_17_6792" x1="13.718" y1="24.5943" x2="36.4708" y2="24.5943" gradientUnits="userSpaceOnUse">
<stop offset="0.16" stop-color="@fill"/>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,20 +1,14 @@
<svg width="64" height="55" viewBox="0 0 64 55" fill="none" xmlns="http://www.w3.org/2000/svg">
<mask id="mask0_17_6175" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="27" width="58" height="16">
<path d="M46.2199 29.1224L43.6606 33.542C43.1318 34.4553 42.125 35.0528 41.1181 35.0528L4.89385 35.0247L0.883301 42.4716L37.462 42.4997C38.4913 42.4997 39.5207 41.874 40.0382 40.9269L42.3781 36.6595C42.8956 35.7181 43.925 35.0867 44.9543 35.0867L53.0542 35.0979L57.0816 27.6229L48.7624 27.6116C47.7555 27.6116 46.7486 28.2091 46.2199 29.1224Z" fill="white"/>
</mask>
<g mask="url(#mask0_17_6175)">
<path d="M57.9701 42.3081L1.60872 54.5185L0 27.7976L56.3614 15.5872L57.9701 42.3081Z" fill="white"/>
</g>
<mask id="mask1_17_6175" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="6" y="16" width="58" height="16">
<path d="M46.8777 17.921L44.3184 22.3407C43.7896 23.2539 42.7828 23.8515 41.7759 23.8515L10.929 23.8289L6.91846 31.2758L38.1197 31.2984C39.1491 31.2984 40.1784 30.6727 40.6959 29.7256L43.0359 25.4581C43.5534 24.5167 44.5827 23.8853 45.6121 23.8853L59.0893 23.8966L63.1167 16.4215L49.4201 16.4102C48.4133 16.4102 47.4064 17.0078 46.8777 17.921Z" fill="white"/>
</mask>
<g mask="url(#mask1_17_6175)">
<path d="M63.9999 31.1067L7.6385 43.3172L6.02979 16.6019L62.3912 4.38583L63.9999 31.1067Z" fill="white"/>
</g>
<mask id="mask2_17_6175" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="12" y="12" width="34" height="9">
<path d="M16.9532 12.6445L12.9258 20.1196L38.8959 20.1365C40.3246 20.1365 41.7646 19.2853 42.5183 17.9887L45.6064 12.6671L16.9532 12.6445Z" fill="white"/>
</mask>
<g mask="url(#mask2_17_6175)">
<path d="M36.9779 32.7867L9.15723 18.1634L21.5489 0L49.3696 14.6232L36.9779 32.7867Z" fill="white"/>
</g>
<svg width="75" height="42" viewBox="0 0 75 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M63.6733 29.9466C56.3731 37.1543 46.1277 41.3675 35.1997 40.6718C24.7423 39.9796 15.5417 35.0696 9.17497 27.7364C16.4723 20.5282 26.6049 16.3154 37.6488 17.0112C48.1063 17.7071 57.3067 22.6137 63.6733 29.9466Z" stroke="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.9333 37.3923V37.4796C25.2412 39.5059 30.0251 40.8161 35.0489 41.1742C55.8605 42.4844 73.6859 26.7615 74.9999 6.15183V3.77131C70.6921 1.745 65.9082 0.434757 60.7663 0.0767257C46.5947 -0.823014 33.7713 6.26456 26.6721 17.4392C30.184 16.607 33.8791 16.2726 37.6807 16.5122C48.4445 17.2283 57.8942 22.3474 64.354 29.9727C56.9382 37.4761 46.4106 41.8868 35.1669 41.1707C30.0681 40.8333 25.2642 39.5062 20.9333 37.3923Z" fill="#E7E7E7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.52057 27.6832C3.86004 22.0959 0.805243 15.1545 0 7.5801C6.4598 3.76744 13.9937 1.62306 22.0075 2.21724C34.8672 2.95748 45.7966 10.0909 51.9357 20.3025C47.5993 18.1829 42.7881 16.852 37.681 16.5122C26.3329 15.797 15.9347 20.1962 8.52057 27.6832ZM12.7886 32.0332C18.82 37.2616 26.5613 40.6243 35.1671 41.1741C35.4684 41.192 35.769 41.2064 36.069 41.2172C35.7689 41.2054 35.4683 41.1899 35.1671 41.1707C26.5909 40.6032 18.8488 37.2356 12.7886 32.0332Z" fill="white"/>
<path d="M33.1334 26.7577C24.7616 24.2553 16.1498 24.8533 8.61206 27.8318C8.61206 27.8318 8.73013 27.9499 8.85202 28.0679C16.0279 25.4475 24.0417 24.9714 31.8194 27.3519C39.1171 29.4963 45.2151 33.785 49.6409 39.266C50.1209 39.0298 50.597 38.9079 51.1988 38.6718C46.5329 33.1908 40.4312 29.024 33.1334 26.7577ZM12.798 32.1167C13.2779 32.4748 13.6359 32.8328 13.994 33.069C15.0719 33.3051 16.146 33.5451 17.2239 33.9031C21.8897 35.3314 25.9537 37.5977 29.5455 40.4543C30.3834 40.5724 31.3394 40.6943 32.1774 40.9304C28.3495 37.4758 23.6837 34.8553 18.4198 33.3051C16.6259 32.829 14.71 32.3529 12.798 32.1129V32.1167ZM29.4274 28.426C22.4915 26.3997 15.4337 26.3997 8.85202 28.0679C8.97009 28.186 9.09198 28.3079 9.21005 28.426C15.1899 26.9977 21.7678 27.1157 28.2276 29.0202C35.1635 31.1645 41.1472 35.2133 45.4512 40.3362C46.053 40.2182 46.651 40.0963 47.1271 39.9782C42.7012 34.7372 36.6033 30.5666 29.4236 28.4222L29.4274 28.426ZM25.7176 30.0943C20.3357 28.426 14.8319 28.0679 9.56808 28.9021C9.68616 29.0202 9.80804 29.142 9.92611 29.3782C14.71 28.784 19.6158 29.1382 24.5178 30.6884C31.0957 32.5929 36.7175 36.2874 41.0253 41.0523C41.6233 41.0523 42.2213 40.9342 42.8231 40.8123C38.3934 35.9294 32.6535 32.1167 25.7176 30.0904V30.0943ZM10.646 30.0943C10.8859 30.3342 11.1259 30.5704 11.362 30.6884C14.4739 30.8065 17.7 31.2826 20.8118 32.2386C26.7917 34.025 31.8155 37.1216 35.8834 41.1742C36.5995 41.2923 37.3193 41.2923 38.0354 41.2923C33.7314 36.8854 28.3457 33.5489 22.1258 31.6445C18.298 30.5742 14.4701 30.0943 10.6422 30.0943H10.646Z" fill="#EEEEEE"/>
<path d="M8.61197 27.7099C18.1798 23.303 29.4235 22.8269 39.8331 27.4737C45.215 29.858 49.8808 33.4307 53.3507 37.7195C57.4147 35.8151 61.1245 33.1946 64.2363 29.9761C57.8984 22.3508 48.4487 17.2317 37.6811 16.5157C26.3193 15.7996 15.7916 20.2102 8.4939 27.7137" fill="white"/>
<path d="M8.73385 27.4737C17.4637 21.5167 28.4713 19.1361 39.475 21.8747C47.6107 23.901 54.3067 28.4259 59.2125 34.2649C61.0065 33.0727 62.8004 31.5263 64.3544 29.9761C57.8946 22.3508 48.4449 17.2317 37.6811 16.5157C26.4374 15.7996 15.9097 20.2102 8.4939 27.7137" fill="url(#paint0_linear_22_1224)"/>
<defs>
<linearGradient id="paint0_linear_22_1224" x1="26.3673" y1="19.9218" x2="64.3544" y2="25.3524" gradientUnits="userSpaceOnUse">
<stop stop-color="#E7E7E7"/>
<stop offset="1" stop-color="white"/>
</linearGradient>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -1,12 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="37.013" height="58.163" viewBox="0 0 37.013 58.163">
<defs>
<linearGradient id="grad1" x1="0.5" y1="0.5" x2="1" y2="0.5">
<stop offset="0%" style="stop-color:#ff5300;stop-opacity:1" />
<stop offset="100%" style="stop-color:#5b03ad;stop-opacity:1" />
<stop offset="0%" style="stop-color:#52AE32;stop-opacity:1" />
<stop offset="100%" style="stop-color:#006535;stop-opacity:1" />
</linearGradient>
<linearGradient id="grad2" x1="0.5" y1="0.5" x2="1" y2="0.5">
<stop offset="0%" style="stop-color:#ff5300;stop-opacity:1" />
<stop offset="100%" style="stop-color:#5b03ad;stop-opacity:1" />
<stop offset="0%" style="stop-color:#52AE32;stop-opacity:1" />
<stop offset="100%" style="stop-color:#006535;stop-opacity:1" />
</linearGradient>
</defs>
<g id="otp_verification_icon" transform="translate(-181 -209)">

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -17,6 +17,9 @@ const Colors = {
Violet: '#5B03AD',
BrightOrange: '#FF5300',
Magenta: '#951F6F',
LightGreen: '#52AE32',
BrightGreen: '#278834',
DarkGreen: '#006535',
Grey: '#C7C7C7',
Grey5: '#E0E0E0',
Grey6: '#F2F2F2',
@@ -48,16 +51,16 @@ const Colors = {
plainText: '#FFFFFF',
walletbindingLabel: '#000000',
LightOrange: '#F7EDF3',
GradientColors: ['#FF5300', '#5B03AD'],
GradientColorsLight: ['#FF5300' + 14, '#5B03AD' + 14],
GradientColors: ['#52AE32', '#006535'],
GradientColorsLight: ['#52AE32' + 14, '#006535' + 14],
DisabledColors: ['#C7C7C7', '#C7C7C7'],
TimeoutHintBoxColor: '#FFF7E5',
TimeoutHintBoxBorder: '#FFF2D6',
TimeoutHintText: '#8B6105',
resendCodeTimer: '#555555',
uncheckedIcon: '#DBDBDB',
startColor: '#ff5300',
endColor: '#5b03ad',
startColor: '#52AE32',
endColor: '#006535',
stroke: '#ee8123',
iconBg: '#ffa85a',
warningLogoBg: '#FFF7E5',
@@ -73,28 +76,29 @@ export type ElevationLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export const DefaultTheme = {
Colors: {
KebabIconBackgroundcolor: Colors.LightGreen,
ProfileIconColor: Colors.DarkGray,
DetailedViewBackground: Colors.Gray97,
TabItemText: Colors.Orange,
TabItemText: Colors.BrightOrange,
Details: Colors.Black,
DetailsLabel: Colors.Gray40,
LoadingDetailsLabel: Colors.Gray40,
AddIdBtnBg: Colors.Orange,
AddIdBtnTxt: Colors.Orange,
AddIdBtnBg: Colors.DarkGreen,
AddIdBtnTxt: Colors.DarkGreen,
DownloadIdBtnTxt: Colors.White,
Loading: Colors.Orange,
Loading: Colors.Green,
Cursor: Colors.Orange,
noUinText: Colors.Orange,
IconBg: Colors.Orange,
IconBg: Colors.DarkGreen,
popUp: Colors.Green,
Icon: Colors.Orange,
Icon: Colors.DarkGreen,
GrayIcon: Colors.Gray50,
helpText: Colors.Gray44,
borderBottomColor: Colors.Grey6,
whiteBackgroundColor: Colors.White,
lightGreyBackgroundColor: Colors.LightGrey,
aboutVersion: Colors.Gray40,
switchHead: Colors.Orange,
switchHead: Colors.DarkGreen,
switchTrackTrue: Colors.LightOrange,
switchTrackFalse: Colors.Grey,
overlayBackgroundColor: Colors.White,
@@ -111,7 +115,7 @@ export const DefaultTheme = {
whiteText: Colors.White,
flipCameraIcon: Colors.Black,
RetrieveIdLabel: Colors.ShadeOfGrey,
inputSelection: Colors.Orange,
inputSelection: Colors.DarkGreen,
checkCircleIcon: Colors.White,
OnboardingCircleIcon: Colors.White,
OnboardingCloseIcon: Colors.White,
@@ -119,7 +123,7 @@ export const DefaultTheme = {
DefaultToggle: Colors.LightOrange,
GrayText: Colors.GrayText,
errorGrayText: Colors.mediumDarkGrey,
gradientBtn: ['#FF5300', '#5B03AD'],
gradientBtn: ['#52AE32', '#006535'],
dotColor: Colors.dorColor,
plainText: Colors.plainText,
IconBackground: Colors.LightOrange,
@@ -309,14 +313,14 @@ export const DefaultTheme = {
borderRadius: 15,
margin: 5,
borderWidth: 3,
borderColor: Colors.Orange,
borderColor: Colors.DarkGreen,
overflow: 'hidden',
},
selectedVc: {
borderRadius: 10,
margin: 5,
borderWidth: 2,
borderColor: Colors.Orange,
borderColor: Colors.DarkGreen,
},
labelPartContainer: {
marginLeft: 16,
@@ -413,11 +417,8 @@ export const DefaultTheme = {
height: 71,
},
injiLogo: {
width: 191.58,
height: 28,
},
injiHomeLogo:{
marginLeft:-24
width: Dimensions.get('screen').width / 3,
height: Dimensions.get('screen').height / 20,
},
logo: {
height: 35,
@@ -647,7 +648,7 @@ export const DefaultTheme = {
borderRadius: 200,
height: 70,
width: 70,
backgroundColor: Colors.Orange,
backgroundColor: Colors.BrightGreen,
justifyContent: 'center',
position: 'absolute',
},
@@ -866,7 +867,7 @@ export const DefaultTheme = {
},
onEnteringPin: {
borderBottomWidth: 3,
borderColor: Colors.Orange,
borderColor: Colors.BrightGreen,
color: Colors.Black,
flex: 1,
fontFamily: 'Inter_700Bold',
@@ -917,7 +918,7 @@ export const DefaultTheme = {
fontFamily: 'Inter_600SemiBold',
},
urlLinkText: {
color: Colors.Orange,
color: Colors.DarkGreen,
fontFamily: 'Inter_600SemiBold',
},
aboutDetails: {
@@ -1037,7 +1038,7 @@ export const DefaultTheme = {
searchBarContainer: {
alignItems: 'center',
borderBottomWidth: 1,
borderBottomColor: Colors.Orange,
borderBottomColor: Colors.BrightGreen,
},
vcSearchBarContainer: {
alignItems: 'center',
@@ -1072,14 +1073,14 @@ export const DefaultTheme = {
flex: 1,
},
solid: {
backgroundColor: Colors.Orange,
backgroundColor: Colors.BrightGreen,
},
clear: {
backgroundColor: Colors.Transparent,
},
outline: {
backgroundColor: Colors.Transparent,
borderColor: Colors.Orange,
borderColor: Colors.BrightGreen,
},
disabledOutlineButton: {
backgroundColor: Colors.Transparent,
@@ -1115,7 +1116,7 @@ export const DefaultTheme = {
},
radius: {
borderRadius: 10,
backgroundColor: Colors.Orange,
backgroundColor: Colors.DarkGreen,
},
Large: {
width: Dimensions.get('window').width * 0.9,
@@ -1745,6 +1746,16 @@ export const DefaultTheme = {
height: 83,
padding: 11,
},
bottomTabLabelText: {
fontSize: 9,
fontFamily: 'Inter_700Bold',
color: Colors.DarkGreen,
},
unfocusedbottomTabLabelText: {
fontSize: 9,
fontFamily: 'Inter_700Bold',
color: Colors.DarkGray,
},
}),
ICON_SMALL_SIZE: 16,

View File

@@ -75,6 +75,7 @@ export type ElevationLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export const PurpleTheme = {
Colors: {
KebabIconBackgroundcolor: Colors.Purple,
ProfileIconColor: Colors.DarkGray,
DetailedViewBackground: Colors.Gray97,
TabItemText: Colors.Purple,
@@ -254,7 +255,6 @@ export const PurpleTheme = {
width: Dimensions.get('window').width * 0.12,
height: Dimensions.get('window').height * 0.045,
borderRadius: 6,
backgroundColor: Colors.LightPurple,
},
homeScreenContainer: {
alignItems: 'center',
@@ -421,8 +421,8 @@ export const PurpleTheme = {
width: 105,
height: 40,
},
injiHomeLogo:{
marginLeft:0
injiHomeLogo: {
marginLeft: 0,
},
logo: {
height: 35,
@@ -1751,6 +1751,16 @@ export const PurpleTheme = {
height: 83,
padding: 11,
},
bottomTabLabelText: {
fontSize: 9,
fontFamily: 'Inter_700Bold',
color: Colors.Purple,
},
unfocusedbottomTabLabelText: {
fontSize: 9,
fontFamily: 'Inter_700Bold',
color: Colors.DarkGray,
},
}),
ICON_SMALL_SIZE: 16,

View File

@@ -8,13 +8,14 @@ import ar from './locales/ara.json';
import hi from './locales/hin.json';
import kn from './locales/kan.json';
import ta from './locales/tam.json';
import pt from './locales/pt.json';
import {iso6393To1} from 'iso-639-3';
import {getItem} from './machines/store';
import {LocalizedField} from './machines/VerifiableCredential/VCMetaMachine/vc';
const resources = {en, fil, ar, hi, kn, ta};
const resources = {en, fil, ar, hi, kn, ta, pt};
const locale = Localization.locale;
const languageCodeMap = {} as {[key: string]: string};
@@ -25,6 +26,7 @@ export const SUPPORTED_LANGUAGES = {
hi: 'हिंदी',
kn: 'ಕನ್ನಡ',
ta: 'தமிழ்',
pt: 'Português',
};
i18next

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "Inji-wallet-logo.png",
"filename" : "App icon.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -39,6 +39,8 @@ def generate_app_bundle_id()
return "io.mosip.inji.mobile.synergy"
when "mec"
return "io.mosip.inji.mec"
when "car"
return "io.mosip.inji.car"
end
end
@@ -55,6 +57,8 @@ def map_flavour_tosuffix()
return "mobile.synergy"
when "mec"
return "mec"
when "car"
return "car"
end
return flavor
end
@@ -72,6 +76,8 @@ def generate_app_name()
return "Inji Wallet Synergy"
when "mec"
return "Inji Wallet Mec"
when "car"
return "Inji Wallet CAR"
end
end

View File

@@ -181,14 +181,15 @@
"keyPreferenceError": "عذرًا! حدث خطأ أثناء تعيين تفضيلات المفتاح الخاصة بك"
},
"AboutInji": {
"aboutInji": "حول إنجي",
"header": "حول إنجي",
"aboutInji": "حول محفظة إنجي",
"header": "حول محفظة إنجي",
"appID": " : ID طبيق",
"aboutDetails": "إنجي هو تطبيق جوال يمكن استخدامه كمحفظة رقمية لتخزين بيانات الاعتماد. كما يسمح بالتحقق من الهوية في الوضعين غير المتصلين بالإنترنت وفي أي مكان وزمان.",
"aboutDetails": "تجعل Inji Wallet البيانات جديرة بالثقة ومحمولة، وتتميز بواجهتين رئيسيتين تلبيان احتياجات المستخدمين المتنوعة، مع كون Inji Mobile إحداهما. باعتباره تطبيق محفظة قائمًا على الهاتف المحمول، يعد Inji Mobile حلاً آمنًا ولامركزيًا يسمح للمستخدمين بتنزيل بيانات الاعتماد التي يمكن التحقق منها وإدارتها ومشاركتها والتحقق منها مباشرة من هواتفهم الذكية، مما يوفر طريقة سلسة وجديرة بالثقة للتعامل مع بيانات الاعتماد أثناء التنقل.",
"forMoreDetails": "لمزيد من التفاصيل",
"clickHere": "انقر هنا",
"version": "الإصدار",
"tuvaliVersion": "نسخة توفالي"
"tuvaliVersion": "نسخة توفالي",
"poweredBy": "مدعوم من Inji، منتج MOSIP"
},
"IssuersScreen": {
"title": "أضف بطاقة جديدة",

View File

@@ -166,7 +166,7 @@
"basicSettings": "Basic settings",
"bioUnlock": "Unlock with Biometric",
"language": "Language",
"aboutInji": "About Inji",
"aboutInji": "About Inji Wallet",
"credentialRegistry": "Credential Registry",
"esignethosturl": "Esignet Host",
"errorMessage": "Incorrect URL entered. Please enter a valid URL to proceed.",
@@ -182,14 +182,15 @@
"keyPreferenceError": "Sorry! Error setting your key preferences"
},
"AboutInji": {
"aboutInji": "About Inji",
"header": "ABOUT INJI",
"aboutInji": "About Inji Wallet",
"header": "About Inji Wallet",
"appID": "App ID",
"aboutDetails": "Inji is a mobile app that can be used as a digital wallet to store credentials. It also allows identity verification in both offline and online modes, at any place and time.",
"aboutDetails": "Inji Wallet makes data trustworthy and portable, featuring two main interfaces that cater to diverse user needs, with Inji Mobile being one of them. As a mobile-based wallet app, Inji Mobile is a secure, decentralized solution that allows users to download, manage, share, and verify verifiable credentials directly from their smartphones, providing a seamless and trustworthy way to handle credentials on the go.",
"forMoreDetails": "For more details",
"clickHere": "Click here",
"version": "Version",
"tuvaliVersion": "Tuvali-version"
"tuvaliVersion": "Tuvali-version",
"poweredBy": "Powered by Inji, A MOSIP Product"
},
"IssuersScreen": {
"title": "Add new card",

View File

@@ -181,14 +181,15 @@
"keyPreferenceError": "Paumanhin! May error sa pagsasaayos ng iyong mga kagustuhan sa key"
},
"AboutInji": {
"aboutInji": "Tungkol kay Inji",
"header": "TUNGKOL KAY INJI",
"aboutInji": "Tungkol sa Inji Wallet",
"header": "Tungkol sa Inji Wallet",
"appID": "App ID",
"aboutDetails": "Ang Inji ay isang mobile app na maaaring gamitin bilang digital wallet para mag-imbak ng mga kredensyal. Pinapayagan din nito ang pag-verify ng pagkakakilanlan sa parehong offline at online na mga mode, sa anumang lugar at oras.",
"aboutDetails": "Ginagawa ng Inji Wallet na mapagkakatiwalaan at portable ang data, na nagtatampok ng dalawang pangunahing interface na tumutugon sa magkakaibang pangangailangan ng user, kung saan ang Inji Mobile ang isa sa mga ito. Bilang isang mobile-based na wallet app, ang Inji Mobile ay isang secure, desentralisadong solusyon na nagbibigay-daan sa mga user na mag-download, mamahala, magbahagi, at mag-verify ng mga nabe-verify na kredensyal nang direkta mula sa kanilang mga smartphone, na nagbibigay ng maayos at mapagkakatiwalaang paraan upang mahawakan ang mga kredensyal on the go.",
"forMoreDetails": "Para sa karagdagang detalye",
"clickHere": "Pindutin dito",
"version": "Bersyon",
"tuvaliVersion": "Tuvali-bersyon"
"tuvaliVersion": "Tuvali-bersyon",
"poweredBy": "Pinapatakbo ng Inji, Isang Produktong MOSIP"
},
"IssuersScreen": {
"title": "Magdagdag ng bagong card",

View File

@@ -182,14 +182,15 @@
"keyPreferenceError": "माफ़ कीजिये! आपकी कुंजी प्राथमिकताएँ सेट करने में त्रुटि हुई है"
},
"AboutInji": {
"aboutInji": "इंजी के बारे में",
"header": "इंजी के बारे में",
"aboutInji": "इंजी वॉलेट के बारे में",
"header": "इंजी वॉलेट के बारे में",
"appID": "ऐप ID",
"aboutDetails": "इंजी एक मोबाइल ऐप है जिसे क्रेडेंशियल स्टोर करने के लिए डिजिटल वॉलेट के रूप में इस्तेमाल किया जा सकता है। यह किसी भी स्थान और समय पर ऑफ़लाइन और ऑनलाइन दोनों तरीकों से पहचान के सत्यापन की अनुमति देता है।",
"aboutDetails": "इंजी वॉलेट डेटा को भरोसेमंद और पोर्टेबल बनाता है, जिसमें दो मुख्य इंटरफेस हैं जो विभिन्न उपयोगकर्ता आवश्यकताओं को पूरा करते हैं, जिनमें से इंजी मोबाइल उनमें से एक है। मोबाइल-आधारित वॉलेट ऐप के रूप में,ंजी मोबाइल एक सुरक्षित, विकेन्द्रीकृत समाधान है जो उपयोगकर्ताओं को अपने स्मार्टफोन से सीधे सत्यापन योग्य क्रेडेंशियल्स को डाउनलोड करने, प्रबंधित करने, साझा करने और सत्यापित करने की अनुमति देता है, जो चलते-फिरते क्रेडेंशियल्स को संभालने का एक सहज और भरोसेमंद तरीका प्रदान करता है।",
"forMoreDetails": "अधिक जानकारी के लिए",
"clickHere": "यहाँ क्लिक करें",
"version": "संस्करण",
"tuvaliVersion": "तुवाली-संस्करण"
"tuvaliVersion": "तुवाली-संस्करण",
"poweredBy": "इंजी द्वारा संचालित, एक MOSIP उत्पाद"
},
"IssuersScreen": {
"title": "नया कार्ड जोड़ें",

View File

@@ -181,14 +181,15 @@
"keyPreferenceError": "ಕ್ಷಮಿಸಿ! ನಿಮ್ಮ ಪ್ರಮುಖ ಆದ್ಯತೆಗಳನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ದೋಷ ಕಂಡುಬಂದಿದೆ."
},
"AboutInji": {
"aboutInji": "ಇಂಜಿ ಬಗ್ಗೆ",
"header": "ಇಂಜಿ ಬಗ್ಗೆ",
"aboutInji": "ಇಂಜಿ ವಾಲೆಟ್ ಬಗ್ಗೆ",
"header": "ಇಂಜಿ ವಾಲೆಟ್ ಬಗ್ಗೆ",
"appID": "ಆಪ್ ID",
"aboutDetails": "ಇಂಜಿ ಎನ್ನುವುದು ರುಜುವಾತುಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಡಿಜಿಟಲ್ ವ್ಯಾಲೆಟ್ ಆಗಿ ಬಳಸಬಹುದಾದ ಮೊಬೈಲ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ. ಇದು ಯಾವುದೇ ಸ್ಥಳ ಮತ್ತು ಸಮಯದಲ್ಲಿ ಆಫ್‌ಲೈನ್ ಮತ್ತು ಆನ್‌ಲೈನ್ ಮೋಡ್‌ಗಳಲ್ಲಿ ಗುರುತಿನ ಪರಿಶೀಲನೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.",
"aboutDetails": "Inji Wallet ಡೇಟಾವನ್ನು ನಂಬಲರ್ಹ ಮತ್ತು ಪೋರ್ಟಬಲ್ ಮಾಡುತ್ತದೆ, ವೈವಿಧ್ಯಮಯ ಬಳಕೆದಾರ ಅಗತ್ಯಗಳನ್ನು ಪೂರೈಸುವ ಎರಡು ಮುಖ್ಯ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, Inji Mobile ಅವುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಮೊಬೈಲ್ ಆಧಾರಿತ ವ್ಯಾಲೆಟ್ ಅಪ್ಲಿಕೇಶನ್‌ನಂತೆ, Inji Mobile ಸುರಕ್ಷಿತ, ವಿಕೇಂದ್ರೀಕೃತ ಪರಿಹಾರವಾಗಿದ್ದು, ಬಳಕೆದಾರರು ತಮ್ಮ ಸ್ಮಾರ್ಟ್‌ಫೋನ್‌ಗಳಿಂದ ನೇರವಾಗಿ ಪರಿಶೀಲಿಸಬಹುದಾದ ರುಜುವಾತುಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು, ನಿರ್ವಹಿಸಲು, ಹಂಚಿಕೊಳ್ಳಲು ಮತ್ತು ಪರಿಶೀಲಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಪ್ರಯಾಣದಲ್ಲಿರುವಾಗ ರುಜುವಾತುಗಳನ್ನು ನಿರ್ವಹಿಸಲು ತಡೆರಹಿತ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ.",
"forMoreDetails": "ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ",
"clickHere": "ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ",
"version": "ಆವೃತ್ತಿ",
"tuvaliVersion": "ಟುವಾಲಿ-ಆವೃತ್ತಿ"
"tuvaliVersion": "ಟುವಾಲಿ-ಆವೃತ್ತಿ",
"poweredBy": "ಇಂಜಿಯಿಂದ ನಡೆಸಲ್ಪಡುತ್ತಿದೆ, ಒಂದು MOSIP ಉತ್ಪನ್ನ"
},
"IssuersScreen": {
"title": "ಹೊಸ ಕಾರ್ಡ್ ಸೇರಿಸಿ",

926
locales/pt.json Normal file
View File

@@ -0,0 +1,926 @@
{
"ActivityLogText": {
"VC_SHARED": "{{idType}} {{id}} é compartilhado com sucesso.",
"VC_RECEIVED": "Recebido {{idType}} {{id}}.",
"VC_RECEIVED_NOT_SAVED": "Não foi possível salvar {{idType}} {{id}}.",
"VC_DELETED": "{{idType}} {{id}} foi excluído com sucesso.",
"VC_DOWNLOADED": "{{idType}} {{id}} é baixado.",
"VC_SHARED_WITH_VERIFICATION_CONSENT": "Compartilhado {{idType}} {{id}} com consentimento para verificação de presença.",
"VC_RECEIVED_WITH_PRESENCE_VERIFIED": "Recebido {{idType}} {{id}} e a verificação de presença foi bem-sucedida.",
"VC_RECEIVED_BUT_PRESENCE_VERIFICATION_FAILED": "Recebido {{idType}} {{id}} e a verificação de presença falhou.",
"PRESENCE_VERIFIED_AND_VC_SHARED": "A verificação facial foi bem-sucedida e {{idType}} {{id}} é compartilhado.",
"PRESENCE_VERIFICATION_FAILED": "A verificação facial falhou ao tentar compartilhar {{idType}} {{id}}.",
"QRLOGIN_SUCCESFULL": "QRLogin usando {{idType}} {{id}} é bem sucedido.",
"WALLET_BINDING_SUCCESSFULL": "Ativação de {{idType}} {{id}} é bem sucedido.",
"WALLET_BINDING_FAILURE": "Ativação de {{idType}} {{id}} falhou.",
"VC_REMOVED": "{{idType}} {{id}} é removido da carteira.",
"TAMPERED_VC_REMOVED": "{{idType}} {{id}} é removido da carteira devido a adulteração."
},
"DeviceInfoList": {
"requestedBy": "Solicitado por",
"sentBy": "Enviado por",
"deviceRefNumber": "Número de referência do dispositivo",
"name": "Nome",
"Verifier": "Verificador",
"Wallet": "Carteira"
},
"FaceScanner": {
"livenessCaptureGuide": "Segure o telefone com firmeza e mantenha o rosto focado no centro.",
"faceProcessingInfo": "Aguarde enquanto processamos os dados.",
"faceOutGuide": "Mantenha seu rosto dentro do oval!",
"faceInGuide": "Captura em andamento!",
"imageCaptureGuide": "Segure o telefone com firmeza, mantenha o rosto focado no centro e clique em Capturar.",
"capture": "Capturar",
"cancel": "Cancelar",
"flipCamera": "Câmera invertida"
},
"OIDcAuth": {
"title": "Autenticação OIDC",
"text": "A ser substituído pela IU do provedor OIDC",
"verify": "Verificar"
},
"PasscodeVerify": {
"passcodeMismatchError": "A senha não corresponde."
},
"QrScanner": {
"cameraAccessDisabled": "Acesso à câmera desativado!",
"cameraPermissionGuideLabel": "Vá para as configurações do telefone e habilite o acesso à câmera manualmente.",
"flipCamera": "Câmera invertida"
},
"VcDetails": {
"generatedOn": "Gerado em",
"status": "Status",
"valid": "Válido",
"pending": "Pendente",
"photo": "Foto",
"fullName": "Nome completo",
"gender": "Gênero",
"dateOfBirth": "Data de nascimento",
"phoneNumber": "Número de telefone",
"email": "E-mail",
"address": "Endereço",
"reasonForSharing": "Motivo do compartilhamento",
"idType": "Tipo de identificação",
"id": "EU IA",
"qrCodeHeader": "Código QR",
"nationalCard": "ID nacional",
"insuranceCard": "Cartão de Seguro",
"beneficiaryCard": "Cartão Beneficiário",
"socialRegistryCard": "Cartão de Registro Social",
"uin": "UIN",
"vid": "VÍDEO",
"enableVerification": "Ativar",
"profileAuthenticated": "As credenciais estão habilitadas para autenticação online.",
"credentialActivated": "Ativado",
"offlineAuthDisabledHeader": "Ativação pendente para login online",
"offlineAuthDisabledMessage": "Clique no botão abaixo para ativar esta credencial para ser usada no login online.",
"verificationEnabledSuccess": "Ativado para login on-line",
"goback": "VOLTE",
"BindingWarning": "Se você tiver habilitado a verificação desta credencial em outra carteira, ela será substituída. ",
"yes_confirm": "Sim, eu confirmo",
"no": "Não",
"Alert": "Alerta",
"ok": "OK",
"credentialRegistry": "Registro de credenciais",
"errors": {
"savingFailed": {
"title": "Falha ao salvar o cartão",
"message": "Algo deu errado ao salvar o cartão na loja."
}
},
"shareQRCode": "Compartilhar código QR"
},
"HomeScreenKebabPopUp": {
"title": "Mais opções",
"unPinCard": "Liberar",
"pinCard": "Alfinete",
"share": "Compartilhar",
"shareWithSelfie": "Compartilhe com selfie",
"offlineAuthDisabledMessage": "Clique aqui para permitir que essas credenciais sejam usadas para autenticação online.",
"viewActivityLog": "Ver registro de atividades",
"removeFromWallet": "Remover da carteira"
},
"WalletBinding": {
"offlineAuthenticationDisabled": "Ativar para login on-line",
"inProgress": "Em andamento",
"credentialActivated": "Ativado",
"profileAuthenticated": "Login com código QR"
},
"BindingVcWarningOverlay": {
"alert": "Alerta",
"BindingWarning": "Você já ativou o login online para esta credencial em outro dispositivo. ",
"yesConfirm": "Sim, eu confirmo",
"no": "Não"
},
"RemoveVcWarningOverlay": {
"alert": "Remover da Carteira?",
"removeWarning": "Você vai remover o cartão da carteira. ",
"confirm": "Sim, eu confirmo",
"cancel": "Cancelar"
},
"AuthScreen": {
"header": "Selecione o método de desbloqueio de aplicativo",
"Description": "Para desbloquear o aplicativo com segurança, você pode configurar a autenticação biométrica, como impressão digital ou reconhecimento facial, ou optar por uma senha de 6 dígitos para acesso rápido.",
"PasswordTypeDescription": "Escolha Usar biometria para ativar a autenticação biométrica ou Farei mais tarde para configurar uma senha de 6 dígitos.",
"useBiometrics": "Use biometria",
"usePasscode": "Farei mais tarde",
"errors": {
"unavailable": "O dispositivo não suporta biometria",
"unenrolled": "Para usar a biometria, registre sua biometria nas configurações do seu dispositivo",
"failed": "Falha ao autenticar com biometria",
"generic": "Parece haver um erro na autenticação biométrica"
}
},
"BiometricScreen": {
"unlock": "Desbloqueie com biometria"
},
"HistoryScreen": {
"noHistory": "Nenhum histórico disponível ainda",
"downloaded": "baixado",
"shared": "compartilhado",
"received": "recebido",
"deleted": "excluído"
},
"SettingScreen": {
"header": "Configurações",
"injiAsVerifierApp": "Inji como aplicativo verificador",
"receiveCard": "Receber cartão",
"basicSettings": "Configurações básicas",
"bioUnlock": "Desbloqueie com Biometria",
"language": "Linguagem",
"aboutInji": "Sobre a Carteira Inji",
"credentialRegistry": "Registro de credenciais",
"esignethosturl": "Anfitrião Esignet",
"errorMessage": "URL incorreto inserido. ",
"injiTourGuide": "Guia Turístico Inji",
"logout": "Sair",
"resetInjiProps": "Redefinindo adereços Inji..."
},
"BannerNotification": {
"alternatePasscodeSuccess": "Sucesso! ",
"alternateBiometricSuccess": "Sucesso! ",
"activated": "As credenciais estão habilitadas para autenticação online."
},
"AboutInji": {
"aboutInji": "Sobre a Carteira Inji",
"header": "Sobre a Carteira Inji",
"appID": "ID do aplicativo",
"aboutDetails": "A Inji Wallet torna os dados confiáveis e portáteis, apresentando duas interfaces principais que atendem às diversas necessidades do usuário, sendo o Inji Mobile uma delas. ",
"forMoreDetails": "Para mais detalhes",
"clickHere": "Clique aqui",
"version": "Versão",
"tuvaliVersion": "Versão Tuvali",
"poweredBy": "Desenvolvido por Inji, um produto MOSIP"
},
"IssuersScreen": {
"title": "Adicionar novo cartão",
"description": "Escolha o emissor de sua preferência entre as opções abaixo para adicionar um novo cartão.",
"searchByIssuersName": "Pesquise pelo nome do emissor",
"credentialTypeDescription": "Selecione uma credencial",
"help": "Ajuda?",
"loaders": {
"loading": "Carregando...",
"subTitle": {
"displayIssuers": "Buscando Emissores",
"settingUp": "Configurando",
"downloadingCredentials": "Baixando credenciais"
}
},
"errors": {
"noInternetConnection": {
"title": "Sem conexão com a internet",
"message": "Verifique sua conexão e tente novamente"
},
"biometricsCancelled": {
"title": "Deseja cancelar o download?",
"message": "A confirmação biométrica é necessária para continuar o download do cartão."
},
"generic": {
"title": "Algo deu errado!",
"message": "Estamos tendo alguns problemas com sua solicitação. "
},
"technicalDifficulty": {
"title": "Ocorreu um erro!",
"message": "Obrigado pela sua paciência! "
}
}
},
"HelpScreen": {
"header": "Ajuda",
"here": "aqui",
"questions": {
"inji": {
"one": "O que é uma identificação?",
"two": "Quais são os diferentes tipos de identificação?",
"three": "Onde posso encontrar esses IDs?",
"four": "O que é uma credencial digital?",
"five": "O que podemos fazer com credenciais digitais?",
"six": "O que é uma credencial verificável?",
"seven": "Como adicionar um cartão?",
"eight": "Posso adicionar vários cartões?",
"nine": "Por que meu VC diz que a ativação está pendente?",
"ten": "O que você quer dizer com ativado para login online?",
"eleven": "Como ativar um cartão para login online?",
"twelve": "Como compartilhar um cartão?",
"thirteen": "Como retirar um cartão da carteira?",
"fourteen": "Como visualizar os registros de atividades?",
"fifteen": "O que acontece quando a biometria do keystore do Android é alterada?",
"sixteen": "O que é Compartilhar?",
"seventeen": "O que é Compartilhar com selfie?"
},
"backup": {
"one": "O que é backup de dados? ",
"two": "Por que devo fazer um backup?",
"three": "Como fazer backup para sua conta do Google?",
"four": "Como fazer backup para o seu iCloud?",
"five": "Devo sempre fornecer o mesmo ID de e-mail?",
"six": "Como posso restaurar o backup que fiz?",
"seven": "Por que recebo um erro \"nenhum arquivo de backup encontrado\"?",
"eight": "O que acontece quando eu limpo o armazenamento do aplicativo INJI nas configurações do dispositivo?"
}
},
"answers": {
"inji": {
"one": "Um documento de identidade é qualquer documento que possa comprovar a identidade de uma pessoa. ",
"two": "No contexto do MOSIP, diferentes IDs são UIN, VID e AID. ",
"three-a": "No âmbito do processo de inscrição (registo), ao registar com sucesso as informações demográficas e biométricas do residente, é atribuído ao residente um ID de registo (AID). ",
"three-b": "Após o processamento bem-sucedido, um Número de Identificação Único (UIN) é atribuído ao residente e uma notificação é enviada ao residente no número de telefone e/ou e-mail cadastrado.",
"three-c": "VID/Virtual ID é um identificador de alias configurado para uso único e não pode ser vinculado. ",
"four": "Uma credencial digital é a versão digital do seu bilhete de identidade físico",
"five": "Você pode aproveitar vários serviços governamentais e privados usando suas credenciais digitais.",
"six": "Uma credencial verificável é uma informação assinada digitalmente que representa uma declaração feita pelo emissor sobre um assunto e normalmente inclui detalhes demográficos. ",
"seven": "Os IDs podem ser baixados para a INJI Mobile Wallet como credenciais verificáveis. ",
"eight": "Sim, você pode adicionar vários cartões à carteira clicando no botão '+' na página inicial.",
"nine": "Depois que o VC é baixado para sua carteira, ele ainda não está vinculado à identidade do usuário, e é por isso que seu VC indica Ativação Pendente. ",
"ten-a": "1. Assim que o VC for vinculado com sucesso à carteira, você poderá ver que ele está ativado para login online, o que significa que este VC agora pode ser usado para o processo de login QR. ",
"ten-b": "2. As perguntas e respostas devem ser legíveis e compreensíveis mesmo quando o usuário altera o idioma no aplicativo INJI.",
"eleven": "Após adicionar com sucesso um cartão à carteira, clique em Ativação pendente para login online no cartão. ",
"twelve": "Clique no botão 'Compartilhar' e escaneie o código QR da parte solicitante. ",
"thirteen-a": "Você pode clicar em ...(menu almôndegas) em um cartão na página inicial e escolher a opção Remover da carteira para remover um cartão da carteira. ",
"thirteen-b": " Observe que o mesmo cartão pode ser baixado novamente.",
"fourteen": "Na página inicial, clique em Histórico para visualizar os detalhes da atividade do usuário.",
"fifteen": "O keystore do Android contém informações importantes, como chaves privadas para provas de identidade. ",
"sixteen": "Compartilhar uma credencial refere-se ao processo de transferência segura de uma credencial verificável pelo titular da carteira INJI para a parte confiável. ",
"seventeen": "Compartilhar um VC com selfie envolve uma camada adicional de segurança no processo de compartilhamento de credenciais. "
},
"backup": {
"one": "O backup de dados envolve a criação de uma cópia de suas credenciais verificáveis presentes em sua carteira no Google Drive/iCloud, garantindo que, em caso de perda de dados, você possa restaurar seus arquivos ao estado anterior.",
"two": "Fazer um backup é crucial para proteger seus dados. ",
"three": " Em primeiro lugar, certifique-se de que uma Conta Google esteja ativada no seu dispositivo. ",
"four": "Em primeiro lugar, certifique-se de que seu dispositivo iOS esteja associado a uma conta Apple. ",
"five": "Para consistência e segurança, é aconselhável usar o mesmo ID de e-mail para backups. ",
"six": "Para restaurar um backup, acesse as configurações do aplicativo, escolha a opção de restauração e selecione o arquivo de backup. ",
"seven": "Este erro pode ocorrer se não houver arquivos de backup associados ao ID de e-mail fornecido ou se os arquivos de backup estiverem armazenados em um local diferente. ",
"eight": "Observe que esta ação é tomada com cautela, pois limpa os dados do aplicativo, o que significa que todos os seus VCs baixados serão apagados. "
}
}
},
"AddVcModal": {
"requestingCredential": "Solicitando credencial...",
"errors": {
"input": {
"empty": "Insira um ID válido",
"invalidFormat": "Por favor insira válido {{idType}}"
},
"backend": {
"invalidOtp": "OTP é inválido",
"expiredOtp": "OTP expirou",
"invalidUin": "Insira um UIN válido",
"invalidVid": "Insira um VID válido",
"missingUin": "O UIN inserido está desativado/bloqueado. ",
"missingVid": "VID não disponível no banco de dados",
"noMessageAvailable": "Tente depois de algum tempo",
"whileGeneratingOtpErrorIsOccured": "ocorreu um erro ao gerar otp",
"networkRequestFailed": "Falha na solicitação de rede",
"deactivatedVid": "O VID inserido está desativado/expirado. "
}
}
},
"GetVcModal": {
"retrievingId": "Recuperando ID",
"errors": {
"input": {
"empty": "Insira um ID válido",
"invalidFormat": "Insira um AID válido"
},
"backend": {
"invalidOtp": "OTP inválido",
"expiredOtp": "OTP expirou",
"applicationProcessing": "A AID ainda não está pronta",
"noMessageAvailable": "Tente depois de algum tempo",
"networkRequestFailed": "Falha na solicitação de rede",
"invalidAid": "Insira um AID válido",
"timeout": "Tempo esgotado"
}
}
},
"DownloadingVcModal": {
"header": "Baixando seu cartão",
"bodyText": "Isso pode levar algum tempo, iremos notificá-lo quando seu cartão for baixado e estiver disponível",
"backButton": "De volta para casa"
},
"GetIdInputModal": {
"header": "Obtenha seu UIN/VID",
"applicationIdLabel": "Por favor, insira o ID do seu aplicativo",
"enterApplicationId": "Insira o ID do aplicativo",
"requestingOTP": "Solicitando OTP...",
"toolTipTitle": "O que é AJUDA?",
"toolTipDescription": "O ID do aplicativo (AID) refere-se ao identificador exclusivo fornecido a um residente durante qualquer evento do ciclo de vida do ID, como emissão de ID, atualização de ID ou recuperação de ID perdida, no centro de registro. ",
"getUIN": "Obter UIN/VID"
},
"IdInputModal": {
"header": "Baixe seu ID",
"guideLabel": "Selecione o tipo de ID e insira o UIN ou VID fornecido pelo MOSIP que você deseja baixar. ",
"generateVc": "Gerar cartão",
"downloadID": "Baixar ID",
"enterId": "Digitar {{idType}}",
"noUIN/VID": "Não tem UIN/VID? ",
"getItHere": "Obtenha agora usando seu AID.",
"requestingOTP": "Solicitando OTP...",
"toolTipTitle": "O que é {{idType}}?",
"toolTipUINDescription": "O Número de Identificação Único (UIN), como o nome sugere, é um número exclusivo atribuído a um residente. ",
"toolTipVIDDescription": "O VID/Virtual ID é um identificador alternativo que pode ser usado para transações de autenticação. "
},
"OtpVerificationModal": {
"title": "Verificação OTP",
"otpSentMessage": "Enviamos uma OTP de 6 dígitos para o seu número de celular registrado: {{phone}} e endereço de e-mail: {{email}}",
"resendTheCode": "Você pode reenviar o OTP em ",
"resendOtp": "Reenviar OTP",
"confirmationDialog": {
"title": "Deseja cancelar o download?",
"message": "Uma vez cancelado, seu cartão não será baixado e você precisará reiniciar o download.",
"wait": "Não, vou esperar",
"cancel": "Sim, cancelar"
}
},
"MyVcsTab": {
"searchByName": "Pesquisar por nome",
"bringYourDigitalID": "Traga sua identidade digital",
"generateVcDescription": "Toque em \"Baixar cartão\" abaixo para baixar seu cartão",
"generateVcFABDescription": "Toque em \"+\" abaixo para baixar seu cartão",
"downloadCard": "Baixar cartão",
"downloadingYourCard": "Baixando seu cartão, isso pode levar até 5 minutos",
"downloadingVcFailed": "Desculpe! ",
"activated": "As credenciais estão habilitadas para autenticação online.",
"noCardsTitle": "Nenhum cartão encontrado!",
"noCardsDescription": "Desculpe, não encontramos nenhum resultado. ",
"errors": {
"savingFailed": {
"title": "Falha ao salvar o cartão",
"message": "Algo deu errado ao salvar o cartão na loja."
},
"storageLimitReached": {
"title": "Dados de aplicativos insuficientes",
"message": "Você não pode adicionar ou receber cartões porque o Appdata está cheio. "
},
"vcIsTampered": {
"title": "Cartões removidos devido a atividades maliciosas",
"message": "Cartões adulterados detectados e removidos por motivos de segurança. "
},
"keystoreNotExists": {
"title": "Alguns recursos de segurança não estarão disponíveis",
"message": "Seu dispositivo atual não oferece suporte a todos os recursos de segurança.",
"riskOkayText": "OK"
},
"noInternetConnection": {
"title": "Sem conexão com a internet",
"message": "Verifique sua conexão e tente novamente"
},
"downloadLimitExpires": {
"title": "Erro de download",
"message": "Ocorreu um problema ao baixar os seguintes cartões. "
},
"verificationFailed": {
"title": "Ocorreu um erro!",
"goBackButton": "Volte",
"technicalError": "Devido a um erro técnico, não foi possível fazer o download do cartão.",
"networkError": "Devido à conexão instável com a Internet, não foi possível fazer o download do cartão. "
}
}
},
"OnboardingOverlay": {
"stepOneTitle": "Bem-vindo!",
"stepOneText": "Mantenha sua credencial digital sempre com você. ",
"stepTwoTitle": "Compartilhamento seguro",
"stepTwoText": "Compartilhe seus cartões com segurança e sem complicações e aproveite diversos serviços.",
"stepThreeTitle": "Carteira Digital Confiável",
"stepThreeText": "Armazene e transporte todos os seus cartões importantes em uma única carteira confiável.",
"stepFourTitle": "Acesso rápido",
"stepFourText": "Autentique-se com facilidade usando a credencial digital armazenada.",
"stepFiveTitle": "Backup e restauração",
"stepFiveText": "Proteja seus dados com facilidade usando nosso recurso Backup e Restauração. ",
"getStarted": "Comece",
"goBack": "Volte",
"back": "Voltar",
"skip": "Pular",
"next": "Próximo"
},
"ReceivedVcsTab": {
"receivedCards": "Cartões recebidos",
"header": "Cartões recebidos",
"noReceivedVcsTitle": "Nenhum cartão disponível ainda",
"noReceivedVcsText": "Toque em Solicitar abaixo para receber o cartão"
},
"VcVerificationBanner": {
"inProgress": "Estamos validando seu cartão, isso pode levar algum tempo. ",
"success": "{{vcDetails}} foi verificado com sucesso e agora está disponível para ativação.",
"error": "Desculpe, não podemos verificar o {{vcDetails}} agora mesmo. "
},
"ViewVcModal": {
"title": "Detalhes de identificação",
"inProgress": "Em andamento",
"statusToolTipContent": {
"valid": {
"title": "Status válido:",
"description": "A credencial foi verificada com sucesso."
},
"pending": {
"title": "Status pendente:",
"description": "A verificação está pendente devido a problemas técnicos."
}
}
},
"MainLayout": {
"home": "Lar",
"share": "Compartilhar",
"history": "História",
"request": "Solicitar",
"settings": "Configurações"
},
"PasscodeScreen": {
"header": "Definir senha",
"enterNewPassword": "Digite uma nova senha",
"reEnterPassword": "Digite novamente a nova senha",
"enterAlternateNewPassword": "Sua senha é sua chave para acessar o aplicativo com segurança. ",
"reEnterAlternatePassword": "Confirme sua senha digitando-a novamente. ",
"confirmPasscode": "Confirmar senha",
"enterPasscode": "Digite sua senha"
},
"QrLogin": {
"title": "Login QR",
"alignQr": "Alinhe o código QR dentro do quadro para digitalizar",
"confirmation": "Confirmação",
"checkDomain": "Além disso, verifique se há um ícone de cadeado na barra de endereço.",
"domainHead": "https://",
"selectId": "Selecione um ID",
"noBindedVc": "Não há cartão vinculado disponível para verificação",
"back": "Voltar",
"confirm": "Confirmar",
"verify": "Verificar",
"faceAuth": "Verificação facial",
"consent": "Consentimento",
"loading": "Carregando...",
"domainWarning": "Por favor, confirme o domínio do site que você está digitalizando o código QR abaixo",
"access": " está solicitando acesso a",
"status": "Status",
"successMessage": "Você fez login com sucesso em ",
"ok": "OK",
"allow": "Permitir",
"cancel": "Cancelar",
"essentialClaims": "Reivindicações importantes",
"voluntaryClaims": "Reivindicações Voluntárias",
"required": "É necessário",
"errors": {
"invalidQR": "O código QR é inválido. "
}
},
"ReceiveVcScreen": {
"header": "Detalhes do cartão",
"save": "Salvar cartão",
"verifyAndSave": "Verifique e salve",
"reject": "Rejeitar",
"discard": "Descartar",
"goToReceivedVCTab": "Ver cartão recebido",
"saving": "O cartão está sendo salvo",
"errors": {
"savingFailed": {
"title": "Falha ao salvar o cartão!",
"message": "Devido a um erro técnico, não foi possível salvar o cartão. "
}
}
},
"Permissions": {
"enablePermission": "Habilitar permissão"
},
"RequestScreen": {
"receiveCard": "Receber cartão",
"bluetoothDenied": "Ative o Bluetooth para poder solicitar o cartão",
"bluetoothStateIos": "O Bluetooth está desligado, ligue-o no centro de controle",
"bluetoothStateAndroid": "O Bluetooth está desligado, ligue-o no menu Configurações rápidas",
"showQrCode": "Mostre este código QR para solicitar Cartão de Residente",
"incomingVc": "Cartão de entrada",
"request": "Solicitar",
"errors": {
"nearbyDevicesPermissionDenied": {
"message": "A permissão de dispositivos próximos é necessária para poder solicitar o cartão",
"button": "Permitir permissão"
},
"storageLimitReached": {
"title": "Dados de aplicativos insuficientes",
"message": "Você não pode adicionar ou receber cartões porque o Appdata está cheio. "
}
},
"status": {
"sharing": {
"title": "Compartilhamento em andamento",
"timeoutHint": "O compartilhamento está atrasado, possivelmente devido a um problema de conexão."
},
"accepted": {
"title": "Sucesso!",
"message": "O cartão foi recebido com sucesso da Wallet"
},
"rejected": {
"title": "Perceber",
"message": "Você descartou o cartão da Wallet"
},
"disconnected": {
"title": "Conexão Bluetooth perdida!",
"message": "Verifique sua conexão Bluetooth e tente novamente."
},
"waitingConnection": "Aguardando conexão...",
"exchangingDeviceInfo": {
"message": "Trocando informações do dispositivo...",
"timeoutHint": "Está demorando muito para trocar informações do dispositivo..."
},
"connected": {
"message": "Conectado ao dispositivo. ",
"timeoutHint": "Nenhum dado recebido ainda. "
},
"offline": {
"message": "Conecte-se à Internet para ativar o modo de compartilhamento on-line"
},
"bleError": {
"TVW_CON_002": {
"title": "Falha na conexão!",
"message": "A conexão foi interrompida. "
},
"TVW_CON_003": {
"title": "Falha na conexão!",
"message": "A conexão foi interrompida. "
},
"TVW_REP_001": {
"title": "Resposta corrompida recebida!",
"message": "Os dados recebidos da carteira estão corrompidos e não podem ser processados. "
},
"TVV_CON_001": {
"title": "Falha na conexão!",
"message": "Não foi possível estabelecer a conexão ideal com o remetente. "
},
"TVV_TRA_001": {
"title": "Resposta corrompida recebida!",
"message": "Os dados recebidos da carteira estão corrompidos e não podem ser processados. "
},
"TVV_TRA_002": {
"title": "Resposta corrompida recebida!",
"message": "Os dados recebidos da carteira estão corrompidos e não podem ser processados. "
},
"TUV_UNK_001": {
"title": "Ocorreu um erro!",
"message": "Devido a erro técnico, não foi possível receber o cartão. "
},
"TVW_UNK_001": {
"title": "Falha na conexão!",
"message": "A conexão foi interrompida. "
},
"TVW_UNK_002": {
"title": "Falha na conexão!",
"message": "A conexão foi interrompida. "
},
"TVW_UNK_003": {
"title": "Falha na conexão!",
"message": "A conexão foi interrompida. "
},
"TVV_UNK_001": {
"title": "Ocorreu um erro!",
"message": "Ocorreu um erro inesperado ao processar os dados recebidos. "
},
"TVV_UNK_002": {
"title": "Ocorreu um erro!",
"message": "Ocorreu um erro inesperado ao processar os dados recebidos. "
},
"TVV_UNK_003": {
"title": "Ocorreu um erro!",
"message": "Ocorreu um erro inesperado ao processar os dados recebidos. "
}
}
},
"online": "On-line",
"offline": "Off-line",
"gotoSettings": "Vá para configurações"
},
"ScanScreen": {
"shareWithSelfie": "Compartilhe com selfie",
"shareWithSelfieQrLogin": "Login com código QR",
"shareWithSelfieMessage": "Para compartilhar suas credenciais verificáveis, verificaremos sua identidade com segurança usando verificação facial. ",
"shareWithSelfieMessageQrLogin": "Para acessar o portal, você precisará compartilhar suas credenciais verificáveis e verificar sua identidade com segurança usando verificação facial. ",
"ConfirmButton": "Eu entendo",
"doNotAskMessage": "Não me pergunte de novo",
"noShareableVcs": "Nenhum cartão compartilhável está disponível.",
"sharingVc": "Cartão de compartilhamento",
"bluetoothStateIos": "O Bluetooth está desligado, ligue-o no centro de controle",
"bluetoothStateAndroid": "O Bluetooth está desligado, ligue-o no menu Configurações rápidas",
"enableBluetoothMessage": "Ative as permissões do Bluetooth para oferecer suporte ao compartilhamento local",
"enableBluetoothButtonText": "Permitir permissões de Bluetooth",
"scanningGuide": "Segure o telefone com firmeza e leia o código QR para compartilhar seu cartão.",
"invalidQR": "Por favor, digitalize um QR válido",
"errors": {
"locationDisabled": {
"message": "Para continuar, deixe seu dispositivo ativar a localização",
"button": "Habilitar serviços de localização"
},
"locationDenied": {
"message": "É necessária permissão de localização para compartilhar o cartão",
"button": "Permitir acesso ao local"
},
"nearbyDevicesPermissionDenied": {
"message": "A permissão de dispositivos próximos é necessária para poder compartilhar o cartão",
"button": "Permitir permissão"
},
"storageLimitReached": {
"title": "Dados de aplicativos insuficientes",
"message": "Você não pode compartilhar cartões porque o Appdata está cheio. "
}
},
"status": {
"inProgress": {
"title": "Em andamento",
"hint": "Aguarde enquanto estabelecemos a conexão."
},
"establishingConnection": "Estabelecendo conexão",
"connectionInProgress": "Conexão em andamento",
"connectingTimeout": "Está demorando um pouco para estabelecer a conexão. ",
"stayOnTheScreen": "Fique na tela",
"retry": "Tentar novamente",
"exchangingDeviceInfo": "Trocando informações do dispositivo...",
"exchangingDeviceInfoTimeout": "A troca de informações do dispositivo demora um pouco. ",
"invalid": "Código QR inválido",
"offline": "Conecte-se à Internet para escanear códigos QR usando o modo de compartilhamento on-line",
"sent": "O cartão foi enviado...",
"sentHint": "Aguardando que o destinatário salve ou descarte seu cartão",
"sharing": {
"title": "Compartilhamento em andamento...",
"hint": "Aguarde enquanto compartilhamos o cartão escolhido...",
"timeoutHint": "O compartilhamento está atrasado, possivelmente devido a um problema de conexão."
},
"accepted": {
"title": "ID compartilhado com sucesso!",
"message": "Seu ID foi compartilhado com sucesso.",
"home": "Lar",
"history": "História"
},
"rejected": {
"title": "Ocorreu um erro!",
"message": "Devido a um erro técnico, não foi possível compartilhar o cartão com a parte confiável. "
},
"disconnected": {
"title": "Conexão Bluetooth perdida!",
"message": "Verifique sua conexão Bluetooth e tente novamente."
},
"bleError": {
"retry": "Tentar novamente",
"home": "Lar",
"TVW_CON_001": {
"title": "Falha na conexão!",
"message": "Código QR inválido digitalizado. "
},
"TVW_CON_002": {
"title": "Falha na conexão!",
"message": "A Wallet não consegue estabelecer a conexão ideal com o verificador. "
},
"TVW_CON_003": {
"title": "Falha na descoberta do serviço!",
"message": "Lamentamos, mas não conseguimos descobrir uma conexão Bluetooth mesmo após várias tentativas. "
},
"TVW_REP_001": {
"title": "Ocorreu um erro!",
"message": "Devido a erro técnico, não foi possível transferir o arquivo. "
},
"TVV_CON_001": {
"title": "Falha na conexão!",
"message": "A Wallet não consegue estabelecer uma conexão ideal com o verificador. "
},
"TVV_TRA_001": {
"title": "Ocorreu um erro!",
"message": "Algo deu errado durante a transferência do cartão. "
},
"TVV_TRA_002": {
"title": "Ocorreu um erro!",
"message": "Algo deu errado durante a transferência do cartão. "
},
"TUV_UNK_001": {
"title": "Ocorreu um erro!",
"message": "Devido a um erro técnico, não foi possível compartilhar o cartão com a parte confiável. "
},
"TVW_UNK_001": {
"title": "Ocorreu um erro!",
"message": "Devido a um erro técnico, não foi possível compartilhar o cartão com a parte confiável. "
},
"TVW_UNK_002": {
"title": "Ocorreu um erro!",
"message": "Devido a um erro técnico, não foi possível compartilhar o cartão com a parte confiável. "
},
"TVW_UNK_003": {
"title": "Ocorreu um erro!",
"message": "Devido a um erro técnico, não foi possível compartilhar o cartão com a parte confiável. "
},
"TVV_UNK_001": {
"title": "Ocorreu um erro!",
"message": "Algo deu errado durante a transferência do cartão. "
},
"TVV_UNK_002": {
"title": "Ocorreu um erro!",
"message": "Algo deu errado durante a transferência do cartão. "
},
"TVV_UNK_003": {
"title": "Ocorreu um erro!",
"message": "Algo deu errado durante a transferência do cartão. "
}
}
},
"postFaceCapture": {
"captureSuccessMessage": "A verificação facial foi bem-sucedida! ",
"captureFailureTitle": "A verificação facial falhou!",
"captureFailureMessage": "Certifique-se de que seu rosto esteja claramente visível e tente tirar uma selfie novamente."
},
"rational": {
"title": "Ative sua localização",
"message": "Este aplicativo precisa da sua localização para procurar sistemas próximos para receber seus dados.",
"accept": "OK",
"cancel": "Cancelar"
}
},
"SelectVcOverlay": {
"header": "Compartilhar cartão",
"chooseVc": "Escolha o cartão com o qual você deseja compartilhar",
"share": "Compartilhar",
"verifyAndShare": "Verifique a identidade e compartilhe"
},
"SendVcScreen": {
"reasonForSharing": "Motivo do compartilhamento (opcional)",
"acceptRequest": "Compartilhar",
"acceptRequestAndVerify": "Compartilhe com selfie",
"reject": "Rejeitar",
"consentToPhotoVerification": "Dou consentimento para que minha foto seja tirada para autenticação",
"pleaseSelectAnId": "Selecione um ID",
"status": {
"sharing": {
"title": "Compartilhamento",
"hint": "Aguarde até que o dispositivo receptor aceite ou recuse o compartilhamento.",
"timeoutHint": "As ações de VC demoram um pouco mais. "
},
"accepted": {
"title": "Sucesso!",
"message": "Seu cartão foi compartilhado com sucesso com {{receiver}}"
},
"rejected": {
"title": "Prestar atenção",
"message": "Seu cartão foi recusado por {{receiver}}"
}
}
},
"VerifyIdentityOverlay": {
"faceAuth": "Verificação facial",
"status": {
"verifyingIdentity": "Verificando identidade..."
},
"errors": {
"invalidIdentity": {
"title": "Falha no reconhecimento facial",
"message": "O rosto digitalizado não corresponde à foto no cartão. ",
"messageNoRetry": "Rosto não reconhecido."
}
}
},
"DataBackupScreen": {
"dataBackupAndRestore": "Backup e restauração",
"new": "NOVO",
"loadingTitle": "Carregando configuração",
"loadingSubtitle": "Carregando...",
"errors": {
"permissionDenied": {
"title": "Permissões necessárias",
"message": "Para continuar com o backup de dados, permita o acesso ao seu {{driveName}}. ",
"actions": {
"allowAccess": "Permitir acesso",
"notNow": "Agora não"
}
},
"noInternetConnection": {
"title": "Sem conexão com a internet",
"message": "Verifique sua conexão e tente novamente"
}
}
},
"BackupAndRestoreBanner": {
"backupInProgress": "O backup de dados está em andamento. ",
"backupSuccessful": "Seu backup foi bem-sucedido!",
"backupFailure": {
"networkError": "Devido à conexão instável com a Internet, não foi possível realizar o backup dos dados. ",
"technicalError": "Devido a erro técnico, não foi possível realizar o backup dos dados. ",
"iCloudSignInError": "Lamentamos que o backup dos dados não tenha sido concluído. ",
"noDataForBackup": "Lamentamos, mas não há dados disponíveis para backup no momento.",
"storageLimitReached": "Não foi possível concluir o processo de backup devido ao espaço de armazenamento insuficiente no seu dispositivo. "
},
"restoreInProgress": "A restauração de dados está em andamento. ",
"restoreSuccessful": "Seu backup foi restaurado com sucesso",
"restoreFailure": {
"networkError": "Devido à conexão instável com a Internet, não foi possível restaurar os dados. ",
"technicalError": "Devido a um erro técnico, não foi possível realizar a restauração dos dados. ",
"noBackupFile": "O arquivo de backup não existe"
}
},
"AccountSelection": {
"backupProcessInfo": "Você está a apenas alguns passos de fazer backup dos seus dados",
"cloudInfo": "Para iniciar o backup de dados, toque no botão “Continuar” para vincular seu {{driveName}} com Inji.",
"googleDriveTitle": "Google Drive",
"loadingSubtitle": "Carregando...",
"proceed": "Prosseguir",
"goBack": "Volte",
"associatedAccount": "Conta associada"
},
"BackupAndRestore": {
"title": "Backup e restauração",
"backupProgressState": "Backup em andamento...",
"lastBackupDetails": "Detalhes do último backup",
"backupInProgress": "Você ainda pode usar o aplicativo enquanto o backup dos dados estiver em andamento. ",
"noBackup": "Faça backup de seus dados para {{driveName}}. ",
"storage": "O backup será armazenado no {{driveName}} associado ao seu escolhido {{accountType}} conta.",
"backup": "Backup",
"size": "Tamanho: ",
"restore": "Restaurar",
"restoreInProgress": "Estamos restaurando seus dados. Não feche o aplicativo. ",
"restoreInfo": "Restaure seus dados de {{driveName}}",
"driveSettings": "Configurações do Google Drive",
"successBanner": "Seu backup foi bem-sucedido!",
"backupFailed": "Falha no backup",
"ok": "OK",
"help": "Ajuda?"
},
"WelcomeScreen": {
"title": "Solução de identidade de código aberto",
"unlockApplication": "Desbloquear aplicativo",
"failedToReadKeys": "Falha ao ler as chaves",
"retryRead": "Quer tentar novamente?",
"errors": {
"decryptionFailed": "Falha ao descriptografar dados",
"invalidateKeyError": {
"title": "O aplicativo foi redefinido",
"message": "Devido à atualização de impressão digital/reconhecimento facial, a segurança do aplicativo foi afetada e os cartões baixados foram removidos. "
}
},
"ignore": "Ignorar"
},
"SetupLanguage": {
"header": "Escolha o idioma",
"description": "Selecione seu idioma preferido",
"save": "Salvar preferência"
},
"common": {
"card": "cartão",
"cards": "cartões",
"cancel": "Cancelar",
"accept": "Aceitar",
"save": "Salvar",
"ok": "OK",
"dismiss": "Liberar",
"editLabel": "Editar {{label}}",
"tryAgain": "Tente novamente",
"goBack": "Volte",
"ignore": "Ignorar",
"camera": {
"errors": {
"missingPermission": "Este aplicativo usa a câmera para escanear o código QR de outro dispositivo."
},
"allowAccess": "Permitir acesso à câmera"
},
"errors": {
"genericError": "Lamentamos! "
},
"clipboard": {
"copy": "Cópia",
"copied": "Copiado"
},
"biometricPopup": {
"title": "Desbloquear aplicativo",
"description": "Use a impressão digital para desbloquear o aplicativo"
}
},
"copilot": {
"helpTitle": "Ajuda/Perguntas frequentes",
"helpMessage": "Encontre respostas para perguntas comuns e acesse recursos úteis em nossa seção de perguntas frequentes, garantindo que você tenha suporte sempre que precisar.",
"downloadTitle": "Baixar cartão",
"downloadMessage": "Baixe facilmente e armazene seu cartão com segurança no aplicativo para acesso conveniente sempre que precisar.",
"shareTitle": "Compartilhar cartão",
"shareMessage": "Compartilhe seu cartão com facilidade no modo offline usando bluetooth, permitindo que você forneça informações verificadas sempre que necessário.",
"historyTitle": "Acesso à História",
"historyMessage": "Veja seu histórico de atividades para monitorar suas interações e manter-se informado sobre suas ações anteriores no aplicativo.",
"settingsTitle": "Configurações do aplicativo",
"settingsMessage": "Personalize a experiência do seu aplicativo com configurações personalizadas de acordo com suas preferências.",
"cardTitle": "Cartão",
"cardMessage": "Seu cartão exibe suas informações de identidade verificadas. ",
"next": "Próximo",
"previous": "Anterior",
"skip": "Pular",
"done": "Feito"
}
}

View File

@@ -181,14 +181,15 @@
"keyPreferenceError": "மன்னிக்கவும்! உங்கள் கீ முன்னுரிமைகளை அமைப்பதில் பிழை ஏற்பட்டது"
},
"AboutInji": {
"aboutInji": "இன்ஜி பற்றி",
"header": "இன்ஜி பற்றி",
"aboutInji": "Inji Wallet பற்றி",
"header": "Inji Wallet பற்றி",
"appID": "பயன்பாடாகும் ID",
"aboutDetails": "இன்ஜி என்பது ஒரு மொபைல் பயன்பாடாகும், இது நற்சான்றிதழ்களைச் சேமிக்க டிஜிட்டல் பணப்பையாகப் பயன்படுத்தப்படலாம். எந்த இடத்திலும் நேரத்திலும், ஆஃப்லைன் மற்றும் ஆன்லைன் முறைகள் இரண்டிலும் அடையாச் சரிபார்ப்பை இது அனுமதிக்கிறது.",
"aboutDetails": "இன்ஜி வாலட் தரவை நம்பகமானதாகவும், எடுத்துச் செல்லக்கூடியதாகும் ஆக்குகிறது, பல்வேறு பயனர் தேவைகளைப் பூர்த்தி செய்யும் இரண்டு முக்கிய இடைமுகங்களைக் கொண்டுள்ளது, இன்ஜி மொபைல் அவற்றில் ஒன்றாகும். மொபைல் அடிப்பையிலான வாலட் பயன்பாடாக, இன்ஜி மொபைல் என்பது பாதுகாப்பான, பரவலாக்கப்பட்ட தீர்வாகும், இது பயனர்கள் தங்கள் ஸ்மார்ட்போன்களில் இருந்து நேரடியாச் சரிபார்க்கக்கூடிய சான்றுகளை பதிவிறக்கம் செய்து, நிர்வகிக்க, பகிர மற்றும் சரிபார்க்க அனுமதிக்கிறது, பயணத்தின்போது நற்சான்றிதழ்களைக் கையாள தடையற்ற மற்றும் நம்பகமான வழியை வழங்குகிறது.",
"forMoreDetails": "மேலும் விவரங்களுக்கு",
"clickHere": "இங்கே கிளிக் செய்யவும்",
"version": "பதிப்பு",
"tuvaliVersion": "துவாலி-பதிப்பு"
"tuvaliVersion": "துவாலி-பதிப்பு",
"poweredBy": "இன்ஜி மூலம் இயக்கப்படுகிறது, ஒரு MOSIP தயாரிப்பு"
},
"IssuersScreen": {
"title": "புதிய அட்டையைச் சேர்க்கவும்",

View File

@@ -10,7 +10,7 @@ import {ActorRefFrom} from 'xstate';
import {VCItemMachine} from '../../../machines/VerifiableCredential/VCItemMachine/VCItemMachine';
export const HistoryTab: React.FC<HistoryTabProps> = props => {
const {t} = useTranslation('HistoryTab');
const {t} = useTranslation('HistoryScreen');
const controller = useKebabPopUp(props);
return (

View File

@@ -27,10 +27,6 @@ export const HomeScreenLayout: React.FC<RootRouteProps> = props => {
props.navigation.setOptions({
tabBarShowLabel: true,
tabBarActiveTintColor: Theme.Colors.IconBg,
tabBarLabelStyle: {
fontSize: 12,
fontFamily: 'Inter_600SemiBold',
},
tabBarStyle: {
height: 75,
paddingHorizontal: 10,
@@ -82,14 +78,22 @@ export const HomeScreenLayout: React.FC<RootRouteProps> = props => {
var HomeScreenOptions = {
headerLeft: () =>
isIOS() || !isRTL
? <View style={Theme.Styles.injiHomeLogo}>{SvgImage.InjiLogo(Theme.Styles.injiLogo)}</View>
: screenOptions,
isIOS() || !isRTL ? (
<View style={Theme.Styles.injiHomeLogo}>
{SvgImage.InjiLogo(Theme.Styles.injiLogo)}
</View>
) : (
screenOptions
),
headerTitle: '',
headerRight: () =>
isIOS() || !isRTL
? screenOptions
: <View style={Theme.Styles.injiHomeLogo}>{SvgImage.InjiLogo(Theme.Styles.injiLogo)}</View>,
isIOS() || !isRTL ? (
screenOptions
) : (
<View style={Theme.Styles.injiHomeLogo}>
{SvgImage.InjiLogo(Theme.Styles.injiLogo)}
</View>
),
};
return (

View File

@@ -22,6 +22,7 @@ import {useNavigation} from '@react-navigation/native';
import {useSelector} from '@xstate/react';
import {selectIsLinkCode} from '../machines/app';
import {BOTTOM_TAB_ROUTES} from '../routes/routesConstants';
import {Text} from '../components/ui';
const {Navigator, Screen} = createBottomTabNavigator();
@@ -131,6 +132,17 @@ export const MainLayout: React.FC = () => {
</Column>
),
tabBarAccessibilityLabel: isIOS() ? t(route.name) : route.name,
tabBarLabel: ({focused}) => (
<Text
numLines={1}
style={
focused
? Theme.BottomTabBarStyle.bottomTabLabelText
: Theme.BottomTabBarStyle.unfocusedbottomTabLabelText
}>
{t(route.name)}
</Text>
),
tabBarTestID: route.name,
}}
/>

View File

@@ -6,6 +6,7 @@ import {
Pressable,
TouchableOpacity,
I18nManager,
View,
} from 'react-native';
import {Modal} from '../../components/ui/Modal';
import {Column, Row, Text} from '../../components/ui';
@@ -54,7 +55,7 @@ export const AboutInji: React.FC<AboutInjiProps> = ({appId}) => {
<Modal
testID="aboutInji"
isVisible={showAboutInji}
headerTitle={t('header')}
headerTitle={t('aboutInji')}
headerElevation={2}
arrowLeft={true}
onDismiss={() => {
@@ -92,7 +93,7 @@ export const AboutInji: React.FC<AboutInjiProps> = ({appId}) => {
<CopyButton content={appId} />
</Row>
</LinearGradient>
<Column padding="12" align="space-between">
<Column padding="12" align="space-between" style={{flex: 1}}>
<Column>
<Text
testID="aboutDetails"
@@ -136,7 +137,7 @@ export const AboutInji: React.FC<AboutInjiProps> = ({appId}) => {
align="space-between"
crossAlign="center"
style={Theme.Styles.versionContainer}>
<Row>
<Row style={{paddingBottom: 15}}>
<Text
testID="tuvaliVersion"
weight="semibold"
@@ -151,15 +152,27 @@ export const AboutInji: React.FC<AboutInjiProps> = ({appId}) => {
{__InjiVersion.getValue()}
</Text>
</Row>
{__TuvaliVersion.getpackageVersion() != 'unknown' && (
<Text
weight="semibold"
style={{paddingTop: 3, marginTop: 3}}
style={{paddingTop: 3, paddingBottom: 12, marginTop: 3}}
color={Theme.Colors.aboutVersion}>
{t('tuvaliVersion')}: {__TuvaliVersion.getValue()}
</Text>
)}
<View
style={{
backgroundColor: 'lightgrey',
width: '90%',
height: 1,
}}
/>
<Text
weight="semibold"
style={{paddingTop: 15, maxWidth: 250}}
color="black">
{t('poweredBy')}
</Text>
</Column>
</Column>
</Modal>

View File

@@ -32,8 +32,11 @@ export const SplashScreen: React.FC<RootRouteProps> = props => {
width: Dimensions.get('screen').width,
}}>
<Image
resizeMode="stretch"
style={{width: 400, height: 450}}
resizeMode="contain"
style={{
width: Dimensions.get('screen').width - 180,
height: Dimensions.get('screen').height - 120,
}}
source={imageResource}
/>
</Column>

View File

@@ -144,7 +144,7 @@ export const DEFAULT_ECL = 'L';
export const DEFAULT_QR_HEADER = 'INJIQUICKSHARE://';
export const MAX_QR_DATA_LENGTH = 4296;
export const INTRO_SLIDER_LOGO_MARGIN = Dimensions.get('screen').width * 0.45;
export const INTRO_SLIDER_LOGO_MARGIN = Dimensions.get('screen').width * 0.41;
export const COPILOT_PRE_FINAL_STEP: number = 5;
export const COPILOT_FINAL_STEP: number = 6;
@@ -159,5 +159,8 @@ export const copilotTestID = {
'6': 'cardView',
};
export const FACE_SDK_MODEL_PATH = isAndroid() ? 'assets:faceModel.tflite' : 'bundle:/faceModel.tflite'
export const FACE_SDK_MODEL_CHECKSUM = '797b4d99794965749635352d55da38d4748c28c659ee1502338badee4614ed06'
export const FACE_SDK_MODEL_PATH = isAndroid()
? 'assets:faceModel.tflite'
: 'bundle:/faceModel.tflite';
export const FACE_SDK_MODEL_CHECKSUM =
'797b4d99794965749635352d55da38d4748c28c659ee1502338badee4614ed06';