Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Component/Transliteration/TransliterationInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Component/Transliteration/TransliterationInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,50 @@ +<?php + +namespace Drupal\Component\Transliteration; + +/** + * Defines an interface for classes providing transliteration. + * + * @ingroup transliteration + */ +interface TransliterationInterface { + + /** + * Removes diacritics (accents) from certain letters. + * + * This only applies to certain letters: Accented Latin characters like + * a-with-acute-accent, in the UTF-8 character range of 0xE0 to 0xE6 and + * 01CD to 024F. Replacements that would result in the string changing length + * are excluded, as well as characters that are not accented US-ASCII letters. + * + * @param string $string + * The string holding diacritics. + * + * @return string + * $string with accented letters replaced by their unaccented equivalents. + */ + public function removeDiacritics($string); + + /** + * Transliterates text from Unicode to US-ASCII. + * + * @param string $string + * The string to transliterate. + * @param string $langcode + * (optional) The language code of the language the string is in. Defaults + * to 'en' if not provided. Warning: this can be unfiltered user input. + * @param string $unknown_character + * (optional) The character to substitute for characters in $string without + * transliterated equivalents. Defaults to '?'. + * @param int $max_length + * (optional) If provided, return at most this many characters, ensuring + * that the transliteration does not split in the middle of an input + * character's transliteration. + * + * @return string + * $string with non-US-ASCII characters transliterated to US-ASCII + * characters, and unknown characters replaced with $unknown_character. + */ + public function transliterate($string, $langcode = 'en', $unknown_character = '?', $max_length = NULL); + +}