2009-09-16 74 views
7

Tôi đang làm việc trên một ứng dụng RCP Eclipse với bản địa hóa. Người dùng có thể thay đổi ngôn ngữ được sử dụng trong ứng dụng khi đang di chuyển. Không nên khởi động lại ứng dụng trong khi chuyển đổi ngôn ngữ này. Cũng có thể chuyển đổi giữa các ngôn ngữ được viết từ trái sang phải và các ngôn ngữ được viết từ phải sang trái.
Có cách nào tốt để giải quyết vấn đề này không?Chuyển đổi ngôn ngữ động trong ứng dụng RCP Eclipse

+0

Khó khăn là tôi không tin bạn có thể gọi 'setText (*)' trên mọi thứ tự động ... – VonC

Trả lời

4

Theo this thread:

Hầu hết các thư viện eclipse tải lên thông tin ngôn ngữ của họ vào việc tạo widget. Nếu bạn thay đổi ngôn ngữ của bạn sau đó bạn cần phải khởi động lại nhật thực để nó có hiệu lực.

Bạn có thể viết rằng loại hành vi động vào chương trình SWT của riêng mình, tuy nhiên (khi thiết bị chuyển mạch locale, bạn cần phải gọi setText(*) trên tất cả mọi thứ :-)

Vì vậy, đây không phải là hiện quản lý động trừ khi bạn chương trình đó cho mình ...
rcp khác/plugins ứng dụng like Birt xác định các hướng dẫn tương tự (ví dụ: "Khởi động lại Eclipse" ở cuối ...)


0.123.

Điều đó nói rằng, một vấn đề hơi khác nhau đã được thiết lập trong this thread:

chuyển đổi cài đặt ngôn ngữ, khởi động lại, và sau đó chạy trong ngôn ngữ đó

tôi đã nhận nó để làm việc bằng cách đọc bug 222023 và bắt chước org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction

tôi đã thử nó bằng tay:

  • thêm "-configuration @user.home/.myapp/configuration" đến launcher.ini
  • đã thêm "osgi.nl" cho người dùng config.ini ở đó và nó hoạt động.

Vì tôi có thể truy cập config-Location qua Platform.getConfigurationLocation() Tôi đoán đó có thể là cách.

Lưu ý: thêm "osgi.nl" vào webstart jnlp works too.

+0

Có thể nhận "mọi thứ" (để gọi setText (*) bật) tự động không? – zizzo

1

Bạn sẽ cần gọi setText trên từng tiện ích, với văn bản tương ứng. Vì không có ánh xạ biến văn bản trên các widget, bạn sẽ phải làm điều đó hoàn toàn theo cách thủ công.

Các vấn đề liên quan