Eclipse插件显示任何语言的文本

时间:2014-12-05 13:58:31

标签: java eclipse eclipse-plugin swt

我是eclipse插件开发的新手。我创建了一个插件,从文件夹&中加载一个unicode保存的文本文件。将它显示在一个对话框中还为Label设置它。如果是,用英语,一切都运转良好。但是,如果我尝试加载任何其他语言文本,它显示为空。我怎样才能解决这个问题。

以下是关于我如何在对话框中显示它的一些代码:

    Shell shell = Display.getCurrent().getActiveShell();
    // Loading the file by creating the assets folder & Temp.txt file inside
    // Eclipse Plugin
    URL url = FileLocator.find(bundle, new Path("assets/Temp.txt"), null);

    URL fileUrl = null;
    try {
        fileUrl = FileLocator.toFileURL(url);
    } catch (IOException e2) {
        // TODO Auto-generated catch block
        e2.printStackTrace();
    }

    File file = new File(fileUrl.getPath());

    String Message = "";
    try {
        if (file.exists()) {
            BufferedReader in = new BufferedReader(
                    new FileReader(file));
            String str;

            while ((str = in.readLine()) != null) {

                if (str.contains(LanguageSelected)) {
                    System.out.println(str);
                    Message = Message + "\n" + str;
                }
            }

        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Creating the dialog
    Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
    ...
    // Adding Label to dialog
    Label LabelMessage = new Label(dialog, SWT.LEFT);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    data.horizontalSpan = 6;
    // Adding Message to the dialog
    LabelMessage.setLayoutData(data);
    LabelMessage.setBackground(new Color(null, 255, 255, 255)); // White
    LabelMessage.setText(Message);

1 个答案:

答案 0 :(得分:0)

在启动配置中,确保将-nl参数设置为要显示的语言。有关信息,请参阅http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html