

アプリの多言語対応でLabelの複数行表示で困っております。

以下の日本語を「AppResources.resx」ファイルに設定しております。

[code]

        <data name="aaa" xml:space="preserve">
            <value>あああ</value>
        </data>
        <data name="bbb" xml:space="preserve">
            <value>いいい</value>
        </data>
        <data name="ccc" xml:space="preserve">
            <value>ううう</value>
        </data>
    
[/code]

また、xamlファイルには以下のLabelタグを定義しております。

[code]

    <Label TextColor="Black" BackgroundColor="White">
      <Label.Text>
        {i18n:Translate aaa}
        {i18n:Translate bbb}
        {i18n:Translate ccc}
      </Label.Text>
    </Label>
    
[/code]

この状態でiOSシミュレータで確認すると、「AppResources.resx」で定義した日本語ではなく

[code]

        {i18n:Translate aaa}
        {i18n:Translate bbb}
        {i18n:Translate ccc}
    
[/code]

と表示します。  
Labelタグに日本語を含む多言語を複数行表示するには  
どのようにすればよろしいのでしょうか。  
ご教授のほどお願い致します。


CC BY-SA 3.0
2016-06-06T11:08:53.373
26505
2016-06-12T06:24:27.463
2016-06-06T18:13:19.997
3068
9561
question
c# xaml xamarin
Xamarin.form(XAML)のLabelタグの複数行表示について(多言語対応)


`Label.FormattedText` を試してみてください。

以下のように書けば期待する結果になると思います。

[code]

    <Label TextColor="Black" BackgroundColor="White">
        <Label.FormattedText>
            <FormattedString>
                <Span Text="{i18n:Translate aaa}" />
                <Span Text="{x:Static x:Environment.NewLine}" />
                <Span Text="{i18n:Translate bbb}" />
                <Span Text="{x:Static x:Environment.NewLine}" />
                <Span Text="{i18n:Translate ccc}" />
            </FormattedString>
        </Label.FormattedText>
    </Label>
    
[/code]

よろしければ、私のブログ記事も合わせてどうぞ。  
<http://ticktack.hatenablog.jp/entry/2016/02/11/175656>


CC BY-SA 3.0
2016-06-06T16:15:05.920
26513
2016-06-06T16:15:05.920
3022
26505
answer