Skip to content

Commit 1a0db64

Browse files
authored
Merge pull request #302 from Resgrid/develop
RE1-T105 More custom maps work
2 parents 1e4c5be + ded7476 commit 1a0db64

139 files changed

Lines changed: 9628 additions & 1310 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/MappingConfig.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ public static class MappingConfig
5959

6060
public static string LeafletAttribution = "© OpenStreetMap contributors CC-BY-SA";
6161

62+
/***********************************
63+
* Geocoding and Routing Service URLs
64+
***********************************/
65+
public static string NominatimUrl = "https://nominatim.openstreetmap.org";
66+
public static string OsrmUrl = "https://router.project-osrm.org";
67+
6268
public static string GetWebsiteOSMUrl()
6369
{
6470
if (!string.IsNullOrWhiteSpace(WebsiteOSMKey))
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<root>
3+
<!--
4+
Microsoft ResX Schema
5+
6+
Version 2.0
7+
-->
8+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
9+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
10+
<xsd:element name="root" msdata:IsDataSet="true">
11+
<xsd:complexType>
12+
<xsd:choice maxOccurs="unbounded">
13+
<xsd:element name="metadata">
14+
<xsd:complexType>
15+
<xsd:sequence>
16+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
17+
</xsd:sequence>
18+
<xsd:attribute name="name" use="required" type="xsd:string" />
19+
<xsd:attribute name="type" type="xsd:string" />
20+
<xsd:attribute name="mimetype" type="xsd:string" />
21+
<xsd:attribute ref="xml:space" />
22+
</xsd:complexType>
23+
</xsd:element>
24+
<xsd:element name="assembly">
25+
<xsd:complexType>
26+
<xsd:attribute name="alias" type="xsd:string" />
27+
<xsd:attribute name="name" type="xsd:string" />
28+
</xsd:complexType>
29+
</xsd:element>
30+
<xsd:element name="data">
31+
<xsd:complexType>
32+
<xsd:sequence>
33+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
34+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
35+
</xsd:sequence>
36+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
37+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
38+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
39+
<xsd:attribute ref="xml:space" />
40+
</xsd:complexType>
41+
</xsd:element>
42+
<xsd:element name="resheader">
43+
<xsd:complexType>
44+
<xsd:sequence>
45+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
46+
</xsd:sequence>
47+
<xsd:attribute name="name" type="xsd:string" use="required" />
48+
</xsd:complexType>
49+
</xsd:element>
50+
</xsd:choice>
51+
</xsd:complexType>
52+
</xsd:element>
53+
</xsd:schema>
54+
<resheader name="resmimetype">
55+
<value>text/microsoft-resx</value>
56+
</resheader>
57+
<resheader name="version">
58+
<value>2.0</value>
59+
</resheader>
60+
<resheader name="reader">
61+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
62+
</resheader>
63+
<resheader name="writer">
64+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
65+
</resheader>
66+
<data name="CompletedInviteHeader" xml:space="preserve">
67+
<value>الدعوة المكتملة</value>
68+
</data>
69+
<data name="CompleteInviteHeader" xml:space="preserve">
70+
<value>إكمال الدعوة</value>
71+
</data>
72+
<data name="CompleteInviteText1" xml:space="preserve">
73+
<value>قدّم المعلومات لإنشاء حسابك الخاص في Resgrid والانضمام</value>
74+
</data>
75+
<data name="CompleteInviteText2" xml:space="preserve">
76+
<value>المعلومات التي تقدمها تُستخدم لإنشاء حسابك في Resgrid. إذا كان لديك حساب بالفعل، فسيتم ربط حسابك الحالي بالقسم كجزء من هذه الدعوة.</value>
77+
</data>
78+
<data name="CompleteInviteText3" xml:space="preserve">
79+
<value>إذا واجهتك صعوبة في إكمال الدعوة أو صادفت مشكلات، يُرجى التواصل مع مسؤول القسم للحصول على المساعدة. يمكنه إضافة حسابك يدويًا إذا لزم الأمر.</value>
80+
</data>
81+
<data name="ConfirmPassword" xml:space="preserve">
82+
<value>تأكيد كلمة المرور</value>
83+
</data>
84+
<data name="CreateAccount" xml:space="preserve">
85+
<value>إنشاء حساب</value>
86+
</data>
87+
<data name="DepartmentName" xml:space="preserve">
88+
<value>اسم القسم</value>
89+
</data>
90+
<data name="DontHaveAccount" xml:space="preserve">
91+
<value>ليس لديك حساب؟</value>
92+
</data>
93+
<data name="EmailAddress" xml:space="preserve">
94+
<value>البريد الإلكتروني</value>
95+
</data>
96+
<data name="FirstName" xml:space="preserve">
97+
<value>الاسم الأول</value>
98+
</data>
99+
<data name="ForgotPassword" xml:space="preserve">
100+
<value>نسيت اسم المستخدم أو كلمة المرور؟</value>
101+
</data>
102+
<data name="GoBack" xml:space="preserve">
103+
<value>العودة</value>
104+
</data>
105+
<data name="Home" xml:space="preserve">
106+
<value>الرئيسية</value>
107+
</data>
108+
<data name="InviteCompletedInfo" xml:space="preserve">
109+
<value>يبدو أن هذه الدعوة قد اكتملت بالفعل. إذا كان هذا خطأً، تواصل مع قسمك أو مؤسستك للحصول على دعوة أخرى، وإلا يمكنك تسجيل الدخول باسم المستخدم وكلمة المرور.</value>
110+
</data>
111+
<data name="InviteCompletedNotice" xml:space="preserve">
112+
<value>تمت الدعوة إلى Resgrid بالفعل</value>
113+
</data>
114+
<data name="LastName" xml:space="preserve">
115+
<value>اسم العائلة</value>
116+
</data>
117+
<data name="LockedOutHeader" xml:space="preserve">
118+
<value>الحساب مقفل</value>
119+
</data>
120+
<data name="LockedOutText" xml:space="preserve">
121+
<value>تم تأمين هذا الحساب، يُرجى المحاولة مرة أخرى بعد 30 دقيقة. تجدر الإشارة إلى أن الدعم لا يمكنه إلغاء تأمين الحساب نيابةً عنك.</value>
122+
</data>
123+
<data name="LogIn" xml:space="preserve">
124+
<value>تسجيل الدخول</value>
125+
</data>
126+
<data name="LoginMessage1" xml:space="preserve">
127+
<value>أدخل اسم المستخدم وكلمة المرور لتسجيل الدخول.</value>
128+
</data>
129+
<data name="LoginMessage2" xml:space="preserve">
130+
<value>إذا كان قسمك قد سجّل بالفعل، اطلب من مسؤول ذلك القسم إرسال دعوة لك.</value>
131+
</data>
132+
<data name="LoginMessage3" xml:space="preserve">
133+
<value>إذا لم يسجّل قسمك في Resgrid بعد، يمكنك إنشاء حساب جديد سيؤدي إلى إنشاء القسم تلقائيًا.</value>
134+
</data>
135+
<data name="LoginMessage4" xml:space="preserve">
136+
<value>تُجرى الصيانة أسبوعيًا كل سبت ابتداءً من الساعة 20:00 بتوقيت المحيط الهادئ.</value>
137+
</data>
138+
<data name="LogOnHeader" xml:space="preserve">
139+
<value>تسجيل الدخول</value>
140+
</data>
141+
<data name="MissingInviteBody" xml:space="preserve">
142+
<value>نأسف لعدم تمكننا من العثور على دعوتك إلى Resgrid. حاول أن يرسل لك قسمك أو مؤسستك دعوةً أخرى. إذا كان لديك حساب Resgrid بالفعل، يمكنك تسجيل الدخول أدناه.</value>
143+
</data>
144+
<data name="MissingInviteHeader" xml:space="preserve">
145+
<value>الدعوة مفقودة</value>
146+
</data>
147+
<data name="MissingInviteTopText" xml:space="preserve">
148+
<value>تعذّر العثور على دعوتك إلى Resgrid</value>
149+
</data>
150+
<data name="Notice" xml:space="preserve">
151+
<value>إشعار</value>
152+
</data>
153+
<data name="Password" xml:space="preserve">
154+
<value>كلمة المرور</value>
155+
</data>
156+
<data name="PasswordHelp" xml:space="preserve">
157+
<value>يجب أن تكون كلمة المرور 8 أحرف على الأقل وتشمل رقمًا وحرفًا كبيرًا وحرفًا صغيرًا</value>
158+
</data>
159+
<data name="PrivacyPolicy" xml:space="preserve">
160+
<value>سياسة الخصوصية</value>
161+
</data>
162+
<data name="RecoverAccountSuccess" xml:space="preserve">
163+
<value>إذا كان عنوان بريدك الإلكتروني صحيحًا، فقد أعدنا تعيين كلمة مرورك وأرسلنا اسم المستخدم وكلمة المرور الجديدة إلى العنوان المُدخَل. قد يتأخر تسليم البريد الإلكتروني حتى 15 دقيقة، &lt;b&gt;تحقق أيضًا من مجلد البريد غير الهام إذا لم يصل البريد&lt;/b&gt; بحلول ذلك الوقت.</value>
164+
</data>
165+
<data name="RecoverAccountText" xml:space="preserve">
166+
<value>قدّم عنوان البريد الإلكتروني المرتبط بحساب Resgrid الخاص بك. سنرسل لك بريدًا إلكترونيًا يحتوي على اسم المستخدم وكلمة مرور جديدة لتسجيل الدخول.</value>
167+
</data>
168+
<data name="RecoveryAccountHeader" xml:space="preserve">
169+
<value>استرداد الحساب</value>
170+
</data>
171+
<data name="RegisterHeader" xml:space="preserve">
172+
<value>التسجيل</value>
173+
</data>
174+
<data name="RegisterText1" xml:space="preserve">
175+
<value>التسجيل في Resgrid سهل كالعد من 1 إلى 3!</value>
176+
</data>
177+
<data name="RegisterText2" xml:space="preserve">
178+
<value>أن يملأ شخص واحد من مؤسستك هذا النموذج</value>
179+
</data>
180+
<data name="RegisterText3" xml:space="preserve">
181+
<value>بعد التسجيل، يمكنك دعوة أشخاص أو إضافتهم من صفحة الموظفين داخل التطبيق</value>
182+
</data>
183+
<data name="RegisterText4" xml:space="preserve">
184+
<value>هذا كل شيء! يحتاج شخص واحد فقط إلى تسجيل المؤسسة</value>
185+
</data>
186+
<data name="RegisterText5" xml:space="preserve">
187+
<value>إذا كان شخص في مؤسستك &lt;b&gt;يمتلك حسابًا بالفعل في Resgrid&lt;/b&gt;، اطلب منه دعوتك إلى قسمه بدلًا من إنشاء قسم جديد، إذا أردت استخدام Resgrid معه.</value>
188+
</data>
189+
<data name="Resgister" xml:space="preserve">
190+
<value>تسجيل</value>
191+
</data>
192+
<data name="SignUpTerms1" xml:space="preserve">
193+
<value>بالتسجيل، تقبل</value>
194+
</data>
195+
<data name="TermsOfUse" xml:space="preserve">
196+
<value>شروط الاستخدام</value>
197+
</data>
198+
<data name="Username" xml:space="preserve">
199+
<value>اسم المستخدم</value>
200+
</data>
201+
</root>
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<root>
3+
<!--
4+
Microsoft ResX Schema
5+
6+
Version 2.0
7+
8+
The primary goals of this format is to allow a simple XML format
9+
that is mostly human readable. The generation and parsing of the
10+
various data types are done through the TypeConverter classes
11+
associated with the data types.
12+
13+
Example:
14+
15+
... ado.net/XML headers & schema ...
16+
<resheader name="resmimetype">text/microsoft-resx</resheader>
17+
<resheader name="version">2.0</resheader>
18+
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
19+
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20+
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
21+
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
22+
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
23+
<value>[base64 mime encoded serialized .NET Framework object]</value>
24+
</data>
25+
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
26+
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
27+
<comment>This is a comment</comment>
28+
</data>
29+
30+
There are any number of "resheader" rows that contain simple
31+
name/value pairs.
32+
33+
Each data row contains a name, and value. The row also contains a
34+
type or mimetype. Type corresponds to a .NET class that support
35+
text/value conversion through the TypeConverter architecture.
36+
Classes that don't support this are serialized and stored with the
37+
mimetype set.
38+
39+
The mimetype is used for serialized objects, and tells the
40+
ResXResourceReader how to depersist the object. This is currently not
41+
extensible. For a given mimetype the value must be set accordingly:
42+
43+
Note - application/x-microsoft.net.object.binary.base64 is the format
44+
that the ResXResourceWriter will generate, however the reader can
45+
read any of the formats listed below.
46+
47+
mimetype: application/x-microsoft.net.object.binary.base64
48+
value : The object must be serialized with
49+
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
50+
: and then encoded with base64 encoding.
51+
52+
mimetype: application/x-microsoft.net.object.soap.base64
53+
value : The object must be serialized with
54+
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
55+
: and then encoded with base64 encoding.
56+
57+
mimetype: application/x-microsoft.net.object.bytearray.base64
58+
value : The object must be serialized into a byte array
59+
: using a System.ComponentModel.TypeConverter
60+
: and then encoded with base64 encoding.
61+
-->
62+
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
63+
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
64+
<xsd:element name="root" msdata:IsDataSet="true">
65+
<xsd:complexType>
66+
<xsd:choice maxOccurs="unbounded">
67+
<xsd:element name="metadata">
68+
<xsd:complexType>
69+
<xsd:sequence>
70+
<xsd:element name="value" type="xsd:string" minOccurs="0" />
71+
</xsd:sequence>
72+
<xsd:attribute name="name" use="required" type="xsd:string" />
73+
<xsd:attribute name="type" type="xsd:string" />
74+
<xsd:attribute name="mimetype" type="xsd:string" />
75+
<xsd:attribute ref="xml:space" />
76+
</xsd:complexType>
77+
</xsd:element>
78+
<xsd:element name="assembly">
79+
<xsd:complexType>
80+
<xsd:attribute name="alias" type="xsd:string" />
81+
<xsd:attribute name="name" type="xsd:string" />
82+
</xsd:complexType>
83+
</xsd:element>
84+
<xsd:element name="data">
85+
<xsd:complexType>
86+
<xsd:sequence>
87+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
88+
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
89+
</xsd:sequence>
90+
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
91+
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
92+
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
93+
<xsd:attribute ref="xml:space" />
94+
</xsd:complexType>
95+
</xsd:element>
96+
<xsd:element name="resheader">
97+
<xsd:complexType>
98+
<xsd:sequence>
99+
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
100+
</xsd:sequence>
101+
<xsd:attribute name="name" type="xsd:string" use="required" />
102+
</xsd:complexType>
103+
</xsd:element>
104+
</xsd:choice>
105+
</xsd:complexType>
106+
</xsd:element>
107+
</xsd:schema>
108+
<resheader name="resmimetype">
109+
<value>text/microsoft-resx</value>
110+
</resheader>
111+
<resheader name="version">
112+
<value>2.0</value>
113+
</resheader>
114+
<resheader name="reader">
115+
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
116+
</resheader>
117+
<resheader name="writer">
118+
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119+
</resheader>
120+
<data name="CheckToDelete" xml:space="preserve">
121+
<value>ضع علامة في مربع الاختيار أدناه للتأكيد على أنك تفهم ما سبق وتريد حذف حسابك.</value>
122+
</data>
123+
<data name="ConfirmDelete" xml:space="preserve">
124+
<value>ضع علامة في المربع للتأكيد</value>
125+
</data>
126+
<data name="DeleteAccountHeader" xml:space="preserve">
127+
<value>حذف حسابك</value>
128+
</data>
129+
<data name="DeleteAreYouSure1" xml:space="preserve">
130+
<value>يمكنك هنا حذف حسابك الشخصي في نظام Resgrid. إذا كنت مالك حساب في أي قسم في نظام Resgrid، فيجب عليك حذف حسابك عن طريق حذف ذلك القسم أو نقل ملكيته إلى شخص آخر عبر تعديل إعدادات القسم.</value>
131+
</data>
132+
<data name="DeleteAreYouSure2" xml:space="preserve">
133+
<value>إذا كنت ترغب في مغادرة قسم، فيُنصح بأن يقوم مديرو القسم بحذف حسابك عبر قائمة الأفراد. ولكن إذا لم يكن ذلك ممكناً، يمكنك حذف حسابك بنفسك من هنا.</value>
134+
</data>
135+
<data name="DeleteAreYouSure3" xml:space="preserve">
136+
<value>يُرجى ملاحظة أن البيانات المقدمة إلى Resgrid لقسم ما تخص ذلك القسم وقد تخضع لسياسات الاحتفاظ بالبيانات والقوانين السارية في نطاق القسم. سيؤدي حذف حسابك إلى مسح معلوماتك الشخصية (PII) وحذف بيانات تسجيل الدخول، لكنه لن يمسح جميع البيانات. ستحتاج إلى تقديم طلب إلى القسم الذي كنت منتمياً إليه إذا كنت تريد مسح جميع البيانات.</value>
137+
</data>
138+
<data name="DepartmentOwnerError" xml:space="preserve">
139+
<value>لا يمكنك حذف حسابك لأنك مالك قسم. إذا كنت ترغب في حذف القسم، ستحتاج إلى الوصول إليه عبر صفحة إعدادات القسم. إذا كنت تريد الاحتفاظ بالقسم، فاختر شخصاً آخر ليكون مالكاً للقسم ثم حاول حذف حسابك مرة أخرى.</value>
140+
</data>
141+
</root>

0 commit comments

Comments
 (0)