2011-08-10 3 views
1

방금 ​​모듈을 만들었습니다. 논증의 목적으로 모든 것이 작동하고 t('this is the english version') 기능을 사용하는 곳이 여러 곳 있습니다.Drupal로드를 새로 설치 한 사용자 정의 블록의 문자열을 지역화/번역하도록하려면 어떻게합니까?

t('foo') 함수는 mymodule.module 파일과 mymodule.tpl.php 파일 모두에 나타납니다. 내 드루팔 서버 구성에서

, 내가 넣은 LOCALE 그들이 필요로하는 것처럼 보이는 다른 모듈의 무리 :

Internationalization (enabled), 
String translation (enabled), 
Block languages (enabled), 
Contact translation (disabled), 
Field translation (enabled), 
Translation sets (enabled), 
Taxonomy translation (enabled), 
Content translation (enabled), 
Multilingual content (enabled), 
Multilingual forum (disabled), 
Menu translation (enabled), 
Path translation (disabled), 
Translation redirect (disabled), 
Multilingual select (enabled), 
Synchronize translations (enabled), 
Variable translation (disabled), 
Translation table (enabled) 

(죄송합니다, 그것은 거대한 목록입니다하지만 난 싶지 않아 무슨 일이라도 남겨주세요.)

번역 인터페이스를로드하고 그 블록에서 문자열을 찾았습니다. 번역 테이블 "&"번역 인터페이스 "가 번역되어 있지만 거기에 없습니다.

문자열 메뉴에서 문자열을 다시로드하려고했습니다 (번역 중). 행운이 없습니다. 내가 비활성화하고 블록 자체를 재 활성화 시도했다 ... 나는 (나는 단지 드루팔 구성에서 TITLE 옵션을 가지고 곳) "저장하고 번역"블록 구성을로드하고 선택한

나는 무엇이 누락 되었습니까?
내 블록에 추가 변수가 추가되어야합니까 mymodule_block_info() mymodule_block_install() 함수를 만들어야합니까?

누구나?

답변

3

Drupal은 최적화를 위해 'Just-In-Time'번역을 사용합니다.

Drupal에서 문자열 번역을로드하려면 대개 대상 언어로 된 문자열이있는 페이지를 방문해야합니다. 즉, 블록이 "연락처"페이지에 있고 중국어로 된 경우 http://mysite.com/zh-hans/node/blah-blah을 사용하여 연락처 페이지를 방문하십시오.

번역되지 않은 문자열이있는 페이지를 조금 둘러보고 번역 된 문자열 페이지를 다시 방문하십시오. 차이점을 확인하십시오.

관련 문제