Doing this feature for registered users only, we just want to give another one advantage to them. Actually, the situation you have is rather rare than usual, maybe for 10% of miniBB users. Thus, keeping cookie is not ideal solution. When cookie will expire, users must change their language again anyway. But there is another solution, and it is closed to your needs. Before release, we will think how to make it done... The solution is that you set some variable in URL request (for example, $mbblang), and looking for it, script will either TAKE it as default language def, or use another from profile, if user is registered and logged. This time, we will set only session-cookie, which will expire after user closed browser. How do you look at that?..