2017-02-17 5 views
1

내 사이트는 독일어로되어 있으며, 나는 transftion을 위해 momentangular-moment을 사용합니다. 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 월'은 변경되지만 '오전/오후'는 변경되지 않습니다. –

답변

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 예, 나는 'angular-translate'를 사용합니다. –

2

:처럼이 솔루션은 보일 것이다.

meridiem : function() { 
    return 'Uhr'; 
} 
관련 문제