3.22. Sprachinformation (Language)

Überblick

PDF-Dokumente können für Sehbehinderte durch Screenreader-Programme vorgelesen werden. Damit das funktioniert, muss das Dokument die Sprache angeben können, in der das Dokument erstellt ist.

Diese Sprachvorgabe kann auf einfache Weise überprüft werden:

<!-- Tag to verify locale: -->

<hasLocale name=".."           (optional)
           string=".."         (optional)
           expectedEmpty=".."  (optional)
/>

<hasNoLocale />

Beispiele

<testcase name="hasLocale_CaseInsensitive_LowerCase">
  <assertThat testDocument="language/_languageInfo/localeDemo_en-GB.pdf">
    <hasLocale string="en-gb" />  1
  </assertThat>
</testcase>
<testcase name="hasLocale_CaseInsensitive_UpperCase">
  <assertThat testDocument="language/_languageInfo/localeDemo_en-GB.pdf">
    <hasLocale string="en_GB" />  1
  </assertThat>
</testcase>

1

PDF-typische Schreibweise

1

Java-typische Schreibweise

Die Zeichenkette für die Sprachbezeichnung kann in beliebiger Groß-/Kleinschreibung angegeben werden. Unterstrich und Bindestrich werden ebenfalls gleichbehandelt.

Es kann auch eine Konstante von java.util.Locale direkt verwendet werden, achten Sie dabei aber auf die Korrektheit der Groß-/Kleinschreibung.

<testcase name="hasLocale_LocaleInstance_GERMANY">
  <assertThat testDocument="language/_languageInfo/localeDemo_de.pdf">
    <hasLocale name="Locale.GERMANY" />
  </assertThat>
</testcase>
<testcase name="hasLocale_LocaleInstance_GERMAN">
  <assertThat testDocument="language/_languageInfo/localeDemo_de.pdf">
    <hasLocale name="Locale.GERMAN" />
  </assertThat>
</testcase>

Ein PDF-Dokument mit der Länderkennung "en_GB" liefert einen grünen Test, wenn es auf Locale.en getestet wird. Dagegen gilt ein Test als fehlerhaft, wenn ein Dokument mit der Länderkennung "en" auf Locale.UK getestet wird.

Ein PDF-Dokument, das keine Länderkennung haben soll, kann ebenfalls daraufhin getestet werden:

<testcase name="hasLocale_LanguageEmpty">
  <assertThat testDocument="language/_languageInfo/localeDemo_null.pdf">
    <hasNoLocale />
  </assertThat>
</testcase>