From 6edda119a6bf43910fb22ff54ed46f731a7b8da2 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 10 Feb 2023 14:04:09 -0700 Subject: [PATCH 01/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 127 +++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 fr-CA/schemas/data/src/locales/fr-CA.ftl diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl new file mode 100644 index 0000000..7671ad1 --- /dev/null +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -0,0 +1,127 @@ +-default-message = must pass "{ $keyword }" keyword validation +-comparison-limit = must be { $comparison } { $limit } +items = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +additionalItems = { items } +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = + must have { $depsCount -> + [one] property + *[other] properties + } { $deps } when property { $property } is present +dependentRequired = { dependencies } +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{ $format }" +formatMaximum = { -comparison-limit } +formatExclusiveMaximum = { -comparison-limit } +formatMinimum = { -comparison-limit } +formatExclusiveMinimum = { -comparison-limit } +if = must match "{ $failingKeyword }" schema +maximum = { -comparison-limit } +exclusiveMaximum = { maximum } +maxItems = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +maxLength = + must not be longer than { $limit } { $limit -> + [one] character + *[other] characters + } +maxProperties = + must not have more than { $limit } { $limit -> + [one] property + *[other] properties + } +minimum = { -comparison-limit } +exclusiveMinimum = { minimum } +minItems = + must not have less than { $limit } { $limit -> + [one] item + *[other] items + } +minLength = + must not be shorter than { $limit } { $limit -> + [one] character + *[other] characters + } +minProperties = + must not have less than { $limit } { $limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of { $multipleOf } +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{ $pattern }" +patternRequired = must have property matching pattern "{ $missingPattern }" +propertyNames = property name is invalid +required = must have required property { $missingProperty } +type = + must be { $type }{ $nullable -> + [true] /null + *[default] { "" } + } +unevaluatedItems = + must not have more than { $len } { $len -> + [one] item + *[other] items + } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) + +# errorMessages + + +## logic + +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control + +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) + +qc-ActivityStartDate-Future = Contains date in the future +qc-ActivityEndDate-Future = Contains date in the future +qc-AnalysisStartDate-Future = Contains date in the future +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID From 15d3cbcbf81999c10d6c41e2fa8a2e2b389c7418 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 10 Feb 2023 14:04:10 -0700 Subject: [PATCH 02/61] New translations en-CA.ftl (Cree) --- cr/schemas/data/src/locales/cr-CA.ftl | 127 ++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 cr/schemas/data/src/locales/cr-CA.ftl diff --git a/cr/schemas/data/src/locales/cr-CA.ftl b/cr/schemas/data/src/locales/cr-CA.ftl new file mode 100644 index 0000000..7671ad1 --- /dev/null +++ b/cr/schemas/data/src/locales/cr-CA.ftl @@ -0,0 +1,127 @@ +-default-message = must pass "{ $keyword }" keyword validation +-comparison-limit = must be { $comparison } { $limit } +items = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +additionalItems = { items } +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = + must have { $depsCount -> + [one] property + *[other] properties + } { $deps } when property { $property } is present +dependentRequired = { dependencies } +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{ $format }" +formatMaximum = { -comparison-limit } +formatExclusiveMaximum = { -comparison-limit } +formatMinimum = { -comparison-limit } +formatExclusiveMinimum = { -comparison-limit } +if = must match "{ $failingKeyword }" schema +maximum = { -comparison-limit } +exclusiveMaximum = { maximum } +maxItems = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +maxLength = + must not be longer than { $limit } { $limit -> + [one] character + *[other] characters + } +maxProperties = + must not have more than { $limit } { $limit -> + [one] property + *[other] properties + } +minimum = { -comparison-limit } +exclusiveMinimum = { minimum } +minItems = + must not have less than { $limit } { $limit -> + [one] item + *[other] items + } +minLength = + must not be shorter than { $limit } { $limit -> + [one] character + *[other] characters + } +minProperties = + must not have less than { $limit } { $limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of { $multipleOf } +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{ $pattern }" +patternRequired = must have property matching pattern "{ $missingPattern }" +propertyNames = property name is invalid +required = must have required property { $missingProperty } +type = + must be { $type }{ $nullable -> + [true] /null + *[default] { "" } + } +unevaluatedItems = + must not have more than { $len } { $len -> + [one] item + *[other] items + } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) + +# errorMessages + + +## logic + +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control + +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) + +qc-ActivityStartDate-Future = Contains date in the future +qc-ActivityEndDate-Future = Contains date in the future +qc-AnalysisStartDate-Future = Contains date in the future +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID From 4da175ca359fff3957f0826a89ea904e12e98aae Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 10 Feb 2023 14:04:11 -0700 Subject: [PATCH 03/61] New translations en-CA.ftl (Inuktitut) --- iu/schemas/data/src/locales/iu-CA.ftl | 127 ++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 iu/schemas/data/src/locales/iu-CA.ftl diff --git a/iu/schemas/data/src/locales/iu-CA.ftl b/iu/schemas/data/src/locales/iu-CA.ftl new file mode 100644 index 0000000..7671ad1 --- /dev/null +++ b/iu/schemas/data/src/locales/iu-CA.ftl @@ -0,0 +1,127 @@ +-default-message = must pass "{ $keyword }" keyword validation +-comparison-limit = must be { $comparison } { $limit } +items = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +additionalItems = { items } +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = + must have { $depsCount -> + [one] property + *[other] properties + } { $deps } when property { $property } is present +dependentRequired = { dependencies } +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{ $format }" +formatMaximum = { -comparison-limit } +formatExclusiveMaximum = { -comparison-limit } +formatMinimum = { -comparison-limit } +formatExclusiveMinimum = { -comparison-limit } +if = must match "{ $failingKeyword }" schema +maximum = { -comparison-limit } +exclusiveMaximum = { maximum } +maxItems = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +maxLength = + must not be longer than { $limit } { $limit -> + [one] character + *[other] characters + } +maxProperties = + must not have more than { $limit } { $limit -> + [one] property + *[other] properties + } +minimum = { -comparison-limit } +exclusiveMinimum = { minimum } +minItems = + must not have less than { $limit } { $limit -> + [one] item + *[other] items + } +minLength = + must not be shorter than { $limit } { $limit -> + [one] character + *[other] characters + } +minProperties = + must not have less than { $limit } { $limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of { $multipleOf } +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{ $pattern }" +patternRequired = must have property matching pattern "{ $missingPattern }" +propertyNames = property name is invalid +required = must have required property { $missingProperty } +type = + must be { $type }{ $nullable -> + [true] /null + *[default] { "" } + } +unevaluatedItems = + must not have more than { $len } { $len -> + [one] item + *[other] items + } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) + +# errorMessages + + +## logic + +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control + +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) + +qc-ActivityStartDate-Future = Contains date in the future +qc-ActivityEndDate-Future = Contains date in the future +qc-AnalysisStartDate-Future = Contains date in the future +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID From 9b2d5d55652464fcb0d37900abac1ae72ccfb902 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 10 Feb 2023 14:04:12 -0700 Subject: [PATCH 04/61] New translations en-CA.ftl (Ojibwe) --- oj/schemas/data/src/locales/oj-CA.ftl | 127 ++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 oj/schemas/data/src/locales/oj-CA.ftl diff --git a/oj/schemas/data/src/locales/oj-CA.ftl b/oj/schemas/data/src/locales/oj-CA.ftl new file mode 100644 index 0000000..7671ad1 --- /dev/null +++ b/oj/schemas/data/src/locales/oj-CA.ftl @@ -0,0 +1,127 @@ +-default-message = must pass "{ $keyword }" keyword validation +-comparison-limit = must be { $comparison } { $limit } +items = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +additionalItems = { items } +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = + must have { $depsCount -> + [one] property + *[other] properties + } { $deps } when property { $property } is present +dependentRequired = { dependencies } +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{ $format }" +formatMaximum = { -comparison-limit } +formatExclusiveMaximum = { -comparison-limit } +formatMinimum = { -comparison-limit } +formatExclusiveMinimum = { -comparison-limit } +if = must match "{ $failingKeyword }" schema +maximum = { -comparison-limit } +exclusiveMaximum = { maximum } +maxItems = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +maxLength = + must not be longer than { $limit } { $limit -> + [one] character + *[other] characters + } +maxProperties = + must not have more than { $limit } { $limit -> + [one] property + *[other] properties + } +minimum = { -comparison-limit } +exclusiveMinimum = { minimum } +minItems = + must not have less than { $limit } { $limit -> + [one] item + *[other] items + } +minLength = + must not be shorter than { $limit } { $limit -> + [one] character + *[other] characters + } +minProperties = + must not have less than { $limit } { $limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of { $multipleOf } +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{ $pattern }" +patternRequired = must have property matching pattern "{ $missingPattern }" +propertyNames = property name is invalid +required = must have required property { $missingProperty } +type = + must be { $type }{ $nullable -> + [true] /null + *[default] { "" } + } +unevaluatedItems = + must not have more than { $len } { $len -> + [one] item + *[other] items + } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) + +# errorMessages + + +## logic + +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control + +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) + +qc-ActivityStartDate-Future = Contains date in the future +qc-ActivityEndDate-Future = Contains date in the future +qc-AnalysisStartDate-Future = Contains date in the future +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID From 7ec01fe112e4b2054d1d22988e139350b2758d18 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Sat, 11 Feb 2023 14:14:52 -0700 Subject: [PATCH 05/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 102 +++++++++++------------ 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 7671ad1..7c54d6a 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -1,82 +1,82 @@ --default-message = must pass "{ $keyword }" keyword validation --comparison-limit = must be { $comparison } { $limit } +-default-message = doit être valide selon le critère "{$keyword}" +-comparison-limit = doit être {$comparison} {$limit} items = - must not have more than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir plus de {$limit} {$limit -> + [one] élémént + *[other] éléménts } -additionalItems = { items } -additionalProperties = must not have additional properties -anyOf = must match a schema in "anyOf" -const = must be equal to constant -contains = must contain a valid item +additionalItems = {items} +additionalProperties = ne doit pas contenir de propriétés additionnelles +anyOf = doit correspondre à un schéma de « anyOf » +const = doit être égal à la constante +contains = doit contenir un élément valide dependencies = - must have { $depsCount -> - [one] property - *[other] properties - } { $deps } when property { $property } is present + doit avoir { $depsCount -> + [one] propriété + *[other] propriétés + } { $deps } quand la propriété { $property } est présente dependentRequired = { dependencies } -enum = must be equal to one of the allowed values -falseSchema = boolean schema is false -format = must match format "{ $format }" -formatMaximum = { -comparison-limit } +enum = doit être égal à une des valeurs prédéfinies +falseSchema = le schema est « false » +format = doit correspondre au format « {$format} » +formatMaximum = {-comparison-limit} formatExclusiveMaximum = { -comparison-limit } formatMinimum = { -comparison-limit } formatExclusiveMinimum = { -comparison-limit } -if = must match "{ $failingKeyword }" schema +if = doit correspondre au schéma « {$failingKeyword} » maximum = { -comparison-limit } exclusiveMaximum = { maximum } maxItems = - must not have more than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir plus de {$limit} {$limit -> + [one] élément + *[other] éléments } maxLength = - must not be longer than { $limit } { $limit -> - [one] character - *[other] characters + ne doit pas dépasser {$limit} {$limit -> + [one] caractère + *[other] caractères } maxProperties = - must not have more than { $limit } { $limit -> - [one] property - *[other] properties + ne doit pas contenir plus de {$limit} {$limit -> + [one] propriété + *[other] propriétés } minimum = { -comparison-limit } exclusiveMinimum = { minimum } minItems = - must not have less than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir moins de {$limit} {$limit -> + [one] élément + *[other] éléments } minLength = - must not be shorter than { $limit } { $limit -> - [one] character - *[other] characters + ne doit pas faire moins de {$limit} {$limit -> + [one] caractère + *[other] caractères } minProperties = - must not have less than { $limit } { $limit -> - [one] property - *[other] properties + ne doit pas contenir moins de {$limit} {$limit -> + [one] propriété + *[other] propriétés } -multipleOf = must be a multiple of { $multipleOf } -not = must not be valid according to schema in "not" -oneOf = must match exactly one schema in "oneOf" -pattern = must match pattern "{ $pattern }" -patternRequired = must have property matching pattern "{ $missingPattern }" -propertyNames = property name is invalid -required = must have required property { $missingProperty } +multipleOf = doit être un multiple de {$multipleOf} +not = est invalide selon le schéma « not » +oneOf = doit correspondre à exactement un schéma de « oneOf » +pattern = doit correspondre au format « {$pattern} » +patternRequired = la propriété doit correspondre au format « {$missingPattern} » +propertyNames = le nom de propriété est invalide +required = requiert la propriété {$missingProperty} type = - must be { $type }{ $nullable -> + doit être de type {$type}{$nullable -> [true] /null - *[default] { "" } + *[default] {""} } unevaluatedItems = - must not have more than { $len } { $len -> - [one] item - *[other] items + ne doit pas contenir plus de {$len} {$len -> + [one] élément + *[other] éléments } -unevaluatedProperties = must not have unevaluated properties -uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) +unevaluatedProperties = ne doit pas avoir de propriétés non évaluées +uniqueItems = ne doit pas contenir de doublons (les éléments ## {$j} et {$i} sont identiques) # errorMessages From 6e5fc74570dd27aacbf416458fba0ee0ed954e80 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 27 Feb 2023 19:18:04 -0700 Subject: [PATCH 06/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 339 +++++++++++++++++++---------- 1 file changed, 229 insertions(+), 110 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 3ce5eb1..7f19d72 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -1,115 +1,234 @@ --default-message = must pass "{$keyword}" keyword validation --comparison-limit = must be {$comparison} {$limit} +const __locales = ["en-CA","en"] -items = must not have more than {$limit} {$limit -> - [one] item - *[other] items - } -additionalItems = {items} -additionalProperties = must not have additional properties -anyOf = must match a schema in "anyOf" -const = must be equal to constant -contains = must contain a valid item -dependencies = must have {$depsCount -> - [one] property - *[other] properties - } {$deps} when property {$property} is present -dependentRequired = {dependencies} -enum = must be equal to one of the allowed values -falseSchema = boolean schema is false -format = must match format "{$format}" -formatMaximum = {-comparison-limit} -formatExclusiveMaximum = {-comparison-limit} -formatMinimum = {-comparison-limit} -formatExclusiveMinimum = {-comparison-limit} -if = must match "{$failingKeyword}" schema -maximum = {-comparison-limit} -exclusiveMaximum = {maximum} -maxItems = must not have more than {$limit} {$limit -> - [one] item - *[other] items - } -maxLength = must not be longer than {$limit} {$limit -> - [one] character - *[other] characters - } -maxProperties = must not have more than {$limit} {$limit -> - [one] property - *[other] properties - } -minimum = {-comparison-limit} -exclusiveMinimum = {minimum} -minItems = must not have less than {$limit} {$limit -> - [one] item - *[other] items - } -minLength = must not be shorter than {$limit} {$limit -> - [one] character - *[other] characters - } -minProperties = must not have less than {$limit} {$limit -> - [one] property - *[other] properties - } -multipleOf = must be a multiple of {$multipleOf} -not = must not be valid according to schema in "not" -oneOf = must match exactly one schema in "oneOf" -pattern = must match pattern "{$pattern}" -patternRequired = must have property matching pattern "{$missingPattern}" -propertyNames = property name is invalid -required = must have required property {$missingProperty} -type = must be {$type}{$nullable -> - [true] /null - *[default] {""} -} -unevaluatedItems = must not have more than {$len} {$len -> - [one] item - *[other] items +const __formatNumber = (value, options) => { + return new Intl.NumberFormat(__locales, options).format(value) } -unevaluatedProperties = must not have unevaluated properties -uniqueItems = must not have duplicate items (items ## {$j} and {$i} are identical) -# errorMessages -## logic -error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' -error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName -error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) -error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName -error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns -error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits -error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated -error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) - -## quality-control -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType -# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. -qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName -qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary - -qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit -# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) -qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None -qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists -qc-ResultUnit-None = The unit for the CharacteristicName should be None -qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated -qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % -# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). -qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % -qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero -qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit -qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) -qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). -qc-WhiteSpace = Leading or trailing white space detected in character string +const __formatVariable = (value) => { + if (typeof value === 'string') return value + const decimal = Number.parseFloat(value) + const number = Number.isInteger(decimal) ? Number.parseInt(value) : decimal + return __formatNumber(number) +} -## quality-control (code) -qc-ActivityStartDate-Future = Contains date in the future -qc-ActivityEndDate-Future = Contains date in the future -qc-AnalysisStartDate-Future = Contains date in the future -qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID -qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID -qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID +const __select = (value, cases, fallback, options) => { + const pluralRules = new Intl.PluralRules(__locales, options) + const rule = pluralRules.select(value) + return cases[value] ?? cases[rule] ?? fallback +} +const defaultMessage = (params) => `must pass "${params?.keyword}" keyword validation` +const comparisonLimit = (params) => `must be ${params?.comparison} ${params?.limit}` +export const items = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const additionalItems = (params) => `${items(params)}` +export const additionalProperties = `must not have additional properties` +export const anyOf = `must match a schema in "anyOf"` +export const _const = `must be equal to constant` +export const contains = `must contain a valid item` +export const dependencies = (params) => `must have ${__select( + params?.depsCount, + { + 'one': `property` + }, + `properties` + )} ${__formatVariable(params?.deps)} when property ${__formatVariable(params?.property)} is present` +export const dependentRequired = (params) => `${dependencies(params)}` +export const _enum = `must be equal to one of the allowed values` +export const falseSchema = `boolean schema is false` +export const format = (params) => `must match format "${__formatVariable(params?.format)}"` +export const formatMaximum = (params) => `${comparisonLimit(params)}` +export const formatExclusiveMaximum = (params) => `${comparisonLimit(params)}` +export const formatMinimum = (params) => `${comparisonLimit(params)}` +export const formatExclusiveMinimum = (params) => `${comparisonLimit(params)}` +export const _if = (params) => `must match "${__formatVariable(params?.failingKeyword)}" schema` +export const maximum = (params) => `${comparisonLimit(params)}` +export const exclusiveMaximum = (params) => `${maximum(params)}` +export const maxItems = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const maxLength = (params) => `must not be longer than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `character` + }, + `characters` + )}` +export const maxProperties = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `property` + }, + `properties` + )}` +export const minimum = (params) => `${comparisonLimit(params)}` +export const exclusiveMinimum = (params) => `${minimum(params)}` +export const minItems = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const minLength = (params) => `must not be shorter than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `character` + }, + `characters` + )}` +export const minProperties = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `property` + }, + `properties` + )}` +export const multipleOf = (params) => `must be a multiple of ${__formatVariable(params?.multipleOf)}` +export const not = `must not be valid according to schema in "not"` +export const oneOf = `must match exactly one schema in "oneOf"` +export const pattern = (params) => `must match pattern "${__formatVariable(params?.pattern)}"` +export const patternRequired = (params) => `must have property matching pattern "${__formatVariable(params?.missingPattern)}"` +export const propertyNames = `property name is invalid` +export const required = (params) => `must have required property ${__formatVariable(params?.missingProperty)}` +export const type = (params) => `must be ${__formatVariable(params?.type)}${__select( + params?.nullable, + { + 'true': `/null` + }, + `${""}` + )}` +export const unevaluatedItems = (params) => `must not have more than ${__formatVariable(params?.len)} ${__select( + params?.len, + { + 'one': `item` + }, + `items` + )}` +export const unevaluatedProperties = `must not have unevaluated properties` +export const uniqueItems = (params) => `must not have duplicate items (items ## ${__formatVariable(params?.j)} and ${__formatVariable(params?.i)} are identical)` +export const errorCsvInjection = `Invalid starting character. \`=\`, \`+\`, \`-\`, \`@\`, \`[space]\`, \`[tab]\`, \`[carriage return]\` are not valid characters for the beginning of text columns` +export const errorActivityTypeResultAnalyticalMethod = `Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample'` +export const errorCharacteristicNameMethodSpeciation = `MethodSpeciation required for selected CharacteristicName` +export const errorCharacteristicNameNutrientResultSampleFraction = `ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us)` +export const errorCharacteristicNameResultSampleFraction = `ResultSampleFraction required for selected CharacteristicName` +export const errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow = `ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits` +export const errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect = `When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated` +export const errorResultDetectionConditionResultValue = `Only one of ResultValue or ResultDetectionCondition should be populated` +export const errorResultDetectionQuantitationLimitUnitSalinity = `ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` +export const errorResultUnitSalinity = `ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` +export const qcActivityTypeResultSampleFraction = (params) => `ResultSampleFraction may not be relevant for selected ActivityType ${__formatVariable(params?.ActivityType)} ${__formatVariable(params?.ResultSampleFraction)}` +export const qcWhiteSpace = `Leading or trailing white space detected in character string` +export const qcResultDetectionQuantitationLimitMinimumMeasureMinimum = `ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit` +export const qcResultDetectionQuantitationLimitUnitNone = `The unit for the CharacteristicName should be None` +export const qcResultDetectionQuantitationLimitUnitNoValue = `ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated` +export const qcResultUnitElevation = `The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists` +export const qcResultUnitPercent = `The unit for the CharacteristicName is typically expressed as a %` +export const qcResultUnitNone = `The unit for the CharacteristicName should be None` +export const qcResultUnitNoValue = `ResultUnit is not needed when ResultValue is not populated` +export const qcResultValueDepthMaximum = `Depth is outside an expected range (<0).` +export const qcResultValueDissolvedOxygenUnit = `The unit for Dissolved oxygen (DO) should not be %` +export const qcResultValueDoSaturationMinimum = `The selected CharacteristicName should not have a measure below zero` +export const qcResultValueMinimum = `ResultValue should not be below zero for the selected ResultUnit` +export const qcResultValuePHRange = `pH ResultValue is outside the accepted allowed range (0 to 14)` +export const qcResultValueTemperatureRange = `Temperature is outside an expected range (-100 to 100).` +export const qcDuplicateLocations = `__` +const __exports = { + items, + additionalItems, + additionalProperties, + anyOf, + 'const': _const, + contains, + dependencies, + dependentRequired, + 'enum': _enum, + falseSchema, + format, + formatMaximum, + formatExclusiveMaximum, + formatMinimum, + formatExclusiveMinimum, + 'if': _if, + maximum, + exclusiveMaximum, + maxItems, + maxLength, + maxProperties, + minimum, + exclusiveMinimum, + minItems, + minLength, + minProperties, + multipleOf, + not, + oneOf, + pattern, + patternRequired, + propertyNames, + required, + type, + unevaluatedItems, + unevaluatedProperties, + uniqueItems, + 'error-CSVInjection': errorCsvInjection, + 'error-ActivityType-ResultAnalyticalMethod': errorActivityTypeResultAnalyticalMethod, + 'error-CharacteristicName-MethodSpeciation': errorCharacteristicNameMethodSpeciation, + 'error-CharacteristicName-Nutrient-ResultSampleFraction': errorCharacteristicNameNutrientResultSampleFraction, + 'error-CharacteristicName-ResultSampleFraction': errorCharacteristicNameResultSampleFraction, + 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below': errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow, + 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect': errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect, + 'error-ResultDetectionCondition-ResultValue': errorResultDetectionConditionResultValue, + 'error-ResultDetectionQuantitationLimitUnit-Salinity': errorResultDetectionQuantitationLimitUnitSalinity, + 'error-ResultUnit-Salinity': errorResultUnitSalinity, + 'qc-ActivityType-ResultSampleFraction': qcActivityTypeResultSampleFraction, + 'qc-WhiteSpace': qcWhiteSpace, + 'qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum': qcResultDetectionQuantitationLimitMinimumMeasureMinimum, + 'qc-ResultDetectionQuantitationLimitUnit-None': qcResultDetectionQuantitationLimitUnitNone, + 'qc-ResultDetectionQuantitationLimitUnit-NoValue': qcResultDetectionQuantitationLimitUnitNoValue, + 'qc-ResultUnit-Elevation': qcResultUnitElevation, + 'qc-ResultUnit-Percent': qcResultUnitPercent, + 'qc-ResultUnit-None': qcResultUnitNone, + 'qc-ResultUnit-NoValue': qcResultUnitNoValue, + 'qc-ResultValue-Depth-Maximum': qcResultValueDepthMaximum, + 'qc-ResultValue-DissolvedOxygen-Unit': qcResultValueDissolvedOxygenUnit, + 'qc-ResultValue-DOSaturation-Minimum': qcResultValueDoSaturationMinimum, + 'qc-ResultValue-Minimum': qcResultValueMinimum, + 'qc-ResultValue-pH-Range': qcResultValuePHRange, + 'qc-ResultValue-Temperature-Range': qcResultValueTemperatureRange, + 'qc-duplicate-locations': qcDuplicateLocations +} +export default (errors) => { + if (!errors?.length) return + for (const e of errors) { + let { keyword } = e + if (keyword === 'false schema') keyword = 'falseSchema' + let source = __exports[keyword] ?? __exports['_'+keyword] + let values = {} + if (keyword === 'errorMessage') { + const [message, ...valuesPairs] = e.message.split(', ') + valuesPairs.forEach(pair => { + const [key, value] = pair.split(':') + values[key] = value.replace(regExpJsonPointerQuote, '') + }) + source ??= __exports[message] ?? __exports['_'+message] ?? e.message + } else { + source ??= __exports.defaultMessage + } + if (typeof source === 'function') { + e.message = source({keyword:e.keyword, ...e.params, ...values}) + } else { + e.message = source + } + } +} +const regExpJsonPointerQuote = /(^"|"$)/g From 499da72351c175ff0cb977a6530b425dec8465ea Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 27 Feb 2023 19:18:06 -0700 Subject: [PATCH 07/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 353 +++++++++++++++-------- 1 file changed, 230 insertions(+), 123 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 7c54d6a..7f19d72 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -1,127 +1,234 @@ --default-message = doit être valide selon le critère "{$keyword}" --comparison-limit = doit être {$comparison} {$limit} -items = - ne doit pas contenir plus de {$limit} {$limit -> - [one] élémént - *[other] éléménts - } -additionalItems = {items} -additionalProperties = ne doit pas contenir de propriétés additionnelles -anyOf = doit correspondre à un schéma de « anyOf » -const = doit être égal à la constante -contains = doit contenir un élément valide -dependencies = - doit avoir { $depsCount -> - [one] propriété - *[other] propriétés - } { $deps } quand la propriété { $property } est présente -dependentRequired = { dependencies } -enum = doit être égal à une des valeurs prédéfinies -falseSchema = le schema est « false » -format = doit correspondre au format « {$format} » -formatMaximum = {-comparison-limit} -formatExclusiveMaximum = { -comparison-limit } -formatMinimum = { -comparison-limit } -formatExclusiveMinimum = { -comparison-limit } -if = doit correspondre au schéma « {$failingKeyword} » -maximum = { -comparison-limit } -exclusiveMaximum = { maximum } -maxItems = - ne doit pas contenir plus de {$limit} {$limit -> - [one] élément - *[other] éléments - } -maxLength = - ne doit pas dépasser {$limit} {$limit -> - [one] caractère - *[other] caractères - } -maxProperties = - ne doit pas contenir plus de {$limit} {$limit -> - [one] propriété - *[other] propriétés - } -minimum = { -comparison-limit } -exclusiveMinimum = { minimum } -minItems = - ne doit pas contenir moins de {$limit} {$limit -> - [one] élément - *[other] éléments - } -minLength = - ne doit pas faire moins de {$limit} {$limit -> - [one] caractère - *[other] caractères - } -minProperties = - ne doit pas contenir moins de {$limit} {$limit -> - [one] propriété - *[other] propriétés - } -multipleOf = doit être un multiple de {$multipleOf} -not = est invalide selon le schéma « not » -oneOf = doit correspondre à exactement un schéma de « oneOf » -pattern = doit correspondre au format « {$pattern} » -patternRequired = la propriété doit correspondre au format « {$missingPattern} » -propertyNames = le nom de propriété est invalide -required = requiert la propriété {$missingProperty} -type = - doit être de type {$type}{$nullable -> - [true] /null - *[default] {""} - } -unevaluatedItems = - ne doit pas contenir plus de {$len} {$len -> - [one] élément - *[other] éléments - } -unevaluatedProperties = ne doit pas avoir de propriétés non évaluées -uniqueItems = ne doit pas contenir de doublons (les éléments ## {$j} et {$i} sont identiques) - -# errorMessages - - -## logic +const __locales = ["en-CA","en"] -error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' -error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName -error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) -error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName -error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns -error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits -error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated -error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +const __formatNumber = (value, options) => { + return new Intl.NumberFormat(__locales, options).format(value) +} -## quality-control +const __formatVariable = (value) => { + if (typeof value === 'string') return value + const decimal = Number.parseFloat(value) + const number = Number.isInteger(decimal) ? Number.parseInt(value) : decimal + return __formatNumber(number) +} -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType -# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. -qc-CharacteristicName-MethodSpeciation = MethodSpeciation may not be relevant for selected CharacteristicName -qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary -qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit -# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) -qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None -qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists -qc-ResultUnit-None = The unit for the CharacteristicName should be None -qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated -qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % -# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). -qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be % -qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero -qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit -qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) -qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). -qc-WhiteSpace = Leading or trailing white space detected in character string +const __select = (value, cases, fallback, options) => { + const pluralRules = new Intl.PluralRules(__locales, options) + const rule = pluralRules.select(value) + return cases[value] ?? cases[rule] ?? fallback +} -## quality-control (code) - -qc-ActivityStartDate-Future = Contains date in the future -qc-ActivityEndDate-Future = Contains date in the future -qc-AnalysisStartDate-Future = Contains date in the future -qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID -qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID -qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID +const defaultMessage = (params) => `must pass "${params?.keyword}" keyword validation` +const comparisonLimit = (params) => `must be ${params?.comparison} ${params?.limit}` +export const items = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const additionalItems = (params) => `${items(params)}` +export const additionalProperties = `must not have additional properties` +export const anyOf = `must match a schema in "anyOf"` +export const _const = `must be equal to constant` +export const contains = `must contain a valid item` +export const dependencies = (params) => `must have ${__select( + params?.depsCount, + { + 'one': `property` + }, + `properties` + )} ${__formatVariable(params?.deps)} when property ${__formatVariable(params?.property)} is present` +export const dependentRequired = (params) => `${dependencies(params)}` +export const _enum = `must be equal to one of the allowed values` +export const falseSchema = `boolean schema is false` +export const format = (params) => `must match format "${__formatVariable(params?.format)}"` +export const formatMaximum = (params) => `${comparisonLimit(params)}` +export const formatExclusiveMaximum = (params) => `${comparisonLimit(params)}` +export const formatMinimum = (params) => `${comparisonLimit(params)}` +export const formatExclusiveMinimum = (params) => `${comparisonLimit(params)}` +export const _if = (params) => `must match "${__formatVariable(params?.failingKeyword)}" schema` +export const maximum = (params) => `${comparisonLimit(params)}` +export const exclusiveMaximum = (params) => `${maximum(params)}` +export const maxItems = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const maxLength = (params) => `must not be longer than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `character` + }, + `characters` + )}` +export const maxProperties = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `property` + }, + `properties` + )}` +export const minimum = (params) => `${comparisonLimit(params)}` +export const exclusiveMinimum = (params) => `${minimum(params)}` +export const minItems = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `item` + }, + `items` + )}` +export const minLength = (params) => `must not be shorter than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `character` + }, + `characters` + )}` +export const minProperties = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( + params?.limit, + { + 'one': `property` + }, + `properties` + )}` +export const multipleOf = (params) => `must be a multiple of ${__formatVariable(params?.multipleOf)}` +export const not = `must not be valid according to schema in "not"` +export const oneOf = `must match exactly one schema in "oneOf"` +export const pattern = (params) => `must match pattern "${__formatVariable(params?.pattern)}"` +export const patternRequired = (params) => `must have property matching pattern "${__formatVariable(params?.missingPattern)}"` +export const propertyNames = `property name is invalid` +export const required = (params) => `must have required property ${__formatVariable(params?.missingProperty)}` +export const type = (params) => `must be ${__formatVariable(params?.type)}${__select( + params?.nullable, + { + 'true': `/null` + }, + `${""}` + )}` +export const unevaluatedItems = (params) => `must not have more than ${__formatVariable(params?.len)} ${__select( + params?.len, + { + 'one': `item` + }, + `items` + )}` +export const unevaluatedProperties = `must not have unevaluated properties` +export const uniqueItems = (params) => `must not have duplicate items (items ## ${__formatVariable(params?.j)} and ${__formatVariable(params?.i)} are identical)` +export const errorCsvInjection = `Invalid starting character. \`=\`, \`+\`, \`-\`, \`@\`, \`[space]\`, \`[tab]\`, \`[carriage return]\` are not valid characters for the beginning of text columns` +export const errorActivityTypeResultAnalyticalMethod = `Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample'` +export const errorCharacteristicNameMethodSpeciation = `MethodSpeciation required for selected CharacteristicName` +export const errorCharacteristicNameNutrientResultSampleFraction = `ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us)` +export const errorCharacteristicNameResultSampleFraction = `ResultSampleFraction required for selected CharacteristicName` +export const errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow = `ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits` +export const errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect = `When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated` +export const errorResultDetectionConditionResultValue = `Only one of ResultValue or ResultDetectionCondition should be populated` +export const errorResultDetectionQuantitationLimitUnitSalinity = `ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` +export const errorResultUnitSalinity = `ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` +export const qcActivityTypeResultSampleFraction = (params) => `ResultSampleFraction may not be relevant for selected ActivityType ${__formatVariable(params?.ActivityType)} ${__formatVariable(params?.ResultSampleFraction)}` +export const qcWhiteSpace = `Leading or trailing white space detected in character string` +export const qcResultDetectionQuantitationLimitMinimumMeasureMinimum = `ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit` +export const qcResultDetectionQuantitationLimitUnitNone = `The unit for the CharacteristicName should be None` +export const qcResultDetectionQuantitationLimitUnitNoValue = `ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated` +export const qcResultUnitElevation = `The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists` +export const qcResultUnitPercent = `The unit for the CharacteristicName is typically expressed as a %` +export const qcResultUnitNone = `The unit for the CharacteristicName should be None` +export const qcResultUnitNoValue = `ResultUnit is not needed when ResultValue is not populated` +export const qcResultValueDepthMaximum = `Depth is outside an expected range (<0).` +export const qcResultValueDissolvedOxygenUnit = `The unit for Dissolved oxygen (DO) should not be %` +export const qcResultValueDoSaturationMinimum = `The selected CharacteristicName should not have a measure below zero` +export const qcResultValueMinimum = `ResultValue should not be below zero for the selected ResultUnit` +export const qcResultValuePHRange = `pH ResultValue is outside the accepted allowed range (0 to 14)` +export const qcResultValueTemperatureRange = `Temperature is outside an expected range (-100 to 100).` +export const qcDuplicateLocations = `__` +const __exports = { + items, + additionalItems, + additionalProperties, + anyOf, + 'const': _const, + contains, + dependencies, + dependentRequired, + 'enum': _enum, + falseSchema, + format, + formatMaximum, + formatExclusiveMaximum, + formatMinimum, + formatExclusiveMinimum, + 'if': _if, + maximum, + exclusiveMaximum, + maxItems, + maxLength, + maxProperties, + minimum, + exclusiveMinimum, + minItems, + minLength, + minProperties, + multipleOf, + not, + oneOf, + pattern, + patternRequired, + propertyNames, + required, + type, + unevaluatedItems, + unevaluatedProperties, + uniqueItems, + 'error-CSVInjection': errorCsvInjection, + 'error-ActivityType-ResultAnalyticalMethod': errorActivityTypeResultAnalyticalMethod, + 'error-CharacteristicName-MethodSpeciation': errorCharacteristicNameMethodSpeciation, + 'error-CharacteristicName-Nutrient-ResultSampleFraction': errorCharacteristicNameNutrientResultSampleFraction, + 'error-CharacteristicName-ResultSampleFraction': errorCharacteristicNameResultSampleFraction, + 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below': errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow, + 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect': errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect, + 'error-ResultDetectionCondition-ResultValue': errorResultDetectionConditionResultValue, + 'error-ResultDetectionQuantitationLimitUnit-Salinity': errorResultDetectionQuantitationLimitUnitSalinity, + 'error-ResultUnit-Salinity': errorResultUnitSalinity, + 'qc-ActivityType-ResultSampleFraction': qcActivityTypeResultSampleFraction, + 'qc-WhiteSpace': qcWhiteSpace, + 'qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum': qcResultDetectionQuantitationLimitMinimumMeasureMinimum, + 'qc-ResultDetectionQuantitationLimitUnit-None': qcResultDetectionQuantitationLimitUnitNone, + 'qc-ResultDetectionQuantitationLimitUnit-NoValue': qcResultDetectionQuantitationLimitUnitNoValue, + 'qc-ResultUnit-Elevation': qcResultUnitElevation, + 'qc-ResultUnit-Percent': qcResultUnitPercent, + 'qc-ResultUnit-None': qcResultUnitNone, + 'qc-ResultUnit-NoValue': qcResultUnitNoValue, + 'qc-ResultValue-Depth-Maximum': qcResultValueDepthMaximum, + 'qc-ResultValue-DissolvedOxygen-Unit': qcResultValueDissolvedOxygenUnit, + 'qc-ResultValue-DOSaturation-Minimum': qcResultValueDoSaturationMinimum, + 'qc-ResultValue-Minimum': qcResultValueMinimum, + 'qc-ResultValue-pH-Range': qcResultValuePHRange, + 'qc-ResultValue-Temperature-Range': qcResultValueTemperatureRange, + 'qc-duplicate-locations': qcDuplicateLocations +} +export default (errors) => { + if (!errors?.length) return + for (const e of errors) { + let { keyword } = e + if (keyword === 'false schema') keyword = 'falseSchema' + let source = __exports[keyword] ?? __exports['_'+keyword] + let values = {} + if (keyword === 'errorMessage') { + const [message, ...valuesPairs] = e.message.split(', ') + valuesPairs.forEach(pair => { + const [key, value] = pair.split(':') + values[key] = value.replace(regExpJsonPointerQuote, '') + }) + source ??= __exports[message] ?? __exports['_'+message] ?? e.message + } else { + source ??= __exports.defaultMessage + } + if (typeof source === 'function') { + e.message = source({keyword:e.keyword, ...e.params, ...values}) + } else { + e.message = source + } + } +} +const regExpJsonPointerQuote = /(^"|"$)/g From c7d59ee6280dc141d820324ef1a94c4e6f141ae7 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 27 Feb 2023 19:18:47 -0700 Subject: [PATCH 08/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 362 +++++++++-------------- 1 file changed, 132 insertions(+), 230 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 7f19d72..1e4c3fd 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -1,234 +1,136 @@ -const __locales = ["en-CA","en"] +-default-message = must pass "{ $keyword }" keyword validation +-comparison-limit = must be { $comparison } { $limit } +items = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +additionalItems = { items } +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = + must have { $depsCount -> + [one] property + *[other] properties + } { $deps } when property { $property } is present +dependentRequired = { dependencies } +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{ $format }" +formatMaximum = { -comparison-limit } +formatExclusiveMaximum = { -comparison-limit } +formatMinimum = { -comparison-limit } +formatExclusiveMinimum = { -comparison-limit } +if = must match "{ $failingKeyword }" schema +maximum = { -comparison-limit } +exclusiveMaximum = { maximum } +maxItems = + must not have more than { $limit } { $limit -> + [one] item + *[other] items + } +maxLength = + must not be longer than { $limit } { $limit -> + [one] character + *[other] characters + } +maxProperties = + must not have more than { $limit } { $limit -> + [one] property + *[other] properties + } +minimum = { -comparison-limit } +exclusiveMinimum = { minimum } +minItems = + must not have less than { $limit } { $limit -> + [one] item + *[other] items + } +minLength = + must not be shorter than { $limit } { $limit -> + [one] character + *[other] characters + } +minProperties = + must not have less than { $limit } { $limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of { $multipleOf } +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{ $pattern }" +patternRequired = must have property matching pattern "{ $missingPattern }" +propertyNames = property name is invalid +required = must have required property { $missingProperty } +type = + must be { $type }{ $nullable -> + [true] /null + *[default] { "" } + } +unevaluatedItems = + must not have more than { $len } { $len -> + [one] item + *[other] items + } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) -const __formatNumber = (value, options) => { - return new Intl.NumberFormat(__locales, options).format(value) -} +# errorMessages -const __formatVariable = (value) => { - if (typeof value === 'string') return value - const decimal = Number.parseFloat(value) - const number = Number.isInteger(decimal) ? Number.parseInt(value) : decimal - return __formatNumber(number) -} -const __select = (value, cases, fallback, options) => { - const pluralRules = new Intl.PluralRules(__locales, options) - const rule = pluralRules.select(value) - return cases[value] ?? cases[rule] ?? fallback -} +## format -const defaultMessage = (params) => `must pass "${params?.keyword}" keyword validation` -const comparisonLimit = (params) => `must be ${params?.comparison} ${params?.limit}` -export const items = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const additionalItems = (params) => `${items(params)}` -export const additionalProperties = `must not have additional properties` -export const anyOf = `must match a schema in "anyOf"` -export const _const = `must be equal to constant` -export const contains = `must contain a valid item` -export const dependencies = (params) => `must have ${__select( - params?.depsCount, - { - 'one': `property` - }, - `properties` - )} ${__formatVariable(params?.deps)} when property ${__formatVariable(params?.property)} is present` -export const dependentRequired = (params) => `${dependencies(params)}` -export const _enum = `must be equal to one of the allowed values` -export const falseSchema = `boolean schema is false` -export const format = (params) => `must match format "${__formatVariable(params?.format)}"` -export const formatMaximum = (params) => `${comparisonLimit(params)}` -export const formatExclusiveMaximum = (params) => `${comparisonLimit(params)}` -export const formatMinimum = (params) => `${comparisonLimit(params)}` -export const formatExclusiveMinimum = (params) => `${comparisonLimit(params)}` -export const _if = (params) => `must match "${__formatVariable(params?.failingKeyword)}" schema` -export const maximum = (params) => `${comparisonLimit(params)}` -export const exclusiveMaximum = (params) => `${maximum(params)}` -export const maxItems = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const maxLength = (params) => `must not be longer than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `character` - }, - `characters` - )}` -export const maxProperties = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `property` - }, - `properties` - )}` -export const minimum = (params) => `${comparisonLimit(params)}` -export const exclusiveMinimum = (params) => `${minimum(params)}` -export const minItems = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const minLength = (params) => `must not be shorter than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `character` - }, - `characters` - )}` -export const minProperties = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `property` - }, - `properties` - )}` -export const multipleOf = (params) => `must be a multiple of ${__formatVariable(params?.multipleOf)}` -export const not = `must not be valid according to schema in "not"` -export const oneOf = `must match exactly one schema in "oneOf"` -export const pattern = (params) => `must match pattern "${__formatVariable(params?.pattern)}"` -export const patternRequired = (params) => `must have property matching pattern "${__formatVariable(params?.missingPattern)}"` -export const propertyNames = `property name is invalid` -export const required = (params) => `must have required property ${__formatVariable(params?.missingProperty)}` -export const type = (params) => `must be ${__formatVariable(params?.type)}${__select( - params?.nullable, - { - 'true': `/null` - }, - `${""}` - )}` -export const unevaluatedItems = (params) => `must not have more than ${__formatVariable(params?.len)} ${__select( - params?.len, - { - 'one': `item` - }, - `items` - )}` -export const unevaluatedProperties = `must not have unevaluated properties` -export const uniqueItems = (params) => `must not have duplicate items (items ## ${__formatVariable(params?.j)} and ${__formatVariable(params?.i)} are identical)` -export const errorCsvInjection = `Invalid starting character. \`=\`, \`+\`, \`-\`, \`@\`, \`[space]\`, \`[tab]\`, \`[carriage return]\` are not valid characters for the beginning of text columns` -export const errorActivityTypeResultAnalyticalMethod = `Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample'` -export const errorCharacteristicNameMethodSpeciation = `MethodSpeciation required for selected CharacteristicName` -export const errorCharacteristicNameNutrientResultSampleFraction = `ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us)` -export const errorCharacteristicNameResultSampleFraction = `ResultSampleFraction required for selected CharacteristicName` -export const errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow = `ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits` -export const errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect = `When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated` -export const errorResultDetectionConditionResultValue = `Only one of ResultValue or ResultDetectionCondition should be populated` -export const errorResultDetectionQuantitationLimitUnitSalinity = `ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` -export const errorResultUnitSalinity = `ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` -export const qcActivityTypeResultSampleFraction = (params) => `ResultSampleFraction may not be relevant for selected ActivityType ${__formatVariable(params?.ActivityType)} ${__formatVariable(params?.ResultSampleFraction)}` -export const qcWhiteSpace = `Leading or trailing white space detected in character string` -export const qcResultDetectionQuantitationLimitMinimumMeasureMinimum = `ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit` -export const qcResultDetectionQuantitationLimitUnitNone = `The unit for the CharacteristicName should be None` -export const qcResultDetectionQuantitationLimitUnitNoValue = `ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated` -export const qcResultUnitElevation = `The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists` -export const qcResultUnitPercent = `The unit for the CharacteristicName is typically expressed as a %` -export const qcResultUnitNone = `The unit for the CharacteristicName should be None` -export const qcResultUnitNoValue = `ResultUnit is not needed when ResultValue is not populated` -export const qcResultValueDepthMaximum = `Depth is outside an expected range (<0).` -export const qcResultValueDissolvedOxygenUnit = `The unit for Dissolved oxygen (DO) should not be %` -export const qcResultValueDoSaturationMinimum = `The selected CharacteristicName should not have a measure below zero` -export const qcResultValueMinimum = `ResultValue should not be below zero for the selected ResultUnit` -export const qcResultValuePHRange = `pH ResultValue is outside the accepted allowed range (0 to 14)` -export const qcResultValueTemperatureRange = `Temperature is outside an expected range (-100 to 100).` -export const qcDuplicateLocations = `__` -const __exports = { - items, - additionalItems, - additionalProperties, - anyOf, - 'const': _const, - contains, - dependencies, - dependentRequired, - 'enum': _enum, - falseSchema, - format, - formatMaximum, - formatExclusiveMaximum, - formatMinimum, - formatExclusiveMinimum, - 'if': _if, - maximum, - exclusiveMaximum, - maxItems, - maxLength, - maxProperties, - minimum, - exclusiveMinimum, - minItems, - minLength, - minProperties, - multipleOf, - not, - oneOf, - pattern, - patternRequired, - propertyNames, - required, - type, - unevaluatedItems, - unevaluatedProperties, - uniqueItems, - 'error-CSVInjection': errorCsvInjection, - 'error-ActivityType-ResultAnalyticalMethod': errorActivityTypeResultAnalyticalMethod, - 'error-CharacteristicName-MethodSpeciation': errorCharacteristicNameMethodSpeciation, - 'error-CharacteristicName-Nutrient-ResultSampleFraction': errorCharacteristicNameNutrientResultSampleFraction, - 'error-CharacteristicName-ResultSampleFraction': errorCharacteristicNameResultSampleFraction, - 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below': errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow, - 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect': errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect, - 'error-ResultDetectionCondition-ResultValue': errorResultDetectionConditionResultValue, - 'error-ResultDetectionQuantitationLimitUnit-Salinity': errorResultDetectionQuantitationLimitUnitSalinity, - 'error-ResultUnit-Salinity': errorResultUnitSalinity, - 'qc-ActivityType-ResultSampleFraction': qcActivityTypeResultSampleFraction, - 'qc-WhiteSpace': qcWhiteSpace, - 'qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum': qcResultDetectionQuantitationLimitMinimumMeasureMinimum, - 'qc-ResultDetectionQuantitationLimitUnit-None': qcResultDetectionQuantitationLimitUnitNone, - 'qc-ResultDetectionQuantitationLimitUnit-NoValue': qcResultDetectionQuantitationLimitUnitNoValue, - 'qc-ResultUnit-Elevation': qcResultUnitElevation, - 'qc-ResultUnit-Percent': qcResultUnitPercent, - 'qc-ResultUnit-None': qcResultUnitNone, - 'qc-ResultUnit-NoValue': qcResultUnitNoValue, - 'qc-ResultValue-Depth-Maximum': qcResultValueDepthMaximum, - 'qc-ResultValue-DissolvedOxygen-Unit': qcResultValueDissolvedOxygenUnit, - 'qc-ResultValue-DOSaturation-Minimum': qcResultValueDoSaturationMinimum, - 'qc-ResultValue-Minimum': qcResultValueMinimum, - 'qc-ResultValue-pH-Range': qcResultValuePHRange, - 'qc-ResultValue-Temperature-Range': qcResultValueTemperatureRange, - 'qc-duplicate-locations': qcDuplicateLocations -} -export default (errors) => { - if (!errors?.length) return - for (const e of errors) { - let { keyword } = e - if (keyword === 'false schema') keyword = 'falseSchema' - let source = __exports[keyword] ?? __exports['_'+keyword] - let values = {} - if (keyword === 'errorMessage') { - const [message, ...valuesPairs] = e.message.split(', ') - valuesPairs.forEach(pair => { - const [key, value] = pair.split(':') - values[key] = value.replace(regExpJsonPointerQuote, '') - }) - source ??= __exports[message] ?? __exports['_'+message] ?? e.message - } else { - source ??= __exports.defaultMessage - } - if (typeof source === 'function') { - e.message = source({keyword:e.keyword, ...e.params, ...values}) - } else { - e.message = source - } - } -} -const regExpJsonPointerQuote = /(^"|"$)/g +error-date-format = Must match format YYYY-MM-DD (i.e. 1999-12-31) +error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) +error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) +error-timezone-loose-pattern = Must match format '-06:00' +error-timezone-strict-pattern = { error-timezone-loose-pattern } + +## errors + +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control + +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +# qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) + +qc-Date-Future = Contains date in the future +qc-ActivityStartDate-Future = { qc-Date-Future } +qc-ActivityEndDate-Future = { qc-Date-Future } +qc-AnalysisStartDate-Future = { qc-Date-Future } +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID From 2f6602577de5b0546e36cb862bccb168c76a1f7e Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 28 Feb 2023 19:27:05 -0700 Subject: [PATCH 09/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 347 ++++++++++------------------- 1 file changed, 118 insertions(+), 229 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 7f19d72..a2136b2 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -1,234 +1,123 @@ -const __locales = ["en-CA","en"] +-default-message = must pass "{$keyword}" keyword validation +-comparison-limit = must be {$comparison} {$limit} -const __formatNumber = (value, options) => { - return new Intl.NumberFormat(__locales, options).format(value) +items = must not have more than {$limit} {$limit -> + [one] item + *[other] items + } +additionalItems = {items} +additionalProperties = must not have additional properties +anyOf = must match a schema in "anyOf" +const = must be equal to constant +contains = must contain a valid item +dependencies = must have {$depsCount -> + [one] property + *[other] properties + } {$deps} when property {$property} is present +dependentRequired = {dependencies} +enum = must be equal to one of the allowed values +falseSchema = boolean schema is false +format = must match format "{$format}" +formatMaximum = {-comparison-limit} +formatExclusiveMaximum = {-comparison-limit} +formatMinimum = {-comparison-limit} +formatExclusiveMinimum = {-comparison-limit} +if = must match "{$failingKeyword}" schema +maximum = {-comparison-limit} +exclusiveMaximum = {maximum} +maxItems = must not have more than {$limit} {$limit -> + [one] item + *[other] items + } +maxLength = must not be longer than {$limit} {$limit -> + [one] character + *[other] characters + } +maxProperties = must not have more than {$limit} {$limit -> + [one] property + *[other] properties + } +minimum = {-comparison-limit} +exclusiveMinimum = {minimum} +minItems = must not have less than {$limit} {$limit -> + [one] item + *[other] items + } +minLength = must not be shorter than {$limit} {$limit -> + [one] character + *[other] characters + } +minProperties = must not have less than {$limit} {$limit -> + [one] property + *[other] properties + } +multipleOf = must be a multiple of {$multipleOf} +not = must not be valid according to schema in "not" +oneOf = must match exactly one schema in "oneOf" +pattern = must match pattern "{$pattern}" +patternRequired = must have property matching pattern "{$missingPattern}" +propertyNames = property name is invalid +required = must have required property {$missingProperty} +type = must be {$type}{$nullable -> + [true] /null + *[default] {""} } - -const __formatVariable = (value) => { - if (typeof value === 'string') return value - const decimal = Number.parseFloat(value) - const number = Number.isInteger(decimal) ? Number.parseInt(value) : decimal - return __formatNumber(number) +unevaluatedItems = must not have more than {$len} {$len -> + [one] item + *[other] items } +unevaluatedProperties = must not have unevaluated properties +uniqueItems = must not have duplicate items (items ## {$j} and {$i} are identical) -const __select = (value, cases, fallback, options) => { - const pluralRules = new Intl.PluralRules(__locales, options) - const rule = pluralRules.select(value) - return cases[value] ?? cases[rule] ?? fallback -} +# errorMessages +## format +error-date-format = Must match format YYYY-MM-DD (i.e. 1999-12-31) +error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) +error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) +error-timezone-loose-pattern = Must match format '-06:00' +error-timezone-strict-pattern = { error-timezone-loose-pattern } + +## errors +error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) +error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits +error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated +error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) + +## quality-control +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +# qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary + +qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit +# qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) +qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None +qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +# qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists +qc-ResultUnit-None = The unit for the CharacteristicName should be None +qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated +qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +# qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). +qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' +qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit +qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) +qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). +qc-WhiteSpace = Leading or trailing white space detected in character string + +## quality-control (code) +qc-Date-Future = Contains date in the future +qc-ActivityStartDate-Future = {qc-Date-Future} +qc-ActivityEndDate-Future = {qc-Date-Future} +qc-AnalysisStartDate-Future = {qc-Date-Future} +qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID +qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID +qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID -const defaultMessage = (params) => `must pass "${params?.keyword}" keyword validation` -const comparisonLimit = (params) => `must be ${params?.comparison} ${params?.limit}` -export const items = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const additionalItems = (params) => `${items(params)}` -export const additionalProperties = `must not have additional properties` -export const anyOf = `must match a schema in "anyOf"` -export const _const = `must be equal to constant` -export const contains = `must contain a valid item` -export const dependencies = (params) => `must have ${__select( - params?.depsCount, - { - 'one': `property` - }, - `properties` - )} ${__formatVariable(params?.deps)} when property ${__formatVariable(params?.property)} is present` -export const dependentRequired = (params) => `${dependencies(params)}` -export const _enum = `must be equal to one of the allowed values` -export const falseSchema = `boolean schema is false` -export const format = (params) => `must match format "${__formatVariable(params?.format)}"` -export const formatMaximum = (params) => `${comparisonLimit(params)}` -export const formatExclusiveMaximum = (params) => `${comparisonLimit(params)}` -export const formatMinimum = (params) => `${comparisonLimit(params)}` -export const formatExclusiveMinimum = (params) => `${comparisonLimit(params)}` -export const _if = (params) => `must match "${__formatVariable(params?.failingKeyword)}" schema` -export const maximum = (params) => `${comparisonLimit(params)}` -export const exclusiveMaximum = (params) => `${maximum(params)}` -export const maxItems = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const maxLength = (params) => `must not be longer than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `character` - }, - `characters` - )}` -export const maxProperties = (params) => `must not have more than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `property` - }, - `properties` - )}` -export const minimum = (params) => `${comparisonLimit(params)}` -export const exclusiveMinimum = (params) => `${minimum(params)}` -export const minItems = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `item` - }, - `items` - )}` -export const minLength = (params) => `must not be shorter than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `character` - }, - `characters` - )}` -export const minProperties = (params) => `must not have less than ${__formatVariable(params?.limit)} ${__select( - params?.limit, - { - 'one': `property` - }, - `properties` - )}` -export const multipleOf = (params) => `must be a multiple of ${__formatVariable(params?.multipleOf)}` -export const not = `must not be valid according to schema in "not"` -export const oneOf = `must match exactly one schema in "oneOf"` -export const pattern = (params) => `must match pattern "${__formatVariable(params?.pattern)}"` -export const patternRequired = (params) => `must have property matching pattern "${__formatVariable(params?.missingPattern)}"` -export const propertyNames = `property name is invalid` -export const required = (params) => `must have required property ${__formatVariable(params?.missingProperty)}` -export const type = (params) => `must be ${__formatVariable(params?.type)}${__select( - params?.nullable, - { - 'true': `/null` - }, - `${""}` - )}` -export const unevaluatedItems = (params) => `must not have more than ${__formatVariable(params?.len)} ${__select( - params?.len, - { - 'one': `item` - }, - `items` - )}` -export const unevaluatedProperties = `must not have unevaluated properties` -export const uniqueItems = (params) => `must not have duplicate items (items ## ${__formatVariable(params?.j)} and ${__formatVariable(params?.i)} are identical)` -export const errorCsvInjection = `Invalid starting character. \`=\`, \`+\`, \`-\`, \`@\`, \`[space]\`, \`[tab]\`, \`[carriage return]\` are not valid characters for the beginning of text columns` -export const errorActivityTypeResultAnalyticalMethod = `Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample'` -export const errorCharacteristicNameMethodSpeciation = `MethodSpeciation required for selected CharacteristicName` -export const errorCharacteristicNameNutrientResultSampleFraction = `ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us)` -export const errorCharacteristicNameResultSampleFraction = `ResultSampleFraction required for selected CharacteristicName` -export const errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow = `ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits` -export const errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect = `When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated` -export const errorResultDetectionConditionResultValue = `Only one of ResultValue or ResultDetectionCondition should be populated` -export const errorResultDetectionQuantitationLimitUnitSalinity = `ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` -export const errorResultUnitSalinity = `ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit)` -export const qcActivityTypeResultSampleFraction = (params) => `ResultSampleFraction may not be relevant for selected ActivityType ${__formatVariable(params?.ActivityType)} ${__formatVariable(params?.ResultSampleFraction)}` -export const qcWhiteSpace = `Leading or trailing white space detected in character string` -export const qcResultDetectionQuantitationLimitMinimumMeasureMinimum = `ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit` -export const qcResultDetectionQuantitationLimitUnitNone = `The unit for the CharacteristicName should be None` -export const qcResultDetectionQuantitationLimitUnitNoValue = `ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated` -export const qcResultUnitElevation = `The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists` -export const qcResultUnitPercent = `The unit for the CharacteristicName is typically expressed as a %` -export const qcResultUnitNone = `The unit for the CharacteristicName should be None` -export const qcResultUnitNoValue = `ResultUnit is not needed when ResultValue is not populated` -export const qcResultValueDepthMaximum = `Depth is outside an expected range (<0).` -export const qcResultValueDissolvedOxygenUnit = `The unit for Dissolved oxygen (DO) should not be %` -export const qcResultValueDoSaturationMinimum = `The selected CharacteristicName should not have a measure below zero` -export const qcResultValueMinimum = `ResultValue should not be below zero for the selected ResultUnit` -export const qcResultValuePHRange = `pH ResultValue is outside the accepted allowed range (0 to 14)` -export const qcResultValueTemperatureRange = `Temperature is outside an expected range (-100 to 100).` -export const qcDuplicateLocations = `__` -const __exports = { - items, - additionalItems, - additionalProperties, - anyOf, - 'const': _const, - contains, - dependencies, - dependentRequired, - 'enum': _enum, - falseSchema, - format, - formatMaximum, - formatExclusiveMaximum, - formatMinimum, - formatExclusiveMinimum, - 'if': _if, - maximum, - exclusiveMaximum, - maxItems, - maxLength, - maxProperties, - minimum, - exclusiveMinimum, - minItems, - minLength, - minProperties, - multipleOf, - not, - oneOf, - pattern, - patternRequired, - propertyNames, - required, - type, - unevaluatedItems, - unevaluatedProperties, - uniqueItems, - 'error-CSVInjection': errorCsvInjection, - 'error-ActivityType-ResultAnalyticalMethod': errorActivityTypeResultAnalyticalMethod, - 'error-CharacteristicName-MethodSpeciation': errorCharacteristicNameMethodSpeciation, - 'error-CharacteristicName-Nutrient-ResultSampleFraction': errorCharacteristicNameNutrientResultSampleFraction, - 'error-CharacteristicName-ResultSampleFraction': errorCharacteristicNameResultSampleFraction, - 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below': errorResultDetectionConditionResultDetectionQuantitationLimitAboveBelow, - 'error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect': errorResultDetectionConditionResultDetectionQuantitationLimitNotDetect, - 'error-ResultDetectionCondition-ResultValue': errorResultDetectionConditionResultValue, - 'error-ResultDetectionQuantitationLimitUnit-Salinity': errorResultDetectionQuantitationLimitUnitSalinity, - 'error-ResultUnit-Salinity': errorResultUnitSalinity, - 'qc-ActivityType-ResultSampleFraction': qcActivityTypeResultSampleFraction, - 'qc-WhiteSpace': qcWhiteSpace, - 'qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum': qcResultDetectionQuantitationLimitMinimumMeasureMinimum, - 'qc-ResultDetectionQuantitationLimitUnit-None': qcResultDetectionQuantitationLimitUnitNone, - 'qc-ResultDetectionQuantitationLimitUnit-NoValue': qcResultDetectionQuantitationLimitUnitNoValue, - 'qc-ResultUnit-Elevation': qcResultUnitElevation, - 'qc-ResultUnit-Percent': qcResultUnitPercent, - 'qc-ResultUnit-None': qcResultUnitNone, - 'qc-ResultUnit-NoValue': qcResultUnitNoValue, - 'qc-ResultValue-Depth-Maximum': qcResultValueDepthMaximum, - 'qc-ResultValue-DissolvedOxygen-Unit': qcResultValueDissolvedOxygenUnit, - 'qc-ResultValue-DOSaturation-Minimum': qcResultValueDoSaturationMinimum, - 'qc-ResultValue-Minimum': qcResultValueMinimum, - 'qc-ResultValue-pH-Range': qcResultValuePHRange, - 'qc-ResultValue-Temperature-Range': qcResultValueTemperatureRange, - 'qc-duplicate-locations': qcDuplicateLocations -} -export default (errors) => { - if (!errors?.length) return - for (const e of errors) { - let { keyword } = e - if (keyword === 'false schema') keyword = 'falseSchema' - let source = __exports[keyword] ?? __exports['_'+keyword] - let values = {} - if (keyword === 'errorMessage') { - const [message, ...valuesPairs] = e.message.split(', ') - valuesPairs.forEach(pair => { - const [key, value] = pair.split(':') - values[key] = value.replace(regExpJsonPointerQuote, '') - }) - source ??= __exports[message] ?? __exports['_'+message] ?? e.message - } else { - source ??= __exports.defaultMessage - } - if (typeof source === 'function') { - e.message = source({keyword:e.keyword, ...e.params, ...values}) - } else { - e.message = source - } - } -} -const regExpJsonPointerQuote = /(^"|"$)/g From ed1e3af8a8262a4ac6db91bba9fcb07d5bf27122 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 3 Mar 2023 12:49:07 -0700 Subject: [PATCH 10/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 1e4c3fd..46ae62b 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -1,5 +1,5 @@ --default-message = must pass "{ $keyword }" keyword validation --comparison-limit = must be { $comparison } { $limit } +-default-message = doit être valide selon le critère "{$keyword}" +-comparison-limit = doit être {$comparison} {$limit} items = must not have more than { $limit } { $limit -> [one] item @@ -124,6 +124,7 @@ qc-ResultValue-Minimum = ResultValue should not be below zero for the selected R qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). qc-WhiteSpace = Leading or trailing white space detected in character string +ci-test = Test if crowdin resets file ## quality-control (code) From fa00e116eb5fa9af951bd4061cabb0b63b780c48 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 3 Mar 2023 12:58:37 -0700 Subject: [PATCH 11/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index a2136b2..d29c007 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -112,6 +112,8 @@ qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range ( qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). qc-WhiteSpace = Leading or trailing white space detected in character string +ci-test = Test if crowdin resets file + ## quality-control (code) qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = {qc-Date-Future} From bf1f5032819734eb931269476ed1585a12c8d3d2 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 3 Mar 2023 12:58:40 -0700 Subject: [PATCH 12/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 110 +++++++++++------------ 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 46ae62b..7ae8d0e 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -1,82 +1,82 @@ -default-message = doit être valide selon le critère "{$keyword}" -comparison-limit = doit être {$comparison} {$limit} items = - must not have more than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir plus de {$limit} {$limit -> + [one] élémént + *[other] éléménts } additionalItems = { items } -additionalProperties = must not have additional properties -anyOf = must match a schema in "anyOf" -const = must be equal to constant -contains = must contain a valid item +additionalProperties = ne doit pas contenir de propriétés additionnelles +anyOf = doit correspondre à un schéma de « anyOf » +const = doit être égal à la constante +contains = doit contenir un élément valide dependencies = - must have { $depsCount -> - [one] property - *[other] properties - } { $deps } when property { $property } is present -dependentRequired = { dependencies } -enum = must be equal to one of the allowed values -falseSchema = boolean schema is false -format = must match format "{ $format }" -formatMaximum = { -comparison-limit } -formatExclusiveMaximum = { -comparison-limit } -formatMinimum = { -comparison-limit } -formatExclusiveMinimum = { -comparison-limit } -if = must match "{ $failingKeyword }" schema -maximum = { -comparison-limit } + doit avoir { $depsCount -> + [one] propriété + *[other] propriétés + } { $deps } quand la propriété { $property } est présente +dependentRequired = {dependencies} +enum = doit être égal à une des valeurs prédéfinies +falseSchema = le schema est « false » +format = doit correspondre au format « {$format} » +formatMaximum = {-comparison-limit} +formatExclusiveMaximum = {-comparison-limit} +formatMinimum = {-comparison-limit} +formatExclusiveMinimum = {-comparison-limit} +if = doit correspondre au schéma « {$failingKeyword} » +maximum = {-comparison-limit} exclusiveMaximum = { maximum } maxItems = - must not have more than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir plus de {$limit} {$limit -> + [one] élément + *[other] éléments } maxLength = - must not be longer than { $limit } { $limit -> - [one] character - *[other] characters + ne doit pas dépasser {$limit} {$limit -> + [one] caractère + *[other] caractères } maxProperties = - must not have more than { $limit } { $limit -> - [one] property - *[other] properties + ne doit pas contenir plus de {$limit} {$limit -> + [one] propriété + *[other] propriétés } -minimum = { -comparison-limit } +minimum = {-comparison-limit} exclusiveMinimum = { minimum } minItems = - must not have less than { $limit } { $limit -> - [one] item - *[other] items + ne doit pas contenir moins de {$limit} {$limit -> + [one] élément + *[other] éléments } minLength = - must not be shorter than { $limit } { $limit -> - [one] character - *[other] characters + ne doit pas faire moins de {$limit} {$limit -> + [one] caractère + *[other] caractères } minProperties = - must not have less than { $limit } { $limit -> - [one] property - *[other] properties + ne doit pas contenir moins de {$limit} {$limit -> + [one] propriété + *[other] propriétés } -multipleOf = must be a multiple of { $multipleOf } -not = must not be valid according to schema in "not" -oneOf = must match exactly one schema in "oneOf" -pattern = must match pattern "{ $pattern }" -patternRequired = must have property matching pattern "{ $missingPattern }" -propertyNames = property name is invalid -required = must have required property { $missingProperty } +multipleOf = doit être un multiple de {$multipleOf} +not = est invalide selon le schéma « not » +oneOf = doit correspondre à exactement un schéma de « oneOf » +pattern = doit correspondre au format « {$pattern} » +patternRequired = la propriété doit correspondre au format « {$missingPattern} » +propertyNames = le nom de propriété est invalide +required = requiert la propriété {$missingProperty} type = - must be { $type }{ $nullable -> - [true] /null - *[default] { "" } + doit être de type {$type}{$nullable -> + [true] /null + *[default] {""} } unevaluatedItems = - must not have more than { $len } { $len -> - [one] item - *[other] items + ne doit pas contenir plus de {$len} {$len -> + [one] élément + *[other] éléments } -unevaluatedProperties = must not have unevaluated properties -uniqueItems = must not have duplicate items (items ## { $j } and { $i } are identical) +unevaluatedProperties = ne doit pas avoir de propriétés non évaluées +uniqueItems = ne doit pas contenir de doublons (les éléments ## {$j} et {$i} sont identiques) # errorMessages From 8a31b6b737e4ad8518fc0b7ec02d31361d2a6db5 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 20 Apr 2023 21:54:03 -0600 Subject: [PATCH 13/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 7ae8d0e..211dc2e 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -107,6 +107,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit @@ -124,7 +125,6 @@ qc-ResultValue-Minimum = ResultValue should not be below zero for the selected R qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). qc-WhiteSpace = Leading or trailing white space detected in character string -ci-test = Test if crowdin resets file ## quality-control (code) From 72a34d9abccbdfac4d20a083fc0be1695aefc18b Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 1 May 2023 10:48:49 -0600 Subject: [PATCH 14/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index d29c007..fa98698 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -93,6 +93,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. +qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary @@ -112,8 +113,6 @@ qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range ( qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). qc-WhiteSpace = Leading or trailing white space detected in character string -ci-test = Test if crowdin resets file - ## quality-control (code) qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = {qc-Date-Future} From 1784f098209f018267a0ce64c67d61ff3a6e6249 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 19 Jun 2023 21:04:05 -0600 Subject: [PATCH 15/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 211dc2e..999dbfd 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -135,3 +135,4 @@ qc-AnalysisStartDate-Future = { qc-Date-Future } qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID +qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID From 09d4381f37e0fcbee8cc1c57a658c5ad59a0d643 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 27 Jun 2023 09:26:13 -0600 Subject: [PATCH 16/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index fa98698..eadcbab 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -121,4 +121,4 @@ qc-AnalysisStartDate-Future = {qc-Date-Future} qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordinates (Latitude, Longitude) are used with the same MonitoringLocationID qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID - +qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID From 523ede8b8e7c69e7c9934106ad2e319636ad1bb4 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 28 Jun 2023 09:21:55 -0600 Subject: [PATCH 17/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index eadcbab..6b285bb 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -91,12 +91,14 @@ error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitatio error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) ## quality-control +qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is "YSI", ActivityType "Field Msr/Obs-Portable Data Logger" is expected qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None From 876d688d24d05d43695f9ac3c1fd5860f23b6890 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 28 Jun 2023 09:21:56 -0600 Subject: [PATCH 18/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 999dbfd..ee226f4 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -105,11 +105,13 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control +qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is "YSI", ActivityType "Field Msr/Obs-Portable Data Logger" is expected qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None From 430dde82f19bb24c4d47cce05f0a15f6378ad094 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 29 Jun 2023 09:19:26 -0600 Subject: [PATCH 19/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 6b285bb..42a7b61 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -98,7 +98,7 @@ qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for t qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary -qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is "YSI", ActivityType "Field Msr/Obs-Portable Data Logger" is expected +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None From dd52617c52f61b7c7118574658344d094c78432c Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 29 Jun 2023 09:19:30 -0600 Subject: [PATCH 20/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index ee226f4..ec55e12 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -111,7 +111,7 @@ qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary -qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is "YSI", ActivityType "Field Msr/Obs-Portable Data Logger" is expected +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None From db9214cc24ada489dd9e917938301a957b7b0019 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 17 Jul 2023 10:04:03 -0600 Subject: [PATCH 21/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index ec55e12..9ee56b1 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -130,6 +130,8 @@ qc-WhiteSpace = Leading or trailing white space detected in character string ## quality-control (code) +qc-ColumnCount = Should match column count from the first row +qc-DatasetName = Does not match expected value. qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = { qc-Date-Future } qc-ActivityEndDate-Future = { qc-Date-Future } From ffc8aacccc0e05883e27367e108330394f530d3f Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 18 Jul 2023 10:47:02 -0600 Subject: [PATCH 22/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 42a7b61..4200c65 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -116,6 +116,8 @@ qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-10 qc-WhiteSpace = Leading or trailing white space detected in character string ## quality-control (code) +qc-ColumnCount = Should match column count from the first row +qc-DatasetName = Does not match expected value. qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = {qc-Date-Future} qc-ActivityEndDate-Future = {qc-Date-Future} From 45e016d2538ae9772764ee97fad811cccea388af Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 16 Aug 2023 12:52:39 -0600 Subject: [PATCH 23/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 9ee56b1..2619fe8 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -95,7 +95,7 @@ error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAn error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data on the Resources page error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -106,7 +106,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see resources page) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName From 3e262af144a002498060b22a349614bc6e5a40a6 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 17 Aug 2023 12:48:17 -0600 Subject: [PATCH 24/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 4200c65..bc182b8 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -82,7 +82,7 @@ error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAn error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data on the Resources page error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -92,7 +92,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see resources page) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName From bb4e68c377bcc0cd2164741a19403df79bfe975d Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 18 Aug 2023 13:47:44 -0600 Subject: [PATCH 25/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index bc182b8..97f08e3 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -116,6 +116,7 @@ qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-10 qc-WhiteSpace = Leading or trailing white space detected in character string ## quality-control (code) +qc-RowCount = A dataset requires at least one row. qc-ColumnCount = Should match column count from the first row qc-DatasetName = Does not match expected value. qc-Date-Future = Contains date in the future From 996f7a3d47ec3b11491f8b06ba797d6603410d13 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 18 Aug 2023 13:47:48 -0600 Subject: [PATCH 26/61] New translations en-CA.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 2619fe8..a35ead3 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -130,6 +130,7 @@ qc-WhiteSpace = Leading or trailing white space detected in character string ## quality-control (code) +qc-RowCount = A dataset requires at least one row. qc-ColumnCount = Should match column count from the first row qc-DatasetName = Does not match expected value. qc-Date-Future = Contains date in the future From c3e7768f57405d88f6be9d91bf0f48fe8c7d65ed Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 26 Oct 2023 11:49:42 -0600 Subject: [PATCH 27/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index a35ead3..9f26bde 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -77,9 +77,8 @@ unevaluatedItems = } unevaluatedProperties = ne doit pas avoir de propriétés non évaluées uniqueItems = ne doit pas contenir de doublons (les éléments ## {$j} et {$i} sont identiques) - # errorMessages - +error-additional-columns = Should not have columns outside of schema/template ## format From 6e601699d8195ddeb837607f1077fa0d19698946 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 27 Oct 2023 11:50:35 -0600 Subject: [PATCH 28/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 97f08e3..14381da 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -70,6 +70,8 @@ unevaluatedProperties = must not have unevaluated properties uniqueItems = must not have duplicate items (items ## {$j} and {$i} are identical) # errorMessages +error-additional-columns = Should not have columns outside of schema/template + ## format error-date-format = Must match format YYYY-MM-DD (i.e. 1999-12-31) error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) From 2fb4516f1d0c1cf8069ab31f1fc0423ebb434e51 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 4 Dec 2023 12:44:37 -0500 Subject: [PATCH 29/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 9f26bde..ff5681e 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -92,9 +92,9 @@ error-timezone-strict-pattern = { error-timezone-loose-pattern } error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName -error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data on the Resources page +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see [Best Practices for Reporting Isotope Data] (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -105,7 +105,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see resources page) +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName From f5d840d4db6e27f2dcec71eaaeefe89e38cad1d8 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 5 Dec 2023 13:00:28 -0500 Subject: [PATCH 30/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 14381da..26edfc1 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -82,9 +82,9 @@ error-timezone-strict-pattern = { error-timezone-loose-pattern } ## errors error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName -error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see resources page or contact us) +error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data on the Resources page +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see [Best Practices for Reporting Isotope Data] (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -94,7 +94,7 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 -qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see resources page) +qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName From e2fd022c823926bb34e74adcd76d90de39315f0c Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 7 Dec 2023 14:45:39 -0500 Subject: [PATCH 31/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index ff5681e..48287b5 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -108,6 +108,7 @@ qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMea qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" +qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected @@ -115,6 +116,7 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated From f02f8acefbac27eb6ab2ac78bd3b7d8b9228975d Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 8 Dec 2023 14:40:42 -0500 Subject: [PATCH 32/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 26edfc1..3be78f7 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -84,7 +84,7 @@ error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAn error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see [Best Practices for Reporting Isotope Data] (https://datastream.org/en-ca/documentation/isotope-data-guidance) +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -97,6 +97,7 @@ qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMea qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" +qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/data-schema) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary @@ -105,6 +106,7 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/data-schema) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated From 5ddd3cfffe11fbf5098be59ecd1523d7046da494 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 8 Dec 2023 14:40:44 -0500 Subject: [PATCH 33/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 48287b5..ef93903 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -94,7 +94,7 @@ error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAn error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName -error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see [Best Practices for Reporting Isotope Data] (https://datastream.org/en-ca/documentation/isotope-data-guidance) +error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated @@ -108,7 +108,7 @@ qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMea qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" -qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data +qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/data-schema) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected @@ -116,7 +116,7 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream +qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/data-schema) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated From 38d5f64873eaa12fb140fcf561087bc30307b8b8 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 15 Feb 2024 10:19:15 -0700 Subject: [PATCH 34/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 3be78f7..c04b11b 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -97,16 +97,16 @@ qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMea qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" -qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/data-schema) +qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary -qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/data-schema) +qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated From f4285a2f92f701b12a6a1a4d440d285bbcd9a1f4 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 15 Feb 2024 10:19:17 -0700 Subject: [PATCH 35/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index ef93903..3e9ebe7 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -108,15 +108,15 @@ qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMea qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" -qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/data-schema) +qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary -qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', ActivityType 'Field Msr/Obs-Portable Data Logger' is expected +qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/data-schema) +qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated From c1675a271f2700a92a493ab2000e5592e1a9d2f7 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 11 Jul 2024 07:38:19 -0600 Subject: [PATCH 36/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index c04b11b..eaf2057 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -99,6 +99,7 @@ qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') @@ -114,6 +115,7 @@ qc-ResultUnit-Percent = The unit for the CharacteristicName is typically express # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-DOY-Range = ResultValue is outside the expected range (1 to 366) for the unit DOY (Day of Year) qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). From 7da0e029ad22dc96d326e06f9032f6d739d4185c Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 11 Jul 2024 07:38:20 -0600 Subject: [PATCH 37/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 3e9ebe7..24cc3c6 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -110,6 +110,7 @@ qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuantitationLimitMeasure should not be below zero for the selected ResultDetectionQuantitationLimitUnit @@ -124,6 +125,7 @@ qc-ResultUnit-Percent = The unit for the CharacteristicName is typically express # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero +qc-ResultValue-DOY-Range = ResultValue is outside the expected range (1 to 366) for the unit DOY (Day of Year) qc-ResultValue-Minimum = ResultValue should not be below zero for the selected ResultUnit qc-ResultValue-pH-Range = pH ResultValue is outside the accepted allowed range (0 to 14) qc-ResultValue-Temperature-Range = Temperature is outside an expected range (-100 to 100). From 20dd22a20ef92379ca01e32ee53b2ac4a0a59b55 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 25 Jul 2024 09:28:24 -0600 Subject: [PATCH 38/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 24cc3c6..5640626 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -144,3 +144,4 @@ qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordina qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID +qc-ActivityTypeContinuous = When there are >= 24 observations of the same type on the same day, ActivityType is expected to equal 'Field Msr/Obs-Continuous Time Series' From 3c358303515c10f652a592634580d9ef68ad8c93 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Sat, 3 Aug 2024 20:06:00 -0600 Subject: [PATCH 39/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index eaf2057..dbb89c2 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -10,7 +10,7 @@ additionalProperties = must not have additional properties anyOf = must match a schema in "anyOf" const = must be equal to constant contains = must contain a valid item -dependencies = must have {$depsCount -> +dependencies = must have {$depsCount -> [one] property *[other] properties } {$deps} when property {$property} is present @@ -58,7 +58,7 @@ pattern = must match pattern "{$pattern}" patternRequired = must have property matching pattern "{$missingPattern}" propertyNames = property name is invalid required = must have required property {$missingProperty} -type = must be {$type}{$nullable -> +type = must be {$type}{$nullable -> [true] /null *[default] {""} } @@ -133,3 +133,4 @@ qc-MonitoringLocationCoordinate-Duplicate = Multiple MonitoringLocation coordina qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used with the same MonitoringLocationID qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID +qc-ActivityTypeContinuous = When there are >= 24 observations of the same type on the same day, ActivityType is expected to equal 'Field Msr/Obs-Continuous Time Series' From 7c82bbddaa4e067f1b85719b14acdee846d60943 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 11 Sep 2024 12:47:56 -0600 Subject: [PATCH 40/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 1 + 1 file changed, 1 insertion(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 5640626..afcc7f2 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -145,3 +145,4 @@ qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID qc-ActivityTypeContinuous = When there are >= 24 observations of the same type on the same day, ActivityType is expected to equal 'Field Msr/Obs-Continuous Time Series' +qc-ResultUnit-Turbidity = @NL TODO From 7da9fe83ba76248e7d5320d34329dd91c78b9a51 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 12 Sep 2024 13:06:15 -0600 Subject: [PATCH 41/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index dbb89c2..09fc7dd 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -107,11 +107,13 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultDetectionQuantitationLimitUnit = @NL TODO qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +qc-ResultUnit-Turbidity = @NL TODO # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero From dcd8c9e9f253dc6a9ace9d0cc2c7637bcf8ec25b Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 12 Sep 2024 13:06:17 -0600 Subject: [PATCH 42/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index afcc7f2..0c2942b 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -117,11 +117,13 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated +qc-ResultDetectionQuantitationLimitUnit = @NL TODO qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % +qc-ResultUnit-Turbidity = @NL TODO # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero @@ -145,4 +147,3 @@ qc-MonitoringLocationName-Duplicate = Multiple MonitoringLocationNames are used qc-MonitoringLocationType-Duplicate = Multiple MonitoringLocationTypes are used with the same MonitoringLocationID qc-MonitoringLocationHorizontalCoordinateReferenceSystem-Duplicate = Multiple MonitoringLocationHorizontalCoordinateReferenceSystems are used with the same MonitoringLocationID qc-ActivityTypeContinuous = When there are >= 24 observations of the same type on the same day, ActivityType is expected to equal 'Field Msr/Obs-Continuous Time Series' -qc-ResultUnit-Turbidity = @NL TODO From a0e0b7709d18a20a9ff85d70316a78b96a157908 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 3 Oct 2024 16:27:57 -0600 Subject: [PATCH 43/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 09fc7dd..0f714d2 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -107,13 +107,13 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultDetectionQuantitationLimitUnit = @NL TODO +qc-ResultDetectionQuantitationLimitUnit = ResultUnit should be used with CharacteristicName 'Turbidity' qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % -qc-ResultUnit-Turbidity = @NL TODO +qc-ResultUnit-Turbidity = ResultUnit should be used with CharacteristicName 'Turbidity' # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero From 92abc196f4c0f4022274fc9cad0f44a849bfef73 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 3 Oct 2024 16:27:59 -0600 Subject: [PATCH 44/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 0c2942b..a8c223a 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -117,13 +117,13 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultDetectionQuantitationLimitUnit = @NL TODO +qc-ResultDetectionQuantitationLimitUnit = ResultUnit should be used with CharacteristicName 'Turbidity' qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None qc-ResultUnit-NoValue = ResultUnit is not needed when ResultValue is not populated qc-ResultUnit-Percent = The unit for the CharacteristicName is typically expressed as a % -qc-ResultUnit-Turbidity = @NL TODO +qc-ResultUnit-Turbidity = ResultUnit should be used with CharacteristicName 'Turbidity' # qc-ResultValue-Depth-Maximum = Depth is outside an expected range (<0). qc-ResultValue-DissolvedOxygen-Unit = The unit for Dissolved oxygen (DO) should not be %. For DO saturation, use CharacteristicName 'Dissolved oxygen saturation' qc-ResultValue-DOSaturation-Minimum = The selected CharacteristicName should not have a measure below zero From c278fcbd9f6f2e7de7bb28ed2e8e3f9c9dc6811f Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 22 Oct 2024 19:38:00 -0600 Subject: [PATCH 45/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 0f714d2..6c336c1 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -107,7 +107,7 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultDetectionQuantitationLimitUnit = ResultUnit should be used with CharacteristicName 'Turbidity' +qc-ResultDetectionQuantitationLimitUnit-Turbidity = ResultUnit should be used with CharacteristicName 'Turbidity' qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None From 2fe5cda5c7f0cf83057396ff4dfa793bda5db579 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 22 Oct 2024 19:38:01 -0600 Subject: [PATCH 46/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index a8c223a..a9cf9b3 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -117,7 +117,7 @@ qc-ResultDetectionQuantitationLimitMinimumMeasure-Minimum = ResultDetectionQuant # qc-MonitoringLocationType-ActivityDepthHeightMeasure-Minimum = Depth should not exceed the maximum depth associated with the selected MonitoringLocationType (i.e. River/stream, Lake/pond) qc-ResultDetectionQuantitationLimitUnit-None = The unit for the CharacteristicName should be None qc-ResultDetectionQuantitationLimitUnit-NoValue = ResultDetectionQuantitationLimitUnit is not needed when ResultDetectionQuantitationLimitMeasure is not populated -qc-ResultDetectionQuantitationLimitUnit = ResultUnit should be used with CharacteristicName 'Turbidity' +qc-ResultDetectionQuantitationLimitUnit-Turbidity = ResultUnit should be used with CharacteristicName 'Turbidity' qc-ResultSampleFraction-ActivityMediaName-Sediment = If a sequential extraction was performed on a water sample, or particulates in a water sample, information regarding the reagents used should be indicated in the ResultComment, not the ResultSampleFraction. For guidance on how to select ResultSampleFraction in this case, please refer to our Best practices for submitting metal-series data to DataStream (https://datastream.org/en-ca/documentation/metal-series-data-guidance) # qc-ResultUnit-Elevation = The unit for the CharacteristicName should be an elevation. ** TODO: MASL not a unit, needs to be added to QC rule lists qc-ResultUnit-None = The unit for the CharacteristicName should be None From 3d02c234a19e9e0d1c254e83ac8410b91b642770 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Mon, 4 Nov 2024 10:31:32 -0700 Subject: [PATCH 47/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index a9cf9b3..ce4e3ff 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -87,6 +87,8 @@ error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) error-timezone-loose-pattern = Must match format '-06:00' error-timezone-strict-pattern = { error-timezone-loose-pattern } +error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carrage returns are not allowed. +error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carrage returns are allowed. ## errors From ed93045f031cf1a106524fa0e57e874a49df1d07 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 5 Nov 2024 10:30:04 -0700 Subject: [PATCH 48/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 6c336c1..5e0e401 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -78,6 +78,8 @@ error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) error-timezone-loose-pattern = Must match format '-06:00' error-timezone-strict-pattern = { error-timezone-loose-pattern } +error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carrage returns are not allowed. +error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carrage returns are allowed. ## errors error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) From fd0e7c5646db114eddfd6e7ebeec6231280eee59 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 13 Dec 2024 14:05:50 -0700 Subject: [PATCH 49/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 5e0e401..44b3e18 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -91,8 +91,8 @@ error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit), or g/L (grams per litre) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), or g/L (grams per litre) ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 From c812d8e38e0aed97c3333da090c3648d2c03bec8 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 13 Dec 2024 14:05:51 -0700 Subject: [PATCH 50/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index ce4e3ff..1215b42 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -101,8 +101,8 @@ error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit) +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit), or g/L (grams per litre) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), or g/L (grams per litre) ## quality-control From 5645e0a2ce9481134bae1916eea674ceb68a62e3 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 12 Mar 2025 09:32:44 -0600 Subject: [PATCH 51/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 1215b42..4896dae 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -92,6 +92,7 @@ error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, sp ## errors +error-ActivityType-CTS-ActivityStartTime = Continuous time-series observations must include a valid ActivityStartTime error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) @@ -107,9 +108,12 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 +qc-ActivityType-CTS-ActivityStartTimeZone = ActivityStartTimeZone should be included when ActivityType is 'Field Msr/Obs-Continuous Time Series' +qc-ActivityType-CTS-ActivityStartTimeZone-UTC = When ActivityStartTimeZone is '+00:00', consider adding a note in your dataset metadata to let others know your data are reported in UTC/GMT qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" +qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, this characteristic may be a surrogate standard. If this is the case, please use the ActivityType 'Quality Control Sample-Lab Surrogate Control Standard' or 'Quality Control Sample-Lab Surrogate Control Standard Duplicate' qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined From 52564102087f4b3d4bcb3906ca3589afe01fbcdc Mon Sep 17 00:00:00 2001 From: will Farrell Date: Thu, 13 Mar 2025 09:58:33 -0600 Subject: [PATCH 52/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 44b3e18..1c6021f 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -82,6 +82,7 @@ error-string-pattern = Only letters, numbers, punctuation, symbols, and space ar error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carrage returns are allowed. ## errors +error-ActivityType-CTS-ActivityStartTime = Continuous time-series observations must include a valid ActivityStartTime error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) @@ -96,9 +97,12 @@ error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 +qc-ActivityType-CTS-ActivityStartTimeZone = ActivityStartTimeZone should be included when ActivityType is 'Field Msr/Obs-Continuous Time Series' +qc-ActivityType-CTS-ActivityStartTimeZone-UTC = When ActivityStartTimeZone is '+00:00', consider adding a note in your dataset metadata to let others know your data are reported in UTC/GMT qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant for selected ActivityType, except for nutrient parameters, which should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" +qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, this characteristic may be a surrogate standard. If this is the case, please use the ActivityType 'Quality Control Sample-Lab Surrogate Control Standard' or 'Quality Control Sample-Lab Surrogate Control Standard Duplicate' qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined From a339b7186bea71d9228e84ba8eb0dcd7923143ce Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 19 Mar 2025 13:18:07 -0600 Subject: [PATCH 53/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 1c6021f..588f4f4 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -78,8 +78,8 @@ error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) error-timezone-loose-pattern = Must match format '-06:00' error-timezone-strict-pattern = { error-timezone-loose-pattern } -error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carrage returns are not allowed. -error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carrage returns are allowed. +error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carriage returns are not allowed. +error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carriage returns are allowed. ## errors error-ActivityType-CTS-ActivityStartTime = Continuous time-series observations must include a valid ActivityStartTime From d5a00d02bc673d8a6c9bcec128acc410d000da40 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 19 Mar 2025 13:18:09 -0600 Subject: [PATCH 54/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 4896dae..d08f101 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -87,8 +87,8 @@ error-time-loose-pattern = Must match format HH:MM:SS (i.e. 23:59:59) error-time-strict-pattern = Times earlier than 12:00:00 should include a leading zero (e.g. 05:00:00) error-timezone-loose-pattern = Must match format '-06:00' error-timezone-strict-pattern = { error-timezone-loose-pattern } -error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carrage returns are not allowed. -error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carrage returns are allowed. +error-string-pattern = Only letters, numbers, punctuation, symbols, and space are allowed. Line feeds/carriage returns are not allowed. +error-string-multiline-pattern = Only letters, numbers, punctuation, symbols, spaces, and line feeds/carriage returns are allowed. ## errors From 4c7fcff46dffa28da7a20585b26520cce3341138 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 25 Apr 2025 08:38:48 -0600 Subject: [PATCH 55/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index d08f101..b65b7a3 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -75,7 +75,7 @@ unevaluatedItems = [one] élément *[other] éléments } -unevaluatedProperties = ne doit pas avoir de propriétés non évaluées +unevaluatedProperties = must not have unevaluated property "{ $unevaluatedProperty }" uniqueItems = ne doit pas contenir de doublons (les éléments ## {$j} et {$i} sont identiques) # errorMessages error-additional-columns = Should not have columns outside of schema/template From 9a7701f7aefe1b849c6c9e0e14125e88ee82bbfe Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 27 May 2025 10:28:34 -0600 Subject: [PATCH 56/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 588f4f4..60fc459 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -66,7 +66,7 @@ unevaluatedItems = must not have more than {$len} {$len -> [one] item *[other] items } -unevaluatedProperties = must not have unevaluated properties +unevaluatedProperties = must not have unevaluated property "{$unevaluatedProperty}" uniqueItems = must not have duplicate items (items ## {$j} and {$i} are identical) # errorMessages From 679425b3a31d7c223ddaa2f0415ffc01271dcb1e Mon Sep 17 00:00:00 2001 From: will Farrell Date: Tue, 10 Jun 2025 07:54:08 -0600 Subject: [PATCH 57/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index b65b7a3..1f69c4d 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -96,6 +96,7 @@ error-ActivityType-CTS-ActivityStartTime = Continuous time-series observations m error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) +error-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns @@ -114,6 +115,7 @@ qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, this characteristic may be a surrogate standard. If this is the case, please use the ActivityType 'Quality Control Sample-Lab Surrogate Control Standard' or 'Quality Control Sample-Lab Surrogate Control Standard Duplicate' +qc-CharacteristicName-Ammonia = "Ammonia" is ambiguous and planned for deprecation. If entering Total Ammonia, use "Ammonia and ammonium"; if entering Ammonia-nitrogen or Free-Available Ammonia use "Ammonia, un-ionized". For guidance, please see Best Practices Guide for Nutrient Data (https://datastream.org/en-ca/documentation/nutrient-data-guidance) qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined @@ -143,7 +145,7 @@ qc-WhiteSpace = Leading or trailing white space detected in character string qc-RowCount = A dataset requires at least one row. qc-ColumnCount = Should match column count from the first row -qc-DatasetName = Does not match expected value. +qc-DatasetName = The DatasetName in this CSV file does not match the dataset’s metadata. If you proceed, dataset downloads will include the existing dataset name from the metadata. This CSV file containing the mismatched dataset name will still be available via the dataset Changelog. To match your dataset name across all records, update the DatasetName field in the CSV, or update the dataset's metadata. qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = { qc-Date-Future } qc-ActivityEndDate-Future = { qc-Date-Future } From c04cbd04d8fb2ea60926b6b24791c37b748ebfeb Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 11 Jun 2025 07:54:42 -0600 Subject: [PATCH 58/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 60fc459..7ccb316 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -92,8 +92,8 @@ error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit), or g/L (grams per litre) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), or g/L (grams per litre) +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), mg/L (milligrams per litre), or g/L (grams per litre) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), mg/L (milligrams per litre), or g/L (grams per litre) ## quality-control qc-ActivityMediaName-ActivityDepthHeightMeasure-Maximum = ActivityDepthHeightMeasure should be below 0 @@ -103,8 +103,10 @@ qc-ActivityType-ResultSampleFraction = ResultSampleFraction may not be relevant # qc-CharacteristicName-Deprecated = CharacteristicName has been deprecated. Review most up to date template for alternate or contact us. qc-CharacteristicName-ActivityMediaName-AmbientAir = The ActivityMediaName for this CharacteristicName should be "Ambient Air" qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, this characteristic may be a surrogate standard. If this is the case, please use the ActivityType 'Quality Control Sample-Lab Surrogate Control Standard' or 'Quality Control Sample-Lab Surrogate Control Standard Duplicate' +qc-CharacteristicName-Ammonia = "Ammonia" is ambiguous and planned for deprecation. If entering Total Ammonia, use "Ammonia and ammonium"; if entering Ammonia-nitrogen or Free-Available Ammonia use "Ammonia, un-ionized". For guidance, please see Best Practices Guide for Nutrient Data (https://datastream.org/en-ca/documentation/nutrient-data-guidance) qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary @@ -132,7 +134,7 @@ qc-WhiteSpace = Leading or trailing white space detected in character string ## quality-control (code) qc-RowCount = A dataset requires at least one row. qc-ColumnCount = Should match column count from the first row -qc-DatasetName = Does not match expected value. +qc-DatasetName = The DatasetName in this CSV file does not match the dataset’s metadata. If you proceed, dataset downloads will include the existing dataset name from the metadata. This CSV file containing the mismatched dataset name will still be available via the dataset Changelog. To match your dataset name across all records, update the DatasetName field in the CSV, or update the dataset's metadata. qc-Date-Future = Contains date in the future qc-ActivityStartDate-Future = {qc-Date-Future} qc-ActivityEndDate-Future = {qc-Date-Future} From cf7748295d330f22125e0a0a6fbf296635e268f5 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Wed, 11 Jun 2025 07:54:43 -0600 Subject: [PATCH 59/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 1f69c4d..4e40a26 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -96,15 +96,14 @@ error-ActivityType-CTS-ActivityStartTime = Continuous time-series observations m error-ActivityType-ResultAnalyticalMethod = Requires LaboratoryName and ResultAnalyticalMethod columns when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs) error-CharacteristicName-MethodSpeciation = MethodSpeciation required for selected CharacteristicName error-CharacteristicName-Nutrient-ResultSampleFraction = ResultSampleFractions for nutrients should follow guidance in Best Practices Guide for Nutrient Data (see https://datastream.org/en-ca/documentation/nutrient-data-guidance) -error-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" error-CharacteristicName-ResultSampleFraction = ResultSampleFraction required for selected CharacteristicName error-CharacteristicName-StableIsotope-MethodSpeciation = Isotope MethodSpeciation required for selected CharacteristicName. For guidance, please see Best Practices for Reporting Isotope Data (https://datastream.org/en-ca/documentation/isotope-data-guidance) error-CSVInjection = Invalid starting character. `=`, `+`, `-`, `@`, `[space]`, `[tab]`, `[carriage return]` are not valid characters for the beginning of text columns error-ResultDetectionCondition-ResultDetectionQuantitationLimit-above-below = ResultDetectionQuantitationLimit fields are required when ResultDetectionCondition is above or below Detection/Quantification limits error-ResultDetectionCondition-ResultDetectionQuantitationLimit-not-detect = When ResultDetectionCondition is set to 'Not Detected' or 'Detected Not Quantified' the ResultDetectionQuantitationLimit fields should not be populated error-ResultDetectionCondition-ResultValue = Only one of ResultValue or ResultDetectionCondition should be populated -error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million) or PSU (practical salinity unit), or g/L (grams per litre) -error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), or g/L (grams per litre) +error-ResultDetectionQuantitationLimitUnit-Salinity = ResultDetectionQuantitationLimitUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), mg/L (milligrams per litre), or g/L (grams per litre) +error-ResultUnit-Salinity = ResultUnit for CharacteristicName Salinity should be ppth (parts per thousand), ppm (parts per million), PSU (practical salinity unit), mg/L (milligrams per litre), or g/L (grams per litre) ## quality-control @@ -118,6 +117,7 @@ qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, th qc-CharacteristicName-Ammonia = "Ammonia" is ambiguous and planned for deprecation. If entering Total Ammonia, use "Ammonia and ammonium"; if entering Ammonia-nitrogen or Free-Available Ammonia use "Ammonia, un-ionized". For guidance, please see Best Practices Guide for Nutrient Data (https://datastream.org/en-ca/documentation/nutrient-data-guidance) qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName +qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') From 133b8c1a2b48f8d2bc963e0e114d78dec686d92e Mon Sep 17 00:00:00 2001 From: will Farrell Date: Fri, 13 Jun 2025 12:11:28 -0600 Subject: [PATCH 60/61] New translations en-ca.ftl (French, Canada) --- fr-CA/schemas/data/src/locales/fr-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fr-CA/schemas/data/src/locales/fr-CA.ftl b/fr-CA/schemas/data/src/locales/fr-CA.ftl index 4e40a26..2dae7f8 100644 --- a/fr-CA/schemas/data/src/locales/fr-CA.ftl +++ b/fr-CA/schemas/data/src/locales/fr-CA.ftl @@ -117,7 +117,7 @@ qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, th qc-CharacteristicName-Ammonia = "Ammonia" is ambiguous and planned for deprecation. If entering Total Ammonia, use "Ammonia and ammonium"; if entering Ammonia-nitrogen or Free-Available Ammonia use "Ammonia, un-ionized". For guidance, please see Best Practices Guide for Nutrient Data (https://datastream.org/en-ca/documentation/nutrient-data-guidance) qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName -qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" +qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary qc-ResultAnalyticalMethodContext-YSI-ActivityType = The ActivityType may not be appropriate for this ResultAnalyticalMethodContext. When ResultAnalyticalMethodContext is 'YSI', a field measurement is expected (e.g., ActivityType 'Field Msr/Obs-Portable Data Logger') From ed34713a5b86a780173ad3bd2dbbcc16c87c7769 Mon Sep 17 00:00:00 2001 From: will Farrell Date: Sat, 14 Jun 2025 12:07:07 -0600 Subject: [PATCH 61/61] Update source file en-CA.ftl --- schemas/data/src/locales/en-CA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/data/src/locales/en-CA.ftl b/schemas/data/src/locales/en-CA.ftl index 7ccb316..3ef39d9 100644 --- a/schemas/data/src/locales/en-CA.ftl +++ b/schemas/data/src/locales/en-CA.ftl @@ -106,7 +106,7 @@ qc-CharacteristicName-ActivityType-Surrogate = When reported as a percentage, th qc-CharacteristicName-Ammonia = "Ammonia" is ambiguous and planned for deprecation. If entering Total Ammonia, use "Ammonia and ammonium"; if entering Ammonia-nitrogen or Free-Available Ammonia use "Ammonia, un-ionized". For guidance, please see Best Practices Guide for Nutrient Data (https://datastream.org/en-ca/documentation/nutrient-data-guidance) qc-CharacteristicName-Metal-ResultSampleFraction = ResultSampleFraction may not be appropriate for this CharacteristicName. Please consult DataStream's Best Practices for submitting metal-series data (https://datastream.org/en-ca/documentation/metal-series-data-guidance) qc-CharacteristicName-MethodSpeciation = MethodSpeciation is not required and may not be relevant for selected CharacteristicName -qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used with when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" +qc-CharacteristicName-pH-ActivityType-Sample = The CharacteristicName "pH" cannot be used when ActivityType starts with 'Sample' (i.e. Activity is not a Field Msr/Obs). Use the CharacteristicName "pH, lab" qc-CharacteristicName-ResultAnalyticalMethodName = ResultAnalyticalMethodName is required for this data type. Please use that field to describe how ice-on and/or ice-off are defined qc-MonitoringLocationCoordinate-BoundingBox = Monitoring Location Latitude/Longitude is outside DataStream boundary