SwitchAlpha commited on
Commit
38c716a
·
1 Parent(s): e0e8859

multilang-fix

Browse files
Files changed (1) hide show
  1. app.py +70 -4
app.py CHANGED
@@ -149,6 +149,68 @@ class CryNetMultiBranch(nn.Module):
149
  return self.fusion_mlp(combined)
150
 
151
  # --- 5. Global Kaynak Başlatma ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
  app_globals = {}
153
 
154
  # --- 6. Kaynakları lifespan olay yöneticisi ile yükleme ---
@@ -318,14 +380,16 @@ async def predict_cry_audio(file: UploadFile = File(...), language: Optional[str
318
  # Orijinal JSON yanıt mantığınız (şimdi dile göre bakım noktaları kullanıyor)
319
  response_data = {}
320
  CARE_POINTS_DB = app_globals["CARE_POINTS_DB_MULTILANG"].get(language, app_globals["CARE_POINTS_DB_MULTILANG"]["tr"])
 
321
 
322
  if top1_score > cfg.THRESHOLD_HIGH_CONFIDENCE:
323
  care_points = CARE_POINTS_DB.get(top1_label, [])
324
  selected_points = random.sample(care_points, min(len(care_points), cfg.NUM_CARE_POINTS))
 
325
  response_data = {
326
  "status": "success_single",
327
- "title": f"Bebek muhtemelen şundan ağlıyor: {top1_label}",
328
- "subtitle": "Ana nedenler ve bakım noktaları:",
329
  "care_points": selected_points,
330
  "promo_text": "Daha detaylı rehberlik için üyelik satın alabilirsiniz",
331
  "all_scores": sorted_confidences
@@ -338,10 +402,12 @@ async def predict_cry_audio(file: UploadFile = File(...), language: Optional[str
338
  care_points_2 = CARE_POINTS_DB.get(top2_label, [])
339
  if care_points_2: combined_points.append(random.choice(care_points_2))
340
 
 
 
341
  response_data = {
342
  "status": "success_multiple",
343
- "title": f"Bebek muhtemelen şundan ağlıyor: {top1_label} veya {top2_label}",
344
- "subtitle": "Ana nedenler ve bakım noktaları:",
345
  "care_points": combined_points,
346
  "promo_text": "Daha detaylı rehberlik için üyelik satın alabilirsiniz",
347
  "all_scores": sorted_confidences
 
149
  return self.fusion_mlp(combined)
150
 
151
  # --- 5. Global Kaynak Başlatma ---
152
+ }
153
+ }
154
+
155
+ # --- 4. Çok Dilli UI Metinleri ---
156
+ UI_TEXTS = {
157
+ "tr": {
158
+ "title_single": "Bebek muhtemelen şundan ağlıyor: {label}",
159
+ "title_double": "Bebek muhtemelen şundan ağlıyor: {label1} veya {label2}",
160
+ "subtitle": "Ana nedenler ve bakım noktaları:",
161
+ "category_names": {
162
+ "belly_pain": "Karın Ağrısı",
163
+ "burping": "Geğirme",
164
+ "discomfort": "Rahatsızlık",
165
+ "hungry": "Açlık"
166
+ }
167
+ },
168
+ "en": {
169
+ "title_single": "Baby is probably crying from: {label}",
170
+ "title_double": "Baby is probably crying from: {label1} or {label2}",
171
+ "subtitle": "Main causes and care points:",
172
+ "category_names": {
173
+ "belly_pain": "Belly Pain",
174
+ "burping": "Burping",
175
+ "discomfort": "Discomfort",
176
+ "hungry": "Hungry"
177
+ }
178
+ },
179
+ "de": {
180
+ "title_single": "Baby weint wahrscheinlich wegen: {label}",
181
+ "title_double": "Baby weint wahrscheinlich wegen: {label1} oder {label2}",
182
+ "subtitle": "Hauptursachen und Pflegepunkte:",
183
+ "category_names": {
184
+ "belly_pain": "Bauchschmerzen",
185
+ "burping": "Aufstoßen",
186
+ "discomfort": "Unbehagen",
187
+ "hungry": "Hungrig"
188
+ }
189
+ },
190
+ "ru": {
191
+ "title_single": "Ребенок, вероятно, плачет от: {label}",
192
+ "title_double": "Ребенок, вероятно, плачет от: {label1} или {label2}",
193
+ "subtitle": "Основные причины и рекомендации по уходу:",
194
+ "category_names": {
195
+ "belly_pain": "Боль в животе",
196
+ "burping": "Отрыжка",
197
+ "discomfort": "Дискомфорт",
198
+ "hungry": "Голод"
199
+ }
200
+ },
201
+ "ko": {
202
+ "title_single": "아기가 다음 이유로 울고 있을 가능성이 높습니다: {label}",
203
+ "title_double": "아기가 다음 이유로 울고 있을 가능성이 높습니다: {label1} 또는 {label2}",
204
+ "subtitle": "주요 원인 및 돌봄 요령:",
205
+ "category_names": {
206
+ "belly_pain": "복통",
207
+ "burping": "트림",
208
+ "discomfort": "불편함",
209
+ "hungry": "배고픔"
210
+ }
211
+ }
212
+ }
213
+
214
  app_globals = {}
215
 
216
  # --- 6. Kaynakları lifespan olay yöneticisi ile yükleme ---
 
380
  # Orijinal JSON yanıt mantığınız (şimdi dile göre bakım noktaları kullanıyor)
381
  response_data = {}
382
  CARE_POINTS_DB = app_globals["CARE_POINTS_DB_MULTILANG"].get(language, app_globals["CARE_POINTS_DB_MULTILANG"]["tr"])
383
+ ui_texts = UI_TEXTS.get(language, UI_TEXTS["tr"])
384
 
385
  if top1_score > cfg.THRESHOLD_HIGH_CONFIDENCE:
386
  care_points = CARE_POINTS_DB.get(top1_label, [])
387
  selected_points = random.sample(care_points, min(len(care_points), cfg.NUM_CARE_POINTS))
388
+ top1_label_translated = ui_texts["category_names"].get(top1_label, top1_label)
389
  response_data = {
390
  "status": "success_single",
391
+ "title": ui_texts["title_single"].format(label=top1_label_translated),
392
+ "subtitle": ui_texts["subtitle"],
393
  "care_points": selected_points,
394
  "promo_text": "Daha detaylı rehberlik için üyelik satın alabilirsiniz",
395
  "all_scores": sorted_confidences
 
402
  care_points_2 = CARE_POINTS_DB.get(top2_label, [])
403
  if care_points_2: combined_points.append(random.choice(care_points_2))
404
 
405
+ top1_label_translated = ui_texts["category_names"].get(top1_label, top1_label)
406
+ top2_label_translated = ui_texts["category_names"].get(top2_label, top2_label)
407
  response_data = {
408
  "status": "success_multiple",
409
+ "title": ui_texts["title_double"].format(label1=top1_label_translated, label2=top2_label_translated),
410
+ "subtitle": ui_texts["subtitle"],
411
  "care_points": combined_points,
412
  "promo_text": "Daha detaylı rehberlik için üyelik satın alabilirsiniz",
413
  "all_scores": sorted_confidences