Example #1
0
 /**
  * Translate a code, for an optional record
  *
  * @param string            $type
  * @param GedcomRecord|null $record
  *
  * @return string
  */
 public static function getValue($type, GedcomRecord $record = null)
 {
     if ($record instanceof Individual) {
         $sex = $record->getSex();
     } else {
         $sex = 'U';
     }
     switch ($type) {
         case 'birth':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('Male pedigree', 'Birth');
                 case 'F':
                     return I18N::translateContext('Female pedigree', 'Birth');
                 default:
                     return I18N::translateContext('Pedigree', 'Birth');
             }
         case 'adopted':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('Male pedigree', 'Adopted');
                 case 'F':
                     return I18N::translateContext('Female pedigree', 'Adopted');
                 default:
                     return I18N::translateContext('Pedigree', 'Adopted');
             }
         case 'foster':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('Male pedigree', 'Foster');
                 case 'F':
                     return I18N::translateContext('Female pedigree', 'Foster');
                 default:
                     return I18N::translateContext('Pedigree', 'Foster');
             }
         case 'sealing':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('Male pedigree', 'Sealing');
                 case 'F':
                     return I18N::translateContext('Female pedigree', 'Sealing');
                 default:
                     return I18N::translateContext('Pedigree', 'Sealing');
             }
         case 'rada':
             // Not standard GEDCOM - a webtrees extension
             // This is an arabic word which does not exist in other languages.
             // So, it will not have any inflected forms.
             return I18N::translate('Rada');
         default:
             return $type;
     }
 }
Example #2
0
 /**
  * Translate a code, for an (optional) record
  *
  * @param string               $type
  * @param GedcomRecord|null $record
  *
  * @return string
  */
 public static function getValue($type, GedcomRecord $record = null)
 {
     if ($record instanceof Individual) {
         $sex = $record->getSex();
     } else {
         $sex = 'U';
     }
     switch ($type) {
         case 'BOTH':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Adopted by both parents');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Adopted by both parents');
                 default:
                     return I18N::translate('Adopted by both parents');
             }
         case 'HUSB':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Adopted by father');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Adopted by father');
                 default:
                     return I18N::translate('Adopted by father');
             }
         case 'WIFE':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Adopted by mother');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Adopted by mother');
                 default:
                     return I18N::translate('Adopted by mother');
             }
         default:
             return $type;
     }
 }
Example #3
0
 /**
  * Translate a tag, for an (optional) record
  *
  * @param string               $tag
  * @param GedcomRecord|null $record
  *
  * @return string
  */
 public static function getLabel($tag, GedcomRecord $record = null)
 {
     if ($record instanceof Individual) {
         $sex = $record->getSex();
     } else {
         $sex = 'U';
     }
     switch ($tag) {
         case 'ABBR':
             return I18N::translate('Abbreviation');
         case 'ADDR':
             return I18N::translate('Address');
         case 'ADR1':
             return I18N::translate('Address line 1');
         case 'ADR2':
             return I18N::translate('Address line 2');
         case 'ADOP':
             return I18N::translate('Adoption');
         case 'ADOP:DATE':
             return I18N::translate('Date of adoption');
         case 'ADOP:PLAC':
             return I18N::translate('Place of adoption');
         case 'AFN':
             return I18N::translate('Ancestral file number');
         case 'AGE':
             return I18N::translate('Age');
         case 'AGNC':
             return I18N::translate('Agency');
         case 'ALIA':
             return I18N::translate('Alias');
         case 'ANCE':
             return I18N::translate('Generations of ancestors');
         case 'ANCI':
             return I18N::translate('Ancestors interest');
         case 'ANUL':
             return I18N::translate('Annulment');
         case 'ASSO':
             return I18N::translate('Associate');
             /* see also _ASSO */
         /* see also _ASSO */
         case 'AUTH':
             return I18N::translate('Author');
         case 'BAPL':
             return I18N::translate('LDS baptism');
         case 'BAPL:DATE':
             return I18N::translate('Date of LDS baptism');
         case 'BAPL:PLAC':
             return I18N::translate('Place of LDS baptism');
         case 'BAPM':
             return I18N::translate('Baptism');
         case 'BAPM:DATE':
             return I18N::translate('Date of baptism');
         case 'BAPM:PLAC':
             return I18N::translate('Place of baptism');
         case 'BARM':
             return I18N::translate('Bar mitzvah');
         case 'BARM:DATE':
             return I18N::translate('Date of bar mitzvah');
         case 'BARM:PLAC':
             return I18N::translate('Place of bar mitzvah');
         case 'BASM':
             return I18N::translate('Bat mitzvah');
         case 'BASM:DATE':
             return I18N::translate('Date of bat mitzvah');
         case 'BASM:PLAC':
             return I18N::translate('Place of bat mitzvah');
         case 'BIRT':
             return I18N::translate('Birth');
         case 'BIRT:DATE':
             return I18N::translate('Date of birth');
         case 'BIRT:PLAC':
             return I18N::translate('Place of birth');
         case 'BLES':
             return I18N::translate('Blessing');
         case 'BLES:DATE':
             return I18N::translate('Date of blessing');
         case 'BLES:PLAC':
             return I18N::translate('Place of blessing');
         case 'BLOB':
             return I18N::translate('Binary data object');
         case 'BURI':
             return I18N::translate('Burial');
         case 'BURI:DATE':
             return I18N::translate('Date of burial');
         case 'BURI:PLAC':
             return I18N::translate('Place of burial');
         case 'CALN':
             return I18N::translate('Call number');
         case 'CAST':
             return I18N::translate('Caste');
         case 'CAUS':
             return I18N::translate('Cause');
         case 'CEME':
             return I18N::translate('Cemetery');
         case 'CENS':
             return I18N::translate('Census');
         case 'CENS:DATE':
             return I18N::translate('Census date');
         case 'CENS:PLAC':
             return I18N::translate('Census place');
         case 'CHAN':
             return I18N::translate('Last change');
         case 'CHAN:DATE':
             return I18N::translate('Date of last change');
         case 'CHAN:_WT_USER':
             return I18N::translate('Author of last change');
         case 'CHAR':
             return I18N::translate('Character set');
         case 'CHIL':
             return I18N::translate('Child');
         case 'CHR':
             return I18N::translate('Christening');
         case 'CHR:DATE':
             return I18N::translate('Date of christening');
         case 'CHR:PLAC':
             return I18N::translate('Place of christening');
         case 'CHRA':
             return I18N::translate('Adult christening');
         case 'CITN':
             return I18N::translate('Citizenship');
         case 'CITY':
             return I18N::translate('City');
         case 'COMM':
             return I18N::translate('Comment');
         case 'CONC':
             return I18N::translate('Concatenation');
         case 'CONT':
             return I18N::translate('Continued');
         case 'CONF':
             return I18N::translate('Confirmation');
         case 'CONF:DATE':
             return I18N::translate('Date of confirmation');
         case 'CONF:PLAC':
             return I18N::translate('Place of confirmation');
         case 'CONL':
             return I18N::translate('LDS confirmation');
         case 'COPR':
             return I18N::translate('Copyright');
         case 'CORP':
             return I18N::translate('Corporation');
         case 'CREM':
             return I18N::translate('Cremation');
         case 'CREM:DATE':
             return I18N::translate('Date of cremation');
         case 'CREM:PLAC':
             return I18N::translate('Place of cremation');
         case 'CTRY':
             return I18N::translate('Country');
         case 'DATA':
             return I18N::translate('Data');
         case 'DATA:DATE':
             return I18N::translate('Date of entry in original source');
         case 'DATE':
             return I18N::translate('Date');
         case 'DEAT':
             return I18N::translate('Death');
         case 'DEAT:CAUS':
             return I18N::translate('Cause of death');
         case 'DEAT:DATE':
             return I18N::translate('Date of death');
         case 'DEAT:PLAC':
             return I18N::translate('Place of death');
         case 'DESC':
             return I18N::translate('Descendants');
         case 'DESI':
             return I18N::translate('Descendants interest');
         case 'DEST':
             return I18N::translate('Destination');
         case 'DIV':
             return I18N::translate('Divorce');
         case 'DIVF':
             return I18N::translate('Divorce filed');
         case 'DSCR':
             return I18N::translate('Description');
         case 'EDUC':
             return I18N::translate('Education');
         case 'EDUC:AGNC':
             return I18N::translate('School or college');
         case 'EMAI':
             return I18N::translate('Email address');
         case 'EMAIL':
             return I18N::translate('Email address');
         case 'EMAL':
             return I18N::translate('Email address');
         case 'EMIG':
             return I18N::translate('Emigration');
         case 'EMIG:DATE':
             return I18N::translate('Date of emigration');
         case 'EMIG:PLAC':
             return I18N::translate('Place of emigration');
         case 'ENDL':
             return I18N::translate('LDS endowment');
         case 'ENDL:DATE':
             return I18N::translate('Date of LDS endowment');
         case 'ENDL:PLAC':
             return I18N::translate('Place of LDS endowment');
         case 'ENGA':
             return I18N::translate('Engagement');
         case 'ENGA:DATE':
             return I18N::translate('Date of engagement');
         case 'ENGA:PLAC':
             return I18N::translate('Place of engagement');
         case 'EVEN':
             return I18N::translate('Event');
         case 'EVEN:DATE':
             return I18N::translate('Date of event');
         case 'EVEN:PLAC':
             return I18N::translate('Place of event');
         case 'FACT':
             return I18N::translate('Fact');
         case 'FAM':
             return I18N::translate('Family');
         case 'FAMC':
             return I18N::translate('Family as a child');
         case 'FAMF':
             return I18N::translate('Family file');
         case 'FAMS':
             return I18N::translate('Family as a spouse');
         case 'FAMS:CENS:DATE':
             return I18N::translate('Spouse census date');
         case 'FAMS:CENS:PLAC':
             return I18N::translate('Spouse census place');
         case 'FAMS:DIV:DATE':
             return I18N::translate('Date of divorce');
         case 'FAMS:MARR:DATE':
             return I18N::translate('Date of marriage');
         case 'FAMS:MARR:PLAC':
             return I18N::translate('Place of marriage');
         case 'FAMS:NOTE':
             return I18N::translate('Spouse note');
         case 'FAMS:SLGS:DATE':
             return I18N::translate('Date of LDS spouse sealing');
         case 'FAMS:SLGS:PLAC':
             return I18N::translate('Place of LDS spouse sealing');
         case 'FAX':
             return I18N::translate('Fax');
         case 'FCOM':
             return I18N::translate('First communion');
         case 'FCOM:DATE':
             return I18N::translate('Date of first communion');
         case 'FCOM:PLAC':
             return I18N::translate('Place of first communion');
         case 'FILE':
             return I18N::translate('Filename');
         case 'FONE':
             return I18N::translate('Phonetic');
         case 'FORM':
             return I18N::translate('Format');
         case 'GEDC':
             return I18N::translate('GEDCOM file');
         case 'GIVN':
             return I18N::translate('Given names');
         case 'GRAD':
             return I18N::translate('Graduation');
         case 'HEAD':
             return I18N::translate('Header');
         case 'HUSB':
             return I18N::translate('Husband');
         case 'IDNO':
             return I18N::translate('Identification number');
         case 'IMMI':
             return I18N::translate('Immigration');
         case 'IMMI:DATE':
             return I18N::translate('Date of immigration');
         case 'IMMI:PLAC':
             return I18N::translate('Place of immigration');
         case 'INDI':
             return I18N::translate('Individual');
         case 'INFL':
             return I18N::translate('Infant');
         case 'LANG':
             return I18N::translate('Language');
         case 'LATI':
             return I18N::translate('Latitude');
         case 'LEGA':
             return I18N::translate('Legatee');
         case 'LONG':
             return I18N::translate('Longitude');
         case 'MAP':
             return I18N::translate('Map');
         case 'MARB':
             return I18N::translate('Marriage banns');
         case 'MARB:DATE':
             return I18N::translate('Date of marriage banns');
         case 'MARB:PLAC':
             return I18N::translate('Place of marriage banns');
         case 'MARC':
             return I18N::translate('Marriage contract');
         case 'MARL':
             return I18N::translate('Marriage license');
         case 'MARR':
             return I18N::translate('Marriage');
         case 'MARR:DATE':
             return I18N::translate('Date of marriage');
         case 'MARR:PLAC':
             return I18N::translate('Place of marriage');
         case 'MARR_CIVIL':
             return I18N::translate('Civil marriage');
         case 'MARR_PARTNERS':
             return I18N::translate('Registered partnership');
         case 'MARR_RELIGIOUS':
             return I18N::translate('Religious marriage');
         case 'MARR_UNKNOWN':
             return I18N::translate('Marriage type unknown');
         case 'MARS':
             return I18N::translate('Marriage settlement');
         case 'MEDI':
             return I18N::translate('Media type');
         case 'NAME':
             if ($record instanceof Repository) {
                 return I18N::translateContext('Repository', 'Name');
             } else {
                 return I18N::translate('Name');
             }
         case 'NAME:FONE':
             return I18N::translate('Phonetic name');
         case 'NAME:_HEB':
             return I18N::translate('Name in Hebrew');
         case 'NATI':
             return I18N::translate('Nationality');
         case 'NATU':
             return I18N::translate('Naturalization');
         case 'NATU:DATE':
             return I18N::translate('Date of naturalization');
         case 'NATU:PLAC':
             return I18N::translate('Place of naturalization');
         case 'NCHI':
             return I18N::translate('Number of children');
         case 'NICK':
             return I18N::translate('Nickname');
         case 'NMR':
             return I18N::translate('Number of marriages');
         case 'NOTE':
             return I18N::translate('Note');
         case 'NPFX':
             return I18N::translate('Name prefix');
         case 'NSFX':
             return I18N::translate('Name suffix');
         case 'OBJE':
             return I18N::translate('Media object');
         case 'OCCU':
             return I18N::translate('Occupation');
         case 'OCCU:AGNC':
             return I18N::translate('Employer');
         case 'ORDI':
             return I18N::translate('Ordinance');
         case 'ORDN':
             return I18N::translate('Ordination');
         case 'ORDN:AGNC':
             return I18N::translate('Religious institution');
         case 'ORDN:DATE':
             return I18N::translate('Date of ordination');
         case 'ORDN:PLAC':
             return I18N::translate('Place of ordination');
         case 'PAGE':
             return I18N::translate('Citation details');
         case 'PEDI':
             return I18N::translate('Relationship to parents');
         case 'PHON':
             return I18N::translate('Phone');
         case 'PLAC':
             return I18N::translate('Place');
         case 'PLAC:FONE':
             return I18N::translate('Phonetic place');
         case 'PLAC:ROMN':
             return I18N::translate('Romanized place');
         case 'PLAC:_HEB':
             return I18N::translate('Place in Hebrew');
         case 'POST':
             return I18N::translate('Postal code');
         case 'PROB':
             return I18N::translate('Probate');
         case 'PROP':
             return I18N::translate('Property');
         case 'PUBL':
             return I18N::translate('Publication');
         case 'QUAY':
             return I18N::translate('Quality of data');
         case 'REFN':
             return I18N::translate('Reference number');
         case 'RELA':
             return I18N::translate('Relationship');
         case 'RELI':
             return I18N::translate('Religion');
         case 'REPO':
             return I18N::translate('Repository');
         case 'RESI':
             return I18N::translate('Residence');
         case 'RESI:DATE':
             return I18N::translate('Date of residence');
         case 'RESI:PLAC':
             return I18N::translate('Place of residence');
         case 'RESN':
             return I18N::translate('Restriction');
         case 'RETI':
             return I18N::translate('Retirement');
         case 'RETI:AGNC':
             return I18N::translate('Employer');
         case 'RFN':
             return I18N::translate('Record file number');
         case 'RIN':
             return I18N::translate('Record ID number');
         case 'ROLE':
             return I18N::translate('Role');
         case 'ROMN':
             return I18N::translate('Romanized');
         case 'SERV':
             return I18N::translate('Remote server');
         case 'SEX':
             return I18N::translate('Gender');
         case 'SHARED_NOTE':
             return I18N::translate('Shared note');
         case 'SLGC':
             return I18N::translate('LDS child sealing');
         case 'SLGC:DATE':
             return I18N::translate('Date of LDS child sealing');
         case 'SLGC:PLAC':
             return I18N::translate('Place of LDS child sealing');
         case 'SLGS':
             return I18N::translate('LDS spouse sealing');
         case 'SOUR':
             return I18N::translate('Source');
         case 'SPFX':
             return I18N::translate('Surname prefix');
         case 'SSN':
             return I18N::translate('Social security number');
         case 'STAE':
             return I18N::translate('State');
         case 'STAT':
             return I18N::translate('Status');
         case 'STAT:DATE':
             return I18N::translate('Status change date');
         case 'SUBM':
             return I18N::translate('Submitter');
         case 'SUBN':
             return I18N::translate('Submission');
         case 'SURN':
             return I18N::translate('Surname');
         case 'TEMP':
             return I18N::translate('Temple');
         case 'TEXT':
             return I18N::translate('Text');
         case 'TIME':
             return I18N::translate('Time');
         case 'TITL':
             return I18N::translate('Title');
         case 'TITL:FONE':
             return I18N::translate('Phonetic title');
         case 'TITL:ROMN':
             return I18N::translate('Romanized title');
         case 'TITL:_HEB':
             return I18N::translate('Title in Hebrew');
         case 'TRLR':
             return I18N::translate('Trailer');
         case 'TYPE':
             return I18N::translate('Type');
         case 'URL':
             return I18N::translate('URL');
         case 'VERS':
             return I18N::translate('Version');
         case 'WIFE':
             return I18N::translate('Wife');
         case 'WILL':
             return I18N::translate('Will');
         case 'WWW':
             return I18N::translate('URL');
         case '_ADOP_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Adoption of a son');
                 case 'F':
                     return I18N::translate('Adoption of a daughter');
                 default:
                     return I18N::translate('Adoption of a child');
             }
         case '_ADOP_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Adoption of a grandson');
                 case 'F':
                     return I18N::translate('Adoption of a granddaughter');
                 default:
                     return I18N::translate('Adoption of a grandchild');
             }
         case '_ADOP_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Adoption of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Adoption of a granddaughter');
                 default:
                     return I18N::translate('Adoption of a grandchild');
             }
         case '_ADOP_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Adoption of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Adoption of a granddaughter');
                 default:
                     return I18N::translate('Adoption of a grandchild');
             }
         case '_ADOP_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Adoption of a half-brother');
                 case 'F':
                     return I18N::translate('Adoption of a half-sister');
                 default:
                     return I18N::translate('Adoption of a half-sibling');
             }
         case '_ADOP_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Adoption of a brother');
                 case 'F':
                     return I18N::translate('Adoption of a sister');
                 default:
                     return I18N::translate('Adoption of a sibling');
             }
         case '_ADPF':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Adopted by father');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Adopted by father');
                 default:
                     return I18N::translate('Adopted by father');
             }
         case '_ADPM':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Adopted by mother');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Adopted by mother');
                 default:
                     return I18N::translate('Adopted by mother');
             }
         case '_AKA':
         case '_AKAN':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Also known as');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Also known as');
                 default:
                     return I18N::translate('Also known as');
             }
         case '_ASSO':
             return I18N::translate('Associate');
             /* see also ASSO */
         /* see also ASSO */
         case '_BAPM_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Baptism of a son');
                 case 'F':
                     return I18N::translate('Baptism of a daughter');
                 default:
                     return I18N::translate('Baptism of a child');
             }
         case '_BAPM_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Baptism of a grandson');
                 case 'F':
                     return I18N::translate('Baptism of a granddaughter');
                 default:
                     return I18N::translate('Baptism of a grandchild');
             }
         case '_BAPM_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Baptism of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Baptism of a granddaughter');
                 default:
                     return I18N::translate('Baptism of a grandchild');
             }
         case '_BAPM_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Baptism of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Baptism of a granddaughter');
                 default:
                     return I18N::translate('Baptism of a grandchild');
             }
         case '_BAPM_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Baptism of a half-brother');
                 case 'F':
                     return I18N::translate('Baptism of a half-sister');
                 default:
                     return I18N::translate('Baptism of a half-sibling');
             }
         case '_BAPM_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Baptism of a brother');
                 case 'F':
                     return I18N::translate('Baptism of a sister');
                 default:
                     return I18N::translate('Baptism of a sibling');
             }
         case '_BIBL':
             return I18N::translate('Bibliography');
         case '_BIRT_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Birth of a son');
                 case 'F':
                     return I18N::translate('Birth of a daughter');
                 default:
                     return I18N::translate('Birth of a child');
             }
         case '_BIRT_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Birth of a grandson');
                 case 'F':
                     return I18N::translate('Birth of a granddaughter');
                 default:
                     return I18N::translate('Birth of a grandchild');
             }
         case '_BIRT_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Birth of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Birth of a granddaughter');
                 default:
                     return I18N::translate('Birth of a grandchild');
             }
         case '_BIRT_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Birth of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Birth of a granddaughter');
                 default:
                     return I18N::translate('Birth of a grandchild');
             }
         case '_BIRT_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Birth of a half-brother');
                 case 'F':
                     return I18N::translate('Birth of a half-sister');
                 default:
                     return I18N::translate('Birth of a half-sibling');
             }
         case '_BIRT_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Birth of a brother');
                 case 'F':
                     return I18N::translate('Birth of a sister');
                 default:
                     return I18N::translate('Birth of a sibling');
             }
         case '_BRTM':
             return I18N::translate('Brit milah');
         case '_BRTM:DATE':
             return I18N::translate('Date of brit milah');
         case '_BRTM:PLAC':
             return I18N::translate('Place of brit milah');
         case '_BURI_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a son');
                 case 'F':
                     return I18N::translate('Burial of a daughter');
                 default:
                     return I18N::translate('Burial of a child');
             }
         case '_BURI_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a grandson');
                 case 'F':
                     return I18N::translate('Burial of a granddaughter');
                 default:
                     return I18N::translate('Burial of a grandchild');
             }
         case '_BURI_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Burial of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Burial of a granddaughter');
                 default:
                     return I18N::translate('Burial of a grandchild');
             }
         case '_BURI_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Burial of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Burial of a granddaughter');
                 default:
                     return I18N::translate('Burial of a grandchild');
             }
         case '_BURI_GPAR':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a grandfather');
                 case 'F':
                     return I18N::translate('Burial of a grandmother');
                 default:
                     return I18N::translate('Burial of a grandparent');
             }
         case '_BURI_GPA1':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a paternal grandfather');
                 case 'F':
                     return I18N::translate('Burial of a paternal grandmother');
                 default:
                     return I18N::translate('Burial of a paternal grandparent');
             }
         case '_BURI_GPA2':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a maternal grandfather');
                 case 'F':
                     return I18N::translate('Burial of a maternal grandmother');
                 default:
                     return I18N::translate('Burial of a maternal grandparent');
             }
         case '_BURI_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a half-brother');
                 case 'F':
                     return I18N::translate('Burial of a half-sister');
                 default:
                     return I18N::translate('Burial of a half-sibling');
             }
         case '_BURI_PARE':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a father');
                 case 'F':
                     return I18N::translate('Burial of a mother');
                 default:
                     return I18N::translate('Burial of a parent');
             }
         case '_BURI_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a brother');
                 case 'F':
                     return I18N::translate('Burial of a sister');
                 default:
                     return I18N::translate('Burial of a sibling');
             }
         case '_BURI_SPOU':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Burial of a husband');
                 case 'F':
                     return I18N::translate('Burial of a wife');
                 default:
                     return I18N::translate('Burial of a spouse');
             }
         case '_CHR_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Christening of a son');
                 case 'F':
                     return I18N::translate('Christening of a daughter');
                 default:
                     return I18N::translate('Christening of a child');
             }
         case '_CHR_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Christening of a grandson');
                 case 'F':
                     return I18N::translate('Christening of a granddaughter');
                 default:
                     return I18N::translate('Christening of a grandchild');
             }
         case '_CHR_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Christening of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Christening of a granddaughter');
                 default:
                     return I18N::translate('Christening of a grandchild');
             }
         case '_CHR_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Christening of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Christening of a granddaughter');
                 default:
                     return I18N::translate('Christening of a grandchild');
             }
         case '_CHR_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Christening of a half-brother');
                 case 'F':
                     return I18N::translate('Christening of a half-sister');
                 default:
                     return I18N::translate('Christening of a half-sibling');
             }
         case '_CHR_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Christening of a brother');
                 case 'F':
                     return I18N::translate('Christening of a sister');
                 default:
                     return I18N::translate('Christening of a sibling');
             }
         case '_COML':
             return I18N::translate('Common law marriage');
         case '_CREM_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a son');
                 case 'F':
                     return I18N::translate('Cremation of a daughter');
                 default:
                     return I18N::translate('Cremation of a child');
             }
         case '_CREM_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a grandson');
                 case 'F':
                     return I18N::translate('Cremation of a granddaughter');
                 default:
                     return I18N::translate('Cremation of a grandchild');
             }
         case '_CREM_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Cremation of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Cremation of a granddaughter');
                 default:
                     return I18N::translate('Cremation of a grandchild');
             }
         case '_CREM_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Cremation of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Cremation of a granddaughter');
                 default:
                     return I18N::translate('Cremation of a grandchild');
             }
         case '_CREM_GPAR':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a grandfather');
                 case 'F':
                     return I18N::translate('Cremation of a grandmother');
                 default:
                     return I18N::translate('Cremation of a grand-parent');
             }
         case '_CREM_GPA1':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a paternal grandfather');
                 case 'F':
                     return I18N::translate('Cremation of a paternal grandmother');
                 default:
                     return I18N::translate('Cremation of a grand-parent');
             }
         case '_CREM_GPA2':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a maternal grandfather');
                 case 'F':
                     return I18N::translate('Cremation of a maternal grandmother');
                 default:
                     return I18N::translate('Cremation of a grand-parent');
             }
         case '_CREM_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a half-brother');
                 case 'F':
                     return I18N::translate('Cremation of a half-sister');
                 default:
                     return I18N::translate('Cremation of a half-sibling');
             }
         case '_CREM_PARE':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a father');
                 case 'F':
                     return I18N::translate('Cremation of a mother');
                 default:
                     return I18N::translate('Cremation of a parent');
             }
         case '_CREM_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a brother');
                 case 'F':
                     return I18N::translate('Cremation of a sister');
                 default:
                     return I18N::translate('Cremation of a sibling');
             }
         case '_CREM_SPOU':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Cremation of a husband');
                 case 'F':
                     return I18N::translate('Cremation of a wife');
                 default:
                     return I18N::translate('Cremation of a spouse');
             }
         case '_DBID':
             return I18N::translate('Linked database ID');
         case '_DEAT_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a son');
                 case 'F':
                     return I18N::translate('Death of a daughter');
                 default:
                     return I18N::translate('Death of a child');
             }
         case '_DEAT_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a grandson');
                 case 'F':
                     return I18N::translate('Death of a granddaughter');
                 default:
                     return I18N::translate('Death of a grandchild');
             }
         case '_DEAT_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Death of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Death of a granddaughter');
                 default:
                     return I18N::translate('Death of a grandchild');
             }
         case '_DEAT_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Death of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Death of a granddaughter');
                 default:
                     return I18N::translate('Death of a grandchild');
             }
         case '_DEAT_GPAR':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a grandfather');
                 case 'F':
                     return I18N::translate('Death of a grandmother');
                 default:
                     return I18N::translate('Death of a grand-parent');
             }
         case '_DEAT_GPA1':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a paternal grandfather');
                 case 'F':
                     return I18N::translate('Death of a paternal grandmother');
                 default:
                     return I18N::translate('Death of a grand-parent');
             }
         case '_DEAT_GPA2':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a maternal grandfather');
                 case 'F':
                     return I18N::translate('Death of a maternal grandmother');
                 default:
                     return I18N::translate('Death of a grand-parent');
             }
         case '_DEAT_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a half-brother');
                 case 'F':
                     return I18N::translate('Death of a half-sister');
                 default:
                     return I18N::translate('Death of a half-sibling');
             }
         case '_DEAT_PARE':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a father');
                 case 'F':
                     return I18N::translate('Death of a mother');
                 default:
                     return I18N::translate('Death of a parent');
             }
         case '_DEAT_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a brother');
                 case 'F':
                     return I18N::translate('Death of a sister');
                 default:
                     return I18N::translate('Death of a sibling');
             }
         case '_DEAT_SPOU':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Death of a husband');
                 case 'F':
                     return I18N::translate('Death of a wife');
                 default:
                     return I18N::translate('Death of a spouse');
             }
         case '_DEG':
             return I18N::translate('Degree');
         case '_DETS':
             return I18N::translate('Death of one spouse');
         case '_DNA':
             return I18N::translate('DNA markers');
         case '_EMAIL':
             return I18N::translate('Email address');
         case '_EYEC':
             return I18N::translate('Eye color');
         case '_FA1':
             return I18N::translate('Fact 1');
         case '_FA2':
             return I18N::translate('Fact 2');
         case '_FA3':
             return I18N::translate('Fact 3');
         case '_FA4':
             return I18N::translate('Fact 4');
         case '_FA5':
             return I18N::translate('Fact 5');
         case '_FA6':
             return I18N::translate('Fact 6');
         case '_FA7':
             return I18N::translate('Fact 7');
         case '_FA8':
             return I18N::translate('Fact 8');
         case '_FA9':
             return I18N::translate('Fact 9');
         case '_FA10':
             return I18N::translate('Fact 10');
         case '_FA11':
             return I18N::translate('Fact 11');
         case '_FA12':
             return I18N::translate('Fact 12');
         case '_FA13':
             return I18N::translate('Fact 13');
         case '_FNRL':
             return I18N::translate('Funeral');
         case '_FREL':
             return I18N::translate('Relationship to father');
         case '_GEDF':
             return I18N::translate('GEDCOM file');
         case '_GODP':
             return I18N::translate('Godparent');
         case '_HAIR':
             return I18N::translate('Hair color');
         case '_HEB':
             return I18N::translate('Hebrew');
         case '_HEIG':
             return I18N::translate('Height');
         case '_HNM':
             return I18N::translate('Hebrew name');
         case '_HOL':
             return I18N::translate('Holocaust');
         case '_INTE':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Interred');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Interred');
                 default:
                     return I18N::translate('Interred');
             }
         case '_LOC':
             return I18N::translate('Location');
         case '_MARI':
             return I18N::translate('Marriage intention');
         case '_MARNM':
             return I18N::translate('Married name');
         case '_PRIM':
             return I18N::translate('Highlighted image');
         case '_MARNM_SURN':
             return I18N::translate('Married surname');
         case '_MARR_CHIL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Marriage of a son');
                 case 'F':
                     return I18N::translate('Marriage of a daughter');
                 default:
                     return I18N::translate('Marriage of a child');
             }
         case '_MARR_FAMC':
             return I18N::translate('Marriage of parents');
         case '_MARR_GCHI':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Marriage of a grandson');
                 case 'F':
                     return I18N::translate('Marriage of a granddaughter');
                 default:
                     return I18N::translate('Marriage of a grandchild');
             }
         case '_MARR_GCH1':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('daughter’s son', 'Marriage of a grandson');
                 case 'F':
                     return I18N::translateContext('daughter’s daughter', 'Marriage of a granddaughter');
                 default:
                     return I18N::translate('Marriage of a grandchild');
             }
         case '_MARR_GCH2':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('son’s son', 'Marriage of a grandson');
                 case 'F':
                     return I18N::translateContext('son’s daughter', 'Marriage of a granddaughter');
                 default:
                     return I18N::translate('Marriage of a grandchild');
             }
         case '_MARR_HSIB':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Marriage of a half-brother');
                 case 'F':
                     return I18N::translate('Marriage of a half-sister');
                 default:
                     return I18N::translate('Marriage of a half-sibling');
             }
         case '_MARR_PARE':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Marriage of a father');
                 case 'F':
                     return I18N::translate('Marriage of a mother');
                 default:
                     return I18N::translate('Marriage of a parent');
             }
         case '_MARR_SIBL':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Marriage of a brother');
                 case 'F':
                     return I18N::translate('Marriage of a sister');
                 default:
                     return I18N::translate('Marriage of a sibling');
             }
         case '_MBON':
             return I18N::translate('Marriage bond');
         case '_MDCL':
             return I18N::translate('Medical');
         case '_MEDC':
             return I18N::translate('Medical condition');
         case '_MEND':
             return I18N::translate('Marriage ending status');
         case '_MILI':
             return I18N::translate('Military');
         case '_MILT':
             return I18N::translate('Military service');
         case '_MREL':
             return I18N::translate('Relationship to mother');
         case '_MSTAT':
             return I18N::translate('Marriage beginning status');
         case '_NAME':
             return I18N::translate('Mailing name');
         case '_NAMS':
             return I18N::translate('Namesake');
         case '_NLIV':
             return I18N::translate('Not living');
         case '_NMAR':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Never married');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Never married');
                 default:
                     return I18N::translate('Never married');
             }
         case '_NMR':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Not married');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Not married');
                 default:
                     return I18N::translate('Not married');
             }
         case '_WT_USER':
             return I18N::translate('by');
         case '_PRMN':
             return I18N::translate('Permanent number');
         case '_SCBK':
             return I18N::translate('Scrapbook');
         case '_SEPR':
             return I18N::translate('Separated');
         case '_SSHOW':
             return I18N::translate('Slide show');
         case '_STAT':
             return I18N::translate('Marriage status');
         case '_SUBQ':
             return I18N::translate('Short version');
         case '_TODO':
             return I18N::translate('Research task');
         case '_TYPE':
             return I18N::translate('Media type');
         case '_UID':
             return I18N::translate('Globally unique identifier');
         case '_URL':
             return I18N::translate('URL');
         case '_WEIG':
             return I18N::translate('Weight');
         case '_WITN':
             return I18N::translate('Witness');
         case '_WT_OBJE_SORT':
             return I18N::translate('Re-order media');
         case '_YART':
             return I18N::translate('Yahrzeit');
             // Brit milah applies only to males, no need for male/female translations
         // Brit milah applies only to males, no need for male/female translations
         case '__BRTM_CHIL':
             return I18N::translate('Brit milah of a son');
         case '__BRTM_GCHI':
             return I18N::translate('Brit milah of a grandson');
         case '__BRTM_GCH1':
             return I18N::translateContext('daughter’s son', 'Brit milah of a grandson');
         case '__BRTM_GCH2':
             return I18N::translateContext('son’s son', 'Brit milah of a grandson');
         case '__BRTM_HSIB':
             return I18N::translate('Brit milah of a half-brother');
         case '__BRTM_SIBL':
             return I18N::translate('Brit milah of a brother');
             // These "pseudo" tags are generated internally to present information about a media object
         // These "pseudo" tags are generated internally to present information about a media object
         case '__FILE_SIZE__':
             return I18N::translate('File size');
         case '__IMAGE_SIZE__':
             return I18N::translate('Image dimensions');
         default:
             // If no specialisation exists (e.g. DEAT:CAUS), then look for the general (CAUS)
             if (strpos($tag, ':')) {
                 list(, $tag) = explode(':', $tag, 2);
                 return self::getLabel($tag, $record);
             }
             // Still no translation? Highlight this as an error
             return '<span class="error" title="' . I18N::translate('Unrecognized GEDCOM code') . '">' . Filter::escapeHtml($tag) . '</span>';
     }
 }
Example #4
0
 /**
  * Translate a code, for an (optional) record.
  * We need the record to translate the sex (godfather/godmother) but
  * we won’t have this when adding data for new individuals.
  *
  * @param string            $type
  * @param GedcomRecord|null $record
  *
  * @return string
  */
 public static function getValue($type, GedcomRecord $record = null)
 {
     if ($record instanceof Individual) {
         $sex = $record->getSex();
     } else {
         $sex = 'U';
     }
     switch ($type) {
         case 'attendant':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Attendant');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Attendant');
                 default:
                     return I18N::translate('Attendant');
             }
         case 'attending':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Attending');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Attending');
                 default:
                     return I18N::translate('Attending');
             }
         case 'best_man':
             // always male
             return I18N::translate('Best man');
         case 'bridesmaid':
             // always female
             return I18N::translate('Bridesmaid');
         case 'buyer':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Buyer');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Buyer');
                 default:
                     return I18N::translate('Buyer');
             }
         case 'circumciser':
             // always male
             return I18N::translate('Circumciser');
         case 'civil_registrar':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Civil registrar');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Civil registrar');
                 default:
                     return I18N::translate('Civil registrar');
             }
         case 'employee':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Employee');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Employee');
                 default:
                     return I18N::translate('Employee');
             }
         case 'employer':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Employer');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Employer');
                 default:
                     return I18N::translate('Employer');
             }
         case 'foster_child':
             // no sex implied
             return I18N::translate('Foster child');
         case 'foster_father':
             // always male
             return I18N::translate('Foster father');
         case 'foster_mother':
             // always female
             return I18N::translate('Foster mother');
         case 'friend':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Friend');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Friend');
                 default:
                     return I18N::translate('Friend');
             }
         case 'godfather':
             // always male
             return I18N::translate('Godfather');
         case 'godmother':
             // always female
             return I18N::translate('Godmother');
         case 'godparent':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Godfather');
                 case 'F':
                     return I18N::translate('Godmother');
                 default:
                     return I18N::translate('Godparent');
             }
         case 'godson':
             // always male
             return I18N::translate('Godson');
         case 'goddaughter':
             // always female
             return I18N::translate('Goddaughter');
         case 'godchild':
             switch ($sex) {
                 case 'M':
                     return I18N::translate('Godson');
                 case 'F':
                     return I18N::translate('Goddaughter');
                 default:
                     return I18N::translate('Godchild');
             }
         case 'guardian':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Guardian');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Guardian');
                 default:
                     return I18N::translate('Guardian');
             }
         case 'informant':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Informant');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Informant');
                 default:
                     return I18N::translate('Informant');
             }
         case 'lodger':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Lodger');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Lodger');
                 default:
                     return I18N::translate('Lodger');
             }
         case 'nanny':
             // no sex implied
             return I18N::translate('Nanny');
         case 'nurse':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Nurse');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Nurse');
                 default:
                     return I18N::translate('Nurse');
             }
         case 'owner':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Owner');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Owner');
                 default:
                     return I18N::translate('Owner');
             }
         case 'priest':
             // no sex implied
             return I18N::translate('Priest');
         case 'rabbi':
             // always male
             return I18N::translate('Rabbi');
         case 'registry_officer':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Registry officer');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Registry officer');
                 default:
                     return I18N::translate('Registry officer');
             }
         case 'seller':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Seller');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Seller');
                 default:
                     return I18N::translate('Seller');
             }
         case 'servant':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Servant');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Servant');
                 default:
                     return I18N::translate('Servant');
             }
         case 'slave':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Slave');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Slave');
                 default:
                     return I18N::translate('Slave');
             }
         case 'ward':
             switch ($sex) {
                 case 'M':
                     return I18N::translateContext('MALE', 'Ward');
                 case 'F':
                     return I18N::translateContext('FEMALE', 'Ward');
                 default:
                     return I18N::translate('Ward');
             }
         case 'witness':
             // Do we need separate male/female translations for this?
             return I18N::translate('Witness');
         default:
             return $type;
     }
 }
Example #5
0
 /**
  * Translate a code, for an (optional) record
  *
  * @param string               $type
  * @param GedcomRecord|null $record
  *
  * @return string
  */
 public static function getValue($type, GedcomRecord $record = null)
 {
     if ($record instanceof Individual) {
         $sex = $record->getSex();
     } else {
         $sex = 'U';
     }
     switch ($type) {
         case 'adopted':
             switch ($sex) {
                 case 'M':
                     /* I18N: The name given to a child by its adoptive parents */
                     return I18N::translateContext('MALE', 'adopted name');
                 case 'F':
                     /* I18N: The name given to a child by its adoptive parents */
                     return I18N::translateContext('FEMALE', 'adopted name');
                 default:
                     /* I18N: The name given to a child by its adoptive parents */
                     return I18N::translate('adopted name');
             }
         case 'aka':
             switch ($sex) {
                 case 'M':
                     /* I18N: The name by which an individual is also known. e.g. a professional name or a stage name */
                     return I18N::translateContext('MALE', 'also known as');
                 case 'F':
                     /* I18N: The name by which an individual is also known. e.g. a professional name or a stage name */
                     return I18N::translateContext('FEMALE', 'also known as');
                 default:
                     /* I18N: The name by which an individual is also known. e.g. a professional name or a stage name */
                     return I18N::translate('also known as');
             }
         case 'birth':
             switch ($sex) {
                 case 'M':
                     /* I18N: The name given to an individual at their birth */
                     return I18N::translateContext('MALE', 'birth name');
                 case 'F':
                     /* I18N: The name given to an individual at their birth */
                     return I18N::translateContext('FEMALE', 'birth name');
                 default:
                     /* I18N: The name given to an individual at their birth */
                     return I18N::translate('birth name');
             }
         case 'change':
             switch ($sex) {
                 case 'M':
                     /* I18N: A name chosen by an individual, to replace their existing name (whether legal or otherwise) */
                     return I18N::translateContext('MALE', 'change of name');
                 case 'F':
                     /* I18N: A name chosen by an individual, to replace their existing name (whether legal or otherwise) */
                     return I18N::translateContext('FEMALE', 'change of name');
                 default:
                     /* I18N: A name chosen by an individual, to replace their existing name (whether legal or otherwise) */
                     return I18N::translate('change of name');
             }
         case 'estate':
             switch ($sex) {
                 case 'M':
                     /* I18N: A name given to an individual, from the farm or estate on which they lived or worked */
                     return I18N::translateContext('MALE', 'estate name');
                 case 'F':
                     /* I18N: A name given to an individual, from the farm or estate on which they lived or worked */
                     return I18N::translateContext('FEMALE', 'estate name');
                 default:
                     /* I18N: A name given to an individual, from the farm or estate on which they lived or worked */
                     return I18N::translate('estate name');
             }
         case 'immigrant':
             switch ($sex) {
                 case 'M':
                     /* I18N: A name taken on immigration - e.g. migrants to the USA frequently anglicized their names */
                     return I18N::translateContext('MALE', 'immigration name');
                 case 'F':
                     /* I18N: A name taken on immigration - e.g. migrants to the USA frequently anglicized their names */
                     return I18N::translateContext('FEMALE', 'immigration name');
                 default:
                     /* I18N: A name taken on immigration - e.g. migrants to the USA frequently anglicized their names */
                     return I18N::translate('immigration name');
             }
         case 'maiden':
             // Only women have “maiden” names!
             return I18N::translate('maiden name');
         case 'married':
             switch ($sex) {
                 case 'M':
                     /* I18N: A name taken on marriage - usually the wife takes the husband’s surname */
                     return I18N::translateContext('MALE', 'married name');
                 case 'F':
                     /* I18N: A name taken on marriage - usually the wife takes the husband’s surname */
                     return I18N::translateContext('FEMALE', 'married name');
                 default:
                     /* I18N: A name taken on marriage - usually the wife takes the husband’s surname */
                     return I18N::translate('married name');
             }
         case 'religious':
             switch ($sex) {
                 case 'M':
                     /* I18N: A name taken when entering a religion or a religious order */
                     return I18N::translateContext('MALE', 'religious name');
                 case 'F':
                     /* I18N: A name taken when entering a religion or a religious order */
                     return I18N::translateContext('FEMALE', 'religious name');
                 default:
                     /* I18N: A name taken when entering a religion or a religious order */
                     return I18N::translate('religious name');
             }
         default:
             return $type;
     }
 }