2022-12-16 13:44:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  ScriptUtils  from  "./ScriptUtils"  
						 
					
						
							
								
									
										
										
										
											2023-08-10 15:36:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  {  Utils  }  from  "../src/Utils"  
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								import  *  as  fs  from  "fs"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-16 13:44:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								async  function  main ( args : string [ ] )  {  
						 
					
						
							
								
									
										
										
										
											2023-07-09 10:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    let  directory  =  "./langs" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  dirs  =  [ "layers" ,  "themes" ,  "shared-questions" ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        for  ( const  dir  of  dirs )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            const  layerIndex  =  args . findIndex ( ( s )  = >  s  ===  "--"  +  dir ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            if  ( layerIndex  >=  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                directory  =  "./langs/"  +  dir 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                args . splice ( layerIndex ,  1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-16 13:44:25 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( args . length  !==  1 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-11 03:53:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        console . log ( 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-03 23:43:13 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            "Usage: first argument is the fully qualified key of the string to remove. Removes translations in the core translations, unless '--layers' or '--themes' is given. In the latter case, use `<layername>.path.to.translations. Keep in mind that items with an 'id' use the id instead of the index." 
							 
						 
					
						
							
								
									
										
										
										
											2023-01-11 03:53:58 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-09 10:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    // Path within the JSON which will be removed - not the path in the filesystem!
 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    const  path  =  args [ 0 ] . split ( "." ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-10-02 00:23:20 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    console . log ( "Removing translation string " ,  path ,  "from the translations for "  +  directory ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-07-09 10:25:55 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  files  =  ScriptUtils . readDirRecSync ( directory ,  1 ) . filter ( ( f )  = >  f . endsWith ( ".json" ) ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-23 11:53:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    const  removedLanguages : string [ ]  =  [ ] 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    for  ( const  file  of  files )  { 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-23 11:53:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  rawContents  =  fs . readFileSync ( file ,  {  encoding :  "utf-8"  } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  json  =  JSON . parse ( rawContents ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Utils . WalkPath ( path ,  json ,  ( found )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            removedLanguages . push ( file ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-16 16:06:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            console . log ( "Removing " ,  found ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-23 11:53:46 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            return  undefined 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        const  lastChar  =  rawContents . endsWith ( "\n" )  ?  "\n"  :  "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        fs . writeFileSync ( file ,  JSON . stringify ( json ,  null ,  "    " )  +  lastChar ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2024-06-16 16:06:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    if  ( removedLanguages . length  ===  0 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        console . warn ( "No items removed. Doublecheck the paths" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-03 23:43:13 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        console . log ( "Removed items in "  +  removedLanguages . join ( ", " ) ,  ";" ,  removedLanguages . length ,  "in total" ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  args  =  [ . . . process . argv ]  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								args . splice ( 0 ,  2 )  
						 
					
						
							
								
									
										
										
										
											2025-05-03 23:43:13 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								main ( args ) . then ( ( )  = >  {  
						 
					
						
							
								
									
										
										
										
											2022-12-13 11:32:47 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    console . log ( "All done!" ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} )