@bootdesk/js-web-adapter-react 0.1.0 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/index.cjs +2148 -230
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +47 -6
- package/dist/index.d.ts +47 -6
- package/dist/index.js +2139 -221
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +7 -4
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/components/ChatWidget.tsx
|
|
2
|
-
import { useState as
|
|
2
|
+
import { useState as useState10, useCallback as useCallback6, useEffect as useEffect9 } from "react";
|
|
3
3
|
|
|
4
4
|
// src/hooks/useChatClient.ts
|
|
5
5
|
import { useEffect, useMemo } from "react";
|
|
@@ -337,6 +337,8 @@ function usePushNotifications(options) {
|
|
|
337
337
|
onSubscribe: options.onSubscribe,
|
|
338
338
|
onUnsubscribe: options.onUnsubscribe,
|
|
339
339
|
serviceWorkerUrl: options.serviceWorkerUrl,
|
|
340
|
+
serviceWorkerScope: options.serviceWorkerScope,
|
|
341
|
+
serviceWorkerType: options.serviceWorkerType,
|
|
340
342
|
notificationOptions: options.notificationOptions
|
|
341
343
|
});
|
|
342
344
|
pushManagerRef.current = pushManager;
|
|
@@ -393,6 +395,7 @@ function useAttachmentUpload(uploadConfig) {
|
|
|
393
395
|
}, []);
|
|
394
396
|
const uploadFile = useCallback3(
|
|
395
397
|
async (attachment) => {
|
|
398
|
+
if (!uploadConfig) return;
|
|
396
399
|
const controller = new AbortController();
|
|
397
400
|
abortControllers.current.set(attachment.id, controller);
|
|
398
401
|
try {
|
|
@@ -581,6 +584,7 @@ function getFallbackChain(locale) {
|
|
|
581
584
|
|
|
582
585
|
// src/i18n/locales/en.json
|
|
583
586
|
var en_default = {
|
|
587
|
+
direction: "ltr",
|
|
584
588
|
chatWidget: {
|
|
585
589
|
title: "Chat",
|
|
586
590
|
placeholder: "Type a message...",
|
|
@@ -622,6 +626,20 @@ var en_default = {
|
|
|
622
626
|
openChat: "Open chat",
|
|
623
627
|
closeChat: "Close chat"
|
|
624
628
|
},
|
|
629
|
+
push: {
|
|
630
|
+
title: "Notifications",
|
|
631
|
+
description: "Receive messages even when chat is closed",
|
|
632
|
+
enable: "Enable Notifications",
|
|
633
|
+
disable: "Disable Notifications",
|
|
634
|
+
denied: "Notifications blocked",
|
|
635
|
+
unsupported: "Notifications not supported",
|
|
636
|
+
subscribing: "Subscribing...",
|
|
637
|
+
notifications: "Notifications"
|
|
638
|
+
},
|
|
639
|
+
notification: {
|
|
640
|
+
openChat: "Open Chat",
|
|
641
|
+
dismiss: "Dismiss"
|
|
642
|
+
},
|
|
625
643
|
common: {
|
|
626
644
|
loading: "Loading...",
|
|
627
645
|
error: "Error",
|
|
@@ -633,6 +651,7 @@ var en_default = {
|
|
|
633
651
|
|
|
634
652
|
// src/i18n/locales/en-US.json
|
|
635
653
|
var en_US_default = {
|
|
654
|
+
direction: "ltr",
|
|
636
655
|
chatWidget: {
|
|
637
656
|
title: "Chat"
|
|
638
657
|
}
|
|
@@ -640,6 +659,7 @@ var en_US_default = {
|
|
|
640
659
|
|
|
641
660
|
// src/i18n/locales/en-GB.json
|
|
642
661
|
var en_GB_default = {
|
|
662
|
+
direction: "ltr",
|
|
643
663
|
chatWidget: {
|
|
644
664
|
title: "Chat"
|
|
645
665
|
},
|
|
@@ -650,6 +670,7 @@ var en_GB_default = {
|
|
|
650
670
|
|
|
651
671
|
// src/i18n/locales/pt.json
|
|
652
672
|
var pt_default = {
|
|
673
|
+
direction: "ltr",
|
|
653
674
|
chatWidget: {
|
|
654
675
|
title: "Chat",
|
|
655
676
|
placeholder: "Digite uma mensagem...",
|
|
@@ -682,12 +703,29 @@ var pt_default = {
|
|
|
682
703
|
header: {
|
|
683
704
|
enterFullscreen: "Tela cheia",
|
|
684
705
|
exitFullscreen: "Sair da tela cheia",
|
|
685
|
-
closeChat: "Fechar chat"
|
|
706
|
+
closeChat: "Fechar chat",
|
|
707
|
+
lightMode: "Modo claro",
|
|
708
|
+
darkMode: "Modo escuro",
|
|
709
|
+
autoMode: "Tema do sistema"
|
|
686
710
|
},
|
|
687
711
|
floatingButton: {
|
|
688
712
|
openChat: "Abrir chat",
|
|
689
713
|
closeChat: "Fechar chat"
|
|
690
714
|
},
|
|
715
|
+
push: {
|
|
716
|
+
title: "Notifica\xE7\xF5es",
|
|
717
|
+
description: "Receba mensagens mesmo com o chat fechado",
|
|
718
|
+
enable: "Habilitar notifica\xE7\xF5es",
|
|
719
|
+
disable: "Desabilitar notifica\xE7\xF5es",
|
|
720
|
+
denied: "Notifica\xE7\xF5es bloqueadas",
|
|
721
|
+
unsupported: "Notifica\xE7\xF5es n\xE3o suportadas",
|
|
722
|
+
subscribing: "Inscrevendo...",
|
|
723
|
+
notifications: "Notifica\xE7\xF5es"
|
|
724
|
+
},
|
|
725
|
+
notification: {
|
|
726
|
+
openChat: "Abrir chat",
|
|
727
|
+
dismiss: "Dispensar"
|
|
728
|
+
},
|
|
691
729
|
common: {
|
|
692
730
|
loading: "Carregando...",
|
|
693
731
|
error: "Erro",
|
|
@@ -699,6 +737,7 @@ var pt_default = {
|
|
|
699
737
|
|
|
700
738
|
// src/i18n/locales/pt-BR.json
|
|
701
739
|
var pt_BR_default = {
|
|
740
|
+
direction: "ltr",
|
|
702
741
|
chatWidget: {
|
|
703
742
|
placeholder: "Digite uma mensagem..."
|
|
704
743
|
},
|
|
@@ -724,6 +763,7 @@ var pt_BR_default = {
|
|
|
724
763
|
|
|
725
764
|
// src/i18n/locales/pt-PT.json
|
|
726
765
|
var pt_PT_default = {
|
|
766
|
+
direction: "ltr",
|
|
727
767
|
chatWidget: {
|
|
728
768
|
placeholder: "Escreva uma mensagem..."
|
|
729
769
|
},
|
|
@@ -738,61 +778,1821 @@ var pt_PT_default = {
|
|
|
738
778
|
typingIndicator: {
|
|
739
779
|
isTyping: "est\xE1 a escrever..."
|
|
740
780
|
},
|
|
741
|
-
attachmentList: {
|
|
742
|
-
uploadFailed: "Falha no envio"
|
|
781
|
+
attachmentList: {
|
|
782
|
+
uploadFailed: "Falha no envio"
|
|
783
|
+
},
|
|
784
|
+
common: {
|
|
785
|
+
loading: "A carregar...",
|
|
786
|
+
retry: "Tentar novamente"
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
// src/i18n/locales/es.json
|
|
791
|
+
var es_default = {
|
|
792
|
+
direction: "ltr",
|
|
793
|
+
chatWidget: {
|
|
794
|
+
title: "Chat",
|
|
795
|
+
placeholder: "Escribe un mensaje...",
|
|
796
|
+
openChat: "Abrir chat",
|
|
797
|
+
closeChat: "Cerrar chat",
|
|
798
|
+
connectionStatus: {
|
|
799
|
+
connected: "Conectado",
|
|
800
|
+
disconnected: "Desconectado"
|
|
801
|
+
}
|
|
802
|
+
},
|
|
803
|
+
inputArea: {
|
|
804
|
+
send: "Enviar",
|
|
805
|
+
uploading: "Subiendo...",
|
|
806
|
+
dropzone: {
|
|
807
|
+
dropFiles: "Suelta archivos aqu\xED",
|
|
808
|
+
dropOrClick: "Suelta o haz clic para adjuntar"
|
|
809
|
+
}
|
|
810
|
+
},
|
|
811
|
+
typingIndicator: {
|
|
812
|
+
typing: "escribiendo",
|
|
813
|
+
isTyping: "est\xE1 escribiendo..."
|
|
814
|
+
},
|
|
815
|
+
messageList: {
|
|
816
|
+
emptyState: "No hay mensajes todav\xEDa. \xA1Inicia la conversaci\xF3n!"
|
|
817
|
+
},
|
|
818
|
+
attachmentList: {
|
|
819
|
+
remove: "Eliminar",
|
|
820
|
+
uploadFailed: "Error al subir"
|
|
821
|
+
},
|
|
822
|
+
header: {
|
|
823
|
+
enterFullscreen: "Pantalla completa",
|
|
824
|
+
exitFullscreen: "Salir de pantalla completa",
|
|
825
|
+
closeChat: "Cerrar chat",
|
|
826
|
+
lightMode: "Modo claro",
|
|
827
|
+
darkMode: "Modo oscuro",
|
|
828
|
+
autoMode: "Tema del sistema"
|
|
829
|
+
},
|
|
830
|
+
floatingButton: {
|
|
831
|
+
openChat: "Abrir chat",
|
|
832
|
+
closeChat: "Cerrar chat"
|
|
833
|
+
},
|
|
834
|
+
push: {
|
|
835
|
+
title: "Notificaciones",
|
|
836
|
+
description: "Recibe mensajes incluso con el chat cerrado",
|
|
837
|
+
enable: "Habilitar notificaciones",
|
|
838
|
+
disable: "Deshabilitar notificaciones",
|
|
839
|
+
denied: "Notificaciones bloqueadas",
|
|
840
|
+
unsupported: "Notificaciones no compatibles",
|
|
841
|
+
subscribing: "Suscribiendo...",
|
|
842
|
+
notifications: "Notificaciones"
|
|
843
|
+
},
|
|
844
|
+
notification: {
|
|
845
|
+
openChat: "Abrir chat",
|
|
846
|
+
dismiss: "Descartar"
|
|
847
|
+
},
|
|
848
|
+
common: {
|
|
849
|
+
loading: "Cargando...",
|
|
850
|
+
error: "Error",
|
|
851
|
+
retry: "Reintentar",
|
|
852
|
+
cancel: "Cancelar",
|
|
853
|
+
download: "Descargar"
|
|
854
|
+
}
|
|
855
|
+
};
|
|
856
|
+
|
|
857
|
+
// src/i18n/locales/da.json
|
|
858
|
+
var da_default = {
|
|
859
|
+
direction: "ltr",
|
|
860
|
+
chatWidget: {
|
|
861
|
+
title: "Chat",
|
|
862
|
+
placeholder: "Skriv en besked...",
|
|
863
|
+
openChat: "\xC5bn chat",
|
|
864
|
+
closeChat: "Luk chat",
|
|
865
|
+
connectionStatus: {
|
|
866
|
+
connected: "Forbundet",
|
|
867
|
+
disconnected: "Afbrudt"
|
|
868
|
+
}
|
|
869
|
+
},
|
|
870
|
+
inputArea: {
|
|
871
|
+
send: "Send",
|
|
872
|
+
uploading: "Uploader...",
|
|
873
|
+
dropzone: {
|
|
874
|
+
dropFiles: "Slip filer her",
|
|
875
|
+
dropOrClick: "Slip eller klik for at vedh\xE6fte"
|
|
876
|
+
}
|
|
877
|
+
},
|
|
878
|
+
typingIndicator: {
|
|
879
|
+
typing: "skriver",
|
|
880
|
+
isTyping: "skriver..."
|
|
881
|
+
},
|
|
882
|
+
messageList: {
|
|
883
|
+
emptyState: "Ingen beskeder endnu. Start samtalen!"
|
|
884
|
+
},
|
|
885
|
+
attachmentList: {
|
|
886
|
+
remove: "Fjern",
|
|
887
|
+
uploadFailed: "Upload fejlede"
|
|
888
|
+
},
|
|
889
|
+
header: {
|
|
890
|
+
enterFullscreen: "Fuld sk\xE6rm",
|
|
891
|
+
exitFullscreen: "Afslut fuld sk\xE6rm",
|
|
892
|
+
closeChat: "Luk chat",
|
|
893
|
+
lightMode: "Lys tilstand",
|
|
894
|
+
darkMode: "M\xF8rk tilstand",
|
|
895
|
+
autoMode: "Systemtema"
|
|
896
|
+
},
|
|
897
|
+
floatingButton: {
|
|
898
|
+
openChat: "\xC5bn chat",
|
|
899
|
+
closeChat: "Luk chat"
|
|
900
|
+
},
|
|
901
|
+
push: {
|
|
902
|
+
title: "Notifikationer",
|
|
903
|
+
description: "Modtag beskeder, selv n\xE5r chatten er lukket",
|
|
904
|
+
enable: "Aktiver notifikationer",
|
|
905
|
+
disable: "Deaktiver notifikationer",
|
|
906
|
+
denied: "Notifikationer blokeret",
|
|
907
|
+
unsupported: "Notifikationer underst\xF8ttes ikke",
|
|
908
|
+
subscribing: "Abonnerer...",
|
|
909
|
+
notifications: "Notifikationer"
|
|
910
|
+
},
|
|
911
|
+
notification: {
|
|
912
|
+
openChat: "\xC5bn Chat",
|
|
913
|
+
dismiss: "Afvis"
|
|
914
|
+
},
|
|
915
|
+
common: {
|
|
916
|
+
loading: "Indl\xE6ser...",
|
|
917
|
+
error: "Fejl",
|
|
918
|
+
retry: "Pr\xF8v igen",
|
|
919
|
+
cancel: "Annuller",
|
|
920
|
+
download: "Download"
|
|
921
|
+
}
|
|
922
|
+
};
|
|
923
|
+
|
|
924
|
+
// src/i18n/locales/sv.json
|
|
925
|
+
var sv_default = {
|
|
926
|
+
direction: "ltr",
|
|
927
|
+
chatWidget: {
|
|
928
|
+
title: "Chatt",
|
|
929
|
+
placeholder: "Skriv ett meddelande...",
|
|
930
|
+
openChat: "\xD6ppna chatt",
|
|
931
|
+
closeChat: "St\xE4ng chatt",
|
|
932
|
+
connectionStatus: {
|
|
933
|
+
connected: "Ansluten",
|
|
934
|
+
disconnected: "Fr\xE5nkopplad"
|
|
935
|
+
}
|
|
936
|
+
},
|
|
937
|
+
inputArea: {
|
|
938
|
+
send: "Skicka",
|
|
939
|
+
uploading: "Laddar upp...",
|
|
940
|
+
dropzone: {
|
|
941
|
+
dropFiles: "Sl\xE4pp filer h\xE4r",
|
|
942
|
+
dropOrClick: "Sl\xE4pp eller klicka f\xF6r att bifoga"
|
|
943
|
+
}
|
|
944
|
+
},
|
|
945
|
+
typingIndicator: {
|
|
946
|
+
typing: "skriver",
|
|
947
|
+
isTyping: "skriver..."
|
|
948
|
+
},
|
|
949
|
+
messageList: {
|
|
950
|
+
emptyState: "Inga meddelanden \xE4n. Starta konversationen!"
|
|
951
|
+
},
|
|
952
|
+
attachmentList: {
|
|
953
|
+
remove: "Ta bort",
|
|
954
|
+
uploadFailed: "Uppladdning misslyckades"
|
|
955
|
+
},
|
|
956
|
+
header: {
|
|
957
|
+
enterFullscreen: "Fullsk\xE4rm",
|
|
958
|
+
exitFullscreen: "Avsluta fullsk\xE4rm",
|
|
959
|
+
closeChat: "St\xE4ng chatt",
|
|
960
|
+
lightMode: "Ljust l\xE4ge",
|
|
961
|
+
darkMode: "M\xF6rkt l\xE4ge",
|
|
962
|
+
autoMode: "Systemtema"
|
|
963
|
+
},
|
|
964
|
+
floatingButton: {
|
|
965
|
+
openChat: "\xD6ppna chatt",
|
|
966
|
+
closeChat: "St\xE4ng chatt"
|
|
967
|
+
},
|
|
968
|
+
push: {
|
|
969
|
+
title: "Notifikationer",
|
|
970
|
+
description: "Ta emot meddelanden \xE4ven n\xE4r chatten \xE4r st\xE4ngd",
|
|
971
|
+
enable: "Aktivera notifikationer",
|
|
972
|
+
disable: "Inaktivera notifikationer",
|
|
973
|
+
denied: "Notifikationer blockerade",
|
|
974
|
+
unsupported: "Notifikationer st\xF6ds inte",
|
|
975
|
+
subscribing: "Prenumererar...",
|
|
976
|
+
notifications: "Notifikationer"
|
|
977
|
+
},
|
|
978
|
+
notification: {
|
|
979
|
+
openChat: "\xD6ppna Chatt",
|
|
980
|
+
dismiss: "Avf\xE4rda"
|
|
981
|
+
},
|
|
982
|
+
common: {
|
|
983
|
+
loading: "Laddar...",
|
|
984
|
+
error: "Fel",
|
|
985
|
+
retry: "F\xF6rs\xF6k igen",
|
|
986
|
+
cancel: "Avbryt",
|
|
987
|
+
download: "Ladda ner"
|
|
988
|
+
}
|
|
989
|
+
};
|
|
990
|
+
|
|
991
|
+
// src/i18n/locales/nb.json
|
|
992
|
+
var nb_default = {
|
|
993
|
+
direction: "ltr",
|
|
994
|
+
chatWidget: {
|
|
995
|
+
title: "Chat",
|
|
996
|
+
placeholder: "Skriv en melding...",
|
|
997
|
+
openChat: "\xC5pne chat",
|
|
998
|
+
closeChat: "Lukk chat",
|
|
999
|
+
connectionStatus: {
|
|
1000
|
+
connected: "Tilkoblet",
|
|
1001
|
+
disconnected: "Frakoblet"
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
1004
|
+
inputArea: {
|
|
1005
|
+
send: "Send",
|
|
1006
|
+
uploading: "Laster opp...",
|
|
1007
|
+
dropzone: {
|
|
1008
|
+
dropFiles: "Slipp filer her",
|
|
1009
|
+
dropOrClick: "Slipp eller klikk for \xE5 legge ved"
|
|
1010
|
+
}
|
|
1011
|
+
},
|
|
1012
|
+
typingIndicator: {
|
|
1013
|
+
typing: "skriver",
|
|
1014
|
+
isTyping: "skriver..."
|
|
1015
|
+
},
|
|
1016
|
+
messageList: {
|
|
1017
|
+
emptyState: "Ingen meldinger enn\xE5. Start samtalen!"
|
|
1018
|
+
},
|
|
1019
|
+
attachmentList: {
|
|
1020
|
+
remove: "Fjern",
|
|
1021
|
+
uploadFailed: "Opplasting mislyktes"
|
|
1022
|
+
},
|
|
1023
|
+
header: {
|
|
1024
|
+
enterFullscreen: "Fullskjerm",
|
|
1025
|
+
exitFullscreen: "Avslutt fullskjerm",
|
|
1026
|
+
closeChat: "Lukk chat",
|
|
1027
|
+
lightMode: "Lys modus",
|
|
1028
|
+
darkMode: "M\xF8rk modus",
|
|
1029
|
+
autoMode: "Systemtema"
|
|
1030
|
+
},
|
|
1031
|
+
floatingButton: {
|
|
1032
|
+
openChat: "\xC5pne chat",
|
|
1033
|
+
closeChat: "Lukk chat"
|
|
1034
|
+
},
|
|
1035
|
+
push: {
|
|
1036
|
+
title: "Varsler",
|
|
1037
|
+
description: "Motta meldinger selv n\xE5r chatten er lukket",
|
|
1038
|
+
enable: "Aktiver varsler",
|
|
1039
|
+
disable: "Deaktiver varsler",
|
|
1040
|
+
denied: "Varsler blokkert",
|
|
1041
|
+
unsupported: "Varsler st\xF8ttes ikke",
|
|
1042
|
+
subscribing: "Abonnerer...",
|
|
1043
|
+
notifications: "Varsler"
|
|
1044
|
+
},
|
|
1045
|
+
notification: {
|
|
1046
|
+
openChat: "\xC5pne Chat",
|
|
1047
|
+
dismiss: "Avvis"
|
|
1048
|
+
},
|
|
1049
|
+
common: {
|
|
1050
|
+
loading: "Laster...",
|
|
1051
|
+
error: "Feil",
|
|
1052
|
+
retry: "Pr\xF8v igjen",
|
|
1053
|
+
cancel: "Avbryt",
|
|
1054
|
+
download: "Last ned"
|
|
1055
|
+
}
|
|
1056
|
+
};
|
|
1057
|
+
|
|
1058
|
+
// src/i18n/locales/fi.json
|
|
1059
|
+
var fi_default = {
|
|
1060
|
+
direction: "ltr",
|
|
1061
|
+
chatWidget: {
|
|
1062
|
+
title: "Chat",
|
|
1063
|
+
placeholder: "Kirjoita viesti...",
|
|
1064
|
+
openChat: "Avaa chat",
|
|
1065
|
+
closeChat: "Sulje chat",
|
|
1066
|
+
connectionStatus: {
|
|
1067
|
+
connected: "Yhdistetty",
|
|
1068
|
+
disconnected: "Katkaistu"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
inputArea: {
|
|
1072
|
+
send: "L\xE4het\xE4",
|
|
1073
|
+
uploading: "Ladataan...",
|
|
1074
|
+
dropzone: {
|
|
1075
|
+
dropFiles: "Pudota tiedostot t\xE4h\xE4n",
|
|
1076
|
+
dropOrClick: "Pudota tai klikkaa liitt\xE4\xE4ksesi"
|
|
1077
|
+
}
|
|
1078
|
+
},
|
|
1079
|
+
typingIndicator: {
|
|
1080
|
+
typing: "kirjoittaa",
|
|
1081
|
+
isTyping: "kirjoittaa..."
|
|
1082
|
+
},
|
|
1083
|
+
messageList: {
|
|
1084
|
+
emptyState: "Ei viestej\xE4 viel\xE4. Aloita keskustelu!"
|
|
1085
|
+
},
|
|
1086
|
+
attachmentList: {
|
|
1087
|
+
remove: "Poista",
|
|
1088
|
+
uploadFailed: "Lataus ep\xE4onnistui"
|
|
1089
|
+
},
|
|
1090
|
+
header: {
|
|
1091
|
+
enterFullscreen: "Koko n\xE4ytt\xF6",
|
|
1092
|
+
exitFullscreen: "Poistu koko n\xE4yt\xF6st\xE4",
|
|
1093
|
+
closeChat: "Sulje chat",
|
|
1094
|
+
lightMode: "Vaalea tila",
|
|
1095
|
+
darkMode: "Tumma tila",
|
|
1096
|
+
autoMode: "J\xE4rjestelm\xE4n teema"
|
|
1097
|
+
},
|
|
1098
|
+
floatingButton: {
|
|
1099
|
+
openChat: "Avaa chat",
|
|
1100
|
+
closeChat: "Sulje chat"
|
|
1101
|
+
},
|
|
1102
|
+
push: {
|
|
1103
|
+
title: "Ilmoitukset",
|
|
1104
|
+
description: "Vastaanota viestej\xE4, vaikka chat olisi suljettu",
|
|
1105
|
+
enable: "Ota ilmoitukset k\xE4ytt\xF6\xF6n",
|
|
1106
|
+
disable: "Poista ilmoitukset k\xE4yt\xF6st\xE4",
|
|
1107
|
+
denied: "Ilmoitukset estetty",
|
|
1108
|
+
unsupported: "Ilmoituksia ei tueta",
|
|
1109
|
+
subscribing: "Tilataan...",
|
|
1110
|
+
notifications: "Ilmoitukset"
|
|
1111
|
+
},
|
|
1112
|
+
notification: {
|
|
1113
|
+
openChat: "Avaa Chat",
|
|
1114
|
+
dismiss: "Hylk\xE4\xE4"
|
|
1115
|
+
},
|
|
1116
|
+
common: {
|
|
1117
|
+
loading: "Ladataan...",
|
|
1118
|
+
error: "Virhe",
|
|
1119
|
+
retry: "Yrit\xE4 uudelleen",
|
|
1120
|
+
cancel: "Peruuta",
|
|
1121
|
+
download: "Lataa"
|
|
1122
|
+
}
|
|
1123
|
+
};
|
|
1124
|
+
|
|
1125
|
+
// src/i18n/locales/fr.json
|
|
1126
|
+
var fr_default = {
|
|
1127
|
+
direction: "ltr",
|
|
1128
|
+
chatWidget: {
|
|
1129
|
+
title: "Chat",
|
|
1130
|
+
placeholder: "\xC9crivez un message...",
|
|
1131
|
+
openChat: "Ouvrir le chat",
|
|
1132
|
+
closeChat: "Fermer le chat",
|
|
1133
|
+
connectionStatus: {
|
|
1134
|
+
connected: "Connect\xE9",
|
|
1135
|
+
disconnected: "D\xE9connect\xE9"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
inputArea: {
|
|
1139
|
+
send: "Envoyer",
|
|
1140
|
+
uploading: "T\xE9l\xE9chargement...",
|
|
1141
|
+
dropzone: {
|
|
1142
|
+
dropFiles: "D\xE9posez les fichiers ici",
|
|
1143
|
+
dropOrClick: "D\xE9posez ou cliquez pour joindre"
|
|
1144
|
+
}
|
|
1145
|
+
},
|
|
1146
|
+
typingIndicator: {
|
|
1147
|
+
typing: "tape",
|
|
1148
|
+
isTyping: "tape..."
|
|
1149
|
+
},
|
|
1150
|
+
messageList: {
|
|
1151
|
+
emptyState: "Aucun message pour l'instant. Lancez la conversation !"
|
|
1152
|
+
},
|
|
1153
|
+
attachmentList: {
|
|
1154
|
+
remove: "Supprimer",
|
|
1155
|
+
uploadFailed: "\xC9chec du t\xE9l\xE9chargement"
|
|
1156
|
+
},
|
|
1157
|
+
header: {
|
|
1158
|
+
enterFullscreen: "Plein \xE9cran",
|
|
1159
|
+
exitFullscreen: "Quitter le plein \xE9cran",
|
|
1160
|
+
closeChat: "Fermer le chat",
|
|
1161
|
+
lightMode: "Mode clair",
|
|
1162
|
+
darkMode: "Mode sombre",
|
|
1163
|
+
autoMode: "Th\xE8me syst\xE8me"
|
|
1164
|
+
},
|
|
1165
|
+
floatingButton: {
|
|
1166
|
+
openChat: "Ouvrir le chat",
|
|
1167
|
+
closeChat: "Fermer le chat"
|
|
1168
|
+
},
|
|
1169
|
+
push: {
|
|
1170
|
+
title: "Notifications",
|
|
1171
|
+
description: "Recevez des messages m\xEAme lorsque le chat est ferm\xE9",
|
|
1172
|
+
enable: "Activer les notifications",
|
|
1173
|
+
disable: "D\xE9sactiver les notifications",
|
|
1174
|
+
denied: "Notifications bloqu\xE9es",
|
|
1175
|
+
unsupported: "Notifications non prises en charge",
|
|
1176
|
+
subscribing: "Abonnement...",
|
|
1177
|
+
notifications: "Notifications"
|
|
1178
|
+
},
|
|
1179
|
+
notification: {
|
|
1180
|
+
openChat: "Ouvrir le Chat",
|
|
1181
|
+
dismiss: "Ignorer"
|
|
1182
|
+
},
|
|
1183
|
+
common: {
|
|
1184
|
+
loading: "Chargement...",
|
|
1185
|
+
error: "Erreur",
|
|
1186
|
+
retry: "R\xE9essayer",
|
|
1187
|
+
cancel: "Annuler",
|
|
1188
|
+
download: "T\xE9l\xE9charger"
|
|
1189
|
+
}
|
|
1190
|
+
};
|
|
1191
|
+
|
|
1192
|
+
// src/i18n/locales/de.json
|
|
1193
|
+
var de_default = {
|
|
1194
|
+
direction: "ltr",
|
|
1195
|
+
chatWidget: {
|
|
1196
|
+
title: "Chat",
|
|
1197
|
+
placeholder: "Nachricht schreiben...",
|
|
1198
|
+
openChat: "Chat \xF6ffnen",
|
|
1199
|
+
closeChat: "Chat schlie\xDFen",
|
|
1200
|
+
connectionStatus: {
|
|
1201
|
+
connected: "Verbunden",
|
|
1202
|
+
disconnected: "Getrennt"
|
|
1203
|
+
}
|
|
1204
|
+
},
|
|
1205
|
+
inputArea: {
|
|
1206
|
+
send: "Senden",
|
|
1207
|
+
uploading: "Hochladen...",
|
|
1208
|
+
dropzone: {
|
|
1209
|
+
dropFiles: "Dateien hier ablegen",
|
|
1210
|
+
dropOrClick: "Ablegen oder klicken zum Anh\xE4ngen"
|
|
1211
|
+
}
|
|
1212
|
+
},
|
|
1213
|
+
typingIndicator: {
|
|
1214
|
+
typing: "schreibt",
|
|
1215
|
+
isTyping: "schreibt..."
|
|
1216
|
+
},
|
|
1217
|
+
messageList: {
|
|
1218
|
+
emptyState: "Noch keine Nachrichten. Starten Sie die Unterhaltung!"
|
|
1219
|
+
},
|
|
1220
|
+
attachmentList: {
|
|
1221
|
+
remove: "Entfernen",
|
|
1222
|
+
uploadFailed: "Hochladen fehlgeschlagen"
|
|
1223
|
+
},
|
|
1224
|
+
header: {
|
|
1225
|
+
enterFullscreen: "Vollbild",
|
|
1226
|
+
exitFullscreen: "Vollbild beenden",
|
|
1227
|
+
closeChat: "Chat schlie\xDFen",
|
|
1228
|
+
lightMode: "Heller Modus",
|
|
1229
|
+
darkMode: "Dunkler Modus",
|
|
1230
|
+
autoMode: "System-Design"
|
|
1231
|
+
},
|
|
1232
|
+
floatingButton: {
|
|
1233
|
+
openChat: "Chat \xF6ffnen",
|
|
1234
|
+
closeChat: "Chat schlie\xDFen"
|
|
1235
|
+
},
|
|
1236
|
+
push: {
|
|
1237
|
+
title: "Benachrichtigungen",
|
|
1238
|
+
description: "Nachrichten auch bei geschlossenem Chat erhalten",
|
|
1239
|
+
enable: "Benachrichtigungen aktivieren",
|
|
1240
|
+
disable: "Benachrichtigungen deaktivieren",
|
|
1241
|
+
denied: "Benachrichtigungen blockiert",
|
|
1242
|
+
unsupported: "Benachrichtigungen nicht unterst\xFCtzt",
|
|
1243
|
+
subscribing: "Abonnieren...",
|
|
1244
|
+
notifications: "Benachrichtigungen"
|
|
1245
|
+
},
|
|
1246
|
+
notification: {
|
|
1247
|
+
openChat: "Chat \xF6ffnen",
|
|
1248
|
+
dismiss: "Schlie\xDFen"
|
|
1249
|
+
},
|
|
1250
|
+
common: {
|
|
1251
|
+
loading: "L\xE4dt...",
|
|
1252
|
+
error: "Fehler",
|
|
1253
|
+
retry: "Erneut versuchen",
|
|
1254
|
+
cancel: "Abbrechen",
|
|
1255
|
+
download: "Herunterladen"
|
|
1256
|
+
}
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
// src/i18n/locales/it.json
|
|
1260
|
+
var it_default = {
|
|
1261
|
+
direction: "ltr",
|
|
1262
|
+
chatWidget: {
|
|
1263
|
+
title: "Chat",
|
|
1264
|
+
placeholder: "Scrivi un messaggio...",
|
|
1265
|
+
openChat: "Apri chat",
|
|
1266
|
+
closeChat: "Chiudi chat",
|
|
1267
|
+
connectionStatus: {
|
|
1268
|
+
connected: "Connesso",
|
|
1269
|
+
disconnected: "Disconnesso"
|
|
1270
|
+
}
|
|
1271
|
+
},
|
|
1272
|
+
inputArea: {
|
|
1273
|
+
send: "Invia",
|
|
1274
|
+
uploading: "Caricamento...",
|
|
1275
|
+
dropzone: {
|
|
1276
|
+
dropFiles: "Rilascia i file qui",
|
|
1277
|
+
dropOrClick: "Rilascia o clicca per allegare"
|
|
1278
|
+
}
|
|
1279
|
+
},
|
|
1280
|
+
typingIndicator: {
|
|
1281
|
+
typing: "sta scrivendo",
|
|
1282
|
+
isTyping: "sta scrivendo..."
|
|
1283
|
+
},
|
|
1284
|
+
messageList: {
|
|
1285
|
+
emptyState: "Nessun messaggio ancora. Inizia la conversazione!"
|
|
1286
|
+
},
|
|
1287
|
+
attachmentList: {
|
|
1288
|
+
remove: "Rimuovi",
|
|
1289
|
+
uploadFailed: "Caricamento fallito"
|
|
1290
|
+
},
|
|
1291
|
+
header: {
|
|
1292
|
+
enterFullscreen: "Schermo intero",
|
|
1293
|
+
exitFullscreen: "Esci da schermo intero",
|
|
1294
|
+
closeChat: "Chiudi chat",
|
|
1295
|
+
lightMode: "Modalit\xE0 chiara",
|
|
1296
|
+
darkMode: "Modalit\xE0 scura",
|
|
1297
|
+
autoMode: "Tema sistema"
|
|
1298
|
+
},
|
|
1299
|
+
floatingButton: {
|
|
1300
|
+
openChat: "Apri chat",
|
|
1301
|
+
closeChat: "Chiudi chat"
|
|
1302
|
+
},
|
|
1303
|
+
push: {
|
|
1304
|
+
title: "Notifiche",
|
|
1305
|
+
description: "Ricevi messaggi anche quando la chat \xE8 chiusa",
|
|
1306
|
+
enable: "Attiva notifiche",
|
|
1307
|
+
disable: "Disattiva notifiche",
|
|
1308
|
+
denied: "Notifiche bloccate",
|
|
1309
|
+
unsupported: "Notifiche non supportate",
|
|
1310
|
+
subscribing: "Iscrizione...",
|
|
1311
|
+
notifications: "Notifiche"
|
|
1312
|
+
},
|
|
1313
|
+
notification: {
|
|
1314
|
+
openChat: "Apri Chat",
|
|
1315
|
+
dismiss: "Ignora"
|
|
1316
|
+
},
|
|
1317
|
+
common: {
|
|
1318
|
+
loading: "Caricamento...",
|
|
1319
|
+
error: "Errore",
|
|
1320
|
+
retry: "Riprova",
|
|
1321
|
+
cancel: "Annulla",
|
|
1322
|
+
download: "Scarica"
|
|
1323
|
+
}
|
|
1324
|
+
};
|
|
1325
|
+
|
|
1326
|
+
// src/i18n/locales/nl.json
|
|
1327
|
+
var nl_default = {
|
|
1328
|
+
direction: "ltr",
|
|
1329
|
+
chatWidget: {
|
|
1330
|
+
title: "Chat",
|
|
1331
|
+
placeholder: "Typ een bericht...",
|
|
1332
|
+
openChat: "Open chat",
|
|
1333
|
+
closeChat: "Sluit chat",
|
|
1334
|
+
connectionStatus: {
|
|
1335
|
+
connected: "Verbonden",
|
|
1336
|
+
disconnected: "Verbinding verbroken"
|
|
1337
|
+
}
|
|
1338
|
+
},
|
|
1339
|
+
inputArea: {
|
|
1340
|
+
send: "Versturen",
|
|
1341
|
+
uploading: "Uploaden...",
|
|
1342
|
+
dropzone: {
|
|
1343
|
+
dropFiles: "Zet bestanden hier neer",
|
|
1344
|
+
dropOrClick: "Sleep of klik om bij te voegen"
|
|
1345
|
+
}
|
|
1346
|
+
},
|
|
1347
|
+
typingIndicator: {
|
|
1348
|
+
typing: "typt",
|
|
1349
|
+
isTyping: "typt..."
|
|
1350
|
+
},
|
|
1351
|
+
messageList: {
|
|
1352
|
+
emptyState: "Nog geen berichten. Start het gesprek!"
|
|
1353
|
+
},
|
|
1354
|
+
attachmentList: {
|
|
1355
|
+
remove: "Verwijderen",
|
|
1356
|
+
uploadFailed: "Upload mislukt"
|
|
1357
|
+
},
|
|
1358
|
+
header: {
|
|
1359
|
+
enterFullscreen: "Volledig scherm",
|
|
1360
|
+
exitFullscreen: "Volledig scherm afsluiten",
|
|
1361
|
+
closeChat: "Sluit chat",
|
|
1362
|
+
lightMode: "Lichte modus",
|
|
1363
|
+
darkMode: "Donkere modus",
|
|
1364
|
+
autoMode: "Systeemthema"
|
|
1365
|
+
},
|
|
1366
|
+
floatingButton: {
|
|
1367
|
+
openChat: "Open chat",
|
|
1368
|
+
closeChat: "Sluit chat"
|
|
1369
|
+
},
|
|
1370
|
+
push: {
|
|
1371
|
+
title: "Meldingen",
|
|
1372
|
+
description: "Ontvang berichten zelfs wanneer de chat gesloten is",
|
|
1373
|
+
enable: "Meldingen inschakelen",
|
|
1374
|
+
disable: "Meldingen uitschakelen",
|
|
1375
|
+
denied: "Meldingen geblokkeerd",
|
|
1376
|
+
unsupported: "Meldingen niet ondersteund",
|
|
1377
|
+
subscribing: "Abonneren...",
|
|
1378
|
+
notifications: "Meldingen"
|
|
1379
|
+
},
|
|
1380
|
+
notification: {
|
|
1381
|
+
openChat: "Open Chat",
|
|
1382
|
+
dismiss: "Sluiten"
|
|
1383
|
+
},
|
|
1384
|
+
common: {
|
|
1385
|
+
loading: "Laden...",
|
|
1386
|
+
error: "Fout",
|
|
1387
|
+
retry: "Opnieuw proberen",
|
|
1388
|
+
cancel: "Annuleren",
|
|
1389
|
+
download: "Downloaden"
|
|
1390
|
+
}
|
|
1391
|
+
};
|
|
1392
|
+
|
|
1393
|
+
// src/i18n/locales/pl.json
|
|
1394
|
+
var pl_default = {
|
|
1395
|
+
direction: "ltr",
|
|
1396
|
+
chatWidget: {
|
|
1397
|
+
title: "Czat",
|
|
1398
|
+
placeholder: "Napisz wiadomo\u015B\u0107...",
|
|
1399
|
+
openChat: "Otw\xF3rz czat",
|
|
1400
|
+
closeChat: "Zamknij czat",
|
|
1401
|
+
connectionStatus: {
|
|
1402
|
+
connected: "Po\u0142\u0105czono",
|
|
1403
|
+
disconnected: "Roz\u0142\u0105czono"
|
|
1404
|
+
}
|
|
1405
|
+
},
|
|
1406
|
+
inputArea: {
|
|
1407
|
+
send: "Wy\u015Blij",
|
|
1408
|
+
uploading: "Przesy\u0142anie...",
|
|
1409
|
+
dropzone: {
|
|
1410
|
+
dropFiles: "Upu\u015B\u0107 pliki tutaj",
|
|
1411
|
+
dropOrClick: "Upu\u015B\u0107 lub kliknij, aby do\u0142\u0105czy\u0107"
|
|
1412
|
+
}
|
|
1413
|
+
},
|
|
1414
|
+
typingIndicator: {
|
|
1415
|
+
typing: "pisze",
|
|
1416
|
+
isTyping: "pisze..."
|
|
1417
|
+
},
|
|
1418
|
+
messageList: {
|
|
1419
|
+
emptyState: "Brak wiadomo\u015Bci. Rozpocznij rozmow\u0119!"
|
|
1420
|
+
},
|
|
1421
|
+
attachmentList: {
|
|
1422
|
+
remove: "Usu\u0144",
|
|
1423
|
+
uploadFailed: "Przesy\u0142anie nie powiod\u0142o si\u0119"
|
|
1424
|
+
},
|
|
1425
|
+
header: {
|
|
1426
|
+
enterFullscreen: "Pe\u0142ny ekran",
|
|
1427
|
+
exitFullscreen: "Opu\u015B\u0107 pe\u0142ny ekran",
|
|
1428
|
+
closeChat: "Zamknij czat",
|
|
1429
|
+
lightMode: "Jasny tryb",
|
|
1430
|
+
darkMode: "Ciemny tryb",
|
|
1431
|
+
autoMode: "Motyw systemu"
|
|
1432
|
+
},
|
|
1433
|
+
floatingButton: {
|
|
1434
|
+
openChat: "Otw\xF3rz czat",
|
|
1435
|
+
closeChat: "Zamknij czat"
|
|
1436
|
+
},
|
|
1437
|
+
push: {
|
|
1438
|
+
title: "Powiadomienia",
|
|
1439
|
+
description: "Otrzymuj wiadomo\u015Bci nawet przy zamkni\u0119tym czacie",
|
|
1440
|
+
enable: "W\u0142\u0105cz powiadomienia",
|
|
1441
|
+
disable: "Wy\u0142\u0105cz powiadomienia",
|
|
1442
|
+
denied: "Powiadomienia zablokowane",
|
|
1443
|
+
unsupported: "Powiadomienia nieobs\u0142ugiwane",
|
|
1444
|
+
subscribing: "Subskrybowanie...",
|
|
1445
|
+
notifications: "Powiadomienia"
|
|
1446
|
+
},
|
|
1447
|
+
notification: {
|
|
1448
|
+
openChat: "Otw\xF3rz Czat",
|
|
1449
|
+
dismiss: "Odrzu\u0107"
|
|
1450
|
+
},
|
|
1451
|
+
common: {
|
|
1452
|
+
loading: "\u0141adowanie...",
|
|
1453
|
+
error: "B\u0142\u0105d",
|
|
1454
|
+
retry: "Spr\xF3buj ponownie",
|
|
1455
|
+
cancel: "Anuluj",
|
|
1456
|
+
download: "Pobierz"
|
|
1457
|
+
}
|
|
1458
|
+
};
|
|
1459
|
+
|
|
1460
|
+
// src/i18n/locales/cs.json
|
|
1461
|
+
var cs_default = {
|
|
1462
|
+
direction: "ltr",
|
|
1463
|
+
chatWidget: {
|
|
1464
|
+
title: "Chat",
|
|
1465
|
+
placeholder: "Napi\u0161te zpr\xE1vu...",
|
|
1466
|
+
openChat: "Otev\u0159\xEDt chat",
|
|
1467
|
+
closeChat: "Zav\u0159\xEDt chat",
|
|
1468
|
+
connectionStatus: {
|
|
1469
|
+
connected: "P\u0159ipojeno",
|
|
1470
|
+
disconnected: "Odpojeno"
|
|
1471
|
+
}
|
|
1472
|
+
},
|
|
1473
|
+
inputArea: {
|
|
1474
|
+
send: "Odeslat",
|
|
1475
|
+
uploading: "Nahr\xE1v\xE1n\xED...",
|
|
1476
|
+
dropzone: {
|
|
1477
|
+
dropFiles: "P\u0159et\xE1hn\u011Bte soubory sem",
|
|
1478
|
+
dropOrClick: "P\u0159et\xE1hn\u011Bte nebo klikn\u011Bte pro p\u0159ilo\u017Een\xED"
|
|
1479
|
+
}
|
|
1480
|
+
},
|
|
1481
|
+
typingIndicator: {
|
|
1482
|
+
typing: "p\xED\u0161e",
|
|
1483
|
+
isTyping: "p\xED\u0161e..."
|
|
1484
|
+
},
|
|
1485
|
+
messageList: {
|
|
1486
|
+
emptyState: "Zat\xEDm \u017E\xE1dn\xE9 zpr\xE1vy. Zahajte konverzaci!"
|
|
1487
|
+
},
|
|
1488
|
+
attachmentList: {
|
|
1489
|
+
remove: "Odebrat",
|
|
1490
|
+
uploadFailed: "Nahr\xE1v\xE1n\xED selhalo"
|
|
1491
|
+
},
|
|
1492
|
+
header: {
|
|
1493
|
+
enterFullscreen: "Cel\xE1 obrazovka",
|
|
1494
|
+
exitFullscreen: "Opustit celou obrazovku",
|
|
1495
|
+
closeChat: "Zav\u0159\xEDt chat",
|
|
1496
|
+
lightMode: "Sv\u011Btl\xFD re\u017Eim",
|
|
1497
|
+
darkMode: "Tmav\xFD re\u017Eim",
|
|
1498
|
+
autoMode: "Syst\xE9mov\xE9 t\xE9ma"
|
|
1499
|
+
},
|
|
1500
|
+
floatingButton: {
|
|
1501
|
+
openChat: "Otev\u0159\xEDt chat",
|
|
1502
|
+
closeChat: "Zav\u0159\xEDt chat"
|
|
1503
|
+
},
|
|
1504
|
+
push: {
|
|
1505
|
+
title: "Ozn\xE1men\xED",
|
|
1506
|
+
description: "P\u0159ij\xEDmejte zpr\xE1vy i kdy\u017E je chat zav\u0159en\xFD",
|
|
1507
|
+
enable: "Povolit ozn\xE1men\xED",
|
|
1508
|
+
disable: "Zak\xE1zat ozn\xE1men\xED",
|
|
1509
|
+
denied: "Ozn\xE1men\xED blokov\xE1na",
|
|
1510
|
+
unsupported: "Ozn\xE1men\xED nejsou podporov\xE1na",
|
|
1511
|
+
subscribing: "P\u0159ihla\u0161ov\xE1n\xED...",
|
|
1512
|
+
notifications: "Ozn\xE1men\xED"
|
|
1513
|
+
},
|
|
1514
|
+
notification: {
|
|
1515
|
+
openChat: "Otev\u0159\xEDt Chat",
|
|
1516
|
+
dismiss: "Zav\u0159\xEDt"
|
|
1517
|
+
},
|
|
1518
|
+
common: {
|
|
1519
|
+
loading: "Na\u010D\xEDt\xE1n\xED...",
|
|
1520
|
+
error: "Chyba",
|
|
1521
|
+
retry: "Zkusit znovu",
|
|
1522
|
+
cancel: "Zru\u0161it",
|
|
1523
|
+
download: "St\xE1hnout"
|
|
1524
|
+
}
|
|
1525
|
+
};
|
|
1526
|
+
|
|
1527
|
+
// src/i18n/locales/ro.json
|
|
1528
|
+
var ro_default = {
|
|
1529
|
+
direction: "ltr",
|
|
1530
|
+
chatWidget: {
|
|
1531
|
+
title: "Chat",
|
|
1532
|
+
placeholder: "Scrie un mesaj...",
|
|
1533
|
+
openChat: "Deschide chat",
|
|
1534
|
+
closeChat: "\xCEnchide chat",
|
|
1535
|
+
connectionStatus: {
|
|
1536
|
+
connected: "Conectat",
|
|
1537
|
+
disconnected: "Deconectat"
|
|
1538
|
+
}
|
|
1539
|
+
},
|
|
1540
|
+
inputArea: {
|
|
1541
|
+
send: "Trimite",
|
|
1542
|
+
uploading: "Se \xEEncarc\u0103...",
|
|
1543
|
+
dropzone: {
|
|
1544
|
+
dropFiles: "Plasa\u021Bi fi\u0219ierele aici",
|
|
1545
|
+
dropOrClick: "Plasa\u021Bi sau face\u021Bi clic pentru a ata\u0219a"
|
|
1546
|
+
}
|
|
1547
|
+
},
|
|
1548
|
+
typingIndicator: {
|
|
1549
|
+
typing: "scrie",
|
|
1550
|
+
isTyping: "scrie..."
|
|
1551
|
+
},
|
|
1552
|
+
messageList: {
|
|
1553
|
+
emptyState: "\xCEnc\u0103 nu exist\u0103 mesaje. \xCEncepe conversa\u021Bia!"
|
|
1554
|
+
},
|
|
1555
|
+
attachmentList: {
|
|
1556
|
+
remove: "Elimin\u0103",
|
|
1557
|
+
uploadFailed: "\xCEnc\u0103rcare e\u0219uat\u0103"
|
|
1558
|
+
},
|
|
1559
|
+
header: {
|
|
1560
|
+
enterFullscreen: "Ecran complet",
|
|
1561
|
+
exitFullscreen: "Ie\u0219i\u021Bi din ecran complet",
|
|
1562
|
+
closeChat: "\xCEnchide chat",
|
|
1563
|
+
lightMode: "Mod luminos",
|
|
1564
|
+
darkMode: "Mod \xEEntunecat",
|
|
1565
|
+
autoMode: "Tem\u0103 sistem"
|
|
1566
|
+
},
|
|
1567
|
+
floatingButton: {
|
|
1568
|
+
openChat: "Deschide chat",
|
|
1569
|
+
closeChat: "\xCEnchide chat"
|
|
1570
|
+
},
|
|
1571
|
+
push: {
|
|
1572
|
+
title: "Notific\u0103ri",
|
|
1573
|
+
description: "Primi\u021Bi mesaje chiar \u0219i c\xE2nd chatul este \xEEnchis",
|
|
1574
|
+
enable: "Activeaz\u0103 notific\u0103rile",
|
|
1575
|
+
disable: "Dezactiveaz\u0103 notific\u0103rile",
|
|
1576
|
+
denied: "Notific\u0103ri blocate",
|
|
1577
|
+
unsupported: "Notific\u0103ri nesuportate",
|
|
1578
|
+
subscribing: "Abonare...",
|
|
1579
|
+
notifications: "Notific\u0103ri"
|
|
1580
|
+
},
|
|
1581
|
+
notification: {
|
|
1582
|
+
openChat: "Deschide Chat",
|
|
1583
|
+
dismiss: "Ignor\u0103"
|
|
1584
|
+
},
|
|
1585
|
+
common: {
|
|
1586
|
+
loading: "Se \xEEncarc\u0103...",
|
|
1587
|
+
error: "Eroare",
|
|
1588
|
+
retry: "Re\xEEncearc\u0103",
|
|
1589
|
+
cancel: "Anuleaz\u0103",
|
|
1590
|
+
download: "Descarc\u0103"
|
|
1591
|
+
}
|
|
1592
|
+
};
|
|
1593
|
+
|
|
1594
|
+
// src/i18n/locales/hu.json
|
|
1595
|
+
var hu_default = {
|
|
1596
|
+
direction: "ltr",
|
|
1597
|
+
chatWidget: {
|
|
1598
|
+
title: "Chat",
|
|
1599
|
+
placeholder: "\xCDrj egy \xFCzenetet...",
|
|
1600
|
+
openChat: "Chat megnyit\xE1sa",
|
|
1601
|
+
closeChat: "Chat bez\xE1r\xE1sa",
|
|
1602
|
+
connectionStatus: {
|
|
1603
|
+
connected: "Csatlakozva",
|
|
1604
|
+
disconnected: "Lecsatlakozva"
|
|
1605
|
+
}
|
|
1606
|
+
},
|
|
1607
|
+
inputArea: {
|
|
1608
|
+
send: "K\xFCld\xE9s",
|
|
1609
|
+
uploading: "Felt\xF6lt\xE9s...",
|
|
1610
|
+
dropzone: {
|
|
1611
|
+
dropFiles: "Dobja ide a f\xE1jlokat",
|
|
1612
|
+
dropOrClick: "Dobja vagy kattintson a csatol\xE1shoz"
|
|
1613
|
+
}
|
|
1614
|
+
},
|
|
1615
|
+
typingIndicator: {
|
|
1616
|
+
typing: "\xEDr",
|
|
1617
|
+
isTyping: "\xEDr..."
|
|
1618
|
+
},
|
|
1619
|
+
messageList: {
|
|
1620
|
+
emptyState: "M\xE9g nincsenek \xFCzenetek. Ind\xEDtsa el a besz\xE9lget\xE9st!"
|
|
1621
|
+
},
|
|
1622
|
+
attachmentList: {
|
|
1623
|
+
remove: "Elt\xE1vol\xEDt\xE1s",
|
|
1624
|
+
uploadFailed: "Felt\xF6lt\xE9s sikertelen"
|
|
1625
|
+
},
|
|
1626
|
+
header: {
|
|
1627
|
+
enterFullscreen: "Teljes k\xE9perny\u0151",
|
|
1628
|
+
exitFullscreen: "Kil\xE9p\xE9s a teljes k\xE9perny\u0151b\u0151l",
|
|
1629
|
+
closeChat: "Chat bez\xE1r\xE1sa",
|
|
1630
|
+
lightMode: "Vil\xE1gos m\xF3d",
|
|
1631
|
+
darkMode: "S\xF6t\xE9t m\xF3d",
|
|
1632
|
+
autoMode: "Rendszert\xE9ma"
|
|
1633
|
+
},
|
|
1634
|
+
floatingButton: {
|
|
1635
|
+
openChat: "Chat megnyit\xE1sa",
|
|
1636
|
+
closeChat: "Chat bez\xE1r\xE1sa"
|
|
1637
|
+
},
|
|
1638
|
+
push: {
|
|
1639
|
+
title: "\xC9rtes\xEDt\xE9sek",
|
|
1640
|
+
description: "\xDCzenetek fogad\xE1sa akkor is, ha a chat be van z\xE1rva",
|
|
1641
|
+
enable: "\xC9rtes\xEDt\xE9sek enged\xE9lyez\xE9se",
|
|
1642
|
+
disable: "\xC9rtes\xEDt\xE9sek letilt\xE1sa",
|
|
1643
|
+
denied: "\xC9rtes\xEDt\xE9sek blokkolva",
|
|
1644
|
+
unsupported: "\xC9rtes\xEDt\xE9sek nem t\xE1mogatottak",
|
|
1645
|
+
subscribing: "Feliratkoz\xE1s...",
|
|
1646
|
+
notifications: "\xC9rtes\xEDt\xE9sek"
|
|
1647
|
+
},
|
|
1648
|
+
notification: {
|
|
1649
|
+
openChat: "Chat Megnyit\xE1sa",
|
|
1650
|
+
dismiss: "Elutas\xEDt\xE1s"
|
|
1651
|
+
},
|
|
1652
|
+
common: {
|
|
1653
|
+
loading: "Bet\xF6lt\xE9s...",
|
|
1654
|
+
error: "Hiba",
|
|
1655
|
+
retry: "\xDAjrapr\xF3b\xE1lkoz\xE1s",
|
|
1656
|
+
cancel: "M\xE9gse",
|
|
1657
|
+
download: "Let\xF6lt\xE9s"
|
|
1658
|
+
}
|
|
1659
|
+
};
|
|
1660
|
+
|
|
1661
|
+
// src/i18n/locales/uk.json
|
|
1662
|
+
var uk_default = {
|
|
1663
|
+
direction: "ltr",
|
|
1664
|
+
chatWidget: {
|
|
1665
|
+
title: "\u0427\u0430\u0442",
|
|
1666
|
+
placeholder: "\u041D\u0430\u043F\u0438\u0448\u0456\u0442\u044C \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F...",
|
|
1667
|
+
openChat: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0447\u0430\u0442",
|
|
1668
|
+
closeChat: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0447\u0430\u0442",
|
|
1669
|
+
connectionStatus: {
|
|
1670
|
+
connected: "\u041F\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E",
|
|
1671
|
+
disconnected: "\u0412\u0456\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E"
|
|
1672
|
+
}
|
|
1673
|
+
},
|
|
1674
|
+
inputArea: {
|
|
1675
|
+
send: "\u041D\u0430\u0434\u0456\u0441\u043B\u0430\u0442\u0438",
|
|
1676
|
+
uploading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F...",
|
|
1677
|
+
dropzone: {
|
|
1678
|
+
dropFiles: "\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0444\u0430\u0439\u043B\u0438 \u0441\u044E\u0434\u0438",
|
|
1679
|
+
dropOrClick: "\u041F\u0435\u0440\u0435\u0442\u044F\u0433\u043D\u0456\u0442\u044C \u0430\u0431\u043E \u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C, \u0449\u043E\u0431 \u043F\u0440\u0438\u043A\u0440\u0456\u043F\u0438\u0442\u0438"
|
|
1680
|
+
}
|
|
1681
|
+
},
|
|
1682
|
+
typingIndicator: {
|
|
1683
|
+
typing: "\u0434\u0440\u0443\u043A\u0443\u0454",
|
|
1684
|
+
isTyping: "\u0434\u0440\u0443\u043A\u0443\u0454..."
|
|
1685
|
+
},
|
|
1686
|
+
messageList: {
|
|
1687
|
+
emptyState: "\u041F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u044C \u0449\u0435 \u043D\u0435\u043C\u0430\u0454. \u041F\u043E\u0447\u043D\u0456\u0442\u044C \u0440\u043E\u0437\u043C\u043E\u0432\u0443!"
|
|
1688
|
+
},
|
|
1689
|
+
attachmentList: {
|
|
1690
|
+
remove: "\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438",
|
|
1691
|
+
uploadFailed: "\u041D\u0435 \u0432\u0434\u0430\u043B\u043E\u0441\u044F \u0437\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438"
|
|
1692
|
+
},
|
|
1693
|
+
header: {
|
|
1694
|
+
enterFullscreen: "\u041F\u043E\u0432\u043D\u0438\u0439 \u0435\u043A\u0440\u0430\u043D",
|
|
1695
|
+
exitFullscreen: "\u0412\u0438\u0439\u0442\u0438 \u0437 \u043F\u043E\u0432\u043D\u043E\u0433\u043E \u0435\u043A\u0440\u0430\u043D\u0443",
|
|
1696
|
+
closeChat: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0447\u0430\u0442",
|
|
1697
|
+
lightMode: "\u0421\u0432\u0456\u0442\u043B\u0438\u0439 \u0440\u0435\u0436\u0438\u043C",
|
|
1698
|
+
darkMode: "\u0422\u0435\u043C\u043D\u0438\u0439 \u0440\u0435\u0436\u0438\u043C",
|
|
1699
|
+
autoMode: "\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430 \u0442\u0435\u043C\u0430"
|
|
1700
|
+
},
|
|
1701
|
+
floatingButton: {
|
|
1702
|
+
openChat: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0447\u0430\u0442",
|
|
1703
|
+
closeChat: "\u0417\u0430\u043A\u0440\u0438\u0442\u0438 \u0447\u0430\u0442"
|
|
1704
|
+
},
|
|
1705
|
+
push: {
|
|
1706
|
+
title: "\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F",
|
|
1707
|
+
description: "\u041E\u0442\u0440\u0438\u043C\u0443\u0439\u0442\u0435 \u043F\u043E\u0432\u0456\u0434\u043E\u043C\u043B\u0435\u043D\u043D\u044F, \u043D\u0430\u0432\u0456\u0442\u044C \u043A\u043E\u043B\u0438 \u0447\u0430\u0442 \u0437\u0430\u043A\u0440\u0438\u0442\u043E",
|
|
1708
|
+
enable: "\u0423\u0432\u0456\u043C\u043A\u043D\u0443\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F",
|
|
1709
|
+
disable: "\u0412\u0438\u043C\u043A\u043D\u0443\u0442\u0438 \u0441\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F",
|
|
1710
|
+
denied: "\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u0437\u0430\u0431\u043B\u043E\u043A\u043E\u0432\u0430\u043D\u043E",
|
|
1711
|
+
unsupported: "\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F \u043D\u0435 \u043F\u0456\u0434\u0442\u0440\u0438\u043C\u0443\u044E\u0442\u044C\u0441\u044F",
|
|
1712
|
+
subscribing: "\u041F\u0456\u0434\u043F\u0438\u0441\u043A\u0430...",
|
|
1713
|
+
notifications: "\u0421\u043F\u043E\u0432\u0456\u0449\u0435\u043D\u043D\u044F"
|
|
1714
|
+
},
|
|
1715
|
+
notification: {
|
|
1716
|
+
openChat: "\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0427\u0430\u0442",
|
|
1717
|
+
dismiss: "\u0412\u0456\u0434\u0445\u0438\u043B\u0438\u0442\u0438"
|
|
1718
|
+
},
|
|
1719
|
+
common: {
|
|
1720
|
+
loading: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u043D\u044F...",
|
|
1721
|
+
error: "\u041F\u043E\u043C\u0438\u043B\u043A\u0430",
|
|
1722
|
+
retry: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0438",
|
|
1723
|
+
cancel: "\u0421\u043A\u0430\u0441\u0443\u0432\u0430\u0442\u0438",
|
|
1724
|
+
download: "\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0438\u0442\u0438"
|
|
1725
|
+
}
|
|
1726
|
+
};
|
|
1727
|
+
|
|
1728
|
+
// src/i18n/locales/ru.json
|
|
1729
|
+
var ru_default = {
|
|
1730
|
+
direction: "ltr",
|
|
1731
|
+
chatWidget: {
|
|
1732
|
+
title: "\u0427\u0430\u0442",
|
|
1733
|
+
placeholder: "\u041D\u0430\u043F\u0438\u0448\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...",
|
|
1734
|
+
openChat: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442",
|
|
1735
|
+
closeChat: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442",
|
|
1736
|
+
connectionStatus: {
|
|
1737
|
+
connected: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u043E",
|
|
1738
|
+
disconnected: "\u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u043E"
|
|
1739
|
+
}
|
|
1740
|
+
},
|
|
1741
|
+
inputArea: {
|
|
1742
|
+
send: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
|
|
1743
|
+
uploading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
|
|
1744
|
+
dropzone: {
|
|
1745
|
+
dropFiles: "\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0444\u0430\u0439\u043B\u044B \u0441\u044E\u0434\u0430",
|
|
1746
|
+
dropOrClick: "\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0438\u043B\u0438 \u043D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C"
|
|
1747
|
+
}
|
|
1748
|
+
},
|
|
1749
|
+
typingIndicator: {
|
|
1750
|
+
typing: "\u043F\u0435\u0447\u0430\u0442\u0430\u0435\u0442",
|
|
1751
|
+
isTyping: "\u043F\u0435\u0447\u0430\u0442\u0430\u0435\u0442..."
|
|
1752
|
+
},
|
|
1753
|
+
messageList: {
|
|
1754
|
+
emptyState: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442. \u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440!"
|
|
1755
|
+
},
|
|
1756
|
+
attachmentList: {
|
|
1757
|
+
remove: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C",
|
|
1758
|
+
uploadFailed: "\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438"
|
|
1759
|
+
},
|
|
1760
|
+
header: {
|
|
1761
|
+
enterFullscreen: "\u041F\u043E\u043B\u043D\u044B\u0439 \u044D\u043A\u0440\u0430\u043D",
|
|
1762
|
+
exitFullscreen: "\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u0433\u043E \u044D\u043A\u0440\u0430\u043D\u0430",
|
|
1763
|
+
closeChat: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442",
|
|
1764
|
+
lightMode: "\u0421\u0432\u0435\u0442\u043B\u0430\u044F \u0442\u0435\u043C\u0430",
|
|
1765
|
+
darkMode: "\u0422\u0451\u043C\u043D\u0430\u044F \u0442\u0435\u043C\u0430",
|
|
1766
|
+
autoMode: "\u0421\u0438\u0441\u0442\u0435\u043C\u043D\u0430\u044F \u0442\u0435\u043C\u0430"
|
|
1767
|
+
},
|
|
1768
|
+
floatingButton: {
|
|
1769
|
+
openChat: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442",
|
|
1770
|
+
closeChat: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0447\u0430\u0442"
|
|
1771
|
+
},
|
|
1772
|
+
push: {
|
|
1773
|
+
title: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",
|
|
1774
|
+
description: "\u041F\u043E\u043B\u0443\u0447\u0430\u0439\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F, \u0434\u0430\u0436\u0435 \u043A\u043E\u0433\u0434\u0430 \u0447\u0430\u0442 \u0437\u0430\u043A\u0440\u044B\u0442",
|
|
1775
|
+
enable: "\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",
|
|
1776
|
+
disable: "\u041E\u0442\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",
|
|
1777
|
+
denied: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u044B",
|
|
1778
|
+
unsupported: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044E\u0442\u0441\u044F",
|
|
1779
|
+
subscribing: "\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0430...",
|
|
1780
|
+
notifications: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F"
|
|
1781
|
+
},
|
|
1782
|
+
notification: {
|
|
1783
|
+
openChat: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0427\u0430\u0442",
|
|
1784
|
+
dismiss: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C"
|
|
1785
|
+
},
|
|
1786
|
+
common: {
|
|
1787
|
+
loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
|
|
1788
|
+
error: "\u041E\u0448\u0438\u0431\u043A\u0430",
|
|
1789
|
+
retry: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
|
|
1790
|
+
cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
|
|
1791
|
+
download: "\u0421\u043A\u0430\u0447\u0430\u0442\u044C"
|
|
1792
|
+
}
|
|
1793
|
+
};
|
|
1794
|
+
|
|
1795
|
+
// src/i18n/locales/el.json
|
|
1796
|
+
var el_default = {
|
|
1797
|
+
direction: "ltr",
|
|
1798
|
+
chatWidget: {
|
|
1799
|
+
title: "\u03A3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1",
|
|
1800
|
+
placeholder: "\u0393\u03C1\u03AC\u03C8\u03C4\u03B5 \u03AD\u03BD\u03B1 \u03BC\u03AE\u03BD\u03C5\u03BC\u03B1...",
|
|
1801
|
+
openChat: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2",
|
|
1802
|
+
closeChat: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2",
|
|
1803
|
+
connectionStatus: {
|
|
1804
|
+
connected: "\u03A3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF",
|
|
1805
|
+
disconnected: "\u0391\u03C0\u03BF\u03C3\u03C5\u03BD\u03B4\u03B5\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF"
|
|
1806
|
+
}
|
|
1807
|
+
},
|
|
1808
|
+
inputArea: {
|
|
1809
|
+
send: "\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE",
|
|
1810
|
+
uploading: "\u039C\u03B5\u03C4\u03B1\u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7...",
|
|
1811
|
+
dropzone: {
|
|
1812
|
+
dropFiles: "\u0391\u03C6\u03AE\u03C3\u03C4\u03B5 \u03B1\u03C1\u03C7\u03B5\u03AF\u03B1 \u03B5\u03B4\u03CE",
|
|
1813
|
+
dropOrClick: "\u0391\u03C6\u03AE\u03C3\u03C4\u03B5 \u03AE \u03BA\u03AC\u03BD\u03C4\u03B5 \u03BA\u03BB\u03B9\u03BA \u03B3\u03B9\u03B1 \u03B5\u03C0\u03B9\u03C3\u03CD\u03BD\u03B1\u03C8\u03B7"
|
|
1814
|
+
}
|
|
1815
|
+
},
|
|
1816
|
+
typingIndicator: {
|
|
1817
|
+
typing: "\u03B3\u03C1\u03AC\u03C6\u03B5\u03B9",
|
|
1818
|
+
isTyping: "\u03B3\u03C1\u03AC\u03C6\u03B5\u03B9..."
|
|
1819
|
+
},
|
|
1820
|
+
messageList: {
|
|
1821
|
+
emptyState: "\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B1\u03BA\u03CC\u03BC\u03B7 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1. \u039E\u03B5\u03BA\u03B9\u03BD\u03AE\u03C3\u03C4\u03B5 \u03C4\u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1!"
|
|
1822
|
+
},
|
|
1823
|
+
attachmentList: {
|
|
1824
|
+
remove: "\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7",
|
|
1825
|
+
uploadFailed: "\u0397 \u03BC\u03B5\u03C4\u03B1\u03C6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7 \u03B1\u03C0\u03AD\u03C4\u03C5\u03C7\u03B5"
|
|
1826
|
+
},
|
|
1827
|
+
header: {
|
|
1828
|
+
enterFullscreen: "\u03A0\u03BB\u03AE\u03C1\u03B7\u03C2 \u03BF\u03B8\u03CC\u03BD\u03B7",
|
|
1829
|
+
exitFullscreen: "\u0388\u03BE\u03BF\u03B4\u03BF\u03C2 \u03B1\u03C0\u03CC \u03C0\u03BB\u03AE\u03C1\u03B7 \u03BF\u03B8\u03CC\u03BD\u03B7",
|
|
1830
|
+
closeChat: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2",
|
|
1831
|
+
lightMode: "\u03A6\u03C9\u03C4\u03B5\u03B9\u03BD\u03AE \u03BB\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1",
|
|
1832
|
+
darkMode: "\u03A3\u03BA\u03BF\u03C4\u03B5\u03B9\u03BD\u03AE \u03BB\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B1",
|
|
1833
|
+
autoMode: "\u0398\u03AD\u03BC\u03B1 \u03C3\u03C5\u03C3\u03C4\u03AE\u03BC\u03B1\u03C4\u03BF\u03C2"
|
|
1834
|
+
},
|
|
1835
|
+
floatingButton: {
|
|
1836
|
+
openChat: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2",
|
|
1837
|
+
closeChat: "\u039A\u03BB\u03B5\u03AF\u03C3\u03B9\u03BC\u03BF \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2"
|
|
1838
|
+
},
|
|
1839
|
+
push: {
|
|
1840
|
+
title: "\u0395\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2",
|
|
1841
|
+
description: "\u039B\u03AC\u03B2\u03B5\u03C4\u03B5 \u03BC\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03BA\u03B1\u03B9 \u03CC\u03C4\u03B1\u03BD \u03B7 \u03C3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03BA\u03BB\u03B5\u03B9\u03C3\u03C4\u03AE",
|
|
1842
|
+
enable: "\u0395\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03C9\u03BD",
|
|
1843
|
+
disable: "\u0391\u03C0\u03B5\u03BD\u03B5\u03C1\u03B3\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03C9\u03BD",
|
|
1844
|
+
denied: "\u0395\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2 \u03B1\u03C0\u03BF\u03BA\u03BB\u03B5\u03B9\u03C3\u03BC\u03AD\u03BD\u03B5\u03C2",
|
|
1845
|
+
unsupported: "\u039F\u03B9 \u03B5\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2 \u03B4\u03B5\u03BD \u03C5\u03C0\u03BF\u03C3\u03C4\u03B7\u03C1\u03AF\u03B6\u03BF\u03BD\u03C4\u03B1\u03B9",
|
|
1846
|
+
subscribing: "\u0395\u03B3\u03B3\u03C1\u03B1\u03C6\u03AE...",
|
|
1847
|
+
notifications: "\u0395\u03B9\u03B4\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03B5\u03B9\u03C2"
|
|
1848
|
+
},
|
|
1849
|
+
notification: {
|
|
1850
|
+
openChat: "\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u03A3\u03C5\u03BD\u03BF\u03BC\u03B9\u03BB\u03AF\u03B1\u03C2",
|
|
1851
|
+
dismiss: "\u0391\u03C0\u03CC\u03C1\u03C1\u03B9\u03C8\u03B7"
|
|
1852
|
+
},
|
|
1853
|
+
common: {
|
|
1854
|
+
loading: "\u03A6\u03CC\u03C1\u03C4\u03C9\u03C3\u03B7...",
|
|
1855
|
+
error: "\u03A3\u03C6\u03AC\u03BB\u03BC\u03B1",
|
|
1856
|
+
retry: "\u0394\u03BF\u03BA\u03B9\u03BC\u03AE \u03BE\u03B1\u03BD\u03AC",
|
|
1857
|
+
cancel: "\u0391\u03BA\u03CD\u03C1\u03C9\u03C3\u03B7",
|
|
1858
|
+
download: "\u039B\u03AE\u03C8\u03B7"
|
|
1859
|
+
}
|
|
1860
|
+
};
|
|
1861
|
+
|
|
1862
|
+
// src/i18n/locales/tr.json
|
|
1863
|
+
var tr_default = {
|
|
1864
|
+
direction: "ltr",
|
|
1865
|
+
chatWidget: {
|
|
1866
|
+
title: "Sohbet",
|
|
1867
|
+
placeholder: "Bir mesaj yaz\u0131n...",
|
|
1868
|
+
openChat: "Sohbeti a\xE7",
|
|
1869
|
+
closeChat: "Sohbeti kapat",
|
|
1870
|
+
connectionStatus: {
|
|
1871
|
+
connected: "Ba\u011Fland\u0131",
|
|
1872
|
+
disconnected: "Ba\u011Flant\u0131 kesildi"
|
|
1873
|
+
}
|
|
1874
|
+
},
|
|
1875
|
+
inputArea: {
|
|
1876
|
+
send: "G\xF6nder",
|
|
1877
|
+
uploading: "Y\xFCkleniyor...",
|
|
1878
|
+
dropzone: {
|
|
1879
|
+
dropFiles: "Dosyalar\u0131 buraya b\u0131rak\u0131n",
|
|
1880
|
+
dropOrClick: "Eklemek i\xE7in b\u0131rak\u0131n veya t\u0131klay\u0131n"
|
|
1881
|
+
}
|
|
1882
|
+
},
|
|
1883
|
+
typingIndicator: {
|
|
1884
|
+
typing: "yaz\u0131yor",
|
|
1885
|
+
isTyping: "yaz\u0131yor..."
|
|
1886
|
+
},
|
|
1887
|
+
messageList: {
|
|
1888
|
+
emptyState: "Hen\xFCz mesaj yok. Sohbeti ba\u015Flat\u0131n!"
|
|
1889
|
+
},
|
|
1890
|
+
attachmentList: {
|
|
1891
|
+
remove: "Kald\u0131r",
|
|
1892
|
+
uploadFailed: "Y\xFCkleme ba\u015Far\u0131s\u0131z"
|
|
1893
|
+
},
|
|
1894
|
+
header: {
|
|
1895
|
+
enterFullscreen: "Tam ekran",
|
|
1896
|
+
exitFullscreen: "Tam ekrandan \xE7\u0131k",
|
|
1897
|
+
closeChat: "Sohbeti kapat",
|
|
1898
|
+
lightMode: "A\xE7\u0131k mod",
|
|
1899
|
+
darkMode: "Koyu mod",
|
|
1900
|
+
autoMode: "Sistem temas\u0131"
|
|
1901
|
+
},
|
|
1902
|
+
floatingButton: {
|
|
1903
|
+
openChat: "Sohbeti a\xE7",
|
|
1904
|
+
closeChat: "Sohbeti kapat"
|
|
1905
|
+
},
|
|
1906
|
+
push: {
|
|
1907
|
+
title: "Bildirimler",
|
|
1908
|
+
description: "Sohbet kapal\u0131yken bile mesaj al\u0131n",
|
|
1909
|
+
enable: "Bildirimleri etkinle\u015Ftir",
|
|
1910
|
+
disable: "Bildirimleri devre d\u0131\u015F\u0131 b\u0131rak",
|
|
1911
|
+
denied: "Bildirimler engellendi",
|
|
1912
|
+
unsupported: "Bildirimler desteklenmiyor",
|
|
1913
|
+
subscribing: "Abone olunuyor...",
|
|
1914
|
+
notifications: "Bildirimler"
|
|
1915
|
+
},
|
|
1916
|
+
notification: {
|
|
1917
|
+
openChat: "Sohbeti A\xE7",
|
|
1918
|
+
dismiss: "Kapat"
|
|
1919
|
+
},
|
|
1920
|
+
common: {
|
|
1921
|
+
loading: "Y\xFCkleniyor...",
|
|
1922
|
+
error: "Hata",
|
|
1923
|
+
retry: "Tekrar dene",
|
|
1924
|
+
cancel: "\u0130ptal",
|
|
1925
|
+
download: "\u0130ndir"
|
|
1926
|
+
}
|
|
1927
|
+
};
|
|
1928
|
+
|
|
1929
|
+
// src/i18n/locales/et.json
|
|
1930
|
+
var et_default = {
|
|
1931
|
+
direction: "ltr",
|
|
1932
|
+
chatWidget: {
|
|
1933
|
+
title: "Vestlus",
|
|
1934
|
+
placeholder: "Kirjuta s\xF5num...",
|
|
1935
|
+
openChat: "Ava vestlus",
|
|
1936
|
+
closeChat: "Sulge vestlus",
|
|
1937
|
+
connectionStatus: {
|
|
1938
|
+
connected: "\xDChendatud",
|
|
1939
|
+
disconnected: "\xDChendus katkenud"
|
|
1940
|
+
}
|
|
1941
|
+
},
|
|
1942
|
+
inputArea: {
|
|
1943
|
+
send: "Saada",
|
|
1944
|
+
uploading: "Laadimine...",
|
|
1945
|
+
dropzone: {
|
|
1946
|
+
dropFiles: "Lohista failid siia",
|
|
1947
|
+
dropOrClick: "Lohista v\xF5i kl\xF5psa manustamiseks"
|
|
1948
|
+
}
|
|
1949
|
+
},
|
|
1950
|
+
typingIndicator: {
|
|
1951
|
+
typing: "kirjutab",
|
|
1952
|
+
isTyping: "kirjutab..."
|
|
1953
|
+
},
|
|
1954
|
+
messageList: {
|
|
1955
|
+
emptyState: "Veel pole s\xF5numeid. Alusta vestlust!"
|
|
1956
|
+
},
|
|
1957
|
+
attachmentList: {
|
|
1958
|
+
remove: "Eemalda",
|
|
1959
|
+
uploadFailed: "\xDCleslaadimine eba\xF5nnestus"
|
|
1960
|
+
},
|
|
1961
|
+
header: {
|
|
1962
|
+
enterFullscreen: "T\xE4isekraan",
|
|
1963
|
+
exitFullscreen: "V\xE4lju t\xE4isekraanist",
|
|
1964
|
+
closeChat: "Sulge vestlus",
|
|
1965
|
+
lightMode: "Heledre\u017Eiim",
|
|
1966
|
+
darkMode: "Tumedre\u017Eiim",
|
|
1967
|
+
autoMode: "S\xFCsteemi teema"
|
|
1968
|
+
},
|
|
1969
|
+
floatingButton: {
|
|
1970
|
+
openChat: "Ava vestlus",
|
|
1971
|
+
closeChat: "Sulge vestlus"
|
|
1972
|
+
},
|
|
1973
|
+
push: {
|
|
1974
|
+
title: "Teavitused",
|
|
1975
|
+
description: "Saage s\xF5numeid ka siis, kui vestlus on suletud",
|
|
1976
|
+
enable: "Luba teavitused",
|
|
1977
|
+
disable: "Keela teavitused",
|
|
1978
|
+
denied: "Teavitused blokeeritud",
|
|
1979
|
+
unsupported: "Teavitused pole toetatud",
|
|
1980
|
+
subscribing: "Tellimine...",
|
|
1981
|
+
notifications: "Teavitused"
|
|
1982
|
+
},
|
|
1983
|
+
notification: {
|
|
1984
|
+
openChat: "Ava Vestlus",
|
|
1985
|
+
dismiss: "Loobu"
|
|
1986
|
+
},
|
|
1987
|
+
common: {
|
|
1988
|
+
loading: "Laadimine...",
|
|
1989
|
+
error: "Viga",
|
|
1990
|
+
retry: "Proovi uuesti",
|
|
1991
|
+
cancel: "T\xFChista",
|
|
1992
|
+
download: "Laadi alla"
|
|
1993
|
+
}
|
|
1994
|
+
};
|
|
1995
|
+
|
|
1996
|
+
// src/i18n/locales/ja.json
|
|
1997
|
+
var ja_default = {
|
|
1998
|
+
direction: "ltr",
|
|
1999
|
+
chatWidget: {
|
|
2000
|
+
title: "\u30C1\u30E3\u30C3\u30C8",
|
|
2001
|
+
placeholder: "\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u5165\u529B...",
|
|
2002
|
+
openChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u958B\u304F",
|
|
2003
|
+
closeChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u9589\u3058\u308B",
|
|
2004
|
+
connectionStatus: {
|
|
2005
|
+
connected: "\u63A5\u7D9A\u6E08\u307F",
|
|
2006
|
+
disconnected: "\u5207\u65AD\u6E08\u307F"
|
|
2007
|
+
}
|
|
2008
|
+
},
|
|
2009
|
+
inputArea: {
|
|
2010
|
+
send: "\u9001\u4FE1",
|
|
2011
|
+
uploading: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u4E2D...",
|
|
2012
|
+
dropzone: {
|
|
2013
|
+
dropFiles: "\u30D5\u30A1\u30A4\u30EB\u3092\u3053\u3053\u306B\u30C9\u30ED\u30C3\u30D7",
|
|
2014
|
+
dropOrClick: "\u30C9\u30ED\u30C3\u30D7\u307E\u305F\u306F\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u6DFB\u4ED8"
|
|
2015
|
+
}
|
|
2016
|
+
},
|
|
2017
|
+
typingIndicator: {
|
|
2018
|
+
typing: "\u5165\u529B\u4E2D",
|
|
2019
|
+
isTyping: "\u5165\u529B\u4E2D..."
|
|
2020
|
+
},
|
|
2021
|
+
messageList: {
|
|
2022
|
+
emptyState: "\u307E\u3060\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4F1A\u8A71\u3092\u59CB\u3081\u307E\u3057\u3087\u3046\uFF01"
|
|
2023
|
+
},
|
|
2024
|
+
attachmentList: {
|
|
2025
|
+
remove: "\u524A\u9664",
|
|
2026
|
+
uploadFailed: "\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F"
|
|
2027
|
+
},
|
|
2028
|
+
header: {
|
|
2029
|
+
enterFullscreen: "\u5168\u753B\u9762\u8868\u793A",
|
|
2030
|
+
exitFullscreen: "\u5168\u753B\u9762\u3092\u7D42\u4E86",
|
|
2031
|
+
closeChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u9589\u3058\u308B",
|
|
2032
|
+
lightMode: "\u30E9\u30A4\u30C8\u30E2\u30FC\u30C9",
|
|
2033
|
+
darkMode: "\u30C0\u30FC\u30AF\u30E2\u30FC\u30C9",
|
|
2034
|
+
autoMode: "\u30B7\u30B9\u30C6\u30E0\u30C6\u30FC\u30DE"
|
|
2035
|
+
},
|
|
2036
|
+
floatingButton: {
|
|
2037
|
+
openChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u958B\u304F",
|
|
2038
|
+
closeChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u9589\u3058\u308B"
|
|
2039
|
+
},
|
|
2040
|
+
push: {
|
|
2041
|
+
title: "\u901A\u77E5",
|
|
2042
|
+
description: "\u30C1\u30E3\u30C3\u30C8\u304C\u9589\u3058\u3066\u3044\u3066\u3082\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1",
|
|
2043
|
+
enable: "\u901A\u77E5\u3092\u6709\u52B9\u306B\u3059\u308B",
|
|
2044
|
+
disable: "\u901A\u77E5\u3092\u7121\u52B9\u306B\u3059\u308B",
|
|
2045
|
+
denied: "\u901A\u77E5\u304C\u30D6\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u307E\u3059",
|
|
2046
|
+
unsupported: "\u901A\u77E5\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093",
|
|
2047
|
+
subscribing: "\u767B\u9332\u4E2D...",
|
|
2048
|
+
notifications: "\u901A\u77E5"
|
|
2049
|
+
},
|
|
2050
|
+
notification: {
|
|
2051
|
+
openChat: "\u30C1\u30E3\u30C3\u30C8\u3092\u958B\u304F",
|
|
2052
|
+
dismiss: "\u9589\u3058\u308B"
|
|
2053
|
+
},
|
|
2054
|
+
common: {
|
|
2055
|
+
loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D...",
|
|
2056
|
+
error: "\u30A8\u30E9\u30FC",
|
|
2057
|
+
retry: "\u518D\u8A66\u884C",
|
|
2058
|
+
cancel: "\u30AD\u30E3\u30F3\u30BB\u30EB",
|
|
2059
|
+
download: "\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9"
|
|
2060
|
+
}
|
|
2061
|
+
};
|
|
2062
|
+
|
|
2063
|
+
// src/i18n/locales/zh-CN.json
|
|
2064
|
+
var zh_CN_default = {
|
|
2065
|
+
direction: "ltr",
|
|
2066
|
+
chatWidget: {
|
|
2067
|
+
title: "\u804A\u5929",
|
|
2068
|
+
placeholder: "\u8F93\u5165\u6D88\u606F...",
|
|
2069
|
+
openChat: "\u6253\u5F00\u804A\u5929",
|
|
2070
|
+
closeChat: "\u5173\u95ED\u804A\u5929",
|
|
2071
|
+
connectionStatus: {
|
|
2072
|
+
connected: "\u5DF2\u8FDE\u63A5",
|
|
2073
|
+
disconnected: "\u5DF2\u65AD\u5F00"
|
|
2074
|
+
}
|
|
2075
|
+
},
|
|
2076
|
+
inputArea: {
|
|
2077
|
+
send: "\u53D1\u9001",
|
|
2078
|
+
uploading: "\u4E0A\u4F20\u4E2D...",
|
|
2079
|
+
dropzone: {
|
|
2080
|
+
dropFiles: "\u5C06\u6587\u4EF6\u62D6\u653E\u5230\u6B64\u5904",
|
|
2081
|
+
dropOrClick: "\u62D6\u653E\u6216\u70B9\u51FB\u4EE5\u9644\u52A0\u6587\u4EF6"
|
|
2082
|
+
}
|
|
2083
|
+
},
|
|
2084
|
+
typingIndicator: {
|
|
2085
|
+
typing: "\u6B63\u5728\u8F93\u5165",
|
|
2086
|
+
isTyping: "\u6B63\u5728\u8F93\u5165..."
|
|
2087
|
+
},
|
|
2088
|
+
messageList: {
|
|
2089
|
+
emptyState: "\u6682\u65E0\u6D88\u606F\u3002\u5F00\u59CB\u5BF9\u8BDD\u5427\uFF01"
|
|
2090
|
+
},
|
|
2091
|
+
attachmentList: {
|
|
2092
|
+
remove: "\u79FB\u9664",
|
|
2093
|
+
uploadFailed: "\u4E0A\u4F20\u5931\u8D25"
|
|
2094
|
+
},
|
|
2095
|
+
header: {
|
|
2096
|
+
enterFullscreen: "\u8FDB\u5165\u5168\u5C4F",
|
|
2097
|
+
exitFullscreen: "\u9000\u51FA\u5168\u5C4F",
|
|
2098
|
+
closeChat: "\u5173\u95ED\u804A\u5929",
|
|
2099
|
+
lightMode: "\u6D45\u8272\u6A21\u5F0F",
|
|
2100
|
+
darkMode: "\u6DF1\u8272\u6A21\u5F0F",
|
|
2101
|
+
autoMode: "\u7CFB\u7EDF\u4E3B\u9898"
|
|
2102
|
+
},
|
|
2103
|
+
floatingButton: {
|
|
2104
|
+
openChat: "\u6253\u5F00\u804A\u5929",
|
|
2105
|
+
closeChat: "\u5173\u95ED\u804A\u5929"
|
|
2106
|
+
},
|
|
2107
|
+
push: {
|
|
2108
|
+
title: "\u901A\u77E5",
|
|
2109
|
+
description: "\u5373\u4F7F\u5728\u804A\u5929\u5173\u95ED\u65F6\u4E5F\u80FD\u63A5\u6536\u6D88\u606F",
|
|
2110
|
+
enable: "\u542F\u7528\u901A\u77E5",
|
|
2111
|
+
disable: "\u7981\u7528\u901A\u77E5",
|
|
2112
|
+
denied: "\u901A\u77E5\u5DF2\u88AB\u963B\u6B62",
|
|
2113
|
+
unsupported: "\u4E0D\u652F\u6301\u901A\u77E5",
|
|
2114
|
+
subscribing: "\u8BA2\u9605\u4E2D...",
|
|
2115
|
+
notifications: "\u901A\u77E5"
|
|
2116
|
+
},
|
|
2117
|
+
notification: {
|
|
2118
|
+
openChat: "\u6253\u5F00\u804A\u5929",
|
|
2119
|
+
dismiss: "\u5173\u95ED"
|
|
2120
|
+
},
|
|
2121
|
+
common: {
|
|
2122
|
+
loading: "\u52A0\u8F7D\u4E2D...",
|
|
2123
|
+
error: "\u9519\u8BEF",
|
|
2124
|
+
retry: "\u91CD\u8BD5",
|
|
2125
|
+
cancel: "\u53D6\u6D88",
|
|
2126
|
+
download: "\u4E0B\u8F7D"
|
|
2127
|
+
}
|
|
2128
|
+
};
|
|
2129
|
+
|
|
2130
|
+
// src/i18n/locales/zh-TW.json
|
|
2131
|
+
var zh_TW_default = {
|
|
2132
|
+
direction: "ltr",
|
|
2133
|
+
chatWidget: {
|
|
2134
|
+
title: "\u804A\u5929",
|
|
2135
|
+
placeholder: "\u8F38\u5165\u8A0A\u606F...",
|
|
2136
|
+
openChat: "\u958B\u555F\u804A\u5929",
|
|
2137
|
+
closeChat: "\u95DC\u9589\u804A\u5929",
|
|
2138
|
+
connectionStatus: {
|
|
2139
|
+
connected: "\u5DF2\u9023\u7DDA",
|
|
2140
|
+
disconnected: "\u5DF2\u65B7\u7DDA"
|
|
2141
|
+
}
|
|
2142
|
+
},
|
|
2143
|
+
inputArea: {
|
|
2144
|
+
send: "\u50B3\u9001",
|
|
2145
|
+
uploading: "\u4E0A\u50B3\u4E2D...",
|
|
2146
|
+
dropzone: {
|
|
2147
|
+
dropFiles: "\u5C07\u6A94\u6848\u62D6\u653E\u5230\u6B64\u8655",
|
|
2148
|
+
dropOrClick: "\u62D6\u653E\u6216\u9EDE\u64CA\u4EE5\u9644\u52A0\u6A94\u6848"
|
|
2149
|
+
}
|
|
2150
|
+
},
|
|
2151
|
+
typingIndicator: {
|
|
2152
|
+
typing: "\u6B63\u5728\u8F38\u5165",
|
|
2153
|
+
isTyping: "\u6B63\u5728\u8F38\u5165..."
|
|
2154
|
+
},
|
|
2155
|
+
messageList: {
|
|
2156
|
+
emptyState: "\u5C1A\u7121\u8A0A\u606F\u3002\u958B\u59CB\u5C0D\u8A71\u5427\uFF01"
|
|
2157
|
+
},
|
|
2158
|
+
attachmentList: {
|
|
2159
|
+
remove: "\u79FB\u9664",
|
|
2160
|
+
uploadFailed: "\u4E0A\u50B3\u5931\u6557"
|
|
2161
|
+
},
|
|
2162
|
+
header: {
|
|
2163
|
+
enterFullscreen: "\u9032\u5165\u5168\u87A2\u5E55",
|
|
2164
|
+
exitFullscreen: "\u9000\u51FA\u5168\u87A2\u5E55",
|
|
2165
|
+
closeChat: "\u95DC\u9589\u804A\u5929",
|
|
2166
|
+
lightMode: "\u6DFA\u8272\u6A21\u5F0F",
|
|
2167
|
+
darkMode: "\u6DF1\u8272\u6A21\u5F0F",
|
|
2168
|
+
autoMode: "\u7CFB\u7D71\u4E3B\u984C"
|
|
2169
|
+
},
|
|
2170
|
+
floatingButton: {
|
|
2171
|
+
openChat: "\u958B\u555F\u804A\u5929",
|
|
2172
|
+
closeChat: "\u95DC\u9589\u804A\u5929"
|
|
2173
|
+
},
|
|
2174
|
+
push: {
|
|
2175
|
+
title: "\u901A\u77E5",
|
|
2176
|
+
description: "\u5373\u4F7F\u5728\u804A\u5929\u95DC\u9589\u6642\u4E5F\u80FD\u63A5\u6536\u8A0A\u606F",
|
|
2177
|
+
enable: "\u555F\u7528\u901A\u77E5",
|
|
2178
|
+
disable: "\u505C\u7528\u901A\u77E5",
|
|
2179
|
+
denied: "\u901A\u77E5\u5DF2\u88AB\u5C01\u9396",
|
|
2180
|
+
unsupported: "\u4E0D\u652F\u63F4\u901A\u77E5",
|
|
2181
|
+
subscribing: "\u8A02\u95B1\u4E2D...",
|
|
2182
|
+
notifications: "\u901A\u77E5"
|
|
2183
|
+
},
|
|
2184
|
+
notification: {
|
|
2185
|
+
openChat: "\u958B\u555F\u804A\u5929",
|
|
2186
|
+
dismiss: "\u95DC\u9589"
|
|
2187
|
+
},
|
|
2188
|
+
common: {
|
|
2189
|
+
loading: "\u8F09\u5165\u4E2D...",
|
|
2190
|
+
error: "\u932F\u8AA4",
|
|
2191
|
+
retry: "\u91CD\u8A66",
|
|
2192
|
+
cancel: "\u53D6\u6D88",
|
|
2193
|
+
download: "\u4E0B\u8F09"
|
|
2194
|
+
}
|
|
2195
|
+
};
|
|
2196
|
+
|
|
2197
|
+
// src/i18n/locales/ko.json
|
|
2198
|
+
var ko_default = {
|
|
2199
|
+
direction: "ltr",
|
|
2200
|
+
chatWidget: {
|
|
2201
|
+
title: "\uCC44\uD305",
|
|
2202
|
+
placeholder: "\uBA54\uC2DC\uC9C0\uB97C \uC785\uB825\uD558\uC138\uC694...",
|
|
2203
|
+
openChat: "\uCC44\uD305 \uC5F4\uAE30",
|
|
2204
|
+
closeChat: "\uCC44\uD305 \uB2EB\uAE30",
|
|
2205
|
+
connectionStatus: {
|
|
2206
|
+
connected: "\uC5F0\uACB0\uB428",
|
|
2207
|
+
disconnected: "\uC5F0\uACB0 \uB04A\uAE40"
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
inputArea: {
|
|
2211
|
+
send: "\uC804\uC1A1",
|
|
2212
|
+
uploading: "\uC5C5\uB85C\uB4DC \uC911...",
|
|
2213
|
+
dropzone: {
|
|
2214
|
+
dropFiles: "\uD30C\uC77C\uC744 \uC5EC\uAE30\uC5D0 \uB193\uC73C\uC138\uC694",
|
|
2215
|
+
dropOrClick: "\uB193\uAC70\uB098 \uD074\uB9AD\uD558\uC5EC \uCCA8\uBD80"
|
|
2216
|
+
}
|
|
2217
|
+
},
|
|
2218
|
+
typingIndicator: {
|
|
2219
|
+
typing: "\uC785\uB825 \uC911",
|
|
2220
|
+
isTyping: "\uC785\uB825 \uC911..."
|
|
2221
|
+
},
|
|
2222
|
+
messageList: {
|
|
2223
|
+
emptyState: "\uC544\uC9C1 \uBA54\uC2DC\uC9C0\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \uB300\uD654\uB97C \uC2DC\uC791\uD558\uC138\uC694!"
|
|
2224
|
+
},
|
|
2225
|
+
attachmentList: {
|
|
2226
|
+
remove: "\uC81C\uAC70",
|
|
2227
|
+
uploadFailed: "\uC5C5\uB85C\uB4DC \uC2E4\uD328"
|
|
2228
|
+
},
|
|
2229
|
+
header: {
|
|
2230
|
+
enterFullscreen: "\uC804\uCCB4 \uD654\uBA74",
|
|
2231
|
+
exitFullscreen: "\uC804\uCCB4 \uD654\uBA74 \uC885\uB8CC",
|
|
2232
|
+
closeChat: "\uCC44\uD305 \uB2EB\uAE30",
|
|
2233
|
+
lightMode: "\uB77C\uC774\uD2B8 \uBAA8\uB4DC",
|
|
2234
|
+
darkMode: "\uB2E4\uD06C \uBAA8\uB4DC",
|
|
2235
|
+
autoMode: "\uC2DC\uC2A4\uD15C \uD14C\uB9C8"
|
|
2236
|
+
},
|
|
2237
|
+
floatingButton: {
|
|
2238
|
+
openChat: "\uCC44\uD305 \uC5F4\uAE30",
|
|
2239
|
+
closeChat: "\uCC44\uD305 \uB2EB\uAE30"
|
|
2240
|
+
},
|
|
2241
|
+
push: {
|
|
2242
|
+
title: "\uC54C\uB9BC",
|
|
2243
|
+
description: "\uCC44\uD305\uC774 \uB2EB\uD600 \uC788\uC5B4\uB3C4 \uBA54\uC2DC\uC9C0 \uC218\uC2E0",
|
|
2244
|
+
enable: "\uC54C\uB9BC \uD65C\uC131\uD654",
|
|
2245
|
+
disable: "\uC54C\uB9BC \uBE44\uD65C\uC131\uD654",
|
|
2246
|
+
denied: "\uC54C\uB9BC\uC774 \uCC28\uB2E8\uB428",
|
|
2247
|
+
unsupported: "\uC54C\uB9BC\uC774 \uC9C0\uC6D0\uB418\uC9C0 \uC54A\uC74C",
|
|
2248
|
+
subscribing: "\uAD6C\uB3C5 \uC911...",
|
|
2249
|
+
notifications: "\uC54C\uB9BC"
|
|
2250
|
+
},
|
|
2251
|
+
notification: {
|
|
2252
|
+
openChat: "\uCC44\uD305 \uC5F4\uAE30",
|
|
2253
|
+
dismiss: "\uB2EB\uAE30"
|
|
2254
|
+
},
|
|
2255
|
+
common: {
|
|
2256
|
+
loading: "\uB85C\uB529 \uC911...",
|
|
2257
|
+
error: "\uC624\uB958",
|
|
2258
|
+
retry: "\uC7AC\uC2DC\uB3C4",
|
|
2259
|
+
cancel: "\uCDE8\uC18C",
|
|
2260
|
+
download: "\uB2E4\uC6B4\uB85C\uB4DC"
|
|
2261
|
+
}
|
|
2262
|
+
};
|
|
2263
|
+
|
|
2264
|
+
// src/i18n/locales/vi.json
|
|
2265
|
+
var vi_default = {
|
|
2266
|
+
direction: "ltr",
|
|
2267
|
+
chatWidget: {
|
|
2268
|
+
title: "Tr\xF2 chuy\u1EC7n",
|
|
2269
|
+
placeholder: "Nh\u1EADp tin nh\u1EAFn...",
|
|
2270
|
+
openChat: "M\u1EDF tr\xF2 chuy\u1EC7n",
|
|
2271
|
+
closeChat: "\u0110\xF3ng tr\xF2 chuy\u1EC7n",
|
|
2272
|
+
connectionStatus: {
|
|
2273
|
+
connected: "\u0110\xE3 k\u1EBFt n\u1ED1i",
|
|
2274
|
+
disconnected: "\u0110\xE3 ng\u1EAFt k\u1EBFt n\u1ED1i"
|
|
2275
|
+
}
|
|
2276
|
+
},
|
|
2277
|
+
inputArea: {
|
|
2278
|
+
send: "G\u1EEDi",
|
|
2279
|
+
uploading: "\u0110ang t\u1EA3i l\xEAn...",
|
|
2280
|
+
dropzone: {
|
|
2281
|
+
dropFiles: "Th\u1EA3 t\u1EC7p t\u1EA1i \u0111\xE2y",
|
|
2282
|
+
dropOrClick: "Th\u1EA3 ho\u1EB7c nh\u1EA5p \u0111\u1EC3 \u0111\xEDnh k\xE8m"
|
|
2283
|
+
}
|
|
2284
|
+
},
|
|
2285
|
+
typingIndicator: {
|
|
2286
|
+
typing: "\u0111ang nh\u1EADp",
|
|
2287
|
+
isTyping: "\u0111ang nh\u1EADp..."
|
|
2288
|
+
},
|
|
2289
|
+
messageList: {
|
|
2290
|
+
emptyState: "Ch\u01B0a c\xF3 tin nh\u1EAFn n\xE0o. H\xE3y b\u1EAFt \u0111\u1EA7u cu\u1ED9c tr\xF2 chuy\u1EC7n!"
|
|
2291
|
+
},
|
|
2292
|
+
attachmentList: {
|
|
2293
|
+
remove: "X\xF3a",
|
|
2294
|
+
uploadFailed: "T\u1EA3i l\xEAn th\u1EA5t b\u1EA1i"
|
|
2295
|
+
},
|
|
2296
|
+
header: {
|
|
2297
|
+
enterFullscreen: "To\xE0n m\xE0n h\xECnh",
|
|
2298
|
+
exitFullscreen: "Tho\xE1t to\xE0n m\xE0n h\xECnh",
|
|
2299
|
+
closeChat: "\u0110\xF3ng tr\xF2 chuy\u1EC7n",
|
|
2300
|
+
lightMode: "Ch\u1EBF \u0111\u1ED9 s\xE1ng",
|
|
2301
|
+
darkMode: "Ch\u1EBF \u0111\u1ED9 t\u1ED1i",
|
|
2302
|
+
autoMode: "Giao di\u1EC7n h\u1EC7 th\u1ED1ng"
|
|
2303
|
+
},
|
|
2304
|
+
floatingButton: {
|
|
2305
|
+
openChat: "M\u1EDF tr\xF2 chuy\u1EC7n",
|
|
2306
|
+
closeChat: "\u0110\xF3ng tr\xF2 chuy\u1EC7n"
|
|
2307
|
+
},
|
|
2308
|
+
push: {
|
|
2309
|
+
title: "Th\xF4ng b\xE1o",
|
|
2310
|
+
description: "Nh\u1EADn tin nh\u1EAFn ngay c\u1EA3 khi tr\xF2 chuy\u1EC7n \u0111\xE3 \u0111\xF3ng",
|
|
2311
|
+
enable: "B\u1EADt th\xF4ng b\xE1o",
|
|
2312
|
+
disable: "T\u1EAFt th\xF4ng b\xE1o",
|
|
2313
|
+
denied: "Th\xF4ng b\xE1o b\u1ECB ch\u1EB7n",
|
|
2314
|
+
unsupported: "Th\xF4ng b\xE1o kh\xF4ng \u0111\u01B0\u1EE3c h\u1ED7 tr\u1EE3",
|
|
2315
|
+
subscribing: "\u0110ang \u0111\u0103ng k\xFD...",
|
|
2316
|
+
notifications: "Th\xF4ng b\xE1o"
|
|
2317
|
+
},
|
|
2318
|
+
notification: {
|
|
2319
|
+
openChat: "M\u1EDF Tr\xF2 chuy\u1EC7n",
|
|
2320
|
+
dismiss: "B\u1ECF qua"
|
|
2321
|
+
},
|
|
2322
|
+
common: {
|
|
2323
|
+
loading: "\u0110ang t\u1EA3i...",
|
|
2324
|
+
error: "L\u1ED7i",
|
|
2325
|
+
retry: "Th\u1EED l\u1EA1i",
|
|
2326
|
+
cancel: "H\u1EE7y",
|
|
2327
|
+
download: "T\u1EA3i xu\u1ED1ng"
|
|
2328
|
+
}
|
|
2329
|
+
};
|
|
2330
|
+
|
|
2331
|
+
// src/i18n/locales/th.json
|
|
2332
|
+
var th_default = {
|
|
2333
|
+
direction: "ltr",
|
|
2334
|
+
chatWidget: {
|
|
2335
|
+
title: "\u0E41\u0E0A\u0E17",
|
|
2336
|
+
placeholder: "\u0E1E\u0E34\u0E21\u0E1E\u0E4C\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21...",
|
|
2337
|
+
openChat: "\u0E40\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17",
|
|
2338
|
+
closeChat: "\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17",
|
|
2339
|
+
connectionStatus: {
|
|
2340
|
+
connected: "\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E41\u0E25\u0E49\u0E27",
|
|
2341
|
+
disconnected: "\u0E15\u0E31\u0E14\u0E01\u0E32\u0E23\u0E40\u0E0A\u0E37\u0E48\u0E2D\u0E21\u0E15\u0E48\u0E2D\u0E41\u0E25\u0E49\u0E27"
|
|
2342
|
+
}
|
|
2343
|
+
},
|
|
2344
|
+
inputArea: {
|
|
2345
|
+
send: "\u0E2A\u0E48\u0E07",
|
|
2346
|
+
uploading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14...",
|
|
2347
|
+
dropzone: {
|
|
2348
|
+
dropFiles: "\u0E27\u0E32\u0E07\u0E44\u0E1F\u0E25\u0E4C\u0E17\u0E35\u0E48\u0E19\u0E35\u0E48",
|
|
2349
|
+
dropOrClick: "\u0E27\u0E32\u0E07\u0E2B\u0E23\u0E37\u0E2D\u0E04\u0E25\u0E34\u0E01\u0E40\u0E1E\u0E37\u0E48\u0E2D\u0E41\u0E19\u0E1A"
|
|
2350
|
+
}
|
|
2351
|
+
},
|
|
2352
|
+
typingIndicator: {
|
|
2353
|
+
typing: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C",
|
|
2354
|
+
isTyping: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E1E\u0E34\u0E21\u0E1E\u0E4C..."
|
|
2355
|
+
},
|
|
2356
|
+
messageList: {
|
|
2357
|
+
emptyState: "\u0E22\u0E31\u0E07\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21 \u0E40\u0E23\u0E34\u0E48\u0E21\u0E01\u0E32\u0E23\u0E2A\u0E19\u0E17\u0E19\u0E32!"
|
|
2358
|
+
},
|
|
2359
|
+
attachmentList: {
|
|
2360
|
+
remove: "\u0E25\u0E1A",
|
|
2361
|
+
uploadFailed: "\u0E2D\u0E31\u0E1B\u0E42\u0E2B\u0E25\u0E14\u0E25\u0E49\u0E21\u0E40\u0E2B\u0E25\u0E27"
|
|
2362
|
+
},
|
|
2363
|
+
header: {
|
|
2364
|
+
enterFullscreen: "\u0E40\u0E15\u0E47\u0E21\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D",
|
|
2365
|
+
exitFullscreen: "\u0E2D\u0E2D\u0E01\u0E08\u0E32\u0E01\u0E40\u0E15\u0E47\u0E21\u0E2B\u0E19\u0E49\u0E32\u0E08\u0E2D",
|
|
2366
|
+
closeChat: "\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17",
|
|
2367
|
+
lightMode: "\u0E42\u0E2B\u0E21\u0E14\u0E2A\u0E27\u0E48\u0E32\u0E07",
|
|
2368
|
+
darkMode: "\u0E42\u0E2B\u0E21\u0E14\u0E21\u0E37\u0E14",
|
|
2369
|
+
autoMode: "\u0E18\u0E35\u0E21\u0E23\u0E30\u0E1A\u0E1A"
|
|
2370
|
+
},
|
|
2371
|
+
floatingButton: {
|
|
2372
|
+
openChat: "\u0E40\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17",
|
|
2373
|
+
closeChat: "\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17"
|
|
2374
|
+
},
|
|
2375
|
+
push: {
|
|
2376
|
+
title: "\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
2377
|
+
description: "\u0E23\u0E31\u0E1A\u0E02\u0E49\u0E2D\u0E04\u0E27\u0E32\u0E21\u0E41\u0E21\u0E49\u0E43\u0E19\u0E02\u0E13\u0E30\u0E17\u0E35\u0E48\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17\u0E2D\u0E22\u0E39\u0E48",
|
|
2378
|
+
enable: "\u0E40\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
2379
|
+
disable: "\u0E1B\u0E34\u0E14\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
2380
|
+
denied: "\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E16\u0E39\u0E01\u0E1A\u0E25\u0E47\u0E2D\u0E01",
|
|
2381
|
+
unsupported: "\u0E44\u0E21\u0E48\u0E23\u0E2D\u0E07\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19",
|
|
2382
|
+
subscribing: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E2A\u0E21\u0E31\u0E04\u0E23\u0E23\u0E31\u0E1A...",
|
|
2383
|
+
notifications: "\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19"
|
|
2384
|
+
},
|
|
2385
|
+
notification: {
|
|
2386
|
+
openChat: "\u0E40\u0E1B\u0E34\u0E14\u0E41\u0E0A\u0E17",
|
|
2387
|
+
dismiss: "\u0E1B\u0E34\u0E14"
|
|
2388
|
+
},
|
|
2389
|
+
common: {
|
|
2390
|
+
loading: "\u0E01\u0E33\u0E25\u0E31\u0E07\u0E42\u0E2B\u0E25\u0E14...",
|
|
2391
|
+
error: "\u0E02\u0E49\u0E2D\u0E1C\u0E34\u0E14\u0E1E\u0E25\u0E32\u0E14",
|
|
2392
|
+
retry: "\u0E25\u0E2D\u0E07\u0E2D\u0E35\u0E01\u0E04\u0E23\u0E31\u0E49\u0E07",
|
|
2393
|
+
cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
|
|
2394
|
+
download: "\u0E14\u0E32\u0E27\u0E19\u0E4C\u0E42\u0E2B\u0E25\u0E14"
|
|
2395
|
+
}
|
|
2396
|
+
};
|
|
2397
|
+
|
|
2398
|
+
// src/i18n/locales/id.json
|
|
2399
|
+
var id_default = {
|
|
2400
|
+
direction: "ltr",
|
|
2401
|
+
chatWidget: {
|
|
2402
|
+
title: "Obrolan",
|
|
2403
|
+
placeholder: "Ketik pesan...",
|
|
2404
|
+
openChat: "Buka obrolan",
|
|
2405
|
+
closeChat: "Tutup obrolan",
|
|
2406
|
+
connectionStatus: {
|
|
2407
|
+
connected: "Terhubung",
|
|
2408
|
+
disconnected: "Terputus"
|
|
2409
|
+
}
|
|
2410
|
+
},
|
|
2411
|
+
inputArea: {
|
|
2412
|
+
send: "Kirim",
|
|
2413
|
+
uploading: "Mengunggah...",
|
|
2414
|
+
dropzone: {
|
|
2415
|
+
dropFiles: "Letakkan file di sini",
|
|
2416
|
+
dropOrClick: "Letakkan atau klik untuk melampirkan"
|
|
2417
|
+
}
|
|
2418
|
+
},
|
|
2419
|
+
typingIndicator: {
|
|
2420
|
+
typing: "mengetik",
|
|
2421
|
+
isTyping: "sedang mengetik..."
|
|
2422
|
+
},
|
|
2423
|
+
messageList: {
|
|
2424
|
+
emptyState: "Belum ada pesan. Mulai percakapan!"
|
|
2425
|
+
},
|
|
2426
|
+
attachmentList: {
|
|
2427
|
+
remove: "Hapus",
|
|
2428
|
+
uploadFailed: "Unggahan gagal"
|
|
2429
|
+
},
|
|
2430
|
+
header: {
|
|
2431
|
+
enterFullscreen: "Layar penuh",
|
|
2432
|
+
exitFullscreen: "Keluar layar penuh",
|
|
2433
|
+
closeChat: "Tutup obrolan",
|
|
2434
|
+
lightMode: "Mode terang",
|
|
2435
|
+
darkMode: "Mode gelap",
|
|
2436
|
+
autoMode: "Tema sistem"
|
|
2437
|
+
},
|
|
2438
|
+
floatingButton: {
|
|
2439
|
+
openChat: "Buka obrolan",
|
|
2440
|
+
closeChat: "Tutup obrolan"
|
|
2441
|
+
},
|
|
2442
|
+
push: {
|
|
2443
|
+
title: "Notifikasi",
|
|
2444
|
+
description: "Terima pesan bahkan saat obrolan tertutup",
|
|
2445
|
+
enable: "Aktifkan notifikasi",
|
|
2446
|
+
disable: "Nonaktifkan notifikasi",
|
|
2447
|
+
denied: "Notifikasi diblokir",
|
|
2448
|
+
unsupported: "Notifikasi tidak didukung",
|
|
2449
|
+
subscribing: "Berlangganan...",
|
|
2450
|
+
notifications: "Notifikasi"
|
|
2451
|
+
},
|
|
2452
|
+
notification: {
|
|
2453
|
+
openChat: "Buka Obrolan",
|
|
2454
|
+
dismiss: "Tutup"
|
|
2455
|
+
},
|
|
2456
|
+
common: {
|
|
2457
|
+
loading: "Memuat...",
|
|
2458
|
+
error: "Kesalahan",
|
|
2459
|
+
retry: "Coba lagi",
|
|
2460
|
+
cancel: "Batal",
|
|
2461
|
+
download: "Unduh"
|
|
2462
|
+
}
|
|
2463
|
+
};
|
|
2464
|
+
|
|
2465
|
+
// src/i18n/locales/hi.json
|
|
2466
|
+
var hi_default = {
|
|
2467
|
+
direction: "ltr",
|
|
2468
|
+
chatWidget: {
|
|
2469
|
+
title: "\u091A\u0948\u091F",
|
|
2470
|
+
placeholder: "\u0938\u0902\u0926\u0947\u0936 \u0932\u093F\u0916\u0947\u0902...",
|
|
2471
|
+
openChat: "\u091A\u0948\u091F \u0916\u094B\u0932\u0947\u0902",
|
|
2472
|
+
closeChat: "\u091A\u0948\u091F \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
2473
|
+
connectionStatus: {
|
|
2474
|
+
connected: "\u0915\u0928\u0947\u0915\u094D\u091F\u0947\u0921",
|
|
2475
|
+
disconnected: "\u0921\u093F\u0938\u094D\u0915\u0928\u0947\u0915\u094D\u091F\u0947\u0921"
|
|
2476
|
+
}
|
|
2477
|
+
},
|
|
2478
|
+
inputArea: {
|
|
2479
|
+
send: "\u092D\u0947\u091C\u0947\u0902",
|
|
2480
|
+
uploading: "\u0905\u092A\u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u093E \u0939\u0948...",
|
|
2481
|
+
dropzone: {
|
|
2482
|
+
dropFiles: "\u092B\u093C\u093E\u0907\u0932\u0947\u0902 \u092F\u0939\u093E\u0902 \u091B\u094B\u0921\u093C\u0947\u0902",
|
|
2483
|
+
dropOrClick: "\u0938\u0902\u0932\u0917\u094D\u0928 \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093F\u090F \u091B\u094B\u0921\u093C\u0947\u0902 \u092F\u093E \u0915\u094D\u0932\u093F\u0915 \u0915\u0930\u0947\u0902"
|
|
2484
|
+
}
|
|
2485
|
+
},
|
|
2486
|
+
typingIndicator: {
|
|
2487
|
+
typing: "\u0932\u093F\u0916 \u0930\u0939\u093E \u0939\u0948",
|
|
2488
|
+
isTyping: "\u0932\u093F\u0916 \u0930\u0939\u093E \u0939\u0948..."
|
|
2489
|
+
},
|
|
2490
|
+
messageList: {
|
|
2491
|
+
emptyState: "\u0905\u092D\u0940 \u0924\u0915 \u0915\u094B\u0908 \u0938\u0902\u0926\u0947\u0936 \u0928\u0939\u0940\u0902\u0964 \u092C\u093E\u0924\u091A\u0940\u0924 \u0936\u0941\u0930\u0942 \u0915\u0930\u0947\u0902!"
|
|
2492
|
+
},
|
|
2493
|
+
attachmentList: {
|
|
2494
|
+
remove: "\u0939\u091F\u093E\u090F\u0902",
|
|
2495
|
+
uploadFailed: "\u0905\u092A\u0932\u094B\u0921 \u0935\u093F\u092B\u0932"
|
|
2496
|
+
},
|
|
2497
|
+
header: {
|
|
2498
|
+
enterFullscreen: "\u092A\u0942\u0930\u094D\u0923 \u0938\u094D\u0915\u094D\u0930\u0940\u0928",
|
|
2499
|
+
exitFullscreen: "\u092A\u0942\u0930\u094D\u0923 \u0938\u094D\u0915\u094D\u0930\u0940\u0928 \u0938\u0947 \u092C\u093E\u0939\u0930 \u0928\u093F\u0915\u0932\u0947\u0902",
|
|
2500
|
+
closeChat: "\u091A\u0948\u091F \u092C\u0902\u0926 \u0915\u0930\u0947\u0902",
|
|
2501
|
+
lightMode: "\u0932\u093E\u0907\u091F \u092E\u094B\u0921",
|
|
2502
|
+
darkMode: "\u0921\u093E\u0930\u094D\u0915 \u092E\u094B\u0921",
|
|
2503
|
+
autoMode: "\u0938\u093F\u0938\u094D\u091F\u092E \u0925\u0940\u092E"
|
|
2504
|
+
},
|
|
2505
|
+
floatingButton: {
|
|
2506
|
+
openChat: "\u091A\u0948\u091F \u0916\u094B\u0932\u0947\u0902",
|
|
2507
|
+
closeChat: "\u091A\u0948\u091F \u092C\u0902\u0926 \u0915\u0930\u0947\u0902"
|
|
2508
|
+
},
|
|
2509
|
+
push: {
|
|
2510
|
+
title: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902",
|
|
2511
|
+
description: "\u091A\u0948\u091F \u092C\u0902\u0926 \u0939\u094B\u0928\u0947 \u092A\u0930 \u092D\u0940 \u0938\u0902\u0926\u0947\u0936 \u092A\u094D\u0930\u093E\u092A\u094D\u0924 \u0915\u0930\u0947\u0902",
|
|
2512
|
+
enable: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902 \u0938\u0915\u094D\u0937\u092E \u0915\u0930\u0947\u0902",
|
|
2513
|
+
disable: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902 \u0905\u0915\u094D\u0937\u092E \u0915\u0930\u0947\u0902",
|
|
2514
|
+
denied: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902 \u0905\u0935\u0930\u0941\u0926\u094D\u0927",
|
|
2515
|
+
unsupported: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902 \u0938\u092E\u0930\u094D\u0925\u093F\u0924 \u0928\u0939\u0940\u0902",
|
|
2516
|
+
subscribing: "\u0938\u092C\u094D\u0938\u0915\u094D\u0930\u093E\u0907\u092C \u0939\u094B \u0930\u0939\u093E \u0939\u0948...",
|
|
2517
|
+
notifications: "\u0938\u0942\u091A\u0928\u093E\u090F\u0902"
|
|
2518
|
+
},
|
|
2519
|
+
notification: {
|
|
2520
|
+
openChat: "\u091A\u0948\u091F \u0916\u094B\u0932\u0947\u0902",
|
|
2521
|
+
dismiss: "\u0916\u093E\u0930\u093F\u091C \u0915\u0930\u0947\u0902"
|
|
743
2522
|
},
|
|
744
2523
|
common: {
|
|
745
|
-
loading: "
|
|
746
|
-
|
|
2524
|
+
loading: "\u0932\u094B\u0921 \u0939\u094B \u0930\u0939\u093E \u0939\u0948...",
|
|
2525
|
+
error: "\u0924\u094D\u0930\u0941\u091F\u093F",
|
|
2526
|
+
retry: "\u092A\u0941\u0928\u0903 \u092A\u094D\u0930\u092F\u093E\u0938 \u0915\u0930\u0947\u0902",
|
|
2527
|
+
cancel: "\u0930\u0926\u094D\u0926 \u0915\u0930\u0947\u0902",
|
|
2528
|
+
download: "\u0921\u093E\u0909\u0928\u0932\u094B\u0921 \u0915\u0930\u0947\u0902"
|
|
747
2529
|
}
|
|
748
2530
|
};
|
|
749
2531
|
|
|
750
|
-
// src/i18n/locales/
|
|
751
|
-
var
|
|
2532
|
+
// src/i18n/locales/ar.json
|
|
2533
|
+
var ar_default = {
|
|
2534
|
+
direction: "rtl",
|
|
752
2535
|
chatWidget: {
|
|
753
|
-
title: "
|
|
754
|
-
placeholder: "
|
|
755
|
-
openChat: "
|
|
756
|
-
closeChat: "
|
|
2536
|
+
title: "\u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2537
|
+
placeholder: "\u0627\u0643\u062A\u0628 \u0631\u0633\u0627\u0644\u0629...",
|
|
2538
|
+
openChat: "\u0641\u062A\u062D \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2539
|
+
closeChat: "\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
757
2540
|
connectionStatus: {
|
|
758
|
-
connected: "
|
|
759
|
-
disconnected: "
|
|
2541
|
+
connected: "\u0645\u062A\u0635\u0644",
|
|
2542
|
+
disconnected: "\u063A\u064A\u0631 \u0645\u062A\u0635\u0644"
|
|
760
2543
|
}
|
|
761
2544
|
},
|
|
762
2545
|
inputArea: {
|
|
763
|
-
send: "
|
|
764
|
-
uploading: "
|
|
2546
|
+
send: "\u0625\u0631\u0633\u0627\u0644",
|
|
2547
|
+
uploading: "\u062C\u0627\u0631\u064D \u0627\u0644\u0631\u0641\u0639...",
|
|
765
2548
|
dropzone: {
|
|
766
|
-
dropFiles: "
|
|
767
|
-
dropOrClick: "
|
|
2549
|
+
dropFiles: "\u0623\u0633\u0642\u0637 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0647\u0646\u0627",
|
|
2550
|
+
dropOrClick: "\u0623\u0633\u0642\u0637 \u0623\u0648 \u0627\u0646\u0642\u0631 \u0644\u0644\u0625\u0631\u0641\u0627\u0642"
|
|
768
2551
|
}
|
|
769
2552
|
},
|
|
770
2553
|
typingIndicator: {
|
|
771
|
-
typing: "
|
|
772
|
-
isTyping: "
|
|
2554
|
+
typing: "\u064A\u0643\u062A\u0628",
|
|
2555
|
+
isTyping: "\u064A\u0643\u062A\u0628..."
|
|
773
2556
|
},
|
|
774
2557
|
messageList: {
|
|
775
|
-
emptyState: "
|
|
2558
|
+
emptyState: "\u0644\u0627 \u062A\u0648\u062C\u062F \u0631\u0633\u0627\u0626\u0644 \u0628\u0639\u062F. \u0627\u0628\u062F\u0623 \u0627\u0644\u0645\u062D\u0627\u062F\u062B\u0629!"
|
|
776
2559
|
},
|
|
777
2560
|
attachmentList: {
|
|
778
|
-
remove: "
|
|
779
|
-
uploadFailed: "
|
|
2561
|
+
remove: "\u0625\u0632\u0627\u0644\u0629",
|
|
2562
|
+
uploadFailed: "\u0641\u0634\u0644 \u0627\u0644\u0631\u0641\u0639"
|
|
780
2563
|
},
|
|
781
2564
|
header: {
|
|
782
|
-
enterFullscreen: "
|
|
783
|
-
exitFullscreen: "
|
|
784
|
-
closeChat: "
|
|
2565
|
+
enterFullscreen: "\u062F\u062E\u0648\u0644 \u0648\u0636\u0639 \u0627\u0644\u0645\u0644\u0621",
|
|
2566
|
+
exitFullscreen: "\u062E\u0631\u0648\u062C \u0645\u0646 \u0648\u0636\u0639 \u0627\u0644\u0645\u0644\u0621",
|
|
2567
|
+
closeChat: "\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2568
|
+
lightMode: "\u0648\u0636\u0639 \u0641\u0627\u062A\u062D",
|
|
2569
|
+
darkMode: "\u0648\u0636\u0639 \u062F\u0627\u0643\u0646",
|
|
2570
|
+
autoMode: "\u062A\u0644\u0642\u0627\u0626\u064A"
|
|
785
2571
|
},
|
|
786
2572
|
floatingButton: {
|
|
787
|
-
openChat: "
|
|
788
|
-
closeChat: "
|
|
2573
|
+
openChat: "\u0641\u062A\u062D \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2574
|
+
closeChat: "\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062F\u0631\u062F\u0634\u0629"
|
|
2575
|
+
},
|
|
2576
|
+
push: {
|
|
2577
|
+
title: "\u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A",
|
|
2578
|
+
description: "\u0627\u0633\u062A\u0644\u0645 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u062D\u062A\u0649 \u0639\u0646\u062F \u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2579
|
+
enable: "\u062A\u0641\u0639\u064A\u0644 \u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A",
|
|
2580
|
+
disable: "\u062A\u0639\u0637\u064A\u0644 \u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A",
|
|
2581
|
+
denied: "\u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A \u0645\u062D\u0638\u0648\u0631\u0629",
|
|
2582
|
+
unsupported: "\u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A \u063A\u064A\u0631 \u0645\u062F\u0639\u0648\u0645\u0629",
|
|
2583
|
+
subscribing: "\u062C\u0627\u0631\u064D \u0627\u0644\u0627\u0634\u062A\u0631\u0627\u0643...",
|
|
2584
|
+
notifications: "\u0627\u0644\u0625\u0634\u0639\u0627\u0631\u0627\u062A"
|
|
2585
|
+
},
|
|
2586
|
+
notification: {
|
|
2587
|
+
openChat: "\u0641\u062A\u062D \u0627\u0644\u062F\u0631\u062F\u0634\u0629",
|
|
2588
|
+
dismiss: "\u062A\u062C\u0627\u0647\u0644"
|
|
789
2589
|
},
|
|
790
2590
|
common: {
|
|
791
|
-
loading: "
|
|
792
|
-
error: "
|
|
793
|
-
retry: "
|
|
794
|
-
cancel: "
|
|
795
|
-
download: "
|
|
2591
|
+
loading: "\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644...",
|
|
2592
|
+
error: "\u062E\u0637\u0623",
|
|
2593
|
+
retry: "\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",
|
|
2594
|
+
cancel: "\u0625\u0644\u063A\u0627\u0621",
|
|
2595
|
+
download: "\u062A\u0646\u0632\u064A\u0644"
|
|
796
2596
|
}
|
|
797
2597
|
};
|
|
798
2598
|
|
|
@@ -817,7 +2617,33 @@ var systemLocales = {
|
|
|
817
2617
|
pt: pt_default,
|
|
818
2618
|
"pt-BR": deepMerge(pt_default, pt_BR_default),
|
|
819
2619
|
"pt-PT": deepMerge(pt_default, pt_PT_default),
|
|
820
|
-
es: es_default
|
|
2620
|
+
es: es_default,
|
|
2621
|
+
da: da_default,
|
|
2622
|
+
sv: sv_default,
|
|
2623
|
+
nb: nb_default,
|
|
2624
|
+
fi: fi_default,
|
|
2625
|
+
fr: fr_default,
|
|
2626
|
+
de: de_default,
|
|
2627
|
+
it: it_default,
|
|
2628
|
+
nl: nl_default,
|
|
2629
|
+
pl: pl_default,
|
|
2630
|
+
cs: cs_default,
|
|
2631
|
+
ro: ro_default,
|
|
2632
|
+
hu: hu_default,
|
|
2633
|
+
uk: uk_default,
|
|
2634
|
+
ru: ru_default,
|
|
2635
|
+
el: el_default,
|
|
2636
|
+
tr: tr_default,
|
|
2637
|
+
et: et_default,
|
|
2638
|
+
ja: ja_default,
|
|
2639
|
+
"zh-CN": zh_CN_default,
|
|
2640
|
+
"zh-TW": zh_TW_default,
|
|
2641
|
+
ko: ko_default,
|
|
2642
|
+
vi: vi_default,
|
|
2643
|
+
th: th_default,
|
|
2644
|
+
id: id_default,
|
|
2645
|
+
hi: hi_default,
|
|
2646
|
+
ar: ar_default
|
|
821
2647
|
};
|
|
822
2648
|
function registerLocale(locale, strings) {
|
|
823
2649
|
systemLocales[locale] = strings;
|
|
@@ -859,7 +2685,7 @@ function LocaleProvider({ children, locale }) {
|
|
|
859
2685
|
}
|
|
860
2686
|
return typeof current === "string" ? current : path;
|
|
861
2687
|
};
|
|
862
|
-
return { locale: config.locale, strings, t };
|
|
2688
|
+
return { locale: config.locale, dir: strings.direction, strings, t };
|
|
863
2689
|
}, [config.locale, config.overrides]);
|
|
864
2690
|
return /* @__PURE__ */ jsx(LocaleContext.Provider, { value, children });
|
|
865
2691
|
}
|
|
@@ -869,6 +2695,7 @@ function useLocale() {
|
|
|
869
2695
|
const strings = mergeLocale("en");
|
|
870
2696
|
return {
|
|
871
2697
|
locale: "en",
|
|
2698
|
+
dir: strings.direction,
|
|
872
2699
|
strings,
|
|
873
2700
|
t: (path) => {
|
|
874
2701
|
const parts = path.split(".");
|
|
@@ -967,9 +2794,18 @@ function Header({
|
|
|
967
2794
|
isConnected = true,
|
|
968
2795
|
className,
|
|
969
2796
|
theme,
|
|
970
|
-
onThemeChange
|
|
2797
|
+
onThemeChange,
|
|
2798
|
+
pushStatus,
|
|
2799
|
+
onPushToggle
|
|
971
2800
|
}) {
|
|
972
2801
|
const { t } = useLocale();
|
|
2802
|
+
const pushLabel = (() => {
|
|
2803
|
+
if (!pushStatus) return "";
|
|
2804
|
+
if (pushStatus === "subscribed") return t("push.disable");
|
|
2805
|
+
if (pushStatus === "denied") return t("push.denied");
|
|
2806
|
+
if (pushStatus === "subscribing") return t("push.subscribing");
|
|
2807
|
+
return t("push.enable");
|
|
2808
|
+
})();
|
|
973
2809
|
return /* @__PURE__ */ jsxs2(
|
|
974
2810
|
"div",
|
|
975
2811
|
{
|
|
@@ -989,6 +2825,66 @@ function Header({
|
|
|
989
2825
|
/* @__PURE__ */ jsx3("h2", { className: "m-0 text-base font-semibold text-chat-text", children: title })
|
|
990
2826
|
] }),
|
|
991
2827
|
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-1", children: [
|
|
2828
|
+
onPushToggle && pushStatus && pushStatus !== "unsupported" && /* @__PURE__ */ jsx3(
|
|
2829
|
+
"button",
|
|
2830
|
+
{
|
|
2831
|
+
onClick: onPushToggle,
|
|
2832
|
+
className: "p-1 bg-transparent border-none cursor-pointer text-chat-text-secondary rounded hover:bg-chat-surface transition",
|
|
2833
|
+
"data-chat-push-toggle": "true",
|
|
2834
|
+
"aria-label": pushLabel,
|
|
2835
|
+
title: pushLabel,
|
|
2836
|
+
children: pushStatus === "subscribed" ? /* @__PURE__ */ jsxs2(
|
|
2837
|
+
"svg",
|
|
2838
|
+
{
|
|
2839
|
+
width: "18",
|
|
2840
|
+
height: "18",
|
|
2841
|
+
viewBox: "0 0 24 24",
|
|
2842
|
+
fill: "currentColor",
|
|
2843
|
+
stroke: "currentColor",
|
|
2844
|
+
strokeWidth: "1",
|
|
2845
|
+
strokeLinecap: "round",
|
|
2846
|
+
strokeLinejoin: "round",
|
|
2847
|
+
children: [
|
|
2848
|
+
/* @__PURE__ */ jsx3("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
|
|
2849
|
+
/* @__PURE__ */ jsx3("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })
|
|
2850
|
+
]
|
|
2851
|
+
}
|
|
2852
|
+
) : pushStatus === "denied" ? /* @__PURE__ */ jsxs2(
|
|
2853
|
+
"svg",
|
|
2854
|
+
{
|
|
2855
|
+
width: "18",
|
|
2856
|
+
height: "18",
|
|
2857
|
+
viewBox: "0 0 24 24",
|
|
2858
|
+
fill: "none",
|
|
2859
|
+
stroke: "currentColor",
|
|
2860
|
+
strokeWidth: "2",
|
|
2861
|
+
strokeLinecap: "round",
|
|
2862
|
+
strokeLinejoin: "round",
|
|
2863
|
+
children: [
|
|
2864
|
+
/* @__PURE__ */ jsx3("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
|
|
2865
|
+
/* @__PURE__ */ jsx3("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" }),
|
|
2866
|
+
/* @__PURE__ */ jsx3("line", { x1: "1", y1: "1", x2: "23", y2: "23" })
|
|
2867
|
+
]
|
|
2868
|
+
}
|
|
2869
|
+
) : /* @__PURE__ */ jsxs2(
|
|
2870
|
+
"svg",
|
|
2871
|
+
{
|
|
2872
|
+
width: "18",
|
|
2873
|
+
height: "18",
|
|
2874
|
+
viewBox: "0 0 24 24",
|
|
2875
|
+
fill: "none",
|
|
2876
|
+
stroke: "currentColor",
|
|
2877
|
+
strokeWidth: "2",
|
|
2878
|
+
strokeLinecap: "round",
|
|
2879
|
+
strokeLinejoin: "round",
|
|
2880
|
+
children: [
|
|
2881
|
+
/* @__PURE__ */ jsx3("path", { d: "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" }),
|
|
2882
|
+
/* @__PURE__ */ jsx3("path", { d: "M13.73 21a2 2 0 0 1-3.46 0" })
|
|
2883
|
+
]
|
|
2884
|
+
}
|
|
2885
|
+
)
|
|
2886
|
+
}
|
|
2887
|
+
),
|
|
992
2888
|
onThemeChange && /* @__PURE__ */ jsx3(
|
|
993
2889
|
"button",
|
|
994
2890
|
{
|
|
@@ -1409,7 +3305,21 @@ function MessageContent({ message, onActionClick }) {
|
|
|
1409
3305
|
className: "inline-flex items-center gap-2 px-3 py-2 bg-chat-surface rounded text-sm no-underline text-chat-text hover:bg-chat-background transition",
|
|
1410
3306
|
"data-chat-attachment": attachment.id,
|
|
1411
3307
|
children: [
|
|
1412
|
-
|
|
3308
|
+
/* @__PURE__ */ jsx10(
|
|
3309
|
+
"svg",
|
|
3310
|
+
{
|
|
3311
|
+
width: "16",
|
|
3312
|
+
height: "16",
|
|
3313
|
+
viewBox: "0 0 24 24",
|
|
3314
|
+
fill: "none",
|
|
3315
|
+
stroke: "currentColor",
|
|
3316
|
+
strokeWidth: "2",
|
|
3317
|
+
strokeLinecap: "round",
|
|
3318
|
+
strokeLinejoin: "round",
|
|
3319
|
+
className: "shrink-0",
|
|
3320
|
+
children: /* @__PURE__ */ jsx10("path", { d: "M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48" })
|
|
3321
|
+
}
|
|
3322
|
+
),
|
|
1413
3323
|
attachment.name
|
|
1414
3324
|
]
|
|
1415
3325
|
}
|
|
@@ -1952,10 +3862,83 @@ function TypingIndicator({ users = [] }) {
|
|
|
1952
3862
|
);
|
|
1953
3863
|
}
|
|
1954
3864
|
|
|
3865
|
+
// src/components/PushPermissionPrompt.tsx
|
|
3866
|
+
import { useState as useState9 } from "react";
|
|
3867
|
+
import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
3868
|
+
function PushPermissionPrompt({
|
|
3869
|
+
autoHide = true,
|
|
3870
|
+
title,
|
|
3871
|
+
description,
|
|
3872
|
+
onStatusChange,
|
|
3873
|
+
getVapidPublicKey,
|
|
3874
|
+
onSubscribe,
|
|
3875
|
+
onUnsubscribe
|
|
3876
|
+
}) {
|
|
3877
|
+
const { t } = useLocale();
|
|
3878
|
+
const { status, isSupported, isSubscribed, subscribe, unsubscribe } = usePushNotifications({
|
|
3879
|
+
enabled: true,
|
|
3880
|
+
getVapidPublicKey,
|
|
3881
|
+
onSubscribe,
|
|
3882
|
+
onUnsubscribe
|
|
3883
|
+
});
|
|
3884
|
+
const [dismissed, setDismissed] = useState9(false);
|
|
3885
|
+
if (!isSupported) return null;
|
|
3886
|
+
if (autoHide && (isSubscribed || status === "denied")) return null;
|
|
3887
|
+
if (dismissed) return null;
|
|
3888
|
+
const handleEnable = async () => {
|
|
3889
|
+
await subscribe();
|
|
3890
|
+
onStatusChange?.(true);
|
|
3891
|
+
};
|
|
3892
|
+
const handleDisable = async () => {
|
|
3893
|
+
await unsubscribe();
|
|
3894
|
+
onStatusChange?.(false);
|
|
3895
|
+
};
|
|
3896
|
+
return /* @__PURE__ */ jsxs12(
|
|
3897
|
+
"div",
|
|
3898
|
+
{
|
|
3899
|
+
className: "p-3 bg-chat-surface rounded-lg flex items-start gap-3",
|
|
3900
|
+
"data-chat-push-prompt": "true",
|
|
3901
|
+
children: [
|
|
3902
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex-1", children: [
|
|
3903
|
+
/* @__PURE__ */ jsx16("div", { className: "font-semibold mb-1 text-chat-text", children: title || t("push.title") }),
|
|
3904
|
+
/* @__PURE__ */ jsx16("div", { className: "text-sm text-chat-text-secondary", children: description || t("push.description") })
|
|
3905
|
+
] }),
|
|
3906
|
+
/* @__PURE__ */ jsxs12("div", { className: "flex gap-2", children: [
|
|
3907
|
+
!isSubscribed && status !== "denied" && /* @__PURE__ */ jsx16(
|
|
3908
|
+
"button",
|
|
3909
|
+
{
|
|
3910
|
+
onClick: handleEnable,
|
|
3911
|
+
className: "px-3 py-1.5 bg-chat-primary text-white border-none rounded cursor-pointer text-sm hover:opacity-90",
|
|
3912
|
+
children: t("push.enable")
|
|
3913
|
+
}
|
|
3914
|
+
),
|
|
3915
|
+
isSubscribed && /* @__PURE__ */ jsx16(
|
|
3916
|
+
"button",
|
|
3917
|
+
{
|
|
3918
|
+
onClick: handleDisable,
|
|
3919
|
+
className: "px-3 py-1.5 bg-transparent text-chat-text-secondary border border-chat-border rounded cursor-pointer text-sm hover:bg-chat-surface",
|
|
3920
|
+
children: t("push.disable")
|
|
3921
|
+
}
|
|
3922
|
+
),
|
|
3923
|
+
/* @__PURE__ */ jsx16(
|
|
3924
|
+
"button",
|
|
3925
|
+
{
|
|
3926
|
+
onClick: () => setDismissed(true),
|
|
3927
|
+
className: "px-1.5 bg-transparent border-none cursor-pointer text-chat-text-secondary hover:text-chat-text",
|
|
3928
|
+
children: "\u2715"
|
|
3929
|
+
}
|
|
3930
|
+
)
|
|
3931
|
+
] })
|
|
3932
|
+
]
|
|
3933
|
+
}
|
|
3934
|
+
);
|
|
3935
|
+
}
|
|
3936
|
+
|
|
1955
3937
|
// src/components/ChatWidget.tsx
|
|
1956
|
-
import { Fragment as Fragment2, jsx as
|
|
3938
|
+
import { Fragment as Fragment2, jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1957
3939
|
function ChatWidget({
|
|
1958
3940
|
client,
|
|
3941
|
+
locale: localeProp,
|
|
1959
3942
|
initialMode = "floating",
|
|
1960
3943
|
theme: themeProp,
|
|
1961
3944
|
onThemeChange,
|
|
@@ -1964,7 +3947,7 @@ function ChatWidget({
|
|
|
1964
3947
|
showClose = true,
|
|
1965
3948
|
showFullscreenToggle = true,
|
|
1966
3949
|
title = "Chat",
|
|
1967
|
-
placeholder
|
|
3950
|
+
placeholder,
|
|
1968
3951
|
onOpen,
|
|
1969
3952
|
onClose,
|
|
1970
3953
|
embedded,
|
|
@@ -1973,7 +3956,10 @@ function ChatWidget({
|
|
|
1973
3956
|
uploadConfig,
|
|
1974
3957
|
accept,
|
|
1975
3958
|
maxFileSize,
|
|
1976
|
-
renderPushPrompt
|
|
3959
|
+
renderPushPrompt,
|
|
3960
|
+
preEntry,
|
|
3961
|
+
onChatStart,
|
|
3962
|
+
pushConfig
|
|
1977
3963
|
}) {
|
|
1978
3964
|
const {
|
|
1979
3965
|
config: iframeConfig,
|
|
@@ -1982,10 +3968,16 @@ function ChatWidget({
|
|
|
1982
3968
|
notifyViewportConfig,
|
|
1983
3969
|
onNotificationClicked
|
|
1984
3970
|
} = useBridge();
|
|
3971
|
+
const effectiveLocale = localeProp ?? (isInIframe ? iframeConfig?.locale : void 0) ?? useLocale().locale;
|
|
3972
|
+
const merged = mergeLocale(effectiveLocale);
|
|
3973
|
+
const dir = merged.direction;
|
|
3974
|
+
useEffect9(() => {
|
|
3975
|
+
client.setLocaleHeader(effectiveLocale);
|
|
3976
|
+
}, [client, effectiveLocale]);
|
|
1985
3977
|
const autoEmbedded = isInIframe && embedded !== false;
|
|
1986
3978
|
const effectiveEmbedded = embedded === true || autoEmbedded;
|
|
1987
3979
|
const effectiveMode = effectiveEmbedded ? "embedded" : initialMode;
|
|
1988
|
-
const [theme, setTheme] =
|
|
3980
|
+
const [theme, setTheme] = useState10(() => {
|
|
1989
3981
|
if (themeProp) return themeProp;
|
|
1990
3982
|
try {
|
|
1991
3983
|
const stored = localStorage.getItem("chat-theme");
|
|
@@ -1994,7 +3986,7 @@ function ChatWidget({
|
|
|
1994
3986
|
}
|
|
1995
3987
|
return "auto";
|
|
1996
3988
|
});
|
|
1997
|
-
const [systemDark, setSystemDark] =
|
|
3989
|
+
const [systemDark, setSystemDark] = useState10(
|
|
1998
3990
|
() => typeof window !== "undefined" && window.matchMedia("(prefers-color-scheme: dark)").matches
|
|
1999
3991
|
);
|
|
2000
3992
|
const effectiveTheme = theme === "auto" ? systemDark ? "dark" : "light" : theme;
|
|
@@ -2022,10 +4014,19 @@ function ChatWidget({
|
|
|
2022
4014
|
}
|
|
2023
4015
|
onThemeChange?.(newTheme);
|
|
2024
4016
|
};
|
|
2025
|
-
const [isOpen, setIsOpen] =
|
|
2026
|
-
const [displayMode, setDisplayMode] =
|
|
2027
|
-
const [isConnected] =
|
|
2028
|
-
const [
|
|
4017
|
+
const [isOpen, setIsOpen] = useState10(effectiveMode === "fullscreen");
|
|
4018
|
+
const [displayMode, setDisplayMode] = useState10(effectiveMode);
|
|
4019
|
+
const [isConnected] = useState10(true);
|
|
4020
|
+
const [isPreEntry, setIsPreEntry] = useState10(Boolean(preEntry));
|
|
4021
|
+
const handleStart = useCallback6(
|
|
4022
|
+
(config) => {
|
|
4023
|
+
if (config) client.reconfigure(config);
|
|
4024
|
+
onChatStart?.(config);
|
|
4025
|
+
setIsPreEntry(false);
|
|
4026
|
+
},
|
|
4027
|
+
[client, onChatStart]
|
|
4028
|
+
);
|
|
4029
|
+
const [isSmallScreen, setIsSmallScreen] = useState10(
|
|
2029
4030
|
() => typeof window !== "undefined" && window.innerWidth < 800
|
|
2030
4031
|
);
|
|
2031
4032
|
useEffect9(() => {
|
|
@@ -2064,9 +4065,25 @@ function ChatWidget({
|
|
|
2064
4065
|
}, [isOpen, displayMode, isSmallScreen, isInIframe, notifyViewportConfig]);
|
|
2065
4066
|
const { messages, sendMessage, loading, isLoadingHistory, reloadMessages } = useMessages(
|
|
2066
4067
|
client,
|
|
2067
|
-
isOpen || effectiveEmbedded
|
|
4068
|
+
(isOpen || effectiveEmbedded) && !isPreEntry
|
|
2068
4069
|
);
|
|
2069
4070
|
const { isSomeoneTyping } = useTyping(client);
|
|
4071
|
+
const push = usePushNotifications({
|
|
4072
|
+
enabled: !!pushConfig,
|
|
4073
|
+
getVapidPublicKey: pushConfig?.getVapidPublicKey ?? (() => Promise.resolve("")),
|
|
4074
|
+
onSubscribe: pushConfig?.onSubscribe ?? (async () => {
|
|
4075
|
+
}),
|
|
4076
|
+
onUnsubscribe: pushConfig?.onUnsubscribe ?? (async () => {
|
|
4077
|
+
}),
|
|
4078
|
+
serviceWorkerUrl: pushConfig?.serviceWorkerUrl,
|
|
4079
|
+
serviceWorkerScope: pushConfig?.serviceWorkerScope,
|
|
4080
|
+
serviceWorkerType: pushConfig?.serviceWorkerType,
|
|
4081
|
+
notificationOptions: pushConfig?.notificationOptions
|
|
4082
|
+
});
|
|
4083
|
+
const handlePushToggle = useCallback6(() => {
|
|
4084
|
+
if (push.isSubscribed) push.unsubscribe();
|
|
4085
|
+
else push.subscribe();
|
|
4086
|
+
}, [push.isSubscribed, push.subscribe, push.unsubscribe]);
|
|
2070
4087
|
useEffect9(() => {
|
|
2071
4088
|
if (!isInIframe || !iframeConfig) return;
|
|
2072
4089
|
if (iframeConfig.theme?.cssVariables) {
|
|
@@ -2087,7 +4104,7 @@ function ChatWidget({
|
|
|
2087
4104
|
});
|
|
2088
4105
|
}, [isInIframe, onNotificationClicked, reloadMessages]);
|
|
2089
4106
|
const effectiveTitle = isInIframe && iframeConfig?.title || title;
|
|
2090
|
-
const effectivePlaceholder = isInIframe && iframeConfig?.placeholder || placeholder;
|
|
4107
|
+
const effectivePlaceholder = isInIframe && iframeConfig?.placeholder || placeholder || merged.chatWidget.placeholder;
|
|
2091
4108
|
const currentUserId = "getCurrentUserId" in client ? client.getCurrentUserId() : "";
|
|
2092
4109
|
const handleSend = useCallback6(
|
|
2093
4110
|
async (text, attachments = []) => {
|
|
@@ -2128,58 +4145,70 @@ function ChatWidget({
|
|
|
2128
4145
|
window.parent.postMessage({ type: "chat-close" }, "*");
|
|
2129
4146
|
}
|
|
2130
4147
|
}, [isInIframe]);
|
|
2131
|
-
|
|
2132
|
-
|
|
2133
|
-
|
|
4148
|
+
const panelContent = /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
4149
|
+
/* @__PURE__ */ jsx17(
|
|
4150
|
+
Header,
|
|
2134
4151
|
{
|
|
2135
|
-
|
|
2136
|
-
"
|
|
2137
|
-
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
className: className?.header,
|
|
2147
|
-
theme,
|
|
2148
|
-
onThemeChange: handleThemeChange,
|
|
2149
|
-
onClose: isInIframe ? embeddedClose : void 0
|
|
2150
|
-
}
|
|
2151
|
-
),
|
|
2152
|
-
/* @__PURE__ */ jsx16(
|
|
2153
|
-
MessageList,
|
|
2154
|
-
{
|
|
2155
|
-
messages,
|
|
2156
|
-
currentUserId,
|
|
2157
|
-
isLoading: isLoadingHistory || loading,
|
|
2158
|
-
onActionClick: handleActionClick,
|
|
2159
|
-
onReactionClick: handleReactionClick,
|
|
2160
|
-
className: className?.messageList
|
|
2161
|
-
}
|
|
2162
|
-
),
|
|
2163
|
-
isSomeoneTyping && /* @__PURE__ */ jsx16(TypingIndicator, {}),
|
|
2164
|
-
renderPushPrompt?.(),
|
|
2165
|
-
/* @__PURE__ */ jsx16(
|
|
2166
|
-
InputArea,
|
|
2167
|
-
{
|
|
2168
|
-
onSend: handleSend,
|
|
2169
|
-
placeholder: effectivePlaceholder,
|
|
2170
|
-
className: className?.inputArea,
|
|
2171
|
-
enableAttachments,
|
|
2172
|
-
uploadConfig,
|
|
2173
|
-
accept,
|
|
2174
|
-
maxFileSize
|
|
2175
|
-
}
|
|
2176
|
-
)
|
|
2177
|
-
]
|
|
4152
|
+
title: effectiveTitle,
|
|
4153
|
+
onClose: effectiveEmbedded ? isInIframe ? embeddedClose : void 0 : displayMode === "floating" ? close : showClose ? close : void 0,
|
|
4154
|
+
onToggleFullscreen: effectiveEmbedded ? void 0 : showFullscreenToggle && !isSmallScreen ? toggleFullscreen : void 0,
|
|
4155
|
+
isFullscreen: effectiveEmbedded ? false : displayMode === "fullscreen",
|
|
4156
|
+
showConnectionStatus: true,
|
|
4157
|
+
isConnected,
|
|
4158
|
+
className: className?.header,
|
|
4159
|
+
theme,
|
|
4160
|
+
onThemeChange: handleThemeChange,
|
|
4161
|
+
pushStatus: pushConfig ? push.status : void 0,
|
|
4162
|
+
onPushToggle: pushConfig ? handlePushToggle : void 0
|
|
2178
4163
|
}
|
|
2179
|
-
)
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
4164
|
+
),
|
|
4165
|
+
isPreEntry && preEntry ? /* @__PURE__ */ jsx17("div", { className: "flex-1 overflow-y-auto p-4", children: preEntry.render({ start: handleStart }) }) : /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
4166
|
+
/* @__PURE__ */ jsx17(
|
|
4167
|
+
MessageList,
|
|
4168
|
+
{
|
|
4169
|
+
messages,
|
|
4170
|
+
currentUserId,
|
|
4171
|
+
isLoading: isLoadingHistory || loading,
|
|
4172
|
+
onActionClick: handleActionClick,
|
|
4173
|
+
onReactionClick: handleReactionClick,
|
|
4174
|
+
className: className?.messageList
|
|
4175
|
+
}
|
|
4176
|
+
),
|
|
4177
|
+
isSomeoneTyping && /* @__PURE__ */ jsx17(TypingIndicator, {}),
|
|
4178
|
+
pushConfig ? /* @__PURE__ */ jsx17(
|
|
4179
|
+
PushPermissionPrompt,
|
|
4180
|
+
{
|
|
4181
|
+
getVapidPublicKey: pushConfig.getVapidPublicKey,
|
|
4182
|
+
onSubscribe: pushConfig.onSubscribe,
|
|
4183
|
+
onUnsubscribe: pushConfig.onUnsubscribe
|
|
4184
|
+
}
|
|
4185
|
+
) : renderPushPrompt?.(),
|
|
4186
|
+
/* @__PURE__ */ jsx17(
|
|
4187
|
+
InputArea,
|
|
4188
|
+
{
|
|
4189
|
+
onSend: handleSend,
|
|
4190
|
+
placeholder: effectivePlaceholder,
|
|
4191
|
+
disabled: !effectiveEmbedded && loading,
|
|
4192
|
+
className: className?.inputArea,
|
|
4193
|
+
enableAttachments,
|
|
4194
|
+
uploadConfig,
|
|
4195
|
+
accept,
|
|
4196
|
+
maxFileSize
|
|
4197
|
+
}
|
|
4198
|
+
)
|
|
4199
|
+
] })
|
|
4200
|
+
] });
|
|
4201
|
+
const widget = effectiveEmbedded ? /* @__PURE__ */ jsx17(
|
|
4202
|
+
"div",
|
|
4203
|
+
{
|
|
4204
|
+
dir,
|
|
4205
|
+
className: "flex flex-col h-full min-h-[300px] overflow-hidden bg-chat-background",
|
|
4206
|
+
"data-chat-widget": "embedded",
|
|
4207
|
+
"data-chat-theme": effectiveTheme,
|
|
4208
|
+
children: panelContent
|
|
4209
|
+
}
|
|
4210
|
+
) : /* @__PURE__ */ jsxs13(Fragment2, { children: [
|
|
4211
|
+
!isOpen && /* @__PURE__ */ jsx17(
|
|
2183
4212
|
FloatingButton,
|
|
2184
4213
|
{
|
|
2185
4214
|
onClick: toggleOpen,
|
|
@@ -2194,70 +4223,31 @@ function ChatWidget({
|
|
|
2194
4223
|
className: floatingButton?.className
|
|
2195
4224
|
}
|
|
2196
4225
|
),
|
|
2197
|
-
isOpen && /* @__PURE__ */
|
|
4226
|
+
isOpen && /* @__PURE__ */ jsx17(
|
|
2198
4227
|
"div",
|
|
2199
4228
|
{
|
|
2200
|
-
|
|
4229
|
+
dir,
|
|
4230
|
+
className: `flex flex-col overflow-hidden ${displayMode === "fullscreen" ? "fixed inset-0 z-50" : `absolute ${position === "bottom-right" ? "bottom-20 right-5" : position === "bottom-left" ? "bottom-20 left-5" : position === "top-right" ? "top-20 right-5" : position === "top-left" ? "top-20 left-5" : ""} w-[480px] max-w-[min(800px,calc(100dvw-40px))] h-dvh max-h-[min(600px,80dvh)] z-10 shadow-xl border border-chat-border rounded-2xl`} bg-chat-background`,
|
|
2201
4231
|
"data-chat-widget": displayMode,
|
|
2202
4232
|
"data-chat-position": position,
|
|
2203
4233
|
"data-chat-theme": effectiveTheme,
|
|
2204
|
-
children:
|
|
2205
|
-
/* @__PURE__ */ jsx16(
|
|
2206
|
-
Header,
|
|
2207
|
-
{
|
|
2208
|
-
title: effectiveTitle,
|
|
2209
|
-
onClose: displayMode === "floating" ? close : showClose ? close : void 0,
|
|
2210
|
-
onToggleFullscreen: showFullscreenToggle && !isSmallScreen ? toggleFullscreen : void 0,
|
|
2211
|
-
isFullscreen: displayMode === "fullscreen",
|
|
2212
|
-
showConnectionStatus: true,
|
|
2213
|
-
isConnected,
|
|
2214
|
-
className: className?.header,
|
|
2215
|
-
theme,
|
|
2216
|
-
onThemeChange: handleThemeChange
|
|
2217
|
-
}
|
|
2218
|
-
),
|
|
2219
|
-
/* @__PURE__ */ jsx16(
|
|
2220
|
-
MessageList,
|
|
2221
|
-
{
|
|
2222
|
-
messages,
|
|
2223
|
-
currentUserId,
|
|
2224
|
-
isLoading: isLoadingHistory || loading,
|
|
2225
|
-
onActionClick: handleActionClick,
|
|
2226
|
-
onReactionClick: handleReactionClick,
|
|
2227
|
-
className: className?.messageList
|
|
2228
|
-
}
|
|
2229
|
-
),
|
|
2230
|
-
isSomeoneTyping && /* @__PURE__ */ jsx16(TypingIndicator, {}),
|
|
2231
|
-
renderPushPrompt?.(),
|
|
2232
|
-
/* @__PURE__ */ jsx16(
|
|
2233
|
-
InputArea,
|
|
2234
|
-
{
|
|
2235
|
-
onSend: handleSend,
|
|
2236
|
-
placeholder: effectivePlaceholder,
|
|
2237
|
-
disabled: loading,
|
|
2238
|
-
className: className?.inputArea,
|
|
2239
|
-
enableAttachments,
|
|
2240
|
-
uploadConfig,
|
|
2241
|
-
accept,
|
|
2242
|
-
maxFileSize
|
|
2243
|
-
}
|
|
2244
|
-
)
|
|
2245
|
-
]
|
|
4234
|
+
children: panelContent
|
|
2246
4235
|
}
|
|
2247
4236
|
)
|
|
2248
4237
|
] });
|
|
4238
|
+
return /* @__PURE__ */ jsx17(LocaleProvider, { locale: effectiveLocale, children: widget });
|
|
2249
4239
|
}
|
|
2250
4240
|
|
|
2251
4241
|
// src/providers/ChatProvider.tsx
|
|
2252
4242
|
import { createContext as createContext3, useContext as useContext3 } from "react";
|
|
2253
|
-
import { jsx as
|
|
4243
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
2254
4244
|
var ChatContext = createContext3(void 0);
|
|
2255
4245
|
function ChatProvider({
|
|
2256
4246
|
children,
|
|
2257
4247
|
client,
|
|
2258
4248
|
cardRenderers
|
|
2259
4249
|
}) {
|
|
2260
|
-
return /* @__PURE__ */
|
|
4250
|
+
return /* @__PURE__ */ jsx18(CardProvider, { renderers: cardRenderers, children: /* @__PURE__ */ jsx18(ChatContext.Provider, { value: { client }, children }) });
|
|
2261
4251
|
}
|
|
2262
4252
|
function useChatContext() {
|
|
2263
4253
|
const context = useContext3(ChatContext);
|
|
@@ -2269,7 +4259,7 @@ function useChatContext() {
|
|
|
2269
4259
|
|
|
2270
4260
|
// src/components/ErrorBoundary.tsx
|
|
2271
4261
|
import { Component } from "react";
|
|
2272
|
-
import { jsx as
|
|
4262
|
+
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2273
4263
|
var ErrorBoundary = class extends Component {
|
|
2274
4264
|
constructor(props) {
|
|
2275
4265
|
super(props);
|
|
@@ -2288,15 +4278,15 @@ var ErrorBoundary = class extends Component {
|
|
|
2288
4278
|
return fallback(this.state.error);
|
|
2289
4279
|
}
|
|
2290
4280
|
if (fallback) return fallback;
|
|
2291
|
-
return /* @__PURE__ */
|
|
4281
|
+
return /* @__PURE__ */ jsxs14(
|
|
2292
4282
|
"div",
|
|
2293
4283
|
{
|
|
2294
4284
|
className: "flex flex-col items-center justify-center p-6 text-center",
|
|
2295
4285
|
"data-chat-error-boundary": "true",
|
|
2296
4286
|
children: [
|
|
2297
|
-
/* @__PURE__ */
|
|
2298
|
-
/* @__PURE__ */
|
|
2299
|
-
/* @__PURE__ */
|
|
4287
|
+
/* @__PURE__ */ jsx19("div", { className: "text-chat-error text-lg font-semibold mb-2", children: "Something went wrong" }),
|
|
4288
|
+
/* @__PURE__ */ jsx19("div", { className: "text-chat-text-secondary text-sm mb-4", children: this.state.error.message }),
|
|
4289
|
+
/* @__PURE__ */ jsx19(
|
|
2300
4290
|
"button",
|
|
2301
4291
|
{
|
|
2302
4292
|
onClick: () => this.setState({ error: null }),
|
|
@@ -2310,78 +4300,6 @@ var ErrorBoundary = class extends Component {
|
|
|
2310
4300
|
}
|
|
2311
4301
|
};
|
|
2312
4302
|
|
|
2313
|
-
// src/components/PushPermissionPrompt.tsx
|
|
2314
|
-
import { useState as useState10 } from "react";
|
|
2315
|
-
import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2316
|
-
function PushPermissionPrompt({
|
|
2317
|
-
autoHide = true,
|
|
2318
|
-
title,
|
|
2319
|
-
description,
|
|
2320
|
-
onStatusChange,
|
|
2321
|
-
getVapidPublicKey,
|
|
2322
|
-
onSubscribe,
|
|
2323
|
-
onUnsubscribe
|
|
2324
|
-
}) {
|
|
2325
|
-
const { t } = useLocale();
|
|
2326
|
-
const { status, isSupported, isSubscribed, subscribe, unsubscribe } = usePushNotifications({
|
|
2327
|
-
enabled: true,
|
|
2328
|
-
getVapidPublicKey,
|
|
2329
|
-
onSubscribe,
|
|
2330
|
-
onUnsubscribe
|
|
2331
|
-
});
|
|
2332
|
-
const [dismissed, setDismissed] = useState10(false);
|
|
2333
|
-
if (!isSupported) return null;
|
|
2334
|
-
if (autoHide && (isSubscribed || status === "denied")) return null;
|
|
2335
|
-
if (dismissed) return null;
|
|
2336
|
-
const handleEnable = async () => {
|
|
2337
|
-
await subscribe();
|
|
2338
|
-
onStatusChange?.(true);
|
|
2339
|
-
};
|
|
2340
|
-
const handleDisable = async () => {
|
|
2341
|
-
await unsubscribe();
|
|
2342
|
-
onStatusChange?.(false);
|
|
2343
|
-
};
|
|
2344
|
-
return /* @__PURE__ */ jsxs14(
|
|
2345
|
-
"div",
|
|
2346
|
-
{
|
|
2347
|
-
className: "p-3 bg-chat-surface rounded-lg flex items-start gap-3",
|
|
2348
|
-
"data-chat-push-prompt": "true",
|
|
2349
|
-
children: [
|
|
2350
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex-1", children: [
|
|
2351
|
-
/* @__PURE__ */ jsx19("div", { className: "font-semibold mb-1 text-chat-text", children: title || t("push.title") }),
|
|
2352
|
-
/* @__PURE__ */ jsx19("div", { className: "text-sm text-chat-text-secondary", children: description || t("push.description") })
|
|
2353
|
-
] }),
|
|
2354
|
-
/* @__PURE__ */ jsxs14("div", { className: "flex gap-2", children: [
|
|
2355
|
-
!isSubscribed && status !== "denied" && /* @__PURE__ */ jsx19(
|
|
2356
|
-
"button",
|
|
2357
|
-
{
|
|
2358
|
-
onClick: handleEnable,
|
|
2359
|
-
className: "px-3 py-1.5 bg-chat-primary text-white border-none rounded cursor-pointer text-sm hover:opacity-90",
|
|
2360
|
-
children: t("push.enable")
|
|
2361
|
-
}
|
|
2362
|
-
),
|
|
2363
|
-
isSubscribed && /* @__PURE__ */ jsx19(
|
|
2364
|
-
"button",
|
|
2365
|
-
{
|
|
2366
|
-
onClick: handleDisable,
|
|
2367
|
-
className: "px-3 py-1.5 bg-transparent text-chat-text-secondary border border-chat-border rounded cursor-pointer text-sm hover:bg-chat-surface",
|
|
2368
|
-
children: t("push.disable")
|
|
2369
|
-
}
|
|
2370
|
-
),
|
|
2371
|
-
/* @__PURE__ */ jsx19(
|
|
2372
|
-
"button",
|
|
2373
|
-
{
|
|
2374
|
-
onClick: () => setDismissed(true),
|
|
2375
|
-
className: "px-1.5 bg-transparent border-none cursor-pointer text-chat-text-secondary hover:text-chat-text",
|
|
2376
|
-
children: "\u2715"
|
|
2377
|
-
}
|
|
2378
|
-
)
|
|
2379
|
-
] })
|
|
2380
|
-
]
|
|
2381
|
-
}
|
|
2382
|
-
);
|
|
2383
|
-
}
|
|
2384
|
-
|
|
2385
4303
|
// src/components/PushToggle.tsx
|
|
2386
4304
|
import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2387
4305
|
function PushToggle({ getVapidPublicKey, onSubscribe, onUnsubscribe }) {
|