async def get_user_locale(self, action, args):
                  
                  
                          user = types.User.get_current()
                  
                  
                          return user.locale
                  
                  
                      
                  
                  
                  # Setup i18n middleware
                  
                  
                  i18n = ACLMiddleware(I18N_DOMAIN, LOCALES_DIR)
                  
                  
                  dp.middleware.setup(i18n)
                  
                  
                  
                  
                  
                  # Alias for gettext method
                  
                  
                  _ = i18n.gettext
                  
                  
                  
                  
                  
                  
                  
                  
                  @dp.message_handler(commands="start")
                  
                  
                  async def cmd_start(message: Message):
                  
                  
                      await message.answer(_("Привет"))
                  
                  
                  
                  
                  
                  Можете объяснить почему не переводит на Hello? Язык в настройках у меня стоит английский, locales на англ перевёл
                  
                  
                
на локали ориентироваться нельзя
А переводы то ты скомпилировал?
 Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  так в чём проблема?
в том что они непонятно как работают
в том, что эффект Левина
 Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  что мне показать, чтобы понять проблему?
ничего, просто не пользуйся локалями
 Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  свои локали надо хранить в бд юзер зарегался - спросить у него язык он выбрал, сохранил в бд, а при каждом запросе вытаскиваешь и используешь
 Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  как мне тестово проверить?
возвращай из мидлвари всегда en
 Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          Developer
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  class ACLMiddleware(I18nMiddleware): async def get_user_locale(self, action, args): return "en" Так?
Обсуждают сегодня