Process the language code suggestion based on the available language codes.
If a non-empty language code suggestion is provided it must appear among the available language codes, otherwise it will be ignored.
$available_langcodes: An array of valid language codes.
$langcode_suggestion: A language code or an array of language codes keyed by field name.
$field_name: The name of the field being processed.
An array of valid language codes.
function _field_language_suggestion($available_langcodes, $langcode_suggestion, $field_name) {
// Handle possible language suggestions.
if (!empty($langcode_suggestion)) {
// We might have an array of language suggestions keyed by field name.
if (is_array($langcode_suggestion) && isset($langcode_suggestion[$field_name])) {
$langcode_suggestion = $langcode_suggestion[$field_name];
}
// If we have a single language code suggestion and it is available, we just
// return it.
if (in_array($langcode_suggestion, $available_langcodes)) {
$available_langcodes = array(
$langcode_suggestion,
);
}
}
return $available_langcodes;
}