Skip to content

Commit

Permalink
Update translations
Browse files Browse the repository at this point in the history
  • Loading branch information
roelfjan committed Mar 27, 2024
1 parent a06f8cb commit 03897d8
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
run: dotnet test --configuration $BUILD_CONFIG --no-restore --no-build --verbosity normal

- name: Pack
run: dotnet pack src/HaagsTranslator/HaagsTranslator.csproj -c Release --no-restore --no-build -p:PackageVersion=2.2.9
run: dotnet pack src/HaagsTranslator/HaagsTranslator.csproj -c Release --no-restore --no-build -p:PackageVersion=2.2.10

- name: Push to NuGet
run: dotnet nuget push **\*.nupkg --skip-duplicate -s https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_API_KEY}}
7 changes: 4 additions & 3 deletions src/HaagsTranslator.Tests/TranslatorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ public class TranslatorTests
[TestCase("Achter de pui aan het Spui is iedereen in een luie bui ", "Achtâh de pùi annut Spùi is iederein innun lùie bùi ")]
[TestCase("Geel is heel wat anders als geil, maar je kan er wel allebei een ziekte van krijgen ", "Geil is heil wat andâhs as gèl, maah je kandâh wel allebè un ziekte van krège ")]
[TestCase("Van die hete saté zat ik een uur of twee met m'n reet op de plee aan de diaree ", "Van die heite satei zattik un uâh of twei met me reit op de plei an de diarei ")]// met m'n niet vertaald
[TestCase("Menstruatie is een bloederige situatie, net als fluctuatie van de ", "Menstruwasie issun bloedâhrige sitewasie, net as fluktewasie van de ")]
[TestCase("Menstruatie is een bloederige situatie, net als fluctuatie van de ", "Menstruwasie issun bloederige sitewasie, net as fluktewasie van de ")]
[TestCase("De vla lag in de la van ma en zij lag op d'r pa, die dat niet echt naar of raar vond, medeklinkers ", "De vla lag in de la van ma en zè lag op d'r pa, die dat nie ech naah of raah vond, meideklinkâhs ")]
[TestCase("Ruud zei resoluut ik huur acuut een wijf a la minuut ", "Ruud zè reisauluut ik huâh akuut un wèf a la minuut ")]
[TestCase("Is dat je haar of heb je jongen gekregen Maar troost jezelf op een ooievaar groeit helemaal geen haar, dat is raar maar wel waar en zo kennen we er nog wel een paar ", "Is dat je haah of hebbie jonge gekreige Maah traus je ège op un auievaah groeit heilemaal gein haah, da's raah maah wel waah en zau kenne we d'r nog wel un paah ")]
Expand Down Expand Up @@ -107,7 +107,7 @@ public class TranslatorTests
[TestCase("touch vakantiegevoel hofjes dagje ", "tats vekansiegevoel hoffies daggie ")]
[TestCase("stoere surfers populairste Geniet van de weidsheid dynamisch decor beroemde erwtensoep ", "stoere surrefâhs paupelèhste Geniet van de wèdshèd dinamies dekoâh beroemde erretesoep ")]
[TestCase("Zinnenprikkelende producten verser dan vers kwalitatieve reeds overgebleven instaprondleiding, je zult je Beauty & the Beast", "Zinneprikkelende praudukte vegsâh dan vegs kwalitatieve reids auvâhgebleive instaprondlèding, je zal je ège Bjoetie & de Bies")]
[TestCase("modeontwerper bezienswaardigheden relaxen markante bloederigste originele dichtbij spectaculaire stork vegetarisch Cuisine cuisine volgens", "maudeontwerrepâh bezienswaahdigheide rielekse magkante bloedâhragste oâhgineile dichbè spektakelère storrek veigetaries Kwiesien kwiesien volleges")]
[TestCase("modeontwerper bezienswaardigheden relaxen markante bloederigste originele dichtbij spectaculaire stork vegetarisch Cuisine cuisine volgens", "maudeontwerrepâh bezienswaahdigheide rielekse magkante bloederagste oâhgineile dichbè spektakelère storrek veigetaries Kwiesien kwiesien volleges")]
[TestCase("Tripadvisor skiën Overnachten SEA LIFE Europese Nachtje Bites Crowne .com instituut sterker", "Tripetfaaisoâh skieje Auvâhnachte SIELÈF Euraipeise Nachie Bèts Kraun .kom instituut sterrekâh")]
[TestCase("bospaddenstoelen saus uitwaaien roots bezoekerscentrum", "bospaddestoele sâhs ùitwaaie roets bezoekâhscentrum")]
[TestCase("strandseizoen plezierig dertig beach", "strandsèzoen plezieâhrag deâhtag bietsj")]
Expand All @@ -127,7 +127,8 @@ public class TranslatorTests
[TestCase("Young young You zone levert spijker hals gegaan kledder onderneming vriendelijke vertelde verpakking rundergehakt stenen officiële ondertussen meteen", "Jong jong Joe zone leivâht spèkâh hals gegaan kleddâh ondâhneiming vriendâhlijke vetelde vepakking rundâhgehak steine offesjeile ondâhtusse metein")]
[TestCase("premier provinciale resultaat Verstappen onderbreking regeren groener betrokkenen televisie Amsterdam moeder tijgermug reserve reservekeeper volledige", "premjei prauvinsjale reisultaat Vestappe ondâhbreiking regere groenâh betrokkene teilevisie Amstâhdam moedâh tègâhmug reserreve reserrevekiepâh volleidage")]
[TestCase("fenomenale kerstfeest Valkenswaard Deurkierstandhouder kier", "feinaumenale kegsfeis Vallekeswaahd Deuâhkieâhstandhâhwâh kieâh")]
[TestCase("logo mafketels design spelprogramma volop", "laugau mafkeitels diesain spelpraugramma vollop")]
[TestCase("logo mafketels design spelprogramma volop vorige ik je ben. boeking verbeteren. solliciteren heroïsche", "laugau mafkeitels diesain spelpraugramma vollop vorage ik je ben. boeking vebeiterûh. sollicitere herauiese")]
[TestCase("Apps apps developer developers iPhone iphone Iphone bal gehakt enigste", "Eps eps dievellepâh dievellepâhs aaifaun aaifaun Aaifaun beschùitstùitâh einagste")]
public void Given_Dutch_Translates_To_Haags(string dutch, string expectedTranslation)
{
var result = Translator.Translate(dutch);
Expand Down
30 changes: 20 additions & 10 deletions src/HaagsTranslator/Translator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public static class Translator
new []{ "Toiletten", "Pleis"},
new []{ "toilet", "plei"},
new []{ "Toilet", "Plei"},
new []{ "(B|b)al gehakt", "$1eschùitstùitâh"},
new []{ "(N|n)erd", "$1euâhd"},
new []{ "(L|l)unchroom", "$1unsroem" },
new []{ "\\bThis\\b", "Dis" },
Expand Down Expand Up @@ -61,7 +62,8 @@ public static class Translator
new []{ "(M|m)usical", "$1usikol" },
new []{ "kids", "kindâh" }, // 'kindertips'
new []{ "(M|m)ovies", "$1oevies" },
new []{ "(?<![Zz])(O|o)r(i|)g", "$1âhg" }, // 'originele', 'organisatie', geen 'zorg'
new []{ "(?<![vZz])(O|o)r(i|)g", "$1âhg" }, // 'originele', 'organisatie', geen 'zorg', 'vorige'
new []{ "orige", "orage" }, // 'vorige'
new []{ "chine", "sjine" }, // 'machine'
new []{ "(P|p)alace", "$1ellus"},
new []{ "(P|p)rivacy", "$1raaivesie" },
Expand All @@ -87,6 +89,7 @@ public static class Translator
new []{ "(F|f)ood", "$1oet"},
new []{ "mondkapje", "bekbedekkâh"},
new []{ "Mondkapje", "Bekbedekkâh"},
new []{ "(D|d)evelop", "$1ievellep"},
new []{ "doe je het", "doejenut"},
new []{ "\\bsee\\b", "sie"}, // van 'must see'
new []{ "(M|n|R|r)ust(?![ai])", "$1us" }, // van 'must see', 'rustsignaal', geen 'rustig'
Expand Down Expand Up @@ -159,6 +162,8 @@ public static class Translator
new []{ "\\bAlleen\\b", "Enkelt"},
new []{ "(A|a)ls je", "$1sje"}, // moet voor 'als'
new []{ "athe", "atte"}, // 'kathedraal'
new []{ "\\bApp", "Ep"},
new []{ "\\bapp", "ep"},
new []{ "(o|u)als\\b", "$1as"}, // als, zoals
new []{ "(b|k|w)ar\\b", "$1âh"},
new []{ "\\b(A|a)ls\\b", "$1s"},
Expand Down Expand Up @@ -194,6 +199,7 @@ public static class Translator
new []{"\\b(B|b)ied\\b", "$1iedt" }, // uitzondering, moet na '-dt'
new []{ "(D|d)y", "$1i"}, // dynamiek
new []{ "eaa", "eiaa"}, // 'ideaal'
new []{ "(E|e)nig", "$1inag"}, // 'enigste'
new []{ "eau\\b", "o" }, // 'cadeau', 'bureau'
new []{ "ègent", "èget" }, // 'eigentijds', moet voor 'ee', geen 'dreigend'
new []{ "Eig", "Èg" }, // 'Eigenlijk', moet voor 'ee'
Expand All @@ -207,8 +213,8 @@ public static class Translator
new []{ " is een ", " issun "}, // moet voor ' een '
new []{ "(I|i)n een ", "$1nnun "}, // 'in een', voor ' een '
new []{ "één", "ein"}, // 'één'
new []{ " een ", " un "},
new []{ "Een ", "Un "},
new []{ "\\been\\b", "un"},
new []{ "\\bEen\\b", "Un"},
new []{ " eens", " 'ns"}, // 'eens'
new []{ "(?<![eo])erd\\b", "egd"}, // 'werd', geen 'verkeerd', 'gefeliciteerd', 'beroerd
new []{ "eerd", "eâhd"}, // 'verkeerd'
Expand Down Expand Up @@ -237,6 +243,7 @@ public static class Translator
new []{ "(?<![iegoptvV])er(m|n)", "erre$1"}, // kermis', geen 'vermeer', 'vermoeide', 'toernooi', 'externe', 'supermarkt', termijn, 'hierna', 'tijgermug'
new []{ "(?<![edktv])(e|E)rg(?!ez|i)", "$1rreg"}, // 'kermis', 'ergens', geen 'achtergelaten', 'neergelegd', 'overgebleven', 'ubergezellige', 'bekergoal', 'energie', 'rundergehakt'
new []{ "(?<![i])(g|b)er(?![eoiuaâè])", "$1âh"}, // 'tijgermug', 'ubergezellige', moet na '-erg', geen 'beraden', 'vertegenwoordiger'
new []{ "epers\\b", "epâhs"}, // 'developers'
new []{ "(P|p)ers(?![l])", "$1egs"}, // 'pers', geen 'superslimme'
new []{ "(K|k)erst", "$1egs"}, // 'kerstfeest'
new []{ "(?<![e])(t|V|v)ers(?![clt])", "$1egs"}, // 'vers', 'personeel', 'versie', 'diverse', geen 'gevers', 'verscheen', 'eerste',
Expand All @@ -245,7 +252,7 @@ public static class Translator
new []{ "renstr", "restr" }, // 'herenstraat' (voor koppelwoorden)
new []{ "(?<![eIio])eder", "eider" }, // 'Nederland', geen 'iedereen', 'bloederige', 'Iedere'
new []{ "(?<![eiop])ers\\b", "âhs"}, // 'klinkers', geen 'pers', 'personeel'
new []{ "(H|h)er(?![erp])", "$1eâh" }, // 'herzien', 'herstel', geen 'herenstraat', 'scherm', 'scherp', moet voor 'ers'
new []{ "(H|h)er(?![erop])", "$1eâh" }, // 'herzien', 'herstel', geen 'herenstraat', 'heroische', 'scherm', 'scherp', moet voor 'ers'
new []{ "\\b(K|k)ers", "$1egs"}, // 'kerstfeest'
new []{ "(?<![vVi])ers(c|t)", "âhs$1"}, // 'eerste', 'bezoekerscentrum', geen 'verschaffen', 'Verstappen', 'deurkierstandhouder'
new []{ "erwt", "erret" }, // 'erwtensoep'
Expand Down Expand Up @@ -283,7 +290,8 @@ public static class Translator
new []{ "alve\\b", "alleve"}, // 'halve', moet na 'aangegeven'
new []{ "\\b(K|k)en\\b", "$1an"}, // moet voor -en
new []{ "(a|o)ien\\b", "$1ie"}, // 'uitwaaien', geen 'zien'
new []{ "(?<![ ieo])en([.?!])", "ûh$1"}, // einde van de zin, haal ' en ', 'doen', 'zien' en 'heen' eruit
new []{ "(?<![ bieo])en([.?!])", "ûh$1"}, // einde van de zin, haal ' en ', 'doen', 'zien' en 'heen' eruit
new []{ "(?<![ ])ben([.?!])", "ûh$1"}, // geen 'ben'
new []{ "(?<![ bieohr])en\\b", "e"}, // haal '-en' eruit, geen 'verscheen', 'tien', 'indien', 'ben', 'doen', 'hen'
new []{ "(?<![r])ren\\b", "re"}, // oren, geen 'kerren'
new []{ "bben\\b", "bbe"}, // 'hebben'
Expand All @@ -297,7 +305,7 @@ public static class Translator
new []{ "(?<![eu])eb\\b", "ep"},
new []{ "(E|e)x(c|k)", "$1ksk" }, // 'excursies'
new []{ "(?<![ s])teri", "tâhri" }, // 'karakteristieke'
new []{ "(?<![ sS])ter(?![aeirn])", "tâh"}, // 'achtergesteld', geen 'beluisteren', 'literatuur', 'sterren', 'externe', 'sterker', 'karakteristieke'
new []{ "(?<![ sS])ter(?![aeirnû])", "tâh"}, // 'achtergesteld', geen 'beluisteren', 'literatuur', 'sterren', 'externe', 'sterker', 'karakteristieke'
new []{ "sterd", "stâhd"}, // 'Amsterdam'
new []{ "(F|f)eli", "$1eili" }, // 'gefeliciteerd'
new []{ "(F|f)en(a|o)", "$1ein$2" }, // 'fenomenale'
Expand All @@ -307,7 +315,7 @@ public static class Translator
new []{ "fd(?![eo])", "f"}, // 'hoofd', 'hoofdtrainer', geen 'zelfde', 'verfdoos'
new []{ "(F|f)eb", "$1eib" }, // 'februari'
new []{ "ngt\\b", "nk"}, // 'hangt'
new []{ "e(k|v)ing", "ei$1ing"}, // 'omgeving', 'onderbreking'
new []{ "(?<![o])e(k|v)ing", "ei$1ing"}, // 'omgeving', 'onderbreking', geen 'boeking'
new []{ "gje\\b", "ggie"}, // 'dagje'
new []{ "go\\b", "gau" }, // 'logo'
new []{ "go(r)", "gau$1" }, // 'algoritme'
Expand Down Expand Up @@ -355,11 +363,12 @@ public static class Translator
new []{ "io(?![oen])", "iau" }, // 'audio', geen 'viool', 'station', 'internationale'
new []{ "ir(c|k)", "irrek" }, // 'circus'
new []{ "(?<![gr])ties\\b", "sies"}, // 'tradities', moet voor -isch, geen 'smarties'
new []{ "oï", "aui" }, // 'heroische'
new []{ "isch(|e)", "ies$1"},
new []{ "is er", "istâh"},
new []{ "ap je\\b", "appie" }, // 'stap je'
new []{ "(p) je\\b", "$1ie" }, // 'loop je', geen 'stap je'
new []{ "(g|k) je\\b", "$1$1ie" }, // 'zoek je'
new []{ "(?<![i])(g|k) je\\b", "$1$1ie" }, // 'zoek je', geen 'ik je'
new []{ "jene", "jenei"}, // 'jenever'
new []{ "jezelf", "je ège"}, // "jezelf"
new []{ "(?<![oe])kje\\b", "kkie"}, // 'bakje', moet voor algemeen regel op 'je', TODO, 'bekje'
Expand Down Expand Up @@ -410,7 +419,6 @@ public static class Translator
new []{ "\\b(N|n)u\\b", "$1âh"},
new []{ "ny", "ni" }, // 'hieronymus'
new []{ "\\bmad", "med"}, // 'madurodam'
new []{ "oederi", "oedâhri" }, // 'bloederigste'
new []{ "(?<![v])(a|o)(rdt|rd)(?![eû])", "$1gt"}, // wordt, word, hard, geen 'worden', 'wordûh', 'boulevard'
new []{ "ord(e|û)", "ogd$1"}, // 'worden'
new []{ "(N|n)(|o)od", "$1aud"}, // 'noodzakelijk'
Expand All @@ -431,6 +439,8 @@ public static class Translator
new []{ "(?<![z])over(?![ei])", "auvâh"}, // 'overgebleven', geen 'overeenkomsten', 'overige', 'zover'
new []{ "o(v|z)e", "au$1e"},
new []{ "olop", "ollop"}, // 'volop'
new []{ "i(p|P)hone", "aaifaun"},
new []{ "Iphone", "Aaifaun"},
new []{ "(?<![gz])o(b|d|g|k|l|m|n|p|s|t|v)(i|e|o|au)", "au$1$2"}, // 'komen', 'grote', 'over', 'olie', 'notie', geen 'gokje', 'foto', 'doneren', 'zone'
new []{ "O(b|d|g|k|l|m|p|s|t|v)(i|e)", "Au$1$2"}, // zelfde, maar dan met hoofdletter
new []{ "\\bout", "âht" }, // 'outdoor'
Expand Down Expand Up @@ -533,7 +543,7 @@ public static class Translator
new []{ "\\bThe Hague\\b", "De Heek" }, // moet na 'ee -> ei'
new []{ "Krowne", "Kraun" },
new []{ "social media", "sausjel miedieja" }, // moet na 'au'
new []{ "sol", "saul" }, // 'resoluut'
new []{ "sol(?![l])", "saul" }, // 'resoluut', geen 'solliciteren'
new []{ "aine", "ène" }, // 'quarantaine'
new []{ "tain", "tein" }, // 'vuilcontainer'
new []{ "(?<![eèuoin])gel\\b", "sjel"}, // 'handgel', geen 'regel', 'pingel', 'vogel'
Expand Down

0 comments on commit 03897d8

Please sign in to comment.