2020-08-17 17:23:15 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  {  UIEventSource  }  from  "../../Logic/UIEventSource"  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								import  {  LocalStorageSource  }  from  "../../Logic/Web/LocalStorageSource"  
						 
					
						
							
								
									
										
										
										
											2021-01-06 02:21:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  {  Utils  }  from  "../../Utils"  
						 
					
						
							
								
									
										
										
										
											2021-08-21 20:25:36 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								import  {  QueryParameters  }  from  "../../Logic/Web/QueryParameters"  
						 
					
						
							
								
									
										
										
										
											2020-07-20 12:39:43 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								export  default  class  Locale  {  
						 
					
						
							
								
									
										
										
										
											2022-04-03 03:00:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  static  showLinkToWeblate : UIEventSource < boolean >  =  new  UIEventSource < boolean > ( false ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 04:58:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    public  static  language : UIEventSource < string >  =  Locale . setup ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-25 18:00:08 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 04:58:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    private  static  setup() { 
							 
						 
					
						
							
								
									
										
										
										
											2020-12-14 01:14:22 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        const  source  =  LocalStorageSource . Get ( "language" ,  "en" ) 
							 
						 
					
						
							
								
									
										
										
										
											2021-01-06 02:21:50 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        if  ( ! Utils . runningFromConsole )  { 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 17:11:44 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            // @ts-ignore
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            window . setLanguage  =  function  ( language : string )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                source . setData ( language ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-03 03:49:09 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        source . syncWith ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            QueryParameters . GetQueryParameter ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                "language" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                undefined , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                "The language to display mapcomplete in. Will be ignored in case a logged-in-user did set their language before. If the specified language does not exist, it will default to the first language in the theme." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        QueryParameters . GetBooleanQueryParameter ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "fs-translation-mode" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            "If set, will show a translation button next to every string." 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        ) . addCallbackAndRunD ( ( tr )  = >  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            Locale . showLinkToWeblate . setData ( Locale . showLinkToWeblate . data  ||  tr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        } ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-03 03:00:45 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 04:58:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        return  source 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-25 18:00:08 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-20 12:39:43 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}