webForumDet fria alternativet

XML, språkfiler, enkel översättning

PHP

2 svar · 475 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej,

På vår sajt finns ett gäng XML filer, där fraser på resp. språk finns.
Nu har jag tänkt bygga en applikation där översättare enkelt kan gå in och översätta åt oss.

Det funkar som så att Engelska är huvudspråket (en.xml) och är uppbyggd såhär:

<Resource>
	<group id="Pages">
	<desc>Text for all pages</desc>
	<items>
		<item id="Page_Home">
			<value>Home</value>
			<desc>Home tab text</desc>
		</item>
	<items>
	</group>
</Resource>

Det kan finnas obegränsat antal <group id="" /> i filen och obegränsat antal <item id="" /> inom varje <items>.

Det kan hända att de andra språkfilerna skiljer sig lite från den Engelska. Jag tänker mig att man läser in den Engelska filen och skriver ut en <input type="text"> för varje item->value.

Om man väljer att visa t.ex. den Tyska filen, så ska motsvarande fält skrivas ut, fast om en viss item saknas, ska den Englelska hämtas och fältet ska på något sätt markeras (genom t.ex. en bordercolor) för att indikera att strängen inte finns i den Tyska filen.

När användaren sedan trycker på "Spara" så ska allt sparas i en ny XML fil.

Tanken är alltså att allt det här blir ett långt formulär som man sitter och fyller i.

Jag har tillgång till PHP och tänker mig att man kan använda SimpleXML. Vet inte exakt i vilken ände jag ska börja, så alla tips och förslag tages tacksamt emot.

Medlem sedan jan. 20022 440 inlägg
#2

Till att börja med bör du ha med något som beskriver varje items språk. Typ

		<item id="Page_Home" lang="en"> 
ELLER
			<lang>en</lang>
ELLER
<resource lang="en"> osv
			<value>Home</value>
			<desc>Home tab text</desc>
		</item>

Annars blir det väl svårt att ställa rätt frågor osv. mot xml-datakällan! Annars tycker jag personligen att du skulle kunna skapa en massa filer allihop åt varje språk så kan användaren spara över med sina ändringar när det behövs. Vill du lägga till något i orginal-filen så är det ju bara att söka upp positionen där du ska lägga till i de andra filerna och lägga till det, sedan kan ju de andra ändra efter behov och nöje :)

Medlem sedan feb. 20034 441 inlägg
#3

Jag har ingen möjlighet att ändra i XML filerna, eftersom dessa ingår i ett CMS.
Tänker mig att jag läser in den Engelska filen och sen läser in rad för rad från t.ex. Tyska. Hittas inte ett id i den Tyska, skrivs den Engelska ut.

Jag sitter fast lite i hur själva koden ska se ut. Jag vill skriva ut alla <item id="" /> som input fält, där id="" är samma sak som <input name="" />.

Om ett nytt <group id="" /> dyker upp, ska en rubrik, typ <h1 /> skrivas ut.

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)