本文整理匯總了PHP中AppLocale::get2LetterFrom3LetterIsoLanguage方法的典型用法代碼示例。如果您正苦於以下問題:PHP AppLocale::get2LetterFrom3LetterIsoLanguage方法的具體用法?PHP AppLocale::get2LetterFrom3LetterIsoLanguage怎麽用?PHP AppLocale::get2LetterFrom3LetterIsoLanguage使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類AppLocale
的用法示例。
在下文中一共展示了AppLocale::get2LetterFrom3LetterIsoLanguage方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: assert
//.........這裏部分代碼省略.........
switch ($nameType) {
// Authors
case 'personal':
// Only authors go into the submission.
if (in_array('aut', $nameRoles)) {
// Instantiate a new author object.
$authorDao = DAORegistry::getDAO('AuthorDAO');
/* @var $authorDao AuthorDAO */
$author = $authorDao->newDataObject();
// Family Name
$author->setLastName($nameDescription->getStatement('namePart[@type="family"]'));
// Given Names
$givenNames = $nameDescription->getStatement('namePart[@type="given"]');
if (!empty($givenNames)) {
$givenNames = explode(' ', $givenNames, 2);
if (isset($givenNames[0])) {
$author->setFirstName($givenNames[0]);
}
if (isset($givenNames[1])) {
$author->setMiddleName($givenNames[1]);
}
}
// Affiliation
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
$affiliation = $nameDescription->getStatement('affiliation');
if (!empty($affiliation)) {
$author->setAffiliation($affiliation, $catalogingLocale);
}
// Terms of address (unmapped field)
$termsOfAddress = $nameDescription->getStatement('namePart[@type="termsOfAddress"]');
if ($termsOfAddress) {
$author->setData('nlm34:namePart[@type="termsOfAddress"]', $termsOfAddress);
}
// Date (unmapped field)
$date = $nameDescription->getStatement('namePart[@type="date"]');
if ($date) {
$author->setData('nlm34:namePart[@type="date"]', $date);
}
// Add the author to the submission.
$authorDao->insertObject($author);
unset($author);
}
break;
// Sponsor
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
// Sponsor
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
case 'corporate':
// Only the first sponsor goes into the submission.
if (!$foundSponsor && in_array('spn', $nameRoles)) {
$foundSponsor = true;
$targetDataObject->setSponsor($nameDescription->getStatement('namePart'), $catalogingLocale);
}
break;
}
}
unset($nameDescription);
}
}
// Creation date
$dateSubmitted = $metadataDescription->getStatement('originInfo/dateCreated[@encoding="w3cdtf"]');
if ($dateSubmitted) {
$targetDataObject->setDateSubmitted($dateSubmitted);
}
// Submission language
$submissionLanguage = $metadataDescription->getStatement('language/languageTerm[@type="code" @authority="iso639-2b"]');
$submissionLocale = AppLocale::get2LetterFrom3LetterIsoLanguage($submissionLanguage);
if ($submissionLocale) {
$targetDataObject->setLanguage($submissionLocale);
}
// Pages (extent)
$pages = $metadataDescription->getStatement('physicalDescription/extent');
if ($pages) {
$targetDataObject->setPages($pages);
}
// Abstract
$localizedAbstracts = $metadataDescription->getStatementTranslations('abstract');
if (is_array($localizedAbstracts)) {
foreach ($localizedAbstracts as $locale => $abstract) {
$targetDataObject->setAbstract($abstract, $locale);
}
}
// Discipline, subject class and subject
// FIXME: We currently ignore discipline, subject class and subject because we cannot
// distinguish them within a list of MODS topic elements. Can we use several subject
// statements with different authorities instead?
// FIXME: We do not include coverage information at the moment.
// Record identifier
// NB: We currently don't override the submission id with the record identifier in MODS
// to make sure that MODS records can be transported between different installations.
// Handle unmapped fields.
$this->injectUnmappedDataObjectMetadataFields($metadataDescription, $targetDataObject);
return $targetDataObject;
}
示例2: testGet2LetterFrom3LetterIsoLanguage
/**
* @covers PKPLocale
*/
public function testGet2LetterFrom3LetterIsoLanguage()
{
self::assertEquals('en', AppLocale::get2LetterFrom3LetterIsoLanguage('eng'));
self::assertEquals('pt', AppLocale::get2LetterFrom3LetterIsoLanguage('por'));
self::assertNull(AppLocale::get2LetterFrom3LetterIsoLanguage('xxx'));
}