1<?php 2 3/** 4 * webtrees: online genealogy 5 * Copyright (C) 2023 webtrees development team 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18declare(strict_types=1); 19 20namespace Fisharebest\Webtrees\CustomTags; 21 22use Fisharebest\Webtrees\Contracts\CustomTagInterface; 23use Fisharebest\Webtrees\Contracts\ElementInterface; 24use Fisharebest\Webtrees\Elements\AddressEmail; 25use Fisharebest\Webtrees\Elements\AddressFax; 26use Fisharebest\Webtrees\Elements\AddressLine; 27use Fisharebest\Webtrees\Elements\AddressWebPage; 28use Fisharebest\Webtrees\Elements\CustomElement; 29use Fisharebest\Webtrees\Elements\DateValue; 30use Fisharebest\Webtrees\Elements\EmptyElement; 31use Fisharebest\Webtrees\Elements\Marriage; 32use Fisharebest\Webtrees\Elements\PhoneNumber; 33use Fisharebest\Webtrees\Elements\TimeValue; 34use Fisharebest\Webtrees\I18N; 35 36/** 37 * GEDCOM files created by Aldfaer 38 * 39 * @see http://aldfaer.net 40 */ 41class Aldfaer implements CustomTagInterface 42{ 43 /** 44 * The name of the application. 45 * 46 * @return string 47 */ 48 public function name(): string 49 { 50 return 'Aldfaer'; 51 } 52 53 /** 54 * Tags created by this application. 55 * 56 * @return array<string,ElementInterface> 57 */ 58 public function tags(): array 59 { 60 return [ 61 'FAM:MARR_CIVIL' => new Marriage(I18N::translate('Civil marriage')), 62 'FAM:MARR_PARTNERS' => new Marriage(I18N::translate('Registered partnership')), 63 'FAM:MARR_RELIGIOUS' => new Marriage(I18N::translate('Religious marriage')), 64 'FAM:MARR_UNKNOWN' => new Marriage(I18N::translate('Marriage')), 65 'FAM:_ALDFAER_NOREL' => new EmptyElement('No relation'), // What is this? 66 'HEAD:SUBM:ADDR' => new AddressLine(I18N::translate('Address')), 67 'HEAD:SUBM:PHON' => new PhoneNumber(I18N::translate('Phone')), 68 'HEAD:SUBM:_EMAI' => new AddressEmail(I18N::translate('Email')), 69 'HEAD:SUBM:_FAX' => new AddressFax(I18N::translate('Fax')), 70 'HEAD:SUBM:_WWW' => new AddressWebPage(I18N::translate('URL')), 71 'INDI:BIRT:_ALDFAER_TIME' => new TimeValue(I18N::translate('Time of birth')), 72 'INDI:BIRT:_LENGTH' => new CustomElement(I18N::translate('Length')), 73 'INDI:BIRT:_WEIGHT' => new CustomElement(I18N::translate('Weight')), 74 'INDI:DEAT:_ALDFAER_TIME' => new TimeValue(I18N::translate('Time of death')), 75 'INDI:_REFERENCE' => new CustomElement(''), 76 'INDI:_PRIVACY' => new CustomElement(''), 77 'INDI:_PRIVACY:_OBJECTION' => new CustomElement(''), 78 'INDI:_PRIVACY:_PUBLISH' => new CustomElement(''), 79 'INDI:NAME:_SURNAS' => new CustomElement(I18N::translate('Alternative spelling of surname')), 80 'INDI:DEAT:_DATE' => new DateValue(I18N::translate('Date')), 81 'INDI:_INQUBIRT' => new CustomElement(''), 82 'INDI:_INQUCHIL' => new CustomElement(''), 83 'INDI:_INQURELA' => new CustomElement(''), 84 'INDI:_INQUDEAT' => new CustomElement(''), 85 'INDI:_INQUVAR1' => new CustomElement(''), 86 'INDI:_INQUVAR1CAT' => new CustomElement(''), 87 'INDI:_INQUVAR2' => new CustomElement(''), 88 'INDI:_INQUVAR2CAT' => new CustomElement(''), 89 'INDI:_INQUVAR3' => new CustomElement(''), 90 'INDI:_INQUVAR3CAT' => new CustomElement(''), 91 'INDI:_NOPARTNER' => new CustomElement(''), 92 'INDI:_NEW' => new CustomElement(''), 93 'INDI:_BOLD' => new CustomElement(''), 94 'INDI:_ITALIC' => new CustomElement(''), 95 'INDI:_UNDERLINE' => new CustomElement(''), 96 'INDI:_COLOR' => new CustomElement(''), 97 ]; 98 } 99} 100