diff --git a/Core/Resgrid.Framework/JsonInput.cs b/Core/Resgrid.Framework/JsonInput.cs new file mode 100644 index 000000000..32819cacd --- /dev/null +++ b/Core/Resgrid.Framework/JsonInput.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Globalization; +using System.Linq; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Serialization; +using System.Text.Json; + +namespace Resgrid.Framework +{ + /// Strict validation for JSON supplied by a person, before Json.NET can coerce field types. + public static class JsonInput + { + private static readonly DefaultContractResolver Contracts = new DefaultContractResolver(); + public const int MaximumLength = 2 * 1024 * 1024; + + public static T Read(string json, string field = "JSON") + { + if (string.IsNullOrWhiteSpace(json)) throw new JsonInputException(field + ": enter JSON using the example shown on this form."); + if (json.Length > MaximumLength) throw new JsonInputException(field + ": reduce the JSON to less than 2 MB."); + try + { + using var document = JsonDocument.Parse(json, new JsonDocumentOptions { MaxDepth = 64 }); + var errors = new List(); + Validate(document.RootElement, typeof(T), "$", errors, false); + if (errors.Count > 0) throw new JsonInputException(field + ": " + string.Join(" ", errors)); + return JsonConvert.DeserializeObject(json, new JsonSerializerSettings { MaxDepth = 64, TypeNameHandling = TypeNameHandling.None, DateParseHandling = DateParseHandling.None }); + } + catch (System.Text.Json.JsonException ex) + { + throw new JsonInputException($"{field}: invalid JSON at line {ex.LineNumber + 1}, byte {ex.BytePositionInLine + 1}. Check double quotes, commas, brackets and braces; comments and trailing commas are not allowed."); + } + catch (Newtonsoft.Json.JsonException ex) + { + var path = (ex as JsonSerializationException)?.Path; + throw new JsonInputException($"{field}: {path ?? "$"} cannot be read. Use the field type and format shown in the schema."); + } + } + + private static void Validate(JsonElement value, Type type, string path, List errors, bool allowNull) + { + if (errors.Count >= 20) return; + var underlying = Nullable.GetUnderlyingType(type); + if (value.ValueKind == JsonValueKind.Null) + { + if (!allowNull && underlying == null) errors.Add(path + ": null is not allowed; supply a value of the documented type."); + return; + } + type = underlying ?? type; + var contract = Contracts.ResolveContract(type); + if (contract is JsonDictionaryContract dictionary) + { + if (!Expect(value, JsonValueKind.Object, path, "an object { ... }", errors)) return; + var names = new HashSet(StringComparer.OrdinalIgnoreCase); + foreach (var entry in value.EnumerateObject()) + { + if (errors.Count >= 20) break; + var entryPath = path + "[" + JsonConvert.ToString(entry.Name) + "]"; + if (!names.Add(entry.Name)) errors.Add(entryPath + ": duplicate field; keep only one value."); + if (dictionary.DictionaryKeyType == typeof(int) && (!int.TryParse(entry.Name, NumberStyles.None, CultureInfo.InvariantCulture, out var key) || key < 1)) + errors.Add(entryPath + ": use a positive whole-number version as the key, for example \"1\"."); + Validate(entry.Value, dictionary.DictionaryValueType, entryPath, errors, false); + } + } + else if (contract is JsonArrayContract array) + { + if (!Expect(value, JsonValueKind.Array, path, "an array [ ... ]", errors)) return; + var index = 0; + foreach (var item in value.EnumerateArray()) Validate(item, array.CollectionItemType, path + "[" + index++ + "]", errors, false); + } + else if (contract is JsonObjectContract obj) + { + if (!Expect(value, JsonValueKind.Object, path, "an object { ... }", errors)) return; + var properties = obj.Properties.Where(p => !p.Ignored && p.Writable).ToList(); + var names = new HashSet(StringComparer.OrdinalIgnoreCase); + foreach (var entry in value.EnumerateObject()) + { + if (errors.Count >= 20) break; + if (!names.Add(entry.Name)) errors.Add(path + "." + entry.Name + ": duplicate field; keep only one value."); + var property = properties.FirstOrDefault(p => string.Equals(p.PropertyName, entry.Name, StringComparison.OrdinalIgnoreCase)); + if (property == null) { errors.Add(path + "." + entry.Name + ": unknown field; remove it or use a field name from the schema."); continue; } + Validate(entry.Value, property.PropertyType, path + "." + entry.Name, errors, AllowsNull(property)); + } + foreach (var property in properties) + { + var required = property.AttributeProvider.GetAttributes(typeof(RequiredAttribute), true).Any(); + if (required && !value.EnumerateObject().Any(p => string.Equals(p.Name, property.PropertyName, StringComparison.OrdinalIgnoreCase) && p.Value.ValueKind != JsonValueKind.Null && (p.Value.ValueKind != JsonValueKind.String || !string.IsNullOrWhiteSpace(p.Value.GetString())))) + errors.Add(path + "." + property.PropertyName + ": required; supply a non-empty value."); + } + } + else if (type.IsEnum) + { + var valid = value.ValueKind == JsonValueKind.String && Enum.GetNames(type).Contains(value.GetString()); + if (value.ValueKind == JsonValueKind.Number && value.TryGetInt32(out var number)) valid = Enum.IsDefined(type, number); + if (!valid) errors.Add(path + ": choose one of " + string.Join(", ", Enum.GetNames(type)) + " (or its integer value in the schema)."); + } + else if (type == typeof(string)) Expect(value, JsonValueKind.String, path, "a string in double quotes", errors); + else if (type == typeof(bool)) + { + if (value.ValueKind != JsonValueKind.True && value.ValueKind != JsonValueKind.False) errors.Add(path + ": expected true or false, without quotes."); + } + else if (type == typeof(DateTime) || type == typeof(DateTimeOffset)) + { + if (value.ValueKind != JsonValueKind.String || !value.TryGetDateTime(out _)) errors.Add(path + ": use an ISO date such as \"2026-09-22\" or date/time such as \"2026-09-22T14:30:00Z\"."); + } + else if (type == typeof(int) || type == typeof(long)) + { + if (value.ValueKind != JsonValueKind.Number || (type == typeof(int) ? !value.TryGetInt32(out _) : !value.TryGetInt64(out _))) errors.Add(path + ": expected a whole number within " + (type == typeof(int) ? "-2147483648 to 2147483647" : "the 64-bit integer range") + ", without quotes or decimals."); + } + else if (type == typeof(decimal) || type == typeof(double) || type == typeof(float)) + { + if (value.ValueKind != JsonValueKind.Number || !value.TryGetDecimal(out _)) errors.Add(path + ": expected a number such as 12.50, without quotes, currency symbols or thousands separators."); + } + else throw new InvalidOperationException("Unsupported JSON input type: " + type.FullName); + } + + private static bool AllowsNull(Newtonsoft.Json.Serialization.JsonProperty property) => !property.PropertyType.IsValueType + && property.Required != Required.DisallowNull && property.Required != Required.Always + && !property.AttributeProvider.GetAttributes(typeof(RequiredAttribute), true).Any(); + + private static bool Expect(JsonElement value, JsonValueKind kind, string path, string expected, List errors) + { + if (value.ValueKind == kind) return true; + errors.Add(path + ": expected " + expected + "; received " + value.ValueKind.ToString().ToLowerInvariant() + "."); + return false; + } + + /// Documentation uses the same CLR contracts as validation, including recursive record rules. + public static string Schema() + { + var definitions = new JObject(); + var schema = Describe(typeof(T), definitions, false); + schema["$schema"] = "https://json-schema.org/draft/2020-12/schema"; + schema["$defs"] = definitions; + return schema.ToString(Formatting.Indented); + } + + private static JObject Describe(Type type, JObject definitions, bool allowNull) + { + var underlying = Nullable.GetUnderlyingType(type); + if (underlying != null || allowNull) return new JObject { ["anyOf"] = new JArray(Describe(underlying ?? type, definitions, false), new JObject { ["type"] = "null" }) }; + var contract = Contracts.ResolveContract(type); + if (contract is JsonDictionaryContract dictionary) + { + var result = new JObject { ["type"] = "object", ["additionalProperties"] = Describe(dictionary.DictionaryValueType, definitions, false) }; + if (dictionary.DictionaryKeyType == typeof(int)) result["propertyNames"] = new JObject { ["pattern"] = "^[1-9][0-9]*$" }; + return result; + } + if (contract is JsonArrayContract array) return new JObject { ["type"] = "array", ["items"] = Describe(array.CollectionItemType, definitions, false) }; + if (contract is JsonObjectContract obj) + { + var key = type.Name; + if (definitions[key] == null) + { + var properties = new JObject(); + var required = new JArray(); + definitions[key] = new JObject { ["type"] = "object", ["additionalProperties"] = false, ["properties"] = properties, ["required"] = required }; + foreach (var property in obj.Properties.Where(p => !p.Ignored && p.Writable)) + { + var isRequired = property.AttributeProvider.GetAttributes(typeof(RequiredAttribute), true).Any(); + properties[property.PropertyName] = Describe(property.PropertyType, definitions, AllowsNull(property)); + if (isRequired) { required.Add(property.PropertyName); if (property.PropertyType == typeof(string)) properties[property.PropertyName]["minLength"] = 1; } + } + } + return new JObject { ["$ref"] = "#/$defs/" + key }; + } + if (type.IsEnum) return new JObject { ["enum"] = new JArray(Enum.GetNames(type).Cast().Concat(Enum.GetValues(type).Cast().Select(v => (object)Convert.ToInt32(v)))) }; + if (type == typeof(string)) return new JObject { ["type"] = "string" }; + if (type == typeof(bool)) return new JObject { ["type"] = "boolean" }; + if (type == typeof(DateTime) || type == typeof(DateTimeOffset)) return new JObject { ["type"] = "string", ["description"] = "ISO 8601 date or date/time, e.g. 2026-09-22 or 2026-09-22T14:30:00Z" }; + if (type == typeof(int) || type == typeof(long)) return new JObject { ["type"] = "integer", ["minimum"] = type == typeof(int) ? int.MinValue : long.MinValue, ["maximum"] = type == typeof(int) ? int.MaxValue : long.MaxValue }; + return new JObject { ["type"] = "number" }; + } + } + + public sealed class JsonInputException : InvalidOperationException + { + public JsonInputException(string message) : base(message) { } + } +} diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.ar.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.ar.resx index d597387c0..5e6fca27b 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.ar.resx @@ -225,4 +225,8 @@ تمت إزالة شهادة وحدة تمت إزالة شهادة تمت إضافة ساعات اعتماد شهادة + إضافة شهادة + اختر عضوًا + اختر نوع الشهادة + أدخل اسم الشهادة. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.de.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.de.resx index 4dc0e9552..61b9eeaad 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.de.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.de.resx @@ -225,4 +225,8 @@ Einheitszertifizierung entfernt Zertifizierung entfernt Fortbildungspunkte hinzugefügt + Zertifizierung hinzufügen + Mitglied auswählen + Zertifizierungstyp auswählen + Geben Sie einen Namen für die Zertifizierung ein. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.el.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.el.resx index f7a40d7c5..92f8cda25 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.el.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.el.resx @@ -225,4 +225,8 @@ Αφαιρέθηκε πιστοποίηση μονάδας Αφαιρέθηκε πιστοποίηση Προστέθηκαν μονάδες πιστοποίησης + Προσθήκη πιστοποίησης + Επιλέξτε μέλος + Επιλέξτε τύπο πιστοποίησης + Εισαγάγετε όνομα πιστοποίησης. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.en.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.en.resx index b4b922250..b7ee5901a 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.en.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.en.resx @@ -225,4 +225,8 @@ Unit certification removed Certification removed Certification credit added + Add Certification + Select a member + Select a certification type + Enter a certification name. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.es.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.es.resx index 6545fc354..726506f60 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.es.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.es.resx @@ -225,4 +225,8 @@ Certificación de unidad eliminada Certificación eliminada Créditos de certificación añadidos + Añadir certificación + Seleccione un miembro + Seleccione un tipo de certificación + Introduzca un nombre para la certificación. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.fr.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.fr.resx index 4ac0c32e3..e94297e96 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.fr.resx @@ -225,4 +225,8 @@ Certification d'unité supprimée Certification supprimée Crédits de certification ajoutés + Ajouter une certification + Sélectionnez un membre + Sélectionnez un type de certification + Saisissez un nom de certification. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.it.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.it.resx index bbf308d03..039e8c9b2 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.it.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.it.resx @@ -225,4 +225,8 @@ Certificazione unità rimossa Certificazione rimossa Crediti di certificazione aggiunti + Aggiungi certificazione + Seleziona un membro + Seleziona un tipo di certificazione + Inserisci un nome per la certificazione. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.pl.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.pl.resx index 8731330b9..9c526a853 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.pl.resx @@ -225,4 +225,8 @@ Usunięto certyfikat jednostki Usunięto certyfikat Dodano punkty certyfikacji + Dodaj certyfikat + Wybierz członka + Wybierz typ certyfikatu + Wprowadź nazwę certyfikatu. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.resx index b4b922250..b7ee5901a 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.resx @@ -225,4 +225,8 @@ Unit certification removed Certification removed Certification credit added + Add Certification + Select a member + Select a certification type + Enter a certification name. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.sv.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.sv.resx index 432f80968..e20d67511 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.sv.resx @@ -225,4 +225,8 @@ Enhetscertifiering borttagen Certifiering borttagen Certifieringspoäng tillagda + Lägg till certifiering + Välj en medlem + Välj en certifieringstyp + Ange ett namn på certifieringen. diff --git a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.uk.resx b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.uk.resx index 8e6f9f2b7..efac303bb 100644 --- a/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/Certifications/Certifications.uk.resx @@ -225,4 +225,8 @@ Вилучено сертифікацію підрозділу Вилучено сертифікацію Додано кредити сертифікації + Додати сертифікацію + Виберіть учасника + Виберіть тип сертифікації + Введіть назву сертифікації. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.ar.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.ar.resx index 2c89cd21e..a563ae042 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.ar.resx @@ -233,7 +233,7 @@ الحد الأقصى لأيام الانتشار رمز الوجبة أهلية الوجبات - نوافذ JSON لكل رمز وجبة، مثل [{"MealCode":"B","StartsBeforeMinutes":420}]؛ البدل خارج نافذته يُنبَّه عنه ولا يُمنع. + أضف قاعدة لكل رمز وجبة (مثل B للإفطار). أدخل أوقات حدود الوردية بالتوقيت المحلي؛ اترك الوقت فارغًا إذا لم يكن هناك حد. تُظهر المطالبات خارج هذه الحدود تحذيرًا ويمكن تقديمها. مفقود التعبئة المسبقة بالمضاعف الأساس + الاستعداد + مضاعفات الإضافي تُنشئ الشرائح الساعية؛ تبقى القيم المخزنة مبالغ صريحة. @@ -428,4 +428,12 @@ لا يمكن أن تكون العلاوات سالبة. تحتاج العلاوة إلى اسم. لم يتم العثور على العلاوة. + لا توجد قواعد لأهلية الوجبات. أضف قاعدة لتحديد الحدود الزمنية. + إضافة قاعدة وجبة + إزالة قاعدة وجبة + تبدأ الوردية في أو قبل + تنتهي الوردية في أو بعد + أدخل رمز وجبة من حرف واحد إلى 10 أحرف. + يمكن أن يكون لكل رمز وجبة قاعدة أهلية واحدة فقط. + أدخل وقتًا صالحًا من 00:00 إلى 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.de.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.de.resx index 081954c6e..4d5af539a 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.de.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.de.resx @@ -233,7 +233,7 @@ Max. Einsatztage Verpflegungscode Verpflegungsanspruch - JSON-Fenster je Verpflegungscode, z. B. [{"MealCode":"B","StartsBeforeMinutes":420}]; ein Tagegeld außerhalb wird gewarnt, nicht blockiert. + Fügen Sie für jeden Verpflegungscode eine Regel hinzu (z. B. B für Frühstück). Geben Sie die lokalen Schichtgrenzzeiten ein; ein leeres Zeitfeld bedeutet keine Begrenzung. Ansprüche außerhalb dieser Grenzen lösen eine Warnung aus und können weiterhin eingereicht werden. Fehlt Vorbelegung per Multiplikator Basis + Bereitschaft + ÜS-Multiplikatoren erzeugen die Stundenbänder; gespeichert werden explizite Beträge. @@ -428,4 +428,12 @@ Zuschläge dürfen nicht negativ sein. Der Zuschlag braucht einen Namen. Der Zuschlag wurde nicht gefunden. + Keine Verpflegungsregeln. Fügen Sie eine Regel hinzu, um Zeitgrenzen festzulegen. + Verpflegungsregel hinzufügen + Verpflegungsregel entfernen + Schichtbeginn spätestens um + Schichtende frühestens um + Geben Sie einen Verpflegungscode mit 1 bis 10 Zeichen ein. + Jeder Verpflegungscode darf nur eine Anspruchsregel haben. + Geben Sie eine gültige Uhrzeit von 00:00 bis 23:59 ein. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.el.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.el.resx index f4a0d98d0..a66af4936 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.el.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.el.resx @@ -233,7 +233,7 @@ Μέγ. ημέρες ανάπτυξης Κωδικός γεύματος Δικαίωμα γευμάτων - Παράθυρα JSON ανά κωδικό γεύματος, π.χ. [{"MealCode":"B","StartsBeforeMinutes":420}]· ημερήσια αποζημίωση εκτός παραθύρου προειδοποιεί, δεν μπλοκάρει. + Προσθέστε έναν κανόνα για κάθε κωδικό γεύματος (π.χ. B για πρωινό). Εισαγάγετε τα τοπικά χρονικά όρια της βάρδιας· αφήστε την ώρα κενή αν δεν υπάρχει όριο. Οι αιτήσεις εκτός αυτών των ορίων εμφανίζουν προειδοποίηση και μπορούν να υποβληθούν. Λείπει Προσυμπλήρωση με πολλαπλασιαστή Βάση + αναμονή + πολλαπλασιαστές ΥΠ δημιουργούν τις ωριαίες ζώνες· οι αποθηκευμένες τιμές μένουν ρητά ποσά. @@ -428,4 +428,12 @@ Οι προσαυξήσεις δεν μπορούν να είναι αρνητικές. Η προσαύξηση χρειάζεται όνομα. Η προσαύξηση δεν βρέθηκε. + Δεν υπάρχουν κανόνες δικαιώματος γευμάτων. Προσθέστε έναν κανόνα για να ορίσετε χρονικά όρια. + Προσθήκη κανόνα γεύματος + Αφαίρεση κανόνα γεύματος + Η βάρδια αρχίζει το αργότερο στις + Η βάρδια τελειώνει το νωρίτερο στις + Εισαγάγετε κωδικό γεύματος με 1 έως 10 χαρακτήρες. + Κάθε κωδικός γεύματος μπορεί να έχει μόνο έναν κανόνα δικαιώματος. + Εισαγάγετε έγκυρη ώρα από 00:00 έως 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.en.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.en.resx index 61df303a0..8c1c46bc6 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.en.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.en.resx @@ -233,7 +233,7 @@ Max deployment days Meal code Meal eligibility - JSON windows per meal code, e.g. [{"MealCode":"B","StartsBeforeMinutes":420}]; a per diem outside its window is warned, not blocked. + Add a rule for each meal code (for example, B for breakfast). Enter local shift cutoff times; leave a time blank for no limit. Claims outside these limits show a warning and can still be submitted. Missing Multiplier prefill Base + standby + OT multipliers draft the hourly bands; the stored values stay explicit dollars. @@ -428,4 +428,12 @@ Premium adders cannot be negative. The premium needs a name. The premium was not found. + No meal eligibility rules. Add a rule to set time limits. + Add meal rule + Remove meal rule + Shift starts at or before + Shift ends at or after + Enter a meal code of 1 to 10 characters. + Each meal code can have only one eligibility rule. + Enter a valid time from 00:00 to 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.es.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.es.resx index 8101830d2..8deb5af00 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.es.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.es.resx @@ -233,7 +233,7 @@ Días máximos de despliegue Código de comida Elegibilidad de comidas - Ventanas JSON por código de comida, p. ej. [{"MealCode":"B","StartsBeforeMinutes":420}]; una dieta fuera de ventana se avisa, no se bloquea. + Añada una regla para cada código de comida (por ejemplo, B para desayuno). Introduzca las horas límite locales del turno; deje una hora en blanco si no hay límite. Las solicitudes fuera de estos límites muestran una advertencia y pueden enviarse. Falta Prellenado por multiplicador Base + espera + multiplicadores de HE generan las bandas horarias; los valores guardados siguen siendo importes explícitos. @@ -428,4 +428,12 @@ Los recargos no pueden ser negativos. El recargo necesita un nombre. No se encontró el recargo. + No hay reglas de elegibilidad de comidas. Añada una regla para establecer límites horarios. + Añadir regla de comida + Eliminar regla de comida + El turno empieza a más tardar a las + El turno termina como mínimo a las + Introduzca un código de comida de 1 a 10 caracteres. + Cada código de comida solo puede tener una regla de elegibilidad. + Introduzca una hora válida entre 00:00 y 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.fr.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.fr.resx index a4f5422ae..a13a0a3bc 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.fr.resx @@ -233,7 +233,7 @@ Jours de déploiement max Code repas Éligibilité aux repas - Fenêtres JSON par code repas, p. ex. [{"MealCode":"B","StartsBeforeMinutes":420}] ; une indemnité hors fenêtre est signalée, pas bloquée. + Ajoutez une règle par code repas (par exemple, B pour le petit-déjeuner). Saisissez les heures limites locales du service ; laissez une heure vide pour ne pas fixer de limite. Les demandes hors de ces limites affichent un avertissement et peuvent toujours être envoyées. Manquant Préremplissage par multiplicateur Base + attente + multiplicateurs HS génèrent les tranches horaires ; les valeurs enregistrées restent des montants explicites. @@ -428,4 +428,12 @@ Les majorations ne peuvent pas être négatives. La majoration a besoin d'un nom. La majoration est introuvable. + Aucune règle d’éligibilité aux repas. Ajoutez une règle pour définir des limites horaires. + Ajouter une règle de repas + Supprimer la règle de repas + Le service commence au plus tard à + Le service se termine au plus tôt à + Saisissez un code repas de 1 à 10 caractères. + Chaque code repas ne peut avoir qu’une seule règle d’éligibilité. + Saisissez une heure valide entre 00:00 et 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.it.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.it.resx index 19d15ed4d..65e770047 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.it.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.it.resx @@ -233,7 +233,7 @@ Giorni massimi di intervento Codice pasto Diritto ai pasti - Finestre JSON per codice pasto, es. [{"MealCode":"B","StartsBeforeMinutes":420}]; una diaria fuori finestra genera un avviso, non un blocco. + Aggiungi una regola per ogni codice pasto (ad esempio, B per la colazione). Inserisci gli orari limite locali del turno; lascia vuoto un orario per non applicare limiti. Le richieste fuori da questi limiti mostrano un avviso e possono comunque essere inviate. Mancante Precompilazione con moltiplicatore Base + attesa + moltiplicatori STR generano le fasce orarie; i valori salvati restano importi espliciti. @@ -428,4 +428,12 @@ Le maggiorazioni non possono essere negative. La maggiorazione richiede un nome. Maggiorazione non trovata. + Nessuna regola di idoneità ai pasti. Aggiungi una regola per impostare i limiti orari. + Aggiungi regola pasto + Rimuovi regola pasto + Il turno inizia entro le + Il turno termina non prima delle + Inserisci un codice pasto da 1 a 10 caratteri. + Ogni codice pasto può avere una sola regola di idoneità. + Inserisci un orario valido tra 00:00 e 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.pl.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.pl.resx index d54252aed..350d128af 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.pl.resx @@ -233,7 +233,7 @@ Maks. dni wyjazdu Kod posiłku Uprawnienia do posiłków - Okna JSON na kod posiłku, np. [{"MealCode":"B","StartsBeforeMinutes":420}]; dieta poza oknem jest ostrzeżeniem, nie blokadą. + Dodaj regułę dla każdego kodu posiłku (np. B dla śniadania). Wprowadź lokalne godziny graniczne zmiany; pozostaw godzinę pustą, aby nie stosować limitu. Wnioski poza tymi limitami wyświetlają ostrzeżenie i nadal można je przesłać. Brak Wstępne wypełnienie mnożnikiem Baza + gotowość + mnożniki nadgodzin tworzą pasma godzinowe; zapisane wartości pozostają jawnymi kwotami. @@ -428,4 +428,12 @@ Dodatki nie mogą być ujemne. Dodatek wymaga nazwy. Nie znaleziono dodatku. + Brak reguł uprawnień do posiłków. Dodaj regułę, aby ustawić limity godzinowe. + Dodaj regułę posiłku + Usuń regułę posiłku + Zmiana zaczyna się najpóźniej o + Zmiana kończy się najwcześniej o + Wprowadź kod posiłku o długości od 1 do 10 znaków. + Każdy kod posiłku może mieć tylko jedną regułę uprawnień. + Wprowadź prawidłową godzinę od 00:00 do 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.resx index 61df303a0..8c1c46bc6 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.resx @@ -233,7 +233,7 @@ Max deployment days Meal code Meal eligibility - JSON windows per meal code, e.g. [{"MealCode":"B","StartsBeforeMinutes":420}]; a per diem outside its window is warned, not blocked. + Add a rule for each meal code (for example, B for breakfast). Enter local shift cutoff times; leave a time blank for no limit. Claims outside these limits show a warning and can still be submitted. Missing Multiplier prefill Base + standby + OT multipliers draft the hourly bands; the stored values stay explicit dollars. @@ -428,4 +428,12 @@ Premium adders cannot be negative. The premium needs a name. The premium was not found. + No meal eligibility rules. Add a rule to set time limits. + Add meal rule + Remove meal rule + Shift starts at or before + Shift ends at or after + Enter a meal code of 1 to 10 characters. + Each meal code can have only one eligibility rule. + Enter a valid time from 00:00 to 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.sv.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.sv.resx index d1b7c7100..1be677e53 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.sv.resx @@ -233,7 +233,7 @@ Max insatsdagar Måltidskod Måltidsberättigande - JSON-fönster per måltidskod, t.ex. [{"MealCode":"B","StartsBeforeMinutes":420}]; ett traktamente utanför fönstret varnas, blockeras inte. + Lägg till en regel för varje måltidskod (till exempel B för frukost). Ange lokala gränstider för arbetspasset; lämna en tid tom om ingen gräns ska gälla. Anspråk utanför dessa gränser visar en varning och kan ändå skickas in. Saknas Förifyllning med multiplikator Bas + beredskap + ÖT-multiplikatorer skapar timbanden; lagrade värden förblir uttryckliga belopp. @@ -428,4 +428,12 @@ Tillägg kan inte vara negativa. Tillägget behöver ett namn. Tillägget hittades inte. + Inga regler för måltidsberättigande. Lägg till en regel för att ange tidsgränser. + Lägg till måltidsregel + Ta bort måltidsregel + Arbetspasset börjar senast + Arbetspasset slutar tidigast + Ange en måltidskod med 1 till 10 tecken. + Varje måltidskod får bara ha en regel för berättigande. + Ange en giltig tid från 00:00 till 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.uk.resx b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.uk.resx index d9c8b6d62..1e4d58166 100644 --- a/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/ContractorBilling/ContractorBilling.uk.resx @@ -233,7 +233,7 @@ Макс. днів розгортання Код харчування Право на харчування - Вікна JSON за кодом прийому їжі, напр. [{"MealCode":"B","StartsBeforeMinutes":420}]; добові поза вікном лише попереджаються, не блокуються. + Додайте правило для кожного коду харчування (наприклад, B для сніданку). Введіть місцевий граничний час зміни; залиште час порожнім, якщо обмеження немає. Заявки поза цими межами показують попередження, але їх усе одно можна подати. Відсутній Попереднє заповнення множником База + чергування + множники ПН формують погодинні смуги; збережені значення лишаються явними сумами. @@ -428,4 +428,12 @@ Надбавки не можуть бути від'ємними. Надбавка потребує назви. Надбавку не знайдено. + Правил права на харчування немає. Додайте правило, щоб установити часові межі. + Додати правило харчування + Видалити правило харчування + Зміна починається не пізніше + Зміна закінчується не раніше + Введіть код харчування довжиною від 1 до 10 символів. + Кожен код харчування може мати лише одне правило права на харчування. + Введіть коректний час від 00:00 до 23:59. diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.ar.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.ar.resx index d8080f173..054ced160 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.ar.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms عمليات الانتشار - مالية الانتشار + عمليات الانتشار عمليات انتشاري - أغلفة مالية لعمليات الانتشار: قوائم التشكيل وتقارير الوقت اليومية والمصروفات والملفات للانتشارات القابلة للفوترة واسترداد التكاليف والتشغيلية. - يجمع الانتشار الوحدات والأفراد والمعدات المرسلة إلى حادث مع تقارير الوقت اليومية والمصروفات. اربطه بنداء أو بطلب مساعدة متبادلة من Records. + خطط لعمليات الانتشار ونفذها وأدر الموارد وسجل الوقت والنفقات. + أدر عمليات الانتشار هنا. تتوفر التقارير والسجلات المحفوظة في RMS. لا توجد عمليات انتشار بعد. عرض الكل عرض المفتوحة فقط @@ -32,7 +32,7 @@ أيام الحد الأقصى للأيام ملاحظات - مرتبط بطلب خارجي في Records + أمر خارجي مرتبط الانتشار معرّفات الجهة الاختصاص @@ -51,7 +51,7 @@ إلغاء تم الحفظ. تعذّر حفظ التغيير. - غلّف طلب مساعدة متبادلة مفتوحًا من Records بانتشار لتتبع الوقت والمصروفات والتشكيل وفوترتها. يبقى الطلب نفسه في Records. + اربط أمراً خارجياً موجوداً بعملية الانتشار التابعة له. الطلبات الخارجية المفتوحة نظام Records غير مفعّل لهذا القسم، لذا لا توجد طلبات خارجية للاختيار منها. لا توجد طلبات خارجية مفتوحة بدون انتشار. @@ -125,7 +125,6 @@ الحجم أُضيف رفع - معاينة البيان حفظ PDF البيان قابل للفوترة رمز الوجبة @@ -225,6 +224,7 @@ اختر طلبًا خارجيًا. هذا الطلب الخارجي لديه انتشار بالفعل. لم يتم العثور على الطلب الخارجي. + ليس لديك صلاحية السجلات لإغلاق الطلب الخارجي لهذا الانتشار، لذا لا يمكن إكمال الانتشار. لم يتم العثور على الوحدة. هذه الوحدة موجودة بالفعل في التشكيل. الانتشار مكتمل أو ملغى وتشكيله مقفل. @@ -264,4 +264,15 @@ أُضيف ملف انتشار انتشار محمي تقرير وقت محمي + تقارير الانتشار + سجل الانتشار والتقارير وعمليات التصدير للقراءة فقط. أدر عمليات الانتشار في قسم القوى العاملة والعمليات التجارية. + تصدير الملخص بصيغة CSV + طباعة التقرير + تصدير التقرير بصيغة JSON + فتح إدارة الانتشار + الأوامر الخارجية + أمر خارجي جديد + يجب عودة جميع الموارد إلى القاعدة قبل إكمال الانتشار. + عرض كشف الموارد + تصدير الموارد بصيغة CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.de.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.de.resx index 54a93032b..a4c5474b5 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.de.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.de.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Einsätze - Einsatzabrechnung + Einsätze Meine Einsätze - Finanzhüllen für Einsätze: Besetzungslisten, tägliche Zeitberichte, Spesen und Dateien für abrechenbare, kostenerstattete und rein operative Einsätze. - Ein Einsatz fasst die zu einem Ereignis entsandten Einheiten, Personen und Ausrüstung mit ihren täglichen Zeitberichten und Spesen zusammen. Verknüpfen Sie ihn mit einem Alarm oder einem Nachbarschaftshilfe-Auftrag aus Records. + Einsätze planen und durchführen, Ressourcen verwalten sowie Zeiten und Ausgaben erfassen. + Verwalten Sie hier den Einsatzbetrieb. Berichte und gespeicherte Verläufe sind im RMS verfügbar. Noch keine Einsätze. Alle anzeigen Nur offene anzeigen @@ -32,7 +32,7 @@ Tage Max. Tage Notizen - Mit einem externen Auftrag aus Records verknüpft + Verknüpfter externer Auftrag Einsatz Behördenkennungen Zuständigkeit @@ -51,7 +51,7 @@ Abbrechen Gespeichert. Die Änderung konnte nicht gespeichert werden. - Hüllen Sie einen offenen Nachbarschaftshilfe-Auftrag aus Records in einen Einsatz, damit Zeiten, Spesen und Besetzung erfasst und abgerechnet werden können. Der Auftrag selbst bleibt in Records. + Einen bestehenden externen Auftrag mit seinem operativen Einsatz verknüpfen. Offene externe Aufträge Das Records-System ist für diese Organisation nicht aktiviert, daher gibt es keine externen Aufträge zur Auswahl. Keine offenen externen Aufträge ohne Einsatz. @@ -125,7 +125,6 @@ Größe Hinzugefügt Hochladen - Manifest-Vorschau Manifest-PDF ablegen Abrechenbar Mahlzeitencode @@ -225,6 +224,7 @@ Wählen Sie einen externen Auftrag. Dieser externe Auftrag hat bereits einen Einsatz. Der externe Auftrag wurde nicht gefunden. + Ihnen fehlt die Akten-Berechtigung, um den externen Auftrag dieses Einsatzes abzuschließen. Der Einsatz kann daher nicht abgeschlossen werden. Die Einheit wurde nicht gefunden. Diese Einheit ist bereits in der Besetzung. Der Einsatz ist abgeschlossen oder abgebrochen und seine Besetzung ist gesperrt. @@ -264,4 +264,15 @@ Einsatzdatei hinzugefügt Geschützter Einsatz Geschützter Zeitbericht + Einsatzberichte + Schreibgeschützter Einsatzverlauf, Berichte und Exporte. Einsätze werden unter Personal und Geschäftsbetrieb verwaltet. + Übersicht als CSV exportieren + Bericht drucken + Bericht als JSON exportieren + Einsatzverwaltung öffnen + Externe Aufträge + Neuer externer Auftrag + Alle Ressourcen müssen zurückgekehrt sein, bevor der Einsatz abgeschlossen werden kann. + Manifest anzeigen + Ressourcen als CSV exportieren diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.el.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.el.resx index 389bb5633..a07823984 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.el.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.el.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Αποστολές - Οικονομικά αποστολών + Αποστολές Οι αποστολές μου - Οικονομικά περιβλήματα αποστολών: συνθέσεις, ημερήσιες αναφορές χρόνου, έξοδα και αρχεία για τιμολογήσιμες, ανάκτησης κόστους και επιχειρησιακές αποστολές. - Μια αποστολή ομαδοποιεί τις μονάδες, το προσωπικό και τον εξοπλισμό που στάλθηκαν σε ένα συμβάν μαζί με τις ημερήσιες αναφορές χρόνου και τα έξοδα. Συνδέστε την με μια κλήση ή με μια εντολή αμοιβαίας συνδρομής από το Records. + Σχεδιάστε και εκτελέστε αναπτύξεις, διαχειριστείτε πόρους και καταγράψτε χρόνο και έξοδα. + Διαχειριστείτε εδώ τις επιχειρήσεις ανάπτυξης. Οι αναφορές και το ιστορικό διατίθενται στο RMS. Δεν υπάρχουν αποστολές ακόμη. Εμφάνιση όλων Εμφάνιση μόνο ανοιχτών @@ -32,7 +32,7 @@ ημέρες Μέγ. ημέρες Σημειώσεις - Συνδεδεμένη με εξωτερική εντολή του Records + Συνδεδεμένη εξωτερική εντολή Αποστολή Αναγνωριστικά φορέα Δικαιοδοσία @@ -51,7 +51,7 @@ Ακύρωση Αποθηκεύτηκε. Η αλλαγή δεν ήταν δυνατό να αποθηκευτεί. - Περιβάλετε μια ανοιχτή εντολή αμοιβαίας συνδρομής του Records με μια αποστολή ώστε να παρακολουθούνται και να τιμολογούνται χρόνος, έξοδα και σύνθεση. Η ίδια η εντολή παραμένει στο Records. + Συνδέστε μια υπάρχουσα εξωτερική εντολή με την επιχειρησιακή ανάπτυξή της. Ανοιχτές εξωτερικές εντολές Το σύστημα Records δεν είναι ενεργοποιημένο για αυτό το τμήμα, οπότε δεν υπάρχουν εξωτερικές εντολές προς επιλογή. Δεν υπάρχουν ανοιχτές εξωτερικές εντολές χωρίς αποστολή. @@ -125,7 +125,6 @@ Μέγεθος Προστέθηκε Μεταφόρτωση - Προεπισκόπηση δηλωτικού Αρχειοθέτηση PDF δηλωτικού Τιμολογήσιμο Κωδικός γεύματος @@ -225,6 +224,7 @@ Επιλέξτε εξωτερική εντολή. Αυτή η εξωτερική εντολή έχει ήδη αποστολή. Η εξωτερική εντολή δεν βρέθηκε. + Δεν έχετε δικαίωμα Αρχείων για να κλείσετε την εξωτερική εντολή αυτής της ανάπτυξης, επομένως η ανάπτυξη δεν μπορεί να ολοκληρωθεί. Η μονάδα δεν βρέθηκε. Αυτή η μονάδα είναι ήδη στη σύνθεση. Η αποστολή είναι ολοκληρωμένη ή ακυρωμένη και η σύνθεσή της είναι κλειδωμένη. @@ -264,4 +264,15 @@ Προστέθηκε αρχείο αποστολής Προστατευμένη αποστολή Προστατευμένη αναφορά χρόνου + Αναφορές αναπτύξεων + Ιστορικό, αναφορές και εξαγωγές αναπτύξεων μόνο για ανάγνωση. Διαχειριστείτε τις αναπτύξεις στο Προσωπικό και επιχειρησιακές λειτουργίες. + Εξαγωγή σύνοψης CSV + Εκτύπωση αναφοράς + Εξαγωγή αναφοράς JSON + Άνοιγμα διαχείρισης ανάπτυξης + Εξωτερικές εντολές + Νέα εξωτερική εντολή + Όλοι οι πόροι πρέπει να επιστρέψουν στη βάση πριν ολοκληρωθεί η ανάπτυξη. + Προβολή καταλόγου + Εξαγωγή πόρων CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.en.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.en.resx index 6c0a0820f..19236356b 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.en.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.en.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Deployments - Deployment Finance + Deployments My Deployments - Deployment finance wrappers: rosters, daily time reports, expenses and files for billable, cost-recovery and operational deployments. - A deployment groups the units, personnel and equipment sent to an incident with their daily time reports and expenses. Link it to a call or to a Records mutual-aid order. + Plan and run deployments, manage resources, and record time and expenses. + Manage deployment operations here. Reporting and retained history are available in RMS. No deployments yet. Show all Show open only @@ -32,7 +32,7 @@ days Max days Notes - Linked to a Records external order + Linked external order Deployment Agency identifiers Jurisdiction @@ -51,7 +51,7 @@ Cancel Saved. The change could not be saved. - Wrap an open Records mutual-aid order in a deployment so time, expenses and the roster can be tracked and billed. The order itself stays in Records. + Link an existing external order to its operational deployment. Open external orders The Records system is not enabled for this department, so there are no external orders to pick from. No open external orders without a deployment. @@ -125,7 +125,6 @@ Size Added Upload - Preview manifest File manifest PDF Billable Meal code @@ -225,6 +224,7 @@ Choose an external order. That external order already has a deployment. The external order was not found. + You do not have Records permission to close this deployment's external order, so the deployment cannot be completed. The unit was not found. That unit is already on the roster. The deployment is completed or cancelled and its roster is locked. @@ -264,4 +264,15 @@ Deployment file added Protected deployment Protected time report + Deployment reports + Read-only deployment history, reports and exports. Manage deployments in Workforce & Business Ops. + Export summary CSV + Print report + Export report JSON + Open deployment workspace + External orders + New external order + Every resource must return home before the deployment can be completed. + View manifest + Export resource CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.es.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.es.resx index 40c2fee2f..38d460802 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.es.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.es.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Despliegues - Finanzas de despliegue + Despliegues Mis despliegues - Envoltorios financieros de despliegues: dotaciones, partes diarios de horas, gastos y archivos para despliegues facturables, de recuperación de costes y operativos. - Un despliegue agrupa las unidades, el personal y el equipo enviados a un incidente con sus partes diarios de horas y gastos. Vincúlelo a una llamada o a una orden de ayuda mutua de Records. + Planifique y ejecute despliegues, gestione recursos y registre horas y gastos. + Gestione aquí las operaciones del despliegue. Los informes y el historial se encuentran en RMS. Aún no hay despliegues. Mostrar todos Mostrar solo abiertos @@ -32,7 +32,7 @@ días Máx. días Notas - Vinculado a una orden externa de Records + Orden externa vinculada Despliegue Identificadores de la agencia Jurisdicción @@ -51,7 +51,7 @@ Cancelar Guardado. No se pudo guardar el cambio. - Envuelva una orden abierta de ayuda mutua de Records en un despliegue para registrar y facturar horas, gastos y dotación. La orden permanece en Records. + Vincule una orden externa existente con su despliegue operativo. Órdenes externas abiertas El sistema Records no está habilitado para este departamento, así que no hay órdenes externas para elegir. No hay órdenes externas abiertas sin despliegue. @@ -125,7 +125,6 @@ Tamaño Añadido Subir - Vista previa del manifiesto Archivar PDF del manifiesto Facturable Código de comida @@ -225,6 +224,7 @@ Elija una orden externa. Esa orden externa ya tiene un despliegue. No se encontró la orden externa. + No tiene permiso de Registros para cerrar la orden externa de este despliegue, por lo que no se puede finalizar. No se encontró la unidad. Esa unidad ya está en la dotación. El despliegue está completado o cancelado y su dotación está bloqueada. @@ -264,4 +264,15 @@ Archivo de despliegue añadido Despliegue protegido Parte de horas protegido + Informes de despliegues + Historial, informes y exportaciones de despliegues de solo lectura. Gestione los despliegues en Personal y operaciones empresariales. + Exportar resumen CSV + Imprimir informe + Exportar informe JSON + Abrir gestión del despliegue + Órdenes externas + Nueva orden externa + Todos los recursos deben regresar a su base antes de finalizar el despliegue. + Ver manifiesto + Exportar recursos CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.fr.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.fr.resx index 70b3c5858..574b3f49a 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.fr.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Déploiements - Finances de déploiement + Déploiements Mes déploiements - Enveloppes financières des déploiements : effectifs, rapports de temps quotidiens, dépenses et fichiers pour les déploiements facturables, en recouvrement de coûts ou opérationnels. - Un déploiement regroupe les unités, le personnel et l'équipement envoyés sur un incident avec leurs rapports de temps quotidiens et leurs dépenses. Reliez-le à un appel ou à un ordre d'entraide de Records. + Planifiez et exécutez les déploiements, gérez les ressources et consignez les heures et les frais. + Gérez ici les opérations de déploiement. Les rapports et les archives sont disponibles dans RMS. Aucun déploiement pour l'instant. Tout afficher Afficher seulement les ouverts @@ -32,7 +32,7 @@ jours Jours max. Notes - Relié à un ordre externe de Records + Ordre externe associé Déploiement Identifiants de l'agence Juridiction @@ -51,7 +51,7 @@ Annuler Enregistré. La modification n'a pas pu être enregistrée. - Enveloppez un ordre d'entraide ouvert de Records dans un déploiement pour suivre et facturer les temps, les dépenses et l'effectif. L'ordre lui-même reste dans Records. + Associez un ordre externe existant à son déploiement opérationnel. Ordres externes ouverts Le système Records n'est pas activé pour ce service ; il n'y a donc aucun ordre externe à choisir. Aucun ordre externe ouvert sans déploiement. @@ -125,7 +125,6 @@ Taille Ajouté Téléverser - Aperçu du manifeste Classer le PDF du manifeste Facturable Code repas @@ -225,6 +224,7 @@ Choisissez un ordre externe. Cet ordre externe a déjà un déploiement. L'ordre externe est introuvable. + Vous n'avez pas l'autorisation Dossiers nécessaire pour clôturer l'ordre externe de ce déploiement ; il ne peut donc pas être terminé. L'unité est introuvable. Cette unité est déjà dans l'effectif. Le déploiement est terminé ou annulé et son effectif est verrouillé. @@ -264,4 +264,15 @@ Fichier de déploiement ajouté Déploiement protégé Rapport de temps protégé + Rapports de déploiement + Historique, rapports et exports des déploiements en lecture seule. Gérez les déploiements dans Personnel et opérations commerciales. + Exporter la synthèse CSV + Imprimer le rapport + Exporter le rapport JSON + Ouvrir la gestion du déploiement + Ordres externes + Nouvel ordre externe + Toutes les ressources doivent être rentrées à leur base avant de terminer le déploiement. + Voir le manifeste + Exporter les ressources CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.it.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.it.resx index 99c5590eb..48936e0aa 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.it.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.it.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Impieghi - Contabilità impieghi + Impieghi I miei impieghi - Contenitori finanziari degli impieghi: organici, rapporti giornalieri delle ore, spese e file per impieghi fatturabili, a recupero costi e operativi. - Un impiego raggruppa le unità, il personale e l'equipaggiamento inviati a un incidente con i loro rapporti giornalieri delle ore e le spese. Collegalo a una chiamata o a un ordine di mutuo soccorso di Records. + Pianifica e gestisci i dispiegamenti, assegna risorse e registra ore e spese. + Gestisci qui le operazioni di dispiegamento. Rapporti e cronologia sono disponibili in RMS. Ancora nessun impiego. Mostra tutti Mostra solo aperti @@ -32,7 +32,7 @@ giorni Giorni max Note - Collegato a un ordine esterno di Records + Ordine esterno collegato Impiego Identificativi dell'agenzia Giurisdizione @@ -51,7 +51,7 @@ Annulla Salvato. Impossibile salvare la modifica. - Racchiudi un ordine di mutuo soccorso aperto di Records in un impiego per tracciare e fatturare ore, spese e organico. L'ordine resta in Records. + Collega un ordine esterno esistente al suo dispiegamento operativo. Ordini esterni aperti Il sistema Records non è abilitato per questo dipartimento, quindi non ci sono ordini esterni da scegliere. Nessun ordine esterno aperto senza impiego. @@ -125,7 +125,6 @@ Dimensione Aggiunto Carica - Anteprima manifesto Archivia PDF manifesto Fatturabile Codice pasto @@ -225,6 +224,7 @@ Scegli un ordine esterno. Quell'ordine esterno ha già un impiego. Ordine esterno non trovato. + Non hai l'autorizzazione Registri per chiudere l'ordine esterno di questo dispiegamento, quindi non può essere completato. Unità non trovata. Quell'unità è già in organico. L'impiego è completato o annullato e il suo organico è bloccato. @@ -264,4 +264,15 @@ File di impiego aggiunto Impiego protetto Rapporto ore protetto + Rapporti sui dispiegamenti + Cronologia, rapporti ed esportazioni dei dispiegamenti in sola lettura. Gestisci i dispiegamenti in Personale e operazioni aziendali. + Esporta riepilogo CSV + Stampa rapporto + Esporta rapporto JSON + Apri gestione del dispiegamento + Ordini esterni + Nuovo ordine esterno + Tutte le risorse devono rientrare alla base prima di completare il dispiegamento. + Visualizza manifesto + Esporta risorse CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.pl.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.pl.resx index c730e9163..4eb0d6c98 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.pl.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Dyslokacje - Finanse dyslokacji + Dyslokacje Moje dyslokacje - Finansowe otoczki dyslokacji: obsady, dzienne raporty czasu, wydatki i pliki dla dyslokacji rozliczanych, w trybie zwrotu kosztów i operacyjnych. - Dyslokacja grupuje jednostki, personel i sprzęt wysłane do zdarzenia wraz z dziennymi raportami czasu i wydatkami. Powiąż ją ze zgłoszeniem lub ze zleceniem pomocy wzajemnej z Records. + Planuj i prowadź działania, zarządzaj zasobami oraz rejestruj czas i wydatki. + Tutaj zarządzaj działaniami operacyjnymi. Raporty i historia są dostępne w RMS. Brak dyslokacji. Pokaż wszystkie Pokaż tylko otwarte @@ -32,7 +32,7 @@ dni Maks. dni Notatki - Powiązana ze zleceniem zewnętrznym w Records + Powiązane zlecenie zewnętrzne Dyslokacja Identyfikatory agencji Jurysdykcja @@ -51,7 +51,7 @@ Anuluj Zapisano. Nie udało się zapisać zmiany. - Opakuj otwarte zlecenie pomocy wzajemnej z Records w dyslokację, aby śledzić i rozliczać czas, wydatki i obsadę. Samo zlecenie pozostaje w Records. + Powiąż istniejące zlecenie zewnętrzne z jego działaniami operacyjnymi. Otwarte zlecenia zewnętrzne System Records nie jest włączony dla tej jednostki organizacyjnej, więc nie ma zleceń zewnętrznych do wyboru. Brak otwartych zleceń zewnętrznych bez dyslokacji. @@ -125,7 +125,6 @@ Rozmiar Dodano Prześlij - Podgląd manifestu Zapisz PDF manifestu Rozliczany Kod posiłku @@ -225,6 +224,7 @@ Wybierz zlecenie zewnętrzne. To zlecenie zewnętrzne ma już dyslokację. Nie znaleziono zlecenia zewnętrznego. + Nie masz uprawnień Rejestrów do zamknięcia zlecenia zewnętrznego tych działań, więc nie można ich zakończyć. Nie znaleziono jednostki. Ta jednostka jest już w obsadzie. Dyslokacja jest zakończona lub anulowana, a jej obsada jest zablokowana. @@ -264,4 +264,15 @@ Dodano plik dyslokacji Chroniona dyslokacja Chroniony raport czasu + Raporty z działań + Historia działań, raporty i eksporty tylko do odczytu. Zarządzaj działaniami w obszarze Kadr i operacji biznesowych. + Eksportuj podsumowanie CSV + Drukuj raport + Eksportuj raport JSON + Otwórz zarządzanie działaniami + Zlecenia zewnętrzne + Nowe zlecenie zewnętrzne + Wszystkie zasoby muszą wrócić do bazy przed zakończeniem działań. + Wyświetl wykaz + Eksportuj zasoby CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.resx index 6c0a0820f..19236356b 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Deployments - Deployment Finance + Deployments My Deployments - Deployment finance wrappers: rosters, daily time reports, expenses and files for billable, cost-recovery and operational deployments. - A deployment groups the units, personnel and equipment sent to an incident with their daily time reports and expenses. Link it to a call or to a Records mutual-aid order. + Plan and run deployments, manage resources, and record time and expenses. + Manage deployment operations here. Reporting and retained history are available in RMS. No deployments yet. Show all Show open only @@ -32,7 +32,7 @@ days Max days Notes - Linked to a Records external order + Linked external order Deployment Agency identifiers Jurisdiction @@ -51,7 +51,7 @@ Cancel Saved. The change could not be saved. - Wrap an open Records mutual-aid order in a deployment so time, expenses and the roster can be tracked and billed. The order itself stays in Records. + Link an existing external order to its operational deployment. Open external orders The Records system is not enabled for this department, so there are no external orders to pick from. No open external orders without a deployment. @@ -125,7 +125,6 @@ Size Added Upload - Preview manifest File manifest PDF Billable Meal code @@ -225,6 +224,7 @@ Choose an external order. That external order already has a deployment. The external order was not found. + You do not have Records permission to close this deployment's external order, so the deployment cannot be completed. The unit was not found. That unit is already on the roster. The deployment is completed or cancelled and its roster is locked. @@ -264,4 +264,15 @@ Deployment file added Protected deployment Protected time report + Deployment reports + Read-only deployment history, reports and exports. Manage deployments in Workforce & Business Ops. + Export summary CSV + Print report + Export report JSON + Open deployment workspace + External orders + New external order + Every resource must return home before the deployment can be completed. + View manifest + Export resource CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.sv.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.sv.resx index 8295aed13..2bcd7d7ec 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.sv.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Insatser - Insatsekonomi + Insatser Mina insatser - Ekonomiska omslag för insatser: bemanning, dagliga tidrapporter, utlägg och filer för fakturerbara, kostnadsåtervinnande och operativa insatser. - En insats samlar de enheter, den personal och den utrustning som skickats till en händelse tillsammans med dagliga tidrapporter och utlägg. Koppla den till ett larm eller till en beställning för ömsesidigt bistånd i Records. + Planera och genomför insatser, hantera resurser och registrera tid och utgifter. + Hantera insatsverksamheten här. Rapporter och historik finns i RMS. Inga insatser ännu. Visa alla Visa endast öppna @@ -32,7 +32,7 @@ dagar Max dagar Anteckningar - Kopplad till en extern beställning i Records + Länkad extern order Insats Myndighetsidentifierare Jurisdiktion @@ -51,7 +51,7 @@ Avbryt Sparat. Ändringen kunde inte sparas. - Omslut en öppen beställning för ömsesidigt bistånd i Records med en insats så att tid, utlägg och bemanning kan följas upp och faktureras. Själva beställningen stannar i Records. + Koppla en befintlig extern order till dess operativa insats. Öppna externa beställningar Records-systemet är inte aktiverat för den här avdelningen, så det finns inga externa beställningar att välja. Inga öppna externa beställningar utan insats. @@ -125,7 +125,6 @@ Storlek Tillagd Ladda upp - Förhandsgranska manifest Arkivera manifest-PDF Fakturerbart Måltidskod @@ -225,6 +224,7 @@ Välj en extern beställning. Den externa beställningen har redan en insats. Den externa beställningen hittades inte. + Du saknar behörighet för Journaler att stänga insatsens externa beställning, så insatsen kan inte avslutas. Enheten hittades inte. Den enheten finns redan i bemanningen. Insatsen är avslutad eller avbruten och bemanningen är låst. @@ -264,4 +264,15 @@ Insatsfil tillagd Skyddad insats Skyddad tidrapport + Insatsrapporter + Insatshistorik, rapporter och exporter med läsbehörighet. Hantera insatser i Personal och verksamhetsdrift. + Exportera sammanfattning som CSV + Skriv ut rapport + Exportera rapport som JSON + Öppna insatshanteringen + Externa order + Ny extern order + Alla resurser måste ha återvänt till basen innan insatsen kan avslutas. + Visa manifest + Exportera resurser som CSV diff --git a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.uk.resx b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.uk.resx index 02e0c4a45..d3ebf3d2e 100644 --- a/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/Deployments/Deployments.uk.resx @@ -5,10 +5,10 @@ System.Resources.ResXResourceReader, System.Windows.Forms System.Resources.ResXResourceWriter, System.Windows.Forms Розгортання - Фінанси розгортань + Розгортання Мої розгортання - Фінансові обгортки розгортань: склади, щоденні звіти про час, витрати та файли для розгортань, що виставляються до оплати, з відшкодуванням витрат і суто операційних. - Розгортання об'єднує підрозділи, персонал та обладнання, направлені на подію, з їхніми щоденними звітами про час і витратами. Пов'яжіть його з викликом або з замовленням взаємодопомоги з Records. + Плануйте та виконуйте розгортання, керуйте ресурсами й обліковуйте час і витрати. + Керуйте операціями розгортання тут. Звіти та історія доступні в RMS. Розгортань поки немає. Показати всі Показати лише відкриті @@ -32,7 +32,7 @@ днів Макс. днів Нотатки - Пов'язано із зовнішнім замовленням у Records + Пов’язане зовнішнє замовлення Розгортання Ідентифікатори агенції Юрисдикція @@ -51,7 +51,7 @@ Скасувати Збережено. Не вдалося зберегти зміну. - Обгорніть відкрите замовлення взаємодопомоги з Records у розгортання, щоб відстежувати та виставляти час, витрати і склад. Саме замовлення залишається в Records. + Пов’яжіть наявне зовнішнє замовлення з його оперативним розгортанням. Відкриті зовнішні замовлення Систему Records не ввімкнено для цього підрозділу, тому немає зовнішніх замовлень для вибору. Немає відкритих зовнішніх замовлень без розгортання. @@ -125,7 +125,6 @@ Розмір Додано Завантажити - Попередній перегляд маніфесту Зберегти PDF маніфесту До оплати Код харчування @@ -225,6 +224,7 @@ Виберіть зовнішнє замовлення. Це зовнішнє замовлення вже має розгортання. Зовнішнє замовлення не знайдено. + У вас немає дозволу Записів, щоб закрити зовнішнє замовлення цього розгортання, тому його не можна завершити. Підрозділ не знайдено. Цей підрозділ уже у складі. Розгортання завершено або скасовано, і його склад заблоковано. @@ -264,4 +264,15 @@ Додано файл розгортання Захищене розгортання Захищений звіт про час + Звіти про розгортання + Історія розгортань, звіти та експорт лише для читання. Керуйте розгортаннями в розділі персоналу та бізнес-операцій. + Експортувати підсумок CSV + Друкувати звіт + Експортувати звіт JSON + Відкрити керування розгортанням + Зовнішні замовлення + Нове зовнішнє замовлення + Усі ресурси мають повернутися на базу, перш ніж розгортання можна буде завершити. + Переглянути маніфест + Експортувати ресурси CSV diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.ar.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.ar.resx index 832145f2a..1b665e0de 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.ar.resx @@ -659,4 +659,6 @@ الكمية والسبب. كلاهما يُدرج في القيد الذي يُنشأ. حدّد الكمية المُعادة، وإلى أين ذهبت، وحالتها. غير نشط + هل يوجد مورّد غير مدرج؟ أضفه من صفحة المورّدين. + اختر عملة هذا الطلب. تستخدم الطلبات الجديدة عملة القسم افتراضيًا. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.de.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.de.resx index 4cbc40915..f235babd5 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.de.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.de.resx @@ -783,4 +783,6 @@ Menge und Grund. Beides landet im erzeugten Journaleintrag. Geben Sie an, wie viel zurückkam, wohin es ging und in welchem Zustand es ist. Inaktiv + Fehlt ein Lieferant? Fügen Sie ihn auf der Lieferantenseite hinzu. + Wählen Sie die Währung für diese Bestellung. Neue Bestellungen verwenden standardmäßig die Währung Ihrer Abteilung. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.el.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.el.resx index 9a1d4e1b3..f113f3e3d 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.el.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.el.resx @@ -842,4 +842,6 @@ Η ποσότητα και ο λόγος. Και τα δύο καταγράφονται στην εγγραφή που δημιουργείται. Δηλώστε πόσα επέστρεψαν, πού πήγαν και σε τι κατάσταση είναι. Ανενεργό + Λείπει ένας προμηθευτής; Προσθέστε τον στη σελίδα Προμηθευτές. + Επιλέξτε το νόμισμα για αυτή την παραγγελία. Οι νέες παραγγελίες χρησιμοποιούν από προεπιλογή το νόμισμα του τμήματός σας. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.en.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.en.resx index 560ed4f32..bc8a0c070 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.en.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.en.resx @@ -842,4 +842,6 @@ The quantity and the reason. Both end up on the ledger entry this creates. Say how much came back, where it went, and what condition it is in. Inactive + Missing a supplier? Add one on the Suppliers page. + Choose the currency for this order. New orders default to your department's currency. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.es.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.es.resx index 07456d4ae..70a16330f 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.es.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.es.resx @@ -783,4 +783,6 @@ La cantidad y el motivo. Ambos quedan en el asiento que se genera. Indique cuánto se devolvió, a dónde fue y en qué estado está. Inactivo + ¿Falta un proveedor? Añádalo en la página de proveedores. + Seleccione la moneda de este pedido. Los pedidos nuevos usan de forma predeterminada la moneda de su departamento. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.fr.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.fr.resx index 43625ae59..ca5674cd9 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.fr.resx @@ -783,4 +783,6 @@ La quantité et le motif. Les deux figurent dans l'écriture générée. Indiquez la quantité rendue, sa destination et son état. Inactif + Il manque un fournisseur ? Ajoutez-le sur la page Fournisseurs. + Choisissez la devise de cette commande. Les nouvelles commandes utilisent par défaut la devise de votre département. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.it.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.it.resx index d3b6e9c31..3d64ef5cf 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.it.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.it.resx @@ -783,4 +783,6 @@ La quantità e il motivo. Entrambi finiscono nella registrazione creata. Indica quanto è rientrato, dove è andato e in che condizioni è. Non attivo + Manca un fornitore? Aggiungilo nella pagina Fornitori. + Scegli la valuta per questo ordine. I nuovi ordini utilizzano per impostazione predefinita la valuta del tuo dipartimento. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.pl.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.pl.resx index 19437f5df..8bd1ce156 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.pl.resx @@ -783,4 +783,6 @@ Ilość i powód. Oba trafiają do tworzonego zapisu księgi. Podaj, ile wróciło, gdzie trafiło i w jakim jest stanie. Nieaktywny + Brakuje dostawcy? Dodaj go na stronie dostawców. + Wybierz walutę dla tego zamówienia. Nowe zamówienia domyślnie używają waluty Twojej jednostki. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.sv.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.sv.resx index fec91a622..cd1b29171 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.sv.resx @@ -783,4 +783,6 @@ Kvantiteten och orsaken. Båda hamnar i journalposten som skapas. Ange hur mycket som kom tillbaka, vart det gick och i vilket skick det är. Inaktiv + Saknas en leverantör? Lägg till den på leverantörssidan. + Välj valuta för den här beställningen. Nya beställningar använder din avdelnings valuta som standard. diff --git a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.uk.resx b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.uk.resx index 4e5f18666..07a3d28a9 100644 --- a/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/Inventory/Inventory.uk.resx @@ -783,4 +783,6 @@ Кількість і причина. Обидва потраплять до створеного запису журналу. Вкажіть, скільки повернулося, куди це потрапило та в якому стані. Неактивний + Немає потрібного постачальника? Додайте його на сторінці постачальників. + Виберіть валюту для цього замовлення. Нові замовлення за замовчуванням використовують валюту вашого підрозділу. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.ar.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.ar.resx index 638a5ea84..aa82259f4 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.ar.resx @@ -1217,7 +1217,6 @@ الانتشارات طلبات موارد خارجية يلبيها قسمك. يبقى نظام الطلب هو المرجع: تُخزَّن المستندات كلقطات ثابتة ولا يُكتب شيء إليه. انتشار جديد - الانتشارات ميزة معاينة: بُنيت النماذج من وثائق IROC وCIFFC وEMAC المنشورة وليس من تكاملات مباشرة. تحقق منها مقابل نظام الطلب لديك. الطلب رقم الطلب الحادث @@ -2109,4 +2108,52 @@ تصدير هذه القائمة المزيد استخدام المخزون + تقارير الانتشار + سجل الانتشار والتقارير وعمليات التصدير للقراءة فقط. أدر عمليات الانتشار في قسم القوى العاملة والعمليات التجارية. + تصدير الموارد بصيغة CSV + فتح إدارة الانتشار + الأوامر الخارجية + أمر خارجي جديد + العودة إلى صنابير الإطفاء + لم يتم حفظ أي صنبور. صحح الصفوف أدناه ثم استورد الملف مجددًا. + عرض {0} من أصل {1} صفوف بها مشكلات. يستخدم JSON أرقام العناصر ويستخدم CSV أرقام الأسطر. + العنصر / السطر + كيفية التصحيح + رفع بيانات صنابير الإطفاء أو لصقها + استورد حتى 20,000 صنبور. تُحدّث الأرقام الموجودة وتُضاف الأرقام الجديدة. + اختيار ملف + ملف UTF-8 بصيغة .json أو .csv بحجم يصل إلى 10 ميغابايت. يحدد الامتداد صيغة الملف. + اختر الملف المصحح مرة أخرى. + أو الصق JSON / CSV + صيغة البيانات الملصقة + البيانات الملصقة + يُتحقق من كل صف قبل الحفظ. إذا كان أي صف غير صالح فلن يُستورد شيء. أبقِ الصفحة مفتوحة حتى تظهر النتيجة. + جارٍ التحقق والاستيراد… + صيغة الملف والأمثلة + مطلوب: number (نص من 1 إلى 64 حرفًا)، latitude (من -90 إلى 90)، longitude (من -180 إلى 180). يجب ألا يتكرر الرقم في الملف. + اختياري: type وaddress (حتى 500 حرف) وmain_size (بالبوصة، أكبر من 0 وحتى 9999.99) وflow_gpm (عدد صحيح غير سالب) وowner (حتى 200 حرف). + تُكتب أرقام JSON دون علامات اقتباس والأسماء والعناوين بين علامتي اقتباس مزدوجتين. استخدم النقطة العشرية. احذف القيم الاختيارية أو استخدم null. يتطلب CSV صف عناوين؛ ضع القيم التي تتضمن فواصل أو أسطرًا جديدة بين علامتي اقتباس. + تنزيل مثال JSON + تنزيل مثال CSV + أدر صنابير الإطفاء هنا لإظهار التدفق وحالة الخدمة على الخرائط. نقاط الاهتمام معالم منفصلة؛ تظهر النقاط المرتبطة مرة واحدة فقط في طبقة صنابير الإطفاء. + تعذر تحميل صنابير الإطفاء. + إعادة المحاولة + استعراض البلاغات + البحث برقم البلاغ أو الاسم أو العنوان + حالة البلاغ + كل البلاغات + البلاغات النشطة + البلاغات المغلقة + من تاريخ + حتى تاريخ شاملًا + بحث + السابق + التالي + جارٍ تحميل البلاغات… + تعذر تحميل البلاغات. حاول البحث مجددًا. + لا توجد بلاغات مطابقة في هذه الصفحة. + يمكن البحث في البلاغات المحمية برقم البلاغ؛ الأسماء والعناوين مخفية. + فعّل JavaScript للبحث عن بلاغ واختياره. + أدخل نطاق تواريخ صالحًا بحيث لا تكون البداية بعد النهاية. + اختر بلاغًا متاحًا من القائمة أو امسح الاختيار. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.de.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.de.resx index 3017dfc4c..37b5ba37d 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.de.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.de.resx @@ -1217,7 +1217,6 @@ Einsätze Externe Ressourcenanforderungen, die Ihre Abteilung erfüllt. Das anfordernde System bleibt maßgeblich: Artefakte werden als unveränderliche Snapshots gespeichert, nichts wird zurückgeschrieben. Neuer Einsatz - Einsätze sind eine Vorschaufunktion: Vorlagen wurden aus veröffentlichter IROC-, CIFFC- und EMAC-Dokumentation erstellt, nicht aus Live-Integrationen. Prüfen Sie gegen Ihr Anforderungssystem. Anforderung Anforderungsnummer Ereignis @@ -2109,4 +2108,52 @@ Diese Liste exportieren Mehr Bestandsverbrauch + Einsatzberichte + Schreibgeschützter Einsatzverlauf, Berichte und Exporte. Einsätze werden unter Personal und Geschäftsbetrieb verwaltet. + Ressourcen als CSV exportieren + Einsatzverwaltung öffnen + Externe Aufträge + Neuer externer Auftrag + Zurück zu Hydranten + Es wurden keine Hydranten gespeichert. Korrigieren Sie die folgenden Zeilen und importieren Sie die Datei erneut. + {0} von {1} fehlerhaften Zeilen werden angezeigt. JSON verwendet Eintragsnummern, CSV Zeilennummern. + Eintrag / Zeile + So beheben Sie das Problem + Hydrantendaten hochladen oder einfügen + Importieren Sie bis zu 20.000 Hydranten. Vorhandene Hydrantennummern werden aktualisiert, neue hinzugefügt. + Datei auswählen + UTF-8-Datei (.json oder .csv), bis zu 10 MB. Die Dateiendung bestimmt das Format. + Wählen Sie die korrigierte Datei erneut aus. + Oder JSON / CSV einfügen + Format der eingefügten Daten + Eingefügte Daten + Alle Zeilen werden vor dem Speichern geprüft. Bei einem Fehler wird nichts importiert. Lassen Sie diese Seite bis zum Ergebnis geöffnet. + Prüfung und Import laufen… + Dateiformat und Beispiele + Pflichtfelder: number (Text, 1–64 Zeichen), latitude (-90 bis 90), longitude (-180 bis 180). Jede Nummer darf nur einmal vorkommen. + Optional: type, address (max. 500 Zeichen), main_size (Zoll, größer als 0 bis 9999.99), flow_gpm (nichtnegative ganze Zahl), owner (max. 200 Zeichen). + JSON-Zahlen ohne Anführungszeichen angeben; Namen und Adressen in doppelte Anführungszeichen setzen. Dezimalpunkt verwenden. Optionale Werte weglassen oder null verwenden. CSV benötigt eine Kopfzeile; Werte mit Kommas oder Zeilenumbrüchen in Anführungszeichen setzen. + JSON-Beispiel herunterladen + CSV-Beispiel herunterladen + Verwalten Sie Hydranten hier, um Durchfluss und Betriebsstatus auf Karten anzuzeigen. Karten-POIs sind separate Orientierungspunkte; verknüpfte POIs erscheinen nur einmal in der Hydrantenebene. + Hydranten konnten nicht geladen werden. + Erneut versuchen + Einsätze durchsuchen + Einsatznummer, Name oder Adresse suchen + Einsatzstatus + Alle Einsätze + Aktive Einsätze + Abgeschlossene Einsätze + Ab Datum + Bis einschließlich + Suchen + Zurück + Weiter + Einsätze werden geladen… + Einsätze konnten nicht geladen werden. Suchen Sie erneut. + Keine passenden Einsätze auf dieser Seite. + Geschützte Einsätze können nach Einsatznummer gesucht werden; Namen und Adressen sind ausgeblendet. + Aktivieren Sie JavaScript, um einen Einsatz zu suchen und auszuwählen. + Geben Sie einen gültigen Zeitraum ein. Der Beginn darf nicht nach dem Ende liegen. + Wählen Sie einen verfügbaren Einsatz aus der Liste oder löschen Sie die Auswahl. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.el.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.el.resx index 125abea26..7123488b7 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.el.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.el.resx @@ -1217,7 +1217,6 @@ Αποστολές Εξωτερικές παραγγελίες πόρων που καλύπτει το τμήμα σας. Το σύστημα παραγγελίας παραμένει έγκυρο: τα τεχνουργήματα αποθηκεύονται ως αμετάβλητα στιγμιότυπα και τίποτα δεν γράφεται πίσω. Νέα αποστολή - Οι αποστολές είναι λειτουργία προεπισκόπησης: τα πρότυπα βασίστηκαν σε δημοσιευμένη τεκμηρίωση IROC, CIFFC και EMAC, όχι σε ζωντανές ενοποιήσεις. Επαληθεύστε με το σύστημα παραγγελίας σας. Παραγγελία Αριθμός παραγγελίας Συμβάν @@ -2109,4 +2108,52 @@ Εξαγωγή αυτής της λίστας Περισσότερα Χρήση αποθεμάτων + Αναφορές αναπτύξεων + Ιστορικό, αναφορές και εξαγωγές αναπτύξεων μόνο για ανάγνωση. Διαχειριστείτε τις αναπτύξεις στο Προσωπικό και επιχειρησιακές λειτουργίες. + Εξαγωγή πόρων CSV + Άνοιγμα διαχείρισης ανάπτυξης + Εξωτερικές εντολές + Νέα εξωτερική εντολή + Επιστροφή στους κρουνούς + Δεν αποθηκεύτηκε κανένας κρουνός. Διορθώστε τις παρακάτω γραμμές και εισαγάγετε ξανά το αρχείο. + Εμφανίζονται {0} από {1} γραμμές με προβλήματα. Το JSON χρησιμοποιεί αριθμούς στοιχείων, το CSV αριθμούς γραμμών. + Στοιχείο / γραμμή + Τρόπος διόρθωσης + Μεταφόρτωση ή επικόλληση δεδομένων κρουνών + Εισαγάγετε έως 20.000 κρουνούς. Οι υπάρχοντες αριθμοί ενημερώνονται και οι νέοι προστίθενται. + Επιλογή αρχείου + Αρχείο UTF-8 .json ή .csv, έως 10 MB. Η επέκταση καθορίζει τη μορφή. + Επιλέξτε ξανά το διορθωμένο αρχείο. + Ή επικολλήστε JSON / CSV + Μορφή επικολλημένων δεδομένων + Επικολλημένα δεδομένα + Κάθε γραμμή ελέγχεται πριν από την αποθήκευση. Αν κάποια είναι άκυρη, δεν εισάγεται τίποτα. Κρατήστε τη σελίδα ανοιχτή μέχρι να εμφανιστεί το αποτέλεσμα. + Έλεγχος και εισαγωγή… + Μορφή αρχείου και παραδείγματα + Υποχρεωτικά: number (κείμενο, 1–64 χαρακτήρες), latitude (-90 έως 90), longitude (-180 έως 180). Κάθε αριθμός πρέπει να είναι μοναδικός στο αρχείο. + Προαιρετικά: type, address (έως 500 χαρακτήρες), main_size (ίντσες, πάνω από 0 έως 9999.99), flow_gpm (μη αρνητικός ακέραιος), owner (έως 200 χαρακτήρες). + Στο JSON οι αριθμοί είναι χωρίς εισαγωγικά, ενώ ονόματα και διευθύνσεις έχουν διπλά εισαγωγικά. Χρησιμοποιήστε τελεία για δεκαδικά. Παραλείψτε προαιρετικές τιμές ή χρησιμοποιήστε null. Το CSV απαιτεί κεφαλίδα· βάλτε σε εισαγωγικά τιμές με κόμματα ή αλλαγές γραμμής. + Λήψη παραδείγματος JSON + Λήψη παραδείγματος CSV + Διαχειριστείτε εδώ τους κρουνούς για εμφάνιση παροχής και κατάστασης στους χάρτες. Τα POI είναι ξεχωριστά ορόσημα· τα συνδεδεμένα εμφανίζονται μόνο μία φορά στο επίπεδο κρουνών. + Δεν ήταν δυνατή η φόρτωση των κρουνών. + Επανάληψη + Περιήγηση κλήσεων + Αναζήτηση αριθμού, ονόματος ή διεύθυνσης + Κατάσταση κλήσης + Όλες οι κλήσεις + Ενεργές κλήσεις + Κλειστές κλήσεις + Από ημερομηνία + Έως ημερομηνία (συμπεριλαμβάνεται) + Αναζήτηση + Προηγούμενη + Επόμενη + Φόρτωση κλήσεων… + Δεν ήταν δυνατή η φόρτωση κλήσεων. Αναζητήστε ξανά. + Δεν υπάρχουν αντίστοιχες κλήσεις σε αυτή τη σελίδα. + Οι προστατευμένες κλήσεις αναζητούνται με αριθμό· τα ονόματα και οι διευθύνσεις αποκρύπτονται. + Ενεργοποιήστε τη JavaScript για αναζήτηση και επιλογή κλήσης. + Εισαγάγετε έγκυρο εύρος ημερομηνιών με την αρχή πριν ή κατά τη λήξη. + Επιλέξτε διαθέσιμη κλήση από τη λίστα ή διαγράψτε την επιλογή. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.en.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.en.resx index bb783300e..40da1c5d2 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.en.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.en.resx @@ -1217,7 +1217,6 @@ Deployments External resource orders your department is filling. The ordering system stays authoritative: artifacts are stored as immutable snapshots and nothing is written back. New deployment - Deployments are a Preview feature: fixtures were built from published IROC, CIFFC and EMAC documentation, not from live integrations. Verify against your ordering system. Order Order number Incident @@ -2109,4 +2108,52 @@ Export this list More Inventory usage + Deployment reports + Read-only deployment history, reports and exports. Manage deployments in Workforce & Business Ops. + Export resource CSV + Open deployment workspace + Back to hydrants + No hydrants were saved. Correct the rows below and import the file again. + Showing {0} of {1} rows with issues. JSON uses item numbers; CSV uses line numbers. + Row / line + How to fix it + Upload or paste hydrant data + Import up to 20,000 hydrants at once. Existing hydrant numbers are updated; new numbers are added. + Choose a file + UTF-8 .json or .csv, up to 10 MB. The file extension determines its format. + Choose the corrected file again to retry. + Or paste JSON / CSV + Pasted data format + Pasted data + Every row is validated before saving. If any row is invalid, nothing is imported. Keep this page open until the results appear. + Validating and importing… + File format and examples + Required: number (text, 1–64 characters), latitude (-90 to 90), longitude (-180 to 180). Each number must be unique in the file. + Optional: type, address (up to 500 characters), main_size (inches, greater than 0 and up to 9999.99), flow_gpm (nonnegative whole number), owner (up to 200 characters). + JSON numbers must be unquoted; names and addresses must be text in double quotes. Use a decimal point. Omit optional values or use null. CSV needs a header; quote values containing commas or line breaks. + Download JSON example + Download CSV example + Manage hydrants here to show flow and service status on maps. Mapping POIs are separate landmarks; linked POIs are shown only once in the Hydrants layer. + Hydrants could not be loaded. + Retry + External orders + New external order + Browse calls + Search call number, name or address + Call status + All calls + Active calls + Closed calls + From date + Through date + Search + Previous + Next + Loading calls… + Calls could not be loaded. Try searching again. + No matching calls on this page. + Protected calls can be searched by call number; names and addresses are hidden. + Enable JavaScript to search and select a call. + Enter a valid date range with the start on or before the end. + Choose an available call from the list, or clear the selection. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.es.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.es.resx index 2d722fd2d..a582bcbfc 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.es.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.es.resx @@ -1217,7 +1217,6 @@ Despliegues Órdenes de recursos externas que su departamento está cubriendo. El sistema emisor sigue siendo la autoridad: los artefactos se guardan como instantáneas inmutables y nada se escribe de vuelta. Nuevo despliegue - Los despliegues son una función en vista previa: las plantillas se crearon a partir de documentación publicada de IROC, CIFFC y EMAC, no de integraciones en vivo. Verifique contra su sistema emisor. Orden Número de orden Incidente @@ -2109,4 +2108,52 @@ Exportar esta lista Más Uso de inventario + Informes de despliegues + Historial, informes y exportaciones de despliegues de solo lectura. Gestione los despliegues en Personal y operaciones empresariales. + Exportar recursos CSV + Abrir gestión del despliegue + Órdenes externas + Nueva orden externa + Volver a hidrantes + No se guardó ningún hidrante. Corrija las filas siguientes e importe el archivo de nuevo. + Se muestran {0} de {1} filas con problemas. JSON usa números de elemento; CSV usa números de línea. + Fila / línea + Cómo corregirlo + Subir o pegar datos de hidrantes + Importe hasta 20.000 hidrantes. Se actualizan los números existentes y se añaden los nuevos. + Elegir archivo + Archivo UTF-8 .json o .csv de hasta 10 MB. La extensión determina el formato. + Seleccione de nuevo el archivo corregido. + O pegar JSON / CSV + Formato de los datos pegados + Datos pegados + Se valida cada fila antes de guardar. Si alguna es inválida, no se importa nada. Mantenga esta página abierta hasta ver el resultado. + Validando e importando… + Formato del archivo y ejemplos + Obligatorios: number (texto, 1–64 caracteres), latitude (-90 a 90), longitude (-180 a 180). Cada número debe ser único en el archivo. + Opcionales: type, address (hasta 500 caracteres), main_size (pulgadas, mayor que 0 y hasta 9999.99), flow_gpm (entero no negativo), owner (hasta 200 caracteres). + En JSON, los números no llevan comillas; los nombres y direcciones llevan comillas dobles. Use punto decimal. Omita los valores opcionales o use null. CSV requiere encabezado; entrecomille los valores con comas o saltos de línea. + Descargar ejemplo JSON + Descargar ejemplo CSV + Gestione aquí los hidrantes para mostrar caudal y estado en los mapas. Los POI son otros puntos de referencia; los vinculados aparecen una sola vez en la capa de hidrantes. + No se pudieron cargar los hidrantes. + Reintentar + Buscar llamadas + Buscar por número, nombre o dirección + Estado de la llamada + Todas las llamadas + Llamadas activas + Llamadas cerradas + Desde la fecha + Hasta la fecha inclusive + Buscar + Anterior + Siguiente + Cargando llamadas… + No se pudieron cargar las llamadas. Vuelva a buscar. + No hay llamadas coincidentes en esta página. + Las llamadas protegidas se buscan por número; los nombres y las direcciones están ocultos. + Active JavaScript para buscar y seleccionar una llamada. + Introduzca un intervalo válido; el inicio debe ser anterior o igual al final. + Seleccione una llamada disponible de la lista o borre la selección. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.fr.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.fr.resx index 6351f0623..f985487ea 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.fr.resx @@ -1217,7 +1217,6 @@ Déploiements Commandes de ressources externes que votre service pourvoit. Le système émetteur reste la référence : les artefacts sont stockés en instantanés immuables et rien n'est réécrit. Nouveau déploiement - Les déploiements sont une fonctionnalité en aperçu : les gabarits proviennent de la documentation publiée IROC, CIFFC et EMAC, pas d'intégrations en direct. Vérifiez avec votre système de commande. Commande Numéro de commande Incident @@ -2109,4 +2108,52 @@ Exporter cette liste Plus Utilisation du stock + Rapports de déploiement + Historique, rapports et exports des déploiements en lecture seule. Gérez les déploiements dans Personnel et opérations commerciales. + Exporter les ressources CSV + Ouvrir la gestion du déploiement + Ordres externes + Nouvel ordre externe + Retour aux hydrants + Aucun hydrant n’a été enregistré. Corrigez les lignes ci-dessous et importez à nouveau le fichier. + Affichage de {0} lignes sur {1} comportant des erreurs. JSON utilise les numéros d’élément, CSV les numéros de ligne. + Élément / ligne + Comment corriger + Téléverser ou coller les données des hydrants + Importez jusqu’à 20 000 hydrants. Les numéros existants sont mis à jour et les nouveaux sont ajoutés. + Choisir un fichier + Fichier UTF-8 .json ou .csv, jusqu’à 10 Mo. L’extension détermine le format. + Sélectionnez à nouveau le fichier corrigé. + Ou coller du JSON / CSV + Format des données collées + Données collées + Chaque ligne est validée avant l’enregistrement. Si une ligne est invalide, rien n’est importé. Gardez cette page ouverte jusqu’au résultat. + Validation et importation… + Format du fichier et exemples + Obligatoires : number (texte, 1–64 caractères), latitude (-90 à 90), longitude (-180 à 180). Chaque numéro doit être unique dans le fichier. + Facultatifs : type, address (500 caractères maximum), main_size (pouces, supérieur à 0 et jusqu’à 9999.99), flow_gpm (entier positif ou nul), owner (200 caractères maximum). + En JSON, les nombres sont sans guillemets ; les noms et adresses sont entre guillemets doubles. Utilisez un point décimal. Omettez les valeurs facultatives ou utilisez null. Le CSV nécessite un en-tête ; entourez de guillemets les valeurs contenant des virgules ou des sauts de ligne. + Télécharger l’exemple JSON + Télécharger l’exemple CSV + Gérez les hydrants ici pour afficher débit et état sur les cartes. Les POI sont des repères distincts ; les POI liés apparaissent une seule fois dans la couche Hydrants. + Impossible de charger les hydrants. + Réessayer + Parcourir les interventions + Rechercher par numéro, nom ou adresse + État de l’intervention + Toutes les interventions + Interventions actives + Interventions clôturées + À partir du + Jusqu’au inclus + Rechercher + Précédent + Suivant + Chargement des interventions… + Impossible de charger les interventions. Relancez la recherche. + Aucune intervention correspondante sur cette page. + Les interventions protégées sont recherchables par numéro ; les noms et adresses sont masqués. + Activez JavaScript pour rechercher et sélectionner une intervention. + Saisissez une période valide dont le début précède ou égale la fin. + Sélectionnez une intervention disponible dans la liste ou effacez la sélection. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.it.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.it.resx index af351d252..2cda4304b 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.it.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.it.resx @@ -1217,7 +1217,6 @@ Dispiegamenti Ordini di risorse esterni che il dipartimento sta evadendo. Il sistema ordinante resta autoritativo: gli artefatti sono salvati come snapshot immutabili e nulla viene riscritto. Nuovo dispiegamento - I dispiegamenti sono una funzione in anteprima: i modelli derivano dalla documentazione pubblicata IROC, CIFFC ed EMAC, non da integrazioni live. Verifica con il tuo sistema ordinante. Ordine Numero ordine Incidente @@ -2109,4 +2108,52 @@ Esporta questo elenco Altro Utilizzo dell'inventario + Rapporti sui dispiegamenti + Cronologia, rapporti ed esportazioni dei dispiegamenti in sola lettura. Gestisci i dispiegamenti in Personale e operazioni aziendali. + Esporta risorse CSV + Apri gestione del dispiegamento + Ordini esterni + Nuovo ordine esterno + Torna agli idranti + Nessun idrante è stato salvato. Correggi le righe seguenti e importa nuovamente il file. + Sono mostrate {0} di {1} righe con problemi. JSON usa i numeri degli elementi; CSV i numeri di riga. + Elemento / riga + Come correggere + Carica o incolla i dati degli idranti + Importa fino a 20.000 idranti. I numeri esistenti vengono aggiornati; quelli nuovi vengono aggiunti. + Scegli un file + File UTF-8 .json o .csv, fino a 10 MB. L’estensione determina il formato. + Seleziona nuovamente il file corretto. + Oppure incolla JSON / CSV + Formato dei dati incollati + Dati incollati + Ogni riga viene convalidata prima del salvataggio. Se una riga non è valida, non viene importato nulla. Tieni aperta la pagina fino al risultato. + Convalida e importazione… + Formato del file ed esempi + Obbligatori: number (testo, 1–64 caratteri), latitude (da -90 a 90), longitude (da -180 a 180). Ogni numero deve essere univoco nel file. + Facoltativi: type, address (massimo 500 caratteri), main_size (pollici, maggiore di 0 e fino a 9999.99), flow_gpm (intero non negativo), owner (massimo 200 caratteri). + In JSON, i numeri non devono avere virgolette; nomi e indirizzi devono avere virgolette doppie. Usa il punto decimale. Ometti i valori facoltativi o usa null. CSV richiede un’intestazione; racchiudi tra virgolette i valori con virgole o interruzioni di riga. + Scarica esempio JSON + Scarica esempio CSV + Gestisci qui gli idranti per mostrare portata e stato sulle mappe. I POI sono punti di riferimento separati; quelli collegati appaiono una sola volta nel livello Idranti. + Impossibile caricare gli idranti. + Riprova + Sfoglia interventi + Cerca numero, nome o indirizzo + Stato intervento + Tutti gli interventi + Interventi attivi + Interventi chiusi + Dalla data + Fino alla data inclusa + Cerca + Precedente + Successivo + Caricamento interventi… + Impossibile caricare gli interventi. Ripeti la ricerca. + Nessun intervento corrispondente in questa pagina. + Gli interventi protetti sono ricercabili per numero; nomi e indirizzi sono nascosti. + Abilita JavaScript per cercare e selezionare un intervento. + Inserisci un intervallo valido con inizio precedente o uguale alla fine. + Seleziona un intervento disponibile dall’elenco o cancella la selezione. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.pl.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.pl.resx index 6842a01c3..34cc38abf 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.pl.resx @@ -1217,7 +1217,6 @@ Oddelegowania Zewnętrzne zamówienia zasobów realizowane przez jednostkę. System zamawiający pozostaje wiążący: artefakty są przechowywane jako niezmienne migawki i nic nie jest zapisywane zwrotnie. Nowe oddelegowanie - Oddelegowania to funkcja w podglądzie: wzorce zbudowano z opublikowanej dokumentacji IROC, CIFFC i EMAC, nie z integracji na żywo. Zweryfikuj z systemem zamawiającym. Zamówienie Numer zamówienia Zdarzenie @@ -2109,4 +2108,52 @@ Eksportuj tę listę Więcej Zużycie zapasów + Raporty z działań + Historia działań, raporty i eksporty tylko do odczytu. Zarządzaj działaniami w obszarze Kadr i operacji biznesowych. + Eksportuj zasoby CSV + Otwórz zarządzanie działaniami + Zlecenia zewnętrzne + Nowe zlecenie zewnętrzne + Wróć do hydrantów + Nie zapisano żadnych hydrantów. Popraw poniższe wiersze i ponownie zaimportuj plik. + Wyświetlono {0} z {1} wierszy z błędami. JSON używa numerów elementów, a CSV numerów wierszy. + Element / wiersz + Jak poprawić + Prześlij lub wklej dane hydrantów + Importuj do 20 000 hydrantów. Istniejące numery zostaną zaktualizowane, a nowe dodane. + Wybierz plik + Plik UTF-8 .json lub .csv, do 10 MB. Rozszerzenie określa format. + Wybierz ponownie poprawiony plik. + Lub wklej JSON / CSV + Format wklejonych danych + Wklejone dane + Każdy wiersz jest sprawdzany przed zapisem. Jeśli choć jeden jest nieprawidłowy, nic nie zostanie zaimportowane. Pozostaw stronę otwartą do wyświetlenia wyniku. + Sprawdzanie i importowanie… + Format pliku i przykłady + Wymagane: number (tekst, 1–64 znaki), latitude (od -90 do 90), longitude (od -180 do 180). Każdy numer musi być unikatowy w pliku. + Opcjonalne: type, address (do 500 znaków), main_size (cale, powyżej 0 do 9999.99), flow_gpm (nieujemna liczba całkowita), owner (do 200 znaków). + W JSON liczby nie mają cudzysłowów, a nazwy i adresy wymagają podwójnych cudzysłowów. Używaj kropki dziesiętnej. Pomiń wartości opcjonalne lub użyj null. CSV wymaga nagłówka; wartości z przecinkami lub podziałami wiersza umieść w cudzysłowach. + Pobierz przykład JSON + Pobierz przykład CSV + Zarządzaj hydrantami tutaj, aby pokazać przepływ i stan na mapach. POI to oddzielne punkty orientacyjne; powiązane POI pojawiają się tylko raz na warstwie Hydranty. + Nie udało się wczytać hydrantów. + Spróbuj ponownie + Przeglądaj zgłoszenia + Szukaj numeru, nazwy lub adresu + Status zgłoszenia + Wszystkie zgłoszenia + Aktywne zgłoszenia + Zamknięte zgłoszenia + Od daty + Do daty włącznie + Szukaj + Poprzednia + Następna + Ładowanie zgłoszeń… + Nie udało się wczytać zgłoszeń. Wyszukaj ponownie. + Brak pasujących zgłoszeń na tej stronie. + Chronione zgłoszenia można wyszukiwać według numeru; nazwy i adresy są ukryte. + Włącz JavaScript, aby wyszukać i wybrać zgłoszenie. + Podaj prawidłowy zakres dat, w którym początek nie jest późniejszy niż koniec. + Wybierz dostępne zgłoszenie z listy lub wyczyść wybór. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.sv.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.sv.resx index 2d19477e9..fb6348e11 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.sv.resx @@ -1217,7 +1217,6 @@ Insatser Externa resursbeställningar som din avdelning fyller. Beställningssystemet är fortsatt auktoritativt: artefakter lagras som oföränderliga ögonblicksbilder och inget skrivs tillbaka. Ny insats - Insatser är en förhandsvisningsfunktion: mallarna byggdes från publicerad IROC-, CIFFC- och EMAC-dokumentation, inte från liveintegrationer. Verifiera mot ditt beställningssystem. Beställning Beställningsnummer Händelse @@ -2109,4 +2108,52 @@ Exportera den här listan Mer Lagerförbrukning + Insatsrapporter + Insatshistorik, rapporter och exporter med läsbehörighet. Hantera insatser i Personal och verksamhetsdrift. + Exportera resurser som CSV + Öppna insatshanteringen + Externa order + Ny extern order + Tillbaka till brandposter + Inga brandposter sparades. Rätta raderna nedan och importera filen igen. + Visar {0} av {1} rader med problem. JSON använder postnummer; CSV använder radnummer. + Post / rad + Så rättar du felet + Ladda upp eller klistra in brandpostdata + Importera upp till 20 000 brandposter. Befintliga nummer uppdateras och nya läggs till. + Välj en fil + UTF-8-fil i .json eller .csv, högst 10 MB. Filändelsen avgör formatet. + Välj den rättade filen igen. + Eller klistra in JSON / CSV + Format för inklistrade data + Inklistrade data + Varje rad kontrolleras före sparandet. Om någon rad är ogiltig importeras ingenting. Låt sidan vara öppen tills resultatet visas. + Kontrollerar och importerar… + Filformat och exempel + Obligatoriska: number (text, 1–64 tecken), latitude (-90 till 90), longitude (-180 till 180). Varje nummer måste vara unikt i filen. + Valfria: type, address (högst 500 tecken), main_size (tum, över 0 till 9999.99), flow_gpm (icke-negativt heltal), owner (högst 200 tecken). + JSON-tal ska sakna citattecken; namn och adresser ska ha dubbla citattecken. Använd decimalpunkt. Utelämna valfria värden eller använd null. CSV kräver en rubrikrad; sätt citattecken runt värden med kommatecken eller radbrytningar. + Ladda ned JSON-exempel + Ladda ned CSV-exempel + Hantera brandposter här för att visa flöde och driftstatus på kartor. POI är separata landmärken; länkade POI visas bara en gång i lagret Brandposter. + Brandposterna kunde inte hämtas. + Försök igen + Bläddra bland larm + Sök larmnummer, namn eller adress + Larmstatus + Alla larm + Aktiva larm + Avslutade larm + Från datum + Till och med datum + Sök + Föregående + Nästa + Läser in larm… + Larmen kunde inte läsas in. Sök igen. + Inga matchande larm på den här sidan. + Skyddade larm kan sökas efter larmnummer; namn och adresser är dolda. + Aktivera JavaScript för att söka och välja ett larm. + Ange ett giltigt datumintervall där början inte är efter slutet. + Välj ett tillgängligt larm i listan eller rensa valet. diff --git a/Core/Resgrid.Localization/Areas/User/Records/Records.uk.resx b/Core/Resgrid.Localization/Areas/User/Records/Records.uk.resx index b270b59cb..ba7e39766 100644 --- a/Core/Resgrid.Localization/Areas/User/Records/Records.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/Records/Records.uk.resx @@ -1217,7 +1217,6 @@ Розгортання Зовнішні замовлення ресурсів, які виконує ваш підрозділ. Система замовлення залишається авторитетною: артефакти зберігаються як незмінні знімки, і нічого не записується назад. Нове розгортання - Розгортання є функцією попереднього перегляду: шаблони побудовано з опублікованої документації IROC, CIFFC та EMAC, а не з живих інтеграцій. Перевірте у своїй системі замовлення. Замовлення Номер замовлення Інцидент @@ -2109,4 +2108,52 @@ Експортувати цей список Більше Використання запасів + Звіти про розгортання + Історія розгортань, звіти та експорт лише для читання. Керуйте розгортаннями в розділі персоналу та бізнес-операцій. + Експортувати ресурси CSV + Відкрити керування розгортанням + Зовнішні замовлення + Нове зовнішнє замовлення + Назад до гідрантів + Жодного гідранта не збережено. Виправте рядки нижче та імпортуйте файл знову. + Показано {0} із {1} рядків із помилками. JSON використовує номери елементів, CSV — номери рядків. + Елемент / рядок + Як виправити + Завантажити або вставити дані гідрантів + Імпортуйте до 20 000 гідрантів. Наявні номери буде оновлено, нові — додано. + Вибрати файл + Файл UTF-8 .json або .csv, до 10 МБ. Розширення визначає формат. + Виберіть виправлений файл ще раз. + Або вставте JSON / CSV + Формат вставлених даних + Вставлені дані + Кожен рядок перевіряється перед збереженням. Якщо хоч один рядок некоректний, нічого не імпортується. Не закривайте сторінку до появи результату. + Перевірка та імпорт… + Формат файлу та приклади + Обов’язкові: number (текст, 1–64 символи), latitude (від -90 до 90), longitude (від -180 до 180). Кожен номер у файлі має бути унікальним. + Необов’язкові: type, address (до 500 символів), main_size (дюйми, більше 0 і до 9999.99), flow_gpm (невід’ємне ціле число), owner (до 200 символів). + У JSON числа мають бути без лапок, а назви й адреси — у подвійних лапках. Використовуйте десяткову крапку. Пропустіть необов’язкові значення або вкажіть null. CSV потребує заголовка; значення з комами чи переносами рядків беріть у лапки. + Завантажити приклад JSON + Завантажити приклад CSV + Керуйте гідрантами тут, щоб показувати витрату води та стан на картах. POI — окремі орієнтири; пов’язані POI відображаються лише раз на шарі гідрантів. + Не вдалося завантажити гідранти. + Спробувати знову + Переглянути виклики + Пошук за номером, назвою або адресою + Стан виклику + Усі виклики + Активні виклики + Закриті виклики + Від дати + До дати включно + Шукати + Назад + Далі + Завантаження викликів… + Не вдалося завантажити виклики. Повторіть пошук. + На цій сторінці немає відповідних викликів. + Захищені виклики можна шукати за номером; назви та адреси приховано. + Увімкніть JavaScript для пошуку та вибору виклику. + Укажіть правильний діапазон дат: початок має бути не пізніше за кінець. + Виберіть доступний виклик зі списку або очистьте вибір. diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.ar.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.ar.resx index 0903883c9..3a13c4602 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.ar.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.ar.resx @@ -80,4 +80,34 @@ الاسم الآلي مطلوب. استخدم أحرفاً وأرقاماً وشرطات سفلية فقط، تبدأ بحرف أو شرطة سفلية. أسماء آلية مكررة: {0}. يجب أن يكون كل اسم آلي فريداً ضمن نوع الكيان هذا. + + الحقول المخصصة للسجلات + + + اختر نوع السجل الذي تريد إضافة حقول إلى نموذجه. + + + استجابة لبلاغ + + + تدريب + + + عمل + + + اجتماع + + + الطب الشرعي + + + استدعاء + + + نشاط الوحدة + + + تقرير حادث NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.de.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.de.resx index 37def06cc..50f539c2a 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.de.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.de.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Benutzerdefinierte Datensatzfelder + + + Wählen Sie den Datensatztyp, dessen Formular Sie erweitern möchten. + + + Einsatz + + + Schulung + + + Arbeit + + + Besprechung + + + Leichenschau + + + Rückruf + + + Einheitsaktivität + + + NERIS-Ereignisbericht + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.el.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.el.resx index ca470864a..4fd7410fe 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.el.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.el.resx @@ -291,5 +291,35 @@ Διπλότυπα ονόματα συστήματος: {0}. Κάθε όνομα συστήματος πρέπει να είναι μοναδικό εντός αυτού του τύπου οντότητας. + + Προσαρμοσμένα πεδία εγγραφών + + + Επιλέξτε τον τύπο εγγραφής του οποίου τη φόρμα θέλετε να επεκτείνετε. + + + Επέμβαση + + + Εκπαίδευση + + + Εργασία + + + Συνάντηση + + + Ιατροδικαστής + + + Επανακλήση + + + Δραστηριότητα μονάδας + + + Αναφορά συμβάντος NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.en.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.en.resx index 9c667d356..e9746b44f 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.en.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.en.resx @@ -291,5 +291,35 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Record custom fields + + + Choose the record type whose form you want to extend. + + + Run + + + Training + + + Work + + + Meeting + + + Coroner + + + Callback + + + Unit activity + + + NERIS incident report + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.es.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.es.resx index c8b462d44..0612ff93b 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.es.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.es.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Campos personalizados de registros + + + Elija el tipo de registro cuyo formulario desea ampliar. + + + Intervención + + + Capacitación + + + Trabajo + + + Reunión + + + Forense + + + Rellamada + + + Actividad de la unidad + + + Informe de incidente NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.fr.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.fr.resx index 41ed10dba..9b3a89d70 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.fr.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.fr.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Champs personnalisés des dossiers + + + Choisissez le type de dossier dont vous souhaitez compléter le formulaire. + + + Intervention + + + Formation + + + Travail + + + Réunion + + + Médecin légiste + + + Rappel + + + Activité de l’unité + + + Rapport d’incident NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.it.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.it.resx index 0246db1a0..efeb4f923 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.it.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.it.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Campi personalizzati dei registri + + + Scegli il tipo di registro di cui vuoi ampliare il modulo. + + + Intervento + + + Formazione + + + Lavoro + + + Riunione + + + Medico legale + + + Richiamata + + + Attività dell’unità + + + Rapporto di incidente NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.pl.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.pl.resx index 823901882..7e614e9f9 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.pl.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.pl.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Pola niestandardowe rekordów + + + Wybierz typ rekordu, którego formularz chcesz rozszerzyć. + + + Interwencja + + + Szkolenie + + + Praca + + + Spotkanie + + + Koroner + + + Ponowne wezwanie + + + Aktywność jednostki + + + Raport o zdarzeniu NERIS + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.resx index 9c667d356..e9746b44f 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.resx @@ -291,5 +291,35 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Record custom fields + + + Choose the record type whose form you want to extend. + + + Run + + + Training + + + Work + + + Meeting + + + Coroner + + + Callback + + + Unit activity + + + NERIS incident report + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.sv.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.sv.resx index 7a4a5e53d..17bc34925 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.sv.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.sv.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Anpassade fält för poster + + + Välj den posttyp vars formulär du vill utöka. + + + Utryckning + + + Utbildning + + + Arbete + + + Möte + + + Rättsläkare + + + Återinkallning + + + Enhetsaktivitet + + + NERIS-incidentrapport + diff --git a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.uk.resx b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.uk.resx index b0e2500b9..3d1b54556 100644 --- a/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.uk.resx +++ b/Core/Resgrid.Localization/Areas/User/UserDefinedFields/UserDefinedFields.uk.resx @@ -83,4 +83,34 @@ Duplicate machine name(s): {0}. Each machine name must be unique within this entity type. + + Користувацькі поля записів + + + Виберіть тип запису, форму якого потрібно розширити. + + + Виїзд + + + Навчання + + + Робота + + + Нарада + + + Судмедексперт + + + Повторний виклик + + + Діяльність підрозділу + + + Звіт про інцидент NERIS + diff --git a/Core/Resgrid.Localization/Common.ar.resx b/Core/Resgrid.Localization/Common.ar.resx index 997f84a28..a99fce67b 100644 --- a/Core/Resgrid.Localization/Common.ar.resx +++ b/Core/Resgrid.Localization/Common.ar.resx @@ -314,4 +314,16 @@ القوى العاملة وعمليات الأعمال الجاهزية لوحة المعلومات + + استخدم JSON صالحًا: ضع النص بين علامتي اقتباس مزدوجتين، وأدخل الأرقام وtrue/false دون اقتباس. استخدم تنسيق ISO للتواريخ. تتبع أسماء الحقول المخطط دون تمييز حالة الأحرف. تحدد الأخطاء الحقل، وتبدأ فهارس المصفوفات من 0. + + + اتركه فارغًا لاستخدام قائمة أو كائن فارغ. + + + مثال JSON + + + مخطط JSON (أسماء الحقول وأنواعها) + diff --git a/Core/Resgrid.Localization/Common.de.resx b/Core/Resgrid.Localization/Common.de.resx index fdc33ce08..5e720fe16 100644 --- a/Core/Resgrid.Localization/Common.de.resx +++ b/Core/Resgrid.Localization/Common.de.resx @@ -1,4 +1,4 @@ - + @@ -747,4 +747,16 @@ Personal & Betriebsverwaltung Einsatzbereitschaft Übersicht + + Verwenden Sie gültiges JSON: Text in doppelte Anführungszeichen setzen; Zahlen und true/false ohne Anführungszeichen eingeben. Datumswerte im ISO-Format. Feldnamen entsprechen dem Schema (Groß-/Kleinschreibung wird ignoriert). Fehler nennen das Feld; Array-Indizes beginnen bei 0. + + + Leer lassen, um eine leere Liste oder ein leeres Objekt zu verwenden. + + + JSON-Beispiel + + + JSON-Schema (Feldnamen und Datentypen) + diff --git a/Core/Resgrid.Localization/Common.el.resx b/Core/Resgrid.Localization/Common.el.resx index 029ff8079..76b02fcb4 100644 --- a/Core/Resgrid.Localization/Common.el.resx +++ b/Core/Resgrid.Localization/Common.el.resx @@ -1,4 +1,4 @@ - +