@streamplace/components 0.9.9 → 0.9.11
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/assets/badges/live.png +0 -0
- package/assets/badges/live_2x.png +0 -0
- package/assets/badges/mod.png +0 -0
- package/assets/badges/mod_2x.png +0 -0
- package/assets/badges/vip.png +0 -0
- package/assets/badges/vip_2x.png +0 -0
- package/dist/components/chat/badge.d.ts +10 -0
- package/dist/components/chat/badge.d.ts.map +1 -0
- package/dist/components/chat/badge.js +29 -0
- package/dist/components/chat/badge.js.map +1 -0
- package/dist/components/chat/chat-box.d.ts +5 -1
- package/dist/components/chat/chat-box.d.ts.map +1 -1
- package/dist/components/chat/chat-box.js +55 -50
- package/dist/components/chat/chat-box.js.map +1 -1
- package/dist/components/chat/chat-message.d.ts.map +1 -1
- package/dist/components/chat/chat-message.js +16 -11
- package/dist/components/chat/chat-message.js.map +1 -1
- package/dist/components/chat/chat.d.ts.map +1 -1
- package/dist/components/chat/chat.js +35 -41
- package/dist/components/chat/chat.js.map +1 -1
- package/dist/components/chat/emoji-suggestions.d.ts +7 -18
- package/dist/components/chat/emoji-suggestions.d.ts.map +1 -1
- package/dist/components/chat/emoji-suggestions.js +6 -2
- package/dist/components/chat/emoji-suggestions.js.map +1 -1
- package/dist/components/chat/system-message.d.ts.map +1 -1
- package/dist/components/chat/system-message.js +9 -1
- package/dist/components/chat/system-message.js.map +1 -1
- package/dist/components/chat/teleport-modal.d.ts +9 -0
- package/dist/components/chat/teleport-modal.d.ts.map +1 -0
- package/dist/components/chat/teleport-modal.js +148 -0
- package/dist/components/chat/teleport-modal.js.map +1 -0
- package/dist/components/chat/user-profile-card.d.ts +12 -0
- package/dist/components/chat/user-profile-card.d.ts.map +1 -0
- package/dist/components/chat/user-profile-card.js +136 -0
- package/dist/components/chat/user-profile-card.js.map +1 -0
- package/dist/components/dashboard/chat-panel.d.ts +3 -1
- package/dist/components/dashboard/chat-panel.d.ts.map +1 -1
- package/dist/components/dashboard/chat-panel.js +2 -2
- package/dist/components/dashboard/chat-panel.js.map +1 -1
- package/dist/components/dashboard/header.d.ts +1 -1
- package/dist/components/dashboard/header.d.ts.map +1 -1
- package/dist/components/dashboard/header.js +4 -0
- package/dist/components/dashboard/header.js.map +1 -1
- package/dist/components/dashboard/information-widget.d.ts.map +1 -1
- package/dist/components/dashboard/information-widget.js +13 -11
- package/dist/components/dashboard/information-widget.js.map +1 -1
- package/dist/components/mobile-player/fullscreen.d.ts.map +1 -1
- package/dist/components/mobile-player/fullscreen.js +2 -1
- package/dist/components/mobile-player/fullscreen.js.map +1 -1
- package/dist/components/mobile-player/fullscreen.native.d.ts.map +1 -1
- package/dist/components/mobile-player/fullscreen.native.js +3 -2
- package/dist/components/mobile-player/fullscreen.native.js.map +1 -1
- package/dist/components/mobile-player/ui/audio-only-overlay.d.ts +2 -0
- package/dist/components/mobile-player/ui/audio-only-overlay.d.ts.map +1 -0
- package/dist/components/mobile-player/ui/audio-only-overlay.js +29 -0
- package/dist/components/mobile-player/ui/audio-only-overlay.js.map +1 -0
- package/dist/components/mobile-player/ui/index.d.ts +1 -0
- package/dist/components/mobile-player/ui/index.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/index.js +1 -0
- package/dist/components/mobile-player/ui/index.js.map +1 -1
- package/dist/components/mobile-player/ui/input.d.ts +1 -2
- package/dist/components/mobile-player/ui/input.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/input.js +2 -2
- package/dist/components/mobile-player/ui/input.js.map +1 -1
- package/dist/components/mobile-player/ui/metrics.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/metrics.js +20 -2
- package/dist/components/mobile-player/ui/metrics.js.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.d.ts.map +1 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.js +29 -1
- package/dist/components/mobile-player/ui/viewer-context-menu.js.map +1 -1
- package/dist/components/mobile-player/use-webrtc.d.ts +4 -2
- package/dist/components/mobile-player/use-webrtc.d.ts.map +1 -1
- package/dist/components/mobile-player/use-webrtc.js +89 -15
- package/dist/components/mobile-player/use-webrtc.js.map +1 -1
- package/dist/components/mobile-player/video-async.native.d.ts.map +1 -1
- package/dist/components/mobile-player/video-async.native.js +15 -5
- package/dist/components/mobile-player/video-async.native.js.map +1 -1
- package/dist/components/mobile-player/video.d.ts.map +1 -1
- package/dist/components/mobile-player/video.js +10 -7
- package/dist/components/mobile-player/video.js.map +1 -1
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +8 -0
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/hooks/useLivestreamInfo.d.ts +0 -2
- package/dist/hooks/useLivestreamInfo.d.ts.map +1 -1
- package/dist/hooks/useLivestreamInfo.js +13 -24
- package/dist/hooks/useLivestreamInfo.js.map +1 -1
- package/dist/hooks/useSegmentTiming.d.ts +1 -1
- package/dist/hooks/useSegmentTiming.d.ts.map +1 -1
- package/dist/hooks/useSegmentTiming.js +4 -0
- package/dist/hooks/useSegmentTiming.js.map +1 -1
- package/dist/i18n/i18n-loader.native.d.ts.map +1 -1
- package/dist/i18n/i18n-loader.native.js +13 -4
- package/dist/i18n/i18n-loader.native.js.map +1 -1
- package/dist/lib/slash-commands/teleport.d.ts +5 -1
- package/dist/lib/slash-commands/teleport.d.ts.map +1 -1
- package/dist/lib/slash-commands/teleport.js +57 -1
- package/dist/lib/slash-commands/teleport.js.map +1 -1
- package/dist/livestream-store/chat.d.ts +1 -0
- package/dist/livestream-store/chat.d.ts.map +1 -1
- package/dist/livestream-store/chat.js +10 -1
- package/dist/livestream-store/chat.js.map +1 -1
- package/dist/livestream-store/livestream-state.d.ts +2 -0
- package/dist/livestream-store/livestream-state.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.d.ts +1 -1
- package/dist/livestream-store/livestream-store.d.ts.map +1 -1
- package/dist/livestream-store/livestream-store.js +10 -1
- package/dist/livestream-store/livestream-store.js.map +1 -1
- package/dist/livestream-store/websocket-consumer.d.ts.map +1 -1
- package/dist/livestream-store/websocket-consumer.js +1 -0
- package/dist/livestream-store/websocket-consumer.js.map +1 -1
- package/dist/player-store/player-state.d.ts +1 -5
- package/dist/player-store/player-state.d.ts.map +1 -1
- package/dist/player-store/player-store.d.ts.map +1 -1
- package/dist/player-store/player-store.js +16 -5
- package/dist/player-store/player-store.js.map +1 -1
- package/dist/player-store/single-player-provider.d.ts +0 -2
- package/dist/player-store/single-player-provider.d.ts.map +1 -1
- package/dist/player-store/single-player-provider.js +0 -2
- package/dist/player-store/single-player-provider.js.map +1 -1
- package/dist/streamplace-store/stream.d.ts +4 -2
- package/dist/streamplace-store/stream.d.ts.map +1 -1
- package/dist/streamplace-store/stream.js +36 -74
- package/dist/streamplace-store/stream.js.map +1 -1
- package/locales/manifest.json +21 -1
- package/locales/ro-RO/common.ftl +74 -0
- package/locales/ro-RO/settings.ftl +233 -0
- package/locales/zh-Hans/common.ftl +57 -0
- package/locales/zh-Hans/settings.ftl +222 -0
- package/node-compile-cache/v22.15.0-x64-efe9a9df-0/37be0eec +0 -0
- package/package.json +2 -2
- package/src/components/chat/badge.tsx +45 -0
- package/src/components/chat/chat-box.tsx +84 -54
- package/src/components/chat/chat-message.tsx +36 -21
- package/src/components/chat/chat.tsx +105 -88
- package/src/components/chat/emoji-suggestions.tsx +12 -21
- package/src/components/chat/system-message.tsx +12 -2
- package/src/components/chat/teleport-modal.tsx +310 -0
- package/src/components/chat/user-profile-card.tsx +284 -0
- package/src/components/dashboard/chat-panel.tsx +8 -0
- package/src/components/dashboard/header.tsx +7 -3
- package/src/components/dashboard/information-widget.tsx +15 -9
- package/src/components/mobile-player/fullscreen.native.tsx +3 -0
- package/src/components/mobile-player/fullscreen.tsx +2 -0
- package/src/components/mobile-player/ui/audio-only-overlay.tsx +48 -0
- package/src/components/mobile-player/ui/index.ts +1 -0
- package/src/components/mobile-player/ui/input.tsx +1 -5
- package/src/components/mobile-player/ui/metrics.tsx +17 -2
- package/src/components/mobile-player/ui/viewer-context-menu.tsx +40 -3
- package/src/components/mobile-player/use-webrtc.tsx +118 -17
- package/src/components/mobile-player/video-async.native.tsx +18 -5
- package/src/components/mobile-player/video.tsx +10 -7
- package/src/components/ui/dialog.tsx +8 -0
- package/src/hooks/useLivestreamInfo.ts +15 -24
- package/src/hooks/useSegmentTiming.tsx +7 -2
- package/src/i18n/i18n-loader.native.ts +9 -0
- package/src/lib/slash-commands/teleport.ts +68 -0
- package/src/livestream-store/chat.tsx +12 -0
- package/src/livestream-store/livestream-state.tsx +2 -0
- package/src/livestream-store/livestream-store.tsx +9 -1
- package/src/livestream-store/websocket-consumer.tsx +1 -0
- package/src/player-store/player-state.tsx +1 -7
- package/src/player-store/player-store.tsx +16 -7
- package/src/player-store/single-player-provider.tsx +0 -4
- package/src/streamplace-store/stream.tsx +42 -99
- package/node-compile-cache/v22.15.0-x64-92db9086-0/37be0eec +0 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
# Settings Page Translations - Romanian (Romania)
|
|
2
|
+
|
|
3
|
+
## App Version
|
|
4
|
+
app-version = Streamplace v{ $version }
|
|
5
|
+
download-new-update = Descărcați noua actualizare
|
|
6
|
+
check-for-updates = Căutați actualizări
|
|
7
|
+
bundled-runtype = Bundled
|
|
8
|
+
ota-runtype = Over-the-Air (OTA)
|
|
9
|
+
recovery-runtype = Mod de recuperare
|
|
10
|
+
|
|
11
|
+
modal-latest-version = Aveți cea mai recentă versiune.
|
|
12
|
+
modal-no-update-available = Aveți cea mai recentă versiune de Streamplace, ura!
|
|
13
|
+
modal-update-available-title = Actualizare disponibilă
|
|
14
|
+
modal-update-available-description = O nouă versiune de Streamplace este gata de descărcare
|
|
15
|
+
modal-update-failed = Căutarea actualizării a eșuat. Este posibil să fie nevoie să actualizați aplicația prin { $store }.
|
|
16
|
+
modal-update-failed-title = Actualizare eșuată
|
|
17
|
+
modal-update-failed-description = Căutarea actualizării a eșuat. Este posibil să fie nevoie să actualizați aplicația prin { $store }.
|
|
18
|
+
button-reload-app-on-update = Aplicați actualizarea (va reîncărca aplicația)
|
|
19
|
+
|
|
20
|
+
## Custom Node Settings
|
|
21
|
+
use-custom-node = Utilizați nodul personalizat
|
|
22
|
+
default-url = Default: { $url }
|
|
23
|
+
enter-custom-node-url = Introduceți adresa URL a nodului personalizat
|
|
24
|
+
save-button = SALVARE
|
|
25
|
+
|
|
26
|
+
## Language Settings
|
|
27
|
+
language-selection = Limbă
|
|
28
|
+
language-selection-description = Alegeți-vă limba preferată
|
|
29
|
+
input-search-languages = Căutați limbi...
|
|
30
|
+
help-translate = Ajutați-ne să traducem Streamplace
|
|
31
|
+
help-translate-description = Căutăm voluntari care să ne ajute la traducerea Streamplace în mai multe limbi. Dacă sunteți interesați, vă rugăm să ne contactați pe Discord sau GitHub!
|
|
32
|
+
currently-translating = Traducerile sunt pe drum
|
|
33
|
+
currently-translating-description = Este posibil ca unele părți ale aplicației să pară incomplete. Vă mulțumim pentru răbdare!
|
|
34
|
+
|
|
35
|
+
## Debug Recording
|
|
36
|
+
debug-recording-title = Permiteți-i lui { $host } să înregistreze transmisiunea live pentru depanare și îmbunătățirea serviciului
|
|
37
|
+
debug-recording-description = Opțional
|
|
38
|
+
|
|
39
|
+
## Key Management
|
|
40
|
+
manage-keys = Gestionare Chei
|
|
41
|
+
|
|
42
|
+
## Settings Page Specific
|
|
43
|
+
settings-title = Setări
|
|
44
|
+
|
|
45
|
+
## Navigation Categories
|
|
46
|
+
about = Despre
|
|
47
|
+
account = Cont
|
|
48
|
+
advanced = Complex
|
|
49
|
+
danmu = Danmu
|
|
50
|
+
developer = Dezvoltator
|
|
51
|
+
languages = Limbi
|
|
52
|
+
privacy-security = Confidențialitate și securitate
|
|
53
|
+
streaming = Streaming
|
|
54
|
+
|
|
55
|
+
## Common Actions
|
|
56
|
+
cancel = Anulare
|
|
57
|
+
create = Creare
|
|
58
|
+
delete = Ștergere
|
|
59
|
+
refresh = Reîmprospătare
|
|
60
|
+
save-button = Salvare
|
|
61
|
+
sign-in = Conectare
|
|
62
|
+
update = Actualizare
|
|
63
|
+
log-out = Deconectare
|
|
64
|
+
optional = opțional
|
|
65
|
+
|
|
66
|
+
## Account Settings
|
|
67
|
+
account-greeting = Hei, @{ $handle }.
|
|
68
|
+
edit-profile-bluesky = Editare profil (pe Bluesky)
|
|
69
|
+
change-name-color = Schimbați culoarea numelui
|
|
70
|
+
|
|
71
|
+
## Key Management
|
|
72
|
+
key-management = Gestionare chei
|
|
73
|
+
key-manager = Manager cheie
|
|
74
|
+
manage-keys = Gestionare chei
|
|
75
|
+
your-stream-pubkeys = Cheile publice ale transmisiunii dvs.
|
|
76
|
+
no-keys = Nicio cheie configurată
|
|
77
|
+
pubkey-description = Cheile publice sunt asociate cu cheile de transmisiune (utilizate în software-ul de streaming) pentru a semna și verifica transmisiunea.
|
|
78
|
+
keys-count = { $count ->
|
|
79
|
+
[one] { $count } cheie
|
|
80
|
+
*[other] { $count } chei
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
## Recommendations
|
|
84
|
+
recommendations = Recomandări
|
|
85
|
+
manage-recommendations = Gestionați recomandările
|
|
86
|
+
recommendations-to-others = Recomandări pentru Alții
|
|
87
|
+
recommendations-description = Distribuie până la 8 streameri pe care îi recomandați spectatorilor dvs.
|
|
88
|
+
no-recommendations-yet = Nu au fost configurate recomandări încă
|
|
89
|
+
add-recommendation = Adăugare recomandare
|
|
90
|
+
streamer-did = DID Streamer
|
|
91
|
+
recommendations-count = { $count ->
|
|
92
|
+
[one] { $count } recomandare
|
|
93
|
+
*[other] { $count } (de) recomandări
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
## Webhook Management
|
|
97
|
+
webhooks = Webhook-uri
|
|
98
|
+
webhook-integrations = Integrari Webhook
|
|
99
|
+
webhook-integrations-description = Conectați servicii externe pentru a primi actualizări în timp real despre transmisiunile dvs.
|
|
100
|
+
create-webhook = Creare Webhook
|
|
101
|
+
edit-webhook = Editare Webhook
|
|
102
|
+
delete-webhook = Ștergere Webhook
|
|
103
|
+
no-webhooks-yet = Nu sunt încă configurate webhook-uri
|
|
104
|
+
failed-load-webhooks = Nu s-au putut încărca webhook-urile
|
|
105
|
+
webhook-will-no-longer-receive-events = Acest webhook nu va mai primi evenimente
|
|
106
|
+
create-first-webhook-description = Creați-vă primul webhook pentru a începe să primiți evenimente de transmisiune
|
|
107
|
+
example-captain-hook = Captain Hook
|
|
108
|
+
webhooks-count = { $count ->
|
|
109
|
+
[one] { $count } webhook
|
|
110
|
+
*[other] { $count } (de) webhook-uri
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
## Webhook Events
|
|
114
|
+
activates-on = Se activează la:
|
|
115
|
+
events = Evenimente
|
|
116
|
+
events-livestream = Evenimente în transmisiuni
|
|
117
|
+
events-chat = Evenimente de conversașie
|
|
118
|
+
untitled-webhook = Webhook fără titlu
|
|
119
|
+
inactive = Inactiv
|
|
120
|
+
active = Activ
|
|
121
|
+
|
|
122
|
+
## Multistreaming
|
|
123
|
+
multistream = Multi-transmisiune
|
|
124
|
+
multistream-targets = Ținte multi-transmisiune
|
|
125
|
+
multistream-description = Distribuie automat transmisiunile tale live Streamplace către alte servicii de streaming precum Twitch sau YouTube.
|
|
126
|
+
create-multistream-target = Creare țintă multi-transmisiune
|
|
127
|
+
untitled-multistream-target = Țintă fără titlu
|
|
128
|
+
failed-load-multistream-targets = Nu s-au putut încărca țintele multi-transmisiune. Vă rugăm să încercați din nou.
|
|
129
|
+
failed-toggle-multistream-target = Nu s-a putut comuta ținta multi-transmisiune. Vă rugăm să încercați din nou.
|
|
130
|
+
failed-delete-multistream-target = Ștergerea țintei multi-transmisiune nu a reușit. Încercați din nou.
|
|
131
|
+
no-multistream-targets-yet = Nu există încă ținte!
|
|
132
|
+
multistream-targets-count = { $count ->
|
|
133
|
+
[one] { $count } țintă
|
|
134
|
+
*[other] { $count } (de) ținte
|
|
135
|
+
}
|
|
136
|
+
multistream-delete-target-confirmation = Sunteți sigur că vreți să ștergeți „{ $target }”?
|
|
137
|
+
this-action-cannot-be-undone = Această acțiune nu poate fi anulată.
|
|
138
|
+
rtmp-target-name = Țintă RTMP
|
|
139
|
+
rtmp-target-url = URL RTMP
|
|
140
|
+
rtmp-target-name-placeholder = Ținta mea transmisiune
|
|
141
|
+
multistream-create-target = Creare țintă
|
|
142
|
+
multistream-edit-target = Editare țintă
|
|
143
|
+
created = creată
|
|
144
|
+
status = stare
|
|
145
|
+
|
|
146
|
+
## Debug Recording
|
|
147
|
+
debug-recording = Depanare înregistrare
|
|
148
|
+
|
|
149
|
+
## Danmu Settings
|
|
150
|
+
danmu = Danmu
|
|
151
|
+
danmu-enabled = Activare Danmu
|
|
152
|
+
danmu-enabled-description = Afișați mesajele din chatul live ca comentarii plutitoare pe ecran
|
|
153
|
+
danmu-opacity = Opacitate
|
|
154
|
+
danmu-speed = Viteză
|
|
155
|
+
danmu-lane-count = Număr de benzi
|
|
156
|
+
danmu-max-messages = Mesaje maxime
|
|
157
|
+
|
|
158
|
+
## General
|
|
159
|
+
app-version-description = Nu sunt disponibile actualizări în acest moment
|
|
160
|
+
confirm-delete = Sigur vreți să ștergeți asta?
|
|
161
|
+
action-cannot-be-undone = Această acțiune nu poate fi anulată
|
|
162
|
+
name-optional = Nume (opțional)
|
|
163
|
+
deleting = Se șterge...
|
|
164
|
+
saving = Se salvează...
|
|
165
|
+
go-to-dashboard = Mergeți la tabloul de bord
|
|
166
|
+
need-setup-live-dashboard = Trebuie să configurați mai întâi transmisiunile? Vizitați tabloul de bord al transmisiunilor
|
|
167
|
+
no-languages-found = Nu s-au găsit limbi
|
|
168
|
+
|
|
169
|
+
## Branding Administration
|
|
170
|
+
branding = Branding
|
|
171
|
+
branding-admin = Administrarea brandingului
|
|
172
|
+
branding-admin-description = Personalizați-vă instanța Streamplace. Rețineți că propagarea setărilor poate dura câteva ore.
|
|
173
|
+
branding-login-required = Vă rugăm să vă conectați pentru a gestiona brandingul
|
|
174
|
+
branding-configuration = Configurare
|
|
175
|
+
branding-text-settings = Setări text
|
|
176
|
+
branding-colors = Culori
|
|
177
|
+
branding-legal-links = Link-uri legale
|
|
178
|
+
branding-images = Imagini
|
|
179
|
+
|
|
180
|
+
## Branding Fields
|
|
181
|
+
branding-broadcaster-did = DID radiodifuzor
|
|
182
|
+
branding-broadcaster-did-description = Lăsați gol pentru a utiliza valorile implicite ale serverului
|
|
183
|
+
branding-site-title = Titlul site-ului
|
|
184
|
+
branding-site-title-placeholder = Introduceți un nou titlu de site
|
|
185
|
+
branding-site-description = Descrierea site-ului
|
|
186
|
+
branding-site-description-placeholder = Introduceți descrierea site-ului
|
|
187
|
+
branding-default-streamer = Streamer implicit
|
|
188
|
+
branding-default-streamer-none = Nimic
|
|
189
|
+
branding-default-streamer-placeholder = did:plc:...
|
|
190
|
+
branding-clear-default-streamer = Ștergeți Streamerul implicit
|
|
191
|
+
branding-primary-color = Culoare primară
|
|
192
|
+
branding-primary-color-placeholder = #6366f1
|
|
193
|
+
branding-accent-color = Culoare de accent
|
|
194
|
+
branding-accent-color-placeholder = #8b5cf6
|
|
195
|
+
branding-main-logo = Logo principal
|
|
196
|
+
branding-main-logo-description = SVG, PNG, or JPEG (max 500KB)
|
|
197
|
+
branding-favicon = Favicon
|
|
198
|
+
branding-favicon-description = SVG, PNG, sau ICO (maxim 100KB)
|
|
199
|
+
branding-sidebar-bg = Imagine de fundal din bara laterală
|
|
200
|
+
branding-sidebar-bg-description = SVG, PNG sau JPEG (maxim 500kb) - apare aliniat la partea de jos a barei laterale, pe lățime completă. Încărcați o imagine cu opacitate pentru cele mai bune rezultate, deoarece în prezent nu există o opțiune separată de opacitate.
|
|
201
|
+
branding-current = Current: { $value }
|
|
202
|
+
branding-dimensions = { $height } x { $width }
|
|
203
|
+
|
|
204
|
+
## Branding Actions
|
|
205
|
+
branding-upload-logo = Încărcare logo
|
|
206
|
+
branding-delete-logo = Ștergere logo
|
|
207
|
+
branding-upload-favicon = Încărcare Favicon
|
|
208
|
+
branding-delete-favicon = Ștergere Favicon
|
|
209
|
+
branding-upload-background = Încărcare imagine de fundal
|
|
210
|
+
branding-delete-background = Ștergere imagine de fundal
|
|
211
|
+
branding-web-only = Încărcarea imaginilor este disponibilă doar pe web.
|
|
212
|
+
|
|
213
|
+
## Branding Legal Links
|
|
214
|
+
refresh-branding = Actualizați elementele de branding
|
|
215
|
+
branding-add-legal-link = Adăugați link legal
|
|
216
|
+
branding-edit-legal-link = Editați linkul legal
|
|
217
|
+
branding-legal-link-text-placeholder = Textul linkului (de exemplu, Politica de confidențialitate)
|
|
218
|
+
branding-legal-link-url-placeholder = Adresa URL (de ex., https://example.com/privacy)
|
|
219
|
+
add = Adăugare
|
|
220
|
+
edit = Editare
|
|
221
|
+
|
|
222
|
+
## Branding Toast Messages
|
|
223
|
+
branding-not-authenticated = Vă rugăm să vă conectați mai întâi
|
|
224
|
+
branding-empty-value = Vă rugăm să introduceți o valoare
|
|
225
|
+
branding-update-success = { $key } a fost actualizat cu succes
|
|
226
|
+
branding-upload-success = { $key } a fost încărcat cu succes
|
|
227
|
+
branding-delete-success = { $key } a fost șters cu succes
|
|
228
|
+
branding-upload-failed = Încărcare eșuată
|
|
229
|
+
branding-delete-failed = Ștergere eșuată
|
|
230
|
+
branding-not-available = Încărcarea de fișiere este disponibilă doar pe web.
|
|
231
|
+
|
|
232
|
+
## Navigation Categories (About Page)
|
|
233
|
+
node-legal-documents = Documente specifice radiodifuzorului
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Common UI Translations - Chinese (Simplified)
|
|
2
|
+
|
|
3
|
+
## General UI
|
|
4
|
+
loading = 正在加载...
|
|
5
|
+
error = 错误
|
|
6
|
+
cancel = 取消
|
|
7
|
+
confirm = 确认
|
|
8
|
+
close = 关闭
|
|
9
|
+
open = 开启
|
|
10
|
+
ok = 确定
|
|
11
|
+
yes = 是
|
|
12
|
+
no = 否
|
|
13
|
+
continue = 继续
|
|
14
|
+
back = 返回
|
|
15
|
+
next = 下一步
|
|
16
|
+
finish = 完成
|
|
17
|
+
|
|
18
|
+
## Actions
|
|
19
|
+
save = 保存
|
|
20
|
+
delete = 删除
|
|
21
|
+
edit = 编辑
|
|
22
|
+
create = 创建
|
|
23
|
+
update = 更新
|
|
24
|
+
refresh = 刷新
|
|
25
|
+
|
|
26
|
+
## Status Messages
|
|
27
|
+
success = 成功
|
|
28
|
+
warning = 警告
|
|
29
|
+
info = 信息
|
|
30
|
+
|
|
31
|
+
## Input Placeholders
|
|
32
|
+
search-placeholder = 搜索...
|
|
33
|
+
message-input = 输入您的消息...
|
|
34
|
+
|
|
35
|
+
## Authentication & Access
|
|
36
|
+
please-log-in-to-access-this-page = 请登录以访问此页面
|
|
37
|
+
go-to-settings = 前往设置
|
|
38
|
+
go-back = 返回
|
|
39
|
+
|
|
40
|
+
## Demo and Testing
|
|
41
|
+
welcome-user = 欢迎,{ $username }!
|
|
42
|
+
notification-count = { $count ->
|
|
43
|
+
[0] 无通知
|
|
44
|
+
*[other] { $count } 则通知
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
## Offline User
|
|
48
|
+
user-offline = 用户离线
|
|
49
|
+
user-offline-message = { $source ->
|
|
50
|
+
[streamer] 看起来 <1>@{ $handle } 离线</1>了,但他们推荐观看:
|
|
51
|
+
*[default] 看起来 <1>@{ $handle } 离线</1>了,但我们推荐观看:
|
|
52
|
+
}
|
|
53
|
+
user-offline-no-recommendations =
|
|
54
|
+
看起来 <1>@{ $handle } 离线</1>了。
|
|
55
|
+
请稍后再来看看。
|
|
56
|
+
streaming-title = 正在直播 { $title }
|
|
57
|
+
viewer-count = { $count } 位观众
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Settings Page Translations - Chinese (Simplified)
|
|
2
|
+
|
|
3
|
+
## App Version
|
|
4
|
+
app-version = Streamplace v{ $version }
|
|
5
|
+
download-new-update = 下载新更新
|
|
6
|
+
check-for-updates = 检查更新
|
|
7
|
+
|
|
8
|
+
bundled-runtype = 捆绑版
|
|
9
|
+
ota-runtype = 空中下载 (OTA)
|
|
10
|
+
recovery-runtype = 复原模式
|
|
11
|
+
|
|
12
|
+
modal-latest-version = 您正在使用最新版本。
|
|
13
|
+
modal-no-update-available = 您已经在使用最新版本的 Streamplace,太棒了!
|
|
14
|
+
modal-update-available-title = 有可用更新
|
|
15
|
+
modal-update-available-description = 新版本的 Streamplace 已准备好下载
|
|
16
|
+
modal-update-failed = 更新检查失败。您可能需要透过 { $store } 更新应用程序。
|
|
17
|
+
modal-update-failed-title = 更新失败
|
|
18
|
+
modal-update-failed-description = 更新检查失败。您可能需要透过 { $store } 更新应用程序。
|
|
19
|
+
button-reload-app-on-update = 套用更新 (将重新加载应用程序)
|
|
20
|
+
|
|
21
|
+
## Custom Node Settings
|
|
22
|
+
use-custom-node = 使用自定义节点
|
|
23
|
+
default-url = 默认:{ $url }
|
|
24
|
+
enter-custom-node-url = 输入自定义节点网址
|
|
25
|
+
save-button = 保存
|
|
26
|
+
|
|
27
|
+
## Language Settings
|
|
28
|
+
language-selection = 语言
|
|
29
|
+
language-selection-description = 选择您偏好的语言
|
|
30
|
+
input-search-languages = 搜索语言...
|
|
31
|
+
help-translate = 帮助我们翻译 Streamplace
|
|
32
|
+
help-translate-description = 我们正在寻找志愿者协助将 Streamplace 翻译成更多语言。如果您有兴趣,请在 Discord 或 GitHub 上与我们联系!
|
|
33
|
+
currently-translating = 翻译正在进行中
|
|
34
|
+
currently-translating-description = 应用程序的某些部分可能看起来不完整。感谢您的耐心等待!
|
|
35
|
+
|
|
36
|
+
## Debug Recording
|
|
37
|
+
debug-recording-title = 允许 { $host } 录制您的直播串流以进行除错和服务改善
|
|
38
|
+
debug-recording-description = 可选项目
|
|
39
|
+
|
|
40
|
+
## Key Management
|
|
41
|
+
manage-keys = 管理密钥
|
|
42
|
+
|
|
43
|
+
## Settings Page Specific
|
|
44
|
+
settings-title = 设置
|
|
45
|
+
|
|
46
|
+
## Navigation Categories
|
|
47
|
+
about = 关于
|
|
48
|
+
account = 帐户
|
|
49
|
+
advanced = 高端
|
|
50
|
+
danmu = 弹幕
|
|
51
|
+
developer = 开发者
|
|
52
|
+
languages = 语言
|
|
53
|
+
privacy-security = 隐私与安全
|
|
54
|
+
streaming = 串流
|
|
55
|
+
|
|
56
|
+
## Common Actions
|
|
57
|
+
cancel = 取消
|
|
58
|
+
create = 创建
|
|
59
|
+
delete = 删除
|
|
60
|
+
refresh = 刷新
|
|
61
|
+
save-button = 保存
|
|
62
|
+
sign-in = 登录
|
|
63
|
+
update = 更新
|
|
64
|
+
log-out = 注销
|
|
65
|
+
optional = 选填
|
|
66
|
+
|
|
67
|
+
## Account Settings
|
|
68
|
+
account-greeting = 嗨,@{ $handle }。
|
|
69
|
+
edit-profile-bluesky = 在 Bluesky 编辑个人数据
|
|
70
|
+
change-name-color = 变更名称颜色
|
|
71
|
+
|
|
72
|
+
## Key Management
|
|
73
|
+
key-management = 密钥管理
|
|
74
|
+
key-manager = 密钥管理器
|
|
75
|
+
manage-keys = 管理密钥
|
|
76
|
+
your-stream-pubkeys = 您的串流公开密钥
|
|
77
|
+
no-keys = 尚未设置密钥
|
|
78
|
+
pubkey-description = 公开密钥与串流密钥 (用于串流软件) 配对以签署和验证您的串流
|
|
79
|
+
keys-count = { $count } 个密钥
|
|
80
|
+
|
|
81
|
+
## Recommendations
|
|
82
|
+
recommendations = 推荐主播
|
|
83
|
+
manage-recommendations = 管理推荐主播
|
|
84
|
+
recommendations-to-others = 向他人推荐主播
|
|
85
|
+
recommendations-description = 向您的观众推荐最多 8 位主播
|
|
86
|
+
no-recommendations-yet = 尚未配置推荐
|
|
87
|
+
add-recommendation = 添加推荐
|
|
88
|
+
streamer-did = 主播 DID
|
|
89
|
+
recommendations-count = { $count } 位推荐主播
|
|
90
|
+
|
|
91
|
+
## Webhook Management
|
|
92
|
+
webhooks = Webhooks
|
|
93
|
+
webhook-integrations = Webhook 集成
|
|
94
|
+
webhook-integrations-description = 连接外部服务以即时接收有关您串流的更新
|
|
95
|
+
create-webhook = 创建 Webhook
|
|
96
|
+
edit-webhook = 编辑 Webhook
|
|
97
|
+
delete-webhook = 删除 Webhook
|
|
98
|
+
no-webhooks-yet = 尚未设置 Webhook
|
|
99
|
+
failed-load-webhooks = 加载 Webhook 失败
|
|
100
|
+
webhook-will-no-longer-receive-events = 此 Webhook 将不再接收事件
|
|
101
|
+
create-first-webhook-description = 创建您的第一个 Webhook 以开始接收串流事件
|
|
102
|
+
example-captain-hook = Hook 船长
|
|
103
|
+
webhooks-count = { $count } 个 Webhook
|
|
104
|
+
|
|
105
|
+
## Webhook Events
|
|
106
|
+
activates-on = 触发于:
|
|
107
|
+
events = 事件
|
|
108
|
+
events-livestream = 直播串流事件
|
|
109
|
+
events-chat = 聊天事件
|
|
110
|
+
untitled-webhook = 未命名的 Webhook
|
|
111
|
+
inactive = 停用
|
|
112
|
+
active = 活动
|
|
113
|
+
|
|
114
|
+
## Multistreaming
|
|
115
|
+
multistream = 多重串流
|
|
116
|
+
multistream-targets = 多重串流目标
|
|
117
|
+
multistream-description = 自动将您的 Streamplace 直播推送到 Twitch 或 YouTube 等其他直播平台。
|
|
118
|
+
create-multistream-target = 创建多重串流目标
|
|
119
|
+
untitled-multistream-target = 未命名目标
|
|
120
|
+
failed-load-multistream-targets = 加载多重串流目标失败。请重试。
|
|
121
|
+
failed-toggle-multistream-target = 切换多重串流目标失败。请重试。
|
|
122
|
+
failed-delete-multistream-target = 删除多重串流目标失败。请重试。
|
|
123
|
+
no-multistream-targets-yet = 还没有目标!
|
|
124
|
+
multistream-targets-count = { $count } 个目标
|
|
125
|
+
multistream-delete-target-confirmation = 您确定要删除“{ $target }”吗?
|
|
126
|
+
this-action-cannot-be-undone = 此操作无法撤销。
|
|
127
|
+
rtmp-target-name = RTMP 目标
|
|
128
|
+
rtmp-target-url = RTMP 网址
|
|
129
|
+
rtmp-target-name-placeholder = 我的多重串流目标
|
|
130
|
+
multistream-create-target = 创建目标
|
|
131
|
+
multistream-edit-target = 编辑目标
|
|
132
|
+
created = 创建于
|
|
133
|
+
status = 状态
|
|
134
|
+
|
|
135
|
+
## Debug Recording
|
|
136
|
+
debug-recording = 调试录制
|
|
137
|
+
|
|
138
|
+
## Danmu Settings
|
|
139
|
+
danmu = 弹幕
|
|
140
|
+
danmu-enabled = 启用弹幕
|
|
141
|
+
danmu-enabled-description = 将即时聊天消息以浮动评论的形式显示在您的屏幕上
|
|
142
|
+
danmu-opacity = 不透明度
|
|
143
|
+
danmu-speed = 速度
|
|
144
|
+
danmu-lane-count = 轨道数量
|
|
145
|
+
danmu-max-messages = 最大消息数
|
|
146
|
+
|
|
147
|
+
## General
|
|
148
|
+
app-version-description = 当前没有可用的更新
|
|
149
|
+
confirm-delete = 您确定要删除吗?
|
|
150
|
+
action-cannot-be-undone = 此操作无法撤销
|
|
151
|
+
name-optional = 名称 (选填)
|
|
152
|
+
deleting = 正在删除...
|
|
153
|
+
saving = 正在保存...
|
|
154
|
+
go-to-dashboard = 前往仪表板
|
|
155
|
+
need-setup-live-dashboard = 需要先设置串流吗?请访问直播仪表板
|
|
156
|
+
no-languages-found = 找不到语言
|
|
157
|
+
|
|
158
|
+
## Branding Administration
|
|
159
|
+
branding = 品牌
|
|
160
|
+
branding-admin = 品牌管理
|
|
161
|
+
branding-admin-description = 自定义您的 Streamplace 实例。请注意,设置可能需要几小时才能生效。
|
|
162
|
+
branding-login-required = 请登录以管理品牌
|
|
163
|
+
branding-configuration = 配置
|
|
164
|
+
branding-text-settings = 文字设置
|
|
165
|
+
branding-colors = 颜色
|
|
166
|
+
branding-legal-links = 法律链接
|
|
167
|
+
branding-images = 图像
|
|
168
|
+
|
|
169
|
+
## Branding Fields
|
|
170
|
+
branding-broadcaster-did = 主播 DID
|
|
171
|
+
branding-broadcaster-did-description = 留空以使用服务器默认值
|
|
172
|
+
branding-site-title = 网站标题
|
|
173
|
+
branding-site-title-placeholder = 输入新网站标题
|
|
174
|
+
branding-site-description = 网站描述
|
|
175
|
+
branding-site-description-placeholder = 输入网站描述
|
|
176
|
+
branding-default-streamer = 默认主播
|
|
177
|
+
branding-default-streamer-none = 无
|
|
178
|
+
branding-default-streamer-placeholder = did:plc:...
|
|
179
|
+
branding-clear-default-streamer = 清除默认主播
|
|
180
|
+
branding-primary-color = 首要颜色
|
|
181
|
+
branding-primary-color-placeholder = #6366f1
|
|
182
|
+
branding-accent-color = 强调色
|
|
183
|
+
branding-accent-color-placeholder = #8b5cf6
|
|
184
|
+
branding-main-logo = 主标志
|
|
185
|
+
branding-main-logo-description = SVG、PNG 或 JPEG (最大 500KB)
|
|
186
|
+
branding-favicon = 网站图标
|
|
187
|
+
branding-favicon-description = SVG、PNG 或 ICO (最大 100KB)
|
|
188
|
+
branding-sidebar-bg = 侧边栏背景图片
|
|
189
|
+
branding-sidebar-bg-description = SVG、PNG 或 JPEG (最大 500KB) - 显示在侧边栏底部,全宽显示。为了获得最佳效果,请上传一张带有透明度的图片,因为目前没有单独的透明度选项。
|
|
190
|
+
branding-current = 当前:{ $value }
|
|
191
|
+
branding-dimensions = { $height } x { $width }
|
|
192
|
+
|
|
193
|
+
## Branding Actions
|
|
194
|
+
branding-upload-logo = 上传标志
|
|
195
|
+
branding-delete-logo = 删除标志
|
|
196
|
+
branding-upload-favicon = 上传网站图标
|
|
197
|
+
branding-delete-favicon = 删除网站图标
|
|
198
|
+
branding-upload-background = 上传背景
|
|
199
|
+
branding-delete-background = 删除背景
|
|
200
|
+
branding-web-only = 图像上传仅在网页端可用。
|
|
201
|
+
|
|
202
|
+
## Branding Legal Links
|
|
203
|
+
refresh-branding = 更新品牌资源
|
|
204
|
+
branding-add-legal-link = 添加法律链接
|
|
205
|
+
branding-edit-legal-link = 编辑法律链接
|
|
206
|
+
branding-legal-link-text-placeholder = 链接文本 (例如:隐私政策)
|
|
207
|
+
branding-legal-link-url-placeholder = 网址 (例如:https://example.com/privacy)
|
|
208
|
+
add = 添加
|
|
209
|
+
edit = 编辑
|
|
210
|
+
|
|
211
|
+
## Branding Toast Messages
|
|
212
|
+
branding-not-authenticated = 请先登录
|
|
213
|
+
branding-empty-value = 请输入一个数值
|
|
214
|
+
branding-update-success = { $key } 更新成功
|
|
215
|
+
branding-upload-success = { $key } 上传成功
|
|
216
|
+
branding-delete-success = { $key } 删除成功
|
|
217
|
+
branding-upload-failed = 上传失败
|
|
218
|
+
branding-delete-failed = 删除失败
|
|
219
|
+
branding-not-available = 文件上传仅在网页版上可用
|
|
220
|
+
|
|
221
|
+
## Navigation Categories (About Page)
|
|
222
|
+
node-legal-documents = 主播专属文档
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamplace/components",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.11",
|
|
4
4
|
"description": "Streamplace React (Native) Components",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "src/index.tsx",
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
"i18n:watch": "nodemon --watch 'locales/**/*.ftl' --exec 'node scripts/compile-translations.js'",
|
|
82
82
|
"i18n:extract": "i18next-cli extract && node scripts/migrate-i18n.js"
|
|
83
83
|
},
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "997c3a36457de118b92d21a0148bd4e863e77b06"
|
|
85
85
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Image, Platform } from "react-native";
|
|
2
|
+
import { ChatMessageViewHydrated } from "streamplace";
|
|
3
|
+
|
|
4
|
+
export const BADGE_IMAGES: Record<string, ReturnType<typeof require>> = {
|
|
5
|
+
"place.stream.badge.defs#mod": require("../../../assets/badges/mod_2x.png"),
|
|
6
|
+
"place.stream.badge.defs#streamer": require("../../../assets/badges/live_2x.png"),
|
|
7
|
+
"place.stream.badge.defs#vip": require("../../../assets/badges/vip_2x.png"),
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const Badge = ({
|
|
11
|
+
badgeType,
|
|
12
|
+
size = 18,
|
|
13
|
+
}: {
|
|
14
|
+
badgeType: string;
|
|
15
|
+
size?: number;
|
|
16
|
+
}) => {
|
|
17
|
+
const source = BADGE_IMAGES[badgeType];
|
|
18
|
+
if (!source) return null;
|
|
19
|
+
return (
|
|
20
|
+
<Image
|
|
21
|
+
source={source}
|
|
22
|
+
style={{
|
|
23
|
+
height: size,
|
|
24
|
+
width: size,
|
|
25
|
+
marginBottom: Platform.OS === "web" ? -size / 4 : 0,
|
|
26
|
+
marginRight: 2,
|
|
27
|
+
}}
|
|
28
|
+
/>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const BadgeDisplayRow = ({
|
|
33
|
+
badges,
|
|
34
|
+
}: {
|
|
35
|
+
badges: ChatMessageViewHydrated["badges"];
|
|
36
|
+
}) => {
|
|
37
|
+
if (!badges?.length) return null;
|
|
38
|
+
return (
|
|
39
|
+
<>
|
|
40
|
+
{badges.map((badge, index) => (
|
|
41
|
+
<Badge key={index} badgeType={badge.badgeType} />
|
|
42
|
+
))}
|
|
43
|
+
</>
|
|
44
|
+
);
|
|
45
|
+
};
|