more rendering i18n work

This commit is contained in:
Grahame Grieve 2024-03-26 06:27:25 +11:00
parent 1842dfee41
commit a95b867054
16 changed files with 258 additions and 79 deletions

View File

@ -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());

View File

@ -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());
}

View File

@ -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());

View File

@ -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");

View File

@ -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();

View File

@ -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();
}
}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -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}

View File

@ -15,3 +15,7 @@ BUNDLH_SCORE=Score = {0}
BUNDLST=Request:
BUST_MOD=LastModified = {0}
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}

View File

@ -14,3 +14,7 @@ BUNDLE_SEARCH = Búsqueda:
BUNRCH_SCORE = score = {0}
BU_MATCH = If-Match = {0}
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}

View File

@ -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

View File

@ -20,3 +20,7 @@ CODESYSTEM_CONTENT_EXAMPLE = この<param name="cased"/>コードシステム <
CODESYSTEM_CONTENT_FRAGMENT = この<param name="cased"/>コードシステム <param name="cs"/> は以下のコード<param name="h"/>を含むフラグメントを提供します:
CODESYSTEM_CONTENT_NOTPRESENT = このコードシステム <param name="cs"/> はコード<param name="h"/>を定義しますが、ここではコードは表現されていません
CODESYSTEM_CONTENT_SUPPLEMENT = このコードシステム <param name="cs"/> は次のコードに {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}

View File

@ -15,3 +15,7 @@ BUNDLE_RESPONSE = Response:
BUNDLE_SEARCH = Zoeken:
BUNDLE_SEARCH_MODE = mode = {0}
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}