@@ -104,12 +104,13 @@ public async Task<IBrowser> SpawnBrowserAsync(
104104 string browserUrl ,
105105 bool headless = true ,
106106 int timeout = 10000 ,
107- int maxRetries = 3
107+ int maxRetries = 3 ,
108+ string language = "en-US"
108109 ) {
109110 var url = new Uri ( browserUrl ) ;
110111 Playwright = await Microsoft . Playwright . Playwright . CreateAsync ( ) ;
111112 // codespaces: ignore certificate error -> Microsoft.Playwright.PlaywrightException : net::ERR_CERT_AUTHORITY_INVALID
112- string [ ] chromeArgs = new [ ] { $ "--explicitly-allowed-ports={ url . Port } ", "--ignore-certificate-errors" } ;
113+ string [ ] chromeArgs = new [ ] { $ "--explicitly-allowed-ports={ url . Port } ", "--ignore-certificate-errors" , $ "--lang= { language } " } ;
113114 _testOutput . WriteLine ( $ "Launching chrome ('{ s_chromePath . Value } ') via playwright with args = { string . Join ( ',' , chromeArgs ) } ") ;
114115
115116 int attempt = 0 ;
@@ -146,14 +147,15 @@ public async Task<IPage> RunAsync(
146147 ToolCommand cmd ,
147148 string args ,
148149 bool headless = true ,
150+ string language = "en-US" ,
149151 Action < IPage , IConsoleMessage > ? onConsoleMessage = null ,
150152 Action < string > ? onServerMessage = null ,
151153 Action < string > ? onError = null ,
152154 Func < string , string > ? modifyBrowserUrl = null )
153155 {
154156 var urlString = await StartServerAndGetUrlAsync ( cmd , args , onServerMessage ) ;
155- var browser = await SpawnBrowserAsync ( urlString , headless ) ;
156- var context = await browser . NewContextAsync ( ) ;
157+ var browser = await SpawnBrowserAsync ( urlString , headless , language : language ) ;
158+ var context = await browser . NewContextAsync ( new BrowserNewContextOptions { Locale = language } ) ;
157159 return await RunAsync ( context , urlString , headless , onConsoleMessage , onError , modifyBrowserUrl ) ;
158160 }
159161
0 commit comments