@@ -228,6 +228,11 @@ export class I18nPlugin extends RuntimePlugin<LocalizationPluginOptions> {
228228 for ( const file of files ) {
229229 if ( file . isFile ( ) ) {
230230 const ext = extname ( file . name ) ;
231+ const parentFolder = file . parentPath . split ( '/' ) . pop ( ) ;
232+ const namespace =
233+ parentFolder ?. startsWith ( '(' ) && parentFolder ?. endsWith ( ')' )
234+ ? parentFolder ?. slice ( 1 , - 1 )
235+ : null ;
231236
232237 if ( ! / \. j s o n $ / . test ( ext ) ) continue ;
233238
@@ -239,7 +244,9 @@ export class I18nPlugin extends RuntimePlugin<LocalizationPluginOptions> {
239244 } else {
240245 name = basename ( file . name , ext ) ;
241246 }
242- namespaces . add ( `${ isEvent ? 'event_' : '' } ${ name } ` ) ;
247+ namespaces . add (
248+ `${ isEvent ? 'event_' : '' } ${ namespace ? `${ namespace } _` : '' } ${ name } ` ,
249+ ) ;
243250
244251 const locale = basename ( file . parentPath ) ;
245252
@@ -253,6 +260,11 @@ export class I18nPlugin extends RuntimePlugin<LocalizationPluginOptions> {
253260 }
254261 } else if ( file . isFile ( ) ) {
255262 const ext = extname ( file . name ) ;
263+ const parentFolder = file . parentPath . split ( '/' ) . pop ( ) ;
264+ const namespace =
265+ parentFolder ?. startsWith ( '(' ) && parentFolder ?. endsWith ( ')' )
266+ ? parentFolder ?. slice ( 1 , - 1 )
267+ : null ;
256268
257269 if ( ! / \. j s o n $ / . test ( ext ) ) continue ;
258270
@@ -264,7 +276,9 @@ export class I18nPlugin extends RuntimePlugin<LocalizationPluginOptions> {
264276 } else {
265277 name = basename ( file . name , ext ) ;
266278 }
267- namespaces . add ( `${ isEvent ? 'event_' : '' } ${ name } ` ) ;
279+ namespaces . add (
280+ `${ isEvent ? 'event_' : '' } ${ namespace ? `${ namespace } _` : '' } ${ name } ` ,
281+ ) ;
268282
269283 const locale = basename ( file . parentPath ) ;
270284
0 commit comments