Code Duplication    Length = 27-27 lines in 4 locations

app/Functions/Functions.php 4 locations

@@ 1679-1705 (lines=27) @@
1676
			$down  = strlen($match[1]) / 3 + 1; // Add one, as we count generations from the common ancestor
1677
			$first = substr($path, 0, 3);
1678
			switch ($down) {
1679
			case 4:
1680
				switch ($sex2) {
1681
				case 'M':
1682
				if ($first === 'bro' && $sex1 === 'M') {
1683
				return I18N::translateContext('(a man’s) brother’s great-grandson', 'great-great-nephew');
1684
				} elseif ($first === 'sis' && $sex1 === 'M') {
1685
				return I18N::translateContext('(a man’s) sister’s great-grandson', 'great-great-nephew');
1686
				} else {
1687
				return I18N::translateContext('(a woman’s) great-great-nephew', 'great-great-nephew');
1688
				}
1689
				case 'F':
1690
				if ($first === 'bro' && $sex1 === 'M') {
1691
				return I18N::translateContext('(a man’s) brother’s great-granddaughter', 'great-great-niece');
1692
				} elseif ($first === 'sis' && $sex1 === 'M') {
1693
				return I18N::translateContext('(a man’s) sister’s great-granddaughter', 'great-great-niece');
1694
				} else {
1695
				return I18N::translateContext('(a woman’s) great-great-niece', 'great-great-niece');
1696
				}
1697
				default:
1698
				if ($first === 'bro' && $sex1 === 'M') {
1699
				return I18N::translateContext('(a man’s) brother’s great-grandchild', 'great-great-nephew/niece');
1700
				} elseif ($first === 'sis' && $sex1 === 'M') {
1701
				return I18N::translateContext('(a man’s) sister’s great-grandchild', 'great-great-nephew/niece');
1702
				} else {
1703
				return I18N::translateContext('(a woman’s) great-great-nephew/niece', 'great-great-nephew/niece');
1704
				}
1705
				}
1706
			case 5:
1707
				switch ($sex2) {
1708
				case 'M':
@@ 1706-1732 (lines=27) @@
1703
				return I18N::translateContext('(a woman’s) great-great-nephew/niece', 'great-great-nephew/niece');
1704
				}
1705
				}
1706
			case 5:
1707
				switch ($sex2) {
1708
				case 'M':
1709
				if ($first === 'bro' && $sex1 === 'M') {
1710
				return I18N::translateContext('(a man’s) brother’s great-great-grandson', 'great-great-great-nephew');
1711
				} elseif ($first === 'sis' && $sex1 === 'M') {
1712
				return I18N::translateContext('(a man’s) sister’s great-great-grandson', 'great-great-great-nephew');
1713
				} else {
1714
				return I18N::translateContext('(a woman’s) great-great-great-nephew', 'great-great-great-nephew');
1715
				}
1716
				case 'F':
1717
				if ($first === 'bro' && $sex1 === 'M') {
1718
				return I18N::translateContext('(a man’s) brother’s great-great-granddaughter', 'great-great-great-niece');
1719
				} elseif ($first === 'sis' && $sex1 === 'M') {
1720
				return I18N::translateContext('(a man’s) sister’s great-great-granddaughter', 'great-great-great-niece');
1721
				} else {
1722
				return I18N::translateContext('(a woman’s) great-great-great-niece', 'great-great-great-niece');
1723
				}
1724
				default:
1725
				if ($first === 'bro' && $sex1 === 'M') {
1726
				return I18N::translateContext('(a man’s) brother’s great-great-grandchild', 'great-great-great-nephew/niece');
1727
				} elseif ($first === 'sis' && $sex1 === 'M') {
1728
				return I18N::translateContext('(a man’s) sister’s great-great-grandchild', 'great-great-great-nephew/niece');
1729
				} else {
1730
				return I18N::translateContext('(a woman’s) great-great-great-nephew/niece', 'great-great-great-nephew/niece');
1731
				}
1732
				}
1733
			case 6:
1734
				switch ($sex2) {
1735
				case 'M':
@@ 1733-1759 (lines=27) @@
1730
				return I18N::translateContext('(a woman’s) great-great-great-nephew/niece', 'great-great-great-nephew/niece');
1731
				}
1732
				}
1733
			case 6:
1734
				switch ($sex2) {
1735
				case 'M':
1736
				if ($first === 'bro' && $sex1 === 'M') {
1737
				return I18N::translateContext('(a man’s) brother’s great-great-great-grandson', 'great ×4 nephew');
1738
				} elseif ($first === 'sis' && $sex1 === 'M') {
1739
				return I18N::translateContext('(a man’s) sister’s great-great-great-grandson', 'great ×4 nephew');
1740
				} else {
1741
				return I18N::translateContext('(a woman’s) great ×4 nephew', 'great ×4 nephew');
1742
				}
1743
				case 'F':
1744
				if ($first === 'bro' && $sex1 === 'M') {
1745
				return I18N::translateContext('(a man’s) brother’s great-great-great-granddaughter', 'great ×4 niece');
1746
				} elseif ($first === 'sis' && $sex1 === 'M') {
1747
				return I18N::translateContext('(a man’s) sister’s great-great-great-granddaughter', 'great ×4 niece');
1748
				} else {
1749
				return I18N::translateContext('(a woman’s) great ×4 niece', 'great ×4 niece');
1750
				}
1751
				default:
1752
				if ($first === 'bro' && $sex1 === 'M') {
1753
				return I18N::translateContext('(a man’s) brother’s great-great-great-grandchild', 'great ×4 nephew/niece');
1754
				} elseif ($first === 'sis' && $sex1 === 'M') {
1755
				return I18N::translateContext('(a man’s) sister’s great-great-great-grandchild', 'great ×4 nephew/niece');
1756
				} else {
1757
				return I18N::translateContext('(a woman’s) great ×4 nephew/niece', 'great ×4 nephew/niece');
1758
				}
1759
				}
1760
			case 7:
1761
				switch ($sex2) {
1762
				case 'M':
@@ 1760-1786 (lines=27) @@
1757
				return I18N::translateContext('(a woman’s) great ×4 nephew/niece', 'great ×4 nephew/niece');
1758
				}
1759
				}
1760
			case 7:
1761
				switch ($sex2) {
1762
				case 'M':
1763
				if ($first === 'bro' && $sex1 === 'M') {
1764
				return I18N::translateContext('(a man’s) brother’s great ×4 grandson', 'great ×5 nephew');
1765
				} elseif ($first === 'sis' && $sex1 === 'M') {
1766
				return I18N::translateContext('(a man’s) sister’s great ×4 grandson', 'great ×5 nephew');
1767
				} else {
1768
				return I18N::translateContext('(a woman’s) great ×5 nephew', 'great ×5 nephew');
1769
				}
1770
				case 'F':
1771
				if ($first === 'bro' && $sex1 === 'M') {
1772
				return I18N::translateContext('(a man’s) brother’s great ×4 granddaughter', 'great ×5 niece');
1773
				} elseif ($first === 'sis' && $sex1 === 'M') {
1774
				return I18N::translateContext('(a man’s) sister’s great ×4 granddaughter', 'great ×5 niece');
1775
				} else {
1776
				return I18N::translateContext('(a woman’s) great ×5 niece', 'great ×5 niece');
1777
				}
1778
				default:
1779
				if ($first === 'bro' && $sex1 === 'M') {
1780
				return I18N::translateContext('(a man’s) brother’s great ×4 grandchild', 'great ×5 nephew/niece');
1781
				} elseif ($first === 'sis' && $sex1 === 'M') {
1782
				return I18N::translateContext('(a man’s) sister’s great ×4 grandchild', 'great ×5 nephew/niece');
1783
				} else {
1784
				return I18N::translateContext('(a woman’s) great ×5 nephew/niece', 'great ×5 nephew/niece');
1785
				}
1786
				}
1787
			default:
1788
				// Different languages have different rules for naming generations.
1789
				// An English great ×12 nephew is a Polish great ×11 nephew.