Skip to content

Commit bb5bc35

Browse files
authored
Merge pull request #463 from Resgrid/develop
RG-T54 Bug fixes, first pass of Run Cards
2 parents 87f3559 + 3433e7f commit bb5bc35

140 files changed

Lines changed: 12941 additions & 722 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Core/Resgrid.Config/TtsConfig.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ public static class TtsConfig
3636
public static int DefaultSpeed = 150;
3737
public static int MaxConcurrentGenerations = 4;
3838
public static int MaxTextLength = 1000;
39+
40+
/// <summary>
41+
/// Upper bound, in seconds, on a single synthesis + storage run in the TTS service.
42+
/// Generation doesn't observe the caller's cancellation token, so this bounds a
43+
/// wedged Piper/ffmpeg process. Keep it well above a cold model load.
44+
/// </summary>
45+
public static int GenerationTimeoutSeconds = 300;
3946
public static string PiperExecutable = "piper";
4047
public static string PiperModelDirectory = "/usr/local/share/piper-voices";
4148
public static string FfmpegExecutable = "ffmpeg";

Core/Resgrid.Localization/Areas/User/Department/Department.ar.resx

Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,4 +738,208 @@
738738
<data name="ForceChatbotSecurityPinHelp" xml:space="preserve">
739739
<value>يتطلب من كل عضو تأكيد الإجراءات الخطرة أو على مستوى القسم عبر المساعد/الرسائل النصية باستخدام رمز PIN الأمان الشخصي المكون من 4 أرقام. يحصل الأعضاء الذين ليس لديهم رمز PIN على رمز يتم إنشاؤه عشوائيًا (يمكن عرضه في صفحة ملفهم الشخصي).</value>
740740
</data>
741+
<data name="RunCardSettingsHeader" xml:space="preserve">
742+
<value>بطاقات الإرسال والإرسال التلقائي</value>
743+
</data>
744+
<data name="DispatchRecommendationModeLabel" xml:space="preserve">
745+
<value>وضع الاختيار التلقائي للموارد</value>
746+
</data>
747+
<data name="DispatchRecommendationModeHelp" xml:space="preserve">
748+
<value>كيفية اختيار النظام للوحدات والأفراد لملء بطاقة الإرسال: حسب منطقة استجابة المحطة التي تحتوي على النداء (مع الانتقال إلى أقرب محطة عند النقص) أو حسب أقرب الموارد المتاحة.</value>
749+
</data>
750+
<data name="DispatchAutoDispatchLabel" xml:space="preserve">
751+
<value>إرسال الموارد الموصى بها تلقائيًا</value>
752+
</data>
753+
<data name="DispatchAutoDispatchHelp" xml:space="preserve">
754+
<value>عند التفعيل، ترسل بطاقات الإرسال المطابقة الموارد فور إنشاء النداء. عند الإيقاف، تُملأ التوصيات مسبقًا في صفحة النداء الجديد لمراجعة المرسل.</value>
755+
</data>
756+
<data name="RestPeriodLabel" xml:space="preserve">
757+
<value>فترة الراحة (بالدقائق)</value>
758+
</data>
759+
<data name="RestPeriodHelp" xml:space="preserve">
760+
<value>بعد إرسال وحدة أو شخص، يتم خفض أولويتهم لهذا العدد من الدقائق حتى لا تُرسل الموارد نفسها بشكل متتالٍ. 0 لتعطيل الخاصية.</value>
761+
</data>
762+
<data name="StaffingGateLabel" xml:space="preserve">
763+
<value>الحد الأدنى لطاقم الوحدة للإرسال</value>
764+
</data>
765+
<data name="StaffingGateHelp" xml:space="preserve">
766+
<value>الوحدات التي يقل طاقمها عن هذا المستوى لا يتم اختيارها حتى لو تطابقت حالتها. الوحدات بدون أدوار محددة تمر دائمًا.</value>
767+
</data>
768+
<data name="MoveUpEnabledLabel" xml:space="preserve">
769+
<value>تمكين توصيات إعادة التمركز / سد النقص</value>
770+
</data>
771+
<data name="MoveUpEnabledHelp" xml:space="preserve">
772+
<value>بعد الاختيار، يتحقق من الحد الأدنى لتغطية المحطات ويوصي بنقل الموارد إلى المحطات المستنزفة.</value>
773+
</data>
774+
<data name="ClosestUnitTuningHeader" xml:space="preserve">
775+
<value>ضبط استجابة أقرب وحدة</value>
776+
</data>
777+
<data name="MaxLocationAgeLabel" xml:space="preserve">
778+
<value>أقصى عمر لموقع الوحدة (بالثواني)</value>
779+
</data>
780+
<data name="PersonnelMaxLocationAgeLabel" xml:space="preserve">
781+
<value>أقصى عمر لموقع الأفراد (بالثواني)</value>
782+
</data>
783+
<data name="MaxRadiusLabel" xml:space="preserve">
784+
<value>أقصى نصف قطر للاستجابة (بالأمتار)</value>
785+
</data>
786+
<data name="IncludeStaleLabel" xml:space="preserve">
787+
<value>تضمين المواقع القديمة</value>
788+
</data>
789+
<data name="UseRoutedEtaLabel" xml:space="preserve">
790+
<value>الترتيب حسب وقت الوصول المقدر بالقيادة</value>
791+
</data>
792+
<data name="UseRoutedEtaHelp" xml:space="preserve">
793+
<value>يعيد ترتيب أقرب المرشحين باستخدام وقت القيادة بدلاً من المسافة المستقيمة. يستخدم مزود الخرائط وقد يضيف تكلفة وتأخيرًا.</value>
794+
</data>
795+
<data name="EtaShortlistSizeLabel" xml:space="preserve">
796+
<value>حجم القائمة المختصرة لوقت الوصول</value>
797+
</data>
798+
<data name="StationCoverageHeader" xml:space="preserve">
799+
<value>الحد الأدنى لتغطية المحطات</value>
800+
</data>
801+
<data name="StationCoverageHelp" xml:space="preserve">
802+
<value>يحدد الحد الأدنى لعدد كل نوع وحدة أو دور أفراد يجب أن يظل متاحًا في المحطة. عندما يؤدي الإرسال إلى انخفاض التغطية دون الحد الأدنى، يوصي النظام بإعادة التمركز.</value>
803+
</data>
804+
<data name="StationCoverageStationLabel" xml:space="preserve">
805+
<value>المحطة</value>
806+
</data>
807+
<data name="StationCoverageTargetLabel" xml:space="preserve">
808+
<value>نوع الوحدة / الدور</value>
809+
</data>
810+
<data name="StationCoverageMinCountLabel" xml:space="preserve">
811+
<value>الحد الأدنى المتاح</value>
812+
</data>
813+
<data name="StationCoverageRadiusLabel" xml:space="preserve">
814+
<value>نصف القطر (بالأمتار، وضع أقرب وحدة)</value>
815+
</data>
816+
<data name="StationCoverageEnabledLabel" xml:space="preserve">
817+
<value>مُفعّل</value>
818+
</data>
819+
<data name="RunCardsHeader" xml:space="preserve">
820+
<value>بطاقات الإرسال</value>
821+
</data>
822+
<data name="RunCardsHelp" xml:space="preserve">
823+
<value>حزم استجابة مخطط لها مسبقًا تُطابق مع النداءات حسب الأولوية والنوع. تحدد كل بطاقة أنواع الوحدات وأدوار الأفراد لكل مستوى إنذار والحالات التي تعتبر متاحة.</value>
824+
</data>
825+
<data name="NewRunCardButton" xml:space="preserve">
826+
<value>بطاقة إرسال جديدة</value>
827+
</data>
828+
<data name="RunCardEditButton" xml:space="preserve">
829+
<value>تعديل</value>
830+
</data>
831+
<data name="RunCardDeleteConfirm" xml:space="preserve">
832+
<value>حذف هذه البطاقة؟ تحتفظ النداءات التي استخدمتها بالفعل بسجل الإرسال الخاص بها.</value>
833+
</data>
834+
<data name="RunCardNameLabel" xml:space="preserve">
835+
<value>الاسم</value>
836+
</data>
837+
<data name="RunCardDescriptionLabel" xml:space="preserve">
838+
<value>الوصف</value>
839+
</data>
840+
<data name="RunCardDisabledLabel" xml:space="preserve">
841+
<value>معطلة</value>
842+
</data>
843+
<data name="RunCardGeneralTab" xml:space="preserve">
844+
<value>عام</value>
845+
</data>
846+
<data name="RunCardDefaultLabel" xml:space="preserve">
847+
<value>الافتراضي للإدارة</value>
848+
</data>
849+
<data name="RunCardManualOnlyLabel" xml:space="preserve">
850+
<value>يدوي فقط (بدون اختيار تلقائي)</value>
851+
</data>
852+
<data name="RunCardPrePopulateLabel" xml:space="preserve">
853+
<value>تعبئة مسبقة لمراجعة المرسل</value>
854+
</data>
855+
<data name="RunCardAutoDispatchOptionLabel" xml:space="preserve">
856+
<value>إرسال تلقائي</value>
857+
</data>
858+
<data name="RunCardNoGateLabel" xml:space="preserve">
859+
<value>بدون شرط طاقم</value>
860+
</data>
861+
<data name="RunCardHomeStationLabel" xml:space="preserve">
862+
<value>المحطة الأم (تُستخدم عندما لا يكون للنداء موقع)</value>
863+
</data>
864+
<data name="RunCardNoHomeStationLabel" xml:space="preserve">
865+
<value>لا شيء</value>
866+
</data>
867+
<data name="RunCardTriggersHeader" xml:space="preserve">
868+
<value>المشغلات</value>
869+
</data>
870+
<data name="RunCardTriggersHelp" xml:space="preserve">
871+
<value>تتطابق البطاقة مع النداء عندما يتطابق أي مشغل. يفوز التطابق الأكثر تحديدًا (الأولوية + النوع يتغلب على النوع، الذي يتغلب على الأولوية).</value>
872+
</data>
873+
<data name="RunCardTriggerTypeLabel" xml:space="preserve">
874+
<value>نوع المشغل</value>
875+
</data>
876+
<data name="RunCardTriggerPriorityOption" xml:space="preserve">
877+
<value>أولوية النداء</value>
878+
</data>
879+
<data name="RunCardTriggerTypeOption" xml:space="preserve">
880+
<value>نوع النداء</value>
881+
</data>
882+
<data name="RunCardTriggerBothOption" xml:space="preserve">
883+
<value>الأولوية والنوع</value>
884+
</data>
885+
<data name="RunCardAddTriggerButton" xml:space="preserve">
886+
<value>إضافة مشغل</value>
887+
</data>
888+
<data name="RunCardAlarmLevelsHeader" xml:space="preserve">
889+
<value>مستويات الإنذار</value>
890+
</data>
891+
<data name="RunCardAlarmLevelsHelp" xml:space="preserve">
892+
<value>متطلبات كل مستوى إنذار تراكمية: التصعيد إلى المستوى 2 يرسل موارد المستوى 2 بالإضافة إلى ما تم تعيينه بالفعل.</value>
893+
</data>
894+
<data name="RunCardAlarmLevelLabel" xml:space="preserve">
895+
<value>إنذار</value>
896+
</data>
897+
<data name="RunCardAlarmLevelNamePlaceholder" xml:space="preserve">
898+
<value>اسم اختياري، مثل حريق مؤكد</value>
899+
</data>
900+
<data name="RunCardAddAlarmLevelButton" xml:space="preserve">
901+
<value>إضافة مستوى إنذار</value>
902+
</data>
903+
<data name="RunCardUnitRequirementsLabel" xml:space="preserve">
904+
<value>متطلبات أنواع الوحدات</value>
905+
</data>
906+
<data name="RunCardRoleRequirementsLabel" xml:space="preserve">
907+
<value>متطلبات أدوار الأفراد</value>
908+
</data>
909+
<data name="RunCardAddUnitRequirementButton" xml:space="preserve">
910+
<value>إضافة نوع وحدة</value>
911+
</data>
912+
<data name="RunCardAddRoleRequirementButton" xml:space="preserve">
913+
<value>إضافة دور</value>
914+
</data>
915+
<data name="RunCardSelectionsHeader" xml:space="preserve">
916+
<value>الحالات القابلة للإرسال</value>
917+
</data>
918+
<data name="RunCardSelectionsHelp" xml:space="preserve">
919+
<value>الحالات وأوضاع الجاهزية التي تعتبر متاحة لهذه البطاقة. اترك القسم فارغًا لاستخدام قواعد التوفر القياسية.</value>
920+
</data>
921+
<data name="RunCardStaffingSelectionsLabel" xml:space="preserve">
922+
<value>مستويات الجاهزية</value>
923+
</data>
924+
<data name="RunCardTestHeader" xml:space="preserve">
925+
<value>اختبار / محاكاة</value>
926+
</data>
927+
<data name="RunCardTestHelp" xml:space="preserve">
928+
<value>معاينة ما سترسله البطاقات الآن لأولوية ونوع وموقع — لا يتم إرسال أي شيء.</value>
929+
</data>
930+
<data name="RunCardRunTestButton" xml:space="preserve">
931+
<value>تشغيل الاختبار</value>
932+
</data>
933+
<data name="RunCardSavedMessage" xml:space="preserve">
934+
<value>تم حفظ البطاقة.</value>
935+
</data>
936+
<data name="CallPriority" xml:space="preserve">
937+
<value>أولوية النداء</value>
938+
</data>
939+
<data name="CallType" xml:space="preserve">
940+
<value>نوع النداء</value>
941+
</data>
942+
<data name="RunCardsNav" xml:space="preserve">
943+
<value>بطاقات الإرسال</value>
944+
</data>
741945
</root>

0 commit comments

Comments
 (0)