@@ -151,7 +151,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
151151 // Skip non-translatable strings
152152 if ( str [ '@_translatable' ] === 'false' ) continue ;
153153
154- const value = str [ '#text' ] || '' ;
154+ const value = str [ '#text' ] ?? '' ;
155155 translations [ name ] = value ;
156156 }
157157 }
@@ -169,7 +169,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
169169 for ( const item of items ) {
170170 const quantity = item [ '@_quantity' ] ;
171171 if ( ! quantity ) continue ;
172- const value = item [ '#text' ] || '' ;
172+ const value = item [ '#text' ] ?? '' ;
173173 const key = `${ name } /${ quantity } ` ;
174174 translations [ key ] = value ;
175175 }
@@ -194,7 +194,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
194194 const item = items [ i ] ;
195195 if ( item === undefined ) continue ;
196196 // Handle both object format ({'#text': 'value'}) and string format ('value')
197- const value = typeof item === 'string' ? item : ( item [ '#text' ] || '' ) ;
197+ const value = typeof item === 'string' ? item : ( item [ '#text' ] ?? '' ) ;
198198 const key = `${ name } /${ i } ` ;
199199 translations [ key ] = value ;
200200 }
@@ -290,7 +290,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
290290 if ( str [ '@_translatable' ] === 'false' ) continue ;
291291
292292 if ( data [ name ] !== undefined ) {
293- str [ '#text' ] = String ( data [ name ] || '' ) ;
293+ str [ '#text' ] = String ( data [ name ] ?? '' ) ;
294294 }
295295 }
296296 }
@@ -308,7 +308,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
308308 if ( ! quantity ) continue ;
309309 const key = `${ name } /${ quantity } ` ;
310310 if ( data [ key ] !== undefined ) {
311- item [ '#text' ] = String ( data [ key ] || '' ) ;
311+ item [ '#text' ] = String ( data [ key ] ?? '' ) ;
312312 }
313313 }
314314 }
@@ -336,15 +336,15 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
336336 // Handle both object format and string format
337337 if ( typeof item === 'string' ) {
338338 // Convert string to object format
339- items [ i ] = { '#text' : String ( data [ key ] || '' ) } ;
339+ items [ i ] = { '#text' : String ( data [ key ] ?? '' ) } ;
340340 } else if ( item && typeof item === 'object' ) {
341- item [ '#text' ] = String ( data [ key ] || '' ) ;
341+ item [ '#text' ] = String ( data [ key ] ?? '' ) ;
342342 }
343343 }
344344 }
345345 // Update the items array back to the stringArray
346346 if ( items . length > 0 ) {
347- stringArray . item = items . length === 1 ? items [ 0 ] : items ;
347+ stringArray . item = items ;
348348 }
349349 }
350350 }
@@ -403,8 +403,8 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
403403 const str = entry . resource ;
404404 const name = str [ '@_name' ] ;
405405 const translatable = str [ '@_translatable' ] ;
406- const value = str [ '#text' ] || '' ;
407-
406+ const value = str [ '#text' ] ?? '' ;
407+
408408 const escapedName = this . escapeTextContent ( String ( name ) ) ;
409409 const escapedValue = this . escapeTextContent ( value ) ;
410410
@@ -429,7 +429,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
429429 const quantity = item [ '@_quantity' ] ;
430430 if ( ! quantity ) continue ;
431431
432- const value = item [ '#text' ] || '' ;
432+ const value = item [ '#text' ] ?? '' ;
433433
434434 const escapedQuantity = this . escapeTextContent ( String ( quantity ) ) ;
435435 const escapedValue = this . escapeTextContent ( value ) ;
@@ -457,7 +457,7 @@ export class AndroidXmlParser implements Parser<Record<string, unknown>, Android
457457
458458 for ( const item of items ) {
459459 // Handle both object format ({'#text': 'value'}) and string format ('value')
460- const value = typeof item === 'string' ? item : ( item [ '#text' ] || '' ) ;
460+ const value = typeof item === 'string' ? item : ( item [ '#text' ] ?? '' ) ;
461461 const escapedValue = this . escapeTextContent ( value ) ;
462462
463463 lines . push ( `${ indent } ${ indent } <item>${ escapedValue } </item>` ) ;
0 commit comments