Code Duplication    Length = 15-15 lines in 6 locations

app/Functions/Functions.php 6 locations

@@ 1557-1571 (lines=15) @@
1554
			$up       = strlen($match[1]) / 3;
1555
			$bef_last = substr($path, -6, 3);
1556
			switch ($up) {
1557
				case 3:
1558
					switch ($sex2) {
1559
						case 'M':
1560
							if ($bef_last === 'fat') {
1561
								return I18N::translateContext('great-grandfather’s brother', 'great-great-uncle');
1562
							} elseif ($bef_last === 'mot') {
1563
								return I18N::translateContext('great-grandmother’s brother', 'great-great-uncle');
1564
							} else {
1565
								return I18N::translateContext('great-grandparent’s brother', 'great-great-uncle');
1566
							}
1567
						case 'F':
1568
							return I18N::translate('great-great-aunt');
1569
						default:
1570
							return I18N::translate('great-great-aunt/uncle');
1571
					}
1572
				case 4:
1573
					switch ($sex2) {
1574
						case 'M':
@@ 1572-1586 (lines=15) @@
1569
						default:
1570
							return I18N::translate('great-great-aunt/uncle');
1571
					}
1572
				case 4:
1573
					switch ($sex2) {
1574
						case 'M':
1575
							if ($bef_last === 'fat') {
1576
								return I18N::translateContext('great-great-grandfather’s brother', 'great-great-great-uncle');
1577
							} elseif ($bef_last === 'mot') {
1578
								return I18N::translateContext('great-great-grandmother’s brother', 'great-great-great-uncle');
1579
							} else {
1580
								return I18N::translateContext('great-great-grandparent’s brother', 'great-great-great-uncle');
1581
							}
1582
						case 'F':
1583
							return I18N::translate('great-great-great-aunt');
1584
						default:
1585
							return I18N::translate('great-great-great-aunt/uncle');
1586
					}
1587
				case 5:
1588
					switch ($sex2) {
1589
						case 'M':
@@ 1587-1601 (lines=15) @@
1584
						default:
1585
							return I18N::translate('great-great-great-aunt/uncle');
1586
					}
1587
				case 5:
1588
					switch ($sex2) {
1589
						case 'M':
1590
							if ($bef_last === 'fat') {
1591
								return I18N::translateContext('great-great-great-grandfather’s brother', 'great ×4 uncle');
1592
							} elseif ($bef_last === 'mot') {
1593
								return I18N::translateContext('great-great-great-grandmother’s brother', 'great ×4 uncle');
1594
							} else {
1595
								return I18N::translateContext('great-great-great-grandparent’s brother', 'great ×4 uncle');
1596
							}
1597
						case 'F':
1598
							return I18N::translate('great ×4 aunt');
1599
						default:
1600
							return I18N::translate('great ×4 aunt/uncle');
1601
					}
1602
				case 6:
1603
					switch ($sex2) {
1604
						case 'M':
@@ 1602-1616 (lines=15) @@
1599
						default:
1600
							return I18N::translate('great ×4 aunt/uncle');
1601
					}
1602
				case 6:
1603
					switch ($sex2) {
1604
						case 'M':
1605
							if ($bef_last === 'fat') {
1606
								return I18N::translateContext('great ×4 grandfather’s brother', 'great ×5 uncle');
1607
							} elseif ($bef_last === 'mot') {
1608
								return I18N::translateContext('great ×4 grandmother’s brother', 'great ×5 uncle');
1609
							} else {
1610
								return I18N::translateContext('great ×4 grandparent’s brother', 'great ×5 uncle');
1611
							}
1612
						case 'F':
1613
							return I18N::translate('great ×5 aunt');
1614
						default:
1615
							return I18N::translate('great ×5 aunt/uncle');
1616
					}
1617
				case 7:
1618
					switch ($sex2) {
1619
						case 'M':
@@ 1617-1631 (lines=15) @@
1614
						default:
1615
							return I18N::translate('great ×5 aunt/uncle');
1616
					}
1617
				case 7:
1618
					switch ($sex2) {
1619
						case 'M':
1620
							if ($bef_last === 'fat') {
1621
								return I18N::translateContext('great ×5 grandfather’s brother', 'great ×6 uncle');
1622
							} elseif ($bef_last === 'mot') {
1623
								return I18N::translateContext('great ×5 grandmother’s brother', 'great ×6 uncle');
1624
							} else {
1625
								return I18N::translateContext('great ×5 grandparent’s brother', 'great ×6 uncle');
1626
							}
1627
						case 'F':
1628
							return I18N::translate('great ×6 aunt');
1629
						default:
1630
							return I18N::translate('great ×6 aunt/uncle');
1631
					}
1632
				case 8:
1633
					switch ($sex2) {
1634
						case 'M':
@@ 1632-1646 (lines=15) @@
1629
						default:
1630
							return I18N::translate('great ×6 aunt/uncle');
1631
					}
1632
				case 8:
1633
					switch ($sex2) {
1634
						case 'M':
1635
							if ($bef_last === 'fat') {
1636
								return I18N::translateContext('great ×6 grandfather’s brother', 'great ×7 uncle');
1637
							} elseif ($bef_last === 'mot') {
1638
								return I18N::translateContext('great ×6 grandmother’s brother', 'great ×7 uncle');
1639
							} else {
1640
								return I18N::translateContext('great ×6 grandparent’s brother', 'great ×7 uncle');
1641
							}
1642
						case 'F':
1643
							return I18N::translate('great ×7 aunt');
1644
						default:
1645
							return I18N::translate('great ×7 aunt/uncle');
1646
					}
1647
				default:
1648
					// Different languages have different rules for naming generations.
1649
					// An English great ×12 uncle is a Danish great ×10 uncle.