Assume there is a simple class:

```
public class SingletonClass {
    private static SingletonClass singObj;

    private string variable1;
    private string variable2;
    .....

    public static synchronized SingletonClass getInstance() {
        if (singObj == null) {
            singObj = new SingletonClass();
        }
        return singObj;
    }
}

```

If there are lot of string variables and they need to be stored in multiple language, what's the standard method to manage this in Java?

Currently i use: 

```
public class SingletonClass {
    private static SingletonClass singObj_LANG1;
    private static SingletonClass singObj_LANG2;
    private static SingletonClass singObj_LANG3;

    private string variable1;
    private string variable2;
    .....

    public static synchronized SingletonClass getInstance(String lang) {
        if (lang.equals("English")) {
            if (singObj_LANG1 == null) {
                singObj_LANG1 = new SingletonClass();
            }
            return singObj_LANG1;
        }else if (lang.equals("Chinese")) {
            if (singObj_LANG2 == null) {
                singObj_LANG2 = new SingletonClass();
            }
            return singObj_LANG2;
        }else{
            if (singObj_LANG3 == null) {
                singObj_LANG3 = new SingletonClass();
            }
            return singObj_LANG3;
        }
    }
}

```

which i think is a bad practice, any better implementation?