Code Duplication    Length = 9-10 lines in 10 locations

app/Functions/Functions.php 10 locations

@@ 1653-1661 (lines=9) @@
1650
					//
1651
					// Need to find out which languages use which rules.
1652
					switch (WT_LOCALE) {
1653
						case 'da':
1654
							switch ($sex2) {
1655
								case 'M':
1656
									return I18N::translate('great ×%s uncle', I18N::number($up - 4));
1657
								case 'F':
1658
									return I18N::translate('great ×%s aunt', I18N::number($up - 4));
1659
								default:
1660
									return I18N::translate('great ×%s aunt/uncle', I18N::number($up - 4));
1661
							}
1662
						case 'pl':
1663
							switch ($sex2) {
1664
								case 'M':
@@ 1681-1689 (lines=9) @@
1678
						case 'en_AU':
1679
						case 'en_GB':
1680
						case 'en_US':
1681
						default:
1682
							switch ($sex2) {
1683
								case 'M': // I18N: if you need a different number for %s, contact the developers, as a code-change is required
1684
									return I18N::translate('great ×%s uncle', I18N::number($up - 1));
1685
								case 'F':
1686
									return I18N::translate('great ×%s aunt', I18N::number($up - 1));
1687
								default:
1688
									return I18N::translate('great ×%s aunt/uncle', I18N::number($up - 1));
1689
							}
1690
					}
1691
			}
1692
		}
@@ 1839-1847 (lines=9) @@
1836
										return I18N::translateContext('(a woman’s) great ×%s nephew/niece', 'great ×%s nephew/niece', I18N::number($down - 3));
1837
									}
1838
							}
1839
						case 'he': // Source: Meliza Amity
1840
							switch ($sex2) {
1841
								case 'M':
1842
									return I18N::translate('great ×%s nephew', I18N::number($down - 1));
1843
								case 'F':
1844
									return I18N::translate('great ×%s niece', I18N::number($down - 1));
1845
								default:
1846
									return I18N::translate('great ×%s nephew/niece', I18N::number($down - 1));
1847
							}
1848
						case 'it': // Source: Michele Locati.
1849
						case 'en_AU':
1850
						case 'en_GB':
@@ 1852-1860 (lines=9) @@
1849
						case 'en_AU':
1850
						case 'en_GB':
1851
						case 'en_US':
1852
						default:
1853
							switch ($sex2) {
1854
								case 'M': // I18N: if you need a different number for %s, contact the developers, as a code-change is required
1855
									return I18N::translate('great ×%s nephew', I18N::number($down - 2));
1856
								case 'F':
1857
									return I18N::translate('great ×%s niece', I18N::number($down - 2));
1858
								default:
1859
									return I18N::translate('great ×%s nephew/niece', I18N::number($down - 2));
1860
							}
1861
					}
1862
			}
1863
		}
@@ 1928-1936 (lines=9) @@
1925
					//
1926
					// Need to find out which languages use which rules.
1927
					switch (WT_LOCALE) {
1928
						case 'da': // Source: Patrick Sorensen
1929
							switch ($sex2) {
1930
								case 'M':
1931
									return I18N::translate('great ×%s grandfather', I18N::number($up - 3));
1932
								case 'F':
1933
									return I18N::translate('great ×%s grandmother', I18N::number($up - 3));
1934
								default:
1935
									return I18N::translate('great ×%s grandparent', I18N::number($up - 3));
1936
							}
1937
						case 'it': // Source: Michele Locati
1938
						case 'es': // Source: Wes Groleau
1939
							switch ($sex2) {
@@ 1948-1956 (lines=9) @@
1945
									return I18N::translate('great ×%s grandparent', I18N::number($up));
1946
							}
1947
						case 'fr': // Source: Jacqueline Tetreault
1948
						case 'fr_CA':
1949
							switch ($sex2) {
1950
								case 'M':
1951
									return I18N::translate('great ×%s grandfather', I18N::number($up - 1));
1952
								case 'F':
1953
									return I18N::translate('great ×%s grandmother', I18N::number($up - 1));
1954
								default:
1955
									return I18N::translate('great ×%s grandparent', I18N::number($up - 1));
1956
							}
1957
						case 'nn': // Source: Hogne Røed Nilsen (https://bugs.launchpad.net/webtrees/+bug/1168553)
1958
						case 'nb':
1959
							switch ($sex2) {
@@ 1958-1966 (lines=9) @@
1955
									return I18N::translate('great ×%s grandparent', I18N::number($up - 1));
1956
							}
1957
						case 'nn': // Source: Hogne Røed Nilsen (https://bugs.launchpad.net/webtrees/+bug/1168553)
1958
						case 'nb':
1959
							switch ($sex2) {
1960
								case 'M': // I18N: if you need a different number for %s, contact the developers, as a code-change is required
1961
									return I18N::translate('great ×%s grandfather', I18N::number($up - 3));
1962
								case 'F':
1963
									return I18N::translate('great ×%s grandmother', I18N::number($up - 3));
1964
								default:
1965
									return I18N::translate('great ×%s grandparent', I18N::number($up - 3));
1966
							}
1967
						case 'en_AU':
1968
						case 'en_GB':
1969
						case 'en_US':
@@ 1970-1978 (lines=9) @@
1967
						case 'en_AU':
1968
						case 'en_GB':
1969
						case 'en_US':
1970
						default:
1971
							switch ($sex2) {
1972
								case 'M': // I18N: if you need a different number for %s, contact the developers, as a code-change is required
1973
									return I18N::translate('great ×%s grandfather', I18N::number($up - 2));
1974
								case 'F':
1975
									return I18N::translate('great ×%s grandmother', I18N::number($up - 2));
1976
								default:
1977
									return I18N::translate('great ×%s grandparent', I18N::number($up - 2));
1978
							}
1979
					}
1980
			}
1981
		}
@@ 2054-2062 (lines=9) @@
2051
					switch (WT_LOCALE) {
2052
						case 'nn': // Source: Hogne Røed Nilsen
2053
						case 'nb':
2054
						case 'da': // Source: Patrick Sorensen
2055
							switch ($sex2) {
2056
								case 'M':
2057
									return I18N::translate('great ×%s grandson', I18N::number($up - 3));
2058
								case 'F':
2059
									return I18N::translate('great ×%s granddaughter', I18N::number($up - 3));
2060
								default:
2061
									return I18N::translate('great ×%s grandchild', I18N::number($up - 3));
2062
							}
2063
						case 'it': // Source: Michele Locati
2064
						case 'es': // Source: Wes Groleau (adding doesn’t change behavior, but needs to be better researched)
2065
						case 'en_AU':
@@ 2068-2077 (lines=10) @@
2065
						case 'en_AU':
2066
						case 'en_GB':
2067
						case 'en_US':
2068
						default:
2069
							switch ($sex2) {
2070
2071
								case 'M': // I18N: if you need a different number for %s, contact the developers, as a code-change is required
2072
									return I18N::translate('great ×%s grandson', I18N::number($up - 2));
2073
								case 'F':
2074
									return I18N::translate('great ×%s granddaughter', I18N::number($up - 2));
2075
								default:
2076
									return I18N::translate('great ×%s grandchild', I18N::number($up - 2));
2077
							}
2078
					}
2079
			}
2080
		}