2014-03-07 5 views
-1

는 지금까지 내가 알고 있어요 같은 국제화 확장을 만들기 위해 필요한 유일한 단계는 다음과 같은 국제화 파일을 작성하는 것입니다 내 국제화 (i18n) 파일을 읽을 수 없습니다 특수에 표시 될 때 전역 변수 wgExtensionMessageFiles미디어 위키 확장,

//SemanticHighcharts.php 
global $wgExtensionMessagesFiles, $wgExtensionCredits; 
$wgExtensionCredits['semantic'][] = array(
    'path' => __FILE__, 
    'name' => 'SemanticHighcharts', 
    'version' => '0.0.1', 
    'url' => 'https://www.mediawiki.org/wiki/Extension:SemanticHighcharts', 
    'descriptionmsg' => 'semantichighcharts-desc' 
); 

//i18n 
$wgExtensionMessagesFiles['SemanticHighcharts'] = dirname(__FILE__) . '/SemanticHighcharts.i18n.php'; 

이와이 파일을 참조하는 wgExtensionCredits에 descriptionmsg을 야기한다는 국제화 수 : 버전.

그러나 사실이 아닙니다. 사실 i18n 파일의 메시지 키를 읽을 수 없습니다!

어떻게이 문제를 디버깅 할 수 있습니까? 큰 성공없이 wfMessage() 호출을 할 때 callstack을 디버깅하려고했습니다.

도움을 주시면 감사하겠습니다. git에서 최신 버전의 mediawiki를 실행하고 있습니다. 모든 확장 프로그램은 작곡가와 함께 설치되었습니다.

//composer.json 
{ 
    "require": { 
     "php": ">=5.3.2", 
     "mediawiki/side-bar-menu": "dev-master", 
     "mediawiki/semantic-highcharts": "dev-master", 
     "mediawiki/semantic-result-formats": "dev-master" 
    }, 
    "suggest": { 
     "ext-fileinfo": "*", 
     "ext-mbstring": "*", 
     "ext-wikidiff2": "*", 
     "ext-apc": "*" 
    }, 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "https://github.com/netbrain/SemanticHighcharts" 
     } 
    ] 
} 

답변

0

보통,이 문제로 꽤 오래 시간을 보냈습니다. 이 질문을 게시 한 직후 나는 composer.json에서 다른 모든 확장자를 제거하고 작곡가 업데이트를 수행했습니다. 어떤 마술로 내 문제가 해결 됐어.

나는 충돌하는 확장이 있을지도 모르는가 아니면 작곡가 자동 로딩 메커니즘에 문제가있는 것 같았습니다.

아플 자세히 살펴보십시오.


이전에 제거한 확장 프로그램을 다시 추가 한 후에 작곡자가 범인 인 것으로 보입니다. 그래서 작곡가의 의존성 관리에는 몇 가지 단점이 있다는 것을 추측 할 수 있습니다.