From a95b86705425325f41099c768c246f47a42da485 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 26 Mar 2024 06:27:25 +1100 Subject: [PATCH] more rendering i18n work --- .../CapabilityStatementRenderer.java | 2 +- .../hl7/fhir/r5/renderers/DataRenderer.java | 121 ++++++++------ .../hl7/fhir/r5/renderers/ListRenderer.java | 4 +- .../fhir/r5/renderers/PatientRenderer.java | 3 +- .../fhir/r5/renderers/ProvenanceRenderer.java | 2 +- .../r5/renderers/utils/RenderingContext.java | 12 +- .../src/main/resources/Messages_de.properties | 4 - .../src/main/resources/Messages_es.properties | 4 - .../src/main/resources/Messages_ja.properties | 4 - .../src/main/resources/Messages_nl.properties | 4 - .../resources/rendering-phrases.properties | 4 + .../resources/rendering-phrases_de.properties | 6 +- .../resources/rendering-phrases_es.properties | 6 +- .../resources/rendering-phrases_fr.properties | 149 ++++++++++++++++++ .../resources/rendering-phrases_ja.properties | 6 +- .../resources/rendering-phrases_nl.properties | 6 +- 16 files changed, 258 insertions(+), 79 deletions(-) create mode 100644 org.hl7.fhir.utilities/src/main/resources/rendering-phrases_fr.properties diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CapabilityStatementRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CapabilityStatementRenderer.java index 313555526..53c2f6ed3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CapabilityStatementRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CapabilityStatementRenderer.java @@ -294,7 +294,7 @@ public class CapabilityStatementRenderer extends ResourceRenderer { addSupportedFormats(uList, conf); - uList.li().addText(/*!#*/"Published on: " + context.toStr(conf.getDateElement())); + uList.li().addText(/*!#*/"Published on: " + displayDateTime(conf.getDateElement())); uList.li().addText(/*!#*/"Published by: " + conf.getPublisherElement().asStringValue()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index ea8194c29..eca98f75f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -301,11 +301,22 @@ public class DataRenderer extends Renderer implements CodeResolver { CodeSystem cs = context.getContext().fetchCodeSystem(system); if (cs != null) { - return cs.present(); + return crPresent(cs); } return tails(system); } + private String crPresent(CanonicalResource cr) { + if (cr.hasUserData("presentation")) { + return cr.getUserString("presentation"); + } + if (cr.hasTitle()) + return context.getTranslated(cr.getTitleElement()); + if (cr.hasName()) + return context.getTranslated(cr.getNameElement()); + return cr.toString(); + } + private String tails(String system) { if (system.contains("/")) { return system.substring(system.lastIndexOf("/")+1); @@ -409,7 +420,7 @@ public class DataRenderer extends Renderer implements CodeResolver { // -- 4. Language support ------------------------------------------------------ public String gt(@SuppressWarnings("rawtypes") PrimitiveType value) { - return value.primitiveValue(); + return context.getTranslated(value); } // -- 6. General purpose extension rendering ---------------------------------------------- @@ -437,7 +448,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (sd != null && ext.hasValue() && ext.getValue().isPrimitive() && sd.hasSnapshot()) { for (ElementDefinition ed : sd.getSnapshot().getElement()) { if (Utilities.existsInList(ed.getPath(), "Extension", "Extension.value[x]") && ed.hasLabel()) { - return ed.getLabel(); + return context.getTranslated(ed.getLabelElement()); } } } @@ -587,13 +598,13 @@ public class DataRenderer extends Renderer implements CodeResolver { } else if (type.isDateTime()) { return displayDateTime((BaseDateTimeType) type); } else if (type.isPrimitive()) { - return type.primitiveValue(); + return context.getTranslated((PrimitiveType) type); } else { return /*!#*/"No display for "+type.fhirType(); } } - private String displayDateTime(BaseDateTimeType type) { + protected String displayDateTime(BaseDateTimeType type) { if (!type.hasPrimitiveValue()) { return ""; } @@ -740,12 +751,12 @@ public class DataRenderer extends Renderer implements CodeResolver { renderReference(x, cr.getReference()); } } else if (type instanceof MarkdownType) { - addMarkdown(x, ((MarkdownType) type).asStringValue()); + addMarkdown(x, context.getTranslated((MarkdownType) type)); } else if (type instanceof Base64BinaryType) { Base64BinaryType b64 = (Base64BinaryType) type; - x.tx("(base64 data - "+(b64.getValue() == null ? "0" : b64.getValue().length)+" bytes)"); + x.tx(/*!#*/"(base64 data - "+(b64.getValue() == null ? "0" : b64.getValue().length)+" bytes)"); } else if (type.isPrimitive()) { - x.tx(type.primitiveValue()); + x.tx(context.getTranslated((PrimitiveType) type)); } else { x.tx(/*!#*/"No display for "+type.fhirType()); } @@ -753,7 +764,7 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderReference(XhtmlNode x, Reference ref) { if (ref.hasDisplay()) { - x.tx(ref.getDisplay()); + x.tx(context.getTranslated(ref.getDisplayElement())); } else if (ref.hasReference()) { x.tx(ref.getReference()); } else { @@ -787,7 +798,7 @@ public class DataRenderer extends Renderer implements CodeResolver { Resource r = context.getContext().fetchResource(Resource.class, uri.getValue()); if (r != null && r.getWebPath() != null) { if (r instanceof CanonicalResource) { - x.ah(r.getWebPath()).addText(((CanonicalResource) r).present()); + x.ah(r.getWebPath()).addText(crPresent((CanonicalResource) r)); } else { x.ah(r.getWebPath()).addText(uri.getValue()); } @@ -811,7 +822,7 @@ public class DataRenderer extends Renderer implements CodeResolver { } else { Resource target = context.getContext().fetchResource(Resource.class, uri.getValue(), src); if (target != null && target.hasWebPath()) { - String title = target instanceof CanonicalResource ? ((CanonicalResource) target).present() : uri.getValue(); + String title = target instanceof CanonicalResource ? crPresent((CanonicalResource) target) : uri.getValue(); x.ah(target.getWebPath()).addText(title); } else if (uri.getValue().contains("|")) { x.ah(uri.getValue().substring(0, uri.getValue().indexOf("|"))).addText(uri.getValue()); @@ -831,7 +842,7 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderAnnotation(XhtmlNode x, Annotation a, boolean showCodeDetails) throws FHIRException { StringBuilder b = new StringBuilder(); if (a.hasText()) { - b.append(a.getText()); + b.append(context.getTranslated(a.getTextElement())); } if (a.hasText() && (a.hasAuthor() || a.hasTimeElement())) { @@ -843,7 +854,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (a.hasAuthorReference()) { b.append(a.getAuthorReference().getReference()); } else if (a.hasAuthorStringType()) { - b.append(a.getAuthorStringType().getValue()); + b.append(context.getTranslated(a.getAuthorStringType())); } } @@ -865,7 +876,7 @@ public class DataRenderer extends Renderer implements CodeResolver { public String displayCoding(Coding c) { String s = ""; if (context.isTechnicalMode()) { - s = c.getDisplay(); + s = context.getTranslated(c.getDisplayElement()); if (Utilities.noString(s)) { s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); } @@ -878,7 +889,7 @@ public class DataRenderer extends Renderer implements CodeResolver { } } else { if (c.hasDisplayElement()) - return c.getDisplay(); + return context.getTranslated(c.getDisplayElement()); if (Utilities.noString(s)) s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); if (Utilities.noString(s)) @@ -936,7 +947,7 @@ public class DataRenderer extends Renderer implements CodeResolver { pieces.add(gen.new Piece(null, name, c.getSystem()+(c.hasVersion() ? "#"+c.getVersion() : ""))); } pieces.add(gen.new Piece(null, "#"+c.getCode(), null)); - String s = c.getDisplay(); + String s = context.getTranslated(c.getDisplayElement()); if (Utilities.noString(s)) { s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); } @@ -1015,7 +1026,7 @@ public class DataRenderer extends Renderer implements CodeResolver { String hint; if (c.hasDisplayElement()) - display = c.getDisplay(); + display = context.getTranslated(c.getDisplayElement()); if (Utilities.noString(display)) display = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); if (Utilities.noString(display)) { @@ -1024,7 +1035,7 @@ public class DataRenderer extends Renderer implements CodeResolver { CodeSystem cs = context.getWorker().fetchCodeSystem(c.getSystem()); systemLink = cs != null ? cs.getWebPath() : null; - systemName = cs != null ? cs.present() : describeSystem(c.getSystem()); + systemName = cs != null ? crPresent(cs) : describeSystem(c.getSystem()); link = getLinkForCode(c.getSystem(), c.getVersion(), c.getCode()); hint = systemName+": "+display+(c.hasVersion() ? " "+/*!#*/"(version = "+c.getVersion()+")" : ""); @@ -1041,13 +1052,13 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderCodingWithDetails(XhtmlNode x, Coding c) { String s = ""; if (c.hasDisplayElement()) - s = c.getDisplay(); + s = context.getTranslated(c.getDisplayElement()); if (Utilities.noString(s)) s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); CodeSystem cs = context.getWorker().fetchCodeSystem(c.getSystem()); - String sn = cs != null ? cs.present() : describeSystem(c.getSystem()); + String sn = cs != null ? crPresent(cs) : describeSystem(c.getSystem()); String link = getLinkForCode(c.getSystem(), c.getVersion(), c.getCode()); if (link != null) { x.ah(link).tx(sn); @@ -1069,7 +1080,7 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderCoding(XhtmlNode x, Coding c, boolean showCodeDetails) { String s = ""; if (c.hasDisplayElement()) - s = c.getDisplay(); + s = context.getTranslated(c.getDisplayElement()); if (Utilities.noString(s)) s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); @@ -1083,11 +1094,11 @@ public class DataRenderer extends Renderer implements CodeResolver { } public String displayCodeableConcept(CodeableConcept cc) { - String s = cc.getText(); + String s = context.getTranslated(cc.getTextElement()); if (Utilities.noString(s)) { for (Coding c : cc.getCoding()) { if (c.hasDisplayElement()) { - s = c.getDisplay(); + s = context.getTranslated(c.getDisplayElement()); break; } } @@ -1178,7 +1189,7 @@ public class DataRenderer extends Renderer implements CodeResolver { sp.tx("#"+c.getCode()); } if (c.hasDisplay() && !s.equals(c.getDisplay())) { - sp.tx(" \""+c.getDisplay()+"\""); + sp.tx(" \""+context.getTranslated(c.getDisplayElement())+"\""); } } if (hasRenderableExtensions(cc)) { @@ -1210,13 +1221,13 @@ public class DataRenderer extends Renderer implements CodeResolver { } else { NamingSystem ns = context.getContext().getNSUrlMap().get(ii.getSystem()); if (ns != null) { - s = ns.present()+"#"+s; + s = crPresent(ns)+"#"+s; } if (ii.hasType()) { if (ii.getType().hasText()) - s = ii.getType().getText()+":\u00A0"+s; + s = context.getTranslated(ii.getType().getTextElement())+":\u00A0"+s; else if (ii.getType().hasCoding() && ii.getType().getCoding().get(0).hasDisplay()) - s = ii.getType().getCoding().get(0).getDisplay()+": "+s; + s = context.getTranslated(ii.getType().getCoding().get(0).getDisplayElement())+": "+s; else if (ii.getType().hasCoding() && ii.getType().getCoding().get(0).hasCode()) s = lookupCode(ii.getType().getCoding().get(0).getSystem(), ii.getType().getCoding().get(0).getVersion(), ii.getType().getCoding().get(0).getCode())+": "+s; } else if (ii.hasSystem()) { @@ -1227,7 +1238,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (ii.hasUse() || ii.hasPeriod()) { s = s + "\u00A0("; if (ii.hasUse()) { - s = s + "use:\u00A0"+ii.getUse().toString(); + s = s + "use:\u00A0"+ii.getUse().toCode(); } if (ii.hasUse() && ii.hasPeriod()) { s = s + ",\u00A0"; @@ -1243,9 +1254,9 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderIdentifier(XhtmlNode x, Identifier ii) { if (ii.hasType()) { if (ii.getType().hasText()) { - x.tx(ii.getType().getText()); + x.tx(context.getTranslated(ii.getType().getTextElement())); } else if (ii.getType().hasCoding() && ii.getType().getCoding().get(0).hasDisplay()) { - x.tx(ii.getType().getCoding().get(0).getDisplay()); + x.tx(context.getTranslated(ii.getType().getCoding().get(0).getDisplayElement())); } else if (ii.getType().hasCoding() && ii.getType().getCoding().get(0).hasCode()) { x.tx(lookupCode(ii.getType().getCoding().get(0).getSystem(), ii.getType().getCoding().get(0).getVersion(), ii.getType().getCoding().get(0).getCode())); } @@ -1254,9 +1265,9 @@ public class DataRenderer extends Renderer implements CodeResolver { NamingSystem ns = context.getContext().getNSUrlMap().get(ii.getSystem()); if (ns != null) { if (ns.hasWebPath()) { - x.ah(ns.getWebPath(), ns.getDescription()).tx(ns.present()); + x.ah(ns.getWebPath(), ns.getDescription()).tx(crPresent(ns)); } else { - x.tx(ns.present()); + x.tx(crPresent(ns)); } } else { switch (ii.getSystem()) { @@ -1277,7 +1288,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (ii.hasUse()) { x.tx(/*!#*/"use:"); x.nbsp(); - x.tx(ii.getUse().toString()); + x.tx(ii.getUse().toCode()); } if (ii.hasUse() && ii.hasPeriod()) { x.tx(","); @@ -1313,39 +1324,55 @@ public class DataRenderer extends Renderer implements CodeResolver { protected void renderHumanName(XhtmlNode x, HumanName name) { - x.addText(displayHumanName(name)); + StringBuilder s = new StringBuilder(); + if (name.hasText()) + s.append(context.getTranslated(name.getTextElement())); + else { + for (StringType p : name.getGiven()) { + s.append(context.getTranslated(p)); + s.append(" "); + } + if (name.hasFamily()) { + s.append(context.getTranslated(name.getFamilyElement())); + s.append(" "); + } + } + if (name.hasUse() && name.getUse() != NameUse.USUAL) + s.append("("+name.getUse().toCode()+")"); + + x.addText(s.toString()); } private String displayAddress(Address address) { StringBuilder s = new StringBuilder(); if (address.hasText()) - s.append(address.getText()); + s.append(context.getTranslated(address.getTextElement())); else { for (StringType p : address.getLine()) { - s.append(p.getValue()); + s.append(context.getTranslated(p)); s.append(" "); } if (address.hasCity()) { - s.append(address.getCity()); + s.append(context.getTranslated(address.getCityElement())); s.append(" "); } if (address.hasState()) { - s.append(address.getState()); + s.append(context.getTranslated(address.getStateElement())); s.append(" "); } if (address.hasPostalCode()) { - s.append(address.getPostalCode()); + s.append(context.getTranslated(address.getPostalCodeElement())); s.append(" "); } if (address.hasCountry()) { - s.append(address.getCountry()); + s.append(context.getTranslated(address.getCountryElement())); s.append(" "); } } if (address.hasUse()) - s.append("("+address.getUse().toString()+")"); + s.append("("+address.getUse().toCode()+")"); return s.toString(); } @@ -1416,7 +1443,7 @@ public class DataRenderer extends Renderer implements CodeResolver { } if (expr.hasDescription()) { p.tx("\""); - p.tx(expr.getDescription()); + p.tx(context.getTranslated(expr.getDescriptionElement())); p.tx("\""); } p.tx(")"); @@ -1528,10 +1555,10 @@ public class DataRenderer extends Renderer implements CodeResolver { if (q.hasComparator()) x.addText(q.getComparator().toCode()); if (q.hasValue()) { - x.addText(q.getValue().toString()); + x.addText(context.getTranslated(q.getValueElement())); } if (q.hasUnit()) - x.tx(" "+q.getUnit()); + x.tx(" "+context.getTranslated(q.getUnitElement())); else if (q.hasCode() && q.hasSystem()) { // if there's a code there *shall* be a system, so if we've got one and not the other, things are invalid and we won't bother trying to render if (q.hasSystem() && q.getSystem().equals("http://unitsofmeasure.org")) @@ -1610,7 +1637,7 @@ public class DataRenderer extends Renderer implements CodeResolver { x.tx(", "); x.b().tx(/*!#*/"Name"); x.tx(": "); - x.tx(td.getType().getDisplay()); + x.tx(context.getTranslated(td.getNameElement())); } if (td.hasCode()) { x.tx(", "); @@ -1640,7 +1667,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (td.hasName()) { tr = tbl.tr(); tr.td().b().tx(/*!#*/"Name"); - tr.td().tx(td.getType().getDisplay()); + tr.td().tx(context.getTranslated(td.getNameElement())); } if (td.hasCode()) { tr = tbl.tr(); @@ -1679,7 +1706,7 @@ public class DataRenderer extends Renderer implements CodeResolver { if (first) first = false; else td.tx(" | "); sd = context.getWorker().fetchResource(StructureDefinition.class, p.getValue()); if (sd != null && sd.hasWebPath()) { - td.ah(sd.getWebPath()).tx(sd.present()); + td.ah(sd.getWebPath()).tx(crPresent(sd)); } else { td.tx(p.asStringValue()); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java index 3d758f11f..7b51de575 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java @@ -40,7 +40,7 @@ public class ListRenderer extends ResourceRenderer { XhtmlNode tr = t.tr(); XhtmlNode td = tr.td(); if (list.has("date")) { - td.tx(/*!#*/"Date: "+context.toStr(list.get("date").dateTimeValue())); + td.tx(/*!#*/"Date: "+displayDateTime(list.get("date").dateTimeValue())); } if (list.has("mode")) { td.tx(/*!#*/"Mode: "+list.get("mode").primitiveValue()); @@ -113,7 +113,7 @@ public class ListRenderer extends ResourceRenderer { XhtmlNode t = x.table("clstu"); XhtmlNode tr = t.tr(); if (list.hasDate()) { - tr.td().tx(/*!#*/"Date: "+context.toStr(list.getDateElement())); + tr.td().tx(/*!#*/"Date: "+displayDateTime(list.getDateElement())); } if (list.hasMode()) { tr.td().tx(/*!#*/"Mode: "+list.getMode().getDisplay()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java index 768ae53eb..64499302a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java @@ -25,6 +25,7 @@ import org.hl7.fhir.r5.model.Identifier; import org.hl7.fhir.r5.model.Identifier.IdentifierUse; import org.hl7.fhir.r5.model.Patient; import org.hl7.fhir.r5.model.Period; +import org.hl7.fhir.r5.model.PrimitiveType; import org.hl7.fhir.r5.model.Reference; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.model.StructureDefinition; @@ -209,7 +210,7 @@ public class PatientRenderer extends ResourceRenderer { String gender = null; pw = getProperty(pat, "gender"); if (valued(pw)) { - gender = pw.value().getBase().primitiveValue(); + gender = context.getTranslated((PrimitiveType) pw.value().getBase()); } DateType dt = null; pw = getProperty(pat, "birthDate"); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProvenanceRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProvenanceRenderer.java index 4872cd1da..4c1a5fad1 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProvenanceRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProvenanceRenderer.java @@ -55,7 +55,7 @@ public class ProvenanceRenderer extends ResourceRenderer { if (prv.hasRecorded()) { tr = t.tr(); tr.td().tx(/*!#*/"Recorded"); - tr.td().addText(context.toStr(prv.getRecordedElement())); + tr.td().addText(displayDateTime(prv.getRecordedElement())); } if (prv.hasPolicy()) { tr = t.tr(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index 3256487ad..2487fdc4f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -737,9 +737,11 @@ public class RenderingContext extends RenderingI18nContext { } public String getTranslated(PrimitiveType t) { - String v = ToolingExtensions.getLanguageTranslation(t, lang); - if (v != null) { - return v; + if (lang != null) { + String v = ToolingExtensions.getLanguageTranslation(t, lang); + if (v != null) { + return v; + } } return t.asStringValue(); } @@ -749,9 +751,5 @@ public class RenderingContext extends RenderingI18nContext { return nf.format(v); } - public String toStr(BaseDateTimeType dt) { - return dt.toHumanDisplay(); - } - } \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages_de.properties b/org.hl7.fhir.utilities/src/main/resources/Messages_de.properties index 48e455e0a..0ded11f3f 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages_de.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages_de.properties @@ -706,10 +706,6 @@ BUNDLE_RULE_NONE=Keine Regel BUNDLE_RULE_UNKNOWN=Bundle Rule verweist auf ung\u00fcltige Ressource {0} BUNDLE_RULE_INVALID_INDEX=Bundle Rules Index ist ung\u00fcltig ({0}) BUNDLE_RULE_PROFILE_UNKNOWN=Bundle Rules Profil {1} ist unbekannt f\u00fcr {0} -RENDER_BUNDLE_DOCUMENT_CONTENT=Zus\u00e4tzlicher Dokumenteninhalt -RENDER_BUNDLE_HEADER_DOC_ENTRY_URD={0}. {1} ({2}/{3}) -RENDER_BUNDLE_HEADER_DOC_ENTRY_U={0}. {1} -RENDER_BUNDLE_HEADER_DOC_ENTRY_RD={0}. {2}/{3} UNABLE_TO_CHECK_IF_THE_PROVIDED_CODES_ARE_IN_THE_VALUE_SET_=Es kann nicht festgestellt werden, ob die angegebenen Codes {1} im ValueSet {0} enthalten sind, da das ValueSet oder ein davon abh\u00e4ngiges Codesystem dem Validator nicht bekannt sind TERMINOLOGY_TX_SYSTEM_WRONG_HTML=Die Code-System-Referenz {0} ist falsch - die Code-System-Referenz kann nicht auf eine HTML-Seite verweisen. Dies k\u00f6nnte die richtige Referenz sein: {1} TERMINOLOGY_TX_SYSTEM_WRONG_BUILD=Die Code-System-Referenz {0} ist falsch - die Code-System-Referenz kann keine Referenz auf build.fhir.org sein. Dies k\u00f6nnte die richtige Referenz sein: {1} diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages_es.properties b/org.hl7.fhir.utilities/src/main/resources/Messages_es.properties index 46caaeb83..e4e30fd69 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages_es.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages_es.properties @@ -658,10 +658,6 @@ BUNDLE_RULE_NONE = Sin reglas BUNDLE_RULE_UNKNOWN = LA regla del Bundle refiere a un recurso inválido {0} BUNDLE_RULE_INVALID_INDEX = El indice de la regla de Bundle no es válido ({0}) BUNDLE_RULE_PROFILE_UNKNOWN = El perfil de reglas del Bundle {1} es desconocido para {0} -RENDER_BUNDLE_DOCUMENT_CONTENT = Contenido adicional del documento -RENDER_BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) -RENDER_BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} -RENDER_BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} UNABLE_TO_CHECK_IF_THE_PROVIDED_CODES_ARE_IN_THE_VALUE_SET_ = Imposible determinar si los códigos provistos están en el conjunto de valores {0} porque el conjunto de valores o un sistema de codificación del que depende es desconocido por el validador TERMINOLOGY_TX_SYSTEM_WRONG_HTML = La referencia al sistema de codificación {0} es errónea - no puede apuntar a una página HTML. Esta puede ser la referencia correcta: {1} TERMINOLOGY_TX_SYSTEM_WRONG_BUILD = La referencia al sistema de codificación {0} es errónea - no puede apuntar a build.fhir.org. Esta puede ser la referencia correcta: {1} diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages_ja.properties b/org.hl7.fhir.utilities/src/main/resources/Messages_ja.properties index 84e4fe9b0..9a43ba120 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages_ja.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages_ja.properties @@ -648,10 +648,6 @@ BUNDLE_RULE_NONE = No Rule BUNDLE_RULE_UNKNOWN = Bundle Ruleは無効なリソース {0} を参照しています BUNDLE_RULE_INVALID_INDEX = Bundle Rulesのインデックスが無効です ({0}) BUNDLE_RULE_PROFILE_UNKNOWN = Bundle Rulesのプロファイル {1} は {0} に対して不明です -RENDER_BUNDLE_DOCUMENT_CONTENT = 追加のドキュメント内容 -RENDER_BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) -RENDER_BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} -RENDER_BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} UNABLE_TO_CHECK_IF_THE_PROVIDED_CODES_ARE_IN_THE_VALUE_SET_ = ValueSet {0} 内のコードをチェックできません TERMINOLOGY_TX_SYSTEM_WRONG_HTML = コードシステム参照{0}が間違っています - コードシステム参照はHTMLページにすることはできません。これが正しい参照である可能性があります:{1} TERMINOLOGY_TX_SYSTEM_WRONG_BUILD = コードシステム参照{0}が間違っています - コードシステム参照はbuild.fhir.orgへの参照にすることはできません。これが正しい参照である可能性があります:{1} diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages_nl.properties b/org.hl7.fhir.utilities/src/main/resources/Messages_nl.properties index 9364b35d4..d56cdb8e2 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages_nl.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages_nl.properties @@ -648,10 +648,6 @@ BUNDLE_RULE_NONE = Geen regel BUNDLE_RULE_UNKNOWN = Bundle-regel wijst naar ongeldige resource {0} BUNDLE_RULE_INVALID_INDEX = Index van Bundle-regels is ongeldig ({0}) BUNDLE_RULE_PROFILE_UNKNOWN = Bundle-regels profiel {1} is onbekend voor {0} -RENDER_BUNDLE_DOCUMENT_CONTENT = Additional Document Content -RENDER_BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) -RENDER_BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} -RENDER_BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} UNABLE_TO_CHECK_IF_THE_PROVIDED_CODES_ARE_IN_THE_VALUE_SET_ = Kan niet bepalen of de gevonden codes {1} bestaan in de waardelijst {0} omdat de waardelijst of het codesysteem waarop deze is gebaseerd onbekend zijn voor de validator TERMINOLOGY_TX_SYSTEM_WRONG_HTML = De codesysteemverwijzing {0} is incorrect - de codesysteemverwijzing kan niet naar een HTML-pagina leiden. Mogelijk is dit de juiste verwijzing: {1} TERMINOLOGY_TX_SYSTEM_WRONG_BUILD = De codesysteemverwijzing {0} is incorrect - de codesysteemverwijzing kan niet naar build.fhir.org leiden. Mogelijk is dit de juiste verwijzing: {1} diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases.properties index bd4ab44bc..97e880207 100644 --- a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases.properties +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases.properties @@ -142,4 +142,8 @@ PAT_PHOTO = Patient Photo SD_HEAD_NAME_DESC = The logical name of the element SD_HEAD_FLAGS = Flags SD_SLICING_INFO = {0}, {1} by {2} +BUNDLE_DOCUMENT_CONTENT = Additional Document Content +BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) +BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} +BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_de.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_de.properties index 6a6eb0c2c..503e99704 100644 --- a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_de.properties +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_de.properties @@ -14,4 +14,8 @@ BUNDLE_SEARCH=Suche: BUNDLH_SCORE=Score = {0} BUNDLST=Request: BUST_MOD=LastModified = {0} -HEADER_ROOT=Bundle {0} vom Typ {1} \ No newline at end of file +HEADER_ROOT=Bundle {0} vom Typ {1} +BUNDLE_DOCUMENT_CONTENT=Zus\u00e4tzlicher Dokumenteninhalt +BUNDLE_HEADER_DOC_ENTRY_URD={0}. {1} ({2}/{3}) +BUNDLE_HEADER_DOC_ENTRY_U={0}. {1} +BUNDLE_HEADER_DOC_ENTRY_RD={0}. {2}/{3} diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_es.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_es.properties index fc4416786..a145f0a8a 100644 --- a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_es.properties +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_es.properties @@ -13,4 +13,8 @@ BUNDLE_RESOURCE = Rec}: BUNDLE_SEARCH = Búsqueda: BUNRCH_SCORE = score = {0} BU_MATCH = If-Match = {0} -HEADER_ROOT = Bundle {0} De tipo {1} \ No newline at end of file +HEADER_ROOT = Bundle {0} De tipo {1} +BUNDLE_DOCUMENT_CONTENT = Contenido adicional del documento +BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) +BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} +BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_fr.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_fr.properties new file mode 100644 index 000000000..8ef8c925f --- /dev/null +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_fr.properties @@ -0,0 +1,149 @@ +# Rendering +BUNDLE_HEADER_ROOT = XXXX +BUNDLE_HEADER_ENTRY = XXXX +BUNDLE_HEADER_ENTRY_URL = XXXX +BUNDLE_RESOURCE = XXXX +BUNDLE_SEARCH = XXXX +BUNDLE_SEARCH_MODE = XXXX +BUNDLE_SEARCH_SCORE = XXXX +BUNDLE_RESPONSE = XXXX +BUNDLE_LOCATION = XXXX +BUNDLE_ETAG = XXXX +BUNDLE_LAST_MOD = XXXX +BUNDLE_REQUEST = XXXX +BUNDLE_IF_NON_MATCH = XXXX +BUNDLE_IF_MOD = XXXX +BUNDLE_IF_MATCH = XXXX +BUNDLE_IF_NONE = XXXX +CODEPROP_CODE = XXXX +CODESYSTEM_PROPS = XXXX +CODESYSTEM_CONCEPTS = XXXX +CODESYSTEM_DEPRECATED = XXXX +CODESYSTEM_DESC = XXXX +CODESYSTEM_FILTERS = XXXX +CODESYSTEM_FILTER_CODE = XXXX +CODESYSTEM_FILTER_OP = XXXX +CODESYSTEM_FILTER_VALUE = XXXX +CODESYSTEM_PROP_CODE = XXXX +CODESYSTEM_PROP_NAME = XXXX +CODESYSTEM_PROP_URI = XXXX +CODESYSTEM_PROP_DESC = XXXX +CODESYSTEM_PROP_TYPE = XXXX +CODESYSTEM_PROPS_DESC = XXXX +CODESYSTEM_CONTENT_COMPLETE ThXXXX +CODESYSTEM_CONTENT_EXAMPLE = XXXX +CODESYSTEM_CONTENT_FRAGMENT = XXXX +CODESYSTEM_CONTENT_NOTPRESENT = XXXX +CODESYSTEM_CONTENT_SUPPLEMENT = XXXX +RESOURCE_COPYRIGHT = XXXX +SD_COMP_HEAD_CARD_L = XXXX +SD_COMP_HEAD_CARD_L_DESC =XXXX +SD_COMP_HEAD_CARD_R = XXXX +SD_COMP_HEAD_CARD_R_DESC =XXXX +SD_COMP_HEAD_COMP = XXXX +SD_COMP_HEAD_COMP_DESC = XXXX +SD_COMP_HEAD_DESC_L = XXXX +SD_COMP_HEAD_DESC_L_DESC =XXXX +SD_COMP_HEAD_DESC_R = XXXX +SD_COMP_HEAD_DESC_R_DESC =XXXX +SD_COMP_HEAD_FLAGS_L = XXXX +SD_COMP_HEAD_FLAGS_L_DESC =XXXX +SD_COMP_HEAD_FLAGS_R = XXXX +SD_COMP_HEAD_FLAGS_R_DESC =XXXX +SD_COMP_HEAD_NAME = XXXX +SD_COMP_HEAD_NAME_DESC = XXXX +SD_COMP_HEAD_TYPE_L = XXXX +SD_COMP_HEAD_TYPE_L_DESC =XXXX +SD_COMP_HEAD_TYPE_R = XXXX +SD_COMP_HEAD_TYPE_R_DESC =XXXX +SD_DOCO = XXXX +SD_GRID_HEAD_CARD = XXXX +SD_GRID_HEAD_CARD_DESC = XXXX +SD_GRID_HEAD_DESC = XXXX +SD_GRID_HEAD_DESC_DESC = XXXX +SD_GRID_HEAD_NAME = XXXX +SD_GRID_HEAD_NAME_DESC = XXXX +SD_GRID_HEAD_TYPE = XXXX +SD_GRID_HEAD_TYPE_DESC = XXXX +SD_HEAD_CARD = XXXX +SD_HEAD_CARD_DESC = XXXX +SD_HEAD_DESC = XXXX +SD_HEAD_DESC_DESC = XXXX +SD_HEAD_FLAGS_DESC = XXXX +SD_HEAD_NAME = XXXX +SD_HEAD_SC = XXXX +SD_HEAD_TYPE = XXXX +SD_HEAD_TYPE_DESC = XXXX +SD_LEGEND = XXXX +SD_SUMMARY = XXXX +SD_SUMMARY_MAPPINGS = XXXX +SD_SUMMARY_MISSING_EXTENSION = XXXX +SD_SUMMARY_MISSING_PROFILE = XXXX +SD_SUMMARY_PUBLICATION = XXXX +SD_SUMMARY_SLICES = XXXX +SD_SUMMARY_SLICE_NONE = XXXX +SD_SUMMARY_SLICE_one = XXXX +SD_SUMMARY_SLICE_other = XXXX +SD_SUMMARY_MANDATORY = XXXX +SD_SUMMARY_MUST_SUPPORT = XXXX +SD_SUMMARY_FIXED = XXXX +SD_SUMMARY_INFO = XXXX +SD_SUMMARY_PROHIBITED = XXXX +SD_SUMMARY_NESTED_MANDATORY = XXXX +TX_CODE = XXXX +TX_COMMENTS = XXXX +TX_DEFINITION = XXXX +TX_DEPRECATED = XXXX +TX_DISPLAY = XXXX +TX_VERSION = XXXX +PAT_NO_GENDER = XXXX +PAT_GENDER = XXXX +PAT_NO_DOB = XXXX +PAT_DOB = XXXX +PAT_NO_NAME = XXXX +PAT_CONTAINED_one = XXXX +PAT_CONTAINED_other = XXXX +PAT_OTHER_ID_one = XXXX +PAT_OTHER_ID_other = XXXX +PAT_OTHER_ID_HINT_one = XXXX +PAT_OTHER_ID_HINT_other = XXXX +PAT_LANG_one = XXXX +PAT_LANG_other = XXXX +PAT_LANG_HINT_one = XXXX +PAT_LANG_HINT_other = XXXX +PAT_LANG_PREFERRED = XXXX +PAT_GP = XXXX +PAT_MO = XXXX +PAT_LINKS = XXXX +PAT_LINKS_HINT = XXXX +PAT_LINK_REPLBY = XXXX +PAT_LINK_REPL = XXXX +PAT_LINK_REFER = XXXX +PAT_LINK_SEE = XXXX +PAT_NOM_CONTACT = XXXX +PAT_NOK_CONTACT = XXXX +PAT_NOK_CONTACT_HINT = XXXX +PAT_RELN = XXXX +PAT_ORG = XXXX +PAT_PERIOD = XXXX +PAT_ALT_NAME = XXXX +PAT_ALT_NAME_HINT = XXXX +PAT_CONTACT = XXXX +PAT_CONTACT_HINT = XXXX +PAT_ACTIVE = XXXX +PAT_ACTIVE_HINT = XXXX +PAT_DECEASED = XXXX +PAT_DECEASED_HINT = XXXX +PAT_MARITAL = XXXX +PAT_MARITAL_HINT = XXXX +PAT_MUL_BIRTH = XXXX +PAT_MUL_BIRTH_HINT = XXXX +PAT_PHOTO = XXXX +SD_HEAD_NAME_DESC = XXXX +SD_HEAD_FLAGS = XXXX +SD_SLICING_INFO = XXX +BUNDLE_DOCUMENT_CONTENT = XXXX +BUNDLE_HEADER_DOC_ENTRY_URD = XXXX +BUNDLE_HEADER_DOC_ENTRY_U = XXXX +BUNDLE_HEADER_DOC_ENTRY_RD = XXXX + \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_ja.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_ja.properties index aab1e3002..8106d64a5 100644 --- a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_ja.properties +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_ja.properties @@ -19,4 +19,8 @@ CODESYSTEM_CONTENT_COMPLETE = このコードシステム CODESYSTEM_CONTENT_EXAMPLE = このコードシステム はいくつかの例コードたちを提供します: CODESYSTEM_CONTENT_FRAGMENT = このコードシステム は以下のコードを含むフラグメントを提供します: CODESYSTEM_CONTENT_NOTPRESENT = このコードシステム はコードを定義しますが、ここではコードは表現されていません -CODESYSTEM_CONTENT_SUPPLEMENT = このコードシステム は次のコードに {0} を定義します: \ No newline at end of file +CODESYSTEM_CONTENT_SUPPLEMENT = このコードシステム は次のコードに {0} を定義します: +BUNDLE_DOCUMENT_CONTENT = 追加のドキュメント内容 +BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) +BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} +BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_nl.properties b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_nl.properties index 3c6dd5352..1488bad30 100644 --- a/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_nl.properties +++ b/org.hl7.fhir.utilities/src/main/resources/rendering-phrases_nl.properties @@ -14,4 +14,8 @@ BUNDLE_RESOURCE = Resource {0}: BUNDLE_RESPONSE = Response: BUNDLE_SEARCH = Zoeken: BUNDLE_SEARCH_MODE = mode = {0} -BUNDLE_SEARCH_SCORE = score = {0} \ No newline at end of file +BUNDLE_SEARCH_SCORE = score = {0} +BUNDLE_DOCUMENT_CONTENT = Additional Document Content +BUNDLE_HEADER_DOC_ENTRY_URD = {0}. {1} ({2}/{3}) +BUNDLE_HEADER_DOC_ENTRY_U = {0}. {1} +BUNDLE_HEADER_DOC_ENTRY_RD = {0}. {2}/{3} \ No newline at end of file