@@ -21,17 +21,6 @@ class CoCreateServerSideRender {
2121 let dbCache = new Map ( ) ;
2222
2323 async function render ( dom , lastKey ) {
24- let langLinks = self . createLanguageLinkTags ( file ) ;
25-
26- // Insert language link tags into <head>
27- const head = dom . querySelector ( "head" ) ;
28- if ( head && langLinks ) {
29- const linksFragment = parse ( `<fragment>${ langLinks } </fragment>` ) ;
30- for ( const link of linksFragment . childNodes ) {
31- head . appendChild ( link ) ;
32- }
33- }
34-
3524 // Handle elements with [array][key][object]
3625 for ( let el of dom . querySelectorAll ( "[array][key][object]" ) ) {
3726 let meta = el . attributes ;
@@ -153,14 +142,22 @@ class CoCreateServerSideRender {
153142
154143 let dom = parse ( file . src ) ;
155144 dom = await render ( dom , "root" ) ;
156- dom = translate ( dom , file ) ;
157- let langLinkTags = createLanguageLinkTags ( file ) ;
158- langLinkTags = parse ( langLinkTags ) ;
159- langLinkTags = await render ( langLinkTags , "root" ) ;
160-
145+ if ( file . langRegion || file . lang ) {
146+ dom = translate ( dom , file ) ;
147+ let langLinkTags = createLanguageLinkTags ( file ) ;
148+ const head = dom . querySelector ( "head" ) ;
149+ if ( head && langLinkTags ) {
150+ const linksFragment = parse (
151+ `<fragment>${ langLinkTags } </fragment>`
152+ ) ;
153+ for ( const link of linksFragment . childNodes ) {
154+ head . appendChild ( link ) ;
155+ }
156+ }
157+ }
161158 dep = [ ] ;
162159 dbCache . clear ( ) ;
163- return result . toString ( ) ;
160+ return dom . toString ( ) ;
164161 }
165162
166163 createLanguageLinkTags ( file ) {
@@ -178,7 +175,7 @@ class CoCreateServerSideRender {
178175 // Step 1: Create a lookup object that maps base language to its path.
179176 // This is done once for efficiency.
180177 const paths = { } ;
181- for ( const p of file . pathnames ) {
178+ for ( const p of file . pathname ) {
182179 const secondSlashIndex = p . indexOf ( "/" , 1 ) ;
183180 const langKey = p . substring ( 1 , secondSlashIndex ) ; // e.g., 'en', 'es', 'pt'
184181 const restOfPath = p . substring ( secondSlashIndex ) ;
0 commit comments