PHP에서 MessageFormat (일부는 intl
부분)을 사용하고 있습니다. 확장 프로그램은 ICU 4.6.1을 사용합니다.메시지 형식으로 선택 사용
그러나 PHP에서는 문제가 없습니다.
내가 첫 번째 토큰 {0}
에 결정을하여 문자열의 일부를 포맷하고 싶습니다 : 텍스트가해야, {0}
이 0
경우가 1
경우
- 는, 텍스트
a
- 을해야한다 다른 모든 경우를 들어, 텍스트가 있어야한다
b
- 수
c
0
의 경우 plural
, =0
을 사용하여이 작업을 수행 할 수 있지만 내 테스트를 통해 작동하지 않는 것으로 이해합니다. 오프셋 및 맞춤형 복수형이 4.8에서 도입 되었기 때문일 수 있습니다.
나는 select
를 사용하는 것을 달성하기 위해 노력하고, 따라서 이니
{0, select, 0 {a} other {{0,plural,one{b}other{c}}}}
그러나, 어떤 이유로, 메시지 포맷터 위를 포맷 할 수 없습니다 및 false
(수없는 형식)을 반환합니다.
왜 이런 경우입니까? 구문에 문제가 있습니까?
빠른 업데이트 : 일부 파고 후, 나는이 숫자로 시작하는 값과 일치하도록 선택 사용할 수없는 것으로 보인다. 이 문제를 해결할 방법이 있습니까?
다른 업데이트 : ICU 49.1.2 및 intl
3.0.0a2로 업데이트되었습니다. 지금 =0
, =1
등을 사용할 수 있지만,이 작동이 중지되었습니다 (이전에 작업 한) :이 작품
{0}{0, plural, one{a} other{b}}
여기서 내가 intl
의 최신 버전으로 업그레이드를 종료
{0, plural, one{a} other{b}}
그건 올바른 방법입니다. –
이것은 복수형을 남용하는 것 같은 냄새가납니다. 번역가가 지구상에서 무슨 일이 일어나는지 궁금하지 않습니까? – Trejkaz