Budowa pliku xml na potrzeby translatora

0

Cześć wszystkim.
Mam prośbę.
potrzebuje przykład budowy pliku xml w którym plik mp3 będzie odpowiadał innemu. Buduje coś na zasadzie słownika(translatora) wielojęzycznego. Plik mp3 będą w różnych folderach i pod folderach w zależności, najpierw od języka PL,EN,FRA a dalej w kategoriach liczebniki, kolory itd. Przykładowo mamy słowo Dom z folderu Dom i rodzina. Chce to tak zbudować by była możliwość wczytania plików mp3 do Listboxa(playlisty). Najpierw w zalezności od kategorii językowej ALL, PL, FRA ** tu mielibyśmy wybór w ComboBox a dalej z pod folderów tematycznych np. tylko Dom i rodzina lub Dom i rodzina + liczebniki ** tu myślałem o TreeView z dodaniem CheckBox Co do ostatniego to sprawa jeszcze otwarta w jaki sposób logicznie to zrobić. Przede wszystkim proszę o zarys fizycznej budowy pliku xml do przykładu poniżej jak on powinien wyglądać tak by mieć możliwość w sensowny sposób zrobienie takiego translatora, gdyż nigdy ich jeszcze nie używałem.

Folder: Dom i rodzina
PL
słowo: Dom - wyświetlane np. w Label
ścieżka do pliku dom.mp3
EN
słowo: House
ścieżka do pliku house.mp3
FRA
słowo: Maison
ścieżka do pliku maison.mp3

Folder Liczebniki:
PL
słowo: Jeden - wyświetlane np. w Label
ścieżka do pliku jeden.mp3
EN
słowo: One
ścieżka do pliku One.mp3
FRA
słowo: Un
ścieżka do pliku Un.mp3

0

Ostatnio była mowa o plikach INI i nawet zostały podane przykłady dotyczące przechowywania w nich danych potrzebnych translatorowi. Pliki te mają bardzo prostą budowę i bardzo łatwo odczytuje się z nich dane. Format ten nie obsługuje struktury drzewiastej, jednak nie jest to konieczne w tym przypadku.

Natomiast pliki XML posiadają drzewiastą strukturę, więc ich budowa jest nieco bardziej skomplikowana, a sam odczyt danych z takich plików nie jest tak prosty jak w przypadku INI. Przykładów plików XML jest w sieci pełno, więc nie problem sobie poszukać.

0

Nie wiem co było ostatnio ale dzięki za rady. Powiadasz pliki ini były by prostsze. Wybacz zapytałem u źródła :)

0

pomyślę o tym. Pytanie czy podstawową (root) strukturą do budowy XML-a są foldery czy słowa ? z Twojego pytania wynika że folder, ale bardziej logicznym były by słowa

<?xml version="1.0" encoding="utf-8"?>
<Translator>
    <Words>
    	<Word>
			<Description>jeden</Description>
			<Folder>Dom i rodzina</Folder>
			<Language>
				<LanguageCode>PL</LanguageCode>
				<Mp3>Scieżka do pliku  jeden PL</Mp3>
			</Language>
			<Language>
				<LanguageCode>EN</LanguageCode>
				<Mp3>Scieżka do pliku jeden EN</Mp3>
			</Language>
		</Word>
    	<Word>
			<Description>dwa</Description>
			<Folder>Dom i rodzina</Folder>
			<Language>
				<LanguageCode>PL</LanguageCode>
				<Mp3>Scieżka do pliku  dwa PL</Mp3>
			</Language>
			<Language>
				<LanguageCode>FR</LanguageCode>
				<Mp3>Scieżka do dwa  FR</Mp3>
			</Language>
		</Word>
		
	</Words>
</Translator>

do tego XmldataBinding który utworzy Ci wygodny w użyciu interfejs do edycji XML-a

0

No właśnie tu jest dowolność, chodzi mi tylko by miało to sens. Chce mieć tylko później możliwość wczytywania plików do Listboxa tematycznie czyli jak opisałem wcześniej, czyli najpierw wybieramy język lub wszystkie a potem tematy czyli Np. dom + liczebniki itd
A jeśli to faktycznie jak kolega doradzał prościej będzie zrobić w INI może być w INI, nie ma powiedziane na siłę e to ma być xml.

0

wydaje mi się że podstawą translatora powinno być "słowo", wybieramy z listy słowo i w następstwie mamy listę tłumaczeń "słowa" na różne języki
a słowo może być wybrane z listy tematycznej

A jeśli to faktycznie jak kolega doradzał prościej będzie zrobić w INI może być w INI, nie ma powiedziane na siłę e to ma być xml.

pliki INI są dobre do odwzorowania dwuwymiarowej struktury , przy większej liczbie wymiarów pojawiają się problemy , a Twój problem ma więcej niż dwa wymiary . Pierwszy wymiar to lista kategorii ("Dom", "ogród" ...) , drugi to lista słów ("kosiarka", "myjka" ..) , a trzeci to konkretny język ("PL", "FR", "EN"....)

0

@grzegorz_so: nic nie stoi na przeszkodzie, aby drzewiastą strukturę katalogów przedstawić w niedrzewiastym formacie plików konfiguracyjnych, jakim jest np. INI. Tym bardziej, że osoba pytająca jest początkująca i XML przyprawi ją o zawrót głowy.

W konfigu i tak trzymane będą ścieżki do plików dźwiękowych, więc bez problemu można obie rzeczy pogodzić. Struktura plików będzie mogła być dowolna (drzewiasta z podkatalogami lub płaska - wszystkie pliki w jednym katalogu), bo najważniejsze jest to, aby ścieki plików na dysku pokrywały się ze ścieżkami w konfigu. Pozostaje jeszcze kwestia tworzenia konfigów (tu zdecyfowanie wygrywa INI), a także trudności odczytu danych (tu też wygrywa prostotą), dlatego też pytaczowi sugeruję ten format na początek.

Róbcie jak chcecie, jednak i tak założę się, że pytacz sam sobie z tym nie poradzi i trzeba będzie sypać gotowcami.

0

@furious programming: do drzewiastych struktur są lepsze struktury danych niż pliki INI , jest XML czy JSON . Oczywiście, zawsze można zapisać drzewo w INI , ale po co ? aby udowodnić że da się ? chyba nie o to chodzi.

0

Nie rozumiesz. Ja nie twierdzę, że do drzewek INI są najlepsze (bo nie są), tylko że pytacz na pewno nie ogarnie XML i aby zaimplementować konkretne rozwiązanie do tego translatora, będziesz musiał prowadzić pytacza za rękę. A na pewno tak będzie - uwierz mi.

Ale to nieważne - niech pytacz sobie wybierze któryś format i zacznie z nim działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1