.
*/
namespace Fisharebest\Webtrees;
define('WT_SCRIPT_NAME', 'help_text.php');
require './includes/session.php';
$help = Filter::get('help');
switch ($help) {
//////////////////////////////////////////////////////////////////////////////
// This is a list of all known gedcom tags. We list them all here so that
// xgettext() may find them.
//
// Tags such as BIRT:PLAC are only used as labels, and do not require help
// text. These are only used for translating labels.
//
// Tags such as _BIRT_CHIL are pseudo-tags, used to create family events.
//
// Generally, these tags need to be lists explicitly in FunctionsEdit::add_simple_tag()
//////////////////////////////////////////////////////////////////////////////
case 'DATE':
$title = GedcomTag::getLabel('DATE');
$dates = array(
'1900' => new Date('1900'),
'JAN 1900' => new Date('JAN 1900'),
'FEB 1900' => new Date('FEB 1900'),
'MAR 1900' => new Date('MAR 1900'),
'APR 1900' => new Date('APR 1900'),
'MAY 1900' => new Date('MAY 1900'),
'JUN 1900' => new Date('JUN 1900'),
'JUL 1900' => new Date('JUL 1900'),
'AUG 1900' => new Date('AUG 1900'),
'SEP 1900' => new Date('SEP 1900'),
'OCT 1900' => new Date('OCT 1900'),
'NOV 1900' => new Date('NOV 1900'),
'DEC 1900' => new Date('DEC 1900'),
'11 DEC 1913' => new Date('11 DEC 1913'),
'01 FEB 2003' => new Date('01 FEB 2003'),
'ABT 1900' => new Date('ABT 1900'),
'EST 1900' => new Date('EST 1900'),
'CAL 1900' => new Date('CAL 1900'),
'INT 1900 (...)' => new Date('INT 1900 (...)'),
'@#DJULIAN@ 44 B.C.' => new Date('@#DJULIAN@ 44 B.C.'),
'@#DJULIAN@ 14 JAN 1700' => new Date('@#DJULIAN@ 14 JAN 1700'),
'BET @#DJULIAN@ 01 SEP 1752 AND @#DGREGORIAN@ 30 SEP 1752' => new Date('BET @#DJULIAN@ 01 SEP 1752 AND @#DGREGORIAN@ 30 SEP 1752'),
'@#DJULIAN@ 20 FEB 1742/43' => new Date('@#DJULIAN@ 20 FEB 1742/43'),
'FROM 1900 TO 1910' => new Date('FROM 1900 TO 1910'),
'FROM 1900' => new Date('FROM 1900'),
'TO 1910' => new Date('TO 1910'),
'BET 1900 AND 1910' => new Date('BET 1900 AND 1910'),
'BET JAN 1900 AND MAR 1900' => new Date('BET JAN 1900 AND MAR 1900'),
'BET APR 1900 AND JUN 1900' => new Date('BET APR 1900 AND JUN 1900'),
'BET JUL 1900 AND SEP 1900' => new Date('BET JUL 1900 AND SEP 1900'),
'BET OCT 1900 AND DEC 1900' => new Date('BET OCT 1900 AND DEC 1900'),
'AFT 1900' => new Date('AFT 1900'),
'BEF 1910' => new Date('BEF 1910'),
// Hijri dates
'@#DHIJRI@ 1497' => new Date('@#DHIJRI@ 1497'),
'@#DHIJRI@ MUHAR 1497' => new Date('@#DHIJRI@ MUHAR 1497'),
'ABT @#DHIJRI@ SAFAR 1497' => new Date('ABT @#DHIJRI@ SAFAR 1497'),
'BET @#DHIJRI@ RABIA 1497 AND @#DHIJRI@ RABIT 1497' => new Date('BET @#DHIJRI@ RABIA 1497 AND @#DHIJRI@ RABIT 1497'),
'FROM @#DHIJRI@ JUMAA 1497 TO @#DHIJRI@ JUMAT 1497' => new Date('FROM @#DHIJRI@ JUMAA 1497 TO @#DHIJRI@ JUMAT 1497'),
'AFT @#DHIJRI@ RAJAB 1497' => new Date('AFT @#DHIJRI@ RAJAB 1497'),
'BEF @#DHIJRI@ SHAAB 1497' => new Date('BEF @#DHIJRI@ SHAAB 1497'),
'ABT @#DHIJRI@ RAMAD 1497' => new Date('ABT @#DHIJRI@ RAMAD 1497'),
'FROM @#DHIJRI@ SHAWW 1497' => new Date('FROM @#DHIJRI@ SHAWW 1497'),
'TO @#DHIJRI@ DHUAQ 1497' => new Date('TO @#DHIJRI@ DHUAQ 1497'),
'@#DHIJRI@ 03 DHUAH 1497' => new Date('@#DHIJRI@ 03 DHUAH 1497'),
// French dates
'@#DFRENCH R@ 12' => new Date('@#DFRENCH R@ 12'),
'@#DFRENCH R@ VEND 12' => new Date('@#DFRENCH R@ VEND 12'),
'ABT @#DFRENCH R@ BRUM 12' => new Date('ABT @#DFRENCH R@ BRUM 12'),
'BET @#DFRENCH R@ FRIM 12 AND @#DFRENCH R@ NIVO 12' => new Date('BET @#DFRENCH R@ FRIM 12 AND @#DFRENCH R@ NIVO 12'),
'FROM @#DFRENCH R@ PLUV 12 TO @#DFRENCH R@ VENT 12' => new Date('FROM @#DFRENCH R@ PLUV 12 TO @#DFRENCH R@ VENT 12'),
'AFT @#DFRENCH R@ GERM 12' => new Date('AFT @#DFRENCH R@ GERM 12'),
'BEF @#DFRENCH R@ FLOR 12' => new Date('BEF @#DFRENCH R@ FLOR 12'),
'ABT @#DFRENCH R@ PRAI 12' => new Date('ABT @#DFRENCH R@ PRAI 12'),
'FROM @#DFRENCH R@ MESS 12' => new Date('FROM @#DFRENCH R@ MESS 12'),
'TO @#DFRENCH R@ THER 12' => new Date('TO @#DFRENCH R@ THER 12'),
'EST @#DFRENCH R@ FRUC 12' => new Date('EST @#DFRENCH R@ FRUC 12'),
'@#DFRENCH R@ 03 COMP 12' => new Date('@#DFRENCH R@ 03 COMP 12'),
// Jewish dates
'@#DHEBREW@ 5481' => new Date('@#DHEBREW@ 5481'),
'@#DHEBREW@ TSH 5481' => new Date('@#DHEBREW@ TSH 5481'),
'ABT @#DHEBREW@ CSH 5481' => new Date('ABT @#DHEBREW@ CSH 5481'),
'BET @#DHEBREW@ KSL 5481 AND @#DHEBREW@ TVT 5481' => new Date('BET @#DHEBREW@ KSL 5481 AND @#DHEBREW@ TVT 5481'),
'FROM @#DHEBREW@ SHV 5481 TO @#DHEBREW@ ADR 5481' => new Date('FROM @#DHEBREW@ SHV 5481 TO @#DHEBREW@ ADR 5481'),
'AFT @#DHEBREW@ ADR 5481' => new Date('AFT @#DHEBREW@ ADR 5481'),
'AFT @#DHEBREW@ ADS 5480' => new Date('AFT @#DHEBREW@ ADS 5480'),
'BEF @#DHEBREW@ NSN 5481' => new Date('BEF @#DHEBREW@ NSN 5481'),
'ABT @#DHEBREW@ IYR 5481' => new Date('ABT @#DHEBREW@ IYR 5481'),
'FROM @#DHEBREW@ SVN 5481' => new Date('FROM @#DHEBREW@ SVN 5481'),
'TO @#DHEBREW@ TMZ 5481' => new Date('TO @#DHEBREW@ TMZ 5481'),
'EST @#DHEBREW@ AAV 5481' => new Date('EST @#DHEBREW@ AAV 5481'),
'@#DHEBREW@ 03 ELL 5481' => new Date('@#DHEBREW@ 03 ELL 5481'),
);
foreach ($dates as &$date) {
$date = strip_tags($date->display(false, null, false));
}
// These shortcuts work differently for different languages
switch (preg_replace('/[^DMY]/', '', str_replace(array('J', 'F'), array('D', 'M'), I18N::dateFormat()))) {
case 'YMD':
$example1 = '11/12/1913'; // Note: we ignore the DMY order if it doesn't make sense.
$example2 = '03/02/01';
break;
case 'MDY':
$example1 = '12/11/1913';
$example2 = '02/01/03';
break;
case 'DMY':
default:
$example1 = '11/12/1913';
$example2 = '01/02/03';
break;
}
$example1 .= '
' . str_replace('/', '-', $example1) . '
' . str_replace('/', '.', $example1);
$example2 .= '
' . str_replace('/', '-', $example2) . '
' . str_replace('/', '.', $example2);
$text =
'
' . I18N::translate('Dates are stored using English abbreviations and keywords. Shortcuts are available as alternatives to these abbreviations and keywords.') . '
' . '' . I18N::translate('Date') . ' | ' . I18N::translate('Format') . ' | ' . I18N::translate('Shortcut') . ' |
---|---|---|
' . $dates['1900'] . ' | 1900 | |
' . $dates['JAN 1900'] . ' ' . $dates['FEB 1900'] . ' ' . $dates['MAR 1900'] . ' ' . $dates['APR 1900'] . ' ' . $dates['MAY 1900'] . ' ' . $dates['JUN 1900'] . ' ' . $dates['JUL 1900'] . ' ' . $dates['AUG 1900'] . ' ' . $dates['SEP 1900'] . ' ' . $dates['OCT 1900'] . ' ' . $dates['NOV 1900'] . ' ' . $dates['DEC 1900'] . ' | JAN 1900 FEB 1900 MAR 1900 APR 1900 MAY 1900 JUN 1900 JUL 1900 AUG 1900 SEP 1900 OCT 1900 NOV 1900 DEC 1900 | |
' . $dates['11 DEC 1913'] . ' | 11 DEC 1913 | ' . $example1 . ' |
' . $dates['01 FEB 2003'] . ' | 01 FEB 2003 | ' . $example2 . ' |
' . $dates['ABT 1900'] . ' | ABT 1900 | ~1900 |
' . $dates['EST 1900'] . ' | EST 1900 | *1900 |
' . $dates['CAL 1900'] . ' | CAL 1900 | #1900 |
' . $dates['INT 1900 (...)'] . ' | INT 1900 (...) |
' . I18N::translate('Date ranges are used to indicate that an event, such as a birth, happened on an unknown date within a possible range.') . '
' . '' . I18N::translate('Date range') . ' | ' . I18N::translate('Format') . ' | ' . I18N::translate('Shortcut') . ' |
---|---|---|
' . $dates['BET 1900 AND 1910'] . ' | BET 1900 AND 1910 | 1900-1910 |
' . $dates['AFT 1900'] . ' | AFT 1900 | >1900 |
' . $dates['BEF 1910'] . ' | BEF 1910 | <1910 |
' . $dates['BET JAN 1900 AND MAR 1900'] . ' | BET JAN 1900 AND MAR 1900 | Q1 1900 |
' . $dates['BET APR 1900 AND JUN 1900'] . ' | BET APR 1900 AND JUN 1900 | Q2 1900 |
' . $dates['BET JUL 1900 AND SEP 1900'] . ' | BET JUL 1900 AND SEP 1900 | Q3 1900 |
' . $dates['BET OCT 1900 AND DEC 1900'] . ' | BET OCT 1900 AND DEC 1900 | Q4 1900 |
' . I18N::translate('Date periods are used to indicate that a fact, such as an occupation, continued for a period of time.') . '
' . '' . I18N::translate('Date period') . ' | ' . I18N::translate('Format') . ' | ' . I18N::translate('Shortcut') . ' |
---|---|---|
' . $dates['FROM 1900 TO 1910'] . ' | FROM 1900 TO 1910 | 1900~1910 |
' . $dates['FROM 1900'] . ' | FROM 1900 | 1900- |
' . $dates['TO 1910'] . ' | TO 1910 | -1900 |
' . I18N::translate('Simple dates are assumed to be in the gregorian calendar. To specify a date in another calendar, add a keyword before the date. This keyword is optional if the month or year format make the date unambiguous.') . '
' . '' . I18N::translate('Date') . ' | ' . I18N::translate('Format') . ' |
---|---|
' . I18N::translate('Julian') . ' | |
' . $dates['@#DJULIAN@ 14 JAN 1700'] . ' | @#DJULIAN@ 14 JAN 1700 |
' . $dates['@#DJULIAN@ 44 B.C.'] . ' | @#DJULIAN@ 44 B.C. |
' . $dates['@#DJULIAN@ 20 FEB 1742/43'] . ' | @#DJULIAN@ 20 FEB 1742/43 |
' . $dates['BET @#DJULIAN@ 01 SEP 1752 AND @#DGREGORIAN@ 30 SEP 1752'] . ' | BET @#DJULIAN@ 01 SEP 1752 AND @#DGREGORIAN@ 30 SEP 1752 |
' . I18N::translate('Jewish') . ' | |
' . $dates['@#DHEBREW@ 5481'] . ' | @#DHEBREW@ 5481 |
' . $dates['@#DHEBREW@ TSH 5481'] . ' | @#DHEBREW@ TSH 5481 |
' . $dates['ABT @#DHEBREW@ CSH 5481'] . ' | ABT @#DHEBREW@ CSH 5481 |
' . $dates['BET @#DHEBREW@ KSL 5481 AND @#DHEBREW@ TVT 5481'] . ' | BET @#DHEBREW@ KSL 5481 AND @#DHEBREW@ TVT 5481 |
' . $dates['FROM @#DHEBREW@ SHV 5481 TO @#DHEBREW@ ADR 5481'] . ' | FROM @#DHEBREW@ SHV 5481 TO @#DHEBREW@ ADR 5481 |
' . $dates['AFT @#DHEBREW@ ADR 5481'] . ' | AFT @#DHEBREW@ ADR 5481 |
' . $dates['AFT @#DHEBREW@ ADS 5480'] . ' | AFT @#DHEBREW@ ADS 5480 |
' . $dates['BEF @#DHEBREW@ NSN 5481'] . ' | BEF @#DHEBREW@ NSN 5481 |
' . $dates['ABT @#DHEBREW@ IYR 5481'] . ' | ABT @#DHEBREW@ IYR 5481 |
' . $dates['FROM @#DHEBREW@ SVN 5481'] . ' | FROM @#DHEBREW@ SVN 5481 |
' . $dates['TO @#DHEBREW@ TMZ 5481'] . ' | TO @#DHEBREW@ TMZ 5481 |
' . $dates['EST @#DHEBREW@ AAV 5481'] . ' | EST @#DHEBREW@ AAV 5481 |
' . $dates['@#DHEBREW@ 03 ELL 5481'] . ' | @#DHEBREW@ 03 ELL 5481 |
' . I18N::translate('Hijri') . ' | |
' . $dates['@#DHIJRI@ 1497'] . ' | @#DHIJRI@ 1497 |
' . $dates['@#DHIJRI@ MUHAR 1497'] . ' | @#DHIJRI@ MUHAR 1497 |
' . $dates['ABT @#DHIJRI@ SAFAR 1497'] . ' | ABT @#DHIJRI@ SAFAR 1497 |
' . $dates['BET @#DHIJRI@ RABIA 1497 AND @#DHIJRI@ RABIT 1497'] . ' | BET @#DHIJRI@ RABIA 1497 AND @#DHIJRI@ RABIT 1497 |
' . $dates['FROM @#DHIJRI@ JUMAA 1497 TO @#DHIJRI@ JUMAT 1497'] . ' | FROM @#DHIJRI@ JUMAA 1497 TO @#DHIJRI@ JUMAT 1497 |
' . $dates['AFT @#DHIJRI@ RAJAB 1497'] . ' | AFT @#DHIJRI@ RAJAB 1497 |
' . $dates['BEF @#DHIJRI@ SHAAB 1497'] . ' | BEF @#DHIJRI@ SHAAB 1497 |
' . $dates['ABT @#DHIJRI@ RAMAD 1497'] . ' | ABT @#DHIJRI@ RAMAD 1497 |
' . $dates['FROM @#DHIJRI@ SHAWW 1497'] . ' | FROM @#DHIJRI@ SHAWW 1497 |
' . $dates['TO @#DHIJRI@ DHUAQ 1497'] . ' | TO @#DHIJRI@ DHUAQ 1497 |
' . $dates['@#DHIJRI@ 03 DHUAH 1497'] . ' | @#DHIJRI@ 03 DHUAH 1497 |
' . I18N::translate('French') . ' | |
' . $dates['@#DFRENCH R@ 12'] . ' | @#DFRENCH R@ 12 |
' . $dates['@#DFRENCH R@ VEND 12'] . ' | @#DFRENCH R@ VEND 12 |
' . $dates['ABT @#DFRENCH R@ BRUM 12'] . ' | ABT @#DFRENCH R@ BRUM 12 |
' . $dates['BET @#DFRENCH R@ FRIM 12 AND @#DFRENCH R@ NIVO 12'] . ' | BET @#DFRENCH R@ FRIM 12 AND @#DFRENCH R@ NIVO 12 |
' . $dates['FROM @#DFRENCH R@ PLUV 12 TO @#DFRENCH R@ VENT 12'] . ' | FROM @#DFRENCH R@ PLUV 12 TO @#DFRENCH R@ VENT 12 |
' . $dates['AFT @#DFRENCH R@ GERM 12'] . ' | AFT @#DFRENCH R@ GERM 12 |
' . $dates['BEF @#DFRENCH R@ FLOR 12'] . ' | BEF @#DFRENCH R@ FLOR 12 |
' . $dates['ABT @#DFRENCH R@ PRAI 12'] . ' | ABT @#DFRENCH R@ PRAI 12 |
' . $dates['FROM @#DFRENCH R@ MESS 12'] . ' | FROM @#DFRENCH R@ MESS 12 |
' . $dates['TO @#DFRENCH R@ THER 12'] . ' | TO @#DFRENCH R@ THER 12 |
' . $dates['EST @#DFRENCH R@ FRUC 12'] . ' | EST @#DFRENCH R@ FRUC 12 |
' . $dates['@#DFRENCH R@ 03 COMP 12'] . ' | @#DFRENCH R@ 03 COMP 12 |
' . I18N::translate('The name field contains the individual’s full name, as they would have spelled it or as it was recorded. This is how it will be displayed on screen. It uses standard genealogy annotations to identify different parts of the name.') . '
' . '' . I18N::translate('The surname field contains a name that is used for sorting and grouping. It can be different to the individual’s actual surname which is always taken from the name field. This field can be used to sort surnames with or without a prefix (Gogh / van Gogh) and to group spelling variations or inflections (Kowalski / Kowalska). If an individual needs to be listed under more than one surname, each name should be separated by a comma.') . '
'; break; case 'OBJE': $title = GedcomTag::getLabel('OBJE'); $text = '' . I18N::translate('A media object is a record in the family tree which contains information about a media file. This information may include a title, a copyright notice, a transcript, privacy restrictions, etc. The media file, such as the photo or video, can be stored locally (on this webserver) or remotely (on a different webserver).') . '
'; break; case 'PLAC': $title = GedcomTag::getLabel('PLAC'); $text = I18N::translate('Places should be entered according to the standards for genealogy. In genealogy, places are recorded with the most specific information about the place first and then working up to the least specific place last, using commas to separate the different place levels. The level at which you record the place information should represent the levels of government or church where vital records for that place are kept.' . I18N::translate('When you add, edit, or delete information, the changes are not saved immediately. Instead, they are kept in a “pending” area. These pending changes need to be reviewed by a moderator before they are accepted.') . '
' . I18N::translate('This process allows the site’s owner to ensure that the new information follows the site’s standards and conventions, has proper source attributions, etc.') . '
' . I18N::translate('Pending changes are only shown when your account has permission to edit. When you sign out, you will no longer be able to see them. Also, pending changes are only shown on certain pages. For example, they are not shown in lists, reports, or search results.') . '
'; if (Auth::isAdmin()) { $text .= '' . I18N::translate('Each user account has an option to “automatically accept changes”. When this is enabled, any changes made by that user are saved immediately. Many administrators enable this for their own user account.') . '
'; } break; default: $title = I18N::translate('Help'); $text = I18N::translate('The help text has not been written for this item.'); break; } // This file is called by a getJSON call so return the data // in correct format header('Content-Type: application/json'); echo json_encode(array('title' => $title, 'content' => $text));