[TYPO3-core] RFC #11841: Hardcoded texts in t3editor

Christopher Stelmaszyk christopher at yahoo.de
Wed Sep 2 17:43:11 CEST 2009


Hi!

This is a SVN patch request.

Type: feature

Branches: trunk

BT reference:
http://bugs.typo3.org/view.php?id=11841

Problem:
There are hardcoded texts in t3editor.

Solution:
The patch makes them translatable.

Note:
Yes, version 2. ;-)

Kind regards

Christopher


Index: 
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_tsrefloader.php
===================================================================
---  
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_tsrefloader.php	(revision 
5810)
+++ 
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_tsrefloader.php	(working 
copy)
@@ -33,6 +33,9 @@
  * @author Stephan Petzl <spetzl at gmx.at>
  * @author Christian Kartnig <office at hahnepeter.de>
  */
+
+$GLOBALS['LANG']->includeLLFile('EXT:t3editor/locallang.xml');
+
 class tx_t3editor_TSrefLoader {
 	/** @var DOMDocument */
 	protected $xmlDoc;
@@ -130,7 +133,7 @@
 	 */
 	protected function getDescription($typeId, $parameterName = '') {
 		if (!$typeId) {
-			$this->ajaxObj->setError('Syntax error: At least parameter typeId has to 
be supplied.');
+			$this->ajaxObj->setError($GLOBALS['LANG']->getLL('typeIDMissing'));
 			return '';
 		}

Index: 
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_codecompletion.php
===================================================================
---  
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_codecompletion.php	(revision 
5810)
+++ 
typo3/sysext/t3editor/lib/ts_codecompletion/class.tx_t3editor_codecompletion.php	(working 
copy)
@@ -25,6 +25,8 @@
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/

+$GLOBALS['LANG']->includeLLFile('EXT:t3editor/locallang.xml');
+
 class tx_t3editor_codecompletion {
 	/** @var TYPO3AJAX */
 	protected $ajaxObj;
@@ -73,11 +75,11 @@
 				$templates = $this->getMergedTemplates($pageId);
 				// Otherwise, set an error:
 			} else {
-				$this->ajaxObj->setError('Syntax error: Parameter pageId must be a 
valid integer.');
+				$this->ajaxObj->setError($GLOBALS['LANG']->getLL('pageIDInteger'));
 			}
 			// Set an error if user has no access to sys_template records:
 		} else {
-			$this->ajaxObj->setError('Access denied: No permission to template 
records.');
+			$this->ajaxObj->setError($GLOBALS['LANG']->getLL('noPermission'));
 		}

 		return $templates;
Index: typo3/sysext/t3editor/class.tx_t3editor.php
===================================================================
--- typo3/sysext/t3editor/class.tx_t3editor.php	(revision 5810)
+++ typo3/sysext/t3editor/class.tx_t3editor.php	(working copy)
@@ -44,6 +44,9 @@
  *
  * @author	Tobias Liebig <mail_typo3 at etobi.de>
  */
+
+$GLOBALS['LANG']->includeLLFile('EXT:t3editor/locallang.xml');
+
 class tx_t3editor {

 	/**
@@ -196,7 +199,7 @@
 				'id="t3editor_disableEditor_' . $this->editorCounter.'_checkbox" ' .
 				$checked.' />&nbsp;' .
 				'<label for="t3editor_disableEditor_' . $this->editorCounter . 
'_checkbox">' .
-				'deactivate t3editor' .
+				$GLOBALS['LANG']->getLL('deactivate') .
 				'</label>' .
 				'<br /><br />';

@@ -268,7 +271,10 @@
 				'wrap="off" ' .
 				$pObj->pObj->doc->formWidthText(48, 'width:98%;height:60%', 'off');

-			$title = 'Template: ' . htmlspecialchars($parameters['tplRow']['title']) 
. ': Constants';
+			$title = $GLOBALS['LANG']->getLL('template') . ' ' .
+				htmlspecialchars($parameters['tplRow']['title']) .
+				$GLOBALS['LANG']->getLL('delimiter') . ' ' .
+				$GLOBALS['LANG']->getLL('constants');

 			$outCode = $GLOBALS['T3_VAR']['t3editorObj']->getCodeEditor(
 						'data[constants]',
@@ -294,7 +300,10 @@
 				'wrap="off" ' .
 				$pObj->pObj->doc->formWidthText(48, 'width:98%;height:60%', 'off');

-			$title = 'Template: ' . htmlspecialchars($parameters['tplRow']['title']) 
. ': Setup';
+			$title = $GLOBALS['LANG']->getLL('template') . ' ' .
+				htmlspecialchars($parameters['tplRow']['title']) .
+				$GLOBALS['LANG']->getLL('delimiter') . ' ' .
+				$GLOBALS['LANG']->getLL('setup');

 			$outCode = $GLOBALS['T3_VAR']['t3editorObj']->getCodeEditor(
 						'data[config]',
@@ -343,7 +352,7 @@
 				// TODO: fileadmin, extmng, TCEform, ...

 				default:
-					$ajaxObj->setError('Unknown content type: ' . $codeType);
+					$ajaxObj->setError($GLOBALS['LANG']->getLL('unknownContentType') . ' ' 
. $codeType);
 			}
 			$ajaxObj->setContent(array('result' => $savingsuccess));
 		}
Index: typo3/sysext/t3editor/locallang.xml
===================================================================
--- typo3/sysext/t3editor/locallang.xml	(revision 0)
+++ typo3/sysext/t3editor/locallang.xml	(revision 0)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<T3locallang>
+	<meta type="array">
+		<description>Labels for t3editor</description>
+		<type>module</type>
+	</meta>
+	<data type="array">
+		<languageKey index="default" type="array">
+			<label index="deactivate">Deactivate t3editor</label>
+			<label index="template">Template</label>
+			<label index="delimiter">:</label>
+			<label index="constants">Constants</label>
+			<label index="setup">Setup</label>
+			<label index="unknownContentType">Unknown content type:</label>
+			<label index="pageIDInteger">Syntax error: Parameter pageID must be a 
valid integer.</label>
+			<label index="noPermission">Access denied: No permission to template 
records.</label>
+			<label index="typeIDMissing">Syntax error: At least parameter typeID has 
to be supplied.</label>
+		</languageKey>
+	</data>
+</T3locallang>
\ No newline at end of file 


begin 666 11841_t3editor_v2.patch
M26YD97 at Z('1Y<&\S+W-Y<V5X="]T,V5D:71O<B]L:6(O='-?8V]D96-O;7!L
M971I;VXO8VQA<W,N='A?=#-E9&ET;W)?='-R969L;V%D97(N<&AP"CT]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T*+2TM('1Y<&\S+W-Y<V5X="]T,V5D:71O<B]L
M:6(O='-?8V]D96-O;7!L971I;VXO8VQA<W,N='A?=#-E9&ET;W)?='-R969L
M;V%D97(N<&AP"2AR979I<VEO;B U.#$P*0HK*RL@='EP;S,O<WES97AT+W0S
M961I=&]R+VQI8B]T<U]C;V1E8V]M<&QE=&EO;B]C;&%S<RYT>%]T,V5D:71O
M<E]T<W)E9FQO861E<BYP:' )*'=O<FMI;F<@8V]P>2D*0$ @+3,S+#8@*S,S
M+#D at 0$ *(" J($!A=71H;W(@4W1E<&AA;B!0971Z;" \<W!E='IL0&=M>"YA
M=#X*(" J($!A=71H;W(@0VAR:7-T:6%N($MA<G1N:6<@/&]F9FEC94!H86AN
M97!E=&5R+F1E/@H@("HO"BL**R1'3$]"04Q36R=,04Y')UTM/FEN8VQU9&5,
M3$9I;&4H)T585#IT,V5D:71O<B]L;V-A;&QA;F<N>&UL)RD["BL*(&-L87-S
M('1X7W0S961I=&]R7U13<F5F3&]A9&5R('L*( DO*BH at 0'9A<B!$3TU$;V-U
M;65N=" J+PH@"7!R;W1E8W1E9" D>&UL1&]C.PI 0" M,3,P+#<@*S$S,RPW
M($! "B )("HO"B )<')O=&5C=&5D(&9U;F-T:6]N(&=E=$1E<V-R:7!T:6]N
M*"1T>7!E260L("1P87)A;65T97).86UE(#T@)R<I('L*( D):68@*"$D='EP
M94ED*2!["BT)"0DD=&AI<RT^86IA>$]B:BT^<V5T17)R;W(H)U-Y;G1A>"!E
M<G)O<CH at 070@;&5A<W0@<&%R86UE=&5R('1Y<&5)9"!H87,@=&\@8F4@<W5P
M<&QI960N)RD["BL)"0DD=&AI<RT^86IA>$]B:BT^<V5T17)R;W(H)$=,3T)!
M3%-;)TQ!3D<G72T^9V5T3$PH)W1Y<&5)1$UI<W-I;F<G*2D["B )"0ER971U
M<FX@)R<["B )"7T*"DEN9&5X.B!T>7!O,R]S>7-E>'0O=#-E9&ET;W(O;&EB
M+W1S7V-O9&5C;VUP;&5T:6]N+V-L87-S+G1X7W0S961I=&]R7V-O9&5C;VUP
M;&5T:6]N+G!H< H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"BTM+2!T>7!O,R]S
M>7-E>'0O=#-E9&ET;W(O;&EB+W1S7V-O9&5C;VUP;&5T:6]N+V-L87-S+G1X
M7W0S961I=&]R7V-O9&5C;VUP;&5T:6]N+G!H< DH<F5V:7-I;VX at -3@Q,"D*
M*RLK('1Y<&\S+W-Y<V5X="]T,V5D:71O<B]L:6(O='-?8V]D96-O;7!L971I
M;VXO8VQA<W,N='A?=#-E9&ET;W)?8V]D96-O;7!L971I;VXN<&AP"2AW;W)K
M:6YG(&-O<'DI"D! ("TR-2PV("LR-2PX($! "B J("!4:&ES(&-O<'ER:6=H
M="!N;W1I8V4 at 35535"!!4%!%05(@:6X at 86QL(&-O<&EE<R!O9B!T:&4@<V-R
M:7!T(0H@*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ+PH**R1'3$]"04Q36R=,04Y')UTM
M/FEN8VQU9&5,3$9I;&4H)T585#IT,V5D:71O<B]L;V-A;&QA;F<N>&UL)RD[
M"BL*(&-L87-S('1X7W0S961I=&]R7V-O9&5C;VUP;&5T:6]N('L*( DO*BH@
M0'9A<B!465!/,T%*05@@*B\*( EP<F]T96-T960@)&%J87A/8FH["D! ("TW
M,RPQ,2 K-S4L,3$@0$ *( D)"0DD=&5M<&QA=&5S(#T@)'1H:7,M/F=E=$UE
M<F=E9%1E;7!L871E<R at D<&%G94ED*3L*( D)"0DO+R!/=&AE<G=I<V4L('-E
M="!A;B!E<G)O<CH*( D)"7T at 96QS92!["BT)"0D))'1H:7,M/F%J87A/8FHM
M/G-E=$5R<F]R*"=3>6YT87@@97)R;W(Z(%!A<F%M971E<B!P86=E260@;75S
M="!B92!A('9A;&ED(&EN=&5G97(N)RD["BL)"0D))'1H:7,M/F%J87A/8FHM
M/G-E=$5R<F]R*"1'3$]"04Q36R=,04Y')UTM/F=E=$Q,*"=P86=E241);G1E
M9V5R)RDI.PH@"0D)?0H@"0D)+R\@4V5T(&%N(&5R<F]R(&EF('5S97(@:&%S
M(&YO(&%C8V5S<R!T;R!S>7-?=&5M<&QA=&4@<F5C;W)D<SH*( D)?2!E;'-E
M('L*+0D)"21T:&ES+3YA:F%X3V)J+3YS971%<G)O<B at G06-C97-S(&1E;FEE
M9#H at 3F\@<&5R;6ES<VEO;B!T;R!T96UP;&%T92!R96-O<F1S+B<I.PHK"0D)
M)'1H:7,M/F%J87A/8FHM/G-E=$5R<F]R*"1'3$]"04Q36R=,04Y')UTM/F=E
M=$Q,*"=N;U!E<FUI<W-I;VXG*2D["B )"7T*"B )"7)E='5R;B D=&5M<&QA
M=&5S.PI);F1E>#H@='EP;S,O<WES97AT+W0S961I=&]R+V-L87-S+G1X7W0S
M961I=&]R+G!H< H]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"BTM+2!T>7!O,R]S
M>7-E>'0O=#-E9&ET;W(O8VQA<W,N='A?=#-E9&ET;W(N<&AP"2AR979I<VEO
M;B U.#$P*0HK*RL@='EP;S,O<WES97AT+W0S961I=&]R+V-L87-S+G1X7W0S
M961I=&]R+G!H< DH=V]R:VEN9R!C;W!Y*0I 0" M-#0L-B K-#0L.2! 0 H@
M("H*(" J($!A=71H;W()5&]B:6%S($QI96)I9R \;6%I;%]T>7!O,T!E=&]B
M:2YD93X*(" J+PHK"BLD1TQ/0D%,4ULG3$%.1R==+3YI;F-L=61E3$Q&:6QE
M*"=%6%0Z=#-E9&ET;W(O;&]C86QL86YG+GAM;"<I.PHK"B!C;&%S<R!T>%]T
M,V5D:71O<B!["@H@"2\J*@I 0" M,3DV+#<@*S$Y.2PW($! "B )"0D))VED
M/2)T,V5D:71O<E]D:7-A8FQE161I=&]R7R<@+B D=&AI<RT^961I=&]R0V]U
M;G1E<BXG7V-H96-K8F]X(B G("X*( D)"0DD8VAE8VME9"XG("\^)FYB<W [
M)R N"B )"0D))SQL86)E;"!F;W(](G0S961I=&]R7V1I<V%B;&5%9&ET;W)?
M)R N("1T:&ES+3YE9&ET;W)#;W5N=&5R("X@)U]C:&5C:V)O>"(^)R N"BT)
M"0D))V1E86-T:79A=&4@=#-E9&ET;W(G("X**PD)"0DD1TQ/0D%,4ULG3$%.
M1R==+3YG971,3"@G9&5A8W1I=F%T92<I("X*( D)"0DG/"]L86)E;#XG("X*
M( D)"0DG/&)R("\^/&)R("\^)SL*"D! ("TR-C at L-R K,C<Q+#$P($! "B )
M"0D))W=R87 ](F]F9B(@)R N"B )"0D))'!/8FHM/G!/8FHM/F1O8RT^9F]R
M;5=I9'1H5&5X="@T."P@)W=I9'1H.CDX)3MH96EG:'0Z-C E)RP@)V]F9B<I
M.PH*+0D)"21T:71L92 ]("=496UP;&%T93H@)R N(&AT;6QS<&5C:6%L8VAA
M<G,H)'!A<F%M971E<G-;)W1P;%)O=R==6R=T:71L92==*2 N("<Z($-O;G-T
M86YT<R<["BL)"0DD=&ET;&4@/2 D1TQ/0D%,4ULG3$%.1R==+3YG971,3"@G
M=&5M<&QA=&4G*2 N("<@)R N"BL)"0D):'1M;'-P96-I86QC:&%R<R at D<&%R
M86UE=&5R<ULG='!L4F]W)UU;)W1I=&QE)UTI("X**PD)"0DD1TQ/0D%,4ULG
M3$%.1R==+3YG971,3"@G9&5L:6UI=&5R)RD at +B G("<@+ at HK"0D)"21'3$]"
M04Q36R=,04Y')UTM/F=E=$Q,*"=C;VYS=&%N=',G*3L*"B )"0DD;W5T0V]D
M92 ]("1'3$]"04Q36R=4,U]605(G75LG=#-E9&ET;W)/8FHG72T^9V5T0V]D
M945D:71O<B@*( D)"0D)"2=D871A6V-O;G-T86YT<UTG+ I 0" M,CDT+#<@
M*S,P,"PQ,"! 0 H@"0D)"2=W<F%P/2)O9F8B("<@+ at H@"0D)"21P3V)J+3YP
M3V)J+3YD;V,M/F9O<FU7:61T:%1E>'0H-#@L("=W:61T:#HY."4[:&5I9VAT
M.C8P)2<L("=O9F8G*3L*"BT)"0DD=&ET;&4@/2 G5&5M<&QA=&4Z("<@+B!H
M=&UL<W!E8VEA;&-H87)S*"1P87)A;65T97)S6R=T<&Q2;W<G75LG=&ET;&4G
M72D at +B G.B!3971U<"<["BL)"0DD=&ET;&4@/2 D1TQ/0D%,4ULG3$%.1R==
M+3YG971,3"@G=&5M<&QA=&4G*2 N("<@)R N"BL)"0D):'1M;'-P96-I86QC
M:&%R<R at D<&%R86UE=&5R<ULG='!L4F]W)UU;)W1I=&QE)UTI("X**PD)"0DD
M1TQ/0D%,4ULG3$%.1R==+3YG971,3"@G9&5L:6UI=&5R)RD at +B G("<@+ at HK
M"0D)"21'3$]"04Q36R=,04Y')UTM/F=E=$Q,*"=S971U<"<I.PH*( D)"21O
M=71#;V1E(#T@)$=,3T)!3%-;)U0S7U9!4B==6R=T,V5D:71O<D]B:B==+3YG
M971#;V1E161I=&]R* H@"0D)"0D))V1A=&%;8V]N9FEG72<L"D! ("TS-#,L
M-R K,S4R+#<@0$ *( D)"0DO+R!43T1/.B!F:6QE861M:6XL(&5X=&UN9RP@
M5$-%9F]R;2P at +BXN"@H@"0D)"61E9F%U;'0Z"BT)"0D)"21A:F%X3V)J+3YS
M971%<G)O<B at G56YK;F]W;B!C;VYT96YT('1Y<&4Z("<@+B D8V]D951Y<&4I
M.PHK"0D)"0DD86IA>$]B:BT^<V5T17)R;W(H)$=,3T)!3%-;)TQ!3D<G72T^
M9V5T3$PH)W5N:VYO=VY#;VYT96YT5'EP92<I("X@)R G("X@)&-O9&54>7!E
M*3L*( D)"7T*( D)"21A:F%X3V)J+3YS971#;VYT96YT*&%R<F%Y*"=R97-U
M;'0G(#T^("1S879I;F=S=6-C97-S*2D["B )"7T*26YD97 at Z('1Y<&\S+W-Y
M<V5X="]T,V5D:71O<B]L;V-A;&QA;F<N>&UL"CT]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T*+2TM('1Y<&\S+W-Y<V5X="]T,V5D:71O<B]L;V-A;&QA;F<N>&UL
M"2AR979I<VEO;B P*0HK*RL@='EP;S,O<WES97AT+W0S961I=&]R+VQO8V%L
M;&%N9RYX;6P)*')E=FES:6]N(# I"D! ("TP+# @*S$L,C @0$ **SP_>&UL
M('9E<G-I;VX](C$N,"(@96YC;V1I;F<](G5T9BTX(B!S=&%N9&%L;VYE/2)Y
M97,B(#\^"BL\5#-L;V-A;&QA;F<^"BL)/&UE=&$@='EP93TB87)R87DB/@HK
M"0D\9&5S8W)I<'1I;VX^3&%B96QS(&9O<B!T,V5D:71O<CPO9&5S8W)I<'1I
M;VX^"BL)"3QT>7!E/FUO9'5L93PO='EP93X**PD\+VUE=&$^"BL)/&1A=&$@
M='EP93TB87)R87DB/@HK"0D\;&%N9W5A9V5+97D@:6YD97@](F1E9F%U;'0B
M('1Y<&4](F%R<F%Y(CX**PD)"3QL86)E;"!I;F1E>#TB9&5A8W1I=F%T92(^
M1&5A8W1I=F%T92!T,V5D:71O<CPO;&%B96P^"BL)"0D\;&%B96P@:6YD97@]
M(G1E;7!L871E(CY496UP;&%T93PO;&%B96P^"BL)"0D\;&%B96P@:6YD97@]
M(F1E;&EM:71E<B(^.CPO;&%B96P^"BL)"0D\;&%B96P@:6YD97@](F-O;G-T
M86YT<R(^0V]N<W1A;G1S/"]L86)E;#X**PD)"3QL86)E;"!I;F1E>#TB<V5T
M=7 B/E-E='5P/"]L86)E;#X**PD)"3QL86)E;"!I;F1E>#TB=6YK;F]W;D-O
M;G1E;G14>7!E(CY5;FMN;W=N(&-O;G1E;G0@='EP93H\+VQA8F5L/@HK"0D)
M/&QA8F5L(&EN9&5X/2)P86=E241);G1E9V5R(CY3>6YT87@@97)R;W(Z(%!A
M<F%M971E<B!P86=E240@;75S="!B92!A('9A;&ED(&EN=&5G97(N/"]L86)E
M;#X**PD)"3QL86)E;"!I;F1E>#TB;F]097)M:7-S:6]N(CY!8V-E<W, at 9&5N
M:65D.B!.;R!P97)M:7-S:6]N('1O('1E;7!L871E(')E8V]R9',N/"]L86)E
M;#X**PD)"3QL86)E;"!I;F1E>#TB='EP94E$36ES<VEN9R(^4WEN=&%X(&5R
M<F]R.B!!="!L96%S="!P87)A;65T97(@='EP94E$(&AA<R!T;R!B92!S=7!P
M;&EE9"X\+VQA8F5L/@HK"0D\+VQA;F=U86=E2V5Y/@HK"3PO9&%T83X**SPO
H5#-L;V-A;&QA;F<^"EP at 3F\@;F5W;&EN92!A="!E;F0@;V8 at 9FEL90``
`
end



More information about the TYPO3-team-core mailing list