2017-02-17 6 views
1

私のサイトはドイツ語で、私はmomentangular-momentをtransaltionに使用しています。 AM/PM以外はすべて正常に動作します。私のコードドイツのAM/PMのための角モーメント翻訳

<time>{{ messagedata.created*1000| amDateFormat: 'D, MMM YYYY, h:mm:ss A' }}</time> 

結果:16, Febr. 2017, 5:30:00 AM 募集結果:16, Febr. 2017, 5:30:00 Uhr

設定

app.run(function ($rootScope, $location, amMoment, moment) { 
amMoment.changeLocale(LANGCODE); 
moment.updateLocale('en', { 
    relativeTime : { 
     m: "1 Minute", 
     h: "an Hour", 
     d: "1 Day", 
     M: "1 Month", 
     y: "1 Year", 
    } 
}); 
moment.updateLocale('de', { 
    relativeTime : { 
     m: "1 Minute", 
     d: "1 Tag", 
     M: "1 Monat", 
     y: "1 Jahr", 
    } 
}); 

});

私はドイツ語でAM/PMを変更したいですか?どうやって?

+0

はあなたがドイツ語のロケールを含むしようとしている:あなたは関数のシグネチャからのパラメータhour, minute, isLowercaseを必要とされることはありませんので、関数は常にスタティック変換「UHR」を返すことができますか? –

+0

はい。それは含まれ、正しく動作します。 「2月」は変更されますが、「am/pm」は変更されません。 –

答えて

2

ドイツ語は動作しません/ AM/PMと一緒に行ってください。ドイツ語の時間は24時間形式です。また、日付は,の代わりに.で終わります。最後に正しい出力は16. Febr. 2017, 17:30:00 Uhrです。それは我々(ドイツ)が正しい日付形式として期待するものです:)

<time>{{ messagedata.created*1000| amDateFormat: 'D. MMM YYYY, HH:mm:ss' }} Uhr</time> 

H, HH  24 hour time 
h, or hh 12 hour time (use in conjunction with a or A) 

24時間の時間表記は正式に、メディアでの発表のような 精度が要求の目的のために使用されます。口語会話では、 の12時間制が使用されます。

注記口述音声!=技術的な正しい出力。次の形式は、あなたのために働くべきであるように

// From 2.8.1 to 2.11.2 
moment.locale('de', { 
    meridiem : function() { 
     return 'Uhr'; 
    } 
}); 

<time>{{ messagedata.created*1000| amDateFormat: 'D. MMM YYYY, HH:mm:ss A' }}</time> 

あなたはまだあなたのような独自の meridiem交換を作成することができ Aプレースホルダを使用するワンド場合


他の解決方法はangular-translateで処理できます。翻訳ファイルの中に正しいmeridiem翻訳を作成してください。 https://momentjs.com/docs/#/customization/am-pm/

ジャスト機能であるべき、deのための別のプロパティを追加します:あなたはおそらくmeridiemカスタマイズをしたい

<time> 
    {{ messagedata.created*1000| amDateFormat: 'D. MMM YYYY, HH:mm:ss' }} 
    <span translate="meridiem"></span> 
</time> 
+0

ここで 'Uhr'はハードコードされています。私のサイトに2〜3種類の異なる言語があるとどうなりますか? –

+0

@SRanaが更新されましたが、答えは終了しませんでした。 :)。 Btw。 'angular-translate'を使っていますか? – lin

+0

@linはい、私は 'angle-translate 'を使用しています –

2

:このソリューションは次のようになります。

meridiem : function() { 
    return 'Uhr'; 
} 
関連する問題