Code Duplication    Length = 27-27 lines in 4 locations

app/Functions/Functions.php 4 locations

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