RTL (right-to-left) 言語および LTR (left-to-right) 言語を使用した実行時翻訳は、
SetLanguage 関数を使用して実行できます。これは、
Panel オブジェクトまたは
Web Panel オブジェクトで、
[ Base CSS ] プロパティに None が設定された
Design System オブジェクト (DSO) を使用する限り有効です。
たとえば、英語とアラビア語を使用する場合、Web パネルに以下を含めることができます:
Event 'SetEnglish'
&i = SetLanguage(!"English")
refresh
EndEvent
Event 'SetArabic'
&i = SetLanguage(!"Arabic")
refresh
EndEvent
DSO を使用して生成されるアプリケーションは
'dir' 属性を使用するため、方向は自動的に決定されます。
- ネイティブ モバイル ジェネレーターでは、GoHome コマンド (Actions 外部オブジェクト) を設定することをお勧めします:
Event 'Arabic'
Composite
&Numeric = SetLanguage(!"Arabic")
Actions.GoHome()
EndComposite
Endevent
Event 'English'
Composite
&Numeric = SetLanguage(!"English")
Actions.GoHome()
EndComposite
EndEvent
- Web パネルを Theme オブジェクト、または [ Base CSS ] プロパティが None 以外の値に設定された DSO と共に使用する場合は、SetTheme 関数と SetLanguage 関数を一緒に使用する必要があります。
たとえば、上の例で Web Master Panel オブジェクトを使用すると仮定すると、コードは以下のようになります:
Event 'SetEnglish'
&i = SetTheme(!"Carmine")
&i = SetLanguage(!"English")
refresh
EndEvent
Event 'SetArabic'
&i = SetTheme(!"CarmineRTL")
&i = SetLanguage(!"Arabic")
refresh
EndEvent
これにより、言語の変更が検出されると、インターフェースが円滑に切り替えられるようになります。
RTL スタイルを追加する方法