From ebafa1dc3963b6fed8c212c4a78a1b7c46c62189 Mon Sep 17 00:00:00 2001 From: Welton Moura Date: Mon, 14 Sep 2026 08:30:25 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20cart=C3=B5es=20de=20publica=C3=A7=C3=A3?= =?UTF-8?q?o=20em=20canais=20e=20corrre=C3=A7=C3=B5es=20de=20salas=20arqui?= =?UTF-8?q?vadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Canais: publicações viram cartões de largura total mantendo todas as funções do balão (reações, resposta, editar, excluir, comentários em thread). Composer de publicação fica restrito a admins no feed; membros comentam via tela de thread. Canais novos usam events_default 0 para permitir comentários e reações. - Ao sair/excluir uma sala, a cópia local é removida do banco imediatamente; salas já deixadas no servidor não apresentam mais erro ao excluir de novo. - Classificação mural/canal carregada direto do sync (room_type em importantStateEvents + postLoad) sem precisar abrir a sala. - Diálogos com raio e padding reduzidos (dialogTheme, text input e ok/cancel). - Ícones do app regenerados (logo_background) e dependência linkify. --- .../drawable-hdpi/ic_launcher_background.png | Bin 598 -> 2234 bytes .../drawable-mdpi/ic_launcher_background.png | Bin 396 -> 1128 bytes .../drawable-xhdpi/ic_launcher_background.png | Bin 814 -> 3728 bytes .../ic_launcher_background.png | Bin 3506 -> 7801 bytes .../ic_launcher_background.png | Bin 1928 -> 13513 bytes assets/logo/img/logo_background.png | Bin 20535 -> 204206 bytes lib/config/themes.dart | 11 + lib/l10n/intl_en.arb | 5838 +++++++++-------- lib/l10n/intl_pt.arb | 4085 ++++++------ lib/l10n/intl_pt_BR.arb | 5133 +++++++-------- lib/l10n/intl_pt_PT.arb | 4493 ++++++------- lib/pages/archive/archive.dart | 23 +- lib/pages/chat/chat.dart | 4 +- lib/pages/chat/chat_event_list.dart | 4 + lib/pages/chat/chat_view.dart | 9 +- lib/pages/chat/events/message.dart | 321 +- lib/pages/chat_list/chat_list.dart | 70 +- lib/pages/chat_list/chat_list_body.dart | 7 +- lib/pages/chat_list/chat_list_item.dart | 8 +- lib/pages/chat_list/tabs/channels_tab.dart | 7 +- lib/pages/chat_list/tabs/murals_tab.dart | 18 +- lib/pages/mural/mural_chat_page.dart | 422 +- lib/pages/new_group/new_group.dart | 9 +- lib/utils/client_manager.dart | 4 + .../matrix_sdk_extensions/room_extension.dart | 33 + .../show_ok_cancel_alert_dialog.dart | 4 + .../show_text_input_dialog.dart | 2 + pubspec.lock | 2 +- pubspec.yaml | 1 + 29 files changed, 10543 insertions(+), 9965 deletions(-) create mode 100644 lib/utils/matrix_sdk_extensions/room_extension.dart diff --git a/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png b/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png index c39b3f6466232f56facf1f3f0ba682c7b9a905b2..df000bce8efd1d89ea5ef1aeacf0b819a7910c7c 100644 GIT binary patch literal 2234 zcmb`}`6CmI1IO{XnOsGw9&;6X91|g)IacOAViq|kOp~L>F*hkiduFa#X;|c*QK;nD zoNZ5zE;l10#~d|B#M;yMfB63JdB6UJ&x0#Y))K%|KmY(BVQXXQ`rESqjZffr_aNyW zzY)IT;0BXago>TeLh&v*0RW;Aww6%0xT5s}F8o+5h+!@!#jhf$h-M%8UW#9j8{J9@ zaSnPh^Q5H8oBe*qxXRX=TI>Rqf{G04$a*&8%U+CvwmUOcCn)pL2|#Qp0gp7TP}OiD zNR&Y`Bs|B{9e1Nxkae}xF7CJFL5oMRGh4qPN%S^=3TOH9rRWb%FGr8a3uZKXqyjFv z1={!JT@=29%iPPpKgfcLDP(&1kz&?iIqrm1TyTh!2*uUJH2SO2HOor&+5O85-4v|eY0XXLr!;45 z80lD}Nd3J>9-IsnIQ$jc4_C5(}-lR=FT| zEM9YJwY@g@UKmrEJR~XSK92C(T)t(OxuI^LldJ@tDN_Zp*2=qbNp8MI^DTBVQ+2F( z=+f6b&1vMj5g|9ev$Ag;FQ5#LUvry5g)%W`{~iM+?dWQBb>Ly>_mT2|8x7s6jXKbU zYfE|O_X&Ol^v^e1TOCgmd#m5I%xF_diJwqj)nW^gnTffq9kI5`n6uUGdA-;3v%FZ( zOk9n{Z7tJMbdZCq-OSEpBn)(xcn}+w5>)x7!7hTycwJ{38hJIsugt+EEwfm~kmtX0 z@JVju9Qeydd#l8k7t%>%B;C0mQ`RXxaU+JjRdA5JC;gZ9BPeYyEyLyzGgDc15zGH> zVlNSs=5*{if&W%bWIo)CPs2ttKdOLgOlhTVt=9LsD%t)){E07YK-xZ+&n0-63<(h99t7noGU)PoY`DA>~X$L$T$DODa`9=vJ@Ep0HT-cM{M}#7; z^TE0TJ-v()BrVZ!E|+r@JpI&OTR+&6-*O*u97fQ3H(5o0%6BFFf&FB^8M}GBkc(Zl zl4-bA+$VqrU?1O|-;%lMof3DX}n_slO-_g?mmx8#eXTs>5A-r9h#UU$nLn zp?}o9eb;6eq|2JsR8fcI&5>SIG#zzzxHzQ-cAhzE`xL@lN%N<=_T828Hy4P!?17x*9b4mVBCV5Avl2k+Eu5L`j^5ED?@SV485S=lKiLEjNt3q4~Ed18G)3Lobs|G^A zsr0phJ{(hgSTx1}%4F&W;YQg#as{yHB;*a#ZCb&}8V+_4UHF<8*xgKM6^Y&fX^;EO z%6r^BRQv35L&GmR9%`x5qv7i>?bCmx^`YU4k_J>ZIJJBXtce3wD`dWUz2xKr-SAb= z5NmFtNa_2_ZjGr>^OS7dUxs%8pFwJEp1!S+!pxzXzCJQ^@d-nUG-{RWxK9=!R^*b_ z^m^=tp13Dk`!^Na*5dq!eYM_Ti4qKRyr^A^vr&upXskLk2TMvk=xwa-c&vnoQ#IE2 zQVghyPJ4jv%?tdF2Rx%)Y1nO4aF4>Q25iFM*gs=3>v`oKYV?m4+VC0;6X)sp*z2JL z*CRjsS%wGfp;yYso3ROJ6#9;iMFA9U=N-)IYTc5%9I7mIYB7CzjreE37YaZP3F@@V zd{x=qFD(J7@2?-By7a_;fI*6n=WYfSZZ0^fi5vQ0A6Rts{9QjC2voE8&-FYk`lX z!FF*xs-CDz*vHaI82hfk6GoqDn=z|S>ib4lT8V&zO?vP5+4zx7asE>A;l2<9P z6zlXYby3V%0ZJ;Rh$Mn@qN>>c;I#}`2$5xiDI1x*Gv;Ub6t_`|(^4lc{p7Ab+}l?y nQVx7XAOgBOgi;qajYk)FSBbGXk)MIa$_ULf-ig(u literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^i$Iuz4M-mPBqq(kz$EMG;uumf=k48%6Q3CHFgQw_ z2=&y6dFt4D&~TS>MRNAOhNGXp)$TJcxH<1}@rl~%-|`HLJ3`*{@GE^^s}QuHLq$W0 zv&*ANY0?IFLCzZ!U6`&NpTOj*a&UuF(^p>3J~@v9HaDOwlEQ?3kEZ-EkocirG9VKy zn3WGE>Of3^tFu+&+!v{MP*Q@kO;m_STSX$w!(hz>xHQ!kbA7{BZ<%-pTG9Wj!nn7%M@S>3=Jpt-$pdcpo41tq{8cT!hx-du-UJ2s9nY209_wnDZMrG~^PM4sI@iT5$Z1=ZELI9uOtKV7cPc zWNaWbr*R_OC%{m;W)2DiWRuPvfNOyWzY+BO0QAnhrOKd?1-jxe7bswmybcOhSU5wS z01DXq*=ooJL!1bVu)`5Te?l67o`D82&^HiAy7MC(Q@7~^PgvPZLuFukVeoYIb6Mw< G&;$TroXD;K diff --git a/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png b/android/app/src/main/res/drawable-mdpi/ic_launcher_background.png index 8d9cc1c255a36bde7f053d5d99f247b416527d9e..fabe397dc70b4e6958d8d8c4316b0089fabfd0f2 100644 GIT binary patch delta 1119 zcmV-l1fctj1Lz2l7=Hl+0002BsKt%|000J1OjJbhQ^xO5Cdu?_0mqg#8xqwU}UY(8MR1F zjDfZ)q1N4yfNiuTwXL;WI-_lXN~J(R+LADf7q)g;PTd6tn17w~+PR!r{sF(8=fh^7 zyqEJkd$I^X1slyE?;voALyezm3Lr5OsHeIBFuk)cO4R_+9>|MiW((8xajV$?03Ghq zK3wGOYRvplincFl4ve4er3aZ&a8J8)kapuFku=^a*qQ_aAn(ef%@;KtV1LRDIeqku zp3hS~1rH^l`hNm)L#pGy4W5*!&Wd$ zk3%lvis=04U3E!*4mW2EgT`i#N5nF#!Mlrf1k}CiYp+Y^f90 zWMU}6d$Tjm$zC2+2NCq7E$vt=;?@U|uGxwkP}cVYc7HPwK`X9bAvxEdl6A3bxakB! zh80VM-#;o@)@*JT0p?^F59M`n&h-~SBfU9(FU_n~#a_7k#IrY41R%3%J*$@A%b8W# zJZVhyDQh3GA4P)~#Vg*(9wp9gh*V{K*1;0k& zo(G=_*!mU3D<2c~cwe&>!+rA;+e@3BW`OfG6YCU@-%<^r@A2sE(JX~lyB9;**~<~t zL4Pf}`i!TPYO3mRM`IHgbQC%xpA1a6&DY|0?Bq6Zj>- zndGIA;8tZZ-sr8fHz5(OCsZLoR~aPMQh$E)tND&%6%tqOzfE#_OD|~rfQ6IwUjK`#b7WP3;y*9002ovPDHLkV1g{h7&ia_ literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p|}=Fa~?NIEGZrd3)y|?;!&Lmq7Vt z;j=t;zC3*80B7yXy<8LAcFRpZFzts1h1 zVM$=l=GQ#lHw_atf!ykd9?tGStE4G?6557t35Mr3NC=BPmJ?g7dMu*T(90bt3pDDI zVDh0PwRK{`V#*sNmMR}RYI)472W-VNj%=XrHAf^Gk8p&Ce~VWQ!@_M;H@f~{r|TU>Hv#s-Q1 zmq8AhlL%6lV7L#g670s048}lxK;vO{0v#y{^2cKyi2H&1f&Kx7%b98L Y!O2~BJY>pbU??+qy85}Sb4q9e08J&BJ^%m! diff --git a/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png b/android/app/src/main/res/drawable-xhdpi/ic_launcher_background.png index 6546be8faecac1cc23bcc29d6e4002be7f78ca4d..09640b0e5957a0ed53edbcc4e67f48fa6ff50050 100644 GIT binary patch literal 3728 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 JiB@;`_&;NNHCzAy literal 814 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$!4M=t>=)PrOVEXFm;uumf=k48tyoU`0m>q3z zWY6;0`ObM|lHh?ED;4H9r2kTR|GV-XqtNf~{0-)}_cHNl3Gp~VkhOc0W2&0V3l9Sh zPXi83ONA7dmI;D_P+6dwC>M^%Z>M(UE`fQpVJ-Rs*m6f2Xff|Zl^0v&$Xqzxg4(eEl<3R4ut>XCkgBfI> z&Tl7>EpUAxLp#$zuDh^q8nY45e-KxLbOHSbUkrG%VC!6B)g9=Yvj6sG$ z(3TF6B*;rZNgx9H0Ax#(BLtn0=W%j#0R<)mMNVy+kQxsPwkN-VzHIe|1rjhs-#0s+ z5Z6yp8Hk{!0Yed@xaJR|)3jPekSnmb5h&ER8XV_94LuzK zw@T%BKq2jC;tX;iFt9R!2~Go&R3M28m~K>n!MuYD6upR`2L|mOVC*51#h-)V^a)IS Z{1qa+dJO6dd4TzV!PC{xWt~$(697Ze2=o8| diff --git a/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png b/android/app/src/main/res/drawable-xxhdpi/ic_launcher_background.png index 6031e62825cffc5f60eca8a73779e61d6cd49b5e..a8cb02713dd8b657862a607ec471fbe72f8d55f0 100644 GIT binary patch literal 7801 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 diff --git a/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png b/android/app/src/main/res/drawable-xxxhdpi/ic_launcher_background.png index 1bb23775d27a040a23de6841d1a8d6e6991b9706..ec8747710232016ecd0321473c9791c4c30129f8 100644 GIT binary patch literal 13513 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 S^(nXb!je)R4m~cdi~IvC)(!Rm diff --git a/assets/logo/img/logo_background.png b/assets/logo/img/logo_background.png index 1d9a40c28353d52ea6b182daa8a0b6af01303b04..e49df471ce4b07d97da1bac1b50a74908e8b5004 100644 GIT binary patch literal 204206 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

~R0FBo8VN= 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 UJ-X{WD*ylh07*qoM6N<$f~TezIRF3v literal 20535 zcmeHPe@sW#7_o>&^e-YRXnFi#zxI z;w|PM@#_mq3JE#%){N_w)6BoqtBT4>2zg~bA;AVh{xO?^zY$WKNl0G>A=&Q`l3M*< z`_s8*M^bgs+8RP0%CP>$)g8#+Xf`HpC@xu%*q4yxTR8X4(s_C2DM|72!t%PV{+|n9 ziqD)Kf9Uv+)yX@zr`?;DzBj%9^B4L%hlU2Gn1`Cb;CI7I<3b|wnb#fpl_rf#$>@95 zzSUswrN7M=G4dO1$g!ojgR^X@al%Mi>*+h~o33k`mTimoHBSvm1zOI-hiy5?y2ty2 zMtZ3G+2etvi14#86}K_A|EXn`0&E#u3|QNatq-^uFRZ*mvC`Dg}Bi zXs~`2Tj_IZC*$XZ+Q?$|prR*~85gKMXkWMEFLvehIC?V+B_zG;2nCikOy9;Mh4z~x zGw7RpK;k0U4eI{=i|mIQ%w<<8Vk&z=v7~Q&(Y_qHi{a)JYRctp$1YMeW8E;2FSTW_ zwy)A%&(5>QQ=HQ-ou?1V=1Ma*`vTVlr?c=t>?+Y~!%P&A3MB310;+JZWoLKVW&4F; z-7qj#5@4>VHR}FNQ3DLjmesVOPy`&uIFS*qCr9_O?r;N!?(rlUr<3go*WB1ZZyKB^ z-(mv$OVh@jt%6uwVl4req?xGswtHmRT4#Cm>HO){c#VaAIw?F5F7QZA_8yV zs}bv!QLUWHA^;1*crlfUwu!1%_vb~QZGwl2;ALcR#mHW18*T6aLxBb7X-LF>{i=J_ z*e59ae{g*!4TJ!v;9YwmN$JxCuCHSnWdZ&ea2*2#(YCf4JHowV+;ZjeSs$6bW9!+}3tM_JeLwh~zcJIgvjXEp0_74)oCh{t zV@5uVgN#QV2OcE@PyAy6ydcU@9gXYH^jaxc>$ka+@j(6D`(e2=PfSb36NBwIeDW{+ zj8ousYPax;g%eV0{DWxp5Fus;w}46R16IuPWZF=xH56yHq&yGb7)5&>{%fElpXThI zqPge-Ogrw|yw#_Z!avSU4C=qKZt#dQc|+w~A6&a5G5D(M#Guw%6CZ+2hwGOCgea0j zMb1i%JCahUl*&ZcwiKyWRH53UFT;7Px9KC%xDdmC6mq?wf!NK6wxQ05kMK9)dS0|} z-MuH^AHmnG?!Q3S34#8=s*=7hkw(g~3MEAq3geuK_94L-9+pbv%^YiIRE<3HZ{@hMQI_GzyicBTy8$fg z1Yz04EVmm2Rl*1oHXrzH{EUu!Tv5*|q*iQTUVtRC$REv2h8l%}x` zdvaB;WtX)s9P%Ym!l@oXSKO&DE$@SfK$m zl#o9!_`Nd8EDU}?om(w~Ao1#-BUr*H@sb1z_FCoiJOc9XH+X zet(P%Cb@S!?vIFsdwTs>w2*-n8=?g|`Zcz@hCfggE7gn>&!+{B3vQJW9>_;VnO;S{ zIFb!}`+WmEb`%ZLM8{#tS$%GJnju1Qmhk1^>nz?b7o&k-AR#NgcPF(s0PW%rXR0>61?iKDW>r~pc#G9Z*X00V#T;JT-^Q37Cl01T|&!9pJdyz zU?(`Bsorx3%@YnX$ae2IVt<6baXsClwB|uNue;et-^SCDDMlW(l=fw5mG8cM>{Bc7 OE?%)}`N3rs+x`Q^+y4sy diff --git a/lib/config/themes.dart b/lib/config/themes.dart index 2ac9769..84ba4c9 100644 --- a/lib/config/themes.dart +++ b/lib/config/themes.dart @@ -56,6 +56,17 @@ abstract class FluffyThemes { brightness: brightness, colorScheme: colorScheme, dividerColor: dividerColor, + dialogTheme: DialogThemeData( + alignment: Alignment.center, + // Compact dialogs: less padding and a smaller corner radius than the + // Material 3 default (28px), so modals like "set chat description" + // leave more room for the text field. + insetPadding: const EdgeInsets.symmetric(horizontal: 24, vertical: 24), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(AppConfig.borderRadius), + ), + actionsPadding: const EdgeInsets.fromLTRB(20, 0, 20, 12), + ), segmentedButtonTheme: SegmentedButtonThemeData( style: SegmentedButton.styleFrom( iconColor: colorScheme.onSurface, diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 3f77921..8efb8ba 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -1,2917 +1,2927 @@ { - "editImage": "Edit image", - "@editImage": { - "type": "String", - "placeholders": {} - }, - "rotateLeft": "Rotate left", - "@rotateLeft": { - "type": "String", - "placeholders": {} - }, - "rotateRight": "Rotate right", - "@rotateRight": { - "type": "String", - "placeholders": {} - }, - "mirror": "Mirror", - "@mirror": { - "type": "String", - "placeholders": {} - }, - "save": "Save", - "@save": { - "type": "String", - "placeholders": {} - }, - "draw": "Draw", - "@draw": { - "type": "String", - "placeholders": {} - }, - "undo": "Undo", - "@undo": { - "type": "String", - "placeholders": {} - }, - "clear": "Clear", - "@clear": { - "type": "String", - "placeholders": {} - }, - "eraser": "Eraser", - "@eraser": { - "type": "String", - "placeholders": {} - }, - "crop": "Crop", - "@crop": { - "type": "String", - "placeholders": {} - }, - "@@locale": "en", - "@@last_modified": "2021-08-14 12:38:37.885451", - "repeatPassword": "Repeat password", - "notAnImage": "Not an image file.", - "remove": "Remove", - "@remove": { - "type": "String", - "placeholders": {} - }, - "importNow": "Import now", - "importEmojis": "Import Emojis", - "importFromZipFile": "Import from .zip file", - "exportEmotePack": "Export Emote pack as .zip", - "replace": "Replace", - "about": "About", - "aboutHomeserver": "About {homeserver}", - "@aboutHomeserver": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "accept": "Accept", - "@accept": { - "type": "String", - "placeholders": {} - }, - "acceptedTheInvitation": "👍 {username} accepted the invitation", - "@acceptedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "account": "Account", - "@account": { - "type": "String", - "placeholders": {} - }, - "accountsAndSettings": "Accounts and settings", - "@accountsAndSettings": { - "type": "String", - "placeholders": {} - }, - "activatedEndToEndEncryption": "🔐 {username} activated end to end encryption", - "@activatedEndToEndEncryption": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "addEmail": "Add email", - "@addEmail": { - "type": "String", - "placeholders": {} - }, - "confirmMatrixId": "Please confirm your Matrix ID in order to delete your account.", - "supposedMxid": "This should be {mxid}", - "@supposedMxid": { - "type": "String", - "placeholders": { - "mxid": { - "type": "String" - } - } - }, - "addToSpace": "Add to space", - "admin": "Admin", - "@admin": { - "type": "String", - "placeholders": {} - }, - "alias": "alias", - "@alias": { - "type": "String", - "placeholders": {} - }, - "all": "All", - "@all": { - "type": "String", - "placeholders": {} - }, - "commandHint_roomupgrade": "Upgrade this room to the given room version", - "commandHint_googly": "Send some googly eyes", - "commandHint_cuddle": "Send a cuddle", - "commandHint_hug": "Send a hug", - "googlyEyesContent": "{senderName} sends you googly eyes", - "@googlyEyesContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "cuddleContent": "{senderName} cuddles you", - "@cuddleContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "hugContent": "{senderName} hugs you", - "@hugContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "answeredTheCall": "{senderName} answered the call", - "@answeredTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "anyoneCanJoin": "Anyone can join", - "@anyoneCanJoin": { - "type": "String", - "placeholders": {} - }, - "appLock": "App lock", - "@appLock": { - "type": "String", - "placeholders": {} - }, - "appLockDescription": "Lock the app when not using with a pin code", - "archive": "Archive", - "@archive": { - "type": "String", - "placeholders": {} - }, - "areGuestsAllowedToJoin": "Are guest users allowed to join?", - "@areGuestsAllowedToJoin": { - "type": "String", - "placeholders": {} - }, - "areYouSure": "Are you sure?", - "@areYouSure": { - "type": "String", - "placeholders": {} - }, - "discardEdits": "You have unsaved changes. Discard your edits?", - "@discardEdits": { - "type": "String", - "placeholders": {} - }, - "areYouSureYouWantToLogout": "Are you sure you want to log out?", - "@areYouSureYouWantToLogout": { - "type": "String", - "placeholders": {} - }, - "askSSSSSign": "To be able to sign the other person, please enter your secure store passphrase or recovery key.", - "@askSSSSSign": { - "type": "String", - "placeholders": {} - }, - "askVerificationRequest": "Accept this verification request from {username}?", - "@askVerificationRequest": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "autoplayImages": "Automatically play animated stickers and emotes", - "@autoplayImages": { - "type": "String", - "placeholder": {} - }, - "badServerLoginTypesException": "The homeserver supports the login types:\n{serverVersions}\nBut this app supports only:\n{supportedVersions}", - "@badServerLoginTypesException": { - "type": "String", - "placeholders": { - "serverVersions": { - "type": "String" - }, - "supportedVersions": { - "type": "String" - } - } - }, - "sendTypingNotifications": "Send typing notifications", - "swipeRightToLeftToReply": "Swipe right to left to reply", - "sendOnEnter": "Send on enter", - "noMoreChatsFound": "No more chats found...", - "noChatsFoundHere": "No chats found here yet. Start a new chat with someone by using the button below. ⤵️", - "unread": "Unread", - "space": "Space", - "banFromChat": "Ban from chat", - "@banFromChat": { - "type": "String", - "placeholders": {} - }, - "banned": "Banned", - "@banned": { - "type": "String", - "placeholders": {} - }, - "bannedUser": "{username} banned {targetName}", - "@bannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "blockDevice": "Block Device", - "@blockDevice": { - "type": "String", - "placeholders": {} - }, - "blocked": "Blocked", - "@blocked": { - "type": "String", - "placeholders": {} - }, - "cancel": "Cancel", - "@cancel": { - "type": "String", - "placeholders": {} - }, - "cantOpenUri": "Can't open the URI {uri}", - "@cantOpenUri": { - "type": "String", - "placeholders": { - "uri": { - "type": "String" - } - } - }, - "changeDeviceName": "Change device name", - "@changeDeviceName": { - "type": "String", - "placeholders": {} - }, - "changedTheChatAvatar": "{username} changed the chat avatar", - "@changedTheChatAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheChatDescription": "{username} changed the chat description", - "changedTheChatName": "{username} changed the chat name", - "changedTheChatPermissions": "{username} changed the chat permissions", - "@changedTheChatPermissions": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheDisplaynameTo": "{username} changed their displayname to: '{displayname}'", - "@changedTheDisplaynameTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "displayname": { - "type": "String" - } - } - }, - "changedTheGuestAccessRules": "{username} changed the guest access rules", - "@changedTheGuestAccessRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheGuestAccessRulesTo": "{username} changed the guest access rules to: {rules}", - "@changedTheGuestAccessRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheHistoryVisibility": "{username} changed the history visibility", - "@changedTheHistoryVisibility": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheHistoryVisibilityTo": "{username} changed the history visibility to: {rules}", - "@changedTheHistoryVisibilityTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheJoinRules": "{username} changed the join rules", - "@changedTheJoinRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheJoinRulesTo": "{username} changed the join rules to: {joinRules}", - "@changedTheJoinRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "joinRules": { - "type": "String" - } - } - }, - "changedTheProfileAvatar": "{username} changed their avatar", - "@changedTheProfileAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomAliases": "{username} changed the room aliases", - "@changedTheRoomAliases": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomInvitationLink": "{username} changed the invitation link", - "@changedTheRoomInvitationLink": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changePassword": "Change password", - "@changePassword": { - "type": "String", - "placeholders": {} - }, - "changeTheHomeserver": "Change the homeserver", - "@changeTheHomeserver": { - "type": "String", - "placeholders": {} - }, - "changeTheme": "Change your style", - "@changeTheme": { - "type": "String", - "placeholders": {} - }, - "changeTheNameOfTheGroup": "Change the name of the group", - "@changeTheNameOfTheGroup": { - "type": "String", - "placeholders": {} - }, - "changeYourAvatar": "Change your avatar", - "@changeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "channelCorruptedDecryptError": "The encryption has been corrupted", - "@channelCorruptedDecryptError": { - "type": "String", - "placeholders": {} - }, - "chat": "Chat", - "@chat": { - "type": "String", - "placeholders": {} - }, - "chatBackup": "Chat backup", - "@chatBackup": { - "type": "String", - "placeholders": {} - }, - "chatDetails": "Chat details", - "@chatDetails": { - "type": "String", - "placeholders": {} - }, - "chats": "Chats", - "@chats": { - "type": "String", - "placeholders": {} - }, - "chooseAStrongPassword": "Choose a strong password", - "@chooseAStrongPassword": { - "type": "String", - "placeholders": {} - }, - "clearArchive": "Clear archive", - "close": "Close", - "@close": { - "type": "String", - "placeholders": {} - }, - "commandHint_markasdm": "Mark as direct message room for the giving Matrix ID", - "commandHint_markasgroup": "Mark as group", - "commandHint_ban": "Ban the given user from this room", - "@commandHint_ban": { - "type": "String", - "description": "Usage hint for the command /ban" - }, - "commandHint_clearcache": "Clear cache", - "@commandHint_clearcache": { - "type": "String", - "description": "Usage hint for the command /clearcache" - }, - "commandHint_create": "Create an empty group chat\nUse --no-encryption to disable encryption", - "@commandHint_create": { - "type": "String", - "description": "Usage hint for the command /create" - }, - "commandHint_discardsession": "Discard session", - "@commandHint_discardsession": { - "type": "String", - "description": "Usage hint for the command /discardsession" - }, - "commandHint_dm": "Start a direct chat\nUse --no-encryption to disable encryption", - "@commandHint_dm": { - "type": "String", - "description": "Usage hint for the command /dm" - }, - "commandHint_html": "Send HTML-formatted text", - "@commandHint_html": { - "type": "String", - "description": "Usage hint for the command /html" - }, - "commandHint_invite": "Invite the given user to this room", - "@commandHint_invite": { - "type": "String", - "description": "Usage hint for the command /invite" - }, - "commandHint_join": "Join the given room", - "@commandHint_join": { - "type": "String", - "description": "Usage hint for the command /join" - }, - "commandHint_kick": "Remove the given user from this room", - "@commandHint_kick": { - "type": "String", - "description": "Usage hint for the command /kick" - }, - "commandHint_leave": "Leave this room", - "@commandHint_leave": { - "type": "String", - "description": "Usage hint for the command /leave" - }, - "commandHint_me": "Describe yourself", - "@commandHint_me": { - "type": "String", - "description": "Usage hint for the command /me" - }, - "commandHint_myroomavatar": "Set your picture for this room (by mxc-uri)", - "@commandHint_myroomavatar": { - "type": "String", - "description": "Usage hint for the command /myroomavatar" - }, - "commandHint_myroomnick": "Set your display name for this room", - "@commandHint_myroomnick": { - "type": "String", - "description": "Usage hint for the command /myroomnick" - }, - "commandHint_op": "Set the given user's power level (default: 50)", - "@commandHint_op": { - "type": "String", - "description": "Usage hint for the command /op" - }, - "commandHint_plain": "Send unformatted text", - "@commandHint_plain": { - "type": "String", - "description": "Usage hint for the command /plain" - }, - "commandHint_react": "Send reply as a reaction", - "@commandHint_react": { - "type": "String", - "description": "Usage hint for the command /react" - }, - "commandHint_send": "Send text", - "@commandHint_send": { - "type": "String", - "description": "Usage hint for the command /send" - }, - "commandHint_unban": "Unban the given user from this room", - "@commandHint_unban": { - "type": "String", - "description": "Usage hint for the command /unban" - }, - "commandInvalid": "Command invalid", - "@commandInvalid": { + "editImage": "Edit image", + "@editImage": { + "type": "String", + "placeholders": {} + }, + "rotateLeft": "Rotate left", + "@rotateLeft": { + "type": "String", + "placeholders": {} + }, + "rotateRight": "Rotate right", + "@rotateRight": { + "type": "String", + "placeholders": {} + }, + "mirror": "Mirror", + "@mirror": { + "type": "String", + "placeholders": {} + }, + "save": "Save", + "@save": { + "type": "String", + "placeholders": {} + }, + "draw": "Draw", + "@draw": { + "type": "String", + "placeholders": {} + }, + "undo": "Undo", + "@undo": { + "type": "String", + "placeholders": {} + }, + "clear": "Clear", + "@clear": { + "type": "String", + "placeholders": {} + }, + "eraser": "Eraser", + "@eraser": { + "type": "String", + "placeholders": {} + }, + "crop": "Crop", + "@crop": { + "type": "String", + "placeholders": {} + }, + "@@locale": "en", + "@@last_modified": "2021-08-14 12:38:37.885451", + "repeatPassword": "Repeat password", + "notAnImage": "Not an image file.", + "remove": "Remove", + "@remove": { + "type": "String", + "placeholders": {} + }, + "importNow": "Import now", + "importEmojis": "Import Emojis", + "importFromZipFile": "Import from .zip file", + "exportEmotePack": "Export Emote pack as .zip", + "replace": "Replace", + "about": "About", + "aboutHomeserver": "About {homeserver}", + "@aboutHomeserver": { + "type": "String", + "placeholders": { + "homeserver": { "type": "String" - }, - "commandMissing": "{command} is not a command.", - "@commandMissing": { - "type": "String", - "placeholders": { - "command": { - "type": "String" - } - }, - "description": "State that {command} is not a valid /command." - }, - "compareEmojiMatch": "Please compare the emojis", - "@compareEmojiMatch": { - "type": "String", - "placeholders": {} - }, - "compareNumbersMatch": "Please compare the numbers", - "@compareNumbersMatch": { - "type": "String", - "placeholders": {} - }, - "configureChat": "Configure chat", - "@configureChat": { - "type": "String", - "placeholders": {} - }, - "contactHasBeenInvitedToTheGroup": "Contact has been invited to the group", - "@contactHasBeenInvitedToTheGroup": { - "type": "String", - "placeholders": {} - }, - "contentHasBeenReported": "The content has been reported to the server admins", - "@contentHasBeenReported": { - "type": "String", - "placeholders": {} - }, - "copiedToClipboard": "Copied to clipboard", - "@copiedToClipboard": { - "type": "String", - "placeholders": {} - }, - "copy": "Copy", - "@copy": { - "type": "String", - "placeholders": {} - }, - "copyToClipboard": "Copy to clipboard", - "@copyToClipboard": { - "type": "String", - "placeholders": {} - }, - "couldNotDecryptMessage": "Could not decrypt message: {error}", - "@couldNotDecryptMessage": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "checkList": "Check list", - "countParticipants": "{count, plural, =1{1 participant} other{{count} participants}}", - "@countParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "countInvited": "{count} invited", - "@countInvited": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "create": "Create", - "@create": { - "type": "String", - "placeholders": {} - }, - "createdTheChat": "💬 {username} created the chat", - "@createdTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "createGroup": "Create group", - "createNewSpace": "New space", - "@createNewSpace": { - "type": "String", - "placeholders": {} - }, - "canal": "Canal", - "canalIsPublic": "Canal is public", - "canalName": "Canal name", - "canalOnlyAdminCanPost": "Only canal admins are allowed to post in this room", - "createCanalAndInviteUsers": "Create a canal and invite users", - "createMuralAndInviteUsers": "Create a mural and invite users", - "mural": "Mural", - "muralIsPublic": "Mural is public", - "muralName": "Mural name", - "currentlyActive": "Currently active", - "@currentlyActive": { - "type": "String", - "placeholders": {} - }, - "darkTheme": "Dark", - "@darkTheme": { - "type": "String", - "placeholders": {} - }, - "dateAndTimeOfDay": "{date}, {timeOfDay}", - "@dateAndTimeOfDay": { - "type": "String", - "placeholders": { - "date": { - "type": "String" - }, - "timeOfDay": { - "type": "String" - } - } - }, - "deactivateAccountWarning": "This will deactivate your user account. This can not be undone! Are you sure?", - "@deactivateAccountWarning": { - "type": "String", - "placeholders": {} - }, - "defaultPermissionLevel": "Default permission level for new users", - "@defaultPermissionLevel": { - "type": "String", - "placeholders": {} - }, - "delete": "Delete", - "@delete": { - "type": "String", - "placeholders": {} - }, - "deleteAccount": "Delete account", - "@deleteAccount": { - "type": "String", - "placeholders": {} - }, - "deleteMessage": "Delete message", - "@deleteMessage": { - "type": "String", - "placeholders": {} - }, - "devices": "Devices", - "@devices": { - "type": "String", - "placeholders": {} - }, - "directChats": "Direct Chats", - "@directChats": { - "type": "String", - "placeholders": {} - }, - "displaynameHasBeenChanged": "Displayname has been changed", - "@displaynameHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "downloadFile": "Download file", - "@downloadFile": { - "type": "String", - "placeholders": {} - }, - "edit": "Edit", - "@edit": { - "type": "String", - "placeholders": {} - }, - "editBlockedServers": "Edit blocked servers", - "@editBlockedServers": { - "type": "String", - "placeholders": {} - }, - "chatPermissions": "Chat permissions", - "editDisplayname": "Edit displayname", - "@editDisplayname": { - "type": "String", - "placeholders": {} - }, - "editRoomAliases": "Edit room aliases", - "@editRoomAliases": { - "type": "String", - "placeholders": {} - }, - "editRoomAvatar": "Edit room avatar", - "@editRoomAvatar": { - "type": "String", - "placeholders": {} - }, - "emoteExists": "Emote already exists!", - "@emoteExists": { - "type": "String", - "placeholders": {} - }, - "emoteInvalid": "Invalid emote shortcode!", - "@emoteInvalid": { - "type": "String", - "placeholders": {} - }, - "emoteKeyboardNoRecents": "Recently-used emotes will appear here...", - "@emoteKeyboardNoRecents": { - "type": "String", - "placeholders": {} - }, - "globalChatId": "Global chat ID", - "accessAndVisibility": "Access and visibility", - "accessAndVisibilityDescription": "Who is allowed to join this chat and how the chat can be discovered.", - "calls": "Calls", - "customEmojisAndStickers": "Custom emojis and stickers", - "customEmojisAndStickersBody": "Add or share custom emojis or stickers which can be used in any chat.", - "emoteShortcode": "Emote shortcode", - "@emoteShortcode": { - "type": "String", - "placeholders": {} - }, - "emptyChat": "Empty chat", - "@emptyChat": { - "type": "String", - "placeholders": {} - }, - "enableEmotesGlobally": "Enable emote pack globally", - "@enableEmotesGlobally": { - "type": "String", - "placeholders": {} - }, - "enableEncryption": "Enable encryption", - "@enableEncryption": { - "type": "String", - "placeholders": {} - }, - "enableEncryptionWarning": "You won't be able to disable the encryption anymore. Are you sure?", - "@enableEncryptionWarning": { - "type": "String", - "placeholders": {} - }, - "encrypted": "Encrypted", - "@encrypted": { - "type": "String", - "placeholders": {} - }, - "encryption": "Encryption", - "@encryption": { - "type": "String", - "placeholders": {} - }, - "encryptionNotEnabled": "Encryption is not enabled", - "@encryptionNotEnabled": { - "type": "String", - "placeholders": {} - }, - "endedTheCall": "{senderName} ended the call", - "@endedTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "enterAnEmailAddress": "Enter an email address", - "@enterAnEmailAddress": { - "type": "String", - "placeholders": {} - }, - "errorObtainingLocation": "Error obtaining location: {error}", - "@errorObtainingLocation": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "fontSize": "Font size", - "@fontSize": { - "type": "String", - "placeholders": {} - }, - "forward": "Forward", - "@forward": { - "type": "String", - "placeholders": {} - }, - "fromJoining": "From joining", - "@fromJoining": { - "type": "String", - "placeholders": {} - }, - "fromTheInvitation": "From the invitation", - "@fromTheInvitation": { - "type": "String", - "placeholders": {} - }, - "group": "Group", - "@group": { - "type": "String", - "placeholders": {} - }, - "chatDescription": "Chat description", - "chatDescriptionHasBeenChanged": "Chat description changed", - "groupIsPublic": "Group is public", - "@groupIsPublic": { - "type": "String", - "placeholders": {} - }, - "groups": "Groups", - "@groups": { - "type": "String", - "placeholders": {} - }, - "groupWith": "Group with {displayname}", - "@groupWith": { - "type": "String", - "placeholders": { - "displayname": { - "type": "String" - } - } - }, - "guestsAreForbidden": "Guests are forbidden", - "@guestsAreForbidden": { - "type": "String", - "placeholders": {} - }, - "guestsCanJoin": "Guests can join", - "@guestsCanJoin": { - "type": "String", - "placeholders": {} - }, - "hasWithdrawnTheInvitationFor": "{username} has withdrawn the invitation for {targetName}", - "@hasWithdrawnTheInvitationFor": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "help": "Help", - "@help": { - "type": "String", - "placeholders": {} - }, - "hideRedactedMessages": "Hide redacted messages", - "hideRedactedMessagesBody": "If someone redacts a message, this message won't be visible in the chat anymore.", - "hideInvalidOrUnknownMessageFormats": "Hide invalid or unknown message formats", - "block": "Block", - "blockedUsers": "Blocked users", - "blockListDescription": "You can block users who are disturbing you. You won't be able to receive any messages or room invites from the users on your personal block list.", - "blockUsername": "Ignore username", - "iHaveClickedOnLink": "I have clicked on the link", - "@iHaveClickedOnLink": { - "type": "String", - "placeholders": {} - }, - "incorrectPassphraseOrKey": "Incorrect passphrase or recovery key", - "@incorrectPassphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "inviteContact": "Invite contact", - "@inviteContact": { - "type": "String", - "placeholders": {} - }, - "inviteContactToGroup": "Invite contact to {groupName}", - "@inviteContactToGroup": { - "type": "String", - "placeholders": { - "groupName": { - "type": "String" - } - } - }, - "noChatDescriptionYet": "No chat description created yet.", - "tryAgain": "Try again", - "invalidServerName": "Invalid server name", - "invited": "Invited", - "@invited": { - "type": "String", - "placeholders": {} - }, - "redactMessageDescription": "The message will be redacted for all participants in this conversation. This cannot be undone.", - "optionalRedactReason": "(Optional) Reason for redacting this message...", - "invitedUser": "📩 {username} invited {targetName}", - "@invitedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "invitedUsersOnly": "Invited users only", - "@invitedUsersOnly": { - "type": "String", - "placeholders": {} - }, - "inviteText": "{username} invited you to FluffyChat.\n1. Visit fluffychat.im and install the app \n2. Sign up or sign in \n3. Open the invite link: \n {link}", - "@inviteText": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "link": { - "type": "String" - } - } - }, - "isTyping": "is typing", - "@isTyping": { - "type": "String", - "placeholders": {} - }, - "joinedTheChat": "👋 {username} joined the chat", - "@joinedTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "joinRoom": "Join room", - "@joinRoom": { - "type": "String", - "placeholders": {} - }, - "kicked": "👞 {username} kicked {targetName}", - "@kicked": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickedAndBanned": "🙅 {username} kicked and banned {targetName}", - "@kickedAndBanned": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickFromChat": "Kick from chat", - "@kickFromChat": { - "type": "String", - "placeholders": {} - }, - "lastActiveAgo": "Last active: {localizedTimeShort}", - "@lastActiveAgo": { - "type": "String", - "placeholders": { - "localizedTimeShort": { - "type": "String" - } - } - }, - "leave": "Leave", - "@leave": { - "type": "String", - "placeholders": {} - }, - "leftTheChat": "Left the chat", - "@leftTheChat": { - "type": "String", - "placeholders": {} - }, - "lightTheme": "Light", - "@lightTheme": { - "type": "String", - "placeholders": {} - }, - "loadCountMoreParticipants": "Load {count} more participants", - "@loadCountMoreParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "dehydrate": "Export session and wipe device", - "dehydrateWarning": "This action cannot be undone. Ensure you safely store the backup file.", - "hydrate": "Restore from backup file", - "loadingPleaseWait": "Loading… Please wait.", - "@loadingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "loadMore": "Load more…", - "@loadMore": { - "type": "String", - "placeholders": {} - }, - "locationDisabledNotice": "Location services are disabled. Please enable them to be able to share your location.", - "@locationDisabledNotice": { - "type": "String", - "placeholders": {} - }, - "locationPermissionDeniedNotice": "Location permission denied. Please grant them to be able to share your location.", - "@locationPermissionDeniedNotice": { - "type": "String", - "placeholders": {} - }, - "login": "Login", - "@login": { - "type": "String", - "placeholders": {} - }, - "logInTo": "Log in to {homeserver}", - "@logInTo": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "logout": "Logout", - "@logout": { - "type": "String", - "placeholders": {} - }, - "mention": "Mention", - "@mention": { - "type": "String", - "placeholders": {} - }, - "messages": "Messages", - "@messages": { - "type": "String", - "placeholders": {} - }, - "messagesStyle": "Messages:", - "moderator": "Moderator", - "@moderator": { - "type": "String", - "placeholders": {} - }, - "muteChat": "Mute chat", - "@muteChat": { - "type": "String", - "placeholders": {} - }, - "newChat": "New chat", - "@newChat": { - "type": "String", - "placeholders": {} - }, - "newMessageInFluffyChat": "💬 New message in FluffyChat", - "@newMessageInFluffyChat": { - "type": "String", - "placeholders": {} - }, - "newVerificationRequest": "New verification request!", - "@newVerificationRequest": { - "type": "String", - "placeholders": {} - }, - "next": "Next", - "@next": { - "type": "String", - "placeholders": {} - }, - "no": "No", - "@no": { - "type": "String", - "placeholders": {} - }, - "noConnectionToTheServer": "No connection to the server", - "@noConnectionToTheServer": { - "type": "String", - "placeholders": {} - }, - "noEmotesFound": "No emotes found. 😕", - "@noEmotesFound": { - "type": "String", - "placeholders": {} - }, - "noEncryptionForPublicRooms": "You can only activate encryption as soon as the room is no longer publicly accessible.", - "@noEncryptionForPublicRooms": { - "type": "String", - "placeholders": {} - }, - "noGoogleServicesWarning": "Firebase Cloud Messaging doesn't appear to be available on your device. To still receive push notifications, we recommend installing ntfy. With ntfy or another Unified Push provider you can receive push notifications in a data secure way. You can download ntfy from the PlayStore or from F-Droid.", - "@noGoogleServicesWarning": { - "type": "String", - "placeholders": {} - }, - "noMatrixServer": "{server1} is no matrix server, use {server2} instead?", - "@noMatrixServer": { - "type": "String", - "placeholders": { - "server1": { - "type": "String" - }, - "server2": { - "type": "String" - } - } - }, - "shareInviteLink": "Share invite link", - "scanQrCode": "Scan QR code", - "noPasswordRecoveryDescription": "You have not added a way to recover your password yet.", - "@noPasswordRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "noPermission": "No permission", - "@noPermission": { - "type": "String", - "placeholders": {} - }, - "noRoomsFound": "No rooms found…", - "@noRoomsFound": { - "type": "String", - "placeholders": {} - }, - "notifications": "Notifications", - "@notifications": { - "type": "String", - "placeholders": {} - }, - "numUsersTyping": "{count} users are typing…", - "@numUsersTyping": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "obtainingLocation": "Obtaining location…", - "@obtainingLocation": { - "type": "String", - "placeholders": {} - }, - "ok": "Ok", - "@ok": { - "type": "String", - "placeholders": {} - }, - "onlineKeyBackupEnabled": "Online Key Backup is enabled", - "@onlineKeyBackupEnabled": { - "type": "String", - "placeholders": {} - }, - "oopsPushError": "Oops! Unfortunately, an error occurred when setting up the push notifications.", - "@oopsPushError": { - "type": "String", - "placeholders": {} - }, - "oopsSomethingWentWrong": "Oops, something went wrong…", - "@oopsSomethingWentWrong": { - "type": "String", - "placeholders": {} - }, - "openAppToReadMessages": "Open app to read messages", - "@openAppToReadMessages": { - "type": "String", - "placeholders": {} - }, - "openCamera": "Open camera", - "@openCamera": { - "type": "String", - "placeholders": {} - }, - "oneClientLoggedOut": "One of your clients has been logged out", - "addAccount": "Add account", - "editBundlesForAccount": "Edit bundles for this account", - "addToBundle": "Add to bundle", - "removeFromBundle": "Remove from this bundle", - "bundleName": "Bundle name", - "openInMaps": "Open in maps", - "@openInMaps": { - "type": "String", - "placeholders": {} - }, - "link": "Link", - "or": "Or", - "@or": { - "type": "String", - "placeholders": {} - }, - "participant": "Participant", - "@participant": { - "type": "String", - "placeholders": {} - }, - "passphraseOrKey": "passphrase or recovery key", - "@passphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "password": "Password", - "@password": { - "type": "String", - "placeholders": {} - }, - "passwordForgotten": "Password forgotten", - "@passwordForgotten": { - "type": "String", - "placeholders": {} - }, - "passwordHasBeenChanged": "Password has been changed", - "@passwordHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "passwordRecoverySettings": "Password recovery settings", - "passwordRecovery": "Password recovery", - "@passwordRecovery": { - "type": "String", - "placeholders": {} - }, - "pin": "Pin", - "@pin": { - "type": "String", - "placeholders": {} - }, - "pleaseChooseAPasscode": "Please choose a pass code", - "@pleaseChooseAPasscode": { - "type": "String", - "placeholders": {} - }, - "pleaseClickOnLink": "Please click on the link in the email and then proceed.", - "@pleaseClickOnLink": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPassword": "Please enter your password", - "@pleaseEnterYourPassword": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPin": "Please enter your pin", - "@pleaseEnterYourPin": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourUsername": "Please enter your username", - "@pleaseEnterYourUsername": { - "type": "String", - "placeholders": {} - }, - "pleaseFollowInstructionsOnWeb": "Please follow the instructions on the website and tap on next.", - "@pleaseFollowInstructionsOnWeb": { - "type": "String", - "placeholders": {} - }, - "privacy": "Privacy", - "@privacy": { - "type": "String", - "placeholders": {} - }, - "publicRooms": "Public Rooms", - "@publicRooms": { - "type": "String", - "placeholders": {} - }, - "reason": "Reason", - "@reason": { - "type": "String", - "placeholders": {} - }, - "redactedBy": "Redacted by {username}", - "@redactedBy": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "redactedByBecause": "Redacted by {username} because: \"{reason}\"", - "@redactedByBecause": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "reason": { - "type": "String" - } - } - }, - "redactedAnEvent": "{username} redacted an event", - "@redactedAnEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "redactMessage": "Redact message", - "@redactMessage": { - "type": "String", - "placeholders": {} - }, - "reject": "Reject", - "@reject": { - "type": "String", - "placeholders": {} - }, - "rejectedTheInvitation": "{username} rejected the invitation", - "@rejectedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "removeAllOtherDevices": "Remove all other devices", - "@removeAllOtherDevices": { - "type": "String", - "placeholders": {} - }, - "unbanFromChat": "Unban from chat", - "@unbanFromChat": { - "type": "String", - "placeholders": {} - }, - "removeYourAvatar": "Remove your avatar", - "@removeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "replaceRoomWithNewerVersion": "Replace room with newer version", - "@replaceRoomWithNewerVersion": { - "type": "String", - "placeholders": {} - }, - "reply": "Reply", - "@reply": { - "type": "String", - "placeholders": {} - }, - "reportMessage": "Report message", - "@reportMessage": { - "type": "String", - "placeholders": {} - }, - "roomHasBeenUpgraded": "Room has been upgraded", - "@roomHasBeenUpgraded": { - "type": "String", - "placeholders": {} - }, - "sendingFilesDoNotExit": "Sending {count} files... Please do not exit!", - "@sendingFilesDoNotExit": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "roomVersion": "Room version", - "compressingVideo": "Compressing video...", - "@roomVersion": { - "type": "String", - "placeholders": {} - }, - "saveFile": "Save file", - "@saveFile": { - "type": "String", - "placeholders": {} - }, - "search": "Search", - "@search": { - "type": "String", - "placeholders": {} - }, - "security": "Security", - "@security": { - "type": "String", - "placeholders": {} - }, - "send": "Send", - "@send": { - "type": "String", - "placeholders": {} - }, - "sendAMessage": "Send a message", - "@sendAMessage": { - "type": "String", - "placeholders": {} - }, - "sendAsText": "Send as text", - "@sendAsText": { - "type": "String" - }, - "sendAudio": "Send audio", - "@sendAudio": { - "type": "String", - "placeholders": {} - }, - "sendFile": "Send file", - "@sendFile": { - "type": "String", - "placeholders": {} - }, - "sendImage": "Send image", - "@sendImage": { - "type": "String", - "placeholders": {} - }, - "sendImages": "Send {count} image", - "@sendImages": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "sendMessages": "Send messages", - "@sendMessages": { - "type": "String", - "placeholders": {} - }, - "sendVideo": "Send video", - "@sendVideo": { - "type": "String", - "placeholders": {} - }, - "sentAFile": "📁 {username} sent a file", - "@sentAFile": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAnAudio": "🎤 {username} sent an audio", - "@sentAnAudio": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAPicture": "🖼️ {username} sent a picture", - "@sentAPicture": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentASticker": "😊 {username} sent a sticker", - "@sentASticker": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAVideo": "🎥 {username} sent a video", - "@sentAVideo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentCallInformations": "{senderName} sent call information", - "@sentCallInformations": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "setAsCanonicalAlias": "Set as main alias", - "@setAsCanonicalAlias": { - "type": "String", - "placeholders": {} - }, - "setChatDescription": "Set chat description", - "setStatus": "Set status", - "@setStatus": { - "type": "String", - "placeholders": {} - }, - "settings": "Settings", - "@settings": { - "type": "String", - "placeholders": {} - }, - "share": "Share", - "@share": { - "type": "String", - "placeholders": {} - }, - "sharedTheLocation": "{username} shared their location", - "@sharedTheLocation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "shareLocation": "Share location", - "@shareLocation": { - "type": "String", - "placeholders": {} - }, - "skip": "Skip", - "@skip": { - "type": "String", - "placeholders": {} - }, - "sourceCode": "Source code", - "@sourceCode": { - "type": "String", - "placeholders": {} - }, - "spaceIsPublic": "Space is public", - "@spaceIsPublic": { - "type": "String", - "placeholders": {} - }, - "spaceName": "Space name", - "@spaceName": { - "type": "String", - "placeholders": {} - }, - "startedACall": "{senderName} started a call", - "@startedACall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "status": "Status", - "@status": { - "type": "String", - "placeholders": {} - }, - "statusExampleMessage": "How are you today?", - "@statusExampleMessage": { - "type": "String", - "placeholders": {} - }, - "submit": "Submit", - "@submit": { - "type": "String", - "placeholders": {} - }, - "synchronizingPleaseWait": "Synchronizing… Please wait.", - "@synchronizingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "synchronizingPleaseWaitCounter": " Synchronizing… ({percentage}%)", - "@synchronizingPleaseWaitCounter": { - "type": "String", - "placeholders": { - "percentage": { - "type": "String" - } - } - }, - "systemTheme": "System", - "@systemTheme": { - "type": "String", - "placeholders": {} - }, - "theyDontMatch": "They Don't Match", - "@theyDontMatch": { - "type": "String", - "placeholders": {} - }, - "theyMatch": "They Match", - "@theyMatch": { - "type": "String", - "placeholders": {} - }, - "tooManyRequestsWarning": "Too many requests. Please try again later!", - "@tooManyRequestsWarning": { - "type": "String", - "placeholders": {} - }, - "tryToSendAgain": "Try to send again", - "@tryToSendAgain": { - "type": "String", - "placeholders": {} - }, - "unbannedUser": "{username} unbanned {targetName}", - "@unbannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "unblockDevice": "Unblock Device", - "@unblockDevice": { - "type": "String", - "placeholders": {} - }, - "unknownDevice": "Unknown device", - "@unknownDevice": { - "type": "String", - "placeholders": {} - }, - "unknownEncryptionAlgorithm": "Unknown encryption algorithm", - "@unknownEncryptionAlgorithm": { - "type": "String", - "placeholders": {} - }, - "unknownEvent": "Unknown event '{type}'", - "@unknownEvent": { - "type": "String", - "placeholders": { - "type": { - "type": "String" - } - } - }, - "unmuteChat": "Unmute chat", - "@unmuteChat": { - "type": "String", - "placeholders": {} - }, - "unpin": "Unpin", - "@unpin": { - "type": "String", - "placeholders": {} - }, - "userAndOthersAreTyping": "{username} and {count} others are typing…", - "@userAndOthersAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "count": { - "type": "int" - } - } - }, - "userAndUserAreTyping": "{username} and {username2} are typing…", - "@userAndUserAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "username2": { - "type": "String" - } - } - }, - "userIsTyping": "{username} is typing…", - "@userIsTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "userLeftTheChat": "🚪 {username} left the chat", - "@userLeftTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "userSentUnknownEvent": "{username} sent a {type} event", - "@userSentUnknownEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "type": { - "type": "String" - } - } - }, - "unverified": "Unverified", - "verified": "Verified", - "@verified": { - "type": "String", - "placeholders": {} - }, - "verifyStart": "Start Verification", - "@verifyStart": { - "type": "String", - "placeholders": {} - }, - "verifySuccess": "You successfully verified!", - "@verifySuccess": { - "type": "String", - "placeholders": {} - }, - "verifyTitle": "Verifying other account", - "@verifyTitle": { - "type": "String", - "placeholders": {} - }, - "visibilityOfTheChatHistory": "Visibility of the chat history", - "@visibilityOfTheChatHistory": { - "type": "String", - "placeholders": {} - }, - "visibleForAllParticipants": "Visible for all participants", - "@visibleForAllParticipants": { - "type": "String", - "placeholders": {} - }, - "visibleForEveryone": "Visible for everyone", - "@visibleForEveryone": { - "type": "String", - "placeholders": {} - }, - "voiceMessage": "Voice message", - "@voiceMessage": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerAcceptRequest": "Waiting for partner to accept the request…", - "@waitingPartnerAcceptRequest": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerEmoji": "Waiting for partner to accept the emoji…", - "@waitingPartnerEmoji": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerNumbers": "Waiting for partner to accept the numbers…", - "@waitingPartnerNumbers": { - "type": "String", - "placeholders": {} - }, - "warning": "Warning!", - "@warning": { - "type": "String", - "placeholders": {} - }, - "weSentYouAnEmail": "We sent you an email", - "@weSentYouAnEmail": { - "type": "String", - "placeholders": {} - }, - "whoCanPerformWhichAction": "Who can perform which action", - "@whoCanPerformWhichAction": { - "type": "String", - "placeholders": {} - }, - "whoIsAllowedToJoinThisGroup": "Who is allowed to join this group", - "@whoIsAllowedToJoinThisGroup": { - "type": "String", - "placeholders": {} - }, - "whyDoYouWantToReportThis": "Why do you want to report this?", - "@whyDoYouWantToReportThis": { - "type": "String", - "placeholders": {} - }, - "withTheseAddressesRecoveryDescription": "With these addresses you can recover your password.", - "@withTheseAddressesRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "writeAMessage": "Write a message…", - "@writeAMessage": { - "type": "String", - "placeholders": {} - }, - "yes": "Yes", - "@yes": { - "type": "String", - "placeholders": {} - }, - "you": "You", - "@you": { - "type": "String", - "placeholders": {} - }, - "youAreNoLongerParticipatingInThisChat": "You are no longer participating in this chat", - "@youAreNoLongerParticipatingInThisChat": { - "type": "String", - "placeholders": {} - }, - "youHaveBeenBannedFromThisChat": "You have been banned from this chat", - "@youHaveBeenBannedFromThisChat": { - "type": "String", - "placeholders": {} - }, - "yourPublicKey": "Your public key", - "@yourPublicKey": { - "type": "String", - "placeholders": {} - }, - "messageInfo": "Message info", - "time": "Time", - "sender": "Sender", - "openGallery": "Open gallery", - "removeFromSpace": "Remove from space", - "markAsRead": "Mark as read", - "reportUser": "Report user", - "reactedWith": "{sender} reacted with {reaction}", - "@reactedWith": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "reaction": { - "type": "String" - } - } - }, - "pinMessage": "Pin to room", - "confirmEventUnpin": "Are you sure to permanently unpin the event?", - "emojis": "Emojis", - "unsupportedAndroidVersion": "Unsupported Android version", - "unsupportedAndroidVersionLong": "This feature requires a newer Android version. Please check for updates or Lineage OS support.", - "youRejectedTheInvitation": "You rejected the invitation", - "youJoinedTheChat": "You joined the chat", - "youAcceptedTheInvitation": "👍 You accepted the invitation", - "youBannedUser": "You banned {user}", - "@youBannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youHaveWithdrawnTheInvitationFor": "You have withdrawn the invitation for {user}", - "@youHaveWithdrawnTheInvitationFor": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youInvitedBy": "📩 You have been invited by {user}", - "@youInvitedBy": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youInvitedUser": "📩 You invited {user}", - "@youInvitedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youKicked": "👞 You kicked {user}", - "@youKicked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youKickedAndBanned": "🙅 You kicked and banned {user}", - "@youKickedAndBanned": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youUnbannedUser": "You unbanned {user}", - "@youUnbannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "hasKnocked": "🚪 {user} has knocked", - "@hasKnocked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "usersMustKnock": "Users must knock", - "noOneCanJoin": "No one can join", - "knock": "Knock", - "users": "Users", - "storeInAndroidKeystore": "Store in Android KeyStore", - "storeInAppleKeyChain": "Store in Apple KeyChain", - "storeSecurlyOnThisDevice": "Store securely on this device", - "countFiles": "{count} files", - "@countFiles": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "user": "User", - "custom": "Custom", - "whyIsThisMessageEncrypted": "Why is this message unreadable?", - "noKeyForThisMessage": "This can happen if the message was sent before you have signed in to your account at this device.\n\nIt is also possible that the sender has blocked your device or something went wrong with the internet connection.\n\nAre you able to read the message on another session? Then you can transfer the message from it! Go to Settings > Devices and make sure that your devices have verified each other. When you open the room the next time and both sessions are in the foreground, the keys will be transmitted automatically.\n\nDo you not want to lose the keys when logging out or switching devices? Make sure that you have enabled the chat backup in the settings.", - "newSpace": "New space", - "newCanal": "New canal", - "newMural": "New mural", - "doNotShowAgain": "Do not show again", - "wasDirectChatDisplayName": "Empty chat (was {oldDisplayName})", - "@wasDirectChatDisplayName": { - "type": "String", - "placeholders": { - "oldDisplayName": { - "type": "String" - } - } - }, - "newSpaceDescription": "Spaces allows you to consolidate your chats and build private or public communities.", - "newCanalDescription": "A canal is a room where only admins can publish. Use it to broadcast official announcements.", - "newMuralDescription": "A mural is a shared bulletin board where everyone can post. Use it to leave notes for your community.", - "encryptThisChat": "Encrypt this chat", - "disableEncryptionWarning": "For security reasons you can not disable encryption in a chat, where it has been enabled before.", - "sorryThatsNotPossible": "Sorry... that is not possible", - "reopenChat": "Reopen chat", - "noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.", - "noOtherDevicesFound": "No other devices found", - "fileIsTooBigForServer": "Unable to send! The server only supports attachments up to {max}.", - "@fileIsTooBigForServer": { - "type": "String", - "placeholders": { - "max": { - "type": "String" - } - } - }, - "fileHasBeenSavedAt": "File has been saved at {path}", - "@fileHasBeenSavedAt": { - "type": "String", - "placeholders": { - "path": { - "type": "String" - } - } - }, - "jumpToLastReadMessage": "Jump to last read message", - "readUpToHere": "Read up to here", - "jump": "Jump", - "openLinkInBrowser": "Open link in browser", - "reportErrorDescription": "😭 Oh no. Something went wrong. If you want, you can report this bug to the developers.", - "report": "report", - "setColorTheme": "Set color theme:", - "invite": "Invite", - "inviteGroupChat": "📨 Group chat invite", - "invalidInput": "Invalid input!", - "wrongPinEntered": "Wrong pin entered! Try again in {seconds} seconds...", - "@wrongPinEntered": { - "type": "String", - "placeholders": { - "seconds": { - "type": "int" - } - } - }, - "pleaseEnterANumber": "Please enter a number greater than 0", - "archiveRoomDescription": "The chat will be moved to the archive. Other users will be able to see that you have left the chat.", - "roomUpgradeDescription": "The chat will then be recreated with the new room version. All participants will be notified that they need to switch to the new chat. You can find out more about room versions at https://spec.matrix.org/latest/rooms/", - "removeDevicesDescription": "You will be logged out of this device and will no longer be able to receive messages.", - "banUserDescription": "The user will be banned from the chat and will not be able to enter the chat again until they are unbanned.", - "unbanUserDescription": "The user will be able to enter the chat again if they try.", - "kickUserDescription": "The user is kicked out of the chat but not banned. In public chats, the user can rejoin at any time.", - "makeAdminDescription": "Once you make this user admin, you may not be able to undo this as they will then have the same permissions as you.", - "pushNotificationsNotAvailable": "Push notifications not available", - "learnMore": "Learn more", - "yourGlobalUserIdIs": "Your global user-ID is: ", - "noUsersFoundWithQuery": "Unfortunately no user could be found with \"{query}\". Please check whether you made a typo.", - "@noUsersFoundWithQuery": { - "type": "String", - "placeholders": { - "query": { - "type": "String" - } - } - }, - "knocking": "Knocking", - "chatCanBeDiscoveredViaSearchOnServer": "Chat can be discovered via the search on {server}", - "@chatCanBeDiscoveredViaSearchOnServer": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "searchChatsRooms": "Search for #chats, @users...", - "nothingFound": "Nothing found...", - "groupName": "Group name", - "createGroupAndInviteUsers": "Create a group and invite users", - "groupCanBeFoundViaSearch": "Group can be found via search", - "wrongRecoveryKey": "Sorry... this does not seem to be the correct recovery key.", - "commandHint_sendraw": "Send raw json", - "databaseMigrationTitle": "Database is optimized", - "databaseMigrationBody": "Please wait. This may take a moment.", - "leaveEmptyToClearStatus": "Leave empty to clear your status.", - "select": "Select", - "searchForUsers": "Search for @users...", - "pleaseEnterYourCurrentPassword": "Please enter your current password", - "newPassword": "New password", - "pleaseChooseAStrongPassword": "Please choose a strong password", - "passwordsDoNotMatch": "Passwords do not match", - "passwordIsWrong": "Your entered password is wrong", - "publicChatAddresses": "Public chat addresses", - "createNewAddress": "Create new address", - "joinSpace": "Join space", - "publicSpaces": "Public spaces", - "addChatOrSubSpace": "Add chat or sub space", - "thisDevice": "This device:", - "initAppError": "An error occured while init the app", - "searchIn": "Search in chat \"{chat}\"...", - "@searchIn": { - "type": "String", - "placeholders": { - "chat": { - "type": "String" - } - } - }, - "searchMore": "Search more...", - "gallery": "Gallery", - "files": "Files", - "sessionLostBody": "Your session is lost. Please report this error to the developers at {url}. The error message is: {error}", - "@sessionLostBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "restoreSessionBody": "The app now tries to restore your session from the backup. Please report this error to the developers at {url}. The error message is: {error}", - "@restoreSessionBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "sendReadReceipts": "Send read receipts", - "sendTypingNotificationsDescription": "Other participants in a chat can see when you are typing a new message.", - "sendReadReceiptsDescription": "Other participants in a chat can see when you have read a message.", - "formattedMessages": "Formatted messages", - "formattedMessagesDescription": "Display rich message content like bold text using markdown.", - "verifyOtherUser": "🔐 Verify other user", - "verifyOtherUserDescription": "If you verify another user, you can be sure that you know who you are really writing to. 💪\n\nWhen you start a verification, you and the other user will see a popup in the app. There you will then see a series of emojis or numbers that you have to compare with each other.\n\nThe best way to do this is to meet up or start a video call. 👭", - "verifyOtherDevice": "🔐 Verify other device", - "verifyOtherDeviceDescription": "When you verify another device, those devices can exchange keys, increasing your overall security. 💪 When you start a verification, a popup will appear in the app on both devices. There you will then see a series of emojis or numbers that you have to compare with each other. It's best to have both devices handy before you start the verification. 🤳", - "acceptedKeyVerification": "{sender} accepted key verification", - "@acceptedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "canceledKeyVerification": "{sender} canceled key verification", - "@canceledKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "completedKeyVerification": "{sender} completed key verification", - "@completedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "isReadyForKeyVerification": "{sender} is ready for key verification", - "@isReadyForKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "requestedKeyVerification": "{sender} requested key verification", - "@requestedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "startedKeyVerification": "{sender} started key verification", - "@startedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "incomingMessages": "Incoming messages", - "stickers": "Stickers", - "discover": "Discover", - "commandHint_ignore": "Ignore the given matrix ID", - "commandHint_unignore": "Unignore the given matrix ID", - "unreadChatsInApp": "{appname}: {unread} unread chats", - "@unreadChatsInApp": { - "type": "String", - "placeholders": { - "appname": { - "type": "String" - }, - "unread": { - "type": "String" - } - } - }, - "noDatabaseEncryption": "Database encryption is not supported on this platform", - "thereAreCountUsersBlocked": "Right now there are {count} users blocked.", - "@thereAreCountUsersBlocked": { - "type": "String", - "count": {} - }, - "goToSpace": "Go to space: {space}", - "@goToSpace": { - "type": "String", - "space": {} - }, - "markAsUnread": "Mark as unread", - "userLevel": "{level} - User", - "@userLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "moderatorLevel": "{level} - Moderator", - "@moderatorLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "adminLevel": "{level} - Admin", - "@adminLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "changeGeneralChatSettings": "Change general chat settings", - "inviteOtherUsers": "Invite other users to this chat", - "changeTheChatPermissions": "Change the chat permissions", - "changeTheVisibilityOfChatHistory": "Change the visibility of the chat history", - "changeTheCanonicalRoomAlias": "Change the main public chat address", - "sendRoomNotifications": "Send a @room notifications", - "changeTheDescriptionOfTheGroup": "Change the description of the chat", - "chatPermissionsDescription": "Define which power level is necessary for certain actions in this chat. The power levels 0, 50 and 100 are usually representing users, moderators and admins, but any gradation is possible.", - "updateInstalled": "🎉 Update {version} installed!", - "@updateInstalled": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "changelog": "Changelog", - "sendCanceled": "Sending canceled", - "loginWithMatrixId": "Login with Matrix-ID", - "doesNotSeemToBeAValidHomeserver": "Doesn't seem to be a compatible homeserver. Wrong URL?", - "calculatingFileSize": "Calculating file size...", - "oneOfYourDevicesIsNotVerified": "One of your devices is not verified", - "noticeChatBackupDeviceVerification": "Note: When you connect all your devices to the chat backup, they are automatically verified.", - "continueText": "Continue", - "blur": "Blur:", - "opacity": "Opacity:", - "setWallpaper": "Set wallpaper", - "manageAccount": "Manage account", - "noContactInformationProvided": "Server does not provide any valid contact information", - "contactServerAdmin": "Contact server admin", - "contactServerSecurity": "Contact server security", - "supportPage": "Support page", - "serverInformation": "Server information:", - "name": "Name", - "version": "Version", - "website": "Website", - "compress": "Compress", - "boldText": "Bold text", - "italicText": "Italic text", - "strikeThrough": "Strikethrough", - "pleaseFillOut": "Please fill out", - "invalidUrl": "Invalid url", - "addLink": "Add link", - "unableToJoinChat": "Unable to join chat. Maybe the other party has already closed the conversation.", - "previous": "Previous", - "otherPartyNotLoggedIn": "The other party is currently not logged in and therefore cannot receive messages!", - "appWantsToUseForLogin": "Use '{server}' to log in", - "@appWantsToUseForLogin": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "appWantsToUseForLoginDescription": "You hereby allow the app and website to share information about you.", - "open": "Open", - "waitingForServer": "Waiting for server...", - "newChatRequest": "📩 New chat request", - "contentNotificationSettings": "Content notification settings", - "generalNotificationSettings": "General notification settings", - "roomNotificationSettings": "Room notification settings", - "userSpecificNotificationSettings": "User specific notification settings", - "otherNotificationSettings": "Other notification settings", - "notificationRuleContainsUserName": "Contains User Name", - "notificationRuleContainsUserNameDescription": "Notifies the user when a message contains their username.", - "notificationRuleMaster": "Mute all notifications", - "notificationRuleMasterDescription": "Overrides all other rules and disables all notifications.", - "notificationRuleSuppressNotices": "Suppress Automated Messages", - "notificationRuleSuppressNoticesDescription": "Suppresses notifications from automated clients like bots.", - "notificationRuleInviteForMe": "Invite for Me", - "notificationRuleInviteForMeDescription": "Notifies the user when they are invited to a room.", - "notificationRuleMemberEvent": "Member Event", - "notificationRuleMemberEventDescription": "Suppresses notifications for membership events.", - "notificationRuleIsUserMention": "User Mention", - "notificationRuleIsUserMentionDescription": "Notifies the user when they are directly mentioned in a message.", - "notificationRuleContainsDisplayName": "Contains Display Name", - "notificationRuleContainsDisplayNameDescription": "Notifies the user when a message contains their display name.", - "notificationRuleIsRoomMention": "Room Mention", - "notificationRuleIsRoomMentionDescription": "Notifies the user when there is a room mention.", - "notificationRuleRoomnotif": "Room Notification", - "notificationRuleRoomnotifDescription": "Notifies the user when a message contains '@room'.", - "notificationRuleTombstone": "Tombstone", - "notificationRuleTombstoneDescription": "Notifies the user about room deactivation messages.", - "notificationRuleReaction": "Reaction", - "notificationRuleReactionDescription": "Suppresses notifications for reactions.", - "notificationRuleRoomServerAcl": "Room Server ACL", - "notificationRuleRoomServerAclDescription": "Suppresses notifications for room server access control lists (ACL).", - "notificationRuleSuppressEdits": "Suppress Edits", - "notificationRuleSuppressEditsDescription": "Suppresses notifications for edited messages.", - "notificationRuleCall": "Call", - "notificationRuleCallDescription": "Notifies the user about calls.", - "notificationRuleEncryptedRoomOneToOne": "Encrypted Room One-to-One", - "notificationRuleEncryptedRoomOneToOneDescription": "Notifies the user about messages in encrypted one-to-one rooms.", - "notificationRuleRoomOneToOne": "Room One-to-One", - "notificationRuleRoomOneToOneDescription": "Notifies the user about messages in one-to-one rooms.", - "notificationRuleMessage": "Message", - "notificationRuleMessageDescription": "Notifies the user about general messages.", - "notificationRuleEncrypted": "Encrypted", - "notificationRuleEncryptedDescription": "Notifies the user about messages in encrypted rooms.", - "notificationRuleJitsi": "Jitsi", - "notificationRuleJitsiDescription": "Notifies the user about Jitsi widget events.", - "notificationRuleServerAcl": "Suppress Server ACL Events", - "notificationRuleServerAclDescription": "Suppresses notifications for Server ACL events.", - "unknownPushRule": "Unknown push rule '{rule}'", - "@unknownPushRule": { - "type": "String", - "placeholders": { - "rule": { - "type": "String" - } - } - }, - "sentVoiceMessage": "🎙️ {duration} - Voice message from {sender}", - "@sentVoiceMessage": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "duration": { - "type": "String" - } - } - }, - "deletePushRuleCanNotBeUndone": "If you delete this notification setting, this can not be undone.", - "more": "More", - "shareKeysWith": "Share keys with...", - "shareKeysWithDescription": "Which devices should be trusted so that they can read along your messages in encrypted chats?", - "allDevices": "All devices", - "crossVerifiedDevicesIfEnabled": "Cross verified devices if enabled", - "crossVerifiedDevices": "Cross verified devices", - "verifiedDevicesOnly": "Verified devices only", - "takeAPhoto": "Take a photo", - "recordAVideo": "Record a video", - "optionalMessage": "(Optional) message...", - "notSupportedOnThisDevice": "Not supported on this device", - "enterNewChat": "Enter new chat", - "approve": "Approve", - "youHaveKnocked": "You have knocked", - "pleaseWaitUntilInvited": "Please wait now, until someone from the room invites you.", - "commandHint_logout": "Logout your current device", - "commandHint_logoutall": "Logout all active devices", - "displayNavigationRail": "Show navigation rail on mobile", - "customReaction": "Custom reaction", - "moreEvents": "More events", - "showMore": "Show more", - "showLess": "Show less", - "declineInvitation": "Decline invitation", - "noMessagesYet": "No messages yet", - "longPressToRecordVoiceMessage": "Long press to record voice message.", - "pause": "Pause", - "resume": "Resume", - "removeFromSpaceDescription": "The chat will be removed from the space but still appear in your chat list.", - "countChats": "{chats} chats", - "@countChats": { - "type": "String", - "placeholders": { - "chats": { - "type": "int" - } - } - }, - "spaceMemberOf": "Space member of {spaces}", - "@spaceMemberOf": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "spaceMemberOfCanKnock": "Space member of {spaces} can knock", - "@spaceMemberOfCanKnock": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "startPoll": "Start poll", - "endPoll": "End poll", - "answersVisible": "Answers visible", - "pollQuestion": "Poll question", - "answerOption": "Answer option", - "addAnswerOption": "Add answer option", - "allowMultipleAnswers": "Allow multiple answers", - "pollHasBeenEnded": "Poll has been ended", - "countVotes": "{count, plural, =1{One vote} other{{count} votes}}", - "@countVotes": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "answersWillBeVisibleWhenPollHasEnded": "Answers will be visible when poll has ended", - "replyInThread": "Reply in thread", - "countReplies": "{count, plural, =1{One reply} other{{count} replies}}", - "@countReplies": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "thread": "Thread", - "backToMainChat": "Back to main chat", - "saveChanges": "Save changes", - "createSticker": "Create sticker or emoji", - "useAsSticker": "Use as sticker", - "useAsEmoji": "Use as emoji", - "stickerPackNameAlreadyExists": "Sticker pack name already exists", - "newStickerPack": "New sticker pack", - "stickerPackName": "Sticker pack name", - "attribution": "Attribution", - "skipChatBackup": "Skip chat backup", - "skipChatBackupWarning": "Are you sure? Without enabling the chat backup you may lose access to your messages if you switch your device.", - "noMoreResultsFound": "No more results found", - "chatSearchedUntil": "Chat searched until {time}", - "@chatSearchedUntil": { - "type": "String", - "placeholders": { - "time": { - "type": "String" - } - } - }, - "federationBaseUrl": "Federation Base URL", - "clientWellKnownInformation": "Client-Well-Known Information:", - "baseUrl": "Base URL", - "identityServer": "Identity Server:", - "versionWithNumber": "Version: {version}", - "@versionWithNumber": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "logs": "Logs", - "advancedConfigs": "Advanced Configs", - "advancedConfigurations": "Advanced configurations", - "signIn": "Sign in", - "createNewAccount": "Create new account", - "signUpGreeting": "FluffyChat is decentralized! Select a server where you want to create your account and let's go!", - "signInGreeting": "You already have an account in Matrix? Welcome back! Select your homeserver and sign in.", - "theProcessWasCanceled": "The process was canceled.", - "join": "Join", - "searchOrEnterHomeserverAddress": "Search or enter homeserver address", - "matrixId": "Matrix ID", - "setPowerLevel": "Set power level", - "makeModerator": "Make moderator", - "makeAdmin": "Make admin", - "removeModeratorRights": "Remove moderator rights", - "removeAdminRights": "Remove admin rights", - "powerLevel": "Power level", - "setPowerLevelDescription": "Power levels define what a member is allowed to do in this room and usually range between 0 and 100.", - "owner": "Owner", - "mute": "Mute", - "@mute": { - "description": "This should be a very short string because there is not much space in the button!" - }, - "createNewChat": "Create new chat", - "reset": "Reset", - "supportFluffyChat": "Support FluffyChat", - "support": "Support", - "setLowPriority": "Set low priority", - "unsetLowPriority": "Unset low priority", - "playSoundOnNotification": "Play sound on notification", - "addTag": "Add tag", - "removeTag": "Remove tag", - "tagName": "Tag name", - "createNewTag": "Create new tag", - "hideRoomsInSpaces": "Hide rooms that are in a space", - "possibleByYou": "This release was only possible thanks to your support. FluffyChat remains free, open-source, and entirely community-driven.", - "showThumbnailsInTimeline": "Show thumbnails of images and videos", - "appSubtitle": "Um App de comunicação segura", - "appDescription": "Communicate encrypted over the decentralized [matrix] network in an easy and accessible way for everyone.", - "interactiveVerification": "Interactive verification", - "interactiveVerificationDescription": "If you are next to each other or communicate via a secure channel then you can verify all devices at once by comparing a security number or emojis.", - "countUnverifiedDevices": "{count} unverified devices in the chat.", - "@countUnverifiedDevices": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "encryptedMessage": "Encrypted message", - "unencryptedMessage": "Unencrypted message", - "messageCanOnlyBeReadByUser": "Your message is end to end encrypted and can only be read by this user:", - "messageCanOnlyBeReadByUsers": "Your message is end to end encrypted and can only be read by these users:", - "publicKey": "Public key: {key}", - "@publicKey": { - "type": "String", - "placeholders": { - "key": { - "type": "String" - } - } - }, - "deviceIdentityKey": "Device identity key", - "restoreBootstrapEmptyDevicesDescription": "Please enter your passphrase or recovery key to verify this device and get access to your encrypted message backup.", - "@restoreBootstrapEmptyDevicesDescription": { - "type": "String", - "placeholders": {} - }, - "restoreBootstrapDevicesDescription": "Please pick one of your other devices, to verify this session:", - "@restoreBootstrapDevicesDescription": { - "type": "String", - "placeholders": {} - }, - "resetAccount": "Reset account", - "@resetAccount": { - "type": "String", - "placeholders": {} - }, - "restoreCryptoIdentity": "Restore Crypto Identity", - "@restoreCryptoIdentity": { - "type": "String", - "placeholders": {} - }, - "resetCryptoIdentity": "Reset Crypto Identity", - "@resetCryptoIdentity": { - "type": "String", - "placeholders": {} - }, - "setUpCryptoIdentity": "Set Up Crypto Identity", - "@setUpCryptoIdentity": { - "type": "String", - "placeholders": {} - }, - "waitingForKeys": "Waiting for keys... Please keep the other device active.", - "@waitingForKeys": { - "type": "String", - "placeholders": {} - }, - "noKeysTransmitted": "No keys transmitted. Please try again.", - "@noKeysTransmitted": { - "type": "String", - "placeholders": {} - }, - "unlock": "Unlock", - "@unlock": { - "type": "String", - "placeholders": {} - }, - "openFile": "Open file", - "@openFile": { - "type": "String", - "placeholders": {} - }, - "resetAccountWarning": "When you reset your account you will lose the access to your old messages forever. All your current devices need to be verified again. Please only perform this action when you have no other devices left to verify your session and you have lost your recovery key and passphrase!", - "@resetAccountWarning": { - "type": "String", - "placeholders": {} - }, - "newPassphraseDescription": "FluffyChat uses end to end encryption. To not lose your messages, please choose a strong passphrase to secure your crypto identity and your encrypted message backup.", - "@newPassphraseDescription": { - "type": "String", - "placeholders": {} - }, - "newPassphrase": "New passphrase", - "@newPassphrase": { - "type": "String", - "placeholders": {} - }, - "repeatPassphrase": "Repeat passphrase", - "@repeatPassphrase": { - "type": "String", - "placeholders": {} - }, - "passphrasesMatch": "Passphrases match", - "@passphrasesMatch": { - "type": "String", - "placeholders": {} - }, - "passphraseLengthRequirement": "At least 12 characters long.", - "@passphraseLengthRequirement": { - "type": "String", - "placeholders": {} - }, - "passphraseUpperAndLowerCaseRequirement": "Contains uppercase and lowercase characters.", - "@passphraseUpperAndLowerCaseRequirement": { - "type": "String", - "placeholders": {} - }, - "passphraseSpecialCharactersRequirement": "Contains special characters.", - "@passphraseSpecialCharactersRequirement": { - "type": "String", - "placeholders": {} - }, - "passphraseNumberRequirement": "Contains one numbers.", - "@passphraseNumberRequirement": { - "type": "String", - "placeholders": {} - }, - "storeRecoveryKeyDescription": "Please note down your recovery key to be able to restore your encrypted messages and your crypto identity on.", - "@storeRecoveryKeyDescription": { - "type": "String", - "placeholders": {} - }, - "saveAsFile": "Save as file", - "@saveAsFile": { - "type": "String", - "placeholders": {} - }, - "youAreReadyToStart": "You are ready to start!", - "noUserKeyFound": "No user key found", - "@noUserKeyFound": { - "type": "String", - "placeholders": {} - }, - "knownSince": "Known since: {date}", - "@knownSince": { - "type": "String", - "placeholders": { - "date": { - "type": "String" - } - } - }, - "unsignedDevice": "Unsigned device", - "@unsignedDevice": { - "type": "String", - "placeholders": {} - }, - "signedDevice": "Signed device", - "@signedDevice": { - "type": "String", - "placeholders": {} - }, - "noCurve25519KeyFound": "No curve25519 key found", - "@noCurve25519KeyFound": { - "type": "String", - "placeholders": {} - }, - "messageNotDecryptable": "Message not decryptable", - "today": "Today", - "sending": "Sending", - "generatingThumbnail": "Generating thumbnail", - "encrypting": "Encrypting", - "uploading": "Uploading", - "edited": "(edited)", - "couldNotBeSent": "Could not be sent", - "yesterday": "Yesterday", - "resetRecoveryKey": "Reset recovery key", - "pleaseEnter6Digits": "Please enter 6 digits to enable the app lock.", - "disableAppLock": "Disable app lock", - "disableAppLockAreYouSure": "Are you sure you want to disable the app lock?", - "enableBiometrics": "Enable biometric authentication", - "disableBiometrics": "Disable biometric authentication", - "biometricsDescription": "With biometric authentication you can unlock the app with your face or your fingerprint. The capabilities depend on your device.", - "useAppLock": "Use app lock", - "unlockWithBiometrics": "Unlock with biometric authentication", - "resetPin": "Reset pin", - "forwardCountMessages": "Forward {count, plural, =1{one message} other{{count} messages}}?", - "@forwardCountMessages": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "loadingMessages": "Loading messages...", - "buildDoesNotSupportFirebase": "This build does not support firebase cloud messaging.", - "unableToRegisterDeviceForFirebase": "Unable to register device for firebase cloud messaging.", - "unifiedPushDistributors": "Unified Push distributors:", - "doubleTapToReact": "Double-tap to react", - "doubleTapToReactDescription": "Double-tap a message to react instead of selecting text", - "doubleTapReaction": "Double-tap reaction", - "shareCrashReports": "Share crash reports", - "shareCrashReportsDescription": "Automatically share crash reports with the developers?", - "countActiveCallMembers": "{count} active call members", - "@countActiveCallMembers": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "enterCall": "Enter call", - "videoCallsBetaWarning": "Video calls are a beta feature. There might be bugs or unexpected behavior. We would be happy to hear about your feedback.", - "noDevicesFound": "No devices found", - "incomingCall": "Incoming call", - "videoCall": "Video call", - "voiceCall": "Voice call", - "missedCall": "Missed call", - "callBack": "Call back", - "hangUp": "Hang up", - "waitingForParticipant": "Waiting for participant...", - "decline": "Decline", - "startCall": "Start call", - "selectCamera": "Select camera", - "selectMicrophone": "Select microphone", - "selectSpeaker": "Select speaker", - "toggleMicrophone": "Toggle microphone", - "toggleCamera": "Toggle camera", - "startScreensharing": "Start screensharing", - "stopScreensharing": "Stop screensharing", - "raiseHand": "Raise hand", - "stopRaiseHand": "Stop raise hand", - "preferSpeaker": "Prefer speaker", - "unexpectedErrorOccurded": "Unfortunately, an unexpected error has occurred: {msg}", - "@unexpectedErrorOccurded": { - "placeholders": { - "msg": {"type": "String"} - } - }, - "incomingCallFrom": "Incoming call from {user}", - "@incomingCallFrom": { - "placeholders": { - "user": {"type": "String"} - } - }, - "serverRespondedWithError": "The server has replied with an error message: {error}", - "@serverRespondedWithError": { - "placeholders": { - "error": {"type": "String"} - } - }, - "channels": "Channels", - "@channels": { - "type": "String", - "placeholders": {} - }, - "spaces": "Spaces", - "@spaces": { - "type": "String", - "placeholders": {} - }, - "murals": "Murals", - "@murals": { - "type": "String", - "placeholders": {} - }, - "muralsComingSoon": "Murals coming soon", - "@muralsComingSoon": { - "type": "String", - "placeholders": {} - }, - "noChannelsFound": "No channels here", - "@noChannelsFound": { - "type": "String", - "placeholders": {} - }, - "noSpacesFound": "No spaces here", - "@noSpacesFound": { - "type": "String", - "placeholders": {} - }, - "noMuralsFound": "No murals here", - "@noMuralsFound": { - "type": "String", - "placeholders": {} - }, - "selectASpace": "Select a space", - "@selectASpace": { - "type": "String", - "placeholders": {} - }, - "newPost": "New post", - "@newPost": { - "type": "String", - "placeholders": {} - }, - "postPhoto": "Post photo", - "@postPhoto": { - "type": "String", - "placeholders": {} - }, - "postVideo": "Post video", - "@postVideo": { - "type": "String", - "placeholders": {} - }, - "noPostsYet": "No posts yet. Share the first photo or video!", - "@noPostsYet": { - "type": "String", - "placeholders": {} - }, - "noCommentsYet": "No comments yet. Be the first to comment!", - "@noCommentsYet": { - "type": "String", - "placeholders": {} - }, - "like": "Like", - "@like": { - "type": "String", - "placeholders": {} - }, - "unlike": "Unlike", - "@unlike": { - "type": "String", - "placeholders": {} - }, - "editCaption": "Edit caption", - "@editCaption": { - "type": "String", - "placeholders": {} - }, - "captionHint": "Caption", - "@captionHint": { - "type": "String", - "placeholders": {} + } } -} \ No newline at end of file + }, + "accept": "Accept", + "@accept": { + "type": "String", + "placeholders": {} + }, + "acceptedTheInvitation": "👍 {username} accepted the invitation", + "@acceptedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "account": "Account", + "@account": { + "type": "String", + "placeholders": {} + }, + "accountsAndSettings": "Accounts and settings", + "@accountsAndSettings": { + "type": "String", + "placeholders": {} + }, + "activatedEndToEndEncryption": "🔐 {username} activated end to end encryption", + "@activatedEndToEndEncryption": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "addEmail": "Add email", + "@addEmail": { + "type": "String", + "placeholders": {} + }, + "confirmMatrixId": "Please confirm your Matrix ID in order to delete your account.", + "supposedMxid": "This should be {mxid}", + "@supposedMxid": { + "type": "String", + "placeholders": { + "mxid": { + "type": "String" + } + } + }, + "addToSpace": "Add to space", + "admin": "Admin", + "@admin": { + "type": "String", + "placeholders": {} + }, + "alias": "alias", + "@alias": { + "type": "String", + "placeholders": {} + }, + "all": "All", + "@all": { + "type": "String", + "placeholders": {} + }, + "commandHint_roomupgrade": "Upgrade this room to the given room version", + "commandHint_googly": "Send some googly eyes", + "commandHint_cuddle": "Send a cuddle", + "commandHint_hug": "Send a hug", + "googlyEyesContent": "{senderName} sends you googly eyes", + "@googlyEyesContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "cuddleContent": "{senderName} cuddles you", + "@cuddleContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "hugContent": "{senderName} hugs you", + "@hugContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "answeredTheCall": "{senderName} answered the call", + "@answeredTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "anyoneCanJoin": "Anyone can join", + "@anyoneCanJoin": { + "type": "String", + "placeholders": {} + }, + "appLock": "App lock", + "@appLock": { + "type": "String", + "placeholders": {} + }, + "appLockDescription": "Lock the app when not using with a pin code", + "archive": "Archive", + "@archive": { + "type": "String", + "placeholders": {} + }, + "areGuestsAllowedToJoin": "Are guest users allowed to join?", + "@areGuestsAllowedToJoin": { + "type": "String", + "placeholders": {} + }, + "areYouSure": "Are you sure?", + "@areYouSure": { + "type": "String", + "placeholders": {} + }, + "discardEdits": "You have unsaved changes. Discard your edits?", + "@discardEdits": { + "type": "String", + "placeholders": {} + }, + "areYouSureYouWantToLogout": "Are you sure you want to log out?", + "@areYouSureYouWantToLogout": { + "type": "String", + "placeholders": {} + }, + "askSSSSSign": "To be able to sign the other person, please enter your secure store passphrase or recovery key.", + "@askSSSSSign": { + "type": "String", + "placeholders": {} + }, + "askVerificationRequest": "Accept this verification request from {username}?", + "@askVerificationRequest": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "autoplayImages": "Automatically play animated stickers and emotes", + "@autoplayImages": { + "type": "String", + "placeholder": {} + }, + "badServerLoginTypesException": "The homeserver supports the login types:\n{serverVersions}\nBut this app supports only:\n{supportedVersions}", + "@badServerLoginTypesException": { + "type": "String", + "placeholders": { + "serverVersions": { + "type": "String" + }, + "supportedVersions": { + "type": "String" + } + } + }, + "sendTypingNotifications": "Send typing notifications", + "swipeRightToLeftToReply": "Swipe right to left to reply", + "sendOnEnter": "Send on enter", + "noMoreChatsFound": "No more chats found...", + "noChatsFoundHere": "No chats found here yet. Start a new chat with someone by using the button below. ⤵️", + "unread": "Unread", + "space": "Space", + "banFromChat": "Ban from chat", + "@banFromChat": { + "type": "String", + "placeholders": {} + }, + "banned": "Banned", + "@banned": { + "type": "String", + "placeholders": {} + }, + "bannedUser": "{username} banned {targetName}", + "@bannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "blockDevice": "Block Device", + "@blockDevice": { + "type": "String", + "placeholders": {} + }, + "blocked": "Blocked", + "@blocked": { + "type": "String", + "placeholders": {} + }, + "cancel": "Cancel", + "@cancel": { + "type": "String", + "placeholders": {} + }, + "cantOpenUri": "Can't open the URI {uri}", + "@cantOpenUri": { + "type": "String", + "placeholders": { + "uri": { + "type": "String" + } + } + }, + "changeDeviceName": "Change device name", + "@changeDeviceName": { + "type": "String", + "placeholders": {} + }, + "changedTheChatAvatar": "{username} changed the chat avatar", + "@changedTheChatAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheChatDescription": "{username} changed the chat description", + "changedTheChatName": "{username} changed the chat name", + "changedTheChatPermissions": "{username} changed the chat permissions", + "@changedTheChatPermissions": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheDisplaynameTo": "{username} changed their displayname to: '{displayname}'", + "@changedTheDisplaynameTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "displayname": { + "type": "String" + } + } + }, + "changedTheGuestAccessRules": "{username} changed the guest access rules", + "@changedTheGuestAccessRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheGuestAccessRulesTo": "{username} changed the guest access rules to: {rules}", + "@changedTheGuestAccessRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheHistoryVisibility": "{username} changed the history visibility", + "@changedTheHistoryVisibility": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheHistoryVisibilityTo": "{username} changed the history visibility to: {rules}", + "@changedTheHistoryVisibilityTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheJoinRules": "{username} changed the join rules", + "@changedTheJoinRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheJoinRulesTo": "{username} changed the join rules to: {joinRules}", + "@changedTheJoinRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "joinRules": { + "type": "String" + } + } + }, + "changedTheProfileAvatar": "{username} changed their avatar", + "@changedTheProfileAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomAliases": "{username} changed the room aliases", + "@changedTheRoomAliases": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomInvitationLink": "{username} changed the invitation link", + "@changedTheRoomInvitationLink": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changePassword": "Change password", + "@changePassword": { + "type": "String", + "placeholders": {} + }, + "changeTheHomeserver": "Change the homeserver", + "@changeTheHomeserver": { + "type": "String", + "placeholders": {} + }, + "changeTheme": "Change your style", + "@changeTheme": { + "type": "String", + "placeholders": {} + }, + "changeTheNameOfTheGroup": "Change the name of the group", + "@changeTheNameOfTheGroup": { + "type": "String", + "placeholders": {} + }, + "changeYourAvatar": "Change your avatar", + "@changeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "channelCorruptedDecryptError": "The encryption has been corrupted", + "@channelCorruptedDecryptError": { + "type": "String", + "placeholders": {} + }, + "chat": "Chat", + "@chat": { + "type": "String", + "placeholders": {} + }, + "chatBackup": "Chat backup", + "@chatBackup": { + "type": "String", + "placeholders": {} + }, + "chatDetails": "Chat details", + "@chatDetails": { + "type": "String", + "placeholders": {} + }, + "chats": "Chats", + "@chats": { + "type": "String", + "placeholders": {} + }, + "chooseAStrongPassword": "Choose a strong password", + "@chooseAStrongPassword": { + "type": "String", + "placeholders": {} + }, + "clearArchive": "Clear archive", + "close": "Close", + "@close": { + "type": "String", + "placeholders": {} + }, + "commandHint_markasdm": "Mark as direct message room for the giving Matrix ID", + "commandHint_markasgroup": "Mark as group", + "commandHint_ban": "Ban the given user from this room", + "@commandHint_ban": { + "type": "String", + "description": "Usage hint for the command /ban" + }, + "commandHint_clearcache": "Clear cache", + "@commandHint_clearcache": { + "type": "String", + "description": "Usage hint for the command /clearcache" + }, + "commandHint_create": "Create an empty group chat\nUse --no-encryption to disable encryption", + "@commandHint_create": { + "type": "String", + "description": "Usage hint for the command /create" + }, + "commandHint_discardsession": "Discard session", + "@commandHint_discardsession": { + "type": "String", + "description": "Usage hint for the command /discardsession" + }, + "commandHint_dm": "Start a direct chat\nUse --no-encryption to disable encryption", + "@commandHint_dm": { + "type": "String", + "description": "Usage hint for the command /dm" + }, + "commandHint_html": "Send HTML-formatted text", + "@commandHint_html": { + "type": "String", + "description": "Usage hint for the command /html" + }, + "commandHint_invite": "Invite the given user to this room", + "@commandHint_invite": { + "type": "String", + "description": "Usage hint for the command /invite" + }, + "commandHint_join": "Join the given room", + "@commandHint_join": { + "type": "String", + "description": "Usage hint for the command /join" + }, + "commandHint_kick": "Remove the given user from this room", + "@commandHint_kick": { + "type": "String", + "description": "Usage hint for the command /kick" + }, + "commandHint_leave": "Leave this room", + "@commandHint_leave": { + "type": "String", + "description": "Usage hint for the command /leave" + }, + "commandHint_me": "Describe yourself", + "@commandHint_me": { + "type": "String", + "description": "Usage hint for the command /me" + }, + "commandHint_myroomavatar": "Set your picture for this room (by mxc-uri)", + "@commandHint_myroomavatar": { + "type": "String", + "description": "Usage hint for the command /myroomavatar" + }, + "commandHint_myroomnick": "Set your display name for this room", + "@commandHint_myroomnick": { + "type": "String", + "description": "Usage hint for the command /myroomnick" + }, + "commandHint_op": "Set the given user's power level (default: 50)", + "@commandHint_op": { + "type": "String", + "description": "Usage hint for the command /op" + }, + "commandHint_plain": "Send unformatted text", + "@commandHint_plain": { + "type": "String", + "description": "Usage hint for the command /plain" + }, + "commandHint_react": "Send reply as a reaction", + "@commandHint_react": { + "type": "String", + "description": "Usage hint for the command /react" + }, + "commandHint_send": "Send text", + "@commandHint_send": { + "type": "String", + "description": "Usage hint for the command /send" + }, + "commandHint_unban": "Unban the given user from this room", + "@commandHint_unban": { + "type": "String", + "description": "Usage hint for the command /unban" + }, + "commandInvalid": "Command invalid", + "@commandInvalid": { + "type": "String" + }, + "commandMissing": "{command} is not a command.", + "@commandMissing": { + "type": "String", + "placeholders": { + "command": { + "type": "String" + } + }, + "description": "State that {command} is not a valid /command." + }, + "compareEmojiMatch": "Please compare the emojis", + "@compareEmojiMatch": { + "type": "String", + "placeholders": {} + }, + "compareNumbersMatch": "Please compare the numbers", + "@compareNumbersMatch": { + "type": "String", + "placeholders": {} + }, + "configureChat": "Configure chat", + "@configureChat": { + "type": "String", + "placeholders": {} + }, + "contactHasBeenInvitedToTheGroup": "Contact has been invited to the group", + "@contactHasBeenInvitedToTheGroup": { + "type": "String", + "placeholders": {} + }, + "contentHasBeenReported": "The content has been reported to the server admins", + "@contentHasBeenReported": { + "type": "String", + "placeholders": {} + }, + "copiedToClipboard": "Copied to clipboard", + "@copiedToClipboard": { + "type": "String", + "placeholders": {} + }, + "copy": "Copy", + "@copy": { + "type": "String", + "placeholders": {} + }, + "copyToClipboard": "Copy to clipboard", + "@copyToClipboard": { + "type": "String", + "placeholders": {} + }, + "couldNotDecryptMessage": "Could not decrypt message: {error}", + "@couldNotDecryptMessage": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "checkList": "Check list", + "countParticipants": "{count, plural, =1{1 participant} other{{count} participants}}", + "@countParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "countInvited": "{count} invited", + "@countInvited": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "create": "Create", + "@create": { + "type": "String", + "placeholders": {} + }, + "createdTheChat": "💬 {username} created the chat", + "@createdTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "createGroup": "Create group", + "createNewSpace": "New space", + "@createNewSpace": { + "type": "String", + "placeholders": {} + }, + "canal": "Canal", + "canalIsPublic": "Canal is public", + "canalName": "Canal name", + "canalOnlyAdminCanPost": "Only canal admins are allowed to post in this room", + "createCanalAndInviteUsers": "Create a canal and invite users", + "createMuralAndInviteUsers": "Create a mural and invite users", + "mural": "Mural", + "muralIsPublic": "Mural is public", + "muralName": "Mural name", + "currentlyActive": "Currently active", + "@currentlyActive": { + "type": "String", + "placeholders": {} + }, + "darkTheme": "Dark", + "@darkTheme": { + "type": "String", + "placeholders": {} + }, + "dateAndTimeOfDay": "{date}, {timeOfDay}", + "@dateAndTimeOfDay": { + "type": "String", + "placeholders": { + "date": { + "type": "String" + }, + "timeOfDay": { + "type": "String" + } + } + }, + "deactivateAccountWarning": "This will deactivate your user account. This can not be undone! Are you sure?", + "@deactivateAccountWarning": { + "type": "String", + "placeholders": {} + }, + "defaultPermissionLevel": "Default permission level for new users", + "@defaultPermissionLevel": { + "type": "String", + "placeholders": {} + }, + "delete": "Delete", + "@delete": { + "type": "String", + "placeholders": {} + }, + "deleteAccount": "Delete account", + "@deleteAccount": { + "type": "String", + "placeholders": {} + }, + "deleteMessage": "Delete message", + "@deleteMessage": { + "type": "String", + "placeholders": {} + }, + "devices": "Devices", + "@devices": { + "type": "String", + "placeholders": {} + }, + "directChats": "Direct Chats", + "@directChats": { + "type": "String", + "placeholders": {} + }, + "displaynameHasBeenChanged": "Displayname has been changed", + "@displaynameHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "downloadFile": "Download file", + "@downloadFile": { + "type": "String", + "placeholders": {} + }, + "edit": "Edit", + "@edit": { + "type": "String", + "placeholders": {} + }, + "editBlockedServers": "Edit blocked servers", + "@editBlockedServers": { + "type": "String", + "placeholders": {} + }, + "chatPermissions": "Chat permissions", + "editDisplayname": "Edit displayname", + "@editDisplayname": { + "type": "String", + "placeholders": {} + }, + "editRoomAliases": "Edit room aliases", + "@editRoomAliases": { + "type": "String", + "placeholders": {} + }, + "editRoomAvatar": "Edit room avatar", + "@editRoomAvatar": { + "type": "String", + "placeholders": {} + }, + "emoteExists": "Emote already exists!", + "@emoteExists": { + "type": "String", + "placeholders": {} + }, + "emoteInvalid": "Invalid emote shortcode!", + "@emoteInvalid": { + "type": "String", + "placeholders": {} + }, + "emoteKeyboardNoRecents": "Recently-used emotes will appear here...", + "@emoteKeyboardNoRecents": { + "type": "String", + "placeholders": {} + }, + "globalChatId": "Global chat ID", + "accessAndVisibility": "Access and visibility", + "accessAndVisibilityDescription": "Who is allowed to join this chat and how the chat can be discovered.", + "calls": "Calls", + "customEmojisAndStickers": "Custom emojis and stickers", + "customEmojisAndStickersBody": "Add or share custom emojis or stickers which can be used in any chat.", + "emoteShortcode": "Emote shortcode", + "@emoteShortcode": { + "type": "String", + "placeholders": {} + }, + "emptyChat": "Empty chat", + "@emptyChat": { + "type": "String", + "placeholders": {} + }, + "enableEmotesGlobally": "Enable emote pack globally", + "@enableEmotesGlobally": { + "type": "String", + "placeholders": {} + }, + "enableEncryption": "Enable encryption", + "@enableEncryption": { + "type": "String", + "placeholders": {} + }, + "enableEncryptionWarning": "You won't be able to disable the encryption anymore. Are you sure?", + "@enableEncryptionWarning": { + "type": "String", + "placeholders": {} + }, + "encrypted": "Encrypted", + "@encrypted": { + "type": "String", + "placeholders": {} + }, + "encryption": "Encryption", + "@encryption": { + "type": "String", + "placeholders": {} + }, + "encryptionNotEnabled": "Encryption is not enabled", + "@encryptionNotEnabled": { + "type": "String", + "placeholders": {} + }, + "endedTheCall": "{senderName} ended the call", + "@endedTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "enterAnEmailAddress": "Enter an email address", + "@enterAnEmailAddress": { + "type": "String", + "placeholders": {} + }, + "errorObtainingLocation": "Error obtaining location: {error}", + "@errorObtainingLocation": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "fontSize": "Font size", + "@fontSize": { + "type": "String", + "placeholders": {} + }, + "forward": "Forward", + "@forward": { + "type": "String", + "placeholders": {} + }, + "fromJoining": "From joining", + "@fromJoining": { + "type": "String", + "placeholders": {} + }, + "fromTheInvitation": "From the invitation", + "@fromTheInvitation": { + "type": "String", + "placeholders": {} + }, + "group": "Group", + "@group": { + "type": "String", + "placeholders": {} + }, + "chatDescription": "Chat description", + "chatDescriptionHasBeenChanged": "Chat description changed", + "groupIsPublic": "Group is public", + "@groupIsPublic": { + "type": "String", + "placeholders": {} + }, + "groups": "Groups", + "@groups": { + "type": "String", + "placeholders": {} + }, + "groupWith": "Group with {displayname}", + "@groupWith": { + "type": "String", + "placeholders": { + "displayname": { + "type": "String" + } + } + }, + "guestsAreForbidden": "Guests are forbidden", + "@guestsAreForbidden": { + "type": "String", + "placeholders": {} + }, + "guestsCanJoin": "Guests can join", + "@guestsCanJoin": { + "type": "String", + "placeholders": {} + }, + "hasWithdrawnTheInvitationFor": "{username} has withdrawn the invitation for {targetName}", + "@hasWithdrawnTheInvitationFor": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "help": "Help", + "@help": { + "type": "String", + "placeholders": {} + }, + "hideRedactedMessages": "Hide redacted messages", + "hideRedactedMessagesBody": "If someone redacts a message, this message won't be visible in the chat anymore.", + "hideInvalidOrUnknownMessageFormats": "Hide invalid or unknown message formats", + "block": "Block", + "blockedUsers": "Blocked users", + "blockListDescription": "You can block users who are disturbing you. You won't be able to receive any messages or room invites from the users on your personal block list.", + "blockUsername": "Ignore username", + "iHaveClickedOnLink": "I have clicked on the link", + "@iHaveClickedOnLink": { + "type": "String", + "placeholders": {} + }, + "incorrectPassphraseOrKey": "Incorrect passphrase or recovery key", + "@incorrectPassphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "inviteContact": "Invite contact", + "@inviteContact": { + "type": "String", + "placeholders": {} + }, + "inviteContactToGroup": "Invite contact to {groupName}", + "@inviteContactToGroup": { + "type": "String", + "placeholders": { + "groupName": { + "type": "String" + } + } + }, + "noChatDescriptionYet": "No chat description created yet.", + "tryAgain": "Try again", + "invalidServerName": "Invalid server name", + "invited": "Invited", + "@invited": { + "type": "String", + "placeholders": {} + }, + "redactMessageDescription": "The message will be redacted for all participants in this conversation. This cannot be undone.", + "optionalRedactReason": "(Optional) Reason for redacting this message...", + "invitedUser": "📩 {username} invited {targetName}", + "@invitedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "invitedUsersOnly": "Invited users only", + "@invitedUsersOnly": { + "type": "String", + "placeholders": {} + }, + "inviteText": "{username} invited you to FluffyChat.\n1. Visit fluffychat.im and install the app \n2. Sign up or sign in \n3. Open the invite link: \n {link}", + "@inviteText": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "link": { + "type": "String" + } + } + }, + "isTyping": "is typing", + "@isTyping": { + "type": "String", + "placeholders": {} + }, + "joinedTheChat": "👋 {username} joined the chat", + "@joinedTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "joinRoom": "Join room", + "@joinRoom": { + "type": "String", + "placeholders": {} + }, + "kicked": "👞 {username} kicked {targetName}", + "@kicked": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickedAndBanned": "🙅 {username} kicked and banned {targetName}", + "@kickedAndBanned": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickFromChat": "Kick from chat", + "@kickFromChat": { + "type": "String", + "placeholders": {} + }, + "lastActiveAgo": "Last active: {localizedTimeShort}", + "@lastActiveAgo": { + "type": "String", + "placeholders": { + "localizedTimeShort": { + "type": "String" + } + } + }, + "leave": "Leave", + "@leave": { + "type": "String", + "placeholders": {} + }, + "leftTheChat": "Left the chat", + "@leftTheChat": { + "type": "String", + "placeholders": {} + }, + "lightTheme": "Light", + "@lightTheme": { + "type": "String", + "placeholders": {} + }, + "loadCountMoreParticipants": "Load {count} more participants", + "@loadCountMoreParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "dehydrate": "Export session and wipe device", + "dehydrateWarning": "This action cannot be undone. Ensure you safely store the backup file.", + "hydrate": "Restore from backup file", + "loadingPleaseWait": "Loading… Please wait.", + "@loadingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "loadMore": "Load more…", + "@loadMore": { + "type": "String", + "placeholders": {} + }, + "locationDisabledNotice": "Location services are disabled. Please enable them to be able to share your location.", + "@locationDisabledNotice": { + "type": "String", + "placeholders": {} + }, + "locationPermissionDeniedNotice": "Location permission denied. Please grant them to be able to share your location.", + "@locationPermissionDeniedNotice": { + "type": "String", + "placeholders": {} + }, + "login": "Login", + "@login": { + "type": "String", + "placeholders": {} + }, + "logInTo": "Log in to {homeserver}", + "@logInTo": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "logout": "Logout", + "@logout": { + "type": "String", + "placeholders": {} + }, + "mention": "Mention", + "@mention": { + "type": "String", + "placeholders": {} + }, + "messages": "Messages", + "@messages": { + "type": "String", + "placeholders": {} + }, + "messagesStyle": "Messages:", + "moderator": "Moderator", + "@moderator": { + "type": "String", + "placeholders": {} + }, + "muteChat": "Mute chat", + "@muteChat": { + "type": "String", + "placeholders": {} + }, + "newChat": "New chat", + "@newChat": { + "type": "String", + "placeholders": {} + }, + "newMessageInFluffyChat": "💬 New message in FluffyChat", + "@newMessageInFluffyChat": { + "type": "String", + "placeholders": {} + }, + "newVerificationRequest": "New verification request!", + "@newVerificationRequest": { + "type": "String", + "placeholders": {} + }, + "next": "Next", + "@next": { + "type": "String", + "placeholders": {} + }, + "no": "No", + "@no": { + "type": "String", + "placeholders": {} + }, + "noConnectionToTheServer": "No connection to the server", + "@noConnectionToTheServer": { + "type": "String", + "placeholders": {} + }, + "noEmotesFound": "No emotes found. 😕", + "@noEmotesFound": { + "type": "String", + "placeholders": {} + }, + "noEncryptionForPublicRooms": "You can only activate encryption as soon as the room is no longer publicly accessible.", + "@noEncryptionForPublicRooms": { + "type": "String", + "placeholders": {} + }, + "noGoogleServicesWarning": "Firebase Cloud Messaging doesn't appear to be available on your device. To still receive push notifications, we recommend installing ntfy. With ntfy or another Unified Push provider you can receive push notifications in a data secure way. You can download ntfy from the PlayStore or from F-Droid.", + "@noGoogleServicesWarning": { + "type": "String", + "placeholders": {} + }, + "noMatrixServer": "{server1} is no matrix server, use {server2} instead?", + "@noMatrixServer": { + "type": "String", + "placeholders": { + "server1": { + "type": "String" + }, + "server2": { + "type": "String" + } + } + }, + "shareInviteLink": "Share invite link", + "scanQrCode": "Scan QR code", + "noPasswordRecoveryDescription": "You have not added a way to recover your password yet.", + "@noPasswordRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "noPermission": "No permission", + "@noPermission": { + "type": "String", + "placeholders": {} + }, + "noRoomsFound": "No rooms found…", + "@noRoomsFound": { + "type": "String", + "placeholders": {} + }, + "notifications": "Notifications", + "@notifications": { + "type": "String", + "placeholders": {} + }, + "numUsersTyping": "{count} users are typing…", + "@numUsersTyping": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "obtainingLocation": "Obtaining location…", + "@obtainingLocation": { + "type": "String", + "placeholders": {} + }, + "ok": "Ok", + "@ok": { + "type": "String", + "placeholders": {} + }, + "onlineKeyBackupEnabled": "Online Key Backup is enabled", + "@onlineKeyBackupEnabled": { + "type": "String", + "placeholders": {} + }, + "oopsPushError": "Oops! Unfortunately, an error occurred when setting up the push notifications.", + "@oopsPushError": { + "type": "String", + "placeholders": {} + }, + "oopsSomethingWentWrong": "Oops, something went wrong…", + "@oopsSomethingWentWrong": { + "type": "String", + "placeholders": {} + }, + "openAppToReadMessages": "Open app to read messages", + "@openAppToReadMessages": { + "type": "String", + "placeholders": {} + }, + "openCamera": "Open camera", + "@openCamera": { + "type": "String", + "placeholders": {} + }, + "oneClientLoggedOut": "One of your clients has been logged out", + "addAccount": "Add account", + "editBundlesForAccount": "Edit bundles for this account", + "addToBundle": "Add to bundle", + "removeFromBundle": "Remove from this bundle", + "bundleName": "Bundle name", + "openInMaps": "Open in maps", + "@openInMaps": { + "type": "String", + "placeholders": {} + }, + "link": "Link", + "or": "Or", + "@or": { + "type": "String", + "placeholders": {} + }, + "participant": "Participant", + "@participant": { + "type": "String", + "placeholders": {} + }, + "passphraseOrKey": "passphrase or recovery key", + "@passphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "password": "Password", + "@password": { + "type": "String", + "placeholders": {} + }, + "passwordForgotten": "Password forgotten", + "@passwordForgotten": { + "type": "String", + "placeholders": {} + }, + "passwordHasBeenChanged": "Password has been changed", + "@passwordHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "passwordRecoverySettings": "Password recovery settings", + "passwordRecovery": "Password recovery", + "@passwordRecovery": { + "type": "String", + "placeholders": {} + }, + "pin": "Pin", + "@pin": { + "type": "String", + "placeholders": {} + }, + "pleaseChooseAPasscode": "Please choose a pass code", + "@pleaseChooseAPasscode": { + "type": "String", + "placeholders": {} + }, + "pleaseClickOnLink": "Please click on the link in the email and then proceed.", + "@pleaseClickOnLink": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPassword": "Please enter your password", + "@pleaseEnterYourPassword": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPin": "Please enter your pin", + "@pleaseEnterYourPin": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourUsername": "Please enter your username", + "@pleaseEnterYourUsername": { + "type": "String", + "placeholders": {} + }, + "pleaseFollowInstructionsOnWeb": "Please follow the instructions on the website and tap on next.", + "@pleaseFollowInstructionsOnWeb": { + "type": "String", + "placeholders": {} + }, + "privacy": "Privacy", + "@privacy": { + "type": "String", + "placeholders": {} + }, + "publicRooms": "Public Rooms", + "@publicRooms": { + "type": "String", + "placeholders": {} + }, + "reason": "Reason", + "@reason": { + "type": "String", + "placeholders": {} + }, + "redactedBy": "Redacted by {username}", + "@redactedBy": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "redactedByBecause": "Redacted by {username} because: \"{reason}\"", + "@redactedByBecause": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "reason": { + "type": "String" + } + } + }, + "redactedAnEvent": "{username} redacted an event", + "@redactedAnEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "redactMessage": "Redact message", + "@redactMessage": { + "type": "String", + "placeholders": {} + }, + "reject": "Reject", + "@reject": { + "type": "String", + "placeholders": {} + }, + "rejectedTheInvitation": "{username} rejected the invitation", + "@rejectedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "removeAllOtherDevices": "Remove all other devices", + "@removeAllOtherDevices": { + "type": "String", + "placeholders": {} + }, + "unbanFromChat": "Unban from chat", + "@unbanFromChat": { + "type": "String", + "placeholders": {} + }, + "removeYourAvatar": "Remove your avatar", + "@removeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "replaceRoomWithNewerVersion": "Replace room with newer version", + "@replaceRoomWithNewerVersion": { + "type": "String", + "placeholders": {} + }, + "reply": "Reply", + "@reply": { + "type": "String", + "placeholders": {} + }, + "reportMessage": "Report message", + "@reportMessage": { + "type": "String", + "placeholders": {} + }, + "roomHasBeenUpgraded": "Room has been upgraded", + "@roomHasBeenUpgraded": { + "type": "String", + "placeholders": {} + }, + "sendingFilesDoNotExit": "Sending {count} files... Please do not exit!", + "@sendingFilesDoNotExit": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "roomVersion": "Room version", + "compressingVideo": "Compressing video...", + "@roomVersion": { + "type": "String", + "placeholders": {} + }, + "saveFile": "Save file", + "@saveFile": { + "type": "String", + "placeholders": {} + }, + "search": "Search", + "@search": { + "type": "String", + "placeholders": {} + }, + "security": "Security", + "@security": { + "type": "String", + "placeholders": {} + }, + "send": "Send", + "@send": { + "type": "String", + "placeholders": {} + }, + "sendAMessage": "Send a message", + "@sendAMessage": { + "type": "String", + "placeholders": {} + }, + "sendAsText": "Send as text", + "@sendAsText": { + "type": "String" + }, + "sendAudio": "Send audio", + "@sendAudio": { + "type": "String", + "placeholders": {} + }, + "sendFile": "Send file", + "@sendFile": { + "type": "String", + "placeholders": {} + }, + "sendImage": "Send image", + "@sendImage": { + "type": "String", + "placeholders": {} + }, + "sendImages": "Send {count} image", + "@sendImages": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "sendMessages": "Send messages", + "@sendMessages": { + "type": "String", + "placeholders": {} + }, + "sendVideo": "Send video", + "@sendVideo": { + "type": "String", + "placeholders": {} + }, + "sentAFile": "📁 {username} sent a file", + "@sentAFile": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAnAudio": "🎤 {username} sent an audio", + "@sentAnAudio": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAPicture": "🖼️ {username} sent a picture", + "@sentAPicture": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentASticker": "😊 {username} sent a sticker", + "@sentASticker": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAVideo": "🎥 {username} sent a video", + "@sentAVideo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentCallInformations": "{senderName} sent call information", + "@sentCallInformations": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "setAsCanonicalAlias": "Set as main alias", + "@setAsCanonicalAlias": { + "type": "String", + "placeholders": {} + }, + "setChatDescription": "Set chat description", + "setStatus": "Set status", + "@setStatus": { + "type": "String", + "placeholders": {} + }, + "settings": "Settings", + "@settings": { + "type": "String", + "placeholders": {} + }, + "share": "Share", + "@share": { + "type": "String", + "placeholders": {} + }, + "sharedTheLocation": "{username} shared their location", + "@sharedTheLocation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "shareLocation": "Share location", + "@shareLocation": { + "type": "String", + "placeholders": {} + }, + "skip": "Skip", + "@skip": { + "type": "String", + "placeholders": {} + }, + "sourceCode": "Source code", + "@sourceCode": { + "type": "String", + "placeholders": {} + }, + "spaceIsPublic": "Space is public", + "@spaceIsPublic": { + "type": "String", + "placeholders": {} + }, + "spaceName": "Space name", + "@spaceName": { + "type": "String", + "placeholders": {} + }, + "startedACall": "{senderName} started a call", + "@startedACall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "status": "Status", + "@status": { + "type": "String", + "placeholders": {} + }, + "statusExampleMessage": "How are you today?", + "@statusExampleMessage": { + "type": "String", + "placeholders": {} + }, + "submit": "Submit", + "@submit": { + "type": "String", + "placeholders": {} + }, + "synchronizingPleaseWait": "Synchronizing… Please wait.", + "@synchronizingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "synchronizingPleaseWaitCounter": " Synchronizing… ({percentage}%)", + "@synchronizingPleaseWaitCounter": { + "type": "String", + "placeholders": { + "percentage": { + "type": "String" + } + } + }, + "systemTheme": "System", + "@systemTheme": { + "type": "String", + "placeholders": {} + }, + "theyDontMatch": "They Don't Match", + "@theyDontMatch": { + "type": "String", + "placeholders": {} + }, + "theyMatch": "They Match", + "@theyMatch": { + "type": "String", + "placeholders": {} + }, + "tooManyRequestsWarning": "Too many requests. Please try again later!", + "@tooManyRequestsWarning": { + "type": "String", + "placeholders": {} + }, + "tryToSendAgain": "Try to send again", + "@tryToSendAgain": { + "type": "String", + "placeholders": {} + }, + "unbannedUser": "{username} unbanned {targetName}", + "@unbannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "unblockDevice": "Unblock Device", + "@unblockDevice": { + "type": "String", + "placeholders": {} + }, + "unknownDevice": "Unknown device", + "@unknownDevice": { + "type": "String", + "placeholders": {} + }, + "unknownEncryptionAlgorithm": "Unknown encryption algorithm", + "@unknownEncryptionAlgorithm": { + "type": "String", + "placeholders": {} + }, + "unknownEvent": "Unknown event '{type}'", + "@unknownEvent": { + "type": "String", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "unmuteChat": "Unmute chat", + "@unmuteChat": { + "type": "String", + "placeholders": {} + }, + "unpin": "Unpin", + "@unpin": { + "type": "String", + "placeholders": {} + }, + "userAndOthersAreTyping": "{username} and {count} others are typing…", + "@userAndOthersAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "count": { + "type": "int" + } + } + }, + "userAndUserAreTyping": "{username} and {username2} are typing…", + "@userAndUserAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "username2": { + "type": "String" + } + } + }, + "userIsTyping": "{username} is typing…", + "@userIsTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "userLeftTheChat": "🚪 {username} left the chat", + "@userLeftTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "userSentUnknownEvent": "{username} sent a {type} event", + "@userSentUnknownEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "type": { + "type": "String" + } + } + }, + "unverified": "Unverified", + "verified": "Verified", + "@verified": { + "type": "String", + "placeholders": {} + }, + "verifyStart": "Start Verification", + "@verifyStart": { + "type": "String", + "placeholders": {} + }, + "verifySuccess": "You successfully verified!", + "@verifySuccess": { + "type": "String", + "placeholders": {} + }, + "verifyTitle": "Verifying other account", + "@verifyTitle": { + "type": "String", + "placeholders": {} + }, + "visibilityOfTheChatHistory": "Visibility of the chat history", + "@visibilityOfTheChatHistory": { + "type": "String", + "placeholders": {} + }, + "visibleForAllParticipants": "Visible for all participants", + "@visibleForAllParticipants": { + "type": "String", + "placeholders": {} + }, + "visibleForEveryone": "Visible for everyone", + "@visibleForEveryone": { + "type": "String", + "placeholders": {} + }, + "voiceMessage": "Voice message", + "@voiceMessage": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerAcceptRequest": "Waiting for partner to accept the request…", + "@waitingPartnerAcceptRequest": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerEmoji": "Waiting for partner to accept the emoji…", + "@waitingPartnerEmoji": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerNumbers": "Waiting for partner to accept the numbers…", + "@waitingPartnerNumbers": { + "type": "String", + "placeholders": {} + }, + "warning": "Warning!", + "@warning": { + "type": "String", + "placeholders": {} + }, + "weSentYouAnEmail": "We sent you an email", + "@weSentYouAnEmail": { + "type": "String", + "placeholders": {} + }, + "whoCanPerformWhichAction": "Who can perform which action", + "@whoCanPerformWhichAction": { + "type": "String", + "placeholders": {} + }, + "whoIsAllowedToJoinThisGroup": "Who is allowed to join this group", + "@whoIsAllowedToJoinThisGroup": { + "type": "String", + "placeholders": {} + }, + "whyDoYouWantToReportThis": "Why do you want to report this?", + "@whyDoYouWantToReportThis": { + "type": "String", + "placeholders": {} + }, + "withTheseAddressesRecoveryDescription": "With these addresses you can recover your password.", + "@withTheseAddressesRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "writeAMessage": "Write a message…", + "@writeAMessage": { + "type": "String", + "placeholders": {} + }, + "yes": "Yes", + "@yes": { + "type": "String", + "placeholders": {} + }, + "you": "You", + "@you": { + "type": "String", + "placeholders": {} + }, + "youAreNoLongerParticipatingInThisChat": "You are no longer participating in this chat", + "@youAreNoLongerParticipatingInThisChat": { + "type": "String", + "placeholders": {} + }, + "youHaveBeenBannedFromThisChat": "You have been banned from this chat", + "@youHaveBeenBannedFromThisChat": { + "type": "String", + "placeholders": {} + }, + "yourPublicKey": "Your public key", + "@yourPublicKey": { + "type": "String", + "placeholders": {} + }, + "messageInfo": "Message info", + "time": "Time", + "sender": "Sender", + "openGallery": "Open gallery", + "removeFromSpace": "Remove from space", + "markAsRead": "Mark as read", + "reportUser": "Report user", + "reactedWith": "{sender} reacted with {reaction}", + "@reactedWith": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "reaction": { + "type": "String" + } + } + }, + "pinMessage": "Pin to room", + "confirmEventUnpin": "Are you sure to permanently unpin the event?", + "emojis": "Emojis", + "unsupportedAndroidVersion": "Unsupported Android version", + "unsupportedAndroidVersionLong": "This feature requires a newer Android version. Please check for updates or Lineage OS support.", + "youRejectedTheInvitation": "You rejected the invitation", + "youJoinedTheChat": "You joined the chat", + "youAcceptedTheInvitation": "👍 You accepted the invitation", + "youBannedUser": "You banned {user}", + "@youBannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youHaveWithdrawnTheInvitationFor": "You have withdrawn the invitation for {user}", + "@youHaveWithdrawnTheInvitationFor": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youInvitedBy": "📩 You have been invited by {user}", + "@youInvitedBy": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youInvitedUser": "📩 You invited {user}", + "@youInvitedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youKicked": "👞 You kicked {user}", + "@youKicked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youKickedAndBanned": "🙅 You kicked and banned {user}", + "@youKickedAndBanned": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youUnbannedUser": "You unbanned {user}", + "@youUnbannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "hasKnocked": "🚪 {user} has knocked", + "@hasKnocked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "usersMustKnock": "Users must knock", + "noOneCanJoin": "No one can join", + "knock": "Knock", + "users": "Users", + "storeInAndroidKeystore": "Store in Android KeyStore", + "storeInAppleKeyChain": "Store in Apple KeyChain", + "storeSecurlyOnThisDevice": "Store securely on this device", + "countFiles": "{count} files", + "@countFiles": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "user": "User", + "custom": "Custom", + "whyIsThisMessageEncrypted": "Why is this message unreadable?", + "noKeyForThisMessage": "This can happen if the message was sent before you have signed in to your account at this device.\n\nIt is also possible that the sender has blocked your device or something went wrong with the internet connection.\n\nAre you able to read the message on another session? Then you can transfer the message from it! Go to Settings > Devices and make sure that your devices have verified each other. When you open the room the next time and both sessions are in the foreground, the keys will be transmitted automatically.\n\nDo you not want to lose the keys when logging out or switching devices? Make sure that you have enabled the chat backup in the settings.", + "newSpace": "New space", + "newCanal": "New canal", + "newMural": "New mural", + "doNotShowAgain": "Do not show again", + "wasDirectChatDisplayName": "Empty chat (was {oldDisplayName})", + "@wasDirectChatDisplayName": { + "type": "String", + "placeholders": { + "oldDisplayName": { + "type": "String" + } + } + }, + "newSpaceDescription": "Spaces allows you to consolidate your chats and build private or public communities.", + "newCanalDescription": "A canal is a room where only admins can publish. Use it to broadcast official announcements.", + "newMuralDescription": "A mural is a shared bulletin board where everyone can post. Use it to leave notes for your community.", + "encryptThisChat": "Encrypt this chat", + "disableEncryptionWarning": "For security reasons you can not disable encryption in a chat, where it has been enabled before.", + "sorryThatsNotPossible": "Sorry... that is not possible", + "reopenChat": "Reopen chat", + "noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.", + "noOtherDevicesFound": "No other devices found", + "fileIsTooBigForServer": "Unable to send! The server only supports attachments up to {max}.", + "@fileIsTooBigForServer": { + "type": "String", + "placeholders": { + "max": { + "type": "String" + } + } + }, + "fileHasBeenSavedAt": "File has been saved at {path}", + "@fileHasBeenSavedAt": { + "type": "String", + "placeholders": { + "path": { + "type": "String" + } + } + }, + "jumpToLastReadMessage": "Jump to last read message", + "readUpToHere": "Read up to here", + "jump": "Jump", + "openLinkInBrowser": "Open link in browser", + "reportErrorDescription": "😭 Oh no. Something went wrong. If you want, you can report this bug to the developers.", + "report": "report", + "setColorTheme": "Set color theme:", + "invite": "Invite", + "inviteGroupChat": "📨 Group chat invite", + "invalidInput": "Invalid input!", + "wrongPinEntered": "Wrong pin entered! Try again in {seconds} seconds...", + "@wrongPinEntered": { + "type": "String", + "placeholders": { + "seconds": { + "type": "int" + } + } + }, + "pleaseEnterANumber": "Please enter a number greater than 0", + "archiveRoomDescription": "The chat will be moved to the archive. Other users will be able to see that you have left the chat.", + "roomUpgradeDescription": "The chat will then be recreated with the new room version. All participants will be notified that they need to switch to the new chat. You can find out more about room versions at https://spec.matrix.org/latest/rooms/", + "removeDevicesDescription": "You will be logged out of this device and will no longer be able to receive messages.", + "banUserDescription": "The user will be banned from the chat and will not be able to enter the chat again until they are unbanned.", + "unbanUserDescription": "The user will be able to enter the chat again if they try.", + "kickUserDescription": "The user is kicked out of the chat but not banned. In public chats, the user can rejoin at any time.", + "makeAdminDescription": "Once you make this user admin, you may not be able to undo this as they will then have the same permissions as you.", + "pushNotificationsNotAvailable": "Push notifications not available", + "learnMore": "Learn more", + "yourGlobalUserIdIs": "Your global user-ID is: ", + "noUsersFoundWithQuery": "Unfortunately no user could be found with \"{query}\". Please check whether you made a typo.", + "@noUsersFoundWithQuery": { + "type": "String", + "placeholders": { + "query": { + "type": "String" + } + } + }, + "knocking": "Knocking", + "chatCanBeDiscoveredViaSearchOnServer": "Chat can be discovered via the search on {server}", + "@chatCanBeDiscoveredViaSearchOnServer": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "searchChatsRooms": "Search for #chats, @users...", + "nothingFound": "Nothing found...", + "groupName": "Group name", + "createGroupAndInviteUsers": "Create a group and invite users", + "groupCanBeFoundViaSearch": "Group can be found via search", + "wrongRecoveryKey": "Sorry... this does not seem to be the correct recovery key.", + "commandHint_sendraw": "Send raw json", + "databaseMigrationTitle": "Database is optimized", + "databaseMigrationBody": "Please wait. This may take a moment.", + "leaveEmptyToClearStatus": "Leave empty to clear your status.", + "select": "Select", + "searchForUsers": "Search for @users...", + "pleaseEnterYourCurrentPassword": "Please enter your current password", + "newPassword": "New password", + "pleaseChooseAStrongPassword": "Please choose a strong password", + "passwordsDoNotMatch": "Passwords do not match", + "passwordIsWrong": "Your entered password is wrong", + "publicChatAddresses": "Public chat addresses", + "createNewAddress": "Create new address", + "joinSpace": "Join space", + "publicSpaces": "Public spaces", + "addChatOrSubSpace": "Add chat or sub space", + "thisDevice": "This device:", + "initAppError": "An error occured while init the app", + "searchIn": "Search in chat \"{chat}\"...", + "@searchIn": { + "type": "String", + "placeholders": { + "chat": { + "type": "String" + } + } + }, + "searchMore": "Search more...", + "gallery": "Gallery", + "files": "Files", + "sessionLostBody": "Your session is lost. Please report this error to the developers at {url}. The error message is: {error}", + "@sessionLostBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "restoreSessionBody": "The app now tries to restore your session from the backup. Please report this error to the developers at {url}. The error message is: {error}", + "@restoreSessionBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "sendReadReceipts": "Send read receipts", + "sendTypingNotificationsDescription": "Other participants in a chat can see when you are typing a new message.", + "sendReadReceiptsDescription": "Other participants in a chat can see when you have read a message.", + "formattedMessages": "Formatted messages", + "formattedMessagesDescription": "Display rich message content like bold text using markdown.", + "verifyOtherUser": "🔐 Verify other user", + "verifyOtherUserDescription": "If you verify another user, you can be sure that you know who you are really writing to. 💪\n\nWhen you start a verification, you and the other user will see a popup in the app. There you will then see a series of emojis or numbers that you have to compare with each other.\n\nThe best way to do this is to meet up or start a video call. 👭", + "verifyOtherDevice": "🔐 Verify other device", + "verifyOtherDeviceDescription": "When you verify another device, those devices can exchange keys, increasing your overall security. 💪 When you start a verification, a popup will appear in the app on both devices. There you will then see a series of emojis or numbers that you have to compare with each other. It's best to have both devices handy before you start the verification. 🤳", + "acceptedKeyVerification": "{sender} accepted key verification", + "@acceptedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "canceledKeyVerification": "{sender} canceled key verification", + "@canceledKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "completedKeyVerification": "{sender} completed key verification", + "@completedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "isReadyForKeyVerification": "{sender} is ready for key verification", + "@isReadyForKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "requestedKeyVerification": "{sender} requested key verification", + "@requestedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "startedKeyVerification": "{sender} started key verification", + "@startedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "incomingMessages": "Incoming messages", + "stickers": "Stickers", + "discover": "Discover", + "commandHint_ignore": "Ignore the given matrix ID", + "commandHint_unignore": "Unignore the given matrix ID", + "unreadChatsInApp": "{appname}: {unread} unread chats", + "@unreadChatsInApp": { + "type": "String", + "placeholders": { + "appname": { + "type": "String" + }, + "unread": { + "type": "String" + } + } + }, + "noDatabaseEncryption": "Database encryption is not supported on this platform", + "thereAreCountUsersBlocked": "Right now there are {count} users blocked.", + "@thereAreCountUsersBlocked": { + "type": "String", + "count": {} + }, + "goToSpace": "Go to space: {space}", + "@goToSpace": { + "type": "String", + "space": {} + }, + "markAsUnread": "Mark as unread", + "userLevel": "{level} - User", + "@userLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "moderatorLevel": "{level} - Moderator", + "@moderatorLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "adminLevel": "{level} - Admin", + "@adminLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "changeGeneralChatSettings": "Change general chat settings", + "inviteOtherUsers": "Invite other users to this chat", + "changeTheChatPermissions": "Change the chat permissions", + "changeTheVisibilityOfChatHistory": "Change the visibility of the chat history", + "changeTheCanonicalRoomAlias": "Change the main public chat address", + "sendRoomNotifications": "Send a @room notifications", + "changeTheDescriptionOfTheGroup": "Change the description of the chat", + "chatPermissionsDescription": "Define which power level is necessary for certain actions in this chat. The power levels 0, 50 and 100 are usually representing users, moderators and admins, but any gradation is possible.", + "updateInstalled": "🎉 Update {version} installed!", + "@updateInstalled": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "changelog": "Changelog", + "sendCanceled": "Sending canceled", + "loginWithMatrixId": "Login with Matrix-ID", + "doesNotSeemToBeAValidHomeserver": "Doesn't seem to be a compatible homeserver. Wrong URL?", + "calculatingFileSize": "Calculating file size...", + "oneOfYourDevicesIsNotVerified": "One of your devices is not verified", + "noticeChatBackupDeviceVerification": "Note: When you connect all your devices to the chat backup, they are automatically verified.", + "continueText": "Continue", + "blur": "Blur:", + "opacity": "Opacity:", + "setWallpaper": "Set wallpaper", + "manageAccount": "Manage account", + "noContactInformationProvided": "Server does not provide any valid contact information", + "contactServerAdmin": "Contact server admin", + "contactServerSecurity": "Contact server security", + "supportPage": "Support page", + "serverInformation": "Server information:", + "name": "Name", + "version": "Version", + "website": "Website", + "compress": "Compress", + "boldText": "Bold text", + "italicText": "Italic text", + "strikeThrough": "Strikethrough", + "pleaseFillOut": "Please fill out", + "invalidUrl": "Invalid url", + "addLink": "Add link", + "unableToJoinChat": "Unable to join chat. Maybe the other party has already closed the conversation.", + "previous": "Previous", + "otherPartyNotLoggedIn": "The other party is currently not logged in and therefore cannot receive messages!", + "appWantsToUseForLogin": "Use '{server}' to log in", + "@appWantsToUseForLogin": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "appWantsToUseForLoginDescription": "You hereby allow the app and website to share information about you.", + "open": "Open", + "waitingForServer": "Waiting for server...", + "newChatRequest": "📩 New chat request", + "contentNotificationSettings": "Content notification settings", + "generalNotificationSettings": "General notification settings", + "roomNotificationSettings": "Room notification settings", + "userSpecificNotificationSettings": "User specific notification settings", + "otherNotificationSettings": "Other notification settings", + "notificationRuleContainsUserName": "Contains User Name", + "notificationRuleContainsUserNameDescription": "Notifies the user when a message contains their username.", + "notificationRuleMaster": "Mute all notifications", + "notificationRuleMasterDescription": "Overrides all other rules and disables all notifications.", + "notificationRuleSuppressNotices": "Suppress Automated Messages", + "notificationRuleSuppressNoticesDescription": "Suppresses notifications from automated clients like bots.", + "notificationRuleInviteForMe": "Invite for Me", + "notificationRuleInviteForMeDescription": "Notifies the user when they are invited to a room.", + "notificationRuleMemberEvent": "Member Event", + "notificationRuleMemberEventDescription": "Suppresses notifications for membership events.", + "notificationRuleIsUserMention": "User Mention", + "notificationRuleIsUserMentionDescription": "Notifies the user when they are directly mentioned in a message.", + "notificationRuleContainsDisplayName": "Contains Display Name", + "notificationRuleContainsDisplayNameDescription": "Notifies the user when a message contains their display name.", + "notificationRuleIsRoomMention": "Room Mention", + "notificationRuleIsRoomMentionDescription": "Notifies the user when there is a room mention.", + "notificationRuleRoomnotif": "Room Notification", + "notificationRuleRoomnotifDescription": "Notifies the user when a message contains '@room'.", + "notificationRuleTombstone": "Tombstone", + "notificationRuleTombstoneDescription": "Notifies the user about room deactivation messages.", + "notificationRuleReaction": "Reaction", + "notificationRuleReactionDescription": "Suppresses notifications for reactions.", + "notificationRuleRoomServerAcl": "Room Server ACL", + "notificationRuleRoomServerAclDescription": "Suppresses notifications for room server access control lists (ACL).", + "notificationRuleSuppressEdits": "Suppress Edits", + "notificationRuleSuppressEditsDescription": "Suppresses notifications for edited messages.", + "notificationRuleCall": "Call", + "notificationRuleCallDescription": "Notifies the user about calls.", + "notificationRuleEncryptedRoomOneToOne": "Encrypted Room One-to-One", + "notificationRuleEncryptedRoomOneToOneDescription": "Notifies the user about messages in encrypted one-to-one rooms.", + "notificationRuleRoomOneToOne": "Room One-to-One", + "notificationRuleRoomOneToOneDescription": "Notifies the user about messages in one-to-one rooms.", + "notificationRuleMessage": "Message", + "notificationRuleMessageDescription": "Notifies the user about general messages.", + "notificationRuleEncrypted": "Encrypted", + "notificationRuleEncryptedDescription": "Notifies the user about messages in encrypted rooms.", + "notificationRuleJitsi": "Jitsi", + "notificationRuleJitsiDescription": "Notifies the user about Jitsi widget events.", + "notificationRuleServerAcl": "Suppress Server ACL Events", + "notificationRuleServerAclDescription": "Suppresses notifications for Server ACL events.", + "unknownPushRule": "Unknown push rule '{rule}'", + "@unknownPushRule": { + "type": "String", + "placeholders": { + "rule": { + "type": "String" + } + } + }, + "sentVoiceMessage": "🎙️ {duration} - Voice message from {sender}", + "@sentVoiceMessage": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "deletePushRuleCanNotBeUndone": "If you delete this notification setting, this can not be undone.", + "more": "More", + "shareKeysWith": "Share keys with...", + "shareKeysWithDescription": "Which devices should be trusted so that they can read along your messages in encrypted chats?", + "allDevices": "All devices", + "crossVerifiedDevicesIfEnabled": "Cross verified devices if enabled", + "crossVerifiedDevices": "Cross verified devices", + "verifiedDevicesOnly": "Verified devices only", + "takeAPhoto": "Take a photo", + "recordAVideo": "Record a video", + "optionalMessage": "(Optional) message...", + "notSupportedOnThisDevice": "Not supported on this device", + "enterNewChat": "Enter new chat", + "approve": "Approve", + "youHaveKnocked": "You have knocked", + "pleaseWaitUntilInvited": "Please wait now, until someone from the room invites you.", + "commandHint_logout": "Logout your current device", + "commandHint_logoutall": "Logout all active devices", + "displayNavigationRail": "Show navigation rail on mobile", + "customReaction": "Custom reaction", + "moreEvents": "More events", + "showMore": "Show more", + "showLess": "Show less", + "declineInvitation": "Decline invitation", + "noMessagesYet": "No messages yet", + "longPressToRecordVoiceMessage": "Long press to record voice message.", + "pause": "Pause", + "resume": "Resume", + "removeFromSpaceDescription": "The chat will be removed from the space but still appear in your chat list.", + "countChats": "{chats} chats", + "@countChats": { + "type": "String", + "placeholders": { + "chats": { + "type": "int" + } + } + }, + "spaceMemberOf": "Space member of {spaces}", + "@spaceMemberOf": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "spaceMemberOfCanKnock": "Space member of {spaces} can knock", + "@spaceMemberOfCanKnock": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "startPoll": "Start poll", + "endPoll": "End poll", + "answersVisible": "Answers visible", + "pollQuestion": "Poll question", + "answerOption": "Answer option", + "addAnswerOption": "Add answer option", + "allowMultipleAnswers": "Allow multiple answers", + "pollHasBeenEnded": "Poll has been ended", + "countVotes": "{count, plural, =1{One vote} other{{count} votes}}", + "@countVotes": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "answersWillBeVisibleWhenPollHasEnded": "Answers will be visible when poll has ended", + "replyInThread": "Reply in thread", + "countReplies": "{count, plural, =1{One reply} other{{count} replies}}", + "@countReplies": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "thread": "Thread", + "backToMainChat": "Back to main chat", + "saveChanges": "Save changes", + "createSticker": "Create sticker or emoji", + "useAsSticker": "Use as sticker", + "useAsEmoji": "Use as emoji", + "stickerPackNameAlreadyExists": "Sticker pack name already exists", + "newStickerPack": "New sticker pack", + "stickerPackName": "Sticker pack name", + "attribution": "Attribution", + "skipChatBackup": "Skip chat backup", + "skipChatBackupWarning": "Are you sure? Without enabling the chat backup you may lose access to your messages if you switch your device.", + "noMoreResultsFound": "No more results found", + "chatSearchedUntil": "Chat searched until {time}", + "@chatSearchedUntil": { + "type": "String", + "placeholders": { + "time": { + "type": "String" + } + } + }, + "federationBaseUrl": "Federation Base URL", + "clientWellKnownInformation": "Client-Well-Known Information:", + "baseUrl": "Base URL", + "identityServer": "Identity Server:", + "versionWithNumber": "Version: {version}", + "@versionWithNumber": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "logs": "Logs", + "advancedConfigs": "Advanced Configs", + "advancedConfigurations": "Advanced configurations", + "signIn": "Sign in", + "createNewAccount": "Create new account", + "signUpGreeting": "FluffyChat is decentralized! Select a server where you want to create your account and let's go!", + "signInGreeting": "You already have an account in Matrix? Welcome back! Select your homeserver and sign in.", + "theProcessWasCanceled": "The process was canceled.", + "join": "Join", + "searchOrEnterHomeserverAddress": "Search or enter homeserver address", + "matrixId": "Matrix ID", + "setPowerLevel": "Set power level", + "makeModerator": "Make moderator", + "makeAdmin": "Make admin", + "removeModeratorRights": "Remove moderator rights", + "removeAdminRights": "Remove admin rights", + "powerLevel": "Power level", + "setPowerLevelDescription": "Power levels define what a member is allowed to do in this room and usually range between 0 and 100.", + "owner": "Owner", + "mute": "Mute", + "@mute": { + "description": "This should be a very short string because there is not much space in the button!" + }, + "createNewChat": "Create new chat", + "reset": "Reset", + "supportFluffyChat": "Support FluffyChat", + "support": "Support", + "setLowPriority": "Set low priority", + "unsetLowPriority": "Unset low priority", + "playSoundOnNotification": "Play sound on notification", + "addTag": "Add tag", + "removeTag": "Remove tag", + "tagName": "Tag name", + "createNewTag": "Create new tag", + "hideRoomsInSpaces": "Hide rooms that are in a space", + "possibleByYou": "This release was only possible thanks to your support. FluffyChat remains free, open-source, and entirely community-driven.", + "showThumbnailsInTimeline": "Show thumbnails of images and videos", + "appSubtitle": "Um App de comunicação segura", + "appDescription": "Communicate encrypted over the decentralized [matrix] network in an easy and accessible way for everyone.", + "interactiveVerification": "Interactive verification", + "interactiveVerificationDescription": "If you are next to each other or communicate via a secure channel then you can verify all devices at once by comparing a security number or emojis.", + "countUnverifiedDevices": "{count} unverified devices in the chat.", + "@countUnverifiedDevices": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "encryptedMessage": "Encrypted message", + "unencryptedMessage": "Unencrypted message", + "messageCanOnlyBeReadByUser": "Your message is end to end encrypted and can only be read by this user:", + "messageCanOnlyBeReadByUsers": "Your message is end to end encrypted and can only be read by these users:", + "publicKey": "Public key: {key}", + "@publicKey": { + "type": "String", + "placeholders": { + "key": { + "type": "String" + } + } + }, + "deviceIdentityKey": "Device identity key", + "restoreBootstrapEmptyDevicesDescription": "Please enter your passphrase or recovery key to verify this device and get access to your encrypted message backup.", + "@restoreBootstrapEmptyDevicesDescription": { + "type": "String", + "placeholders": {} + }, + "restoreBootstrapDevicesDescription": "Please pick one of your other devices, to verify this session:", + "@restoreBootstrapDevicesDescription": { + "type": "String", + "placeholders": {} + }, + "resetAccount": "Reset account", + "@resetAccount": { + "type": "String", + "placeholders": {} + }, + "restoreCryptoIdentity": "Restore Crypto Identity", + "@restoreCryptoIdentity": { + "type": "String", + "placeholders": {} + }, + "resetCryptoIdentity": "Reset Crypto Identity", + "@resetCryptoIdentity": { + "type": "String", + "placeholders": {} + }, + "setUpCryptoIdentity": "Set Up Crypto Identity", + "@setUpCryptoIdentity": { + "type": "String", + "placeholders": {} + }, + "waitingForKeys": "Waiting for keys... Please keep the other device active.", + "@waitingForKeys": { + "type": "String", + "placeholders": {} + }, + "noKeysTransmitted": "No keys transmitted. Please try again.", + "@noKeysTransmitted": { + "type": "String", + "placeholders": {} + }, + "unlock": "Unlock", + "@unlock": { + "type": "String", + "placeholders": {} + }, + "openFile": "Open file", + "@openFile": { + "type": "String", + "placeholders": {} + }, + "resetAccountWarning": "When you reset your account you will lose the access to your old messages forever. All your current devices need to be verified again. Please only perform this action when you have no other devices left to verify your session and you have lost your recovery key and passphrase!", + "@resetAccountWarning": { + "type": "String", + "placeholders": {} + }, + "newPassphraseDescription": "FluffyChat uses end to end encryption. To not lose your messages, please choose a strong passphrase to secure your crypto identity and your encrypted message backup.", + "@newPassphraseDescription": { + "type": "String", + "placeholders": {} + }, + "newPassphrase": "New passphrase", + "@newPassphrase": { + "type": "String", + "placeholders": {} + }, + "repeatPassphrase": "Repeat passphrase", + "@repeatPassphrase": { + "type": "String", + "placeholders": {} + }, + "passphrasesMatch": "Passphrases match", + "@passphrasesMatch": { + "type": "String", + "placeholders": {} + }, + "passphraseLengthRequirement": "At least 12 characters long.", + "@passphraseLengthRequirement": { + "type": "String", + "placeholders": {} + }, + "passphraseUpperAndLowerCaseRequirement": "Contains uppercase and lowercase characters.", + "@passphraseUpperAndLowerCaseRequirement": { + "type": "String", + "placeholders": {} + }, + "passphraseSpecialCharactersRequirement": "Contains special characters.", + "@passphraseSpecialCharactersRequirement": { + "type": "String", + "placeholders": {} + }, + "passphraseNumberRequirement": "Contains one numbers.", + "@passphraseNumberRequirement": { + "type": "String", + "placeholders": {} + }, + "storeRecoveryKeyDescription": "Please note down your recovery key to be able to restore your encrypted messages and your crypto identity on.", + "@storeRecoveryKeyDescription": { + "type": "String", + "placeholders": {} + }, + "saveAsFile": "Save as file", + "@saveAsFile": { + "type": "String", + "placeholders": {} + }, + "youAreReadyToStart": "You are ready to start!", + "noUserKeyFound": "No user key found", + "@noUserKeyFound": { + "type": "String", + "placeholders": {} + }, + "knownSince": "Known since: {date}", + "@knownSince": { + "type": "String", + "placeholders": { + "date": { + "type": "String" + } + } + }, + "unsignedDevice": "Unsigned device", + "@unsignedDevice": { + "type": "String", + "placeholders": {} + }, + "signedDevice": "Signed device", + "@signedDevice": { + "type": "String", + "placeholders": {} + }, + "noCurve25519KeyFound": "No curve25519 key found", + "@noCurve25519KeyFound": { + "type": "String", + "placeholders": {} + }, + "messageNotDecryptable": "Message not decryptable", + "today": "Today", + "sending": "Sending", + "generatingThumbnail": "Generating thumbnail", + "encrypting": "Encrypting", + "uploading": "Uploading", + "edited": "(edited)", + "couldNotBeSent": "Could not be sent", + "yesterday": "Yesterday", + "resetRecoveryKey": "Reset recovery key", + "pleaseEnter6Digits": "Please enter 6 digits to enable the app lock.", + "disableAppLock": "Disable app lock", + "disableAppLockAreYouSure": "Are you sure you want to disable the app lock?", + "enableBiometrics": "Enable biometric authentication", + "disableBiometrics": "Disable biometric authentication", + "biometricsDescription": "With biometric authentication you can unlock the app with your face or your fingerprint. The capabilities depend on your device.", + "useAppLock": "Use app lock", + "unlockWithBiometrics": "Unlock with biometric authentication", + "resetPin": "Reset pin", + "forwardCountMessages": "Forward {count, plural, =1{one message} other{{count} messages}}?", + "@forwardCountMessages": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "loadingMessages": "Loading messages...", + "buildDoesNotSupportFirebase": "This build does not support firebase cloud messaging.", + "unableToRegisterDeviceForFirebase": "Unable to register device for firebase cloud messaging.", + "unifiedPushDistributors": "Unified Push distributors:", + "doubleTapToReact": "Double-tap to react", + "doubleTapToReactDescription": "Double-tap a message to react instead of selecting text", + "doubleTapReaction": "Double-tap reaction", + "shareCrashReports": "Share crash reports", + "shareCrashReportsDescription": "Automatically share crash reports with the developers?", + "countActiveCallMembers": "{count} active call members", + "@countActiveCallMembers": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "enterCall": "Enter call", + "videoCallsBetaWarning": "Video calls are a beta feature. There might be bugs or unexpected behavior. We would be happy to hear about your feedback.", + "noDevicesFound": "No devices found", + "incomingCall": "Incoming call", + "videoCall": "Video call", + "voiceCall": "Voice call", + "missedCall": "Missed call", + "callBack": "Call back", + "hangUp": "Hang up", + "waitingForParticipant": "Waiting for participant...", + "decline": "Decline", + "startCall": "Start call", + "selectCamera": "Select camera", + "selectMicrophone": "Select microphone", + "selectSpeaker": "Select speaker", + "toggleMicrophone": "Toggle microphone", + "toggleCamera": "Toggle camera", + "startScreensharing": "Start screensharing", + "stopScreensharing": "Stop screensharing", + "raiseHand": "Raise hand", + "stopRaiseHand": "Stop raise hand", + "preferSpeaker": "Prefer speaker", + "unexpectedErrorOccurded": "Unfortunately, an unexpected error has occurred: {msg}", + "@unexpectedErrorOccurded": { + "placeholders": { + "msg": { + "type": "String" + } + } + }, + "incomingCallFrom": "Incoming call from {user}", + "@incomingCallFrom": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "serverRespondedWithError": "The server has replied with an error message: {error}", + "@serverRespondedWithError": { + "placeholders": { + "error": { + "type": "String" + } + } + }, + "channels": "Channels", + "@channels": { + "type": "String", + "placeholders": {} + }, + "spaces": "Spaces", + "@spaces": { + "type": "String", + "placeholders": {} + }, + "murals": "Murals", + "@murals": { + "type": "String", + "placeholders": {} + }, + "muralsComingSoon": "Murals coming soon", + "@muralsComingSoon": { + "type": "String", + "placeholders": {} + }, + "noChannelsFound": "No channels here", + "@noChannelsFound": { + "type": "String", + "placeholders": {} + }, + "noSpacesFound": "No spaces here", + "@noSpacesFound": { + "type": "String", + "placeholders": {} + }, + "noMuralsFound": "No murals here", + "@noMuralsFound": { + "type": "String", + "placeholders": {} + }, + "selectASpace": "Select a space", + "@selectASpace": { + "type": "String", + "placeholders": {} + }, + "newPost": "New post", + "@newPost": { + "type": "String", + "placeholders": {} + }, + "postPhoto": "Post photo", + "@postPhoto": { + "type": "String", + "placeholders": {} + }, + "postVideo": "Post video", + "@postVideo": { + "type": "String", + "placeholders": {} + }, + "noPostsYet": "No posts yet. Share the first photo or video!", + "@noPostsYet": { + "type": "String", + "placeholders": {} + }, + "noCommentsYet": "No comments yet. Be the first to comment!", + "@noCommentsYet": { + "type": "String", + "placeholders": {} + }, + "like": "Like", + "@like": { + "type": "String", + "placeholders": {} + }, + "unlike": "Unlike", + "@unlike": { + "type": "String", + "placeholders": {} + }, + "editCaption": "Edit caption", + "@editCaption": { + "type": "String", + "placeholders": {} + }, + "captionHint": "Caption", + "@captionHint": { + "type": "String", + "placeholders": {} + }, + "areYouSureDeletePost": "Delete", + "@areYouSureDeletePost": { + "description": "Delete this post from the mural" + } +} diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index 466cc05..994fcc5 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -1,2046 +1,2047 @@ { - "@@last_modified": "2021-08-14 12:41:09.940318", - "copiedToClipboard": "Copiada para a área de transferência", - "@copiedToClipboard": { - "type": "String", - "placeholders": {} - }, - "login": "Iniciar sessão", - "@login": { - "type": "String", - "placeholders": {} - }, - "about": "Sobre", - "@about": { - "type": "String", - "placeholders": {} - }, - "admin": "Admin", - "@admin": { - "type": "String", - "placeholders": {} - }, - "areYouSure": "Tens a certeza?", - "@areYouSure": { - "type": "String", - "placeholders": {} - }, - "notifications": "Notificações", - "@notifications": { - "type": "String", - "placeholders": {} - }, - "account": "Conta", - "@account": { - "type": "String", - "placeholders": {} - }, - "cancel": "Cancelar", - "@cancel": { - "type": "String", - "placeholders": {} - }, - "delete": "Eliminar", - "@delete": { - "type": "String", - "placeholders": {} - }, - "dateAndTimeOfDay": "{date}, {timeOfDay}", - "@dateAndTimeOfDay": { - "type": "String", - "placeholders": { - "date": { - "type": "String" - }, - "timeOfDay": { - "type": "String" - } - } - }, - "help": "Ajuda", - "@help": { - "type": "String", - "placeholders": {} - }, - "messages": "Mensagens", - "@messages": { - "type": "String", - "placeholders": {} - }, - "reason": "Razão", - "@reason": { - "type": "String", - "placeholders": {} - }, - "privacy": "Privacidade", - "@privacy": { - "type": "String", - "placeholders": {} - }, - "openCamera": "Abrir câmara", - "@openCamera": { - "type": "String", - "placeholders": {} - }, - "settings": "Configurações", - "@settings": { - "type": "String", - "placeholders": {} - }, - "logout": "Terminar sessão", - "@logout": { - "type": "String", - "placeholders": {} - }, - "search": "Pesquisar", - "@search": { - "type": "String", - "placeholders": {} - }, - "users": "Utilizadores", - "close": "Fechar", - "@close": { - "type": "String", - "placeholders": {} - }, - "repeatPassword": "Repita a senha", - "notAnImage": "Não é um arquivo de imagem.", - "@showPassword": { - "type": "String", - "placeholders": {} - }, - "@hugContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@darkTheme": { - "type": "String", - "placeholders": {} - }, - "@passphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "@pleaseEnterYourPassword": { - "type": "String", - "placeholders": {} - }, - "@theyMatch": { - "type": "String", - "placeholders": {} - }, - "@obtainingLocation": { - "type": "String", - "placeholders": {} - }, - "@chats": { - "type": "String", - "placeholders": {} - }, - "@unknownDevice": { - "type": "String", - "placeholders": {} - }, - "@emoteShortcode": { - "type": "String", - "placeholders": {} - }, - "@completedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@noEncryptionForPublicRooms": { - "type": "String", - "placeholders": {} - }, - "@directChats": { - "type": "String", - "placeholders": {} - }, - "@inviteContactToGroup": { - "type": "String", - "placeholders": { - "groupName": { - "type": "String" - } - } - }, - "@configureChat": { - "type": "String", - "placeholders": {} - }, - "@reply": { - "type": "String", - "placeholders": {} - }, - "@currentlyActive": { - "type": "String", - "placeholders": {} - }, - "@removeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "@device": { - "type": "String", - "placeholders": {} - }, - "@blockDevice": { - "type": "String", - "placeholders": {} - }, - "@commandHint_html": { - "type": "String", - "description": "Usage hint for the command /html" - }, - "@youAreNoLongerParticipatingInThisChat": { - "type": "String", - "placeholders": {} - }, - "@encryption": { - "type": "String", - "placeholders": {} - }, - "@kicked": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@title": { - "description": "Title for the application", - "type": "String", - "placeholders": {} - }, - "@changeTheNameOfTheGroup": { - "type": "String", - "placeholders": {} - }, - "@synchronizingPleaseWaitCounter": { - "type": "String", - "placeholders": { - "percentage": { - "type": "String" - } - } - }, - "@changedTheChatAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@verifySuccess": { - "type": "String", - "placeholders": {} - }, - "@sendFile": { - "type": "String", - "placeholders": {} - }, - "@newVerificationRequest": { - "type": "String", - "placeholders": {} - }, - "@requestPermission": { - "type": "String", - "placeholders": {} - }, - "@sentAPicture": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@invited": { - "type": "String", - "placeholders": {} - }, - "@commandHint_create": { - "type": "String", - "description": "Usage hint for the command /create" - }, - "@warning": { - "type": "String", - "placeholders": {} - }, - "@password": { - "type": "String", - "placeholders": {} - }, - "@supposedMxid": { - "type": "String", - "placeholders": { - "mxid": { - "type": "String" - } - } - }, - "@goToSpace": { - "type": "String", - "space": {} - }, - "@editDisplayname": { - "type": "String", - "placeholders": {} - }, - "@roomVersion": { - "type": "String", - "placeholders": {} - }, - "@sentAFile": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@videoCall": { - "type": "String", - "placeholders": {} - }, - "@banFromChat": { - "type": "String", - "placeholders": {} - }, - "@noMatrixServer": { - "type": "String", - "placeholders": { - "server1": { - "type": "String" - }, - "server2": { - "type": "String" - } - } - }, - "@userAndOthersAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "count": { - "type": "int" - } - } - }, - "@youInvitedBy": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@userIsTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@openAppToReadMessages": { - "type": "String", - "placeholders": {} - }, - "@sentAVideo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@inviteContact": { - "type": "String", - "placeholders": {} - }, - "@askSSSSSign": { - "type": "String", - "placeholders": {} - }, - "@waitingPartnerAcceptRequest": { - "type": "String", - "placeholders": {} - }, - "@remove": { - "type": "String", - "placeholders": {} - }, - "@writeAMessage": { - "type": "String", - "placeholders": {} - }, - "@changeTheme": { - "type": "String", - "placeholders": {} - }, - "@id": { - "type": "String", - "placeholders": {} - }, - "@changedTheChatDescriptionTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "description": { - "type": "String" - } - } - }, - "@countParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@blocked": { - "type": "String", - "placeholders": {} - }, - "@youKickedAndBanned": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@isReadyForKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@userAndUserAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "username2": { - "type": "String" - } - } - }, - "@pleaseClickOnLink": { - "type": "String", - "placeholders": {} - }, - "@saveFile": { - "type": "String", - "placeholders": {} - }, - "@countReplies": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@versionWithNumber": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "@answeredTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@couldNotDecryptMessage": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "@invitedUsersOnly": { - "type": "String", - "placeholders": {} - }, - "@next": { - "type": "String", - "placeholders": {} - }, - "@pleaseFollowInstructionsOnWeb": { - "type": "String", - "placeholders": {} - }, - "@changedTheGuestAccessRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@editRoomAliases": { - "type": "String", - "placeholders": {} - }, - "@fileName": { - "type": "String", - "placeholders": {} - }, - "@unavailable": { - "type": "String", - "placeholders": {} - }, - "@publicRooms": { - "type": "String", - "placeholders": {} - }, - "@fromTheInvitation": { - "type": "String", - "placeholders": {} - }, - "@sendMessages": { - "type": "String", - "placeholders": {} - }, - "@countChats": { - "type": "String", - "placeholders": { - "chats": { - "type": "int" - } - } - }, - "@incorrectPassphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "@create": { - "type": "String", - "placeholders": {} - }, - "@no": { - "type": "String", - "placeholders": {} - }, - "@alias": { - "type": "String", - "placeholders": {} - }, - "@unpin": { - "type": "String", - "placeholders": {} - }, - "@reportMessage": { - "type": "String", - "placeholders": {} - }, - "@spaceIsPublic": { - "type": "String", - "placeholders": {} - }, - "@userLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "@all": { - "type": "String", - "placeholders": {} - }, - "@removeAllOtherDevices": { - "type": "String", - "placeholders": {} - }, - "@unblockDevice": { - "type": "String", - "placeholders": {} - }, - "@countFiles": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@enableEncryptionWarning": { - "type": "String", - "placeholders": {} - }, - "@inviteText": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "link": { - "type": "String" - } - } - }, - "@shareLocation": { - "type": "String", - "placeholders": {} - }, - "@errorObtainingLocation": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "@passwordRecovery": { - "type": "String", - "placeholders": {} - }, - "@replaceRoomWithNewerVersion": { - "type": "String", - "placeholders": {} - }, - "@voiceMessage": { - "type": "String", - "placeholders": {} - }, - "@badServerLoginTypesException": { - "type": "String", - "placeholders": { - "serverVersions": { - "type": "String" - }, - "supportedVersions": { - "type": "String" - } - } - }, - "@cantOpenUri": { - "type": "String", - "placeholders": { - "uri": { - "type": "String" - } - } - }, - "@hideRedactedEvents": { - "type": "String", - "placeholders": {} - }, - "@online": { - "type": "String", - "placeholders": {} - }, - "@lastActiveAgo": { - "type": "String", - "placeholders": { - "localizedTimeShort": { - "type": "String" - } - } - }, - "@changedTheGuestAccessRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "@weSentYouAnEmail": { - "type": "String", - "placeholders": {} - }, - "@updateInstalled": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "@needPantalaimonWarning": { - "type": "String", - "placeholders": {} - }, - "@edit": { - "type": "String", - "placeholders": {} - }, - "@loadMore": { - "type": "String", - "placeholders": {} - }, - "@noEmotesFound": { - "type": "String", - "placeholders": {} - }, - "@synchronizingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "@passwordHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "@pushRules": { - "type": "String", - "placeholders": {} - }, - "@commandHint_clearcache": { - "type": "String", - "description": "Usage hint for the command /clearcache" - }, - "@loadingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "@copy": { - "type": "String", - "placeholders": {} - }, - "@noUsersFoundWithQuery": { - "type": "String", - "placeholders": { - "query": { - "type": "String" - } - } - }, - "@none": { - "type": "String", - "placeholders": {} - }, - "@enableEncryption": { - "type": "String", - "placeholders": {} - }, - "@rejectedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@userLeftTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@spaceName": { - "type": "String", - "placeholders": {} - }, - "@sentVoiceMessage": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "duration": { - "type": "String" - } - } - }, - "@or": { - "type": "String", - "placeholders": {} - }, - "@whoIsAllowedToJoinThisGroup": { - "type": "String", - "placeholders": {} - }, - "@emptyChat": { - "type": "String", - "placeholders": {} - }, - "@chatBackup": { - "type": "String", - "placeholders": {} - }, - "@redactedBy": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@submit": { - "type": "String", - "placeholders": {} - }, - "@unmuteChat": { - "type": "String", - "placeholders": {} - }, - "@createdTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@redactedAnEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@autoplayImages": { - "type": "String", - "placeholder": {} - }, - "@compareEmojiMatch": { - "type": "String", - "placeholders": {} - }, - "@participant": { - "type": "String", - "placeholders": {} - }, - "@logInTo": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "@yes": { - "type": "String", - "placeholders": {} - }, - "@startedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@username": { - "type": "String", - "placeholders": {} - }, - "@changedTheRoomAliases": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@fileIsTooBigForServer": { - "type": "String", - "placeholders": { - "max": { - "type": "String" - } - } - }, - "@chatDetails": { - "type": "String", - "placeholders": {} - }, - "@changedTheHistoryVisibilityTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "@leftTheChat": { - "type": "String", - "placeholders": {} - }, - "@verified": { - "type": "String", - "placeholders": {} - }, - "@setStatus": { - "type": "String", - "placeholders": {} - }, - "@groupWith": { - "type": "String", - "placeholders": { - "displayname": { - "type": "String" - } - } - }, - "@adminLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "@newMessageInFluffyChat": { - "type": "String", - "placeholders": {} - }, - "@downloadFile": { - "type": "String", - "placeholders": {} - }, - "@deviceId": { - "type": "String", - "placeholders": {} - }, - "@register": { - "type": "String", - "placeholders": {} - }, - "@changedTheJoinRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "joinRules": { - "type": "String" - } - } - }, - "@recording": { - "type": "String", - "placeholders": {} - }, - "@changedTheChatPermissions": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@moderator": { - "type": "String", - "placeholders": {} - }, - "@acceptedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@waitingPartnerEmoji": { - "type": "String", - "placeholders": {} - }, - "@channelCorruptedDecryptError": { - "type": "String", - "placeholders": {} - }, - "@tryToSendAgain": { - "type": "String", - "placeholders": {} - }, - "@guestsCanJoin": { - "type": "String", - "placeholders": {} - }, - "@aboutHomeserver": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "@copyToClipboard": { - "type": "String", - "placeholders": {} - }, - "@locationPermissionDeniedNotice": { - "type": "String", - "placeholders": {} - }, - "@send": { - "type": "String", - "placeholders": {} - }, - "@hasWithdrawnTheInvitationFor": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@visibleForAllParticipants": { - "type": "String", - "placeholders": {} - }, - "@noRoomsFound": { - "type": "String", - "placeholders": {} - }, - "@mute": { - "description": "This should be a very short string because there is not much space in the button!" - }, - "@banned": { - "type": "String", - "placeholders": {} - }, - "@sendAsText": { + "@@last_modified": "2021-08-14 12:41:09.940318", + "copiedToClipboard": "Copiada para a área de transferência", + "@copiedToClipboard": { + "type": "String", + "placeholders": {} + }, + "login": "Iniciar sessão", + "@login": { + "type": "String", + "placeholders": {} + }, + "about": "Sobre", + "@about": { + "type": "String", + "placeholders": {} + }, + "admin": "Admin", + "@admin": { + "type": "String", + "placeholders": {} + }, + "areYouSure": "Tens a certeza?", + "@areYouSure": { + "type": "String", + "placeholders": {} + }, + "notifications": "Notificações", + "@notifications": { + "type": "String", + "placeholders": {} + }, + "account": "Conta", + "@account": { + "type": "String", + "placeholders": {} + }, + "cancel": "Cancelar", + "@cancel": { + "type": "String", + "placeholders": {} + }, + "delete": "Eliminar", + "@delete": { + "type": "String", + "placeholders": {} + }, + "dateAndTimeOfDay": "{date}, {timeOfDay}", + "@dateAndTimeOfDay": { + "type": "String", + "placeholders": { + "date": { "type": "String" - }, - "@changedTheChatNameTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "chatname": { - "type": "String" - } - } - }, - "@commandInvalid": { + }, + "timeOfDay": { "type": "String" - }, - "@setAsCanonicalAlias": { - "type": "String", - "placeholders": {} - }, - "@whyDoYouWantToReportThis": { - "type": "String", - "placeholders": {} - }, - "@locationDisabledNotice": { - "type": "String", - "placeholders": {} - }, - "@removedBy": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@changedTheRoomInvitationLink": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@newChat": { - "type": "String", - "placeholders": {} - }, - "@commandHint_plain": { - "type": "String", - "description": "Usage hint for the command /plain" - }, - "@emoteSettings": { - "type": "String", - "placeholders": {} - }, - "@guestsAreForbidden": { - "type": "String", - "placeholders": {} - }, - "@mention": { - "type": "String", - "placeholders": {} - }, - "@openInMaps": { - "type": "String", - "placeholders": {} - }, - "@emoteExists": { - "type": "String", - "placeholders": {} - }, - "@redactedByBecause": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "reason": { - "type": "String" - } - } - }, - "@isTyping": { - "type": "String", - "placeholders": {} - }, - "@youHaveWithdrawnTheInvitationFor": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@chat": { - "type": "String", - "placeholders": {} - }, - "@group": { - "type": "String", - "placeholders": {} - }, - "@leave": { - "type": "String", - "placeholders": {} - }, - "@skip": { - "type": "String", - "placeholders": {} - }, - "@roomHasBeenUpgraded": { - "type": "String", - "placeholders": {} - }, - "@enableEmotesGlobally": { - "type": "String", - "placeholders": {} - }, - "@pleaseChooseAPasscode": { - "type": "String", - "placeholders": {} - }, - "@noPasswordRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "@changedTheProfileAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@allChats": { - "type": "String", - "placeholders": {} - }, - "@commandHint_send": { - "type": "String", - "description": "Usage hint for the command /send" - }, - "@onlineKeyBackupEnabled": { - "type": "String", - "placeholders": {} - }, - "@unbannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@youInvitedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@kickedAndBanned": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@noConnectionToTheServer": { - "type": "String", - "placeholders": {} - }, - "@fileHasBeenSavedAt": { - "type": "String", - "placeholders": { - "path": { - "type": "String" - } - } - }, - "@spaceMemberOfCanKnock": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "@commandMissing": { - "type": "String", - "placeholders": { - "command": { - "type": "String" - } - }, - "description": "State that {command} is not a valid /command." - }, - "@redactMessage": { - "type": "String", - "placeholders": {} - }, - "@forward": { - "type": "String", - "placeholders": {} - }, - "@commandHint_discardsession": { - "type": "String", - "description": "Usage hint for the command /discardsession" - }, - "@chooseAStrongPassword": { - "type": "String", - "placeholders": {} - }, - "@yourPublicKey": { - "type": "String", - "placeholders": {} - }, - "@tooManyRequestsWarning": { - "type": "String", - "placeholders": {} - }, - "@invitedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@kickFromChat": { - "type": "String", - "placeholders": {} - }, - "@commandHint_myroomnick": { - "type": "String", - "description": "Usage hint for the command /myroomnick" - }, - "@offline": { - "type": "String", - "placeholders": {} - }, - "@noPermission": { - "type": "String", - "placeholders": {} - }, - "@activatedEndToEndEncryption": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@status": { - "type": "String", - "placeholders": {} - }, - "@compareNumbersMatch": { - "type": "String", - "placeholders": {} - }, - "@invitedBy": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@groupIsPublic": { - "type": "String", - "placeholders": {} - }, - "@verifyStart": { - "type": "String", - "placeholders": {} - }, - "@joinRoom": { - "type": "String", - "placeholders": {} - }, - "@fluffychat": { - "type": "String", - "placeholders": {} - }, - "@sentCallInformations": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@googlyEyesContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@youBannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@theyDontMatch": { - "type": "String", - "placeholders": {} - }, - "@youHaveBeenBannedFromThisChat": { - "type": "String", - "placeholders": {} - }, - "@displaynameHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "@sentAnAudio": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@editRoomAvatar": { - "type": "String", - "placeholders": {} - }, - "@encrypted": { - "type": "String", - "placeholders": {} - }, - "@chatSearchedUntil": { - "type": "String", - "placeholders": { - "time": { - "type": "String" - } - } - }, - "@sessionLostBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "@commandHint_leave": { - "type": "String", - "description": "Usage hint for the command /leave" - }, - "@thereAreCountUsersBlocked": { - "type": "String", - "count": {} - }, - "@commandHint_myroomavatar": { - "type": "String", - "description": "Usage hint for the command /myroomavatar" - }, - "@hasKnocked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@appLock": { - "type": "String", - "placeholders": {} - }, - "@commandHint_react": { - "type": "String", - "description": "Usage hint for the command /react" - }, - "@changedTheHistoryVisibility": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@commandHint_me": { - "type": "String", - "description": "Usage hint for the command /me" - }, - "@pleaseEnterYourUsername": { - "type": "String", - "placeholders": {} - }, - "@encryptionNotEnabled": { - "type": "String", - "placeholders": {} - }, - "@wrongPinEntered": { - "type": "String", - "placeholders": { - "seconds": { - "type": "int" - } - } - }, - "@lightTheme": { - "type": "String", - "placeholders": {} - }, - "@verifyTitle": { - "type": "String", - "placeholders": {} - }, - "@enterAnEmailAddress": { - "type": "String", - "placeholders": {} - }, - "@commandHint_kick": { - "type": "String", - "description": "Usage hint for the command /kick" - }, - "@createNewSpace": { - "type": "String", - "placeholders": {} - }, - "@commandHint_unban": { - "type": "String", - "description": "Usage hint for the command /unban" - }, - "@unknownEncryptionAlgorithm": { - "type": "String", - "placeholders": {} - }, - "@commandHint_ban": { - "type": "String", - "description": "Usage hint for the command /ban" - }, - "@wasDirectChatDisplayName": { - "type": "String", - "placeholders": { - "oldDisplayName": { - "type": "String" - } - } - }, - "@defaultPermissionLevel": { - "type": "String", - "placeholders": {} - }, - "@numUsersTyping": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@fontSize": { - "type": "String", - "placeholders": {} - }, - "@whoCanPerformWhichAction": { - "type": "String", - "placeholders": {} - }, - "@iHaveClickedOnLink": { - "type": "String", - "placeholders": {} - }, - "@you": { - "type": "String", - "placeholders": {} - }, - "@commandHint_op": { - "type": "String", - "description": "Usage hint for the command /op" - }, - "@commandHint_join": { - "type": "String", - "description": "Usage hint for the command /join" - }, - "@sourceCode": { - "type": "String", - "placeholders": {} - }, - "@commandHint_invite": { - "type": "String", - "description": "Usage hint for the command /invite" - }, - "@userSentUnknownEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "type": { - "type": "String" - } - } - }, - "@unknownPushRule": { - "type": "String", - "placeholders": { - "rule": { - "type": "String" - } - } - }, - "@contactHasBeenInvitedToTheGroup": { - "type": "String", - "placeholders": {} - }, - "@youKicked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@areYouSureYouWantToLogout": { - "type": "String", - "placeholders": {} - }, - "@changedTheJoinRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@groups": { - "type": "String", - "placeholders": {} - }, - "@reactedWith": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "reaction": { - "type": "String" - } - } - }, - "@bannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "@oopsSomethingWentWrong": { - "type": "String", - "placeholders": {} - }, - "@loadCountMoreParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@cuddleContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@askVerificationRequest": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@waitingPartnerNumbers": { - "type": "String", - "placeholders": {} - }, - "@addEmail": { - "type": "String", - "placeholders": {} - }, - "@emoteKeyboardNoRecents": { - "type": "String", - "placeholders": {} - }, - "@startedACall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@acceptedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@emoteInvalid": { - "type": "String", - "placeholders": {} - }, - "@systemTheme": { - "type": "String", - "placeholders": {} - }, - "@deleteMessage": { - "type": "String", - "placeholders": {} - }, - "@visibilityOfTheChatHistory": { - "type": "String", - "placeholders": {} - }, - "@changeTheHomeserver": { - "type": "String", - "placeholders": {} - }, - "@play": { - "type": "String", - "placeholders": { - "fileName": { - "type": "String" - } - } - }, - "@changeDeviceName": { - "type": "String", - "placeholders": {} - }, - "@chatCanBeDiscoveredViaSearchOnServer": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "@passwordForgotten": { - "type": "String", - "placeholders": {} - }, - "@canceledKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@statusExampleMessage": { - "type": "String", - "placeholders": {} - }, - "@security": { - "type": "String", - "placeholders": {} - }, - "@sendAudio": { - "type": "String", - "placeholders": {} - }, - "@sentASticker": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@commandHint_dm": { - "type": "String", - "description": "Usage hint for the command /dm" - }, - "@reject": { - "type": "String", - "placeholders": {} - }, - "@restoreSessionBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "@editBlockedServers": { - "type": "String", - "placeholders": {} - }, - "@oopsPushError": { - "type": "String", - "placeholders": {} - }, - "@youUnbannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@deactivateAccountWarning": { - "type": "String", - "placeholders": {} - }, - "@archive": { - "type": "String", - "placeholders": {} - }, - "@joinedTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@visibleForEveryone": { - "type": "String", - "placeholders": {} - }, - "@changePassword": { - "type": "String", - "placeholders": {} - }, - "@devices": { - "type": "String", - "placeholders": {} - }, - "@accept": { - "type": "String", - "placeholders": {} - }, - "@unknownEvent": { - "type": "String", - "placeholders": { - "type": { - "type": "String" - } - } - }, - "@appWantsToUseForLogin": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "@unreadChatsInApp": { - "type": "String", - "placeholders": { - "appname": { - "type": "String" - }, - "unread": { - "type": "String" - } - } - }, - "@pleaseEnterYourPin": { - "type": "String", - "placeholders": {} - }, - "@countVotes": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@share": { - "type": "String", - "placeholders": {} - }, - "@moderatorLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "@changeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "@sendImage": { - "type": "String", - "placeholders": {} - }, - "@sendImages": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@contentHasBeenReported": { - "type": "String", - "placeholders": {} - }, - "@fromJoining": { - "type": "String", - "placeholders": {} - }, - "@verify": { - "type": "String", - "placeholders": {} - }, - "@sendVideo": { - "type": "String", - "placeholders": {} - }, - "@startedAPoll": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@sendAMessage": { - "type": "String", - "placeholders": {} - }, - "@pin": { - "type": "String", - "placeholders": {} - }, - "@deleteAccount": { - "type": "String", - "placeholders": {} - }, - "@muteChat": { - "type": "String", - "placeholders": {} - }, - "@countInvited": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@spaceMemberOf": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "@anyoneCanJoin": { - "type": "String", - "placeholders": {} - }, - "@emotePacks": { - "type": "String", - "placeholders": {} - }, - "@requestedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@endedTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@searchIn": { - "type": "String", - "placeholders": { - "chat": { - "type": "String" - } - } - }, - "@noGoogleServicesWarning": { - "type": "String", - "placeholders": {} - }, - "@changedTheDisplaynameTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "displayname": { - "type": "String" - } - } - }, - "@areGuestsAllowedToJoin": { - "type": "String", - "placeholders": {} - }, - "@pickImage": { - "type": "String", - "placeholders": {} - }, - "@withTheseAddressesRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "@ok": { - "type": "String", - "placeholders": {} - }, - "@sharedTheLocation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@unbanFromChat": { - "type": "String", - "placeholders": {} - }, - "newPost": "Nova publicação", - "@newPost": { - "type": "String", - "placeholders": {} - }, - "postPhoto": "Postar foto", - "@postPhoto": { - "type": "String", - "placeholders": {} - }, - "postVideo": "Postar vídeo", - "@postVideo": { - "type": "String", - "placeholders": {} - }, - "noPostsYet": "Nenhuma publicação ainda. Compartilhe a primeira foto ou vídeo!", - "@noPostsYet": { - "type": "String", - "placeholders": {} - }, - "noCommentsYet": "Nenhum comentário ainda. Seja o primeiro a comentar!", - "@noCommentsYet": { - "type": "String", - "placeholders": {} - }, - "like": "Curtir", - "@like": { - "type": "String", - "placeholders": {} - }, - "unlike": "Descurtir", - "@unlike": { - "type": "String", - "placeholders": {} - }, - "editCaption": "Editar legenda", - "@editCaption": { - "type": "String", - "placeholders": {} - }, - "captionHint": "Legenda", - "@captionHint": { - "type": "String", - "placeholders": {} + } } -} \ No newline at end of file + }, + "help": "Ajuda", + "@help": { + "type": "String", + "placeholders": {} + }, + "messages": "Mensagens", + "@messages": { + "type": "String", + "placeholders": {} + }, + "reason": "Razão", + "@reason": { + "type": "String", + "placeholders": {} + }, + "privacy": "Privacidade", + "@privacy": { + "type": "String", + "placeholders": {} + }, + "openCamera": "Abrir câmara", + "@openCamera": { + "type": "String", + "placeholders": {} + }, + "settings": "Configurações", + "@settings": { + "type": "String", + "placeholders": {} + }, + "logout": "Terminar sessão", + "@logout": { + "type": "String", + "placeholders": {} + }, + "search": "Pesquisar", + "@search": { + "type": "String", + "placeholders": {} + }, + "users": "Utilizadores", + "close": "Fechar", + "@close": { + "type": "String", + "placeholders": {} + }, + "repeatPassword": "Repita a senha", + "notAnImage": "Não é um arquivo de imagem.", + "@showPassword": { + "type": "String", + "placeholders": {} + }, + "@hugContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@darkTheme": { + "type": "String", + "placeholders": {} + }, + "@passphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "@pleaseEnterYourPassword": { + "type": "String", + "placeholders": {} + }, + "@theyMatch": { + "type": "String", + "placeholders": {} + }, + "@obtainingLocation": { + "type": "String", + "placeholders": {} + }, + "@chats": { + "type": "String", + "placeholders": {} + }, + "@unknownDevice": { + "type": "String", + "placeholders": {} + }, + "@emoteShortcode": { + "type": "String", + "placeholders": {} + }, + "@completedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@noEncryptionForPublicRooms": { + "type": "String", + "placeholders": {} + }, + "@directChats": { + "type": "String", + "placeholders": {} + }, + "@inviteContactToGroup": { + "type": "String", + "placeholders": { + "groupName": { + "type": "String" + } + } + }, + "@configureChat": { + "type": "String", + "placeholders": {} + }, + "@reply": { + "type": "String", + "placeholders": {} + }, + "@currentlyActive": { + "type": "String", + "placeholders": {} + }, + "@removeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "@device": { + "type": "String", + "placeholders": {} + }, + "@blockDevice": { + "type": "String", + "placeholders": {} + }, + "@commandHint_html": { + "type": "String", + "description": "Usage hint for the command /html" + }, + "@youAreNoLongerParticipatingInThisChat": { + "type": "String", + "placeholders": {} + }, + "@encryption": { + "type": "String", + "placeholders": {} + }, + "@kicked": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@title": { + "description": "Title for the application", + "type": "String", + "placeholders": {} + }, + "@changeTheNameOfTheGroup": { + "type": "String", + "placeholders": {} + }, + "@synchronizingPleaseWaitCounter": { + "type": "String", + "placeholders": { + "percentage": { + "type": "String" + } + } + }, + "@changedTheChatAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@verifySuccess": { + "type": "String", + "placeholders": {} + }, + "@sendFile": { + "type": "String", + "placeholders": {} + }, + "@newVerificationRequest": { + "type": "String", + "placeholders": {} + }, + "@requestPermission": { + "type": "String", + "placeholders": {} + }, + "@sentAPicture": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@invited": { + "type": "String", + "placeholders": {} + }, + "@commandHint_create": { + "type": "String", + "description": "Usage hint for the command /create" + }, + "@warning": { + "type": "String", + "placeholders": {} + }, + "@password": { + "type": "String", + "placeholders": {} + }, + "@supposedMxid": { + "type": "String", + "placeholders": { + "mxid": { + "type": "String" + } + } + }, + "@goToSpace": { + "type": "String", + "space": {} + }, + "@editDisplayname": { + "type": "String", + "placeholders": {} + }, + "@roomVersion": { + "type": "String", + "placeholders": {} + }, + "@sentAFile": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@videoCall": { + "type": "String", + "placeholders": {} + }, + "@banFromChat": { + "type": "String", + "placeholders": {} + }, + "@noMatrixServer": { + "type": "String", + "placeholders": { + "server1": { + "type": "String" + }, + "server2": { + "type": "String" + } + } + }, + "@userAndOthersAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "count": { + "type": "int" + } + } + }, + "@youInvitedBy": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@userIsTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@openAppToReadMessages": { + "type": "String", + "placeholders": {} + }, + "@sentAVideo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@inviteContact": { + "type": "String", + "placeholders": {} + }, + "@askSSSSSign": { + "type": "String", + "placeholders": {} + }, + "@waitingPartnerAcceptRequest": { + "type": "String", + "placeholders": {} + }, + "@remove": { + "type": "String", + "placeholders": {} + }, + "@writeAMessage": { + "type": "String", + "placeholders": {} + }, + "@changeTheme": { + "type": "String", + "placeholders": {} + }, + "@id": { + "type": "String", + "placeholders": {} + }, + "@changedTheChatDescriptionTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "description": { + "type": "String" + } + } + }, + "@countParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@blocked": { + "type": "String", + "placeholders": {} + }, + "@youKickedAndBanned": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@isReadyForKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@userAndUserAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "username2": { + "type": "String" + } + } + }, + "@pleaseClickOnLink": { + "type": "String", + "placeholders": {} + }, + "@saveFile": { + "type": "String", + "placeholders": {} + }, + "@countReplies": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@versionWithNumber": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "@answeredTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@couldNotDecryptMessage": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "@invitedUsersOnly": { + "type": "String", + "placeholders": {} + }, + "@next": { + "type": "String", + "placeholders": {} + }, + "@pleaseFollowInstructionsOnWeb": { + "type": "String", + "placeholders": {} + }, + "@changedTheGuestAccessRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@editRoomAliases": { + "type": "String", + "placeholders": {} + }, + "@fileName": { + "type": "String", + "placeholders": {} + }, + "@unavailable": { + "type": "String", + "placeholders": {} + }, + "@publicRooms": { + "type": "String", + "placeholders": {} + }, + "@fromTheInvitation": { + "type": "String", + "placeholders": {} + }, + "@sendMessages": { + "type": "String", + "placeholders": {} + }, + "@countChats": { + "type": "String", + "placeholders": { + "chats": { + "type": "int" + } + } + }, + "@incorrectPassphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "@create": { + "type": "String", + "placeholders": {} + }, + "@no": { + "type": "String", + "placeholders": {} + }, + "@alias": { + "type": "String", + "placeholders": {} + }, + "@unpin": { + "type": "String", + "placeholders": {} + }, + "@reportMessage": { + "type": "String", + "placeholders": {} + }, + "@spaceIsPublic": { + "type": "String", + "placeholders": {} + }, + "@userLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "@all": { + "type": "String", + "placeholders": {} + }, + "@removeAllOtherDevices": { + "type": "String", + "placeholders": {} + }, + "@unblockDevice": { + "type": "String", + "placeholders": {} + }, + "@countFiles": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@enableEncryptionWarning": { + "type": "String", + "placeholders": {} + }, + "@inviteText": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "link": { + "type": "String" + } + } + }, + "@shareLocation": { + "type": "String", + "placeholders": {} + }, + "@errorObtainingLocation": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "@passwordRecovery": { + "type": "String", + "placeholders": {} + }, + "@replaceRoomWithNewerVersion": { + "type": "String", + "placeholders": {} + }, + "@voiceMessage": { + "type": "String", + "placeholders": {} + }, + "@badServerLoginTypesException": { + "type": "String", + "placeholders": { + "serverVersions": { + "type": "String" + }, + "supportedVersions": { + "type": "String" + } + } + }, + "@cantOpenUri": { + "type": "String", + "placeholders": { + "uri": { + "type": "String" + } + } + }, + "@hideRedactedEvents": { + "type": "String", + "placeholders": {} + }, + "@online": { + "type": "String", + "placeholders": {} + }, + "@lastActiveAgo": { + "type": "String", + "placeholders": { + "localizedTimeShort": { + "type": "String" + } + } + }, + "@changedTheGuestAccessRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "@weSentYouAnEmail": { + "type": "String", + "placeholders": {} + }, + "@updateInstalled": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "@needPantalaimonWarning": { + "type": "String", + "placeholders": {} + }, + "@edit": { + "type": "String", + "placeholders": {} + }, + "@loadMore": { + "type": "String", + "placeholders": {} + }, + "@noEmotesFound": { + "type": "String", + "placeholders": {} + }, + "@synchronizingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "@passwordHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "@pushRules": { + "type": "String", + "placeholders": {} + }, + "@commandHint_clearcache": { + "type": "String", + "description": "Usage hint for the command /clearcache" + }, + "@loadingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "@copy": { + "type": "String", + "placeholders": {} + }, + "@noUsersFoundWithQuery": { + "type": "String", + "placeholders": { + "query": { + "type": "String" + } + } + }, + "@none": { + "type": "String", + "placeholders": {} + }, + "@enableEncryption": { + "type": "String", + "placeholders": {} + }, + "@rejectedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@userLeftTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@spaceName": { + "type": "String", + "placeholders": {} + }, + "@sentVoiceMessage": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "@or": { + "type": "String", + "placeholders": {} + }, + "@whoIsAllowedToJoinThisGroup": { + "type": "String", + "placeholders": {} + }, + "@emptyChat": { + "type": "String", + "placeholders": {} + }, + "@chatBackup": { + "type": "String", + "placeholders": {} + }, + "@redactedBy": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@submit": { + "type": "String", + "placeholders": {} + }, + "@unmuteChat": { + "type": "String", + "placeholders": {} + }, + "@createdTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@redactedAnEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@autoplayImages": { + "type": "String", + "placeholder": {} + }, + "@compareEmojiMatch": { + "type": "String", + "placeholders": {} + }, + "@participant": { + "type": "String", + "placeholders": {} + }, + "@logInTo": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "@yes": { + "type": "String", + "placeholders": {} + }, + "@startedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@username": { + "type": "String", + "placeholders": {} + }, + "@changedTheRoomAliases": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@fileIsTooBigForServer": { + "type": "String", + "placeholders": { + "max": { + "type": "String" + } + } + }, + "@chatDetails": { + "type": "String", + "placeholders": {} + }, + "@changedTheHistoryVisibilityTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "@leftTheChat": { + "type": "String", + "placeholders": {} + }, + "@verified": { + "type": "String", + "placeholders": {} + }, + "@setStatus": { + "type": "String", + "placeholders": {} + }, + "@groupWith": { + "type": "String", + "placeholders": { + "displayname": { + "type": "String" + } + } + }, + "@adminLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "@newMessageInFluffyChat": { + "type": "String", + "placeholders": {} + }, + "@downloadFile": { + "type": "String", + "placeholders": {} + }, + "@deviceId": { + "type": "String", + "placeholders": {} + }, + "@register": { + "type": "String", + "placeholders": {} + }, + "@changedTheJoinRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "joinRules": { + "type": "String" + } + } + }, + "@recording": { + "type": "String", + "placeholders": {} + }, + "@changedTheChatPermissions": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@moderator": { + "type": "String", + "placeholders": {} + }, + "@acceptedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@waitingPartnerEmoji": { + "type": "String", + "placeholders": {} + }, + "@channelCorruptedDecryptError": { + "type": "String", + "placeholders": {} + }, + "@tryToSendAgain": { + "type": "String", + "placeholders": {} + }, + "@guestsCanJoin": { + "type": "String", + "placeholders": {} + }, + "@aboutHomeserver": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "@copyToClipboard": { + "type": "String", + "placeholders": {} + }, + "@locationPermissionDeniedNotice": { + "type": "String", + "placeholders": {} + }, + "@send": { + "type": "String", + "placeholders": {} + }, + "@hasWithdrawnTheInvitationFor": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@visibleForAllParticipants": { + "type": "String", + "placeholders": {} + }, + "@noRoomsFound": { + "type": "String", + "placeholders": {} + }, + "@mute": { + "description": "This should be a very short string because there is not much space in the button!" + }, + "@banned": { + "type": "String", + "placeholders": {} + }, + "@sendAsText": { + "type": "String" + }, + "@changedTheChatNameTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "chatname": { + "type": "String" + } + } + }, + "@commandInvalid": { + "type": "String" + }, + "@setAsCanonicalAlias": { + "type": "String", + "placeholders": {} + }, + "@whyDoYouWantToReportThis": { + "type": "String", + "placeholders": {} + }, + "@locationDisabledNotice": { + "type": "String", + "placeholders": {} + }, + "@removedBy": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@changedTheRoomInvitationLink": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@newChat": { + "type": "String", + "placeholders": {} + }, + "@commandHint_plain": { + "type": "String", + "description": "Usage hint for the command /plain" + }, + "@emoteSettings": { + "type": "String", + "placeholders": {} + }, + "@guestsAreForbidden": { + "type": "String", + "placeholders": {} + }, + "@mention": { + "type": "String", + "placeholders": {} + }, + "@openInMaps": { + "type": "String", + "placeholders": {} + }, + "@emoteExists": { + "type": "String", + "placeholders": {} + }, + "@redactedByBecause": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "reason": { + "type": "String" + } + } + }, + "@isTyping": { + "type": "String", + "placeholders": {} + }, + "@youHaveWithdrawnTheInvitationFor": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@chat": { + "type": "String", + "placeholders": {} + }, + "@group": { + "type": "String", + "placeholders": {} + }, + "@leave": { + "type": "String", + "placeholders": {} + }, + "@skip": { + "type": "String", + "placeholders": {} + }, + "@roomHasBeenUpgraded": { + "type": "String", + "placeholders": {} + }, + "@enableEmotesGlobally": { + "type": "String", + "placeholders": {} + }, + "@pleaseChooseAPasscode": { + "type": "String", + "placeholders": {} + }, + "@noPasswordRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "@changedTheProfileAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@allChats": { + "type": "String", + "placeholders": {} + }, + "@commandHint_send": { + "type": "String", + "description": "Usage hint for the command /send" + }, + "@onlineKeyBackupEnabled": { + "type": "String", + "placeholders": {} + }, + "@unbannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@youInvitedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@kickedAndBanned": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@noConnectionToTheServer": { + "type": "String", + "placeholders": {} + }, + "@fileHasBeenSavedAt": { + "type": "String", + "placeholders": { + "path": { + "type": "String" + } + } + }, + "@spaceMemberOfCanKnock": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "@commandMissing": { + "type": "String", + "placeholders": { + "command": { + "type": "String" + } + }, + "description": "State that {command} is not a valid /command." + }, + "@redactMessage": { + "type": "String", + "placeholders": {} + }, + "@forward": { + "type": "String", + "placeholders": {} + }, + "@commandHint_discardsession": { + "type": "String", + "description": "Usage hint for the command /discardsession" + }, + "@chooseAStrongPassword": { + "type": "String", + "placeholders": {} + }, + "@yourPublicKey": { + "type": "String", + "placeholders": {} + }, + "@tooManyRequestsWarning": { + "type": "String", + "placeholders": {} + }, + "@invitedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@kickFromChat": { + "type": "String", + "placeholders": {} + }, + "@commandHint_myroomnick": { + "type": "String", + "description": "Usage hint for the command /myroomnick" + }, + "@offline": { + "type": "String", + "placeholders": {} + }, + "@noPermission": { + "type": "String", + "placeholders": {} + }, + "@activatedEndToEndEncryption": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@status": { + "type": "String", + "placeholders": {} + }, + "@compareNumbersMatch": { + "type": "String", + "placeholders": {} + }, + "@invitedBy": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@groupIsPublic": { + "type": "String", + "placeholders": {} + }, + "@verifyStart": { + "type": "String", + "placeholders": {} + }, + "@joinRoom": { + "type": "String", + "placeholders": {} + }, + "@fluffychat": { + "type": "String", + "placeholders": {} + }, + "@sentCallInformations": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@googlyEyesContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@youBannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@theyDontMatch": { + "type": "String", + "placeholders": {} + }, + "@youHaveBeenBannedFromThisChat": { + "type": "String", + "placeholders": {} + }, + "@displaynameHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "@sentAnAudio": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@editRoomAvatar": { + "type": "String", + "placeholders": {} + }, + "@encrypted": { + "type": "String", + "placeholders": {} + }, + "@chatSearchedUntil": { + "type": "String", + "placeholders": { + "time": { + "type": "String" + } + } + }, + "@sessionLostBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "@commandHint_leave": { + "type": "String", + "description": "Usage hint for the command /leave" + }, + "@thereAreCountUsersBlocked": { + "type": "String", + "count": {} + }, + "@commandHint_myroomavatar": { + "type": "String", + "description": "Usage hint for the command /myroomavatar" + }, + "@hasKnocked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@appLock": { + "type": "String", + "placeholders": {} + }, + "@commandHint_react": { + "type": "String", + "description": "Usage hint for the command /react" + }, + "@changedTheHistoryVisibility": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@commandHint_me": { + "type": "String", + "description": "Usage hint for the command /me" + }, + "@pleaseEnterYourUsername": { + "type": "String", + "placeholders": {} + }, + "@encryptionNotEnabled": { + "type": "String", + "placeholders": {} + }, + "@wrongPinEntered": { + "type": "String", + "placeholders": { + "seconds": { + "type": "int" + } + } + }, + "@lightTheme": { + "type": "String", + "placeholders": {} + }, + "@verifyTitle": { + "type": "String", + "placeholders": {} + }, + "@enterAnEmailAddress": { + "type": "String", + "placeholders": {} + }, + "@commandHint_kick": { + "type": "String", + "description": "Usage hint for the command /kick" + }, + "@createNewSpace": { + "type": "String", + "placeholders": {} + }, + "@commandHint_unban": { + "type": "String", + "description": "Usage hint for the command /unban" + }, + "@unknownEncryptionAlgorithm": { + "type": "String", + "placeholders": {} + }, + "@commandHint_ban": { + "type": "String", + "description": "Usage hint for the command /ban" + }, + "@wasDirectChatDisplayName": { + "type": "String", + "placeholders": { + "oldDisplayName": { + "type": "String" + } + } + }, + "@defaultPermissionLevel": { + "type": "String", + "placeholders": {} + }, + "@numUsersTyping": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@fontSize": { + "type": "String", + "placeholders": {} + }, + "@whoCanPerformWhichAction": { + "type": "String", + "placeholders": {} + }, + "@iHaveClickedOnLink": { + "type": "String", + "placeholders": {} + }, + "@you": { + "type": "String", + "placeholders": {} + }, + "@commandHint_op": { + "type": "String", + "description": "Usage hint for the command /op" + }, + "@commandHint_join": { + "type": "String", + "description": "Usage hint for the command /join" + }, + "@sourceCode": { + "type": "String", + "placeholders": {} + }, + "@commandHint_invite": { + "type": "String", + "description": "Usage hint for the command /invite" + }, + "@userSentUnknownEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "type": { + "type": "String" + } + } + }, + "@unknownPushRule": { + "type": "String", + "placeholders": { + "rule": { + "type": "String" + } + } + }, + "@contactHasBeenInvitedToTheGroup": { + "type": "String", + "placeholders": {} + }, + "@youKicked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@areYouSureYouWantToLogout": { + "type": "String", + "placeholders": {} + }, + "@changedTheJoinRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@groups": { + "type": "String", + "placeholders": {} + }, + "@reactedWith": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "reaction": { + "type": "String" + } + } + }, + "@bannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "@oopsSomethingWentWrong": { + "type": "String", + "placeholders": {} + }, + "@loadCountMoreParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@cuddleContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@askVerificationRequest": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@waitingPartnerNumbers": { + "type": "String", + "placeholders": {} + }, + "@addEmail": { + "type": "String", + "placeholders": {} + }, + "@emoteKeyboardNoRecents": { + "type": "String", + "placeholders": {} + }, + "@startedACall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@acceptedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@emoteInvalid": { + "type": "String", + "placeholders": {} + }, + "@systemTheme": { + "type": "String", + "placeholders": {} + }, + "@deleteMessage": { + "type": "String", + "placeholders": {} + }, + "@visibilityOfTheChatHistory": { + "type": "String", + "placeholders": {} + }, + "@changeTheHomeserver": { + "type": "String", + "placeholders": {} + }, + "@play": { + "type": "String", + "placeholders": { + "fileName": { + "type": "String" + } + } + }, + "@changeDeviceName": { + "type": "String", + "placeholders": {} + }, + "@chatCanBeDiscoveredViaSearchOnServer": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "@passwordForgotten": { + "type": "String", + "placeholders": {} + }, + "@canceledKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@statusExampleMessage": { + "type": "String", + "placeholders": {} + }, + "@security": { + "type": "String", + "placeholders": {} + }, + "@sendAudio": { + "type": "String", + "placeholders": {} + }, + "@sentASticker": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@commandHint_dm": { + "type": "String", + "description": "Usage hint for the command /dm" + }, + "@reject": { + "type": "String", + "placeholders": {} + }, + "@restoreSessionBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "@editBlockedServers": { + "type": "String", + "placeholders": {} + }, + "@oopsPushError": { + "type": "String", + "placeholders": {} + }, + "@youUnbannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@deactivateAccountWarning": { + "type": "String", + "placeholders": {} + }, + "@archive": { + "type": "String", + "placeholders": {} + }, + "@joinedTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@visibleForEveryone": { + "type": "String", + "placeholders": {} + }, + "@changePassword": { + "type": "String", + "placeholders": {} + }, + "@devices": { + "type": "String", + "placeholders": {} + }, + "@accept": { + "type": "String", + "placeholders": {} + }, + "@unknownEvent": { + "type": "String", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "@appWantsToUseForLogin": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "@unreadChatsInApp": { + "type": "String", + "placeholders": { + "appname": { + "type": "String" + }, + "unread": { + "type": "String" + } + } + }, + "@pleaseEnterYourPin": { + "type": "String", + "placeholders": {} + }, + "@countVotes": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@share": { + "type": "String", + "placeholders": {} + }, + "@moderatorLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "@changeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "@sendImage": { + "type": "String", + "placeholders": {} + }, + "@sendImages": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@contentHasBeenReported": { + "type": "String", + "placeholders": {} + }, + "@fromJoining": { + "type": "String", + "placeholders": {} + }, + "@verify": { + "type": "String", + "placeholders": {} + }, + "@sendVideo": { + "type": "String", + "placeholders": {} + }, + "@startedAPoll": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@sendAMessage": { + "type": "String", + "placeholders": {} + }, + "@pin": { + "type": "String", + "placeholders": {} + }, + "@deleteAccount": { + "type": "String", + "placeholders": {} + }, + "@muteChat": { + "type": "String", + "placeholders": {} + }, + "@countInvited": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@spaceMemberOf": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "@anyoneCanJoin": { + "type": "String", + "placeholders": {} + }, + "@emotePacks": { + "type": "String", + "placeholders": {} + }, + "@requestedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@endedTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@searchIn": { + "type": "String", + "placeholders": { + "chat": { + "type": "String" + } + } + }, + "@noGoogleServicesWarning": { + "type": "String", + "placeholders": {} + }, + "@changedTheDisplaynameTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "displayname": { + "type": "String" + } + } + }, + "@areGuestsAllowedToJoin": { + "type": "String", + "placeholders": {} + }, + "@pickImage": { + "type": "String", + "placeholders": {} + }, + "@withTheseAddressesRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "@ok": { + "type": "String", + "placeholders": {} + }, + "@sharedTheLocation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@unbanFromChat": { + "type": "String", + "placeholders": {} + }, + "newPost": "Nova publicação", + "@newPost": { + "type": "String", + "placeholders": {} + }, + "postPhoto": "Postar foto", + "@postPhoto": { + "type": "String", + "placeholders": {} + }, + "postVideo": "Postar vídeo", + "@postVideo": { + "type": "String", + "placeholders": {} + }, + "noPostsYet": "Nenhuma publicação ainda. Compartilhe a primeira foto ou vídeo!", + "@noPostsYet": { + "type": "String", + "placeholders": {} + }, + "noCommentsYet": "Nenhum comentário ainda. Seja o primeiro a comentar!", + "@noCommentsYet": { + "type": "String", + "placeholders": {} + }, + "like": "Curtir", + "@like": { + "type": "String", + "placeholders": {} + }, + "unlike": "Descurtir", + "@unlike": { + "type": "String", + "placeholders": {} + }, + "editCaption": "Editar legenda", + "@editCaption": { + "type": "String", + "placeholders": {} + }, + "captionHint": "Legenda", + "@captionHint": { + "type": "String", + "placeholders": {} + }, + "areYouSureDeletePost": "Eliminar" +} diff --git a/lib/l10n/intl_pt_BR.arb b/lib/l10n/intl_pt_BR.arb index 618726b..4ecb16f 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -1,2569 +1,2570 @@ { - "@@last_modified": "2021-08-14 12:41:09.925971", - "about": "Sobre", - "@about": { - "type": "String", - "placeholders": {} - }, - "accept": "Aceitar", - "@accept": { - "type": "String", - "placeholders": {} - }, - "acceptedTheInvitation": "👍 {username} aceitou o convite", - "@acceptedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "account": "Conta", - "@account": { - "type": "String", - "placeholders": {} - }, - "activatedEndToEndEncryption": "🔐 {username} ativou a criptografia de ponta-a-ponta", - "@activatedEndToEndEncryption": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "addEmail": "Adicionar e-mail", - "@addEmail": { - "type": "String", - "placeholders": {} - }, - "admin": "Admin", - "@admin": { - "type": "String", - "placeholders": {} - }, - "alias": "cognome", - "@alias": { - "type": "String", - "placeholders": {} - }, - "all": "Tudo", - "@all": { - "type": "String", - "placeholders": {} - }, - "answeredTheCall": "{senderName} atendeu à chamada", - "@answeredTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "anyoneCanJoin": "Qualquer pessoa pode entrar", - "@anyoneCanJoin": { - "type": "String", - "placeholders": {} - }, - "appLock": "Bloqueio do app", - "@appLock": { - "type": "String", - "placeholders": {} - }, - "archive": "Arquivo", - "@archive": { - "type": "String", - "placeholders": {} - }, - "areGuestsAllowedToJoin": "Visitantes podem entrar", - "@areGuestsAllowedToJoin": { - "type": "String", - "placeholders": {} - }, - "areYouSure": "Tem certeza?", - "@areYouSure": { - "type": "String", - "placeholders": {} - }, - "areYouSureYouWantToLogout": "Tem certeza que deseja se desconectar?", - "@areYouSureYouWantToLogout": { - "type": "String", - "placeholders": {} - }, - "askSSSSSign": "Para poder validar a outra pessoa, digite sua frase secreta ou chave de recuperação.", - "@askSSSSSign": { - "type": "String", - "placeholders": {} - }, - "askVerificationRequest": "Aceitar esta solicitação de verificação de {username}?", - "@askVerificationRequest": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "autoplayImages": "Reproduzir automaticamente figurinhas animadas e emojis", - "@autoplayImages": { - "type": "String", - "placeholder": {} - }, - "badServerLoginTypesException": "O servidor suporta os tipos de entrada/login:\n{serverVersions}\nMas este app suporta apenas:\n{supportedVersions}", - "@badServerLoginTypesException": { - "type": "String", - "placeholders": { - "serverVersions": { - "type": "String" - }, - "supportedVersions": { - "type": "String" - } - } - }, - "banFromChat": "Banir da conversa", - "@banFromChat": { - "type": "String", - "placeholders": {} - }, - "banned": "Banidos", - "@banned": { - "type": "String", - "placeholders": {} - }, - "bannedUser": "{username} baniu {targetName}", - "@bannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "blockDevice": "Bloquear dispositivo", - "@blockDevice": { - "type": "String", - "placeholders": {} - }, - "blocked": "Bloqueado", - "@blocked": { - "type": "String", - "placeholders": {} - }, - "cancel": "Cancelar", - "@cancel": { - "type": "String", - "placeholders": {} - }, - "cantOpenUri": "Não foi possível abrir a URI {uri}", - "@cantOpenUri": { - "type": "String", - "placeholders": { - "uri": { - "type": "String" - } - } - }, - "changeDeviceName": "Alterar o nome do dispositivo", - "@changeDeviceName": { - "type": "String", - "placeholders": {} - }, - "changedTheChatAvatar": "{username} alterou o avatar da conversa", - "@changedTheChatAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheChatPermissions": "{username} alterou as permissões na conversa", - "@changedTheChatPermissions": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheDisplaynameTo": "{username} mudou o seu nome de exibição para: '{displayname}'", - "@changedTheDisplaynameTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "displayname": { - "type": "String" - } - } - }, - "changedTheGuestAccessRules": "{username} alterou as regras de acesso dos visitantes", - "@changedTheGuestAccessRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheGuestAccessRulesTo": "{username} alterou as regras de acesso dos visitantes para: {rules}", - "@changedTheGuestAccessRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheHistoryVisibility": "{username} alterou a visibilidade do histórico", - "@changedTheHistoryVisibility": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheHistoryVisibilityTo": "{username} alterou a visibilidade do histórico para: {rules}", - "@changedTheHistoryVisibilityTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheJoinRules": "{username} alterou as regras de entrada", - "@changedTheJoinRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheJoinRulesTo": "{username} alterou as regras de entrada para: {joinRules}", - "@changedTheJoinRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "joinRules": { - "type": "String" - } - } - }, - "changedTheProfileAvatar": "{username} alterou seu avatar", - "@changedTheProfileAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomAliases": "{username} alterou os apelidos da sala", - "@changedTheRoomAliases": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomInvitationLink": "{username} alterou o link de convite", - "@changedTheRoomInvitationLink": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changePassword": "Alterar a senha", - "@changePassword": { - "type": "String", - "placeholders": {} - }, - "changeTheHomeserver": "Alterar o servidor", - "@changeTheHomeserver": { - "type": "String", - "placeholders": {} - }, - "changeTheme": "Alterar o tema", - "@changeTheme": { - "type": "String", - "placeholders": {} - }, - "changeTheNameOfTheGroup": "Alterar o nome do grupo", - "@changeTheNameOfTheGroup": { - "type": "String", - "placeholders": {} - }, - "changeYourAvatar": "Alterar seu avatar", - "@changeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "channelCorruptedDecryptError": "A criptografia foi corrompida", - "@channelCorruptedDecryptError": { - "type": "String", - "placeholders": {} - }, - "chat": "Conversar", - "@chat": { - "type": "String", - "placeholders": {} - }, - "chatBackup": "Backup de conversas", - "@chatBackup": { - "type": "String", - "placeholders": {} - }, - "chatDetails": "Detalhes da conversa", - "@chatDetails": { - "type": "String", - "placeholders": {} - }, - "chats": "Conversas", - "@chats": { - "type": "String", - "placeholders": {} - }, - "chooseAStrongPassword": "Escolha uma senha forte", - "@chooseAStrongPassword": { - "type": "String", - "placeholders": {} - }, - "clearArchive": "Limpar arquivo", - "close": "Fechar", - "@close": { - "type": "String", - "placeholders": {} - }, - "commandHint_ban": "Banir o usuário especificado desta sala", - "@commandHint_ban": { - "type": "String", - "description": "Usage hint for the command /ban" - }, - "commandHint_html": "Enviar mensagem formatada em HTML", - "@commandHint_html": { - "type": "String", - "description": "Usage hint for the command /html" - }, - "commandHint_invite": "Convidar o usuário especificado para esta sala", - "@commandHint_invite": { - "type": "String", - "description": "Usage hint for the command /invite" - }, - "commandHint_join": "Entrar na sala especificada", - "@commandHint_join": { - "type": "String", - "description": "Usage hint for the command /join" - }, - "commandHint_kick": "Remover o usuário especificado da sala", - "@commandHint_kick": { - "type": "String", - "description": "Usage hint for the command /kick" - }, - "commandHint_leave": "Sair desta sala", - "@commandHint_leave": { - "type": "String", - "description": "Usage hint for the command /leave" - }, - "commandHint_me": "Descrever você mesmo", - "@commandHint_me": { - "type": "String", - "description": "Usage hint for the command /me" - }, - "commandHint_myroomavatar": "Configurar sua imagem para esta sala (via mxc-uri)", - "@commandHint_myroomavatar": { - "type": "String", - "description": "Usage hint for the command /myroomavatar" - }, - "commandHint_myroomnick": "Configurar seu nome de exibição para esta sala", - "@commandHint_myroomnick": { - "type": "String", - "description": "Usage hint for the command /myroomnick" - }, - "commandHint_op": "Determinar o nível de poderes do usuário especificado (padrão: 50)", - "@commandHint_op": { - "type": "String", - "description": "Usage hint for the command /op" - }, - "commandHint_plain": "Enviar mensagem sem formatação", - "@commandHint_plain": { - "type": "String", - "description": "Usage hint for the command /plain" - }, - "commandHint_react": "Enviar uma resposta como reação", - "@commandHint_react": { - "type": "String", - "description": "Usage hint for the command /react" - }, - "commandHint_send": "Enviar mensagem", - "@commandHint_send": { - "type": "String", - "description": "Usage hint for the command /send" - }, - "commandHint_unban": "Desbanir o usuário especificado desta sala", - "@commandHint_unban": { - "type": "String", - "description": "Usage hint for the command /unban" - }, - "commandInvalid": "Comando inválido", - "@commandInvalid": { + "@@last_modified": "2021-08-14 12:41:09.925971", + "about": "Sobre", + "@about": { + "type": "String", + "placeholders": {} + }, + "accept": "Aceitar", + "@accept": { + "type": "String", + "placeholders": {} + }, + "acceptedTheInvitation": "👍 {username} aceitou o convite", + "@acceptedTheInvitation": { + "type": "String", + "placeholders": { + "username": { "type": "String" - }, - "commandMissing": "{command} não é um comando.", - "@commandMissing": { - "type": "String", - "placeholders": { - "command": { - "type": "String" - } - }, - "description": "State that {command} is not a valid /command." - }, - "compareEmojiMatch": "Compare os emojis", - "@compareEmojiMatch": { - "type": "String", - "placeholders": {} - }, - "compareNumbersMatch": "Compare os números", - "@compareNumbersMatch": { - "type": "String", - "placeholders": {} - }, - "configureChat": "Configurar conversa", - "@configureChat": { - "type": "String", - "placeholders": {} - }, - "contactHasBeenInvitedToTheGroup": "O contato foi convidado ao grupo", - "@contactHasBeenInvitedToTheGroup": { - "type": "String", - "placeholders": {} - }, - "contentHasBeenReported": "O conteúdo foi denunciado para os administradores do servidor", - "@contentHasBeenReported": { - "type": "String", - "placeholders": {} - }, - "copiedToClipboard": "Copiado para a área de transferência", - "@copiedToClipboard": { - "type": "String", - "placeholders": {} - }, - "copy": "Copiar", - "@copy": { - "type": "String", - "placeholders": {} - }, - "copyToClipboard": "Copiar para a área de transferência", - "@copyToClipboard": { - "type": "String", - "placeholders": {} - }, - "couldNotDecryptMessage": "Não foi possível descriptografar a mensagem: {error}", - "@couldNotDecryptMessage": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "countParticipants": "{count} participantes", - "@countParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "create": "Criar", - "@create": { - "type": "String", - "placeholders": {} - }, - "createdTheChat": "💬 {username} criou a conversa", - "@createdTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "createNewSpace": "Novo espaço", - "@createNewSpace": { - "type": "String", - "placeholders": {} - }, - "currentlyActive": "Ativo", - "@currentlyActive": { - "type": "String", - "placeholders": {} - }, - "darkTheme": "Escuro", - "@darkTheme": { - "type": "String", - "placeholders": {} - }, - "dateAndTimeOfDay": "{date} às {timeOfDay}", - "@dateAndTimeOfDay": { - "type": "String", - "placeholders": { - "date": { - "type": "String" - }, - "timeOfDay": { - "type": "String" - } - } - }, - "deactivateAccountWarning": "Isto desativará a sua conta. Isto é irreversível! Tem certeza?", - "@deactivateAccountWarning": { - "type": "String", - "placeholders": {} - }, - "defaultPermissionLevel": "Nível de permissão padrão para usuários novos", - "@defaultPermissionLevel": { - "type": "String", - "placeholders": {} - }, - "delete": "Apagar", - "@delete": { - "type": "String", - "placeholders": {} - }, - "deleteAccount": "Apagar conta", - "@deleteAccount": { - "type": "String", - "placeholders": {} - }, - "deleteMessage": "Apagar mensagem", - "@deleteMessage": { - "type": "String", - "placeholders": {} - }, - "devices": "Dispositivos", - "@devices": { - "type": "String", - "placeholders": {} - }, - "directChats": "Conversas diretas", - "@directChats": { - "type": "String", - "placeholders": {} - }, - "displaynameHasBeenChanged": "O nome de exibição foi alterado", - "@displaynameHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "downloadFile": "Baixar arquivo", - "@downloadFile": { - "type": "String", - "placeholders": {} - }, - "edit": "Editar", - "@edit": { - "type": "String", - "placeholders": {} - }, - "editBlockedServers": "Editar servidores bloqueados", - "@editBlockedServers": { - "type": "String", - "placeholders": {} - }, - "editDisplayname": "Editar nome de exibição", - "@editDisplayname": { - "type": "String", - "placeholders": {} - }, - "editRoomAliases": "Editar apelidos da sala", - "@editRoomAliases": { - "type": "String", - "placeholders": {} - }, - "editRoomAvatar": "Editar o avatar da sala", - "@editRoomAvatar": { - "type": "String", - "placeholders": {} - }, - "emoteExists": "Emoji já existe!", - "@emoteExists": { - "type": "String", - "placeholders": {} - }, - "emoteInvalid": "Código emoji inválido!", - "@emoteInvalid": { - "type": "String", - "placeholders": {} - }, - "emoteShortcode": "Código Emoji", - "@emoteShortcode": { - "type": "String", - "placeholders": {} - }, - "emptyChat": "Conversa vazia", - "@emptyChat": { - "type": "String", - "placeholders": {} - }, - "enableEmotesGlobally": "Habilitar globalmente o pacote de emoji", - "@enableEmotesGlobally": { - "type": "String", - "placeholders": {} - }, - "enableEncryption": "Ativar criptografia", - "@enableEncryption": { - "type": "String", - "placeholders": {} - }, - "enableEncryptionWarning": "Você não poderá desativar a criptografia posteriormente. Tem certeza?", - "@enableEncryptionWarning": { - "type": "String", - "placeholders": {} - }, - "encrypted": "Criptografado", - "@encrypted": { - "type": "String", - "placeholders": {} - }, - "encryption": "Criptografia", - "@encryption": { - "type": "String", - "placeholders": {} - }, - "encryptionNotEnabled": "A criptografia não está ativada", - "@encryptionNotEnabled": { - "type": "String", - "placeholders": {} - }, - "endedTheCall": "{senderName} finalizou a chamada", - "@endedTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "enterAnEmailAddress": "Digite um endereço de e-mail", - "@enterAnEmailAddress": { - "type": "String", - "placeholders": {} - }, - "errorObtainingLocation": "Erro ao obter localização: {error}", - "@errorObtainingLocation": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "fontSize": "Tamanho da fonte", - "@fontSize": { - "type": "String", - "placeholders": {} - }, - "forward": "Encaminhar", - "@forward": { - "type": "String", - "placeholders": {} - }, - "fromJoining": "Desde que entrou", - "@fromJoining": { - "type": "String", - "placeholders": {} - }, - "fromTheInvitation": "Desde o convite", - "@fromTheInvitation": { - "type": "String", - "placeholders": {} - }, - "group": "Grupo", - "@group": { - "type": "String", - "placeholders": {} - }, - "groupIsPublic": "O grupo é público", - "@groupIsPublic": { - "type": "String", - "placeholders": {} - }, - "groups": "Grupos", - "@groups": { - "type": "String", - "placeholders": {} - }, - "groupWith": "Grupo com {displayname}", - "@groupWith": { - "type": "String", - "placeholders": { - "displayname": { - "type": "String" - } - } - }, - "guestsAreForbidden": "Visitantes são proibidos", - "@guestsAreForbidden": { - "type": "String", - "placeholders": {} - }, - "guestsCanJoin": "Visitantes podem entrar", - "@guestsCanJoin": { - "type": "String", - "placeholders": {} - }, - "hasWithdrawnTheInvitationFor": "{username} revogou o convite para {targetName}", - "@hasWithdrawnTheInvitationFor": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "help": "Ajuda", - "@help": { - "type": "String", - "placeholders": {} - }, - "hideUnknownEvents": "Ocultar eventos desconhecidos", - "@hideUnknownEvents": { - "type": "String", - "placeholders": {} - }, - "ignore": "Ignorar", - "@ignore": { - "type": "String", - "placeholders": {} - }, - "ignoredUsers": "Usuários ignorados", - "@ignoredUsers": { - "type": "String", - "placeholders": {} - }, - "iHaveClickedOnLink": "Eu cliquei no link", - "@iHaveClickedOnLink": { - "type": "String", - "placeholders": {} - }, - "incorrectPassphraseOrKey": "Frase secreta ou chave de recuperação incorreta", - "@incorrectPassphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "inviteContact": "Convidar contato", - "@inviteContact": { - "type": "String", - "placeholders": {} - }, - "inviteContactToGroup": "Convidar contato para {groupName}", - "@inviteContactToGroup": { - "type": "String", - "placeholders": { - "groupName": { - "type": "String" - } - } - }, - "invited": "Convidado", - "@invited": { - "type": "String", - "placeholders": {} - }, - "invitedUser": "📩 {username} convidou {targetName}", - "@invitedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "invitedUsersOnly": "Apenas usuários convidados", - "@invitedUsersOnly": { - "type": "String", - "placeholders": {} - }, - "inviteText": "{username} convidou você para o FluffyChat.\n1. Visite fluffychat.im e instale o aplicativo\n2. Entre ou crie uma conta\n3. Abra o link do convite:\n{link}", - "@inviteText": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "link": { - "type": "String" - } - } - }, - "isTyping": "está digitando…", - "@isTyping": { - "type": "String", - "placeholders": {} - }, - "joinedTheChat": "👋 {username} entrou na conversa", - "@joinedTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "joinRoom": "Entrar na sala", - "@joinRoom": { - "type": "String", - "placeholders": {} - }, - "kicked": "👞 {username} expulsou {targetName}", - "@kicked": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickedAndBanned": "🙅 {username} expulsou e baniu {targetName}", - "@kickedAndBanned": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickFromChat": "Expulsar da conversa", - "@kickFromChat": { - "type": "String", - "placeholders": {} - }, - "lastActiveAgo": "Última vez ativo: {localizedTimeShort}", - "@lastActiveAgo": { - "type": "String", - "placeholders": { - "localizedTimeShort": { - "type": "String" - } - } - }, - "leave": "Sair", - "@leave": { - "type": "String", - "placeholders": {} - }, - "leftTheChat": "Saiu da conversa", - "@leftTheChat": { - "type": "String", - "placeholders": {} - }, - "lightTheme": "Claro", - "@lightTheme": { - "type": "String", - "placeholders": {} - }, - "loadCountMoreParticipants": "Carregar mais {count} participantes", - "@loadCountMoreParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "loadingPleaseWait": "Carregando... Aguarde.", - "@loadingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "loadMore": "Carregar mais…", - "@loadMore": { - "type": "String", - "placeholders": {} - }, - "locationDisabledNotice": "Os serviços de localização estão desativados. Ative-os para compartilhar sua localização.", - "@locationDisabledNotice": { - "type": "String", - "placeholders": {} - }, - "locationPermissionDeniedNotice": "Permissão de localização bloqueada. Conceda as permissões para poder compartilhar sua localização.", - "@locationPermissionDeniedNotice": { - "type": "String", - "placeholders": {} - }, - "login": "Conectar-se", - "@login": { - "type": "String", - "placeholders": {} - }, - "logInTo": "Conectar com {homeserver}", - "@logInTo": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "logout": "Desconectar-se", - "@logout": { - "type": "String", - "placeholders": {} - }, - "mention": "Mencionar", - "@mention": { - "type": "String", - "placeholders": {} - }, - "messages": "Mensagens", - "@messages": { - "type": "String", - "placeholders": {} - }, - "moderator": "Moderador", - "@moderator": { - "type": "String", - "placeholders": {} - }, - "muteChat": "Silenciar conversa", - "@muteChat": { - "type": "String", - "placeholders": {} - }, - "newChat": "Nova conversa", - "@newChat": { - "type": "String", - "placeholders": {} - }, - "newMessageInFluffyChat": "💬 Nova mensagem no FluffyChat", - "@newMessageInFluffyChat": { - "type": "String", - "placeholders": {} - }, - "newVerificationRequest": "Nova solicitação de verificação!", - "@newVerificationRequest": { - "type": "String", - "placeholders": {} - }, - "next": "Avançar", - "@next": { - "type": "String", - "placeholders": {} - }, - "no": "Não", - "@no": { - "type": "String", - "placeholders": {} - }, - "noConnectionToTheServer": "Sem conexão com o servidor", - "@noConnectionToTheServer": { - "type": "String", - "placeholders": {} - }, - "noEmotesFound": "Nenhum emoji encontrado. 😕", - "@noEmotesFound": { - "type": "String", - "placeholders": {} - }, - "noEncryptionForPublicRooms": "Você só poderá ativar a criptografia quando a sala não for mais publicamente acessível.", - "@noEncryptionForPublicRooms": { - "type": "String", - "placeholders": {} - }, - "noGoogleServicesWarning": "O Firebase Cloud Messaging não parece estar disponível no seu dispositivo. Para receber notificações push, recomendados que você instwl3 o ntfy. Com o ntfy outro provedor do UnifiedPush, você pode receber notificações push de um modo seguro em relação aos dados. Você pode baixar o ntfy da Play Store ou do F-Droid.", - "@noGoogleServicesWarning": { - "type": "String", - "placeholders": {} - }, - "noMatrixServer": "{server1} não é um servidor matrix, usar {server2}?", - "@noMatrixServer": { - "type": "String", - "placeholders": { - "server1": { - "type": "String" - }, - "server2": { - "type": "String" - } - } - }, - "noPasswordRecoveryDescription": "Você ainda não adicionou uma forma de recuperar sua senha.", - "@noPasswordRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "noPermission": "Sem permissão", - "@noPermission": { - "type": "String", - "placeholders": {} - }, - "noRoomsFound": "Nenhuma sala encontrada…", - "@noRoomsFound": { - "type": "String", - "placeholders": {} - }, - "notifications": "Notificações", - "@notifications": { - "type": "String", - "placeholders": {} - }, - "numUsersTyping": "{count} usuários estão digitando…", - "@numUsersTyping": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "obtainingLocation": "Obtendo localização…", - "@obtainingLocation": { - "type": "String", - "placeholders": {} - }, - "ok": "Ok", - "@ok": { - "type": "String", - "placeholders": {} - }, - "onlineKeyBackupEnabled": "O backup de chaves on-line está ativado", - "@onlineKeyBackupEnabled": { - "type": "String", - "placeholders": {} - }, - "oopsPushError": "Opa! Infelizmente, um erro ocorreu ao configurar as notificações push.", - "@oopsPushError": { - "type": "String", - "placeholders": {} - }, - "oopsSomethingWentWrong": "Opa, algo deu errado…", - "@oopsSomethingWentWrong": { - "type": "String", - "placeholders": {} - }, - "openAppToReadMessages": "Abra o app para ler as mensagens", - "@openAppToReadMessages": { - "type": "String", - "placeholders": {} - }, - "openCamera": "Abrir câmera", - "@openCamera": { - "type": "String", - "placeholders": {} - }, - "openInMaps": "Abrir no mapa", - "@openInMaps": { - "type": "String", - "placeholders": {} - }, - "or": "Ou", - "@or": { - "type": "String", - "placeholders": {} - }, - "participant": "Participante", - "@participant": { - "type": "String", - "placeholders": {} - }, - "passphraseOrKey": "frase secreta ou chave de recuperação", - "@passphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "password": "Senha", - "@password": { - "type": "String", - "placeholders": {} - }, - "passwordForgotten": "Esqueci a senha", - "@passwordForgotten": { - "type": "String", - "placeholders": {} - }, - "passwordHasBeenChanged": "Senha foi alterada", - "@passwordHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "passwordRecovery": "Recuperação de senha", - "@passwordRecovery": { - "type": "String", - "placeholders": {} - }, - "pin": "Fixar", - "@pin": { - "type": "String", - "placeholders": {} - }, - "pleaseChooseAPasscode": "Escolha um código", - "@pleaseChooseAPasscode": { - "type": "String", - "placeholders": {} - }, - "pleaseClickOnLink": "Clique no link do e-mail para prosseguir.", - "@pleaseClickOnLink": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPassword": "Digite sua senha", - "@pleaseEnterYourPassword": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPin": "Digite seu PIN", - "@pleaseEnterYourPin": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourUsername": "Digite seu nome de usuário", - "@pleaseEnterYourUsername": { - "type": "String", - "placeholders": {} - }, - "pleaseFollowInstructionsOnWeb": "Siga as instruções no site e toque em avançar.", - "@pleaseFollowInstructionsOnWeb": { - "type": "String", - "placeholders": {} - }, - "privacy": "Privacidade", - "@privacy": { - "type": "String", - "placeholders": {} - }, - "publicRooms": "Salas públicas", - "@publicRooms": { - "type": "String", - "placeholders": {} - }, - "reason": "Motivo", - "@reason": { - "type": "String", - "placeholders": {} - }, - "redactedAnEvent": "{username} apagou um evento", - "@redactedAnEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "redactMessage": "Apagar mensagem", - "@redactMessage": { - "type": "String", - "placeholders": {} - }, - "reject": "Recusar", - "@reject": { - "type": "String", - "placeholders": {} - }, - "rejectedTheInvitation": "{username} recusou o convite", - "@rejectedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "remove": "Remover", - "@remove": { - "type": "String", - "placeholders": {} - }, - "removeAllOtherDevices": "Remover todos os outros dispositivos", - "@removeAllOtherDevices": { - "type": "String", - "placeholders": {} - }, - "unbanFromChat": "Desbanir da conversa", - "@unbanFromChat": { - "type": "String", - "placeholders": {} - }, - "removeYourAvatar": "Remover seu avatar", - "@removeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "replaceRoomWithNewerVersion": "Substituir sala por uma nova versão", - "@replaceRoomWithNewerVersion": { - "type": "String", - "placeholders": {} - }, - "reply": "Responder", - "@reply": { - "type": "String", - "placeholders": {} - }, - "reportMessage": "Denunciar mensagem", - "@reportMessage": { - "type": "String", - "placeholders": {} - }, - "roomHasBeenUpgraded": "A sala foi atualizada", - "@roomHasBeenUpgraded": { - "type": "String", - "placeholders": {} - }, - "roomVersion": "Versão da sala", - "@roomVersion": { - "type": "String", - "placeholders": {} - }, - "saveFile": "Salvar arquivo", - "@saveFile": { - "type": "String", - "placeholders": {} - }, - "search": "Pesquisar", - "@search": { - "type": "String", - "placeholders": {} - }, - "security": "Segurança", - "@security": { - "type": "String", - "placeholders": {} - }, - "send": "Enviar", - "@send": { - "type": "String", - "placeholders": {} - }, - "sendAMessage": "Enviar uma mensagem", - "@sendAMessage": { - "type": "String", - "placeholders": {} - }, - "sendAsText": "Enviar como texto", - "@sendAsText": { - "type": "String" - }, - "sendAudio": "Enviar áudio", - "@sendAudio": { - "type": "String", - "placeholders": {} - }, - "sendFile": "Enviar arquivo", - "@sendFile": { - "type": "String", - "placeholders": {} - }, - "sendImage": "Enviar imagem", - "@sendImage": { - "type": "String", - "placeholders": {} - }, - "sendMessages": "Enviar mensagens", - "@sendMessages": { - "type": "String", - "placeholders": {} - }, - "sendVideo": "Enviar vídeo", - "@sendVideo": { - "type": "String", - "placeholders": {} - }, - "sentAFile": "📁 {username} enviou um arquivo", - "@sentAFile": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAnAudio": "🎤 {username} enviou um áudio", - "@sentAnAudio": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAPicture": "🖼️ {username} enviou uma imagem", - "@sentAPicture": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentASticker": "😊 {username} enviou uma figurinha", - "@sentASticker": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAVideo": "🎥 {username} enviou um vídeo", - "@sentAVideo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentCallInformations": "{senderName} enviou informações de chamada", - "@sentCallInformations": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "setAsCanonicalAlias": "Configurar como apelido principal", - "@setAsCanonicalAlias": { - "type": "String", - "placeholders": {} - }, - "setStatus": "Alterar estado", - "@setStatus": { - "type": "String", - "placeholders": {} - }, - "settings": "Configurações", - "@settings": { - "type": "String", - "placeholders": {} - }, - "share": "Compartilhar", - "@share": { - "type": "String", - "placeholders": {} - }, - "sharedTheLocation": "{username} compartilhou sua localização", - "@sharedTheLocation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "shareLocation": "Compartilhar localização", - "@shareLocation": { - "type": "String", - "placeholders": {} - }, - "skip": "Pular", - "@skip": { - "type": "String", - "placeholders": {} - }, - "sourceCode": "Código-fonte", - "@sourceCode": { - "type": "String", - "placeholders": {} - }, - "spaceIsPublic": "O espaço é público", - "@spaceIsPublic": { - "type": "String", - "placeholders": {} - }, - "spaceName": "Nome do espaço", - "@spaceName": { - "type": "String", - "placeholders": {} - }, - "startedACall": "{senderName} iniciou uma chamada", - "@startedACall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "status": "Estado", - "@status": { - "type": "String", - "placeholders": {} - }, - "statusExampleMessage": "Como vai você?", - "@statusExampleMessage": { - "type": "String", - "placeholders": {} - }, - "submit": "Enviar", - "@submit": { - "type": "String", - "placeholders": {} - }, - "synchronizingPleaseWait": "Sincronizando… Aguarde.", - "@synchronizingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "systemTheme": "Sistema", - "@systemTheme": { - "type": "String", - "placeholders": {} - }, - "theyDontMatch": "Não correspondem", - "@theyDontMatch": { - "type": "String", - "placeholders": {} - }, - "theyMatch": "Correspondem", - "@theyMatch": { - "type": "String", - "placeholders": {} - }, - "tooManyRequestsWarning": "Demasiadas requisições. Por favor, tente novamente mais tarde!", - "@tooManyRequestsWarning": { - "type": "String", - "placeholders": {} - }, - "tryToSendAgain": "Tentar enviar novamente", - "@tryToSendAgain": { - "type": "String", - "placeholders": {} - }, - "unbannedUser": "{username} desbaniu {targetName}", - "@unbannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "unblockDevice": "Desbloquear dispositivo", - "@unblockDevice": { - "type": "String", - "placeholders": {} - }, - "unknownDevice": "Dispositivo desconhecido", - "@unknownDevice": { - "type": "String", - "placeholders": {} - }, - "unknownEncryptionAlgorithm": "Algoritmo de criptografia desconhecido", - "@unknownEncryptionAlgorithm": { - "type": "String", - "placeholders": {} - }, - "unknownEvent": "Evento desconhecido '{type}'", - "@unknownEvent": { - "type": "String", - "placeholders": { - "type": { - "type": "String" - } - } - }, - "unmuteChat": "Dessilenciar", - "@unmuteChat": { - "type": "String", - "placeholders": {} - }, - "unpin": "Desafixar", - "@unpin": { - "type": "String", - "placeholders": {} - }, - "userAndOthersAreTyping": "{username} e mais {count} pessoas estão digitando…", - "@userAndOthersAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "count": { - "type": "int" - } - } - }, - "userAndUserAreTyping": "{username} e {username2} estão digitando…", - "@userAndUserAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "username2": { - "type": "String" - } - } - }, - "userIsTyping": "{username} está digitando…", - "@userIsTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "userLeftTheChat": "🚪 {username} saiu da conversa", - "@userLeftTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "userSentUnknownEvent": "{username} enviou um evento de {type}", - "@userSentUnknownEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "type": { - "type": "String" - } - } - }, - "verified": "Verificado", - "@verified": { - "type": "String", - "placeholders": {} - }, - "verifyStart": "Iniciar verificação", - "@verifyStart": { - "type": "String", - "placeholders": {} - }, - "verifySuccess": "Verificação efetivada!", - "@verifySuccess": { - "type": "String", - "placeholders": {} - }, - "verifyTitle": "Verificando outra conta", - "@verifyTitle": { - "type": "String", - "placeholders": {} - }, - "visibilityOfTheChatHistory": "Visibilidade do histórico da conversa", - "@visibilityOfTheChatHistory": { - "type": "String", - "placeholders": {} - }, - "visibleForAllParticipants": "Visível para todos os participantes", - "@visibleForAllParticipants": { - "type": "String", - "placeholders": {} - }, - "visibleForEveryone": "Visível para qualquer pessoa", - "@visibleForEveryone": { - "type": "String", - "placeholders": {} - }, - "voiceMessage": "Mensagem de voz", - "@voiceMessage": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerAcceptRequest": "Esperando que a outra pessoa aceite a solicitação…", - "@waitingPartnerAcceptRequest": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerEmoji": "Esperando que a outra pessoa aceite os emojis…", - "@waitingPartnerEmoji": { - "type": "String", - "placeholders": {} - }, - "waitingPartnerNumbers": "Aguardando a outra pessoa aceitar os números…", - "@waitingPartnerNumbers": { - "type": "String", - "placeholders": {} - }, - "warning": "Atenção!", - "@warning": { - "type": "String", - "placeholders": {} - }, - "weSentYouAnEmail": "Enviamos um e-mail para você", - "@weSentYouAnEmail": { - "type": "String", - "placeholders": {} - }, - "whoCanPerformWhichAction": "Quem pode desempenhar quais ações", - "@whoCanPerformWhichAction": { - "type": "String", - "placeholders": {} - }, - "whoIsAllowedToJoinThisGroup": "Quem pode entrar no grupo", - "@whoIsAllowedToJoinThisGroup": { - "type": "String", - "placeholders": {} - }, - "whyDoYouWantToReportThis": "Por que quer denunciar isto?", - "@whyDoYouWantToReportThis": { - "type": "String", - "placeholders": {} - }, - "withTheseAddressesRecoveryDescription": "Você pode recuperar a sua senha com estes endereços.", - "@withTheseAddressesRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "writeAMessage": "Digite sua mensagem…", - "@writeAMessage": { - "type": "String", - "placeholders": {} - }, - "yes": "Sim", - "@yes": { - "type": "String", - "placeholders": {} - }, - "you": "Você", - "@you": { - "type": "String", - "placeholders": {} - }, - "youAreNoLongerParticipatingInThisChat": "Você não está mais participando desta conversa", - "@youAreNoLongerParticipatingInThisChat": { - "type": "String", - "placeholders": {} - }, - "youHaveBeenBannedFromThisChat": "Você foi banido desta conversa", - "@youHaveBeenBannedFromThisChat": { - "type": "String", - "placeholders": {} - }, - "yourPublicKey": "Sua chave pública", - "@yourPublicKey": { - "type": "String", - "placeholders": {} - }, - "oneClientLoggedOut": "Um dos seus clientes foi desconectado", - "addAccount": "Adicionar conta", - "unverified": "Não verificado", - "editBundlesForAccount": "Editar coleções para esta conta", - "messageInfo": "Informações da mensagem", - "sender": "Remetente", - "removeFromSpace": "Remover do espaço", - "link": "Link", - "repeatPassword": "Repita a senha", - "addToSpace": "Adicionar ao espaço", - "sendOnEnter": "Enviar ao pressionar enter", - "commandHint_clearcache": "Limpar dados temporários", - "@commandHint_clearcache": { - "type": "String", - "description": "Usage hint for the command /clearcache" - }, - "commandHint_create": "Criar uma conversa em grupo vazia.\nUse --no-encryption para desativar a criptografia", - "@commandHint_create": { - "type": "String", - "description": "Usage hint for the command /create" - }, - "commandHint_discardsession": "Descartar sessão", - "@commandHint_discardsession": { - "type": "String", - "description": "Usage hint for the command /discardsession" - }, - "commandHint_dm": "Iniciar uma conversa direta\nUse --no-encryption para desativar a criptografia", - "@commandHint_dm": { - "type": "String", - "description": "Usage hint for the command /dm" - }, - "scanQrCode": "Ler código QR", - "addToBundle": "Adicionar à coleção", - "removeFromBundle": "Remover desta coleção", - "bundleName": "Nome da coleção", - "time": "Horário", - "openGallery": "Abrir galeria", - "markAsRead": "Marcar como lido", - "reportUser": "Denunciar usuário", - "emojis": "Emojis", - "reactedWith": "{sender} reagiu com {reaction}", - "@reactedWith": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "reaction": { - "type": "String" - } - } - }, - "confirmEventUnpin": "Tem certeza que quer desafixar o evento permanentemente?", - "pinMessage": "Fixar na sala", - "unsupportedAndroidVersion": "Versão Android sem suporte", - "unsupportedAndroidVersionLong": "Esta funcionalidade requer uma versão mais nova do Android. Verifique se há atualizações ou suporte ao LineageOS.", - "youRejectedTheInvitation": "Você rejeitou o convite", - "youBannedUser": "Você baniu {user}", - "@youBannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youHaveWithdrawnTheInvitationFor": "Você revogou o convite para {user}", - "@youHaveWithdrawnTheInvitationFor": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youInvitedBy": "📩 Você foi convidado por {user}", - "@youInvitedBy": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youInvitedUser": "📩 Você convidou {user}", - "@youInvitedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youAcceptedTheInvitation": "👍 Você aceitou o convite", - "youJoinedTheChat": "Você entrou na conversa", - "youKicked": "👞 Você expulsou {user}", - "@youKicked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youKickedAndBanned": "🙅 Você expulsou e baniu {user}", - "@youKickedAndBanned": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "youUnbannedUser": "Você desbaniu {user}", - "@youUnbannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "cuddleContent": "{senderName} afagou você", - "@cuddleContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "users": "Usuários", - "confirmMatrixId": "Confirme seu ID Matrix para apagar sua conta.", - "supposedMxid": "Isto deveria ser {mxid}", - "@supposedMxid": { - "type": "String", - "placeholders": { - "mxid": { - "type": "String" - } - } - }, - "commandHint_cuddle": "Enviar um afago", - "commandHint_hug": "Enviar um abraço", - "commandHint_googly": "Enviar olhos arregalados", - "googlyEyesContent": "{senderName} enviou olhos arregalados", - "@googlyEyesContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "hugContent": "{senderName} abraçou você", - "@hugContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "commandHint_markasdm": "Marcar como sala de mensagens diretas para o ID Matrix fornecido", - "commandHint_markasgroup": "Marcar como grupo", - "hydrate": "Restaurar a partir de um arquivo de backup", - "storeInAndroidKeystore": "Guardar no cofre do Android (KeyStore)", - "storeInAppleKeyChain": "Guardar no chaveiro da Apple", - "storeSecurlyOnThisDevice": "Guardar de modo seguro neste dispositivo", - "user": "Usuário", - "custom": "Personalizado", - "newSpace": "Novo espaço", - "newCanal": "Novo canal", - "newMural": "Novo mural", - "countFiles": "{count} arquivos", - "@countFiles": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "doNotShowAgain": "Não mostrar novamente", - "dehydrate": "Exportar sessão e apagar dispositivo", - "dehydrateWarning": "Esta ação não pode ser desfeita. Certifique-se de que o arquivo de backup está guardado e seguro.", - "whyIsThisMessageEncrypted": "Por que não consigo ler esta mensagem?", - "noKeyForThisMessage": "Isto pode ocorrer caso a mensagem tenha sido enviada antes de você ter se conectado à sua conta com este dispositivo.\n\nTambém é possível que o remetente tenha bloqueado o seu dispositivo ou ocorreu algum problema com a conexão.\n\nVocê consegue ler as mensagens em outra sessão? Então, pode transferir as mensagens de lá! Vá em Configurações > Dispositivos e confira se os dispositivos verificaram um ao outro. Quando abrir a sala da próxima vez e ambas as sessões estiverem abertas, as chaves serão transmitidas automaticamente.\n\nNão gostaria de perder suas chaves ao desconectar ou trocar de dispositivos? Certifique-se que o backup de conversas esteja ativado nas configurações.", - "notAnImage": "Não é um arquivo de imagem.", - "importNow": "Importar agora", - "importEmojis": "Importar emojis", - "importFromZipFile": "Importar de arquivo .zip", - "sendTypingNotifications": "Enviar indicadores de digitação", - "exportEmotePack": "Exportar pacote de emojis como .zip", - "replace": "Substituir", - "jumpToLastReadMessage": "Pular para a última mensagem lida", - "reportErrorDescription": "😭 Ah, não. Algo deu errado. Se quiser, pode relatar isto aos desenvolvedores.", - "setColorTheme": "Aplicar paleta de cor:", - "banUserDescription": "O usuário será banido da conversa e não poderá participar novamente até que sejam desbanidos.", - "removeDevicesDescription": "Você será desconectado deste dispositivo e não poderá mais receber mensagens.", - "tryAgain": "Tentar novamente", - "unbanUserDescription": "O usuário poderá entrar novamente na conversa, caso tente.", - "messagesStyle": "Mensagens:", - "newSpaceDescription": "Os espaços permitem que você consolide suas conversas e construa comunidades públicas ou privadas.", - "newCanalDescription": "O canal é uma sala onde somente administradores podem publicar. Use-o para transmitir comunicados oficiais.", - "newMuralDescription": "O mural é um quadro de avisos onde todos podem publicar. Use-o para deixar recados para a sua comunidade.", - "chatDescription": "Descrição da conversa", - "encryptThisChat": "Criptografar esta conversa", - "reopenChat": "Reabrir conversa", - "pushNotificationsNotAvailable": "Notificações push não estão disponíveis", - "invalidServerName": "Nome do servidor inválido", - "chatPermissions": "Permissões da conversa", - "makeAdminDescription": "Assim que promover este usuário a administrador, não poderá desfazer isto e ele terá as mesmas permissões que você.", - "setChatDescription": "Configurar descrição da conversa", - "noOtherDevicesFound": "Nenhum outro dispositivo encontrado", - "redactedBy": "Apagado por {username}", - "@redactedBy": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "fileIsTooBigForServer": "Não foi possível enviar! O servidor suporta anexos somente até {max}.", - "readUpToHere": "Lido até aqui", - "optionalRedactReason": "(Opcional) Motivo para apagar esta mensagem.", - "archiveRoomDescription": "A conversa será movida para o arquivo. Outros usuários verão que você deixou a conversa.", - "redactedByBecause": "Apagado por {username}, pois: \"{reason}\"", - "@redactedByBecause": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "reason": { - "type": "String" - } - } - }, - "fileHasBeenSavedAt": "Arquivo salvo em {path}", - "@fileHasBeenSavedAt": { - "type": "String", - "placeholders": { - "path": { - "type": "String" - } - } - }, - "redactMessageDescription": "A mensagem será apagada para todos os participantes desta conversa. Isto não poderá ser desfeito.", - "invalidInput": "Entrada inválida!", - "report": "relatar", - "hasKnocked": "🚪 {user} bateu na porta", - "@hasKnocked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "openLinkInBrowser": "Abrir link no navegador", - "disableEncryptionWarning": "Por razões de segurança, não é possível desativar a criptografada uma vez ativada.", - "wrongPinEntered": "PIN incorreto! Tente novamente em {seconds} segundos...", - "@wrongPinEntered": { - "type": "String", - "placeholders": { - "seconds": { - "type": "int" - } - } - }, - "inviteGroupChat": "📨 Convite para conversa em grupo", - "wasDirectChatDisplayName": "Conversa vazia (era {oldDisplayName})", - "@wasDirectChatDisplayName": { - "type": "String", - "placeholders": { - "oldDisplayName": { - "type": "String" - } - } - }, - "noChatDescriptionYet": "Nenhuma descrição para a conversa foi criada ainda.", - "learnMore": "Saiba mais", - "chatDescriptionHasBeenChanged": "Descrição da conversa alterada", - "roomUpgradeDescription": "A conversa será recriada com a nova versão de sala. Todos participantes será notificados e terão que migrar para a nova sala. Você pode encontrar mais informações sobre versões de sala em https://spec.matrix.org/latest/room/", - "pleaseEnterANumber": "Digite um número maior que 0", - "jump": "Pular", - "sorryThatsNotPossible": "Desculpe... isto não é possível", - "shareInviteLink": "Compartilhar link de convite", - "emoteKeyboardNoRecents": "Emojis recentes aparecem aqui...", - "@emoteKeyboardNoRecents": { - "type": "String", - "placeholders": {} - }, - "createGroup": "Criar grupo", - "canal": "Canal", - "canalIsPublic": "O canal é público", - "canalName": "Nome do canal", - "canalOnlyAdminCanPost": "Somente administradores do canal podem publicar nesta sala", - "createCanalAndInviteUsers": "Criar um canal e convidar pessoas", - "createMuralAndInviteUsers": "Criar um mural e convidar pessoas", - "mural": "Mural", - "muralIsPublic": "O mural é público", - "muralName": "Nome do mural", - "noBackupWarning": "Atenção! Se não ativar o backup de conversas, você perderá acesso a suas mensagens criptografadas. É altamente recomendável ativar o backup antes de sair.", - "kickUserDescription": "O usuário foi expulso da conversa, mas não banido. Em conversas públicas, o usuário pode entrar novamente a qualquer momento.", - "invite": "Convidar", - "blockListDescription": "Você pode bloquear usuários que estejam te perturbando. Você não receberá mensagens ou convites de usuários na sua lista pessoal de bloqueios.", - "createGroupAndInviteUsers": "Criar um grupo e convidar pessoas", - "thisDevice": "Este dispositivo:", - "publicSpaces": "Espaços públicos", - "blockedUsers": "Usuários bloqueados", - "passwordIsWrong": "A senha digitada está incorreta", - "pleaseEnterYourCurrentPassword": "Digite sua senha atual", - "groupCanBeFoundViaSearch": "Grupos podem ser encontrados por pesquisa", - "noUsersFoundWithQuery": "Infelizmente, não foi encontrado usuário com \"{query}\". Verifique se digitou corretamente.", - "@noUsersFoundWithQuery": { - "type": "String", - "placeholders": { - "query": { - "type": "String" - } - } - }, - "block": "Bloquear", - "nothingFound": "Nada foi encontrado...", - "yourGlobalUserIdIs": "Seu ID global de usuário é: ", - "newPassword": "Nova senha", - "passwordsDoNotMatch": "As senhas não correspondem", - "commandHint_sendraw": "Enviar JSON puro", - "wrongRecoveryKey": "Desculpe... esta não parece ser a chave de recuperação correta.", - "select": "Selecionar", - "pleaseChooseAStrongPassword": "Escolha uma senha forte", - "blockUsername": "Ignorar nome de usuário", - "addChatOrSubSpace": "Adicionar conversa ou subespaço", - "groupName": "Nome do grupo", - "leaveEmptyToClearStatus": "Deixe em branco para limpar seu estado.", - "joinSpace": "Entrar no espaço", - "searchForUsers": "Pesquisar por @usuários...", - "databaseMigrationTitle": "O banco de dados está otimizado", - "searchChatsRooms": "Pesquisar por #conversas, @usuários...", - "databaseMigrationBody": "Aguarde. Isto pode demorar um pouco.", - "formattedMessagesDescription": "Exibir conteúdo de mensagem rico, como texto em negrito usando markdown.", - "verifyOtherUser": "🔐 Verificar outro usuário", - "verifyOtherDevice": "🔐 Verificar outro dispositivo", - "acceptedKeyVerification": "{sender} aceitou a verificação de chaves", - "@acceptedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "startedKeyVerification": "{sender} iniciou a verificação de chaves", - "@startedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "initAppError": "Ocorreu um erro enquanto o app era iniciado", - "restoreSessionBody": "O app tentará agora restaurar sua sessão a partir do backup. Relate isto ao desenvolvedor em {url}. A mensagem de erro é: {error}", - "@restoreSessionBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "sendReadReceipts": "Enviar recibos de leitura", - "sendTypingNotificationsDescription": "Outros participantes nesta conversa podem ver quando você está digitando uma nova mensagem.", - "formattedMessages": "Mensagens formatadas", - "commandHint_ignore": "Ignorar o ID Matrix especificado", - "commandHint_unignore": "Parar de ignorar o ID Matrix especificado", - "sessionLostBody": "Sua sessão foi desconectada. Relate este ao desenvolvedor em {url}. A mensagem de erro é: {error}", - "@sessionLostBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "sendReadReceiptsDescription": "Outros participantes nesta conversa podem ver quando você tiver lido uma mensagem.", - "verifyOtherUserDescription": "Se você verificar outro usuário, você terá certeza que você conhece com quem está conversando. 💪\n\nAo iniciar uma verificação, você e o outro usuário receberão um pop-up no app. Então vocês receberão uma série de emojis ou números para comparar um com o outro.\n\nA melhor maneira de fazer este procedimento é se encontrar pessoalmente ou através de uma chamada de vídeo. 👭", - "requestedKeyVerification": "{sender} solicitou uma verificação de chaves", - "@requestedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "verifyOtherDeviceDescription": "Ao verificar outro dispositivo, os dispositivos poderão trocar chaves, aumentando sua segurança. 💪 Ao iniciar a verificação, um pop-up aparecerá no app em ambos os aparelhos. Então você verá uma série de emojis ou números que você terá que comparar um com o outro. É melhor fazer esse procedimento com ambos os dispositivos em mãos antes de começar a verificação. 🤳", - "canceledKeyVerification": "{sender} cancelou a verificação de chaves", - "@canceledKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "isReadyForKeyVerification": "{sender} está pronto para a verificação de chaves", - "@isReadyForKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "completedKeyVerification": "{sender} concluiu a verificação de chaves", - "@completedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "stickers": "Figurinhas", - "discover": "Explorar", - "incomingMessages": "Mensagens recebidas", - "unreadChatsInApp": "{appname}: {unread} conversas não lidas", - "@unreadChatsInApp": { - "type": "String", - "placeholders": { - "appname": { - "type": "String" - }, - "unread": { - "type": "String" - } - } - }, - "appLockDescription": "Bloquear o app com um código PIN quando não estiver usando", - "accessAndVisibilityDescription": "Quem pode entrar nesta conversa e como a conversa pode ser descoberta.", - "calls": "Chamadas", - "customEmojisAndStickers": "Emojis e stickers customizados", - "customEmojisAndStickersBody": "Adicionar ou compartilhar emojis ou stickers customizados que podem ser usados em qualquer conversa.", - "hideRedactedMessages": "Ocultar mensagens apagadas", - "hideRedactedMessagesBody": "Se alguém apagar uma mensagem, esta mensagem não será mais visível na conversa.", - "hideInvalidOrUnknownMessageFormats": "Ocultar formatos de mensagem inválidos ou desconhecidos", - "usersMustKnock": "Usuários devem bater na porta", - "noOneCanJoin": "Ninguém pode entrar", - "knocking": "Batendo na porta", - "chatCanBeDiscoveredViaSearchOnServer": "A conversa pode ser descoberta por pesquisa em {server}", - "@chatCanBeDiscoveredViaSearchOnServer": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "publicChatAddresses": "Endereços de conversas públicas", - "thereAreCountUsersBlocked": "Nesse momento, há {count} usuários bloqueados.", - "@thereAreCountUsersBlocked": { - "type": "String", - "count": {} - }, - "globalChatId": "ID global de conversa", - "accessAndVisibility": "Acesso e visibilidade", - "passwordRecoverySettings": "Configurações de recuperação de senha", - "noDatabaseEncryption": "A criptografia do banco de dados não é suportada nesta plataforma", - "createNewAddress": "Criar um novo endereço", - "knock": "Bater na porta", - "searchIn": "Procurar na conversa {chat}...", - "@searchIn": { - "type": "String", - "placeholders": { - "chat": { - "type": "String" - } - } - }, - "searchMore": "Pesquisar mais...", - "gallery": "Galeria", - "files": "Arquivos", - "more": "Mais", - "deletePushRuleCanNotBeUndone": "Se você apagar esta configuração de notificação, isso não poderá ser desfeito.", - "shareKeysWith": "Compartilhar chaves com...", - "contentNotificationSettings": "Configurações de notificações de conteúdo", - "generalNotificationSettings": "Configurações de notificações gerais", - "notificationRuleContainsUserNameDescription": "Notifica o usuário quando a mensagem contém o seu nome de usuário.", - "notificationRuleMaster": "Silenciar todas as notificações", - "notificationRuleMasterDescription": "Sobrescreve todas as outras regras e desativa todas as notificações.", - "notificationRuleContainsDisplayName": "Contém o nome de exibição", - "notificationRuleRoomnotif": "Notificação de sala", - "notificationRuleIsRoomMentionDescription": "Notifica o usuário quando há uma menção de sala.", - "notificationRuleRoomnotifDescription": "Notifica o usuário quando uma mensagem contém '@room'.", - "notificationRuleTombstone": "Morte", - "notificationRuleReaction": "Reação", - "notificationRuleSuppressEditsDescription": "Omite notificações de mensagens editadas.", - "notificationRuleEncryptedRoomOneToOneDescription": "Notifica o usuário de mensagens em salas criptografas de 2 pessoas.", - "notificationRuleRoomOneToOne": "Sala de 2 pessoas", - "notificationRuleMessageDescription": "Notifica o usuário de mensagens gerais.", - "notificationRuleEncrypted": "Criptografado", - "unknownPushRule": "Regra de push desconhecida '{rule}'", - "@unknownPushRule": { - "type": "String", - "placeholders": { - "rule": { - "type": "String" - } - } - }, - "notificationRuleServerAclDescription": "Omite notificações de eventos de ACL de servidor.", - "unread": "Não lido", - "changeTheCanonicalRoomAlias": "Alterar o endereço público principal da conversa", - "doesNotSeemToBeAValidHomeserver": "Não parece ser um servidor compatível. URL errada?", - "website": "Site", - "compress": "Comprimir", - "invalidUrl": "URL inválida", - "appWantsToUseForLoginDescription": "Aqui, você permite que o app e o site compartilhem informações sobre você.", - "notificationRuleMemberEvent": "Evento de membro", - "crossVerifiedDevicesIfEnabled": "Dispositivos verificados por ambos se ativado", - "countInvited": "{count} convidados", - "@countInvited": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "checkList": "Lista de tarefas", - "synchronizingPleaseWaitCounter": " Sincronizando… ({percentage}%)", - "@synchronizingPleaseWaitCounter": { - "type": "String", - "placeholders": { - "percentage": { - "type": "String" - } - } - }, - "markAsUnread": "Marcar como não lido", - "updateInstalled": "🎉 Atualização da versão {version} instalada!", - "@updateInstalled": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "changelog": "Registro de mudanças", - "sendCanceled": "Envio cancelado", - "unableToJoinChat": "Não foi possível entrar na conversa. Talvez a outra pessoa já fechou a conversa.", - "noticeChatBackupDeviceVerification": "Observação: Quando você conecta todos os seus dispositivos ao backup de conversas, eles são verificados automaticamente.", - "continueText": "Continuar", - "blur": "Borrar:", - "opacity": "Opacidade:", - "setWallpaper": "Configurar plano de fundo", - "noContactInformationProvided": "O servidor não fornece nenhuma informação válida de contato", - "contactServerAdmin": "Contatar o administrador do servidor", - "contactServerSecurity": "Contatar a segurança do servidor", - "supportPage": "Página de ajuda", - "italicText": "Texto em itálico", - "strikeThrough": "Risco", - "appWantsToUseForLogin": "Usar '{server}' para conectar", - "@appWantsToUseForLogin": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "open": "Abrir", - "roomNotificationSettings": "Configurações de notificações de sala", - "userSpecificNotificationSettings": "Configurações de notificações específicas ao usuário", - "otherNotificationSettings": "Configurações de outras notificações", - "notificationRuleContainsUserName": "Contém o nome de usuário", - "notificationRuleSuppressNotices": "Omitir mensagens automáticas", - "notificationRuleInviteForMe": "Convite para mim", - "notificationRuleMemberEventDescription": "Omite todas as notificações de eventos de membro.", - "notificationRuleIsUserMention": "Menção de usuário", - "notificationRuleContainsDisplayNameDescription": "Notifica o usuário quando uma mensagem contém seu nome de exibição.", - "notificationRuleCall": "Chamada", - "sentVoiceMessage": "🎙️ {duration} - Mensagem de voz de {sender}", - "@sentVoiceMessage": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "duration": { - "type": "String" - } - } - }, - "crossVerifiedDevices": "Dispositivos verificados por ambos", - "takeAPhoto": "Tirar uma foto", - "youHaveKnocked": "Bateram na sua porta", - "changeGeneralChatSettings": "Alterar configurações gerais de conversa", - "inviteOtherUsers": "Convidar outros usuários para esta conversa", - "adminLevel": "{level} - Administrador", - "@adminLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "changeTheChatPermissions": "Alterar as permissões da conversa", - "changeTheVisibilityOfChatHistory": "Alterar a visibilidade do histórico de conversa", - "sendImages": "Enviar {count} imagens", - "@sendImages": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "goToSpace": "Ir ao espaço: {space}", - "@goToSpace": { - "type": "String", - "space": {} - }, - "loginWithMatrixId": "Conectar com ID Matrix", - "calculatingFileSize": "Calculando o tamanho do arquivo...", - "oneOfYourDevicesIsNotVerified": "Um dos seus dispositivos não está verificado", - "manageAccount": "Gerenciar conta", - "newChatRequest": "📩 Nova solicitação de conversa", - "userLevel": "{level} - Usuário", - "@userLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "enterNewChat": "Abrir a conversa nova", - "notificationRuleSuppressNoticesDescription": "Omite notificações de clientes automatizados, como bots.", - "notificationRuleInviteForMeDescription": "Notifica o usuário quando for convidado para uma sala.", - "approve": "Aprovar", - "notificationRuleEncryptedRoomOneToOne": "Sala criptografada de 2 pessoas", - "pleaseWaitUntilInvited": "Aguarde até que alguém da sala te convide.", - "waitingForServer": "Aguardando o servidor...", - "notificationRuleEncryptedDescription": "Notifica o usuário de mensagens em salas criptografadas.", - "sendRoomNotifications": "Enviar notificações de @room", - "notificationRuleRoomServerAclDescription": "Omite notificações de listas de controle de acesso de servidor de uma sala (ACL).", - "notificationRuleIsUserMentionDescription": "Notifica o usuário quando é mencionado diretamente em uma mensagem.", - "notificationRuleSuppressEdits": "Omitir edições", - "shareKeysWithDescription": "Quais dispositivos devem ser confiados para que possam ler suas mensagens em conversas criptografas?", - "allDevices": "Todos os dispositivos", - "aboutHomeserver": "Sobre {homeserver}", - "@aboutHomeserver": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "swipeRightToLeftToReply": "Deslizar da direita pra esquerda para responder", - "verifiedDevicesOnly": "Somente dispositivos verificados", - "boldText": "Texto em negrito", - "recordAVideo": "Gravar um vídeo", - "optionalMessage": "(Opcional) mensagem...", - "notSupportedOnThisDevice": "Não há suporte neste dispositivo", - "commandHint_roomupgrade": "Atualizar esta sala para a versão de sala especificada", - "noMoreChatsFound": "Mais nenhuma conversa foi encontrada...", - "noChatsFoundHere": "Nenhuma conversa encontrada aqui ainda. Inicie uma nova conversa com alguém usando o botão abaixo. ⤵️", - "space": "Espaço", - "moderatorLevel": "{level} - Moderador", - "@moderatorLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "changeTheDescriptionOfTheGroup": "Alterar a descrição da conversa", - "chatPermissionsDescription": "Configurar qual o nível de poder é necessário para certas ações nesta conversa. Os níveis de poder 0, 50, e 100 são normalmente para representar usuários, moderadores, e administradores, mas qualquer configuração é possível.", - "serverInformation": "Informações do servidor:", - "name": "Nome", - "version": "Versão", - "pleaseFillOut": "Preencha", - "addLink": "Adicionar link", - "notificationRuleRoomServerAcl": "ACL de servidores de sala", - "notificationRuleCallDescription": "Notifica o usuário de chamadas.", - "notificationRuleRoomOneToOneDescription": "Notifica o usuário de mensagens em salas de duas pessoas.", - "notificationRuleMessage": "Mensagem", - "notificationRuleJitsi": "Jitsi", - "notificationRuleJitsiDescription": "Notifica o usuário de eventos de widget do Jitsi.", - "notificationRuleServerAcl": "Omitir eventos de ACL de servidor", - "notificationRuleIsRoomMention": "Menção de sala", - "notificationRuleTombstoneDescription": "Notifica o usuário de mensagens de desativação de salas.", - "notificationRuleReactionDescription": "Omite notificações de reações.", - "commandHint_logout": "Desconecte-se do seu dispositivo atual", - "commandHint_logoutall": "Desconecte-se de todos os dispositivos ativos", - "displayNavigationRail": "Mostrar trilha de navegação em dispositivo móvel", - "previous": "Anterior", - "otherPartyNotLoggedIn": "A outra pessoa não tem nenhum dispositivo conectado no momento e portanto não consegue receber mensagens!", - "customReaction": "Reação personalizada", - "moreEvents": "Mais eventos", - "declineInvitation": "Rejeitar convite", - "noMessagesYet": "Nenhuma mensagem ainda", - "longPressToRecordVoiceMessage": "Segure para gravar uma mensagem de voz.", - "pause": "Pausar", - "resume": "Retomar", - "removeFromSpaceDescription": "A conversa será removida do espaço mas ainda aparecerá na sua lista de conversas.", - "countChats": "{chats} conversas", - "@countChats": { - "type": "String", - "placeholders": { - "chats": { - "type": "int" - } - } - }, - "spaceMemberOf": "Membro do espaço de {spaces}", - "@spaceMemberOf": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "spaceMemberOfCanKnock": "Membro do espaço de {spaces} pode bater na porta", - "@spaceMemberOfCanKnock": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "startPoll": "Abrir enquete", - "endPoll": "Fechar enquete", - "answersVisible": "Respostas visíveis", - "pollQuestion": "Questão da enquete", - "answerOption": "Opção de resposta", - "addAnswerOption": "Adicionar opção de resposta", - "allowMultipleAnswers": "Permitir várias respostas", - "pollHasBeenEnded": "A enquete terminou", - "countVotes": "{count, plural, =1{Um voto} other{{count} votos}}", - "@countVotes": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "answersWillBeVisibleWhenPollHasEnded": "As respostas ficarão visíveis quando a enquete terminar", - "replyInThread": "Responder no tópico", - "countReplies": "{count, plural, =1{Uma resposta} other{{count} respostas}}", - "@countReplies": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "thread": "Tópico", - "backToMainChat": "Voltar à conversa principal", - "saveChanges": "Salvar alterações", - "createSticker": "Criar figurinha ou emoji", - "useAsSticker": "Usar como figurinha", - "useAsEmoji": "Usar como emoji", - "stickerPackNameAlreadyExists": "O nome do pacote de figurinhas já existe", - "newStickerPack": "Novo pacote de figurinhas", - "stickerPackName": "Nome do pacote de figurinhas", - "attribution": "Créditos", - "skipChatBackup": "Pular backup de conversas", - "skipChatBackupWarning": "Tem certeza? Se não ativar o backup de conversas, você pode perder o acesso às suas mensagens se trocar de dispositivo.", - "changedTheChatDescription": "{username} alterou a descrição da conversa", - "changedTheChatName": "{username} alterou o nome da conversa", - "versionWithNumber": "Versão: {version}", - "@versionWithNumber": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "@mute": { - "description": "This should be a very short string because there is not much space in the button!" - }, - "@chatSearchedUntil": { - "type": "String", - "placeholders": { - "time": { - "type": "String" - } - } - }, - "channels": "Canais", - "@channels": { - "type": "String", - "placeholders": {} - }, - "spaces": "Espaços", - "@spaces": { - "type": "String", - "placeholders": {} - }, - "murals": "Murais", - "@murals": { - "type": "String", - "placeholders": {} - }, - "muralsComingSoon": "Murais em breve", - "@muralsComingSoon": { - "type": "String", - "placeholders": {} - }, - "noChannelsFound": "Nenhum canal por aqui", - "@noChannelsFound": { - "type": "String", - "placeholders": {} - }, - "noSpacesFound": "Nenhum espaço por aqui", - "@noSpacesFound": { - "type": "String", - "placeholders": {} - }, - "noMuralsFound": "Nenhum mural por aqui", - "@noMuralsFound": { - "type": "String", - "placeholders": {} - }, - "selectASpace": "Selecione um espaço", - "@selectASpace": { - "type": "String", - "placeholders": {} - }, - "newPost": "Nova publicação", - "@newPost": { - "type": "String", - "placeholders": {} - }, - "postPhoto": "Postar foto", - "@postPhoto": { - "type": "String", - "placeholders": {} - }, - "postVideo": "Postar vídeo", - "@postVideo": { - "type": "String", - "placeholders": {} - }, - "noPostsYet": "Nenhuma publicação ainda. Compartilhe a primeira foto ou vídeo!", - "@noPostsYet": { - "type": "String", - "placeholders": {} - }, - "noCommentsYet": "Nenhum comentário ainda. Seja o primeiro a comentar!", - "@noCommentsYet": { - "type": "String", - "placeholders": {} - }, - "like": "Curtir", - "@like": { - "type": "String", - "placeholders": {} - }, - "unlike": "Descurtir", - "@unlike": { - "type": "String", - "placeholders": {} - }, - "editCaption": "Editar legenda", - "@editCaption": { - "type": "String", - "placeholders": {} - }, - "captionHint": "Legenda", - "@captionHint": { - "type": "String", - "placeholders": {} + } } -} \ No newline at end of file + }, + "account": "Conta", + "@account": { + "type": "String", + "placeholders": {} + }, + "activatedEndToEndEncryption": "🔐 {username} ativou a criptografia de ponta-a-ponta", + "@activatedEndToEndEncryption": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "addEmail": "Adicionar e-mail", + "@addEmail": { + "type": "String", + "placeholders": {} + }, + "admin": "Admin", + "@admin": { + "type": "String", + "placeholders": {} + }, + "alias": "cognome", + "@alias": { + "type": "String", + "placeholders": {} + }, + "all": "Tudo", + "@all": { + "type": "String", + "placeholders": {} + }, + "answeredTheCall": "{senderName} atendeu à chamada", + "@answeredTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "anyoneCanJoin": "Qualquer pessoa pode entrar", + "@anyoneCanJoin": { + "type": "String", + "placeholders": {} + }, + "appLock": "Bloqueio do app", + "@appLock": { + "type": "String", + "placeholders": {} + }, + "archive": "Arquivo", + "@archive": { + "type": "String", + "placeholders": {} + }, + "areGuestsAllowedToJoin": "Visitantes podem entrar", + "@areGuestsAllowedToJoin": { + "type": "String", + "placeholders": {} + }, + "areYouSure": "Tem certeza?", + "@areYouSure": { + "type": "String", + "placeholders": {} + }, + "areYouSureYouWantToLogout": "Tem certeza que deseja se desconectar?", + "@areYouSureYouWantToLogout": { + "type": "String", + "placeholders": {} + }, + "askSSSSSign": "Para poder validar a outra pessoa, digite sua frase secreta ou chave de recuperação.", + "@askSSSSSign": { + "type": "String", + "placeholders": {} + }, + "askVerificationRequest": "Aceitar esta solicitação de verificação de {username}?", + "@askVerificationRequest": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "autoplayImages": "Reproduzir automaticamente figurinhas animadas e emojis", + "@autoplayImages": { + "type": "String", + "placeholder": {} + }, + "badServerLoginTypesException": "O servidor suporta os tipos de entrada/login:\n{serverVersions}\nMas este app suporta apenas:\n{supportedVersions}", + "@badServerLoginTypesException": { + "type": "String", + "placeholders": { + "serverVersions": { + "type": "String" + }, + "supportedVersions": { + "type": "String" + } + } + }, + "banFromChat": "Banir da conversa", + "@banFromChat": { + "type": "String", + "placeholders": {} + }, + "banned": "Banidos", + "@banned": { + "type": "String", + "placeholders": {} + }, + "bannedUser": "{username} baniu {targetName}", + "@bannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "blockDevice": "Bloquear dispositivo", + "@blockDevice": { + "type": "String", + "placeholders": {} + }, + "blocked": "Bloqueado", + "@blocked": { + "type": "String", + "placeholders": {} + }, + "cancel": "Cancelar", + "@cancel": { + "type": "String", + "placeholders": {} + }, + "cantOpenUri": "Não foi possível abrir a URI {uri}", + "@cantOpenUri": { + "type": "String", + "placeholders": { + "uri": { + "type": "String" + } + } + }, + "changeDeviceName": "Alterar o nome do dispositivo", + "@changeDeviceName": { + "type": "String", + "placeholders": {} + }, + "changedTheChatAvatar": "{username} alterou o avatar da conversa", + "@changedTheChatAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheChatPermissions": "{username} alterou as permissões na conversa", + "@changedTheChatPermissions": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheDisplaynameTo": "{username} mudou o seu nome de exibição para: '{displayname}'", + "@changedTheDisplaynameTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "displayname": { + "type": "String" + } + } + }, + "changedTheGuestAccessRules": "{username} alterou as regras de acesso dos visitantes", + "@changedTheGuestAccessRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheGuestAccessRulesTo": "{username} alterou as regras de acesso dos visitantes para: {rules}", + "@changedTheGuestAccessRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheHistoryVisibility": "{username} alterou a visibilidade do histórico", + "@changedTheHistoryVisibility": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheHistoryVisibilityTo": "{username} alterou a visibilidade do histórico para: {rules}", + "@changedTheHistoryVisibilityTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheJoinRules": "{username} alterou as regras de entrada", + "@changedTheJoinRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheJoinRulesTo": "{username} alterou as regras de entrada para: {joinRules}", + "@changedTheJoinRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "joinRules": { + "type": "String" + } + } + }, + "changedTheProfileAvatar": "{username} alterou seu avatar", + "@changedTheProfileAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomAliases": "{username} alterou os apelidos da sala", + "@changedTheRoomAliases": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomInvitationLink": "{username} alterou o link de convite", + "@changedTheRoomInvitationLink": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changePassword": "Alterar a senha", + "@changePassword": { + "type": "String", + "placeholders": {} + }, + "changeTheHomeserver": "Alterar o servidor", + "@changeTheHomeserver": { + "type": "String", + "placeholders": {} + }, + "changeTheme": "Alterar o tema", + "@changeTheme": { + "type": "String", + "placeholders": {} + }, + "changeTheNameOfTheGroup": "Alterar o nome do grupo", + "@changeTheNameOfTheGroup": { + "type": "String", + "placeholders": {} + }, + "changeYourAvatar": "Alterar seu avatar", + "@changeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "channelCorruptedDecryptError": "A criptografia foi corrompida", + "@channelCorruptedDecryptError": { + "type": "String", + "placeholders": {} + }, + "chat": "Conversar", + "@chat": { + "type": "String", + "placeholders": {} + }, + "chatBackup": "Backup de conversas", + "@chatBackup": { + "type": "String", + "placeholders": {} + }, + "chatDetails": "Detalhes da conversa", + "@chatDetails": { + "type": "String", + "placeholders": {} + }, + "chats": "Conversas", + "@chats": { + "type": "String", + "placeholders": {} + }, + "chooseAStrongPassword": "Escolha uma senha forte", + "@chooseAStrongPassword": { + "type": "String", + "placeholders": {} + }, + "clearArchive": "Limpar arquivo", + "close": "Fechar", + "@close": { + "type": "String", + "placeholders": {} + }, + "commandHint_ban": "Banir o usuário especificado desta sala", + "@commandHint_ban": { + "type": "String", + "description": "Usage hint for the command /ban" + }, + "commandHint_html": "Enviar mensagem formatada em HTML", + "@commandHint_html": { + "type": "String", + "description": "Usage hint for the command /html" + }, + "commandHint_invite": "Convidar o usuário especificado para esta sala", + "@commandHint_invite": { + "type": "String", + "description": "Usage hint for the command /invite" + }, + "commandHint_join": "Entrar na sala especificada", + "@commandHint_join": { + "type": "String", + "description": "Usage hint for the command /join" + }, + "commandHint_kick": "Remover o usuário especificado da sala", + "@commandHint_kick": { + "type": "String", + "description": "Usage hint for the command /kick" + }, + "commandHint_leave": "Sair desta sala", + "@commandHint_leave": { + "type": "String", + "description": "Usage hint for the command /leave" + }, + "commandHint_me": "Descrever você mesmo", + "@commandHint_me": { + "type": "String", + "description": "Usage hint for the command /me" + }, + "commandHint_myroomavatar": "Configurar sua imagem para esta sala (via mxc-uri)", + "@commandHint_myroomavatar": { + "type": "String", + "description": "Usage hint for the command /myroomavatar" + }, + "commandHint_myroomnick": "Configurar seu nome de exibição para esta sala", + "@commandHint_myroomnick": { + "type": "String", + "description": "Usage hint for the command /myroomnick" + }, + "commandHint_op": "Determinar o nível de poderes do usuário especificado (padrão: 50)", + "@commandHint_op": { + "type": "String", + "description": "Usage hint for the command /op" + }, + "commandHint_plain": "Enviar mensagem sem formatação", + "@commandHint_plain": { + "type": "String", + "description": "Usage hint for the command /plain" + }, + "commandHint_react": "Enviar uma resposta como reação", + "@commandHint_react": { + "type": "String", + "description": "Usage hint for the command /react" + }, + "commandHint_send": "Enviar mensagem", + "@commandHint_send": { + "type": "String", + "description": "Usage hint for the command /send" + }, + "commandHint_unban": "Desbanir o usuário especificado desta sala", + "@commandHint_unban": { + "type": "String", + "description": "Usage hint for the command /unban" + }, + "commandInvalid": "Comando inválido", + "@commandInvalid": { + "type": "String" + }, + "commandMissing": "{command} não é um comando.", + "@commandMissing": { + "type": "String", + "placeholders": { + "command": { + "type": "String" + } + }, + "description": "State that {command} is not a valid /command." + }, + "compareEmojiMatch": "Compare os emojis", + "@compareEmojiMatch": { + "type": "String", + "placeholders": {} + }, + "compareNumbersMatch": "Compare os números", + "@compareNumbersMatch": { + "type": "String", + "placeholders": {} + }, + "configureChat": "Configurar conversa", + "@configureChat": { + "type": "String", + "placeholders": {} + }, + "contactHasBeenInvitedToTheGroup": "O contato foi convidado ao grupo", + "@contactHasBeenInvitedToTheGroup": { + "type": "String", + "placeholders": {} + }, + "contentHasBeenReported": "O conteúdo foi denunciado para os administradores do servidor", + "@contentHasBeenReported": { + "type": "String", + "placeholders": {} + }, + "copiedToClipboard": "Copiado para a área de transferência", + "@copiedToClipboard": { + "type": "String", + "placeholders": {} + }, + "copy": "Copiar", + "@copy": { + "type": "String", + "placeholders": {} + }, + "copyToClipboard": "Copiar para a área de transferência", + "@copyToClipboard": { + "type": "String", + "placeholders": {} + }, + "couldNotDecryptMessage": "Não foi possível descriptografar a mensagem: {error}", + "@couldNotDecryptMessage": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "countParticipants": "{count} participantes", + "@countParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "create": "Criar", + "@create": { + "type": "String", + "placeholders": {} + }, + "createdTheChat": "💬 {username} criou a conversa", + "@createdTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "createNewSpace": "Novo espaço", + "@createNewSpace": { + "type": "String", + "placeholders": {} + }, + "currentlyActive": "Ativo", + "@currentlyActive": { + "type": "String", + "placeholders": {} + }, + "darkTheme": "Escuro", + "@darkTheme": { + "type": "String", + "placeholders": {} + }, + "dateAndTimeOfDay": "{date} às {timeOfDay}", + "@dateAndTimeOfDay": { + "type": "String", + "placeholders": { + "date": { + "type": "String" + }, + "timeOfDay": { + "type": "String" + } + } + }, + "deactivateAccountWarning": "Isto desativará a sua conta. Isto é irreversível! Tem certeza?", + "@deactivateAccountWarning": { + "type": "String", + "placeholders": {} + }, + "defaultPermissionLevel": "Nível de permissão padrão para usuários novos", + "@defaultPermissionLevel": { + "type": "String", + "placeholders": {} + }, + "delete": "Apagar", + "@delete": { + "type": "String", + "placeholders": {} + }, + "deleteAccount": "Apagar conta", + "@deleteAccount": { + "type": "String", + "placeholders": {} + }, + "deleteMessage": "Apagar mensagem", + "@deleteMessage": { + "type": "String", + "placeholders": {} + }, + "devices": "Dispositivos", + "@devices": { + "type": "String", + "placeholders": {} + }, + "directChats": "Conversas diretas", + "@directChats": { + "type": "String", + "placeholders": {} + }, + "displaynameHasBeenChanged": "O nome de exibição foi alterado", + "@displaynameHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "downloadFile": "Baixar arquivo", + "@downloadFile": { + "type": "String", + "placeholders": {} + }, + "edit": "Editar", + "@edit": { + "type": "String", + "placeholders": {} + }, + "editBlockedServers": "Editar servidores bloqueados", + "@editBlockedServers": { + "type": "String", + "placeholders": {} + }, + "editDisplayname": "Editar nome de exibição", + "@editDisplayname": { + "type": "String", + "placeholders": {} + }, + "editRoomAliases": "Editar apelidos da sala", + "@editRoomAliases": { + "type": "String", + "placeholders": {} + }, + "editRoomAvatar": "Editar o avatar da sala", + "@editRoomAvatar": { + "type": "String", + "placeholders": {} + }, + "emoteExists": "Emoji já existe!", + "@emoteExists": { + "type": "String", + "placeholders": {} + }, + "emoteInvalid": "Código emoji inválido!", + "@emoteInvalid": { + "type": "String", + "placeholders": {} + }, + "emoteShortcode": "Código Emoji", + "@emoteShortcode": { + "type": "String", + "placeholders": {} + }, + "emptyChat": "Conversa vazia", + "@emptyChat": { + "type": "String", + "placeholders": {} + }, + "enableEmotesGlobally": "Habilitar globalmente o pacote de emoji", + "@enableEmotesGlobally": { + "type": "String", + "placeholders": {} + }, + "enableEncryption": "Ativar criptografia", + "@enableEncryption": { + "type": "String", + "placeholders": {} + }, + "enableEncryptionWarning": "Você não poderá desativar a criptografia posteriormente. Tem certeza?", + "@enableEncryptionWarning": { + "type": "String", + "placeholders": {} + }, + "encrypted": "Criptografado", + "@encrypted": { + "type": "String", + "placeholders": {} + }, + "encryption": "Criptografia", + "@encryption": { + "type": "String", + "placeholders": {} + }, + "encryptionNotEnabled": "A criptografia não está ativada", + "@encryptionNotEnabled": { + "type": "String", + "placeholders": {} + }, + "endedTheCall": "{senderName} finalizou a chamada", + "@endedTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "enterAnEmailAddress": "Digite um endereço de e-mail", + "@enterAnEmailAddress": { + "type": "String", + "placeholders": {} + }, + "errorObtainingLocation": "Erro ao obter localização: {error}", + "@errorObtainingLocation": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "fontSize": "Tamanho da fonte", + "@fontSize": { + "type": "String", + "placeholders": {} + }, + "forward": "Encaminhar", + "@forward": { + "type": "String", + "placeholders": {} + }, + "fromJoining": "Desde que entrou", + "@fromJoining": { + "type": "String", + "placeholders": {} + }, + "fromTheInvitation": "Desde o convite", + "@fromTheInvitation": { + "type": "String", + "placeholders": {} + }, + "group": "Grupo", + "@group": { + "type": "String", + "placeholders": {} + }, + "groupIsPublic": "O grupo é público", + "@groupIsPublic": { + "type": "String", + "placeholders": {} + }, + "groups": "Grupos", + "@groups": { + "type": "String", + "placeholders": {} + }, + "groupWith": "Grupo com {displayname}", + "@groupWith": { + "type": "String", + "placeholders": { + "displayname": { + "type": "String" + } + } + }, + "guestsAreForbidden": "Visitantes são proibidos", + "@guestsAreForbidden": { + "type": "String", + "placeholders": {} + }, + "guestsCanJoin": "Visitantes podem entrar", + "@guestsCanJoin": { + "type": "String", + "placeholders": {} + }, + "hasWithdrawnTheInvitationFor": "{username} revogou o convite para {targetName}", + "@hasWithdrawnTheInvitationFor": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "help": "Ajuda", + "@help": { + "type": "String", + "placeholders": {} + }, + "hideUnknownEvents": "Ocultar eventos desconhecidos", + "@hideUnknownEvents": { + "type": "String", + "placeholders": {} + }, + "ignore": "Ignorar", + "@ignore": { + "type": "String", + "placeholders": {} + }, + "ignoredUsers": "Usuários ignorados", + "@ignoredUsers": { + "type": "String", + "placeholders": {} + }, + "iHaveClickedOnLink": "Eu cliquei no link", + "@iHaveClickedOnLink": { + "type": "String", + "placeholders": {} + }, + "incorrectPassphraseOrKey": "Frase secreta ou chave de recuperação incorreta", + "@incorrectPassphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "inviteContact": "Convidar contato", + "@inviteContact": { + "type": "String", + "placeholders": {} + }, + "inviteContactToGroup": "Convidar contato para {groupName}", + "@inviteContactToGroup": { + "type": "String", + "placeholders": { + "groupName": { + "type": "String" + } + } + }, + "invited": "Convidado", + "@invited": { + "type": "String", + "placeholders": {} + }, + "invitedUser": "📩 {username} convidou {targetName}", + "@invitedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "invitedUsersOnly": "Apenas usuários convidados", + "@invitedUsersOnly": { + "type": "String", + "placeholders": {} + }, + "inviteText": "{username} convidou você para o FluffyChat.\n1. Visite fluffychat.im e instale o aplicativo\n2. Entre ou crie uma conta\n3. Abra o link do convite:\n{link}", + "@inviteText": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "link": { + "type": "String" + } + } + }, + "isTyping": "está digitando…", + "@isTyping": { + "type": "String", + "placeholders": {} + }, + "joinedTheChat": "👋 {username} entrou na conversa", + "@joinedTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "joinRoom": "Entrar na sala", + "@joinRoom": { + "type": "String", + "placeholders": {} + }, + "kicked": "👞 {username} expulsou {targetName}", + "@kicked": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickedAndBanned": "🙅 {username} expulsou e baniu {targetName}", + "@kickedAndBanned": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickFromChat": "Expulsar da conversa", + "@kickFromChat": { + "type": "String", + "placeholders": {} + }, + "lastActiveAgo": "Última vez ativo: {localizedTimeShort}", + "@lastActiveAgo": { + "type": "String", + "placeholders": { + "localizedTimeShort": { + "type": "String" + } + } + }, + "leave": "Sair", + "@leave": { + "type": "String", + "placeholders": {} + }, + "leftTheChat": "Saiu da conversa", + "@leftTheChat": { + "type": "String", + "placeholders": {} + }, + "lightTheme": "Claro", + "@lightTheme": { + "type": "String", + "placeholders": {} + }, + "loadCountMoreParticipants": "Carregar mais {count} participantes", + "@loadCountMoreParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "loadingPleaseWait": "Carregando... Aguarde.", + "@loadingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "loadMore": "Carregar mais…", + "@loadMore": { + "type": "String", + "placeholders": {} + }, + "locationDisabledNotice": "Os serviços de localização estão desativados. Ative-os para compartilhar sua localização.", + "@locationDisabledNotice": { + "type": "String", + "placeholders": {} + }, + "locationPermissionDeniedNotice": "Permissão de localização bloqueada. Conceda as permissões para poder compartilhar sua localização.", + "@locationPermissionDeniedNotice": { + "type": "String", + "placeholders": {} + }, + "login": "Conectar-se", + "@login": { + "type": "String", + "placeholders": {} + }, + "logInTo": "Conectar com {homeserver}", + "@logInTo": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "logout": "Desconectar-se", + "@logout": { + "type": "String", + "placeholders": {} + }, + "mention": "Mencionar", + "@mention": { + "type": "String", + "placeholders": {} + }, + "messages": "Mensagens", + "@messages": { + "type": "String", + "placeholders": {} + }, + "moderator": "Moderador", + "@moderator": { + "type": "String", + "placeholders": {} + }, + "muteChat": "Silenciar conversa", + "@muteChat": { + "type": "String", + "placeholders": {} + }, + "newChat": "Nova conversa", + "@newChat": { + "type": "String", + "placeholders": {} + }, + "newMessageInFluffyChat": "💬 Nova mensagem no FluffyChat", + "@newMessageInFluffyChat": { + "type": "String", + "placeholders": {} + }, + "newVerificationRequest": "Nova solicitação de verificação!", + "@newVerificationRequest": { + "type": "String", + "placeholders": {} + }, + "next": "Avançar", + "@next": { + "type": "String", + "placeholders": {} + }, + "no": "Não", + "@no": { + "type": "String", + "placeholders": {} + }, + "noConnectionToTheServer": "Sem conexão com o servidor", + "@noConnectionToTheServer": { + "type": "String", + "placeholders": {} + }, + "noEmotesFound": "Nenhum emoji encontrado. 😕", + "@noEmotesFound": { + "type": "String", + "placeholders": {} + }, + "noEncryptionForPublicRooms": "Você só poderá ativar a criptografia quando a sala não for mais publicamente acessível.", + "@noEncryptionForPublicRooms": { + "type": "String", + "placeholders": {} + }, + "noGoogleServicesWarning": "O Firebase Cloud Messaging não parece estar disponível no seu dispositivo. Para receber notificações push, recomendados que você instwl3 o ntfy. Com o ntfy outro provedor do UnifiedPush, você pode receber notificações push de um modo seguro em relação aos dados. Você pode baixar o ntfy da Play Store ou do F-Droid.", + "@noGoogleServicesWarning": { + "type": "String", + "placeholders": {} + }, + "noMatrixServer": "{server1} não é um servidor matrix, usar {server2}?", + "@noMatrixServer": { + "type": "String", + "placeholders": { + "server1": { + "type": "String" + }, + "server2": { + "type": "String" + } + } + }, + "noPasswordRecoveryDescription": "Você ainda não adicionou uma forma de recuperar sua senha.", + "@noPasswordRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "noPermission": "Sem permissão", + "@noPermission": { + "type": "String", + "placeholders": {} + }, + "noRoomsFound": "Nenhuma sala encontrada…", + "@noRoomsFound": { + "type": "String", + "placeholders": {} + }, + "notifications": "Notificações", + "@notifications": { + "type": "String", + "placeholders": {} + }, + "numUsersTyping": "{count} usuários estão digitando…", + "@numUsersTyping": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "obtainingLocation": "Obtendo localização…", + "@obtainingLocation": { + "type": "String", + "placeholders": {} + }, + "ok": "Ok", + "@ok": { + "type": "String", + "placeholders": {} + }, + "onlineKeyBackupEnabled": "O backup de chaves on-line está ativado", + "@onlineKeyBackupEnabled": { + "type": "String", + "placeholders": {} + }, + "oopsPushError": "Opa! Infelizmente, um erro ocorreu ao configurar as notificações push.", + "@oopsPushError": { + "type": "String", + "placeholders": {} + }, + "oopsSomethingWentWrong": "Opa, algo deu errado…", + "@oopsSomethingWentWrong": { + "type": "String", + "placeholders": {} + }, + "openAppToReadMessages": "Abra o app para ler as mensagens", + "@openAppToReadMessages": { + "type": "String", + "placeholders": {} + }, + "openCamera": "Abrir câmera", + "@openCamera": { + "type": "String", + "placeholders": {} + }, + "openInMaps": "Abrir no mapa", + "@openInMaps": { + "type": "String", + "placeholders": {} + }, + "or": "Ou", + "@or": { + "type": "String", + "placeholders": {} + }, + "participant": "Participante", + "@participant": { + "type": "String", + "placeholders": {} + }, + "passphraseOrKey": "frase secreta ou chave de recuperação", + "@passphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "password": "Senha", + "@password": { + "type": "String", + "placeholders": {} + }, + "passwordForgotten": "Esqueci a senha", + "@passwordForgotten": { + "type": "String", + "placeholders": {} + }, + "passwordHasBeenChanged": "Senha foi alterada", + "@passwordHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "passwordRecovery": "Recuperação de senha", + "@passwordRecovery": { + "type": "String", + "placeholders": {} + }, + "pin": "Fixar", + "@pin": { + "type": "String", + "placeholders": {} + }, + "pleaseChooseAPasscode": "Escolha um código", + "@pleaseChooseAPasscode": { + "type": "String", + "placeholders": {} + }, + "pleaseClickOnLink": "Clique no link do e-mail para prosseguir.", + "@pleaseClickOnLink": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPassword": "Digite sua senha", + "@pleaseEnterYourPassword": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPin": "Digite seu PIN", + "@pleaseEnterYourPin": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourUsername": "Digite seu nome de usuário", + "@pleaseEnterYourUsername": { + "type": "String", + "placeholders": {} + }, + "pleaseFollowInstructionsOnWeb": "Siga as instruções no site e toque em avançar.", + "@pleaseFollowInstructionsOnWeb": { + "type": "String", + "placeholders": {} + }, + "privacy": "Privacidade", + "@privacy": { + "type": "String", + "placeholders": {} + }, + "publicRooms": "Salas públicas", + "@publicRooms": { + "type": "String", + "placeholders": {} + }, + "reason": "Motivo", + "@reason": { + "type": "String", + "placeholders": {} + }, + "redactedAnEvent": "{username} apagou um evento", + "@redactedAnEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "redactMessage": "Apagar mensagem", + "@redactMessage": { + "type": "String", + "placeholders": {} + }, + "reject": "Recusar", + "@reject": { + "type": "String", + "placeholders": {} + }, + "rejectedTheInvitation": "{username} recusou o convite", + "@rejectedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "remove": "Remover", + "@remove": { + "type": "String", + "placeholders": {} + }, + "removeAllOtherDevices": "Remover todos os outros dispositivos", + "@removeAllOtherDevices": { + "type": "String", + "placeholders": {} + }, + "unbanFromChat": "Desbanir da conversa", + "@unbanFromChat": { + "type": "String", + "placeholders": {} + }, + "removeYourAvatar": "Remover seu avatar", + "@removeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "replaceRoomWithNewerVersion": "Substituir sala por uma nova versão", + "@replaceRoomWithNewerVersion": { + "type": "String", + "placeholders": {} + }, + "reply": "Responder", + "@reply": { + "type": "String", + "placeholders": {} + }, + "reportMessage": "Denunciar mensagem", + "@reportMessage": { + "type": "String", + "placeholders": {} + }, + "roomHasBeenUpgraded": "A sala foi atualizada", + "@roomHasBeenUpgraded": { + "type": "String", + "placeholders": {} + }, + "roomVersion": "Versão da sala", + "@roomVersion": { + "type": "String", + "placeholders": {} + }, + "saveFile": "Salvar arquivo", + "@saveFile": { + "type": "String", + "placeholders": {} + }, + "search": "Pesquisar", + "@search": { + "type": "String", + "placeholders": {} + }, + "security": "Segurança", + "@security": { + "type": "String", + "placeholders": {} + }, + "send": "Enviar", + "@send": { + "type": "String", + "placeholders": {} + }, + "sendAMessage": "Enviar uma mensagem", + "@sendAMessage": { + "type": "String", + "placeholders": {} + }, + "sendAsText": "Enviar como texto", + "@sendAsText": { + "type": "String" + }, + "sendAudio": "Enviar áudio", + "@sendAudio": { + "type": "String", + "placeholders": {} + }, + "sendFile": "Enviar arquivo", + "@sendFile": { + "type": "String", + "placeholders": {} + }, + "sendImage": "Enviar imagem", + "@sendImage": { + "type": "String", + "placeholders": {} + }, + "sendMessages": "Enviar mensagens", + "@sendMessages": { + "type": "String", + "placeholders": {} + }, + "sendVideo": "Enviar vídeo", + "@sendVideo": { + "type": "String", + "placeholders": {} + }, + "sentAFile": "📁 {username} enviou um arquivo", + "@sentAFile": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAnAudio": "🎤 {username} enviou um áudio", + "@sentAnAudio": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAPicture": "🖼️ {username} enviou uma imagem", + "@sentAPicture": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentASticker": "😊 {username} enviou uma figurinha", + "@sentASticker": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAVideo": "🎥 {username} enviou um vídeo", + "@sentAVideo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentCallInformations": "{senderName} enviou informações de chamada", + "@sentCallInformations": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "setAsCanonicalAlias": "Configurar como apelido principal", + "@setAsCanonicalAlias": { + "type": "String", + "placeholders": {} + }, + "setStatus": "Alterar estado", + "@setStatus": { + "type": "String", + "placeholders": {} + }, + "settings": "Configurações", + "@settings": { + "type": "String", + "placeholders": {} + }, + "share": "Compartilhar", + "@share": { + "type": "String", + "placeholders": {} + }, + "sharedTheLocation": "{username} compartilhou sua localização", + "@sharedTheLocation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "shareLocation": "Compartilhar localização", + "@shareLocation": { + "type": "String", + "placeholders": {} + }, + "skip": "Pular", + "@skip": { + "type": "String", + "placeholders": {} + }, + "sourceCode": "Código-fonte", + "@sourceCode": { + "type": "String", + "placeholders": {} + }, + "spaceIsPublic": "O espaço é público", + "@spaceIsPublic": { + "type": "String", + "placeholders": {} + }, + "spaceName": "Nome do espaço", + "@spaceName": { + "type": "String", + "placeholders": {} + }, + "startedACall": "{senderName} iniciou uma chamada", + "@startedACall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "status": "Estado", + "@status": { + "type": "String", + "placeholders": {} + }, + "statusExampleMessage": "Como vai você?", + "@statusExampleMessage": { + "type": "String", + "placeholders": {} + }, + "submit": "Enviar", + "@submit": { + "type": "String", + "placeholders": {} + }, + "synchronizingPleaseWait": "Sincronizando… Aguarde.", + "@synchronizingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "systemTheme": "Sistema", + "@systemTheme": { + "type": "String", + "placeholders": {} + }, + "theyDontMatch": "Não correspondem", + "@theyDontMatch": { + "type": "String", + "placeholders": {} + }, + "theyMatch": "Correspondem", + "@theyMatch": { + "type": "String", + "placeholders": {} + }, + "tooManyRequestsWarning": "Demasiadas requisições. Por favor, tente novamente mais tarde!", + "@tooManyRequestsWarning": { + "type": "String", + "placeholders": {} + }, + "tryToSendAgain": "Tentar enviar novamente", + "@tryToSendAgain": { + "type": "String", + "placeholders": {} + }, + "unbannedUser": "{username} desbaniu {targetName}", + "@unbannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "unblockDevice": "Desbloquear dispositivo", + "@unblockDevice": { + "type": "String", + "placeholders": {} + }, + "unknownDevice": "Dispositivo desconhecido", + "@unknownDevice": { + "type": "String", + "placeholders": {} + }, + "unknownEncryptionAlgorithm": "Algoritmo de criptografia desconhecido", + "@unknownEncryptionAlgorithm": { + "type": "String", + "placeholders": {} + }, + "unknownEvent": "Evento desconhecido '{type}'", + "@unknownEvent": { + "type": "String", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "unmuteChat": "Dessilenciar", + "@unmuteChat": { + "type": "String", + "placeholders": {} + }, + "unpin": "Desafixar", + "@unpin": { + "type": "String", + "placeholders": {} + }, + "userAndOthersAreTyping": "{username} e mais {count} pessoas estão digitando…", + "@userAndOthersAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "count": { + "type": "int" + } + } + }, + "userAndUserAreTyping": "{username} e {username2} estão digitando…", + "@userAndUserAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "username2": { + "type": "String" + } + } + }, + "userIsTyping": "{username} está digitando…", + "@userIsTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "userLeftTheChat": "🚪 {username} saiu da conversa", + "@userLeftTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "userSentUnknownEvent": "{username} enviou um evento de {type}", + "@userSentUnknownEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "type": { + "type": "String" + } + } + }, + "verified": "Verificado", + "@verified": { + "type": "String", + "placeholders": {} + }, + "verifyStart": "Iniciar verificação", + "@verifyStart": { + "type": "String", + "placeholders": {} + }, + "verifySuccess": "Verificação efetivada!", + "@verifySuccess": { + "type": "String", + "placeholders": {} + }, + "verifyTitle": "Verificando outra conta", + "@verifyTitle": { + "type": "String", + "placeholders": {} + }, + "visibilityOfTheChatHistory": "Visibilidade do histórico da conversa", + "@visibilityOfTheChatHistory": { + "type": "String", + "placeholders": {} + }, + "visibleForAllParticipants": "Visível para todos os participantes", + "@visibleForAllParticipants": { + "type": "String", + "placeholders": {} + }, + "visibleForEveryone": "Visível para qualquer pessoa", + "@visibleForEveryone": { + "type": "String", + "placeholders": {} + }, + "voiceMessage": "Mensagem de voz", + "@voiceMessage": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerAcceptRequest": "Esperando que a outra pessoa aceite a solicitação…", + "@waitingPartnerAcceptRequest": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerEmoji": "Esperando que a outra pessoa aceite os emojis…", + "@waitingPartnerEmoji": { + "type": "String", + "placeholders": {} + }, + "waitingPartnerNumbers": "Aguardando a outra pessoa aceitar os números…", + "@waitingPartnerNumbers": { + "type": "String", + "placeholders": {} + }, + "warning": "Atenção!", + "@warning": { + "type": "String", + "placeholders": {} + }, + "weSentYouAnEmail": "Enviamos um e-mail para você", + "@weSentYouAnEmail": { + "type": "String", + "placeholders": {} + }, + "whoCanPerformWhichAction": "Quem pode desempenhar quais ações", + "@whoCanPerformWhichAction": { + "type": "String", + "placeholders": {} + }, + "whoIsAllowedToJoinThisGroup": "Quem pode entrar no grupo", + "@whoIsAllowedToJoinThisGroup": { + "type": "String", + "placeholders": {} + }, + "whyDoYouWantToReportThis": "Por que quer denunciar isto?", + "@whyDoYouWantToReportThis": { + "type": "String", + "placeholders": {} + }, + "withTheseAddressesRecoveryDescription": "Você pode recuperar a sua senha com estes endereços.", + "@withTheseAddressesRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "writeAMessage": "Digite sua mensagem…", + "@writeAMessage": { + "type": "String", + "placeholders": {} + }, + "yes": "Sim", + "@yes": { + "type": "String", + "placeholders": {} + }, + "you": "Você", + "@you": { + "type": "String", + "placeholders": {} + }, + "youAreNoLongerParticipatingInThisChat": "Você não está mais participando desta conversa", + "@youAreNoLongerParticipatingInThisChat": { + "type": "String", + "placeholders": {} + }, + "youHaveBeenBannedFromThisChat": "Você foi banido desta conversa", + "@youHaveBeenBannedFromThisChat": { + "type": "String", + "placeholders": {} + }, + "yourPublicKey": "Sua chave pública", + "@yourPublicKey": { + "type": "String", + "placeholders": {} + }, + "oneClientLoggedOut": "Um dos seus clientes foi desconectado", + "addAccount": "Adicionar conta", + "unverified": "Não verificado", + "editBundlesForAccount": "Editar coleções para esta conta", + "messageInfo": "Informações da mensagem", + "sender": "Remetente", + "removeFromSpace": "Remover do espaço", + "link": "Link", + "repeatPassword": "Repita a senha", + "addToSpace": "Adicionar ao espaço", + "sendOnEnter": "Enviar ao pressionar enter", + "commandHint_clearcache": "Limpar dados temporários", + "@commandHint_clearcache": { + "type": "String", + "description": "Usage hint for the command /clearcache" + }, + "commandHint_create": "Criar uma conversa em grupo vazia.\nUse --no-encryption para desativar a criptografia", + "@commandHint_create": { + "type": "String", + "description": "Usage hint for the command /create" + }, + "commandHint_discardsession": "Descartar sessão", + "@commandHint_discardsession": { + "type": "String", + "description": "Usage hint for the command /discardsession" + }, + "commandHint_dm": "Iniciar uma conversa direta\nUse --no-encryption para desativar a criptografia", + "@commandHint_dm": { + "type": "String", + "description": "Usage hint for the command /dm" + }, + "scanQrCode": "Ler código QR", + "addToBundle": "Adicionar à coleção", + "removeFromBundle": "Remover desta coleção", + "bundleName": "Nome da coleção", + "time": "Horário", + "openGallery": "Abrir galeria", + "markAsRead": "Marcar como lido", + "reportUser": "Denunciar usuário", + "emojis": "Emojis", + "reactedWith": "{sender} reagiu com {reaction}", + "@reactedWith": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "reaction": { + "type": "String" + } + } + }, + "confirmEventUnpin": "Tem certeza que quer desafixar o evento permanentemente?", + "pinMessage": "Fixar na sala", + "unsupportedAndroidVersion": "Versão Android sem suporte", + "unsupportedAndroidVersionLong": "Esta funcionalidade requer uma versão mais nova do Android. Verifique se há atualizações ou suporte ao LineageOS.", + "youRejectedTheInvitation": "Você rejeitou o convite", + "youBannedUser": "Você baniu {user}", + "@youBannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youHaveWithdrawnTheInvitationFor": "Você revogou o convite para {user}", + "@youHaveWithdrawnTheInvitationFor": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youInvitedBy": "📩 Você foi convidado por {user}", + "@youInvitedBy": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youInvitedUser": "📩 Você convidou {user}", + "@youInvitedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youAcceptedTheInvitation": "👍 Você aceitou o convite", + "youJoinedTheChat": "Você entrou na conversa", + "youKicked": "👞 Você expulsou {user}", + "@youKicked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youKickedAndBanned": "🙅 Você expulsou e baniu {user}", + "@youKickedAndBanned": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "youUnbannedUser": "Você desbaniu {user}", + "@youUnbannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "cuddleContent": "{senderName} afagou você", + "@cuddleContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "users": "Usuários", + "confirmMatrixId": "Confirme seu ID Matrix para apagar sua conta.", + "supposedMxid": "Isto deveria ser {mxid}", + "@supposedMxid": { + "type": "String", + "placeholders": { + "mxid": { + "type": "String" + } + } + }, + "commandHint_cuddle": "Enviar um afago", + "commandHint_hug": "Enviar um abraço", + "commandHint_googly": "Enviar olhos arregalados", + "googlyEyesContent": "{senderName} enviou olhos arregalados", + "@googlyEyesContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "hugContent": "{senderName} abraçou você", + "@hugContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "commandHint_markasdm": "Marcar como sala de mensagens diretas para o ID Matrix fornecido", + "commandHint_markasgroup": "Marcar como grupo", + "hydrate": "Restaurar a partir de um arquivo de backup", + "storeInAndroidKeystore": "Guardar no cofre do Android (KeyStore)", + "storeInAppleKeyChain": "Guardar no chaveiro da Apple", + "storeSecurlyOnThisDevice": "Guardar de modo seguro neste dispositivo", + "user": "Usuário", + "custom": "Personalizado", + "newSpace": "Novo espaço", + "newCanal": "Novo canal", + "newMural": "Novo mural", + "countFiles": "{count} arquivos", + "@countFiles": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "doNotShowAgain": "Não mostrar novamente", + "dehydrate": "Exportar sessão e apagar dispositivo", + "dehydrateWarning": "Esta ação não pode ser desfeita. Certifique-se de que o arquivo de backup está guardado e seguro.", + "whyIsThisMessageEncrypted": "Por que não consigo ler esta mensagem?", + "noKeyForThisMessage": "Isto pode ocorrer caso a mensagem tenha sido enviada antes de você ter se conectado à sua conta com este dispositivo.\n\nTambém é possível que o remetente tenha bloqueado o seu dispositivo ou ocorreu algum problema com a conexão.\n\nVocê consegue ler as mensagens em outra sessão? Então, pode transferir as mensagens de lá! Vá em Configurações > Dispositivos e confira se os dispositivos verificaram um ao outro. Quando abrir a sala da próxima vez e ambas as sessões estiverem abertas, as chaves serão transmitidas automaticamente.\n\nNão gostaria de perder suas chaves ao desconectar ou trocar de dispositivos? Certifique-se que o backup de conversas esteja ativado nas configurações.", + "notAnImage": "Não é um arquivo de imagem.", + "importNow": "Importar agora", + "importEmojis": "Importar emojis", + "importFromZipFile": "Importar de arquivo .zip", + "sendTypingNotifications": "Enviar indicadores de digitação", + "exportEmotePack": "Exportar pacote de emojis como .zip", + "replace": "Substituir", + "jumpToLastReadMessage": "Pular para a última mensagem lida", + "reportErrorDescription": "😭 Ah, não. Algo deu errado. Se quiser, pode relatar isto aos desenvolvedores.", + "setColorTheme": "Aplicar paleta de cor:", + "banUserDescription": "O usuário será banido da conversa e não poderá participar novamente até que sejam desbanidos.", + "removeDevicesDescription": "Você será desconectado deste dispositivo e não poderá mais receber mensagens.", + "tryAgain": "Tentar novamente", + "unbanUserDescription": "O usuário poderá entrar novamente na conversa, caso tente.", + "messagesStyle": "Mensagens:", + "newSpaceDescription": "Os espaços permitem que você consolide suas conversas e construa comunidades públicas ou privadas.", + "newCanalDescription": "O canal é uma sala onde somente administradores podem publicar. Use-o para transmitir comunicados oficiais.", + "newMuralDescription": "O mural é um quadro de avisos onde todos podem publicar. Use-o para deixar recados para a sua comunidade.", + "chatDescription": "Descrição da conversa", + "encryptThisChat": "Criptografar esta conversa", + "reopenChat": "Reabrir conversa", + "pushNotificationsNotAvailable": "Notificações push não estão disponíveis", + "invalidServerName": "Nome do servidor inválido", + "chatPermissions": "Permissões da conversa", + "makeAdminDescription": "Assim que promover este usuário a administrador, não poderá desfazer isto e ele terá as mesmas permissões que você.", + "setChatDescription": "Configurar descrição da conversa", + "noOtherDevicesFound": "Nenhum outro dispositivo encontrado", + "redactedBy": "Apagado por {username}", + "@redactedBy": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "fileIsTooBigForServer": "Não foi possível enviar! O servidor suporta anexos somente até {max}.", + "readUpToHere": "Lido até aqui", + "optionalRedactReason": "(Opcional) Motivo para apagar esta mensagem.", + "archiveRoomDescription": "A conversa será movida para o arquivo. Outros usuários verão que você deixou a conversa.", + "redactedByBecause": "Apagado por {username}, pois: \"{reason}\"", + "@redactedByBecause": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "reason": { + "type": "String" + } + } + }, + "fileHasBeenSavedAt": "Arquivo salvo em {path}", + "@fileHasBeenSavedAt": { + "type": "String", + "placeholders": { + "path": { + "type": "String" + } + } + }, + "redactMessageDescription": "A mensagem será apagada para todos os participantes desta conversa. Isto não poderá ser desfeito.", + "invalidInput": "Entrada inválida!", + "report": "relatar", + "hasKnocked": "🚪 {user} bateu na porta", + "@hasKnocked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "openLinkInBrowser": "Abrir link no navegador", + "disableEncryptionWarning": "Por razões de segurança, não é possível desativar a criptografada uma vez ativada.", + "wrongPinEntered": "PIN incorreto! Tente novamente em {seconds} segundos...", + "@wrongPinEntered": { + "type": "String", + "placeholders": { + "seconds": { + "type": "int" + } + } + }, + "inviteGroupChat": "📨 Convite para conversa em grupo", + "wasDirectChatDisplayName": "Conversa vazia (era {oldDisplayName})", + "@wasDirectChatDisplayName": { + "type": "String", + "placeholders": { + "oldDisplayName": { + "type": "String" + } + } + }, + "noChatDescriptionYet": "Nenhuma descrição para a conversa foi criada ainda.", + "learnMore": "Saiba mais", + "chatDescriptionHasBeenChanged": "Descrição da conversa alterada", + "roomUpgradeDescription": "A conversa será recriada com a nova versão de sala. Todos participantes será notificados e terão que migrar para a nova sala. Você pode encontrar mais informações sobre versões de sala em https://spec.matrix.org/latest/room/", + "pleaseEnterANumber": "Digite um número maior que 0", + "jump": "Pular", + "sorryThatsNotPossible": "Desculpe... isto não é possível", + "shareInviteLink": "Compartilhar link de convite", + "emoteKeyboardNoRecents": "Emojis recentes aparecem aqui...", + "@emoteKeyboardNoRecents": { + "type": "String", + "placeholders": {} + }, + "createGroup": "Criar grupo", + "canal": "Canal", + "canalIsPublic": "O canal é público", + "canalName": "Nome do canal", + "canalOnlyAdminCanPost": "Somente administradores do canal podem publicar nesta sala", + "createCanalAndInviteUsers": "Criar um canal e convidar pessoas", + "createMuralAndInviteUsers": "Criar um mural e convidar pessoas", + "mural": "Mural", + "muralIsPublic": "O mural é público", + "muralName": "Nome do mural", + "noBackupWarning": "Atenção! Se não ativar o backup de conversas, você perderá acesso a suas mensagens criptografadas. É altamente recomendável ativar o backup antes de sair.", + "kickUserDescription": "O usuário foi expulso da conversa, mas não banido. Em conversas públicas, o usuário pode entrar novamente a qualquer momento.", + "invite": "Convidar", + "blockListDescription": "Você pode bloquear usuários que estejam te perturbando. Você não receberá mensagens ou convites de usuários na sua lista pessoal de bloqueios.", + "createGroupAndInviteUsers": "Criar um grupo e convidar pessoas", + "thisDevice": "Este dispositivo:", + "publicSpaces": "Espaços públicos", + "blockedUsers": "Usuários bloqueados", + "passwordIsWrong": "A senha digitada está incorreta", + "pleaseEnterYourCurrentPassword": "Digite sua senha atual", + "groupCanBeFoundViaSearch": "Grupos podem ser encontrados por pesquisa", + "noUsersFoundWithQuery": "Infelizmente, não foi encontrado usuário com \"{query}\". Verifique se digitou corretamente.", + "@noUsersFoundWithQuery": { + "type": "String", + "placeholders": { + "query": { + "type": "String" + } + } + }, + "block": "Bloquear", + "nothingFound": "Nada foi encontrado...", + "yourGlobalUserIdIs": "Seu ID global de usuário é: ", + "newPassword": "Nova senha", + "passwordsDoNotMatch": "As senhas não correspondem", + "commandHint_sendraw": "Enviar JSON puro", + "wrongRecoveryKey": "Desculpe... esta não parece ser a chave de recuperação correta.", + "select": "Selecionar", + "pleaseChooseAStrongPassword": "Escolha uma senha forte", + "blockUsername": "Ignorar nome de usuário", + "addChatOrSubSpace": "Adicionar conversa ou subespaço", + "groupName": "Nome do grupo", + "leaveEmptyToClearStatus": "Deixe em branco para limpar seu estado.", + "joinSpace": "Entrar no espaço", + "searchForUsers": "Pesquisar por @usuários...", + "databaseMigrationTitle": "O banco de dados está otimizado", + "searchChatsRooms": "Pesquisar por #conversas, @usuários...", + "databaseMigrationBody": "Aguarde. Isto pode demorar um pouco.", + "formattedMessagesDescription": "Exibir conteúdo de mensagem rico, como texto em negrito usando markdown.", + "verifyOtherUser": "🔐 Verificar outro usuário", + "verifyOtherDevice": "🔐 Verificar outro dispositivo", + "acceptedKeyVerification": "{sender} aceitou a verificação de chaves", + "@acceptedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "startedKeyVerification": "{sender} iniciou a verificação de chaves", + "@startedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "initAppError": "Ocorreu um erro enquanto o app era iniciado", + "restoreSessionBody": "O app tentará agora restaurar sua sessão a partir do backup. Relate isto ao desenvolvedor em {url}. A mensagem de erro é: {error}", + "@restoreSessionBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "sendReadReceipts": "Enviar recibos de leitura", + "sendTypingNotificationsDescription": "Outros participantes nesta conversa podem ver quando você está digitando uma nova mensagem.", + "formattedMessages": "Mensagens formatadas", + "commandHint_ignore": "Ignorar o ID Matrix especificado", + "commandHint_unignore": "Parar de ignorar o ID Matrix especificado", + "sessionLostBody": "Sua sessão foi desconectada. Relate este ao desenvolvedor em {url}. A mensagem de erro é: {error}", + "@sessionLostBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "sendReadReceiptsDescription": "Outros participantes nesta conversa podem ver quando você tiver lido uma mensagem.", + "verifyOtherUserDescription": "Se você verificar outro usuário, você terá certeza que você conhece com quem está conversando. 💪\n\nAo iniciar uma verificação, você e o outro usuário receberão um pop-up no app. Então vocês receberão uma série de emojis ou números para comparar um com o outro.\n\nA melhor maneira de fazer este procedimento é se encontrar pessoalmente ou através de uma chamada de vídeo. 👭", + "requestedKeyVerification": "{sender} solicitou uma verificação de chaves", + "@requestedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "verifyOtherDeviceDescription": "Ao verificar outro dispositivo, os dispositivos poderão trocar chaves, aumentando sua segurança. 💪 Ao iniciar a verificação, um pop-up aparecerá no app em ambos os aparelhos. Então você verá uma série de emojis ou números que você terá que comparar um com o outro. É melhor fazer esse procedimento com ambos os dispositivos em mãos antes de começar a verificação. 🤳", + "canceledKeyVerification": "{sender} cancelou a verificação de chaves", + "@canceledKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "isReadyForKeyVerification": "{sender} está pronto para a verificação de chaves", + "@isReadyForKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "completedKeyVerification": "{sender} concluiu a verificação de chaves", + "@completedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "stickers": "Figurinhas", + "discover": "Explorar", + "incomingMessages": "Mensagens recebidas", + "unreadChatsInApp": "{appname}: {unread} conversas não lidas", + "@unreadChatsInApp": { + "type": "String", + "placeholders": { + "appname": { + "type": "String" + }, + "unread": { + "type": "String" + } + } + }, + "appLockDescription": "Bloquear o app com um código PIN quando não estiver usando", + "accessAndVisibilityDescription": "Quem pode entrar nesta conversa e como a conversa pode ser descoberta.", + "calls": "Chamadas", + "customEmojisAndStickers": "Emojis e stickers customizados", + "customEmojisAndStickersBody": "Adicionar ou compartilhar emojis ou stickers customizados que podem ser usados em qualquer conversa.", + "hideRedactedMessages": "Ocultar mensagens apagadas", + "hideRedactedMessagesBody": "Se alguém apagar uma mensagem, esta mensagem não será mais visível na conversa.", + "hideInvalidOrUnknownMessageFormats": "Ocultar formatos de mensagem inválidos ou desconhecidos", + "usersMustKnock": "Usuários devem bater na porta", + "noOneCanJoin": "Ninguém pode entrar", + "knocking": "Batendo na porta", + "chatCanBeDiscoveredViaSearchOnServer": "A conversa pode ser descoberta por pesquisa em {server}", + "@chatCanBeDiscoveredViaSearchOnServer": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "publicChatAddresses": "Endereços de conversas públicas", + "thereAreCountUsersBlocked": "Nesse momento, há {count} usuários bloqueados.", + "@thereAreCountUsersBlocked": { + "type": "String", + "count": {} + }, + "globalChatId": "ID global de conversa", + "accessAndVisibility": "Acesso e visibilidade", + "passwordRecoverySettings": "Configurações de recuperação de senha", + "noDatabaseEncryption": "A criptografia do banco de dados não é suportada nesta plataforma", + "createNewAddress": "Criar um novo endereço", + "knock": "Bater na porta", + "searchIn": "Procurar na conversa {chat}...", + "@searchIn": { + "type": "String", + "placeholders": { + "chat": { + "type": "String" + } + } + }, + "searchMore": "Pesquisar mais...", + "gallery": "Galeria", + "files": "Arquivos", + "more": "Mais", + "deletePushRuleCanNotBeUndone": "Se você apagar esta configuração de notificação, isso não poderá ser desfeito.", + "shareKeysWith": "Compartilhar chaves com...", + "contentNotificationSettings": "Configurações de notificações de conteúdo", + "generalNotificationSettings": "Configurações de notificações gerais", + "notificationRuleContainsUserNameDescription": "Notifica o usuário quando a mensagem contém o seu nome de usuário.", + "notificationRuleMaster": "Silenciar todas as notificações", + "notificationRuleMasterDescription": "Sobrescreve todas as outras regras e desativa todas as notificações.", + "notificationRuleContainsDisplayName": "Contém o nome de exibição", + "notificationRuleRoomnotif": "Notificação de sala", + "notificationRuleIsRoomMentionDescription": "Notifica o usuário quando há uma menção de sala.", + "notificationRuleRoomnotifDescription": "Notifica o usuário quando uma mensagem contém '@room'.", + "notificationRuleTombstone": "Morte", + "notificationRuleReaction": "Reação", + "notificationRuleSuppressEditsDescription": "Omite notificações de mensagens editadas.", + "notificationRuleEncryptedRoomOneToOneDescription": "Notifica o usuário de mensagens em salas criptografas de 2 pessoas.", + "notificationRuleRoomOneToOne": "Sala de 2 pessoas", + "notificationRuleMessageDescription": "Notifica o usuário de mensagens gerais.", + "notificationRuleEncrypted": "Criptografado", + "unknownPushRule": "Regra de push desconhecida '{rule}'", + "@unknownPushRule": { + "type": "String", + "placeholders": { + "rule": { + "type": "String" + } + } + }, + "notificationRuleServerAclDescription": "Omite notificações de eventos de ACL de servidor.", + "unread": "Não lido", + "changeTheCanonicalRoomAlias": "Alterar o endereço público principal da conversa", + "doesNotSeemToBeAValidHomeserver": "Não parece ser um servidor compatível. URL errada?", + "website": "Site", + "compress": "Comprimir", + "invalidUrl": "URL inválida", + "appWantsToUseForLoginDescription": "Aqui, você permite que o app e o site compartilhem informações sobre você.", + "notificationRuleMemberEvent": "Evento de membro", + "crossVerifiedDevicesIfEnabled": "Dispositivos verificados por ambos se ativado", + "countInvited": "{count} convidados", + "@countInvited": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "checkList": "Lista de tarefas", + "synchronizingPleaseWaitCounter": " Sincronizando… ({percentage}%)", + "@synchronizingPleaseWaitCounter": { + "type": "String", + "placeholders": { + "percentage": { + "type": "String" + } + } + }, + "markAsUnread": "Marcar como não lido", + "updateInstalled": "🎉 Atualização da versão {version} instalada!", + "@updateInstalled": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "changelog": "Registro de mudanças", + "sendCanceled": "Envio cancelado", + "unableToJoinChat": "Não foi possível entrar na conversa. Talvez a outra pessoa já fechou a conversa.", + "noticeChatBackupDeviceVerification": "Observação: Quando você conecta todos os seus dispositivos ao backup de conversas, eles são verificados automaticamente.", + "continueText": "Continuar", + "blur": "Borrar:", + "opacity": "Opacidade:", + "setWallpaper": "Configurar plano de fundo", + "noContactInformationProvided": "O servidor não fornece nenhuma informação válida de contato", + "contactServerAdmin": "Contatar o administrador do servidor", + "contactServerSecurity": "Contatar a segurança do servidor", + "supportPage": "Página de ajuda", + "italicText": "Texto em itálico", + "strikeThrough": "Risco", + "appWantsToUseForLogin": "Usar '{server}' para conectar", + "@appWantsToUseForLogin": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "open": "Abrir", + "roomNotificationSettings": "Configurações de notificações de sala", + "userSpecificNotificationSettings": "Configurações de notificações específicas ao usuário", + "otherNotificationSettings": "Configurações de outras notificações", + "notificationRuleContainsUserName": "Contém o nome de usuário", + "notificationRuleSuppressNotices": "Omitir mensagens automáticas", + "notificationRuleInviteForMe": "Convite para mim", + "notificationRuleMemberEventDescription": "Omite todas as notificações de eventos de membro.", + "notificationRuleIsUserMention": "Menção de usuário", + "notificationRuleContainsDisplayNameDescription": "Notifica o usuário quando uma mensagem contém seu nome de exibição.", + "notificationRuleCall": "Chamada", + "sentVoiceMessage": "🎙️ {duration} - Mensagem de voz de {sender}", + "@sentVoiceMessage": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "crossVerifiedDevices": "Dispositivos verificados por ambos", + "takeAPhoto": "Tirar uma foto", + "youHaveKnocked": "Bateram na sua porta", + "changeGeneralChatSettings": "Alterar configurações gerais de conversa", + "inviteOtherUsers": "Convidar outros usuários para esta conversa", + "adminLevel": "{level} - Administrador", + "@adminLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "changeTheChatPermissions": "Alterar as permissões da conversa", + "changeTheVisibilityOfChatHistory": "Alterar a visibilidade do histórico de conversa", + "sendImages": "Enviar {count} imagens", + "@sendImages": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "goToSpace": "Ir ao espaço: {space}", + "@goToSpace": { + "type": "String", + "space": {} + }, + "loginWithMatrixId": "Conectar com ID Matrix", + "calculatingFileSize": "Calculando o tamanho do arquivo...", + "oneOfYourDevicesIsNotVerified": "Um dos seus dispositivos não está verificado", + "manageAccount": "Gerenciar conta", + "newChatRequest": "📩 Nova solicitação de conversa", + "userLevel": "{level} - Usuário", + "@userLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "enterNewChat": "Abrir a conversa nova", + "notificationRuleSuppressNoticesDescription": "Omite notificações de clientes automatizados, como bots.", + "notificationRuleInviteForMeDescription": "Notifica o usuário quando for convidado para uma sala.", + "approve": "Aprovar", + "notificationRuleEncryptedRoomOneToOne": "Sala criptografada de 2 pessoas", + "pleaseWaitUntilInvited": "Aguarde até que alguém da sala te convide.", + "waitingForServer": "Aguardando o servidor...", + "notificationRuleEncryptedDescription": "Notifica o usuário de mensagens em salas criptografadas.", + "sendRoomNotifications": "Enviar notificações de @room", + "notificationRuleRoomServerAclDescription": "Omite notificações de listas de controle de acesso de servidor de uma sala (ACL).", + "notificationRuleIsUserMentionDescription": "Notifica o usuário quando é mencionado diretamente em uma mensagem.", + "notificationRuleSuppressEdits": "Omitir edições", + "shareKeysWithDescription": "Quais dispositivos devem ser confiados para que possam ler suas mensagens em conversas criptografas?", + "allDevices": "Todos os dispositivos", + "aboutHomeserver": "Sobre {homeserver}", + "@aboutHomeserver": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "swipeRightToLeftToReply": "Deslizar da direita pra esquerda para responder", + "verifiedDevicesOnly": "Somente dispositivos verificados", + "boldText": "Texto em negrito", + "recordAVideo": "Gravar um vídeo", + "optionalMessage": "(Opcional) mensagem...", + "notSupportedOnThisDevice": "Não há suporte neste dispositivo", + "commandHint_roomupgrade": "Atualizar esta sala para a versão de sala especificada", + "noMoreChatsFound": "Mais nenhuma conversa foi encontrada...", + "noChatsFoundHere": "Nenhuma conversa encontrada aqui ainda. Inicie uma nova conversa com alguém usando o botão abaixo. ⤵️", + "space": "Espaço", + "moderatorLevel": "{level} - Moderador", + "@moderatorLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "changeTheDescriptionOfTheGroup": "Alterar a descrição da conversa", + "chatPermissionsDescription": "Configurar qual o nível de poder é necessário para certas ações nesta conversa. Os níveis de poder 0, 50, e 100 são normalmente para representar usuários, moderadores, e administradores, mas qualquer configuração é possível.", + "serverInformation": "Informações do servidor:", + "name": "Nome", + "version": "Versão", + "pleaseFillOut": "Preencha", + "addLink": "Adicionar link", + "notificationRuleRoomServerAcl": "ACL de servidores de sala", + "notificationRuleCallDescription": "Notifica o usuário de chamadas.", + "notificationRuleRoomOneToOneDescription": "Notifica o usuário de mensagens em salas de duas pessoas.", + "notificationRuleMessage": "Mensagem", + "notificationRuleJitsi": "Jitsi", + "notificationRuleJitsiDescription": "Notifica o usuário de eventos de widget do Jitsi.", + "notificationRuleServerAcl": "Omitir eventos de ACL de servidor", + "notificationRuleIsRoomMention": "Menção de sala", + "notificationRuleTombstoneDescription": "Notifica o usuário de mensagens de desativação de salas.", + "notificationRuleReactionDescription": "Omite notificações de reações.", + "commandHint_logout": "Desconecte-se do seu dispositivo atual", + "commandHint_logoutall": "Desconecte-se de todos os dispositivos ativos", + "displayNavigationRail": "Mostrar trilha de navegação em dispositivo móvel", + "previous": "Anterior", + "otherPartyNotLoggedIn": "A outra pessoa não tem nenhum dispositivo conectado no momento e portanto não consegue receber mensagens!", + "customReaction": "Reação personalizada", + "moreEvents": "Mais eventos", + "declineInvitation": "Rejeitar convite", + "noMessagesYet": "Nenhuma mensagem ainda", + "longPressToRecordVoiceMessage": "Segure para gravar uma mensagem de voz.", + "pause": "Pausar", + "resume": "Retomar", + "removeFromSpaceDescription": "A conversa será removida do espaço mas ainda aparecerá na sua lista de conversas.", + "countChats": "{chats} conversas", + "@countChats": { + "type": "String", + "placeholders": { + "chats": { + "type": "int" + } + } + }, + "spaceMemberOf": "Membro do espaço de {spaces}", + "@spaceMemberOf": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "spaceMemberOfCanKnock": "Membro do espaço de {spaces} pode bater na porta", + "@spaceMemberOfCanKnock": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "startPoll": "Abrir enquete", + "endPoll": "Fechar enquete", + "answersVisible": "Respostas visíveis", + "pollQuestion": "Questão da enquete", + "answerOption": "Opção de resposta", + "addAnswerOption": "Adicionar opção de resposta", + "allowMultipleAnswers": "Permitir várias respostas", + "pollHasBeenEnded": "A enquete terminou", + "countVotes": "{count, plural, =1{Um voto} other{{count} votos}}", + "@countVotes": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "answersWillBeVisibleWhenPollHasEnded": "As respostas ficarão visíveis quando a enquete terminar", + "replyInThread": "Responder no tópico", + "countReplies": "{count, plural, =1{Uma resposta} other{{count} respostas}}", + "@countReplies": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "thread": "Tópico", + "backToMainChat": "Voltar à conversa principal", + "saveChanges": "Salvar alterações", + "createSticker": "Criar figurinha ou emoji", + "useAsSticker": "Usar como figurinha", + "useAsEmoji": "Usar como emoji", + "stickerPackNameAlreadyExists": "O nome do pacote de figurinhas já existe", + "newStickerPack": "Novo pacote de figurinhas", + "stickerPackName": "Nome do pacote de figurinhas", + "attribution": "Créditos", + "skipChatBackup": "Pular backup de conversas", + "skipChatBackupWarning": "Tem certeza? Se não ativar o backup de conversas, você pode perder o acesso às suas mensagens se trocar de dispositivo.", + "changedTheChatDescription": "{username} alterou a descrição da conversa", + "changedTheChatName": "{username} alterou o nome da conversa", + "versionWithNumber": "Versão: {version}", + "@versionWithNumber": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "@mute": { + "description": "This should be a very short string because there is not much space in the button!" + }, + "@chatSearchedUntil": { + "type": "String", + "placeholders": { + "time": { + "type": "String" + } + } + }, + "channels": "Canais", + "@channels": { + "type": "String", + "placeholders": {} + }, + "spaces": "Espaços", + "@spaces": { + "type": "String", + "placeholders": {} + }, + "murals": "Murais", + "@murals": { + "type": "String", + "placeholders": {} + }, + "muralsComingSoon": "Murais em breve", + "@muralsComingSoon": { + "type": "String", + "placeholders": {} + }, + "noChannelsFound": "Nenhum canal por aqui", + "@noChannelsFound": { + "type": "String", + "placeholders": {} + }, + "noSpacesFound": "Nenhum espaço por aqui", + "@noSpacesFound": { + "type": "String", + "placeholders": {} + }, + "noMuralsFound": "Nenhum mural por aqui", + "@noMuralsFound": { + "type": "String", + "placeholders": {} + }, + "selectASpace": "Selecione um espaço", + "@selectASpace": { + "type": "String", + "placeholders": {} + }, + "newPost": "Nova publicação", + "@newPost": { + "type": "String", + "placeholders": {} + }, + "postPhoto": "Postar foto", + "@postPhoto": { + "type": "String", + "placeholders": {} + }, + "postVideo": "Postar vídeo", + "@postVideo": { + "type": "String", + "placeholders": {} + }, + "noPostsYet": "Nenhuma publicação ainda. Compartilhe a primeira foto ou vídeo!", + "@noPostsYet": { + "type": "String", + "placeholders": {} + }, + "noCommentsYet": "Nenhum comentário ainda. Seja o primeiro a comentar!", + "@noCommentsYet": { + "type": "String", + "placeholders": {} + }, + "like": "Curtir", + "@like": { + "type": "String", + "placeholders": {} + }, + "unlike": "Descurtir", + "@unlike": { + "type": "String", + "placeholders": {} + }, + "editCaption": "Editar legenda", + "@editCaption": { + "type": "String", + "placeholders": {} + }, + "captionHint": "Legenda", + "@captionHint": { + "type": "String", + "placeholders": {} + }, + "areYouSureDeletePost": "Apagar" +} diff --git a/lib/l10n/intl_pt_PT.arb b/lib/l10n/intl_pt_PT.arb index 92add3c..02d7830 100644 --- a/lib/l10n/intl_pt_PT.arb +++ b/lib/l10n/intl_pt_PT.arb @@ -1,2249 +1,2250 @@ { - "repeatPassword": "Repete a palavra-passe", - "about": "Acerca de", - "@about": { - "type": "String", - "placeholders": {} - }, - "accept": "Aceitar", - "@accept": { - "type": "String", - "placeholders": {} - }, - "acceptedTheInvitation": "{username} aceitou o convite", - "@acceptedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "account": "Conta", - "@account": { - "type": "String", - "placeholders": {} - }, - "activatedEndToEndEncryption": "{username} ativou encriptação ponta-a-ponta", - "@activatedEndToEndEncryption": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "addEmail": "Adicionar correio eletrónico", - "@addEmail": { - "type": "String", - "placeholders": {} - }, - "addToSpace": "Adicionar ao espaço", - "admin": "Admin", - "@admin": { - "type": "String", - "placeholders": {} - }, - "alias": "alcunha", - "@alias": { - "type": "String", - "placeholders": {} - }, - "all": "Todos(as)", - "@all": { - "type": "String", - "placeholders": {} - }, - "answeredTheCall": "{senderName} atendeu a chamada", - "@answeredTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "anyoneCanJoin": "Qualquer pessoa pode entrar", - "@anyoneCanJoin": { - "type": "String", - "placeholders": {} - }, - "archive": "Arquivo", - "@archive": { - "type": "String", - "placeholders": {} - }, - "areGuestsAllowedToJoin": "Os utilizadores convidados têm permissão para se juntarem?", - "@areGuestsAllowedToJoin": { - "type": "String", - "placeholders": {} - }, - "areYouSure": "Tens a certeza?", - "@areYouSure": { - "type": "String", - "placeholders": {} - }, - "areYouSureYouWantToLogout": "Tens a certeza que queres sair?", - "@areYouSureYouWantToLogout": { - "type": "String", - "placeholders": {} - }, - "askSSSSSign": "Para poderes assinar a outra pessoa, por favor, insere a tua senha de armazenamento seguro ou a chave de recuperação.", - "@askSSSSSign": { - "type": "String", - "placeholders": {} - }, - "askVerificationRequest": "Aceitar este pedido de verificação de {username}?", - "@askVerificationRequest": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "autoplayImages": "Automaticamente reproduzir autocolantes e emotes animados", - "@autoplayImages": { - "type": "String", - "placeholder": {} - }, - "sendOnEnter": "Enviar com Enter", - "badServerLoginTypesException": "O servidor suporta os tipos de início de sessão:\n{serverVersions}\nMas esta aplicação apenas suporta:\n{supportedVersions}", - "@badServerLoginTypesException": { - "type": "String", - "placeholders": { - "serverVersions": { - "type": "String" - }, - "supportedVersions": { - "type": "String" - } - } - }, - "banFromChat": "Banir da conversa", - "@banFromChat": { - "type": "String", - "placeholders": {} - }, - "banned": "Banido(a)", - "@banned": { - "type": "String", - "placeholders": {} - }, - "bannedUser": "{username} baniu {targetName}", - "@bannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "blockDevice": "Bloquear dispositivo", - "@blockDevice": { - "type": "String", - "placeholders": {} - }, - "blocked": "Bloqueado", - "@blocked": { - "type": "String", - "placeholders": {} - }, - "cancel": "Cancelar", - "@cancel": { - "type": "String", - "placeholders": {} - }, - "cantOpenUri": "Não é possível abrir o URI {uri}", - "@cantOpenUri": { - "type": "String", - "placeholders": { - "uri": { - "type": "String" - } - } - }, - "changeDeviceName": "Alterar nome do dispositivo", - "@changeDeviceName": { - "type": "String", - "placeholders": {} - }, - "changedTheChatPermissions": "{username} alterou as permissões da conversa", - "@changedTheChatPermissions": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheDisplaynameTo": "{username} alterou o seu nome para: '{displayname}'", - "@changedTheDisplaynameTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "displayname": { - "type": "String" - } - } - }, - "changedTheGuestAccessRulesTo": "{username} alterou as regras de acesso de visitantes para: {rules}", - "@changedTheGuestAccessRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheJoinRules": "{username} alterou as regras de entrada", - "@changedTheJoinRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheJoinRulesTo": "{username} alterou as regras de entrada para: {joinRules}", - "@changedTheJoinRulesTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "joinRules": { - "type": "String" - } - } - }, - "changedTheProfileAvatar": "{username} alterou o seu avatar", - "@changedTheProfileAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomAliases": "{username} alterou as alcunhas da sala", - "@changedTheRoomAliases": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheRoomInvitationLink": "{username} alterou a ligação de convite", - "@changedTheRoomInvitationLink": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changePassword": "Alterar palavra-passe", - "@changePassword": { - "type": "String", - "placeholders": {} - }, - "changeTheHomeserver": "Alterar o servidor", - "@changeTheHomeserver": { - "type": "String", - "placeholders": {} - }, - "changeTheme": "Alterar o teu estilo", - "@changeTheme": { - "type": "String", - "placeholders": {} - }, - "changeTheNameOfTheGroup": "Alterar o nome do grupo", - "@changeTheNameOfTheGroup": { - "type": "String", - "placeholders": {} - }, - "changeYourAvatar": "Alterar o teu avatar", - "@changeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "channelCorruptedDecryptError": "A encriptação foi corrompida", - "@channelCorruptedDecryptError": { - "type": "String", - "placeholders": {} - }, - "chat": "Conversa", - "@chat": { - "type": "String", - "placeholders": {} - }, - "chatBackup": "Cópia de segurança de conversas", - "@chatBackup": { - "type": "String", - "placeholders": {} - }, - "chatDetails": "Detalhes de conversa", - "@chatDetails": { - "type": "String", - "placeholders": {} - }, - "chats": "Conversas", - "@chats": { - "type": "String", - "placeholders": {} - }, - "chooseAStrongPassword": "Escolhe uma palavra-passe forte", - "@chooseAStrongPassword": { - "type": "String", - "placeholders": {} - }, - "clearArchive": "Limpar arquivo", - "close": "Fechar", - "@close": { - "type": "String", - "placeholders": {} - }, - "commandHint_ban": "Banir o utilizador dado desta sala", - "@commandHint_ban": { - "type": "String", - "description": "Usage hint for the command /ban" - }, - "commandHint_html": "Enviar texto formatado com HTML", - "@commandHint_html": { - "type": "String", - "description": "Usage hint for the command /html" - }, - "commandHint_invite": "Convidar o utilizador dado a esta sala", - "@commandHint_invite": { - "type": "String", - "description": "Usage hint for the command /invite" - }, - "commandHint_join": "Entrar na sala dada", - "@commandHint_join": { - "type": "String", - "description": "Usage hint for the command /join" - }, - "commandHint_kick": "Remover o utilizador dado desta sala", - "@commandHint_kick": { - "type": "String", - "description": "Usage hint for the command /kick" - }, - "commandHint_leave": "Sair desta sala", - "@commandHint_leave": { - "type": "String", - "description": "Usage hint for the command /leave" - }, - "commandHint_me": "Descreve-te", - "@commandHint_me": { - "type": "String", - "description": "Usage hint for the command /me" - }, - "commandHint_myroomavatar": "Definir a tua imagem para esta sala (por mxc-uri)", - "@commandHint_myroomavatar": { - "type": "String", - "description": "Usage hint for the command /myroomavatar" - }, - "commandHint_myroomnick": "Definir o teu nome para esta sala", - "@commandHint_myroomnick": { - "type": "String", - "description": "Usage hint for the command /myroomnick" - }, - "commandHint_op": "Definir o nível de poder do utilizador dado (por omissão: 50)", - "@commandHint_op": { - "type": "String", - "description": "Usage hint for the command /op" - }, - "commandHint_plain": "Enviar texto não formatado", - "@commandHint_plain": { - "type": "String", - "description": "Usage hint for the command /plain" - }, - "commandHint_react": "Enviar respostas como reações", - "@commandHint_react": { - "type": "String", - "description": "Usage hint for the command /react" - }, - "commandHint_send": "Enviar texto", - "@commandHint_send": { - "type": "String", - "description": "Usage hint for the command /send" - }, - "commandHint_unban": "Perdoar o utilizador dado", - "@commandHint_unban": { - "type": "String", - "description": "Usage hint for the command /unban" - }, - "commandInvalid": "Comando inválido", - "@commandInvalid": { + "repeatPassword": "Repete a palavra-passe", + "about": "Acerca de", + "@about": { + "type": "String", + "placeholders": {} + }, + "accept": "Aceitar", + "@accept": { + "type": "String", + "placeholders": {} + }, + "acceptedTheInvitation": "{username} aceitou o convite", + "@acceptedTheInvitation": { + "type": "String", + "placeholders": { + "username": { "type": "String" - }, - "commandMissing": "{command} não é um comando.", - "@commandMissing": { - "type": "String", - "placeholders": { - "command": { - "type": "String" - } - }, - "description": "State that {command} is not a valid /command." - }, - "compareEmojiMatch": "Compara e certifica-te que os emojis que se seguem correspondem aos do outro dispositivo:", - "@compareEmojiMatch": { - "type": "String", - "placeholders": {} - }, - "compareNumbersMatch": "Compara e certifica-te que os números que se seguem correspondem aos do outro dispositivo:", - "@compareNumbersMatch": { - "type": "String", - "placeholders": {} - }, - "configureChat": "Configurar conversa", - "@configureChat": { - "type": "String", - "placeholders": {} - }, - "contactHasBeenInvitedToTheGroup": "O contacto foi convidado para o grupo", - "@contactHasBeenInvitedToTheGroup": { - "type": "String", - "placeholders": {} - }, - "contentHasBeenReported": "O conteúdo foi denunciado aos admins do servidor", - "@contentHasBeenReported": { - "type": "String", - "placeholders": {} - }, - "copiedToClipboard": "Copiado para a área de transferência", - "@copiedToClipboard": { - "type": "String", - "placeholders": {} - }, - "copy": "Copiar", - "@copy": { - "type": "String", - "placeholders": {} - }, - "copyToClipboard": "Copiar para a área de transferência", - "@copyToClipboard": { - "type": "String", - "placeholders": {} - }, - "couldNotDecryptMessage": "Não foi possível desencriptar mensagem: {error}", - "@couldNotDecryptMessage": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "countParticipants": "{count} participantes", - "@countParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "create": "Criar", - "@create": { - "type": "String", - "placeholders": {} - }, - "createdTheChat": "{username} criou a conversa", - "@createdTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "createNewSpace": "Novo espaço", - "@createNewSpace": { - "type": "String", - "placeholders": {} - }, - "currentlyActive": "Ativo(a) agora", - "@currentlyActive": { - "type": "String", - "placeholders": {} - }, - "darkTheme": "Escuro", - "@darkTheme": { - "type": "String", - "placeholders": {} - }, - "dateAndTimeOfDay": "{date} às {timeOfDay}", - "@dateAndTimeOfDay": { - "type": "String", - "placeholders": { - "date": { - "type": "String" - }, - "timeOfDay": { - "type": "String" - } - } - }, - "deactivateAccountWarning": "Isto irá desativar a tua conta. Não é reversível! Tens a certeza?", - "@deactivateAccountWarning": { - "type": "String", - "placeholders": {} - }, - "defaultPermissionLevel": "Nível de permissão normal", - "@defaultPermissionLevel": { - "type": "String", - "placeholders": {} - }, - "delete": "Eliminar", - "@delete": { - "type": "String", - "placeholders": {} - }, - "deleteAccount": "Eliminar conta", - "@deleteAccount": { - "type": "String", - "placeholders": {} - }, - "deleteMessage": "Eliminar mensagem", - "@deleteMessage": { - "type": "String", - "placeholders": {} - }, - "devices": "Dispositivos", - "@devices": { - "type": "String", - "placeholders": {} - }, - "directChats": "Conversas diretas", - "@directChats": { - "type": "String", - "placeholders": {} - }, - "displaynameHasBeenChanged": "Nome de exibição alterado", - "@displaynameHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "downloadFile": "Descarregar ficheiro", - "@downloadFile": { - "type": "String", - "placeholders": {} - }, - "edit": "Editar", - "@edit": { - "type": "String", - "placeholders": {} - }, - "editBlockedServers": "Editar servidores bloqueados", - "@editBlockedServers": { - "type": "String", - "placeholders": {} - }, - "editDisplayname": "Editar nome de exibição", - "@editDisplayname": { - "type": "String", - "placeholders": {} - }, - "editRoomAliases": "Editar alcunhas da sala", - "@editRoomAliases": { - "type": "String", - "placeholders": {} - }, - "editRoomAvatar": "Editar avatar da sala", - "@editRoomAvatar": { - "type": "String", - "placeholders": {} - }, - "emoteExists": "Emote já existente!", - "@emoteExists": { - "type": "String", - "placeholders": {} - }, - "emoteInvalid": "Código de emote inválido!", - "@emoteInvalid": { - "type": "String", - "placeholders": {} - }, - "emoteShortcode": "Código do emote", - "@emoteShortcode": { - "type": "String", - "placeholders": {} - }, - "emptyChat": "Conversa vazia", - "@emptyChat": { - "type": "String", - "placeholders": {} - }, - "enableEmotesGlobally": "Ativar pacote de emotes globalmente", - "@enableEmotesGlobally": { - "type": "String", - "placeholders": {} - }, - "enableEncryption": "Ativar encriptação", - "@enableEncryption": { - "type": "String", - "placeholders": {} - }, - "enableEncryptionWarning": "Nunca mais poderás desativar a encriptação. Tens a certeza?", - "@enableEncryptionWarning": { - "type": "String", - "placeholders": {} - }, - "encrypted": "Encriptada", - "@encrypted": { - "type": "String", - "placeholders": {} - }, - "encryption": "Encriptação", - "@encryption": { - "type": "String", - "placeholders": {} - }, - "encryptionNotEnabled": "A encriptação não está ativada", - "@encryptionNotEnabled": { - "type": "String", - "placeholders": {} - }, - "endedTheCall": "{senderName} terminou a chamada", - "@endedTheCall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "enterAnEmailAddress": "Insere um endereço de correio eletrónico", - "@enterAnEmailAddress": { - "type": "String", - "placeholders": {} - }, - "errorObtainingLocation": "Erro ao obter localização: {error}", - "@errorObtainingLocation": { - "type": "String", - "placeholders": { - "error": { - "type": "String" - } - } - }, - "fontSize": "Tamanho da letra", - "@fontSize": { - "type": "String", - "placeholders": {} - }, - "forward": "Reencaminhar", - "@forward": { - "type": "String", - "placeholders": {} - }, - "group": "Grupo", - "@group": { - "type": "String", - "placeholders": {} - }, - "groupIsPublic": "O grupo é público", - "@groupIsPublic": { - "type": "String", - "placeholders": {} - }, - "groups": "Grupos", - "@groups": { - "type": "String", - "placeholders": {} - }, - "groupWith": "Grupo com {displayname}", - "@groupWith": { - "type": "String", - "placeholders": { - "displayname": { - "type": "String" - } - } - }, - "guestsAreForbidden": "São proibidos visitantes", - "@guestsAreForbidden": { - "type": "String", - "placeholders": {} - }, - "guestsCanJoin": "Podem entrar visitantes", - "@guestsCanJoin": { - "type": "String", - "placeholders": {} - }, - "hasWithdrawnTheInvitationFor": "{username} revogou o convite para {targetName}", - "@hasWithdrawnTheInvitationFor": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "help": "Ajuda", - "@help": { - "type": "String", - "placeholders": {} - }, - "hideUnknownEvents": "Esconder eventos desconhecidos", - "@hideUnknownEvents": { - "type": "String", - "placeholders": {} - }, - "ignore": "Ignorar", - "@ignore": { - "type": "String", - "placeholders": {} - }, - "ignoredUsers": "Utilizadores ignorados", - "@ignoredUsers": { - "type": "String", - "placeholders": {} - }, - "iHaveClickedOnLink": "Eu cliquei na ligação", - "@iHaveClickedOnLink": { - "type": "String", - "placeholders": {} - }, - "incorrectPassphraseOrKey": "Senha ou chave de recuperação incorretos", - "@incorrectPassphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "inviteContact": "Convidar contacto", - "@inviteContact": { - "type": "String", - "placeholders": {} - }, - "inviteContactToGroup": "Convidar contacto para {groupName}", - "@inviteContactToGroup": { - "type": "String", - "placeholders": { - "groupName": { - "type": "String" - } - } - }, - "invited": "Convidado(a)", - "@invited": { - "type": "String", - "placeholders": {} - }, - "invitedUser": "{username} convidou {targetName}", - "@invitedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "invitedUsersOnly": "Utilizadores(as) convidados(as) apenas", - "@invitedUsersOnly": { - "type": "String", - "placeholders": {} - }, - "inviteText": "{username} convidou-te para o FluffyChat.\n1. Instala o FluffyChat: https://fluffychat.im\n2. Regista-te ou inicia sessão.\n3. Abre a ligação de convite: {link}", - "@inviteText": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "link": { - "type": "String" - } - } - }, - "isTyping": "está a escrever…", - "@isTyping": { - "type": "String", - "placeholders": {} - }, - "joinedTheChat": "{username} entrou na conversa", - "@joinedTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "joinRoom": "Entrar na sala", - "@joinRoom": { - "type": "String", - "placeholders": {} - }, - "kicked": "{username} expulsou {targetName}", - "@kicked": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickedAndBanned": "{username} expulsou e baniu {targetName}", - "@kickedAndBanned": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "kickFromChat": "Expulsar da conversa", - "@kickFromChat": { - "type": "String", - "placeholders": {} - }, - "lastActiveAgo": "Ativo(a) pela última vez: {localizedTimeShort}", - "@lastActiveAgo": { - "type": "String", - "placeholders": { - "localizedTimeShort": { - "type": "String" - } - } - }, - "leave": "Sair", - "@leave": { - "type": "String", - "placeholders": {} - }, - "leftTheChat": "Saiu da conversa", - "@leftTheChat": { - "type": "String", - "placeholders": {} - }, - "lightTheme": "Claro", - "@lightTheme": { - "type": "String", - "placeholders": {} - }, - "loadCountMoreParticipants": "Carregar mais {count} participantes", - "@loadCountMoreParticipants": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "loadingPleaseWait": "A carregar... Por favor aguarde.", - "@loadingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "loadMore": "Carregar mais…", - "@loadMore": { - "type": "String", - "placeholders": {} - }, - "locationDisabledNotice": "Os serviços de localização estão desativados. Por favor, ativa-os para poder partilhar a sua localização.", - "@locationDisabledNotice": { - "type": "String", - "placeholders": {} - }, - "locationPermissionDeniedNotice": "Permissão de localização recusada. Por favor, concede permissão para poderes partilhar a tua posição.", - "@locationPermissionDeniedNotice": { - "type": "String", - "placeholders": {} - }, - "login": "Entrar", - "@login": { - "type": "String", - "placeholders": {} - }, - "logInTo": "Entrar em {homeserver}", - "@logInTo": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "logout": "Sair", - "@logout": { - "type": "String", - "placeholders": {} - }, - "mention": "Mencionar", - "@mention": { - "type": "String", - "placeholders": {} - }, - "messages": "Mensagens", - "@messages": { - "type": "String", - "placeholders": {} - }, - "moderator": "Moderador", - "@moderator": { - "type": "String", - "placeholders": {} - }, - "muteChat": "Silenciar conversa", - "@muteChat": { - "type": "String", - "placeholders": {} - }, - "newChat": "Nova conversa", - "@newChat": { - "type": "String", - "placeholders": {} - }, - "newMessageInFluffyChat": "Nova mensagem no FluffyChat", - "@newMessageInFluffyChat": { - "type": "String", - "placeholders": {} - }, - "newVerificationRequest": "Novo pedido de verificação!", - "@newVerificationRequest": { - "type": "String", - "placeholders": {} - }, - "next": "Próximo", - "@next": { - "type": "String", - "placeholders": {} - }, - "no": "Não", - "@no": { - "type": "String", - "placeholders": {} - }, - "noConnectionToTheServer": "Nenhuma ligação ao servidor", - "@noConnectionToTheServer": { - "type": "String", - "placeholders": {} - }, - "noEmotesFound": "Nenhuns emotes encontrados. 😕", - "@noEmotesFound": { - "type": "String", - "placeholders": {} - }, - "noEncryptionForPublicRooms": "Só podes ativar a encriptação quando a sala não for publicamente acessível.", - "@noEncryptionForPublicRooms": { - "type": "String", - "placeholders": {} - }, - "noGoogleServicesWarning": "Parece que não tens nenhuns serviços da Google no seu telemóvel. É uma boa decisão para a sua privacidade! Para receber notificações instantâneas no FluffyChat, recomendamos que uses https://microg.org/ ou https://unifiedpush.org/.", - "@noGoogleServicesWarning": { - "type": "String", - "placeholders": {} - }, - "noMatrixServer": "{server1} não é um servidor Matrix, usar {server2}?", - "@noMatrixServer": { - "type": "String", - "placeholders": { - "server1": { - "type": "String" - }, - "server2": { - "type": "String" - } - } - }, - "changedTheChatAvatar": "{username} alterou o avatar da conversa", - "@changedTheChatAvatar": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheHistoryVisibilityTo": "{username} alterou a visibilidade do histórico para: {rules}", - "@changedTheHistoryVisibilityTo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "rules": { - "type": "String" - } - } - }, - "changedTheGuestAccessRules": "{username} alterou as regras de acesso de visitantes", - "@changedTheGuestAccessRules": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "changedTheHistoryVisibility": "{username} alterou a visibilidade do histórico", - "@changedTheHistoryVisibility": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sendAMessage": "Enviar a mensagem", - "@sendAMessage": { - "type": "String", - "placeholders": {} - }, - "sendAudio": "Enviar áudio", - "@sendAudio": { - "type": "String", - "placeholders": {} - }, - "sendAsText": "Enviar como texto", - "@sendAsText": { - "type": "String" - }, - "send": "Enviar", - "@send": { - "type": "String", - "placeholders": {} - }, - "appLock": "Bloqueio da aplicação", - "@appLock": { - "type": "String", - "placeholders": {} - }, - "noPasswordRecoveryDescription": "Ainda não adicionaste uma forma de recuperar a tua palavra-passe.", - "@noPasswordRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "noPermission": "Sem permissão", - "@noPermission": { - "type": "String", - "placeholders": {} - }, - "noRoomsFound": "Não foram encontradas nenhumas salas…", - "@noRoomsFound": { - "type": "String", - "placeholders": {} - }, - "notifications": "Notificações", - "@notifications": { - "type": "String", - "placeholders": {} - }, - "numUsersTyping": "Estão {count} utilizadores(as) a escrever…", - "@numUsersTyping": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "obtainingLocation": "A obter localização…", - "@obtainingLocation": { - "type": "String", - "placeholders": {} - }, - "ok": "ok", - "@ok": { - "type": "String", - "placeholders": {} - }, - "onlineKeyBackupEnabled": "A cópia de segurança online de chaves está ativada", - "@onlineKeyBackupEnabled": { - "type": "String", - "placeholders": {} - }, - "oopsPushError": "Ups! Infelizmente, ocorreu um erro ao configurar as notificações instantâneas.", - "@oopsPushError": { - "type": "String", - "placeholders": {} - }, - "oopsSomethingWentWrong": "Ups, algo correu mal…", - "@oopsSomethingWentWrong": { - "type": "String", - "placeholders": {} - }, - "openAppToReadMessages": "Abrir aplicação para ler mensagens", - "@openAppToReadMessages": { - "type": "String", - "placeholders": {} - }, - "openCamera": "Abrir câmara", - "@openCamera": { - "type": "String", - "placeholders": {} - }, - "oneClientLoggedOut": "Um dos teus clientes terminou sessão", - "addAccount": "Adicionar conta", - "editBundlesForAccount": "Editar pacotes para esta conta", - "addToBundle": "Adicionar ao pacote", - "removeFromBundle": "Remover deste pacote", - "bundleName": "Nome do pacote", - "openInMaps": "Abrir nos mapas", - "@openInMaps": { - "type": "String", - "placeholders": {} - }, - "link": "Ligação", - "or": "Ou", - "@or": { - "type": "String", - "placeholders": {} - }, - "participant": "Participante", - "@participant": { - "type": "String", - "placeholders": {} - }, - "passphraseOrKey": "senha ou chave de recuperação", - "@passphraseOrKey": { - "type": "String", - "placeholders": {} - }, - "password": "Palavra-passe", - "@password": { - "type": "String", - "placeholders": {} - }, - "passwordForgotten": "Palavra-passe esquecida", - "@passwordForgotten": { - "type": "String", - "placeholders": {} - }, - "passwordHasBeenChanged": "A palavra-passe foi alterada", - "@passwordHasBeenChanged": { - "type": "String", - "placeholders": {} - }, - "passwordRecovery": "Recuperação de palavra-passe", - "@passwordRecovery": { - "type": "String", - "placeholders": {} - }, - "pin": "Afixar", - "@pin": { - "type": "String", - "placeholders": {} - }, - "pleaseChooseAPasscode": "Por favor, escolhe um código-passe", - "@pleaseChooseAPasscode": { - "type": "String", - "placeholders": {} - }, - "pleaseClickOnLink": "Por favor, clica na ligação no correio eletrónico e depois continua.", - "@pleaseClickOnLink": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPassword": "Por favor, insere a tua palavra-passe", - "@pleaseEnterYourPassword": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourPin": "Por favor, insere o teu código", - "@pleaseEnterYourPin": { - "type": "String", - "placeholders": {} - }, - "pleaseEnterYourUsername": "Por favor, insere o teu nome de utilizador", - "@pleaseEnterYourUsername": { - "type": "String", - "placeholders": {} - }, - "pleaseFollowInstructionsOnWeb": "Por favor, segue as instruções no website e clica em \"Seguinte\".", - "@pleaseFollowInstructionsOnWeb": { - "type": "String", - "placeholders": {} - }, - "privacy": "Privacidade", - "@privacy": { - "type": "String", - "placeholders": {} - }, - "publicRooms": "Salas públicas", - "@publicRooms": { - "type": "String", - "placeholders": {} - }, - "reason": "Razão", - "@reason": { - "type": "String", - "placeholders": {} - }, - "redactedAnEvent": "{username} eliminou um evento", - "@redactedAnEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "redactMessage": "Eliminar mensagem", - "@redactMessage": { - "type": "String", - "placeholders": {} - }, - "reject": "Rejeitar", - "@reject": { - "type": "String", - "placeholders": {} - }, - "rejectedTheInvitation": "{username} rejeitou o convite", - "@rejectedTheInvitation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "remove": "Remover", - "@remove": { - "type": "String", - "placeholders": {} - }, - "removeAllOtherDevices": "Remover todos os outros dispositivos", - "@removeAllOtherDevices": { - "type": "String", - "placeholders": {} - }, - "unbanFromChat": "Perdoar nesta conversa", - "@unbanFromChat": { - "type": "String", - "placeholders": {} - }, - "removeYourAvatar": "Remover o teu avatar", - "@removeYourAvatar": { - "type": "String", - "placeholders": {} - }, - "replaceRoomWithNewerVersion": "Substituir sala com versão mais recente", - "@replaceRoomWithNewerVersion": { - "type": "String", - "placeholders": {} - }, - "reply": "Responder", - "@reply": { - "type": "String", - "placeholders": {} - }, - "reportMessage": "Reportar mensagem", - "@reportMessage": { - "type": "String", - "placeholders": {} - }, - "roomHasBeenUpgraded": "A sala foi atualizada", - "@roomHasBeenUpgraded": { - "type": "String", - "placeholders": {} - }, - "roomVersion": "Versão da sala", - "@roomVersion": { - "type": "String", - "placeholders": {} - }, - "saveFile": "Guardar ficheiro", - "@saveFile": { - "type": "String", - "placeholders": {} - }, - "search": "Procurar", - "@search": { - "type": "String", - "placeholders": {} - }, - "security": "Segurança", - "@security": { - "type": "String", - "placeholders": {} - }, - "sendFile": "Enviar ficheiro", - "@sendFile": { - "type": "String", - "placeholders": {} - }, - "sendImage": "Enviar imagem", - "@sendImage": { - "type": "String", - "placeholders": {} - }, - "sendMessages": "Enviar mensagens", - "@sendMessages": { - "type": "String", - "placeholders": {} - }, - "sendVideo": "Enviar vídeo", - "@sendVideo": { - "type": "String", - "placeholders": {} - }, - "sentAFile": "{username} enviar um ficheiro", - "@sentAFile": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAnAudio": "{username} enviar um áudio", - "@sentAnAudio": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAPicture": "{username} enviar uma imagem", - "@sentAPicture": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentASticker": "{username} enviou um autocolante", - "@sentASticker": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "sentAVideo": "{username} enviou um vídeo", - "@sentAVideo": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "commandHint_clearcache": "Limpar cache", - "@commandHint_clearcache": { - "type": "String", - "description": "Usage hint for the command /clearcache" - }, - "commandHint_create": "Criar uma conversa de grupo vazia\nUsa --no-encryption para desativar a encriptação", - "@commandHint_create": { - "type": "String", - "description": "Usage hint for the command /create" - }, - "commandHint_discardsession": "Descartar sessão", - "@commandHint_discardsession": { - "type": "String", - "description": "Usage hint for the command /discardsession" - }, - "commandHint_dm": "Iniciar uma conversa direta\nUsa --no-encryption para desativar a encriptação", - "@commandHint_dm": { - "type": "String", - "description": "Usage hint for the command /dm" - }, - "dehydrate": "Exportar sessão e limpar dispositivo", - "dehydrateWarning": "Esta ação não pode ser revertida. Assegura-te que guardas bem a cópia de segurança.", - "hydrate": "Restaurar a partir de cópia de segurança", - "hugContent": "{senderName} abraçou-o", - "@hugContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "knock": "Bater à porta", - "theyMatch": "Correspondem", - "@theyMatch": { - "type": "String", - "placeholders": {} - }, - "jumpToLastReadMessage": "Saltar para a última mensagem lida", - "commandHint_cuddle": "Mandar um carinho", - "unknownDevice": "Dispositivo desconhecido", - "@unknownDevice": { - "type": "String", - "placeholders": {} - }, - "@completedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "reportErrorDescription": "😭 Oh não. Ocorreu um problema. Se quiser, pode comunicar este erro aos desenvolvedores.", - "@youAreNoLongerParticipatingInThisChat": { - "type": "String", - "placeholders": {} - }, - "globalChatId": "ID global do chat", - "synchronizingPleaseWaitCounter": " A sincronizar… ({percentage}%)", - "@synchronizingPleaseWaitCounter": { - "type": "String", - "placeholders": { - "percentage": { - "type": "String" - } - } - }, - "@verifySuccess": { - "type": "String", - "placeholders": {} - }, - "setColorTheme": "Definir tema de cor:", - "@warning": { - "type": "String", - "placeholders": {} - }, - "supposedMxid": "Isto deve ser {mxid}", - "@supposedMxid": { - "type": "String", - "placeholders": { - "mxid": { - "type": "String" - } - } - }, - "@goToSpace": { - "type": "String", - "space": {} - }, - "user": "Utilizador", - "youAcceptedTheInvitation": "👍 Aceitou o convite", - "userAndOthersAreTyping": "{username} e {count} outros estão a escrever…", - "@userAndOthersAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "count": { - "type": "int" - } - } - }, - "youInvitedBy": "📩 Foi convidado por {user}", - "@youInvitedBy": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "userIsTyping": "{username} está a escrever…", - "@userIsTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "@waitingPartnerAcceptRequest": { - "type": "String", - "placeholders": {} - }, - "@writeAMessage": { - "type": "String", - "placeholders": {} - }, - "appLockDescription": "Bloqueie a aplicação quando não a usa com um código pin", - "youKickedAndBanned": "🙅 Deu kick e baniu {user}", - "@youKickedAndBanned": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@isReadyForKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "userAndUserAreTyping": "{username} e {username2} estão a escrever…", - "@userAndUserAreTyping": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "username2": { - "type": "String" - } - } - }, - "unread": "Não lido", - "@countReplies": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@versionWithNumber": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "youRejectedTheInvitation": "Rejeitou o convite", - "newSpaceDescription": "Espaços permitem-lhe consolidar os seus chats e construir comunidades privadas ou públicas.", - "encryptThisChat": "Encriptar este chat", - "@fromTheInvitation": { - "type": "String", - "placeholders": {} - }, - "@countChats": { - "type": "String", - "placeholders": { - "chats": { - "type": "int" - } - } - }, - "reopenChat": "Reabrir chat", - "unpin": "Desfixar", - "@unpin": { - "type": "String", - "placeholders": {} - }, - "spaceIsPublic": "O espaço é público", - "@spaceIsPublic": { - "type": "String", - "placeholders": {} - }, - "@userLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "unblockDevice": "Desbloquear Dispositivo", - "@unblockDevice": { - "type": "String", - "placeholders": {} - }, - "countFiles": "{count} ficheiros", - "@countFiles": { - "placeholders": { - "count": { - "type": "int" - } - } - }, - "noKeyForThisMessage": "Isto pode acontecer se a mensagem foi enviada antes de ter iniciado sessão na sua conta neste dispositivo.\n\nTambém é possível que quem enviou tenha o seu dispositivo bloqueado ou ocorreu algo de errado com a conexão de internet.\n\nConsegue ler a mensagem em outra sessão? Então pode transferir a mensagem a partir do mesmo! Vá a Definições > Dispositivos e certifique-se que os seus dispositivos verificaram-se um ao outro. Quando abrir a sala da próxima vez e ambas as sessões estão em primeiro plano, as chaves serão transmitidas automaticamente.\n\nNão quer perder as chaves ao terminar sessão ou ao mudar dispositivos? Certifique-se que tem a cópia de segurança de chat ativa nas definições.", - "shareLocation": "Partilhar localização", - "@shareLocation": { - "type": "String", - "placeholders": {} - }, - "commandHint_markasgroup": "Marcar como grupo", - "storeInAppleKeyChain": "Armazenado na Apple KeyChain", - "chatPermissions": "Permissões de chat", - "@voiceMessage": { - "type": "String", - "placeholders": {} - }, - "storeInAndroidKeystore": "Armazenado em Android KeyStore", - "@weSentYouAnEmail": { - "type": "String", - "placeholders": {} - }, - "@updateInstalled": { - "type": "String", - "placeholders": { - "version": { - "type": "String" - } - } - }, - "synchronizingPleaseWait": "A sincronizar… Por favor aguarde.", - "@synchronizingPleaseWait": { - "type": "String", - "placeholders": {} - }, - "@noUsersFoundWithQuery": { - "type": "String", - "placeholders": { - "query": { - "type": "String" - } - } - }, - "usersMustKnock": "Utilizadores têm que bater à porta", - "whyIsThisMessageEncrypted": "Porque é que esta mensagem é ilegível?", - "setChatDescription": "Definir descrição do chat", - "userLeftTheChat": "🚪 {username} saiu do chat", - "@userLeftTheChat": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "spaceName": "Nome do espaço", - "@spaceName": { - "type": "String", - "placeholders": {} - }, - "importFromZipFile": "Importar a partir de um ficheiro .zip", - "@sentVoiceMessage": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "duration": { - "type": "String" - } - } - }, - "noOtherDevicesFound": "Nenhum outro dispositivo encontrado", - "@whoIsAllowedToJoinThisGroup": { - "type": "String", - "placeholders": {} - }, - "@redactedBy": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "submit": "Submeter", - "@submit": { - "type": "String", - "placeholders": {} - }, - "unmuteChat": "Ativar o som do chat", - "@unmuteChat": { - "type": "String", - "placeholders": {} - }, - "@yes": { - "type": "String", - "placeholders": {} - }, - "@startedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "fileIsTooBigForServer": "Não foi possível enviar! O sevidor apenas suporta anexos até {max}.", - "@fileIsTooBigForServer": { - "type": "String", - "placeholders": { - "max": { - "type": "String" - } - } - }, - "verified": "Verificado", - "@verified": { - "type": "String", - "placeholders": {} - }, - "setStatus": "Definir estado", - "@setStatus": { - "type": "String", - "placeholders": {} - }, - "@adminLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "readUpToHere": "Lido até aqui", - "@waitingPartnerEmoji": { - "type": "String", - "placeholders": {} - }, - "tryToSendAgain": "Tenter enviar novamente", - "@tryToSendAgain": { - "type": "String", - "placeholders": {} - }, - "aboutHomeserver": "Sobre o {homeserver}", - "@aboutHomeserver": { - "type": "String", - "placeholders": { - "homeserver": { - "type": "String" - } - } - }, - "@visibleForAllParticipants": { - "type": "String", - "placeholders": {} - }, - "@mute": { - "description": "This should be a very short string because there is not much space in the button!" - }, - "archiveRoomDescription": "O chat será movido para o arquivo. Outros utilizadores poderão ver deixou o chat.", - "exportEmotePack": "Exportar pacote de Emotes como .zip", - "@setAsCanonicalAlias": { - "type": "String", - "placeholders": {} - }, - "@whyDoYouWantToReportThis": { - "type": "String", - "placeholders": {} - }, - "@withTheseAddressesRecoveryDescription": { - "type": "String", - "placeholders": {} - }, - "@redactedByBecause": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "reason": { - "type": "String" - } - } - }, - "youHaveWithdrawnTheInvitationFor": "Retirou o convite para o {user}", - "@youHaveWithdrawnTheInvitationFor": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "skip": "Ignorar", - "@skip": { - "type": "String", - "placeholders": {} - }, - "sharedTheLocation": "{username} partilhou a sua localização", - "@sharedTheLocation": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - } - } - }, - "unbannedUser": "{username} levantou o ban a {targetName}", - "@unbannedUser": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "targetName": { - "type": "String" - } - } - }, - "youInvitedUser": "📩 Convidou {user}", - "@youInvitedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "fileHasBeenSavedAt": "O ficheiro foi guardado em {path}", - "@fileHasBeenSavedAt": { - "type": "String", - "placeholders": { - "path": { - "type": "String" - } - } - }, - "@spaceMemberOfCanKnock": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "invalidInput": "Input inválido!", - "@yourPublicKey": { - "type": "String", - "placeholders": {} - }, - "tooManyRequestsWarning": "Demasiados pedidos. Por favor tente novamente mais tarde!", - "@tooManyRequestsWarning": { - "type": "String", - "placeholders": {} - }, - "swipeRightToLeftToReply": "Deslize da direita para a esquerda para responder", - "doNotShowAgain": "Não mostrar novamente", - "report": "reportar", - "status": "Estado", - "@status": { - "type": "String", - "placeholders": {} - }, - "changedTheChatDescription": "{username} mudou a descrição do chat", - "@verifyStart": { - "type": "String", - "placeholders": {} - }, - "unverified": "Não Verificado", - "@sentCallInformations": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "googlyEyesContent": "{senderName} enviou-lhe olhos esbugalhados", - "@googlyEyesContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "youBannedUser": "Baniu {user}", - "@youBannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "theyDontMatch": "Não Correspondem", - "@theyDontMatch": { - "type": "String", - "placeholders": {} - }, - "@youHaveBeenBannedFromThisChat": { - "type": "String", - "placeholders": {} - }, - "@chatSearchedUntil": { - "type": "String", - "placeholders": { - "time": { - "type": "String" - } - } - }, - "@sessionLostBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "@thereAreCountUsersBlocked": { - "type": "String", - "count": {} - }, - "hasKnocked": "🚪 {user} bateu à porta", - "@hasKnocked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "openLinkInBrowser": "Abrir o link no browser", - "disableEncryptionWarning": "Por razões de segurança não pode desativar encriptação em um chat, onde já foi ativado previamente.", - "checkList": "Verificar lista", - "noOneCanJoin": "Ninguém pode juntar-se", - "wrongPinEntered": "Pin introduzido incorreto! Tente novamente daqui a {seconds} segundos...", - "@wrongPinEntered": { - "type": "String", - "placeholders": { - "seconds": { - "type": "int" - } - } - }, - "sendTypingNotifications": "Enviar notificações de digitação", - "accessAndVisibility": "Acesso e visibilidade", - "@verifyTitle": { - "type": "String", - "placeholders": {} - }, - "unknownEncryptionAlgorithm": "Algoritmo de encriptação desconhecido", - "@unknownEncryptionAlgorithm": { - "type": "String", - "placeholders": {} - }, - "importEmojis": "Importar Emojis", - "wasDirectChatDisplayName": "Esvaziar chat (era {oldDisplayName})", - "@wasDirectChatDisplayName": { - "type": "String", - "placeholders": { - "oldDisplayName": { - "type": "String" - } - } - }, - "@whoCanPerformWhichAction": { - "type": "String", - "placeholders": {} - }, - "confirmMatrixId": "Por favor confirme o seu Matrix ID para eliminar a sua conta.", - "@you": { - "type": "String", - "placeholders": {} - }, - "notAnImage": "Não é um ficheiro de imagem.", - "users": "Utilizadores", - "space": "Espaço", - "sourceCode": "Código fonte", - "@sourceCode": { - "type": "String", - "placeholders": {} - }, - "userSentUnknownEvent": "{username} enviou um evento do tipo {type}", - "@userSentUnknownEvent": { - "type": "String", - "placeholders": { - "username": { - "type": "String" - }, - "type": { - "type": "String" - } - } - }, - "@unknownPushRule": { - "type": "String", - "placeholders": { - "rule": { - "type": "String" - } - } - }, - "pleaseEnterANumber": "Por favor introduza um número maior que 0", - "youKicked": "👞 Deu kick a {user}", - "@youKicked": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "jump": "Saltar", - "@reactedWith": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - }, - "reaction": { - "type": "String" - } - } - }, - "sorryThatsNotPossible": "Desculpe... isso não é possível", - "noMoreChatsFound": "Mais nenhum chat encontrado...", - "commandHint_markasdm": "Marcar como sala de mensagem direta para o Matrix ID dado", - "cuddleContent": "{senderName} fez-lhe carinho", - "@cuddleContent": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@waitingPartnerNumbers": { - "type": "String", - "placeholders": {} - }, - "emoteKeyboardNoRecents": "Emotes recentemente utilizados aparecerão aqui...", - "@emoteKeyboardNoRecents": { - "type": "String", - "placeholders": {} - }, - "startedACall": "{senderName} começou uma chamada", - "@startedACall": { - "type": "String", - "placeholders": { - "senderName": { - "type": "String" - } - } - }, - "@acceptedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "systemTheme": "Sistema", - "@systemTheme": { - "type": "String", - "placeholders": {} - }, - "@visibilityOfTheChatHistory": { - "type": "String", - "placeholders": {} - }, - "settings": "Definições", - "@settings": { - "type": "String", - "placeholders": {} - }, - "youJoinedTheChat": "Juntou-se ao chat", - "@chatCanBeDiscoveredViaSearchOnServer": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "@canceledKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "statusExampleMessage": "Como está hoje?", - "@statusExampleMessage": { - "type": "String", - "placeholders": {} - }, - "commandHint_roomupgrade": "Atualizar esta sala para a versão dada da sala", - "commandHint_hug": "Enviar um abraço", - "replace": "Subsituir", - "@restoreSessionBody": { - "type": "String", - "placeholders": { - "url": { - "type": "String" - }, - "error": { - "type": "String" - } - } - }, - "youUnbannedUser": "Levantou o ban a {user}", - "@youUnbannedUser": { - "placeholders": { - "user": { - "type": "String" - } - } - }, - "@visibleForEveryone": { - "type": "String", - "placeholders": {} - }, - "newSpace": "Novo espaço", - "unknownEvent": "Evento de '{type}' desconhecido", - "@unknownEvent": { - "type": "String", - "placeholders": { - "type": { - "type": "String" - } - } - }, - "@appWantsToUseForLogin": { - "type": "String", - "placeholders": { - "server": { - "type": "String" - } - } - }, - "@unreadChatsInApp": { - "type": "String", - "placeholders": { - "appname": { - "type": "String" - }, - "unread": { - "type": "String" - } - } - }, - "@countVotes": { - "type": "int", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "share": "Partilhar", - "@share": { - "type": "String", - "placeholders": {} - }, - "commandHint_googly": "Enviar alguns olhos esbugalhados", - "@moderatorLevel": { - "type": "String", - "placeholders": { - "level": { - "type": "int" - } - } - }, - "createGroup": "Criar grupo", - "@sendImages": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "custom": "Personalizado", - "noBackupWarning": "Aviso! Sem ativar cópia de segurança de chat, perderá acesso às suas mensagens encriptadas. É altamente recomendado que ative a cópia de segurança de chat primeiro antes de terminar sessão.", - "@fromJoining": { - "type": "String", - "placeholders": {} - }, - "importNow": "Importar agora", - "noChatsFoundHere": "Não foi encontrado nenhum chat aqui. Comece um chat novo com alguém ao usar o botão abaixo. ⤵️", - "changedTheChatName": "{username} mudou o nome do chat", - "invite": "Convidar", - "countInvited": "{count} convidados", - "@countInvited": { - "type": "String", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "@spaceMemberOf": { - "type": "String", - "placeholders": { - "spaces": { - "type": "String" - } - } - }, - "@requestedKeyVerification": { - "type": "String", - "placeholders": { - "sender": { - "type": "String" - } - } - }, - "@searchIn": { - "type": "String", - "placeholders": { - "chat": { - "type": "String" - } - } - }, - "unsupportedAndroidVersionLong": "Esta funcionalidade requer uma versão de Android mais nova. Por favor verifique se há atualização ou suporter do Lineage OS.", - "inviteGroupChat": "📨 Convite para chat em grupo", - "storeSecurlyOnThisDevice": "Armazenado de forma segura neste dispositivo", - "discardEdits": "Tem mudanças não guardadas. Descartar as suas edições?", - "@discardEdits": { - "type": "String", - "placeholders": {} - }, - "newPost": "Nova publicação", - "@newPost": { - "type": "String", - "placeholders": {} - }, - "postPhoto": "Publicar foto", - "@postPhoto": { - "type": "String", - "placeholders": {} - }, - "postVideo": "Publicar vídeo", - "@postVideo": { - "type": "String", - "placeholders": {} - }, - "noPostsYet": "Ainda não há publicações. Partilhe a primeira foto ou vídeo!", - "@noPostsYet": { - "type": "String", - "placeholders": {} - }, - "noCommentsYet": "Ainda não há comentários. Seja o primeiro a comentar!", - "@noCommentsYet": { - "type": "String", - "placeholders": {} - }, - "like": "Gostar", - "@like": { - "type": "String", - "placeholders": {} - }, - "unlike": "Não gostar", - "@unlike": { - "type": "String", - "placeholders": {} - }, - "editCaption": "Editar legenda", - "@editCaption": { - "type": "String", - "placeholders": {} - }, - "captionHint": "Legenda", - "@captionHint": { - "type": "String", - "placeholders": {} + } } -} \ No newline at end of file + }, + "account": "Conta", + "@account": { + "type": "String", + "placeholders": {} + }, + "activatedEndToEndEncryption": "{username} ativou encriptação ponta-a-ponta", + "@activatedEndToEndEncryption": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "addEmail": "Adicionar correio eletrónico", + "@addEmail": { + "type": "String", + "placeholders": {} + }, + "addToSpace": "Adicionar ao espaço", + "admin": "Admin", + "@admin": { + "type": "String", + "placeholders": {} + }, + "alias": "alcunha", + "@alias": { + "type": "String", + "placeholders": {} + }, + "all": "Todos(as)", + "@all": { + "type": "String", + "placeholders": {} + }, + "answeredTheCall": "{senderName} atendeu a chamada", + "@answeredTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "anyoneCanJoin": "Qualquer pessoa pode entrar", + "@anyoneCanJoin": { + "type": "String", + "placeholders": {} + }, + "archive": "Arquivo", + "@archive": { + "type": "String", + "placeholders": {} + }, + "areGuestsAllowedToJoin": "Os utilizadores convidados têm permissão para se juntarem?", + "@areGuestsAllowedToJoin": { + "type": "String", + "placeholders": {} + }, + "areYouSure": "Tens a certeza?", + "@areYouSure": { + "type": "String", + "placeholders": {} + }, + "areYouSureYouWantToLogout": "Tens a certeza que queres sair?", + "@areYouSureYouWantToLogout": { + "type": "String", + "placeholders": {} + }, + "askSSSSSign": "Para poderes assinar a outra pessoa, por favor, insere a tua senha de armazenamento seguro ou a chave de recuperação.", + "@askSSSSSign": { + "type": "String", + "placeholders": {} + }, + "askVerificationRequest": "Aceitar este pedido de verificação de {username}?", + "@askVerificationRequest": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "autoplayImages": "Automaticamente reproduzir autocolantes e emotes animados", + "@autoplayImages": { + "type": "String", + "placeholder": {} + }, + "sendOnEnter": "Enviar com Enter", + "badServerLoginTypesException": "O servidor suporta os tipos de início de sessão:\n{serverVersions}\nMas esta aplicação apenas suporta:\n{supportedVersions}", + "@badServerLoginTypesException": { + "type": "String", + "placeholders": { + "serverVersions": { + "type": "String" + }, + "supportedVersions": { + "type": "String" + } + } + }, + "banFromChat": "Banir da conversa", + "@banFromChat": { + "type": "String", + "placeholders": {} + }, + "banned": "Banido(a)", + "@banned": { + "type": "String", + "placeholders": {} + }, + "bannedUser": "{username} baniu {targetName}", + "@bannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "blockDevice": "Bloquear dispositivo", + "@blockDevice": { + "type": "String", + "placeholders": {} + }, + "blocked": "Bloqueado", + "@blocked": { + "type": "String", + "placeholders": {} + }, + "cancel": "Cancelar", + "@cancel": { + "type": "String", + "placeholders": {} + }, + "cantOpenUri": "Não é possível abrir o URI {uri}", + "@cantOpenUri": { + "type": "String", + "placeholders": { + "uri": { + "type": "String" + } + } + }, + "changeDeviceName": "Alterar nome do dispositivo", + "@changeDeviceName": { + "type": "String", + "placeholders": {} + }, + "changedTheChatPermissions": "{username} alterou as permissões da conversa", + "@changedTheChatPermissions": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheDisplaynameTo": "{username} alterou o seu nome para: '{displayname}'", + "@changedTheDisplaynameTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "displayname": { + "type": "String" + } + } + }, + "changedTheGuestAccessRulesTo": "{username} alterou as regras de acesso de visitantes para: {rules}", + "@changedTheGuestAccessRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheJoinRules": "{username} alterou as regras de entrada", + "@changedTheJoinRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheJoinRulesTo": "{username} alterou as regras de entrada para: {joinRules}", + "@changedTheJoinRulesTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "joinRules": { + "type": "String" + } + } + }, + "changedTheProfileAvatar": "{username} alterou o seu avatar", + "@changedTheProfileAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomAliases": "{username} alterou as alcunhas da sala", + "@changedTheRoomAliases": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheRoomInvitationLink": "{username} alterou a ligação de convite", + "@changedTheRoomInvitationLink": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changePassword": "Alterar palavra-passe", + "@changePassword": { + "type": "String", + "placeholders": {} + }, + "changeTheHomeserver": "Alterar o servidor", + "@changeTheHomeserver": { + "type": "String", + "placeholders": {} + }, + "changeTheme": "Alterar o teu estilo", + "@changeTheme": { + "type": "String", + "placeholders": {} + }, + "changeTheNameOfTheGroup": "Alterar o nome do grupo", + "@changeTheNameOfTheGroup": { + "type": "String", + "placeholders": {} + }, + "changeYourAvatar": "Alterar o teu avatar", + "@changeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "channelCorruptedDecryptError": "A encriptação foi corrompida", + "@channelCorruptedDecryptError": { + "type": "String", + "placeholders": {} + }, + "chat": "Conversa", + "@chat": { + "type": "String", + "placeholders": {} + }, + "chatBackup": "Cópia de segurança de conversas", + "@chatBackup": { + "type": "String", + "placeholders": {} + }, + "chatDetails": "Detalhes de conversa", + "@chatDetails": { + "type": "String", + "placeholders": {} + }, + "chats": "Conversas", + "@chats": { + "type": "String", + "placeholders": {} + }, + "chooseAStrongPassword": "Escolhe uma palavra-passe forte", + "@chooseAStrongPassword": { + "type": "String", + "placeholders": {} + }, + "clearArchive": "Limpar arquivo", + "close": "Fechar", + "@close": { + "type": "String", + "placeholders": {} + }, + "commandHint_ban": "Banir o utilizador dado desta sala", + "@commandHint_ban": { + "type": "String", + "description": "Usage hint for the command /ban" + }, + "commandHint_html": "Enviar texto formatado com HTML", + "@commandHint_html": { + "type": "String", + "description": "Usage hint for the command /html" + }, + "commandHint_invite": "Convidar o utilizador dado a esta sala", + "@commandHint_invite": { + "type": "String", + "description": "Usage hint for the command /invite" + }, + "commandHint_join": "Entrar na sala dada", + "@commandHint_join": { + "type": "String", + "description": "Usage hint for the command /join" + }, + "commandHint_kick": "Remover o utilizador dado desta sala", + "@commandHint_kick": { + "type": "String", + "description": "Usage hint for the command /kick" + }, + "commandHint_leave": "Sair desta sala", + "@commandHint_leave": { + "type": "String", + "description": "Usage hint for the command /leave" + }, + "commandHint_me": "Descreve-te", + "@commandHint_me": { + "type": "String", + "description": "Usage hint for the command /me" + }, + "commandHint_myroomavatar": "Definir a tua imagem para esta sala (por mxc-uri)", + "@commandHint_myroomavatar": { + "type": "String", + "description": "Usage hint for the command /myroomavatar" + }, + "commandHint_myroomnick": "Definir o teu nome para esta sala", + "@commandHint_myroomnick": { + "type": "String", + "description": "Usage hint for the command /myroomnick" + }, + "commandHint_op": "Definir o nível de poder do utilizador dado (por omissão: 50)", + "@commandHint_op": { + "type": "String", + "description": "Usage hint for the command /op" + }, + "commandHint_plain": "Enviar texto não formatado", + "@commandHint_plain": { + "type": "String", + "description": "Usage hint for the command /plain" + }, + "commandHint_react": "Enviar respostas como reações", + "@commandHint_react": { + "type": "String", + "description": "Usage hint for the command /react" + }, + "commandHint_send": "Enviar texto", + "@commandHint_send": { + "type": "String", + "description": "Usage hint for the command /send" + }, + "commandHint_unban": "Perdoar o utilizador dado", + "@commandHint_unban": { + "type": "String", + "description": "Usage hint for the command /unban" + }, + "commandInvalid": "Comando inválido", + "@commandInvalid": { + "type": "String" + }, + "commandMissing": "{command} não é um comando.", + "@commandMissing": { + "type": "String", + "placeholders": { + "command": { + "type": "String" + } + }, + "description": "State that {command} is not a valid /command." + }, + "compareEmojiMatch": "Compara e certifica-te que os emojis que se seguem correspondem aos do outro dispositivo:", + "@compareEmojiMatch": { + "type": "String", + "placeholders": {} + }, + "compareNumbersMatch": "Compara e certifica-te que os números que se seguem correspondem aos do outro dispositivo:", + "@compareNumbersMatch": { + "type": "String", + "placeholders": {} + }, + "configureChat": "Configurar conversa", + "@configureChat": { + "type": "String", + "placeholders": {} + }, + "contactHasBeenInvitedToTheGroup": "O contacto foi convidado para o grupo", + "@contactHasBeenInvitedToTheGroup": { + "type": "String", + "placeholders": {} + }, + "contentHasBeenReported": "O conteúdo foi denunciado aos admins do servidor", + "@contentHasBeenReported": { + "type": "String", + "placeholders": {} + }, + "copiedToClipboard": "Copiado para a área de transferência", + "@copiedToClipboard": { + "type": "String", + "placeholders": {} + }, + "copy": "Copiar", + "@copy": { + "type": "String", + "placeholders": {} + }, + "copyToClipboard": "Copiar para a área de transferência", + "@copyToClipboard": { + "type": "String", + "placeholders": {} + }, + "couldNotDecryptMessage": "Não foi possível desencriptar mensagem: {error}", + "@couldNotDecryptMessage": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "countParticipants": "{count} participantes", + "@countParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "create": "Criar", + "@create": { + "type": "String", + "placeholders": {} + }, + "createdTheChat": "{username} criou a conversa", + "@createdTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "createNewSpace": "Novo espaço", + "@createNewSpace": { + "type": "String", + "placeholders": {} + }, + "currentlyActive": "Ativo(a) agora", + "@currentlyActive": { + "type": "String", + "placeholders": {} + }, + "darkTheme": "Escuro", + "@darkTheme": { + "type": "String", + "placeholders": {} + }, + "dateAndTimeOfDay": "{date} às {timeOfDay}", + "@dateAndTimeOfDay": { + "type": "String", + "placeholders": { + "date": { + "type": "String" + }, + "timeOfDay": { + "type": "String" + } + } + }, + "deactivateAccountWarning": "Isto irá desativar a tua conta. Não é reversível! Tens a certeza?", + "@deactivateAccountWarning": { + "type": "String", + "placeholders": {} + }, + "defaultPermissionLevel": "Nível de permissão normal", + "@defaultPermissionLevel": { + "type": "String", + "placeholders": {} + }, + "delete": "Eliminar", + "@delete": { + "type": "String", + "placeholders": {} + }, + "deleteAccount": "Eliminar conta", + "@deleteAccount": { + "type": "String", + "placeholders": {} + }, + "deleteMessage": "Eliminar mensagem", + "@deleteMessage": { + "type": "String", + "placeholders": {} + }, + "devices": "Dispositivos", + "@devices": { + "type": "String", + "placeholders": {} + }, + "directChats": "Conversas diretas", + "@directChats": { + "type": "String", + "placeholders": {} + }, + "displaynameHasBeenChanged": "Nome de exibição alterado", + "@displaynameHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "downloadFile": "Descarregar ficheiro", + "@downloadFile": { + "type": "String", + "placeholders": {} + }, + "edit": "Editar", + "@edit": { + "type": "String", + "placeholders": {} + }, + "editBlockedServers": "Editar servidores bloqueados", + "@editBlockedServers": { + "type": "String", + "placeholders": {} + }, + "editDisplayname": "Editar nome de exibição", + "@editDisplayname": { + "type": "String", + "placeholders": {} + }, + "editRoomAliases": "Editar alcunhas da sala", + "@editRoomAliases": { + "type": "String", + "placeholders": {} + }, + "editRoomAvatar": "Editar avatar da sala", + "@editRoomAvatar": { + "type": "String", + "placeholders": {} + }, + "emoteExists": "Emote já existente!", + "@emoteExists": { + "type": "String", + "placeholders": {} + }, + "emoteInvalid": "Código de emote inválido!", + "@emoteInvalid": { + "type": "String", + "placeholders": {} + }, + "emoteShortcode": "Código do emote", + "@emoteShortcode": { + "type": "String", + "placeholders": {} + }, + "emptyChat": "Conversa vazia", + "@emptyChat": { + "type": "String", + "placeholders": {} + }, + "enableEmotesGlobally": "Ativar pacote de emotes globalmente", + "@enableEmotesGlobally": { + "type": "String", + "placeholders": {} + }, + "enableEncryption": "Ativar encriptação", + "@enableEncryption": { + "type": "String", + "placeholders": {} + }, + "enableEncryptionWarning": "Nunca mais poderás desativar a encriptação. Tens a certeza?", + "@enableEncryptionWarning": { + "type": "String", + "placeholders": {} + }, + "encrypted": "Encriptada", + "@encrypted": { + "type": "String", + "placeholders": {} + }, + "encryption": "Encriptação", + "@encryption": { + "type": "String", + "placeholders": {} + }, + "encryptionNotEnabled": "A encriptação não está ativada", + "@encryptionNotEnabled": { + "type": "String", + "placeholders": {} + }, + "endedTheCall": "{senderName} terminou a chamada", + "@endedTheCall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "enterAnEmailAddress": "Insere um endereço de correio eletrónico", + "@enterAnEmailAddress": { + "type": "String", + "placeholders": {} + }, + "errorObtainingLocation": "Erro ao obter localização: {error}", + "@errorObtainingLocation": { + "type": "String", + "placeholders": { + "error": { + "type": "String" + } + } + }, + "fontSize": "Tamanho da letra", + "@fontSize": { + "type": "String", + "placeholders": {} + }, + "forward": "Reencaminhar", + "@forward": { + "type": "String", + "placeholders": {} + }, + "group": "Grupo", + "@group": { + "type": "String", + "placeholders": {} + }, + "groupIsPublic": "O grupo é público", + "@groupIsPublic": { + "type": "String", + "placeholders": {} + }, + "groups": "Grupos", + "@groups": { + "type": "String", + "placeholders": {} + }, + "groupWith": "Grupo com {displayname}", + "@groupWith": { + "type": "String", + "placeholders": { + "displayname": { + "type": "String" + } + } + }, + "guestsAreForbidden": "São proibidos visitantes", + "@guestsAreForbidden": { + "type": "String", + "placeholders": {} + }, + "guestsCanJoin": "Podem entrar visitantes", + "@guestsCanJoin": { + "type": "String", + "placeholders": {} + }, + "hasWithdrawnTheInvitationFor": "{username} revogou o convite para {targetName}", + "@hasWithdrawnTheInvitationFor": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "help": "Ajuda", + "@help": { + "type": "String", + "placeholders": {} + }, + "hideUnknownEvents": "Esconder eventos desconhecidos", + "@hideUnknownEvents": { + "type": "String", + "placeholders": {} + }, + "ignore": "Ignorar", + "@ignore": { + "type": "String", + "placeholders": {} + }, + "ignoredUsers": "Utilizadores ignorados", + "@ignoredUsers": { + "type": "String", + "placeholders": {} + }, + "iHaveClickedOnLink": "Eu cliquei na ligação", + "@iHaveClickedOnLink": { + "type": "String", + "placeholders": {} + }, + "incorrectPassphraseOrKey": "Senha ou chave de recuperação incorretos", + "@incorrectPassphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "inviteContact": "Convidar contacto", + "@inviteContact": { + "type": "String", + "placeholders": {} + }, + "inviteContactToGroup": "Convidar contacto para {groupName}", + "@inviteContactToGroup": { + "type": "String", + "placeholders": { + "groupName": { + "type": "String" + } + } + }, + "invited": "Convidado(a)", + "@invited": { + "type": "String", + "placeholders": {} + }, + "invitedUser": "{username} convidou {targetName}", + "@invitedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "invitedUsersOnly": "Utilizadores(as) convidados(as) apenas", + "@invitedUsersOnly": { + "type": "String", + "placeholders": {} + }, + "inviteText": "{username} convidou-te para o FluffyChat.\n1. Instala o FluffyChat: https://fluffychat.im\n2. Regista-te ou inicia sessão.\n3. Abre a ligação de convite: {link}", + "@inviteText": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "link": { + "type": "String" + } + } + }, + "isTyping": "está a escrever…", + "@isTyping": { + "type": "String", + "placeholders": {} + }, + "joinedTheChat": "{username} entrou na conversa", + "@joinedTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "joinRoom": "Entrar na sala", + "@joinRoom": { + "type": "String", + "placeholders": {} + }, + "kicked": "{username} expulsou {targetName}", + "@kicked": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickedAndBanned": "{username} expulsou e baniu {targetName}", + "@kickedAndBanned": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "kickFromChat": "Expulsar da conversa", + "@kickFromChat": { + "type": "String", + "placeholders": {} + }, + "lastActiveAgo": "Ativo(a) pela última vez: {localizedTimeShort}", + "@lastActiveAgo": { + "type": "String", + "placeholders": { + "localizedTimeShort": { + "type": "String" + } + } + }, + "leave": "Sair", + "@leave": { + "type": "String", + "placeholders": {} + }, + "leftTheChat": "Saiu da conversa", + "@leftTheChat": { + "type": "String", + "placeholders": {} + }, + "lightTheme": "Claro", + "@lightTheme": { + "type": "String", + "placeholders": {} + }, + "loadCountMoreParticipants": "Carregar mais {count} participantes", + "@loadCountMoreParticipants": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "loadingPleaseWait": "A carregar... Por favor aguarde.", + "@loadingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "loadMore": "Carregar mais…", + "@loadMore": { + "type": "String", + "placeholders": {} + }, + "locationDisabledNotice": "Os serviços de localização estão desativados. Por favor, ativa-os para poder partilhar a sua localização.", + "@locationDisabledNotice": { + "type": "String", + "placeholders": {} + }, + "locationPermissionDeniedNotice": "Permissão de localização recusada. Por favor, concede permissão para poderes partilhar a tua posição.", + "@locationPermissionDeniedNotice": { + "type": "String", + "placeholders": {} + }, + "login": "Entrar", + "@login": { + "type": "String", + "placeholders": {} + }, + "logInTo": "Entrar em {homeserver}", + "@logInTo": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "logout": "Sair", + "@logout": { + "type": "String", + "placeholders": {} + }, + "mention": "Mencionar", + "@mention": { + "type": "String", + "placeholders": {} + }, + "messages": "Mensagens", + "@messages": { + "type": "String", + "placeholders": {} + }, + "moderator": "Moderador", + "@moderator": { + "type": "String", + "placeholders": {} + }, + "muteChat": "Silenciar conversa", + "@muteChat": { + "type": "String", + "placeholders": {} + }, + "newChat": "Nova conversa", + "@newChat": { + "type": "String", + "placeholders": {} + }, + "newMessageInFluffyChat": "Nova mensagem no FluffyChat", + "@newMessageInFluffyChat": { + "type": "String", + "placeholders": {} + }, + "newVerificationRequest": "Novo pedido de verificação!", + "@newVerificationRequest": { + "type": "String", + "placeholders": {} + }, + "next": "Próximo", + "@next": { + "type": "String", + "placeholders": {} + }, + "no": "Não", + "@no": { + "type": "String", + "placeholders": {} + }, + "noConnectionToTheServer": "Nenhuma ligação ao servidor", + "@noConnectionToTheServer": { + "type": "String", + "placeholders": {} + }, + "noEmotesFound": "Nenhuns emotes encontrados. 😕", + "@noEmotesFound": { + "type": "String", + "placeholders": {} + }, + "noEncryptionForPublicRooms": "Só podes ativar a encriptação quando a sala não for publicamente acessível.", + "@noEncryptionForPublicRooms": { + "type": "String", + "placeholders": {} + }, + "noGoogleServicesWarning": "Parece que não tens nenhuns serviços da Google no seu telemóvel. É uma boa decisão para a sua privacidade! Para receber notificações instantâneas no FluffyChat, recomendamos que uses https://microg.org/ ou https://unifiedpush.org/.", + "@noGoogleServicesWarning": { + "type": "String", + "placeholders": {} + }, + "noMatrixServer": "{server1} não é um servidor Matrix, usar {server2}?", + "@noMatrixServer": { + "type": "String", + "placeholders": { + "server1": { + "type": "String" + }, + "server2": { + "type": "String" + } + } + }, + "changedTheChatAvatar": "{username} alterou o avatar da conversa", + "@changedTheChatAvatar": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheHistoryVisibilityTo": "{username} alterou a visibilidade do histórico para: {rules}", + "@changedTheHistoryVisibilityTo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "rules": { + "type": "String" + } + } + }, + "changedTheGuestAccessRules": "{username} alterou as regras de acesso de visitantes", + "@changedTheGuestAccessRules": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "changedTheHistoryVisibility": "{username} alterou a visibilidade do histórico", + "@changedTheHistoryVisibility": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sendAMessage": "Enviar a mensagem", + "@sendAMessage": { + "type": "String", + "placeholders": {} + }, + "sendAudio": "Enviar áudio", + "@sendAudio": { + "type": "String", + "placeholders": {} + }, + "sendAsText": "Enviar como texto", + "@sendAsText": { + "type": "String" + }, + "send": "Enviar", + "@send": { + "type": "String", + "placeholders": {} + }, + "appLock": "Bloqueio da aplicação", + "@appLock": { + "type": "String", + "placeholders": {} + }, + "noPasswordRecoveryDescription": "Ainda não adicionaste uma forma de recuperar a tua palavra-passe.", + "@noPasswordRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "noPermission": "Sem permissão", + "@noPermission": { + "type": "String", + "placeholders": {} + }, + "noRoomsFound": "Não foram encontradas nenhumas salas…", + "@noRoomsFound": { + "type": "String", + "placeholders": {} + }, + "notifications": "Notificações", + "@notifications": { + "type": "String", + "placeholders": {} + }, + "numUsersTyping": "Estão {count} utilizadores(as) a escrever…", + "@numUsersTyping": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "obtainingLocation": "A obter localização…", + "@obtainingLocation": { + "type": "String", + "placeholders": {} + }, + "ok": "ok", + "@ok": { + "type": "String", + "placeholders": {} + }, + "onlineKeyBackupEnabled": "A cópia de segurança online de chaves está ativada", + "@onlineKeyBackupEnabled": { + "type": "String", + "placeholders": {} + }, + "oopsPushError": "Ups! Infelizmente, ocorreu um erro ao configurar as notificações instantâneas.", + "@oopsPushError": { + "type": "String", + "placeholders": {} + }, + "oopsSomethingWentWrong": "Ups, algo correu mal…", + "@oopsSomethingWentWrong": { + "type": "String", + "placeholders": {} + }, + "openAppToReadMessages": "Abrir aplicação para ler mensagens", + "@openAppToReadMessages": { + "type": "String", + "placeholders": {} + }, + "openCamera": "Abrir câmara", + "@openCamera": { + "type": "String", + "placeholders": {} + }, + "oneClientLoggedOut": "Um dos teus clientes terminou sessão", + "addAccount": "Adicionar conta", + "editBundlesForAccount": "Editar pacotes para esta conta", + "addToBundle": "Adicionar ao pacote", + "removeFromBundle": "Remover deste pacote", + "bundleName": "Nome do pacote", + "openInMaps": "Abrir nos mapas", + "@openInMaps": { + "type": "String", + "placeholders": {} + }, + "link": "Ligação", + "or": "Ou", + "@or": { + "type": "String", + "placeholders": {} + }, + "participant": "Participante", + "@participant": { + "type": "String", + "placeholders": {} + }, + "passphraseOrKey": "senha ou chave de recuperação", + "@passphraseOrKey": { + "type": "String", + "placeholders": {} + }, + "password": "Palavra-passe", + "@password": { + "type": "String", + "placeholders": {} + }, + "passwordForgotten": "Palavra-passe esquecida", + "@passwordForgotten": { + "type": "String", + "placeholders": {} + }, + "passwordHasBeenChanged": "A palavra-passe foi alterada", + "@passwordHasBeenChanged": { + "type": "String", + "placeholders": {} + }, + "passwordRecovery": "Recuperação de palavra-passe", + "@passwordRecovery": { + "type": "String", + "placeholders": {} + }, + "pin": "Afixar", + "@pin": { + "type": "String", + "placeholders": {} + }, + "pleaseChooseAPasscode": "Por favor, escolhe um código-passe", + "@pleaseChooseAPasscode": { + "type": "String", + "placeholders": {} + }, + "pleaseClickOnLink": "Por favor, clica na ligação no correio eletrónico e depois continua.", + "@pleaseClickOnLink": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPassword": "Por favor, insere a tua palavra-passe", + "@pleaseEnterYourPassword": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourPin": "Por favor, insere o teu código", + "@pleaseEnterYourPin": { + "type": "String", + "placeholders": {} + }, + "pleaseEnterYourUsername": "Por favor, insere o teu nome de utilizador", + "@pleaseEnterYourUsername": { + "type": "String", + "placeholders": {} + }, + "pleaseFollowInstructionsOnWeb": "Por favor, segue as instruções no website e clica em \"Seguinte\".", + "@pleaseFollowInstructionsOnWeb": { + "type": "String", + "placeholders": {} + }, + "privacy": "Privacidade", + "@privacy": { + "type": "String", + "placeholders": {} + }, + "publicRooms": "Salas públicas", + "@publicRooms": { + "type": "String", + "placeholders": {} + }, + "reason": "Razão", + "@reason": { + "type": "String", + "placeholders": {} + }, + "redactedAnEvent": "{username} eliminou um evento", + "@redactedAnEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "redactMessage": "Eliminar mensagem", + "@redactMessage": { + "type": "String", + "placeholders": {} + }, + "reject": "Rejeitar", + "@reject": { + "type": "String", + "placeholders": {} + }, + "rejectedTheInvitation": "{username} rejeitou o convite", + "@rejectedTheInvitation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "remove": "Remover", + "@remove": { + "type": "String", + "placeholders": {} + }, + "removeAllOtherDevices": "Remover todos os outros dispositivos", + "@removeAllOtherDevices": { + "type": "String", + "placeholders": {} + }, + "unbanFromChat": "Perdoar nesta conversa", + "@unbanFromChat": { + "type": "String", + "placeholders": {} + }, + "removeYourAvatar": "Remover o teu avatar", + "@removeYourAvatar": { + "type": "String", + "placeholders": {} + }, + "replaceRoomWithNewerVersion": "Substituir sala com versão mais recente", + "@replaceRoomWithNewerVersion": { + "type": "String", + "placeholders": {} + }, + "reply": "Responder", + "@reply": { + "type": "String", + "placeholders": {} + }, + "reportMessage": "Reportar mensagem", + "@reportMessage": { + "type": "String", + "placeholders": {} + }, + "roomHasBeenUpgraded": "A sala foi atualizada", + "@roomHasBeenUpgraded": { + "type": "String", + "placeholders": {} + }, + "roomVersion": "Versão da sala", + "@roomVersion": { + "type": "String", + "placeholders": {} + }, + "saveFile": "Guardar ficheiro", + "@saveFile": { + "type": "String", + "placeholders": {} + }, + "search": "Procurar", + "@search": { + "type": "String", + "placeholders": {} + }, + "security": "Segurança", + "@security": { + "type": "String", + "placeholders": {} + }, + "sendFile": "Enviar ficheiro", + "@sendFile": { + "type": "String", + "placeholders": {} + }, + "sendImage": "Enviar imagem", + "@sendImage": { + "type": "String", + "placeholders": {} + }, + "sendMessages": "Enviar mensagens", + "@sendMessages": { + "type": "String", + "placeholders": {} + }, + "sendVideo": "Enviar vídeo", + "@sendVideo": { + "type": "String", + "placeholders": {} + }, + "sentAFile": "{username} enviar um ficheiro", + "@sentAFile": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAnAudio": "{username} enviar um áudio", + "@sentAnAudio": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAPicture": "{username} enviar uma imagem", + "@sentAPicture": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentASticker": "{username} enviou um autocolante", + "@sentASticker": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "sentAVideo": "{username} enviou um vídeo", + "@sentAVideo": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "commandHint_clearcache": "Limpar cache", + "@commandHint_clearcache": { + "type": "String", + "description": "Usage hint for the command /clearcache" + }, + "commandHint_create": "Criar uma conversa de grupo vazia\nUsa --no-encryption para desativar a encriptação", + "@commandHint_create": { + "type": "String", + "description": "Usage hint for the command /create" + }, + "commandHint_discardsession": "Descartar sessão", + "@commandHint_discardsession": { + "type": "String", + "description": "Usage hint for the command /discardsession" + }, + "commandHint_dm": "Iniciar uma conversa direta\nUsa --no-encryption para desativar a encriptação", + "@commandHint_dm": { + "type": "String", + "description": "Usage hint for the command /dm" + }, + "dehydrate": "Exportar sessão e limpar dispositivo", + "dehydrateWarning": "Esta ação não pode ser revertida. Assegura-te que guardas bem a cópia de segurança.", + "hydrate": "Restaurar a partir de cópia de segurança", + "hugContent": "{senderName} abraçou-o", + "@hugContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "knock": "Bater à porta", + "theyMatch": "Correspondem", + "@theyMatch": { + "type": "String", + "placeholders": {} + }, + "jumpToLastReadMessage": "Saltar para a última mensagem lida", + "commandHint_cuddle": "Mandar um carinho", + "unknownDevice": "Dispositivo desconhecido", + "@unknownDevice": { + "type": "String", + "placeholders": {} + }, + "@completedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "reportErrorDescription": "😭 Oh não. Ocorreu um problema. Se quiser, pode comunicar este erro aos desenvolvedores.", + "@youAreNoLongerParticipatingInThisChat": { + "type": "String", + "placeholders": {} + }, + "globalChatId": "ID global do chat", + "synchronizingPleaseWaitCounter": " A sincronizar… ({percentage}%)", + "@synchronizingPleaseWaitCounter": { + "type": "String", + "placeholders": { + "percentage": { + "type": "String" + } + } + }, + "@verifySuccess": { + "type": "String", + "placeholders": {} + }, + "setColorTheme": "Definir tema de cor:", + "@warning": { + "type": "String", + "placeholders": {} + }, + "supposedMxid": "Isto deve ser {mxid}", + "@supposedMxid": { + "type": "String", + "placeholders": { + "mxid": { + "type": "String" + } + } + }, + "@goToSpace": { + "type": "String", + "space": {} + }, + "user": "Utilizador", + "youAcceptedTheInvitation": "👍 Aceitou o convite", + "userAndOthersAreTyping": "{username} e {count} outros estão a escrever…", + "@userAndOthersAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "count": { + "type": "int" + } + } + }, + "youInvitedBy": "📩 Foi convidado por {user}", + "@youInvitedBy": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "userIsTyping": "{username} está a escrever…", + "@userIsTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "@waitingPartnerAcceptRequest": { + "type": "String", + "placeholders": {} + }, + "@writeAMessage": { + "type": "String", + "placeholders": {} + }, + "appLockDescription": "Bloqueie a aplicação quando não a usa com um código pin", + "youKickedAndBanned": "🙅 Deu kick e baniu {user}", + "@youKickedAndBanned": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@isReadyForKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "userAndUserAreTyping": "{username} e {username2} estão a escrever…", + "@userAndUserAreTyping": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "username2": { + "type": "String" + } + } + }, + "unread": "Não lido", + "@countReplies": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@versionWithNumber": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "youRejectedTheInvitation": "Rejeitou o convite", + "newSpaceDescription": "Espaços permitem-lhe consolidar os seus chats e construir comunidades privadas ou públicas.", + "encryptThisChat": "Encriptar este chat", + "@fromTheInvitation": { + "type": "String", + "placeholders": {} + }, + "@countChats": { + "type": "String", + "placeholders": { + "chats": { + "type": "int" + } + } + }, + "reopenChat": "Reabrir chat", + "unpin": "Desfixar", + "@unpin": { + "type": "String", + "placeholders": {} + }, + "spaceIsPublic": "O espaço é público", + "@spaceIsPublic": { + "type": "String", + "placeholders": {} + }, + "@userLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "unblockDevice": "Desbloquear Dispositivo", + "@unblockDevice": { + "type": "String", + "placeholders": {} + }, + "countFiles": "{count} ficheiros", + "@countFiles": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "noKeyForThisMessage": "Isto pode acontecer se a mensagem foi enviada antes de ter iniciado sessão na sua conta neste dispositivo.\n\nTambém é possível que quem enviou tenha o seu dispositivo bloqueado ou ocorreu algo de errado com a conexão de internet.\n\nConsegue ler a mensagem em outra sessão? Então pode transferir a mensagem a partir do mesmo! Vá a Definições > Dispositivos e certifique-se que os seus dispositivos verificaram-se um ao outro. Quando abrir a sala da próxima vez e ambas as sessões estão em primeiro plano, as chaves serão transmitidas automaticamente.\n\nNão quer perder as chaves ao terminar sessão ou ao mudar dispositivos? Certifique-se que tem a cópia de segurança de chat ativa nas definições.", + "shareLocation": "Partilhar localização", + "@shareLocation": { + "type": "String", + "placeholders": {} + }, + "commandHint_markasgroup": "Marcar como grupo", + "storeInAppleKeyChain": "Armazenado na Apple KeyChain", + "chatPermissions": "Permissões de chat", + "@voiceMessage": { + "type": "String", + "placeholders": {} + }, + "storeInAndroidKeystore": "Armazenado em Android KeyStore", + "@weSentYouAnEmail": { + "type": "String", + "placeholders": {} + }, + "@updateInstalled": { + "type": "String", + "placeholders": { + "version": { + "type": "String" + } + } + }, + "synchronizingPleaseWait": "A sincronizar… Por favor aguarde.", + "@synchronizingPleaseWait": { + "type": "String", + "placeholders": {} + }, + "@noUsersFoundWithQuery": { + "type": "String", + "placeholders": { + "query": { + "type": "String" + } + } + }, + "usersMustKnock": "Utilizadores têm que bater à porta", + "whyIsThisMessageEncrypted": "Porque é que esta mensagem é ilegível?", + "setChatDescription": "Definir descrição do chat", + "userLeftTheChat": "🚪 {username} saiu do chat", + "@userLeftTheChat": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "spaceName": "Nome do espaço", + "@spaceName": { + "type": "String", + "placeholders": {} + }, + "importFromZipFile": "Importar a partir de um ficheiro .zip", + "@sentVoiceMessage": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "duration": { + "type": "String" + } + } + }, + "noOtherDevicesFound": "Nenhum outro dispositivo encontrado", + "@whoIsAllowedToJoinThisGroup": { + "type": "String", + "placeholders": {} + }, + "@redactedBy": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "submit": "Submeter", + "@submit": { + "type": "String", + "placeholders": {} + }, + "unmuteChat": "Ativar o som do chat", + "@unmuteChat": { + "type": "String", + "placeholders": {} + }, + "@yes": { + "type": "String", + "placeholders": {} + }, + "@startedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "fileIsTooBigForServer": "Não foi possível enviar! O sevidor apenas suporta anexos até {max}.", + "@fileIsTooBigForServer": { + "type": "String", + "placeholders": { + "max": { + "type": "String" + } + } + }, + "verified": "Verificado", + "@verified": { + "type": "String", + "placeholders": {} + }, + "setStatus": "Definir estado", + "@setStatus": { + "type": "String", + "placeholders": {} + }, + "@adminLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "readUpToHere": "Lido até aqui", + "@waitingPartnerEmoji": { + "type": "String", + "placeholders": {} + }, + "tryToSendAgain": "Tenter enviar novamente", + "@tryToSendAgain": { + "type": "String", + "placeholders": {} + }, + "aboutHomeserver": "Sobre o {homeserver}", + "@aboutHomeserver": { + "type": "String", + "placeholders": { + "homeserver": { + "type": "String" + } + } + }, + "@visibleForAllParticipants": { + "type": "String", + "placeholders": {} + }, + "@mute": { + "description": "This should be a very short string because there is not much space in the button!" + }, + "archiveRoomDescription": "O chat será movido para o arquivo. Outros utilizadores poderão ver deixou o chat.", + "exportEmotePack": "Exportar pacote de Emotes como .zip", + "@setAsCanonicalAlias": { + "type": "String", + "placeholders": {} + }, + "@whyDoYouWantToReportThis": { + "type": "String", + "placeholders": {} + }, + "@withTheseAddressesRecoveryDescription": { + "type": "String", + "placeholders": {} + }, + "@redactedByBecause": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "reason": { + "type": "String" + } + } + }, + "youHaveWithdrawnTheInvitationFor": "Retirou o convite para o {user}", + "@youHaveWithdrawnTheInvitationFor": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "skip": "Ignorar", + "@skip": { + "type": "String", + "placeholders": {} + }, + "sharedTheLocation": "{username} partilhou a sua localização", + "@sharedTheLocation": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + } + } + }, + "unbannedUser": "{username} levantou o ban a {targetName}", + "@unbannedUser": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "targetName": { + "type": "String" + } + } + }, + "youInvitedUser": "📩 Convidou {user}", + "@youInvitedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "fileHasBeenSavedAt": "O ficheiro foi guardado em {path}", + "@fileHasBeenSavedAt": { + "type": "String", + "placeholders": { + "path": { + "type": "String" + } + } + }, + "@spaceMemberOfCanKnock": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "invalidInput": "Input inválido!", + "@yourPublicKey": { + "type": "String", + "placeholders": {} + }, + "tooManyRequestsWarning": "Demasiados pedidos. Por favor tente novamente mais tarde!", + "@tooManyRequestsWarning": { + "type": "String", + "placeholders": {} + }, + "swipeRightToLeftToReply": "Deslize da direita para a esquerda para responder", + "doNotShowAgain": "Não mostrar novamente", + "report": "reportar", + "status": "Estado", + "@status": { + "type": "String", + "placeholders": {} + }, + "changedTheChatDescription": "{username} mudou a descrição do chat", + "@verifyStart": { + "type": "String", + "placeholders": {} + }, + "unverified": "Não Verificado", + "@sentCallInformations": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "googlyEyesContent": "{senderName} enviou-lhe olhos esbugalhados", + "@googlyEyesContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "youBannedUser": "Baniu {user}", + "@youBannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "theyDontMatch": "Não Correspondem", + "@theyDontMatch": { + "type": "String", + "placeholders": {} + }, + "@youHaveBeenBannedFromThisChat": { + "type": "String", + "placeholders": {} + }, + "@chatSearchedUntil": { + "type": "String", + "placeholders": { + "time": { + "type": "String" + } + } + }, + "@sessionLostBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "@thereAreCountUsersBlocked": { + "type": "String", + "count": {} + }, + "hasKnocked": "🚪 {user} bateu à porta", + "@hasKnocked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "openLinkInBrowser": "Abrir o link no browser", + "disableEncryptionWarning": "Por razões de segurança não pode desativar encriptação em um chat, onde já foi ativado previamente.", + "checkList": "Verificar lista", + "noOneCanJoin": "Ninguém pode juntar-se", + "wrongPinEntered": "Pin introduzido incorreto! Tente novamente daqui a {seconds} segundos...", + "@wrongPinEntered": { + "type": "String", + "placeholders": { + "seconds": { + "type": "int" + } + } + }, + "sendTypingNotifications": "Enviar notificações de digitação", + "accessAndVisibility": "Acesso e visibilidade", + "@verifyTitle": { + "type": "String", + "placeholders": {} + }, + "unknownEncryptionAlgorithm": "Algoritmo de encriptação desconhecido", + "@unknownEncryptionAlgorithm": { + "type": "String", + "placeholders": {} + }, + "importEmojis": "Importar Emojis", + "wasDirectChatDisplayName": "Esvaziar chat (era {oldDisplayName})", + "@wasDirectChatDisplayName": { + "type": "String", + "placeholders": { + "oldDisplayName": { + "type": "String" + } + } + }, + "@whoCanPerformWhichAction": { + "type": "String", + "placeholders": {} + }, + "confirmMatrixId": "Por favor confirme o seu Matrix ID para eliminar a sua conta.", + "@you": { + "type": "String", + "placeholders": {} + }, + "notAnImage": "Não é um ficheiro de imagem.", + "users": "Utilizadores", + "space": "Espaço", + "sourceCode": "Código fonte", + "@sourceCode": { + "type": "String", + "placeholders": {} + }, + "userSentUnknownEvent": "{username} enviou um evento do tipo {type}", + "@userSentUnknownEvent": { + "type": "String", + "placeholders": { + "username": { + "type": "String" + }, + "type": { + "type": "String" + } + } + }, + "@unknownPushRule": { + "type": "String", + "placeholders": { + "rule": { + "type": "String" + } + } + }, + "pleaseEnterANumber": "Por favor introduza um número maior que 0", + "youKicked": "👞 Deu kick a {user}", + "@youKicked": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "jump": "Saltar", + "@reactedWith": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + }, + "reaction": { + "type": "String" + } + } + }, + "sorryThatsNotPossible": "Desculpe... isso não é possível", + "noMoreChatsFound": "Mais nenhum chat encontrado...", + "commandHint_markasdm": "Marcar como sala de mensagem direta para o Matrix ID dado", + "cuddleContent": "{senderName} fez-lhe carinho", + "@cuddleContent": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@waitingPartnerNumbers": { + "type": "String", + "placeholders": {} + }, + "emoteKeyboardNoRecents": "Emotes recentemente utilizados aparecerão aqui...", + "@emoteKeyboardNoRecents": { + "type": "String", + "placeholders": {} + }, + "startedACall": "{senderName} começou uma chamada", + "@startedACall": { + "type": "String", + "placeholders": { + "senderName": { + "type": "String" + } + } + }, + "@acceptedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "systemTheme": "Sistema", + "@systemTheme": { + "type": "String", + "placeholders": {} + }, + "@visibilityOfTheChatHistory": { + "type": "String", + "placeholders": {} + }, + "settings": "Definições", + "@settings": { + "type": "String", + "placeholders": {} + }, + "youJoinedTheChat": "Juntou-se ao chat", + "@chatCanBeDiscoveredViaSearchOnServer": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "@canceledKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "statusExampleMessage": "Como está hoje?", + "@statusExampleMessage": { + "type": "String", + "placeholders": {} + }, + "commandHint_roomupgrade": "Atualizar esta sala para a versão dada da sala", + "commandHint_hug": "Enviar um abraço", + "replace": "Subsituir", + "@restoreSessionBody": { + "type": "String", + "placeholders": { + "url": { + "type": "String" + }, + "error": { + "type": "String" + } + } + }, + "youUnbannedUser": "Levantou o ban a {user}", + "@youUnbannedUser": { + "placeholders": { + "user": { + "type": "String" + } + } + }, + "@visibleForEveryone": { + "type": "String", + "placeholders": {} + }, + "newSpace": "Novo espaço", + "unknownEvent": "Evento de '{type}' desconhecido", + "@unknownEvent": { + "type": "String", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "@appWantsToUseForLogin": { + "type": "String", + "placeholders": { + "server": { + "type": "String" + } + } + }, + "@unreadChatsInApp": { + "type": "String", + "placeholders": { + "appname": { + "type": "String" + }, + "unread": { + "type": "String" + } + } + }, + "@countVotes": { + "type": "int", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "share": "Partilhar", + "@share": { + "type": "String", + "placeholders": {} + }, + "commandHint_googly": "Enviar alguns olhos esbugalhados", + "@moderatorLevel": { + "type": "String", + "placeholders": { + "level": { + "type": "int" + } + } + }, + "createGroup": "Criar grupo", + "@sendImages": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "custom": "Personalizado", + "noBackupWarning": "Aviso! Sem ativar cópia de segurança de chat, perderá acesso às suas mensagens encriptadas. É altamente recomendado que ative a cópia de segurança de chat primeiro antes de terminar sessão.", + "@fromJoining": { + "type": "String", + "placeholders": {} + }, + "importNow": "Importar agora", + "noChatsFoundHere": "Não foi encontrado nenhum chat aqui. Comece um chat novo com alguém ao usar o botão abaixo. ⤵️", + "changedTheChatName": "{username} mudou o nome do chat", + "invite": "Convidar", + "countInvited": "{count} convidados", + "@countInvited": { + "type": "String", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "@spaceMemberOf": { + "type": "String", + "placeholders": { + "spaces": { + "type": "String" + } + } + }, + "@requestedKeyVerification": { + "type": "String", + "placeholders": { + "sender": { + "type": "String" + } + } + }, + "@searchIn": { + "type": "String", + "placeholders": { + "chat": { + "type": "String" + } + } + }, + "unsupportedAndroidVersionLong": "Esta funcionalidade requer uma versão de Android mais nova. Por favor verifique se há atualização ou suporter do Lineage OS.", + "inviteGroupChat": "📨 Convite para chat em grupo", + "storeSecurlyOnThisDevice": "Armazenado de forma segura neste dispositivo", + "discardEdits": "Tem mudanças não guardadas. Descartar as suas edições?", + "@discardEdits": { + "type": "String", + "placeholders": {} + }, + "newPost": "Nova publicação", + "@newPost": { + "type": "String", + "placeholders": {} + }, + "postPhoto": "Publicar foto", + "@postPhoto": { + "type": "String", + "placeholders": {} + }, + "postVideo": "Publicar vídeo", + "@postVideo": { + "type": "String", + "placeholders": {} + }, + "noPostsYet": "Ainda não há publicações. Partilhe a primeira foto ou vídeo!", + "@noPostsYet": { + "type": "String", + "placeholders": {} + }, + "noCommentsYet": "Ainda não há comentários. Seja o primeiro a comentar!", + "@noCommentsYet": { + "type": "String", + "placeholders": {} + }, + "like": "Gostar", + "@like": { + "type": "String", + "placeholders": {} + }, + "unlike": "Não gostar", + "@unlike": { + "type": "String", + "placeholders": {} + }, + "editCaption": "Editar legenda", + "@editCaption": { + "type": "String", + "placeholders": {} + }, + "captionHint": "Legenda", + "@captionHint": { + "type": "String", + "placeholders": {} + }, + "areYouSureDeletePost": "Eliminar" +} diff --git a/lib/pages/archive/archive.dart b/lib/pages/archive/archive.dart index 4f4da2d..1622e3c 100644 --- a/lib/pages/archive/archive.dart +++ b/lib/pages/archive/archive.dart @@ -31,13 +31,32 @@ class ArchiveController extends State { context: context, future: () async { Logs().v('Forget room ${archive.last.room.getLocalizedDisplayname()}'); - await archive[i].room.forget(); + await forgetRoom(archive[i].room); archive.removeAt(i); }, ); setState(() {}); } + /// Forgets [room] and treats a room that is already gone on the server as + /// success, so a leftover local copy can always be removed without errors. + Future forgetRoom(Room room) async { + try { + await room.forget(); + } on MatrixException catch (e, s) { + if (!{ + MatrixError.M_FORBIDDEN, + MatrixError.M_NOT_FOUND, + MatrixError.M_UNKNOWN, + }.contains(e.error)) { + Logs().w('Failed to forget room ${room.id}', e, s); + rethrow; + } + Logs().w('Room ${room.id} is already gone, cleaning up locally...', e, s); + room.client.rooms.remove(room); + } + } + Future forgetAllAction() async { final archive = this.archive; if (archive.isEmpty) return; @@ -62,7 +81,7 @@ class ArchiveController extends State { Logs().v( 'Forget room ${archive.last.room.getLocalizedDisplayname()}', ); - await archive.last.room.forget(); + await forgetRoom(archive.last.room); archive.removeLast(); } }, diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 739b886..1ad454e 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -10,7 +10,6 @@ import 'package:collection/collection.dart'; import 'package:desktop_drop/desktop_drop.dart'; import 'package:emoji_picker_flutter/emoji_picker_flutter.dart'; import 'package:file_picker/file_picker.dart'; -import 'package:tatchat/config/app_config.dart'; import 'package:tatchat/config/setting_keys.dart'; import 'package:tatchat/config/themes.dart'; import 'package:tatchat/l10n/l10n.dart'; @@ -28,6 +27,7 @@ import 'package:tatchat/utils/matrix_live_kit_calls/matrix_live_kit_call.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/event_extension.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/filtered_timeline_extension.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/matrix_locals.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/other_party_can_receive.dart'; import 'package:tatchat/utils/platform_infos.dart'; import 'package:tatchat/utils/show_scaffold_dialog.dart'; @@ -85,7 +85,7 @@ class ChatPage extends StatelessWidget { ); } - if (room.tags.keys.contains(AppConfig.muralTag)) { + if (room.isMural) { return MuralChatPage(key: Key('mural_page_$roomId'), roomId: roomId); } diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index 51190d3..09cb4de 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -22,6 +22,7 @@ import 'package:scroll_to_index/scroll_to_index.dart'; import '../../config/app_config.dart'; import '../../utils/date_time_extension.dart'; +import '../../utils/matrix_sdk_extensions/room_extension.dart'; class ChatEventList extends StatelessWidget { final ChatController controller; @@ -237,6 +238,9 @@ class ChatEventList extends StatelessWidget { ), ) : null, + fullWidthCard: + controller.activeThreadId == null && + controller.room.isCanal, ), ], ), diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 4c54dbf..9f81e5d 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -25,6 +25,7 @@ import 'package:tatchat/widgets/pulsating_widget.dart'; import 'package:material_ui/material_ui.dart'; import 'package:matrix/matrix.dart'; +import '../../utils/matrix_sdk_extensions/room_extension.dart'; import '../../utils/stream_extension.dart'; import 'chat_emoji_picker.dart'; import 'chat_input_row.dart'; @@ -403,7 +404,13 @@ class ChatView extends StatelessWidget { ) : controller.room.canSendDefaultMessages && controller.room.membership == - Membership.join + Membership.join && + (controller.room.isCanal && + controller.activeThreadId == + null + ? controller.room.ownPowerLevel >= + PowerLevel.admin + : true) ? Material( clipBehavior: Clip.hardEdge, color: diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 8632019..7dca1c4 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -55,6 +55,12 @@ class Message extends StatelessWidget { final bool isCollapsed; final Set bigEmojis; + /// Renders the message as a full-width publication card (used in canal + /// rooms). Keeps every message feature (reply, reactions, edit, delete, + /// thread…), but drops the left/right bubble layout and stretches the + /// "bubble" over the whole available width. + final bool fullWidthCard; + const Message( this.event, { this.nextEvent, @@ -79,6 +85,7 @@ class Message extends StatelessWidget { this.onExpand, required this.enterThread, this.isCollapsed = false, + this.fullWidthCard = false, super.key, }); @@ -105,7 +112,12 @@ class Message extends StatelessWidget { final client = Matrix.of(context).client; final ownMessage = event.senderId == client.userID; - final alignment = ownMessage ? Alignment.topRight : Alignment.topLeft; + final card = fullWidthCard; + final alignment = card + ? Alignment.topLeft + : ownMessage + ? Alignment.topRight + : Alignment.topLeft; var color = theme.colorScheme.surfaceContainerHigh; final displayTime = @@ -128,6 +140,10 @@ class Message extends StatelessWidget { previousEvent!.senderId == event.senderId && previousEvent!.originServerTs.sameEnvironment(event.originServerTs); + // In card mode the sender name moves inside the card, so show it even for + // own messages (otherwise a publication feed would be anonymous). + final showSenderName = !nextEventSameSender && (card || !ownMessage); + final textColor = ownMessage ? theme.onBubbleColor : theme.colorScheme.onSurface; @@ -136,21 +152,27 @@ class Message extends StatelessWidget { ? theme.colorScheme.onTertiaryContainer : theme.colorScheme.tertiary; - final rowMainAxisAlignment = ownMessage + final rowMainAxisAlignment = card + ? MainAxisAlignment.start + : ownMessage ? MainAxisAlignment.end : MainAxisAlignment.start; final displayEvent = event.getDisplayEvent(timeline); const hardCorner = Radius.circular(3); const roundedCorner = Radius.circular(AppConfig.borderRadius); - final borderRadius = BorderRadius.only( - topLeft: !ownMessage ? hardCorner : roundedCorner, - topRight: ownMessage && nextEventSameSender ? hardCorner : roundedCorner, - bottomLeft: !ownMessage && previousEventSameSender - ? hardCorner - : roundedCorner, - bottomRight: ownMessage ? hardCorner : roundedCorner, - ); + final borderRadius = card + ? BorderRadius.all(roundedCorner) + : BorderRadius.only( + topLeft: !ownMessage ? hardCorner : roundedCorner, + topRight: ownMessage && nextEventSameSender + ? hardCorner + : roundedCorner, + bottomLeft: !ownMessage && previousEventSameSender + ? hardCorner + : roundedCorner, + bottomRight: ownMessage ? hardCorner : roundedCorner, + ); const avatarSize = Avatar.defaultSize; final noBubble = ({ @@ -229,9 +251,9 @@ class Message extends StatelessWidget { : SwipeDirection.startToEnd, onSwipe: (_) => onSwipe(), child: Container( - constraints: const BoxConstraints( - maxWidth: FluffyThemes.maxTimelineWidth, - ), + constraints: card + ? const BoxConstraints() + : const BoxConstraints(maxWidth: FluffyThemes.maxTimelineWidth), padding: EdgeInsets.only( left: 8.0, right: 8.0, @@ -242,7 +264,11 @@ class Message extends StatelessWidget { ), child: Column( mainAxisSize: .min, - crossAxisAlignment: ownMessage ? .end : .start, + crossAxisAlignment: card + ? CrossAxisAlignment.stretch + : ownMessage + ? .end + : .start, children: [ Stack( clipBehavior: Clip.none, @@ -275,7 +301,9 @@ class Message extends StatelessWidget { crossAxisAlignment: .start, mainAxisAlignment: rowMainAxisAlignment, children: [ - if (longPressSelect && !event.redacted) + if (card) + const SizedBox.shrink() + else if (longPressSelect && !event.redacted) SizedBox( height: avatarSize, width: avatarSize, @@ -318,70 +346,76 @@ class Message extends StatelessWidget { crossAxisAlignment: .start, mainAxisSize: .min, children: [ - Padding( - padding: EdgeInsets.only(left: 8.0), - child: Row( - mainAxisAlignment: ownMessage ? .end : .start, - children: [ - if (sender.powerLevel.role != - PowerLevelRole.user && - !nextEventSameSender && - !ownMessage && - !event.room.isDirectChat) - Padding( - padding: const EdgeInsets.only( - right: 2.0, + if (!card) + Padding( + padding: EdgeInsets.only(left: 8.0), + child: Row( + mainAxisAlignment: card + ? .start + : ownMessage + ? .end + : .start, + children: [ + if (sender.powerLevel.role != + PowerLevelRole.user && + !nextEventSameSender && + !ownMessage && + !event.room.isDirectChat) + Padding( + padding: const EdgeInsets.only( + right: 2.0, + ), + child: Icon( + sender.powerLevel.role == + PowerLevelRole.moderator + ? Icons.add_moderator_outlined + : Icons.admin_panel_settings, + size: 14, + color: theme + .colorScheme + .onPrimaryContainer, + ), ), - child: Icon( - sender.powerLevel.role == - PowerLevelRole.moderator - ? Icons.add_moderator_outlined - : Icons.admin_panel_settings, - size: 14, - color: theme - .colorScheme - .onPrimaryContainer, - ), - ), - if ((!nextEventSameSender) && !ownMessage) - FutureBuilder( - future: event.fetchSenderUser(), - builder: (context, snapshot) { - final displayname = - snapshot.data?.calcDisplayname() ?? - sender.calcDisplayname(); - return ConstrainedBox( - constraints: BoxConstraints( - maxWidth: 200, - ), - child: Text( - displayname, - style: TextStyle( - fontWeight: FontWeight.bold, - color: event.room.isDirectChat - ? Colors.transparent - : (theme.brightness == - Brightness.light - ? displayname - .colorScheme - .primary - : displayname - .colorScheme - .primaryContainer), - fontSize: 11, - shadows: event.room.isDirectChat - ? null - : wallpaperTextShadow, + if ((!nextEventSameSender) && !ownMessage) + FutureBuilder( + future: event.fetchSenderUser(), + builder: (context, snapshot) { + final displayname = + snapshot.data + ?.calcDisplayname() ?? + sender.calcDisplayname(); + return ConstrainedBox( + constraints: BoxConstraints( + maxWidth: 200, ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - ); - }, - ), - ], + child: Text( + displayname, + style: TextStyle( + fontWeight: FontWeight.bold, + color: event.room.isDirectChat + ? Colors.transparent + : (theme.brightness == + Brightness.light + ? displayname + .colorScheme + .primary + : displayname + .colorScheme + .primaryContainer), + fontSize: 11, + shadows: event.room.isDirectChat + ? null + : wallpaperTextShadow, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ); + }, + ), + ], + ), ), - ), Container( alignment: alignment, @@ -438,6 +472,7 @@ class Message extends StatelessWidget { ), animateIn: animateIn, child: Container( + width: card ? double.infinity : null, decoration: BoxDecoration( color: noBubble ? Colors.transparent @@ -458,15 +493,108 @@ class Message extends StatelessWidget { AppConfig.borderRadius, ), ), - constraints: const BoxConstraints( - maxWidth: - FluffyThemes.columnWidth * 1.5, + constraints: BoxConstraints( + maxWidth: card + ? double.infinity + : FluffyThemes.columnWidth * 1.5, ), child: Column( mainAxisSize: .min, crossAxisAlignment: CrossAxisAlignment.start, children: [ + if (card && showSenderName) + Container( + padding: + const EdgeInsets.fromLTRB( + 16, + 12, + 16, + 0, + ), + child: Row( + children: [ + if (sender + .powerLevel + .role != + PowerLevelRole.user) + Padding( + padding: + const EdgeInsets.only( + right: 2.0, + ), + child: Icon( + sender + .powerLevel + .role == + PowerLevelRole + .moderator + ? Icons + .add_moderator_outlined + : Icons + .admin_panel_settings, + size: 14, + color: theme + .colorScheme + .onPrimaryContainer, + ), + ), + Expanded( + child: FutureBuilder( + future: event + .fetchSenderUser(), + builder: (context, snapshot) { + final displayname = + snapshot.data + ?.calcDisplayname() ?? + sender + .calcDisplayname(); + return Text( + displayname, + style: TextStyle( + fontWeight: + FontWeight + .bold, + color: + theme.brightness == + Brightness + .light + ? displayname + .colorScheme + .primary + : displayname + .colorScheme + .primaryContainer, + fontSize: 12, + ), + maxLines: 1, + overflow: + TextOverflow + .ellipsis, + ); + }, + ), + ), + if (displayTime && + event + .status + .isSent) ...[ + const SizedBox(width: 8), + Text( + event.originServerTs + .localizedTimeOfDay( + context, + ), + style: TextStyle( + color: + eventStateTextColor, + fontSize: 11, + ), + ), + ], + ], + ), + ), if (event.inReplyToEventId( includingFallback: false, ) != @@ -557,7 +685,9 @@ class Message extends StatelessWidget { child: !hasReactions ? const SizedBox.shrink() : Container( - alignment: ownMessage + alignment: card + ? Alignment.centerLeft + : ownMessage ? Alignment.centerRight : Alignment.centerLeft, padding: EdgeInsets.only( @@ -569,7 +699,11 @@ class Message extends StatelessWidget { ), ), Row( - mainAxisAlignment: ownMessage ? .end : .start, + mainAxisAlignment: card + ? .start + : ownMessage + ? .end + : .start, children: [ const SizedBox(width: 8), if (event.status.isSent && @@ -643,7 +777,9 @@ class Message extends StatelessWidget { ], ), Align( - alignment: ownMessage + alignment: card + ? Alignment.bottomLeft + : ownMessage ? Alignment.bottomRight : Alignment.bottomLeft, child: AnimatedSize( @@ -861,19 +997,24 @@ class Message extends StatelessWidget { child: threadChildren.isEmpty ? const SizedBox.shrink() : Padding( - padding: const EdgeInsets.only( - top: 2.0, - bottom: 8.0, - left: avatarSize + 8, - ), + padding: const EdgeInsets.only(top: 2.0, bottom: 8.0) + .add( + EdgeInsets.only( + left: card ? 8.0 : avatarSize + 8, + ), + ), child: ConstrainedBox( - constraints: const BoxConstraints( - maxWidth: FluffyThemes.columnWidth * 1.5, + constraints: BoxConstraints( + maxWidth: card + ? double.infinity + : FluffyThemes.columnWidth * 1.5, ), child: TextButton.icon( style: TextButton.styleFrom( shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(4), + borderRadius: BorderRadius.circular( + AppConfig.borderRadius, + ), ), foregroundColor: theme.colorScheme.onSecondaryContainer, diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 48e38a5..8bd5305 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -14,6 +14,7 @@ import 'package:tatchat/pages/chat_list/tabs/home_tab.dart'; import 'package:tatchat/utils/error_reporter.dart'; import 'package:tatchat/utils/localized_exception_extension.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/matrix_locals.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/platform_infos.dart'; import 'package:tatchat/utils/show_scaffold_dialog.dart'; import 'package:tatchat/utils/show_update_snackbar.dart'; @@ -402,6 +403,7 @@ class ChatListController extends State } StreamSubscription? _onRoomTagUpdate; + StreamSubscription? _backfillSubscription; @override void initState() { @@ -411,6 +413,8 @@ class ChatListController extends State scrollController.addListener(_onScroll); _waitForFirstSync(); + _backfillSubscription = + _clientStream.stream.listen((_) => backfillRoomTypeMarkers()); if (PlatformInfos.isMobile) { _callEventSubscription = FlutterCallkitIncoming.onEvent.listen( _onCallEvent, @@ -474,6 +478,7 @@ class ChatListController extends State _intentFileStreamSubscription?.cancel(); _callEventSubscription?.cancel(); _onRoomTagUpdate?.cancel(); + _backfillSubscription?.cancel(); scrollController.removeListener(_onScroll); searchController.dispose(); searchFocusNode.dispose(); @@ -775,7 +780,10 @@ class ChatListController extends State if (confirmed == OkCancelResult.cancel) return; if (!mounted) return; - await showFutureLoadingDialog(context: context, future: room.leave); + await showFutureLoadingDialog( + context: context, + future: () => leaveRoom(room), + ); return; case ChatContextAction.addToSpace: @@ -901,6 +909,65 @@ class ChatListController extends State bool waitForFirstSync = false; + /// Leaves the room locally and removes it from the local database. + Future leaveRoom(Room room) async { + try { + await room.leave(); + } on MatrixException catch (e, s) { + // If the room was already left on the server (e.g. a stale local copy + // reappeared after a restart) the leave request fails, but the user + // intent (room not being listed anymore) is already fulfilled. Clean up + // locally instead of showing an error. + if (!{ + MatrixError.M_FORBIDDEN, + MatrixError.M_NOT_FOUND, + MatrixError.M_UNKNOWN, + }.contains(e.error)) { + Logs().w('Failed to leave room ${room.id}', e, s); + rethrow; + } + Logs().w('Room ${room.id} is already gone, cleaning up locally...', e, s); + } + final client = room.client; + // Make sure the room does not reappear from the local database after an + // app restart, even if the leave sync did not run in time. + await client.database.forgetRoom(room.id); + client.rooms.remove(room); + } + + /// Loads the shared [roomTypeStateEvent] marker from the synced room state + /// (from the local database for partially loaded rooms) and writes it for + /// existing canal/mural rooms that only have the per-account tag of the + /// creating account. This makes the category visible right after the sync, + /// without having to open the room first. Only admins can write the marker, + /// non-admin members simply read it. + Future backfillRoomTypeMarkers() async { + final client = Matrix.of(context).client; + if (client.rooms.isEmpty) return; + for (final room in client.rooms) { + if (room.membership != Membership.join) continue; + if (room.roomType != null) continue; + // Partial rooms do not keep unimportant state events (like our room type + // marker) in memory, so load them from the local database first. + await room.postLoad(); + final type = + room.roomType ?? + (room.tags.keys.contains(AppConfig.canalTag) + ? 'canal' + : room.tags.keys.contains(AppConfig.muralTag) + ? 'mural' + : null); + if (type == null || room.roomType == type) continue; + if (room.ownPowerLevel < PowerLevel.admin) continue; + try { + await room.setRoomType(type); + } catch (e, s) { + Logs().w('Failed to backfill room type $type for ${room.id}', e, s); + } + } + if (mounted) setState(() {}); + } + Future _waitForFirstSync() async { final router = GoRouter.of(context); final client = Matrix.of(context).client; @@ -921,6 +988,7 @@ class ChatListController extends State setState(() { waitForFirstSync = true; }); + backfillRoomTypeMarkers(); if (client.userDeviceKeys[client.userID!]?.deviceKeys.values.any( (device) => !device.verified && !device.blocked, diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index 65cc8f2..3752c20 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -4,12 +4,12 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import 'package:cupertino_ui/cupertino_ui.dart'; -import 'package:tatchat/config/app_config.dart'; import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/pages/chat_list/chat_list.dart'; import 'package:tatchat/pages/chat_list/chat_list_item.dart'; import 'package:tatchat/pages/chat_list/dummy_chat_list_item.dart'; import 'package:tatchat/pages/chat_list/search_title.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/stream_extension.dart'; import 'package:tatchat/widgets/adaptive_dialogs/public_room_dialog.dart'; import 'package:tatchat/widgets/avatar.dart'; @@ -59,8 +59,9 @@ class ChatListViewBody extends StatelessWidget { .where( (room) => !room.isSpace && - !room.tags.keys.contains(AppConfig.canalTag) && - !room.tags.keys.contains(AppConfig.muralTag) && + !room.isLeftOrBanned && + !room.isCanal && + !room.isMural && spaceDelegateCandidates[room.id] == null, ) .toList(); diff --git a/lib/pages/chat_list/chat_list_item.dart b/lib/pages/chat_list/chat_list_item.dart index 4be209b..6385895 100644 --- a/lib/pages/chat_list/chat_list_item.dart +++ b/lib/pages/chat_list/chat_list_item.dart @@ -29,6 +29,8 @@ class ChatListItem extends StatelessWidget { final void Function()? onForget; final void Function() onTap; final String? filter; + final Uri? displayAvatar; + final String? displayAvatarName; const ChatListItem( this.room, { @@ -38,6 +40,8 @@ class ChatListItem extends StatelessWidget { this.onForget, this.filter, this.space, + this.displayAvatar, + this.displayAvatarName, super.key, }); @@ -148,11 +152,11 @@ class ChatListItem extends StatelessWidget { AppConfig.spaceBorderRadius, ) : null, - mxContent: room.avatar, + mxContent: displayAvatar ?? room.avatar, size: space != null ? Avatar.defaultSize * 0.75 : Avatar.defaultSize, - name: displayname, + name: displayAvatarName ?? displayname, presenceUserId: directChatMatrixId, presenceBackgroundColor: backgroundColor, onTap: () => onLongPress?.call(context), diff --git a/lib/pages/chat_list/tabs/channels_tab.dart b/lib/pages/chat_list/tabs/channels_tab.dart index b5d6a9f..af3f772 100644 --- a/lib/pages/chat_list/tabs/channels_tab.dart +++ b/lib/pages/chat_list/tabs/channels_tab.dart @@ -5,7 +5,6 @@ import 'package:material_ui/material_ui.dart'; import 'package:matrix/matrix.dart'; -import 'package:tatchat/config/app_config.dart'; import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/pages/chat_list/chat_list.dart'; import 'package:tatchat/pages/chat_list/chat_list_item.dart'; @@ -13,6 +12,7 @@ import 'package:tatchat/pages/chat_list/tabs/chat_tab_header.dart'; import 'package:tatchat/pages/chat_list/tabs/empty_tab_view.dart'; import 'package:tatchat/pages/chat_list/tabs/home_tab.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/matrix_locals.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/stream_extension.dart'; import 'package:tatchat/widgets/matrix.dart'; @@ -63,7 +63,8 @@ class _ChannelsTabState extends State { .rateLimit(const Duration(seconds: 1)), builder: (context, _) { final channels = client.rooms - .where((room) => room.tags.keys.contains(AppConfig.canalTag)) + .where((room) => !room.isLeftOrBanned) + .where((room) => room.isCanal) .where( (room) => searchText.isEmpty || @@ -105,4 +106,4 @@ class _ChannelsTabState extends State { ), ); } -} \ No newline at end of file +} diff --git a/lib/pages/chat_list/tabs/murals_tab.dart b/lib/pages/chat_list/tabs/murals_tab.dart index 2e09eff..327204b 100644 --- a/lib/pages/chat_list/tabs/murals_tab.dart +++ b/lib/pages/chat_list/tabs/murals_tab.dart @@ -5,7 +5,6 @@ import 'package:material_ui/material_ui.dart'; import 'package:matrix/matrix.dart'; -import 'package:tatchat/config/app_config.dart'; import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/pages/chat_list/chat_list.dart'; import 'package:tatchat/pages/chat_list/chat_list_item.dart'; @@ -13,6 +12,7 @@ import 'package:tatchat/pages/chat_list/tabs/chat_tab_header.dart'; import 'package:tatchat/pages/chat_list/tabs/empty_tab_view.dart'; import 'package:tatchat/pages/chat_list/tabs/home_tab.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/matrix_locals.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/stream_extension.dart'; import 'package:tatchat/widgets/matrix.dart'; @@ -63,7 +63,8 @@ class _MuralsTabState extends State { .rateLimit(const Duration(seconds: 1)), builder: (context, _) { final murals = client.rooms - .where((room) => room.tags.keys.contains(AppConfig.muralTag)) + .where((room) => !room.isLeftOrBanned) + .where((room) => room.isMural) .where( (room) => searchText.isEmpty || @@ -90,11 +91,24 @@ class _MuralsTabState extends State { itemCount: murals.length, itemBuilder: (context, i) { final room = murals[i]; + final creatorId = room.creatorUserIds.isEmpty + ? null + : room.creatorUserIds.first; + final creatorState = creatorId == null + ? null + : room.getState(EventTypes.RoomMember, creatorId); return ChatListItem( room, key: Key('mural_list_item_${room.id}'), onTap: () => widget.controller.onChatTap(room), activeChat: widget.controller.activeChat == room.id, + displayAvatar: Uri.tryParse( + creatorState?.content.tryGet('avatar_url') ?? + '', + ), + displayAvatarName: creatorState?.content.tryGet( + 'displayname', + ), ); }, ), diff --git a/lib/pages/mural/mural_chat_page.dart b/lib/pages/mural/mural_chat_page.dart index 5ee880f..86e7645 100644 --- a/lib/pages/mural/mural_chat_page.dart +++ b/lib/pages/mural/mural_chat_page.dart @@ -3,20 +3,27 @@ // // SPDX-License-Identifier: AGPL-3.0-or-later +import 'package:emoji_picker_flutter/emoji_picker_flutter.dart'; +import 'package:flutter_linkify/flutter_linkify.dart'; import 'package:go_router/go_router.dart'; import 'package:image_picker/image_picker.dart'; +import 'package:linkify/linkify.dart'; +import 'package:material_ui/material_ui.dart'; +import 'package:matrix/matrix.dart'; import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/pages/chat/send_file_dialog.dart'; +import 'package:tatchat/pages/chat/sticker_picker_dialog.dart'; import 'package:tatchat/pages/image_viewer/video_player.dart'; import 'package:tatchat/utils/adaptive_bottom_sheet.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/matrix_locals.dart'; import 'package:tatchat/utils/stream_extension.dart'; +import 'package:tatchat/utils/url_launcher.dart'; +import 'package:tatchat/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart'; import 'package:tatchat/widgets/adaptive_dialogs/show_text_input_dialog.dart'; +import 'package:tatchat/widgets/adaptive_dialogs/user_dialog.dart'; import 'package:tatchat/widgets/avatar.dart'; import 'package:tatchat/widgets/matrix.dart'; import 'package:tatchat/widgets/mxc_image.dart'; -import 'package:material_ui/material_ui.dart'; -import 'package:matrix/matrix.dart'; const _muralMediaTypes = { MessageTypes.Image, @@ -68,7 +75,10 @@ class _MuralChatViewState extends State { ? const [] : timeline!.events .where( - (e) => !e.redacted && _muralMediaTypes.contains(e.messageType), + (e) => + !e.redacted && + e.relationshipType == null && + _muralMediaTypes.contains(e.messageType), ) .toList(); @@ -340,7 +350,6 @@ class _Header extends StatelessWidget { final creatorAvatar = Uri.tryParse( creatorState?.content.tryGet('avatar_url') ?? '', ); - final topic = room.topic.trim(); return Column( crossAxisAlignment: CrossAxisAlignment.stretch, @@ -406,51 +415,52 @@ class _Header extends StatelessWidget { left: 16 + avatarSize + 12, right: 8, bottom: -avatarSize / 2, - child: Row( - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - Expanded( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text( - displayName, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: theme.textTheme.titleLarge?.copyWith( - fontWeight: FontWeight.bold, - color: Colors.white, - shadows: const [ - Shadow( - color: Colors.black54, - blurRadius: 6, - offset: Offset(0, 1), - ), - ], - ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: Text( + displayName, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: theme.textTheme.titleLarge?.copyWith( + fontWeight: FontWeight.bold, + color: Colors.white, + shadows: const [ + Shadow( + color: Colors.black54, + blurRadius: 6, + offset: Offset(0, 1), ), - ), + ], ), - DecoratedBox( - decoration: BoxDecoration( - color: Colors.black.withValues(alpha: 0.35), - shape: BoxShape.circle, - ), - child: IconButton( - tooltip: l10n.settings, - icon: const Icon(Icons.more_vert), - color: Colors.white, - onPressed: onEditInfo, - ), - ), - ], + ), ), ), ], ), Padding( - padding: const EdgeInsets.fromLTRB(16, 48, 16, 4), - child: _ExpandableDescription( - text: topic, + padding: const EdgeInsets.fromLTRB(16, 4, 8, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + DecoratedBox( + decoration: BoxDecoration( + color: theme.colorScheme.surfaceContainerHighest, + shape: BoxShape.circle, + ), + child: IconButton( + tooltip: l10n.settings, + icon: const Icon(Icons.more_vert), + onPressed: onEditInfo, + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.fromLTRB(16, 4, 16, 4), + child: _MuralDescription( + room: room, + text: room.topic, expanded: descriptionExpanded, onToggle: onToggleDescription, ), @@ -460,12 +470,14 @@ class _Header extends StatelessWidget { } } -class _ExpandableDescription extends StatelessWidget { +class _MuralDescription extends StatelessWidget { + final Room room; final String? text; final bool expanded; final VoidCallback onToggle; - const _ExpandableDescription({ + const _MuralDescription({ + required this.room, required this.text, required this.expanded, required this.onToggle, @@ -478,10 +490,54 @@ class _ExpandableDescription extends StatelessWidget { final text = this.text?.trim(); if (text == null || text.isEmpty) return const SizedBox.shrink(); final style = theme.textTheme.bodyMedium?.copyWith(height: 1.4); + final linkStyle = TextStyle( + color: theme.colorScheme.primary, + decorationColor: theme.colorScheme.primary, + decoration: TextDecoration.underline, + ); + const linkifiers = [UrlLinkifier(), EmailLinkifier(), UserTagLinkifier()]; + final elements = linkify(text, linkifiers: linkifiers); + + Future openLink(LinkableElement rawLink) async { + final url = rawLink.url; + if (rawLink is UserTagElement) { + final userTag = rawLink.userTag; + var mentionId = userTag.startsWith('@') + ? userTag.substring(1) + : userTag; + if (!mentionId.contains(':')) { + mentionId = '$mentionId:${room.client.homeserver?.host ?? ''}'; + } + final memberState = room.getState(EventTypes.RoomMember, mentionId); + final profile = Profile( + userId: mentionId, + displayName: + memberState?.content.tryGet('displayname') ?? userTag, + avatarUrl: Uri.tryParse( + memberState?.content.tryGet('avatar_url') ?? '', + ), + ); + await UserDialog.show(context: context, profile: profile); + return; + } + UrlLauncher(context, url).launchUrl(); + } + + Widget richText({bool measure = false}) => Text.rich( + buildTextSpan( + elements, + style: style, + linkStyle: linkStyle, + onOpen: openLink, + ), + maxLines: expanded ? null : 4, + overflow: expanded ? null : TextOverflow.ellipsis, + ); + return LayoutBuilder( builder: (context, constraints) { final painter = TextPainter( - text: TextSpan(text: text, style: style), + text: buildTextSpan(elements, style: style, linkStyle: linkStyle), maxLines: 4, textDirection: TextDirection.ltr, )..layout(maxWidth: constraints.maxWidth); @@ -489,12 +545,7 @@ class _ExpandableDescription extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - text, - style: style, - maxLines: expanded ? null : 4, - overflow: expanded ? null : TextOverflow.ellipsis, - ), + richText(), if (exceeds) TextButton( onPressed: onToggle, @@ -671,6 +722,50 @@ class _PostViewerState extends State<_PostViewer> { await widget.room.sendTextEvent(result.trim(), editEventId: event.eventId); } + Future _deletePost() async { + final l10n = L10n.of(context); + final delete = await showOkCancelAlertDialog( + context: context, + title: l10n.areYouSure, + message: l10n.areYouSureDeletePost, + okLabel: l10n.delete, + cancelLabel: l10n.cancel, + ); + if (delete != OkCancelResult.ok || !mounted) return; + try { + await event.redactEvent(); + } catch (e) { + if (!mounted) return; + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(L10n.of(context).oopsSomethingWentWrong)), + ); + return; + } + if (!mounted) return; + Navigator.of(context).pop(); + } + + Future _reportPost() async { + final l10n = L10n.of(context); + final reason = await showTextInputDialog( + context: context, + title: l10n.whyDoYouWantToReportThis, + okLabel: l10n.report, + cancelLabel: l10n.cancel, + hintText: l10n.reason, + ); + if (reason == null || reason.isEmpty || !mounted) return; + await widget.room.client.reportEvent( + widget.room.id, + event.eventId, + reason: reason, + ); + if (!mounted) return; + ScaffoldMessenger.of( + context, + ).showSnackBar(SnackBar(content: Text(l10n.contentHasBeenReported))); + } + Future _sendComment() async { final text = _commentController.text.trim(); if (text.isEmpty || _sending) return; @@ -683,6 +778,86 @@ class _PostViewerState extends State<_PostViewer> { } } + void _typeEmoji(Emoji? emoji) { + if (emoji == null) return; + final emojiText = emoji.emoji; + final value = _commentController.value; + if (value.selection.start != -1 && value.selection.isValid) { + final newText = value.text.replaceRange( + value.selection.start, + value.selection.end, + emojiText, + ); + _commentController.value = TextEditingValue( + text: newText, + selection: TextSelection.collapsed( + offset: value.selection.start + emojiText.characters.length, + ), + ); + } else { + _commentController.text += emojiText; + } + } + + Future _showEmojiPicker() async { + final theme = Theme.of(context); + await showModalBottomSheet( + context: context, + useSafeArea: true, + backgroundColor: theme.colorScheme.surface, + builder: (context) => SizedBox( + height: MediaQuery.sizeOf(context).height * 0.5, + child: EmojiPicker( + onEmojiSelected: (_, emoji) { + _typeEmoji(emoji); + }, + config: Config( + locale: Localizations.localeOf(context), + emojiViewConfig: EmojiViewConfig( + backgroundColor: theme.colorScheme.onInverseSurface, + ), + bottomActionBarConfig: const BottomActionBarConfig(enabled: false), + categoryViewConfig: CategoryViewConfig( + backspaceColor: theme.colorScheme.primary, + iconColor: theme.colorScheme.primary.withAlpha(128), + iconColorSelected: theme.colorScheme.primary, + indicatorColor: theme.colorScheme.primary, + backgroundColor: theme.colorScheme.surface, + ), + skinToneConfig: const SkinToneConfig(indicatorColor: Colors.grey), + ), + ), + ), + ); + } + + Future _sendSticker() async { + final theme = Theme.of(context); + await showModalBottomSheet( + context: context, + useSafeArea: true, + backgroundColor: theme.colorScheme.surface, + builder: (context) => SizedBox( + height: MediaQuery.sizeOf(context).height * 0.6, + child: StickerPickerDialog( + room: widget.room, + onSelected: (sticker) { + Navigator.of(context, rootNavigator: true).pop(); + widget.room.sendEvent( + { + 'body': sticker.body, + 'info': sticker.info ?? {}, + 'url': sticker.url.toString(), + }, + type: EventTypes.Sticker, + threadRootEventId: event.eventId, + ); + }, + ), + ), + ); + } + List _comments() { final comments = widget.timeline.events .where( @@ -696,6 +871,18 @@ class _PostViewerState extends State<_PostViewer> { return comments; } + void _openProfile(Event comment) { + final sender = comment.senderFromMemoryOrFallback; + UserDialog.show( + context: context, + profile: Profile( + userId: sender.id, + displayName: sender.calcDisplayname(), + avatarUrl: sender.avatarUrl, + ), + ); + } + @override Widget build(BuildContext context) { final theme = Theme.of(context); @@ -772,11 +959,13 @@ class _PostViewerState extends State<_PostViewer> { crossAxisAlignment: CrossAxisAlignment.end, children: [ IconButton( - tooltip: l10n.editCaption, - icon: const Icon(Icons.edit_outlined), - onPressed: _editCaption, + tooltip: liked ? l10n.unlike : l10n.like, + icon: Icon( + liked ? Icons.favorite : Icons.favorite_border, + color: liked ? Colors.redAccent : null, + ), + onPressed: _toggleLike, ), - const Spacer(), if (_likeCount > 0) Padding( padding: const EdgeInsets.only(bottom: 10), @@ -787,13 +976,46 @@ class _PostViewerState extends State<_PostViewer> { ), ), ), - IconButton( - tooltip: liked ? l10n.unlike : l10n.like, - icon: Icon( - liked ? Icons.favorite : Icons.favorite_border, - color: liked ? Colors.redAccent : null, - ), - onPressed: _toggleLike, + const Spacer(), + PopupMenuButton( + tooltip: l10n.more, + onSelected: (action) async { + switch (action) { + case 'edit': + await _editCaption(); + case 'delete': + await _deletePost(); + case 'report': + await _reportPost(); + } + }, + itemBuilder: (context) => [ + PopupMenuItem( + value: 'edit', + child: ListTile( + leading: const Icon(Icons.edit_outlined), + title: Text(l10n.editCaption), + contentPadding: EdgeInsets.zero, + ), + ), + PopupMenuItem( + value: 'delete', + child: ListTile( + leading: const Icon(Icons.delete_outline), + title: Text(l10n.delete), + contentPadding: EdgeInsets.zero, + ), + ), + PopupMenuItem( + value: 'report', + child: ListTile( + leading: const Icon(Icons.flag_outlined), + title: Text(l10n.report), + contentPadding: EdgeInsets.zero, + ), + ), + ], + icon: const Icon(Icons.more_vert), ), ], ), @@ -827,6 +1049,9 @@ class _PostViewerState extends State<_PostViewer> { itemCount: comments.length, itemBuilder: (context, i) { final comment = comments[i]; + final isSticker = + comment.messageType == MessageTypes.Sticker; + final sender = comment.senderFromMemoryOrFallback; return Padding( padding: const EdgeInsets.symmetric( horizontal: 16, @@ -835,14 +1060,14 @@ class _PostViewerState extends State<_PostViewer> { child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Avatar( - mxContent: comment - .senderFromMemoryOrFallback - .avatarUrl, - name: comment.senderFromMemoryOrFallback - .calcDisplayname(), - size: 32, - client: widget.room.client, + GestureDetector( + onTap: () => _openProfile(comment), + child: Avatar( + mxContent: sender.avatarUrl, + name: sender.calcDisplayname(), + size: 32, + client: widget.room.client, + ), ), const SizedBox(width: 8), Expanded( @@ -850,25 +1075,36 @@ class _PostViewerState extends State<_PostViewer> { crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text( - comment.senderFromMemoryOrFallback - .calcDisplayname(), - style: theme.textTheme.labelMedium - ?.copyWith( - fontWeight: FontWeight.bold, - ), + GestureDetector( + onTap: () => _openProfile(comment), + child: Text( + sender.calcDisplayname(), + style: theme.textTheme.labelMedium + ?.copyWith( + fontWeight: FontWeight.bold, + ), + ), ), const SizedBox(height: 2), - Text( - comment - .getDisplayEvent(widget.timeline) - .calcLocalizedBodyFallback( - MatrixLocals(l10n), - withSenderNamePrefix: false, - hideReply: true, - ), - style: theme.textTheme.bodyMedium, - ), + if (isSticker) + MxcImage( + key: ValueKey(comment.eventId), + event: comment, + fit: BoxFit.contain, + isThumbnail: false, + width: double.infinity, + ) + else + Text( + comment + .getDisplayEvent(widget.timeline) + .calcLocalizedBodyFallback( + MatrixLocals(l10n), + withSenderNamePrefix: false, + hideReply: true, + ), + style: theme.textTheme.bodyMedium, + ), ], ), ), @@ -879,9 +1115,19 @@ class _PostViewerState extends State<_PostViewer> { ), ), Padding( - padding: const EdgeInsets.fromLTRB(16, 4, 8, 8), + padding: const EdgeInsets.fromLTRB(8, 4, 8, 8), child: Row( children: [ + IconButton( + tooltip: l10n.emojis, + icon: const Icon(Icons.emoji_emotions_outlined), + onPressed: _showEmojiPicker, + ), + IconButton( + tooltip: l10n.stickers, + icon: const Icon(Icons.emoji_emotions), + onPressed: _sendSticker, + ), Expanded( child: TextField( controller: _commentController, diff --git a/lib/pages/new_group/new_group.dart b/lib/pages/new_group/new_group.dart index c0fa32f..44a5d27 100644 --- a/lib/pages/new_group/new_group.dart +++ b/lib/pages/new_group/new_group.dart @@ -11,6 +11,7 @@ import 'package:tatchat/l10n/l10n.dart'; import 'package:tatchat/pages/new_group/new_group_view.dart'; import 'package:tatchat/utils/file_selector.dart'; import 'package:tatchat/utils/matrix_live_kit_calls/matrix_live_kit_call_member.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/widgets/matrix.dart'; import 'package:go_router/go_router.dart'; import 'package:material_ui/material_ui.dart'; @@ -141,8 +142,10 @@ class NewGroupController extends State { : sdk.CreateRoomPreset.privateChat, groupName: nameController.text.isNotEmpty ? nameController.text : null, powerLevelContentOverride: { - // Only admins (power level 100) are allowed to post in a canal. - 'events_default': 100, + // All members may send messages so they can react and comment in the + // publication threads. The app hides the publication composer for + // non-admins in the main canal feed instead. + 'events_default': 0, }, initialState: [ if (avatar != null) @@ -155,6 +158,7 @@ class NewGroupController extends State { final canal = client.getRoomById(roomId); if (canal != null) { await canal.addTag(AppConfig.canalTag); + await canal.setRoomType('canal'); } await _addToSpace(roomId); if (!mounted) return; @@ -190,6 +194,7 @@ class NewGroupController extends State { final mural = client.getRoomById(roomId); if (mural != null) { await mural.addTag(AppConfig.muralTag); + await mural.setRoomType('mural'); } await _addToSpace(roomId); if (!mounted) return; diff --git a/lib/utils/client_manager.dart b/lib/utils/client_manager.dart index 63d9d8e..ba024ed 100644 --- a/lib/utils/client_manager.dart +++ b/lib/utils/client_manager.dart @@ -11,6 +11,7 @@ import 'package:tatchat/utils/custom_http_client.dart'; import 'package:tatchat/utils/custom_image_resizer.dart'; import 'package:tatchat/utils/init_with_restore.dart'; import 'package:tatchat/utils/matrix_live_kit_calls/matrix_live_kit_call_member.dart'; +import 'package:tatchat/utils/matrix_sdk_extensions/room_extension.dart'; import 'package:tatchat/utils/platform_infos.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; @@ -130,6 +131,9 @@ abstract class ClientManager { 'im.ponies.room_emotes', // To display call state in chat list MatrixRtcCallMember.eventType, + // Make the canal/mural room type marker available in the chat list + // right after sync, even for rooms that are still partially loaded. + roomTypeStateEvent, }, customImageResizer: PlatformInfos.supportsCustomImageResizer ? customImageResizer diff --git a/lib/utils/matrix_sdk_extensions/room_extension.dart b/lib/utils/matrix_sdk_extensions/room_extension.dart new file mode 100644 index 0000000..6a7baa5 --- /dev/null +++ b/lib/utils/matrix_sdk_extensions/room_extension.dart @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2019-Present Christian Kußowski +// SPDX-FileCopyrightText: 2019-Present Contributors to FluffyChat +// +// SPDX-License-Identifier: AGPL-3.0-or-later + +import 'package:matrix/matrix.dart'; +import 'package:tatchat/config/app_config.dart'; + +/// State event type that marks the room category (canal/mural) on a room +/// level. Unlike the personal tags (per-account data), this marker is shared +/// by all room members which makes the categorization consistent across +/// different accounts. +const String roomTypeStateEvent = 'tatuchat.room_type'; + +extension RoomTypeExtension on Room { + String? get roomType => + getState(roomTypeStateEvent)?.content.tryGet('type'); + + bool get isCanal => + tags.keys.contains(AppConfig.canalTag) || roomType == 'canal'; + + bool get isMural => + tags.keys.contains(AppConfig.muralTag) || roomType == 'mural'; + + /// Whether the account left (or was banned from) this room. Such rooms must + /// not be shown in the chat list, even if a stale local copy with an old + /// "join" membership reappears after a restart. + bool get isLeftOrBanned => + {Membership.leave, Membership.ban}.contains(membership); + + Future setRoomType(String type) => + client.setRoomStateWithKey(id, roomTypeStateEvent, '', {'type': type}); +} diff --git a/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart b/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart index 04a80e0..b6f6a7b 100644 --- a/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart +++ b/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart @@ -27,6 +27,8 @@ Future showOkCancelAlertDialog({ constraints: const BoxConstraints(maxWidth: 256), child: Text(title), ), + titlePadding: const EdgeInsets.fromLTRB(20, 16, 20, 0), + contentPadding: const EdgeInsets.fromLTRB(20, 12, 20, 20), content: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 256), child: message == null @@ -79,6 +81,8 @@ Future showOkAlertDialog({ constraints: const BoxConstraints(maxWidth: 256), child: Text(title), ), + titlePadding: const EdgeInsets.fromLTRB(20, 16, 20, 0), + contentPadding: const EdgeInsets.fromLTRB(20, 12, 20, 20), content: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 256), child: message == null diff --git a/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart b/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart index 96c0d02..09f19dd 100644 --- a/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart +++ b/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart @@ -43,6 +43,8 @@ Future showTextInputDialog({ constraints: const BoxConstraints(maxWidth: 256), child: Text(title), ), + titlePadding: const EdgeInsets.fromLTRB(20, 16, 20, 0), + contentPadding: const EdgeInsets.fromLTRB(20, 12, 20, 20), content: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 256), child: Column( diff --git a/pubspec.lock b/pubspec.lock index d03318f..e041cc7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1157,7 +1157,7 @@ packages: source: hosted version: "1.9.1" linkify: - dependency: transitive + dependency: "direct main" description: name: linkify sha256: "4139ea77f4651ab9c315b577da2dd108d9aa0bd84b5d03d33323f1970c645832" diff --git a/pubspec.yaml b/pubspec.yaml index 4fa1282..04d0156 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -58,6 +58,7 @@ dependencies: just_audio_media_kit: ^2.1.0 latlong2: ^0.10.1 light_compressor_v2: ^1.9.1 + linkify: ^5.0.0 livekit_client: ^2.11.0 local_auth: ^3.0.2 lottie: ^3.5.1