ISO Sprachcodes

Inspector

Erfahrenes Mitglied
Teils, teils. Das Problem ist nicht so ganz trivial.

Also, zunächst mal wird in der rss-Datei die verwendete Sprache angegeben. Wenn Du ein Blog unter einem Namen in mehreren Sprachvarianten anbieten willst, dann brauchst Du automatic content negotiation, und dann wird der Sprachcode beispielsweise noch an den Dateinamen mit angehängt.

Wenn nun Jemand einen Beitrag in mehreren Sprachen verfassen will, so schreibt er ja zwei vollständige Artikel. Der eine Artikel landet beispielsweise in dem deutschen Blog, der beispielsweise türkische Artikel mit sonst gleichem Inhalt landet in dem türkischen Blog (eine Variante, wie sie z.B. für einen Politiker wie Ozan Mutlu sinnvoll wäre).

Natürlich wäre es möglich, für die verwendeten Sprachen manuell einfach die Sprachcodes in einem Textfeld einzugeben. Wenn gar nix Anderes geht, werde ich das auch genau so machen. Aber wenn es natürlich eine Möglichkeit gäbe, die zu verwendenden Sprachen einfach in einem select zusammenzuklicken, wäre das halt besser. Insbesondere auch deswegen, weil man die einzelnen Bestandteile sowohl mit underscore als auch mit Bindestrich trennen kann, und weil nicht jeder Blogger auch die korrekten iso Sprachcodes kennt und vielleicht eher annimmt, er solle seine Sprache einfach ausgeschrieben angeben ("deutsch" anstatt "de"), was dann bei der Auswertung zusätzliche Probleme aufwirft. Dabei kommen Tippfehler bei der Sprachangabe noch mal erschwerend hinzu.

Also, um die Verwaltung halbwegs konsistent hinzubekommen, wäre ein Sprachcode aus einer vorgegebenen Liste einfach besser.

Übrigens, so ganz nebenbei: So ein Politiker wie dieser Ozan Mutlu, was für ein Türkisch spricht der nun? tr-DE? Nur so ganz am Rande :)
 

Gumbo

Erfahrenes Mitglied
Ich verstehe schon, worauf du hinaus willst. Nur glaubst du der Endbenutzer wird da durchsteigen?
Stell dir mal mal einen Deutschen vor, der nach Österreich gezogen ist und dort nun über die Österreicher und ihre Eigenheiten bloggt. Was sollte dieser angeben? „de-DE“, „de-AT“ oder doch nur „de“? Und was wenn seine Schweizer Frau auch mitbloggt?

Du siehst, man kann das Ganze schnell auf die Spitze treiben (und auch übertreiben).
 

Inspector

Erfahrenes Mitglied
Naja, ich denke mal, so langsam kommt mir da schon eine Idee für einen "Workaround", bei dem man auch problemlos durchsteigen kann.

Also, bei der Neuerstellung eines Blogs kann man aus drei Listen je eine Sprache, ein Land und eine Region auswählen. Eine Mehrfachauswahl ist nicht möglich (wegen der Kombinationen). Je nach http Aceppt-Language bekommt man dazu, wenn vorhanden, schon mal das Formular in der entsprechenden Sprache. In diesem Formular ist diese Sprache in der ersten Liste bereits ausgewählt.

Die Auswahl der anderen Beiden ist optional (kann man auch einfach weglassen). Erstellt wird damit genau ein Blog. Bei der ersen Erstellung steht die Sprache nur in der Datei drin und hängt nicht am Dateinamen. Das dürfte wohl der Normalfall sein.

Wenn nun Jemand eben dieses Blog in einer zweiten Sprache zusätzlich haben will, kann er mit dem gleichen Formular das bereits erstellte sozusagen als Muster laden (das geht sowieso schon). Dann trifft er einfach eine neue Sprachwahl. In dem Fall müssen die bisher erstellten Dateien umbenannt werden (der dort vorhandene Sprachcode muss an die Dateinamen angehängt werden), bevor nun die neuen Dateien mit angehängtem Sprachcode erstellt werden. Dieser Vorgang kann beliebig oft wiederholt werden.

Man kann natürlich auch gleich am Anfang bei der ersten Erstellung die Angabe der Sprache aktiv abwählen. Dann werden die anderen beiden Listen ignoriert, kein Sprachcode in die erzeugten Dateien eingefügt, und es wird nicht möglich sein, dazu weitere Sprachversionen zu erstellen.

Ist nicht gnaz so komfortabel wie ich mir das ursprünglich gedacht hatte, aber so könnte es gehen.

Bei Gastbeiträgen ist das so eine Sache. Die Sprache des Gastbeitrages sollte, falls von der Sprache des Gesamtblogs abweichend, angegeben werden. Eventuell muss ich hier wieder die drei Listen anbieten. Die Sprache kann dann in der rss-Datei und in der xhtml-Datei auf item-Ebene mit xml:lang gekennzeichnet werden, i html mit lang.
 

Inspector

Erfahrenes Mitglied
Für den allgemeinen Gebrauch habe ich mal eine Liste der Sprach- und Ländercodes zusammengestellt, im opml-Format. Das Format ist so simpel, dass ein kleiner Auszug selbsterklärend sein sollte:
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0" >
	<head>
		<title>Language and country codes</title>
	</head>
	<body>
		<outline title="Languages">
			<outline bibliographic="alb" terminologic="sqi" alpha2="sq" description="Albanian"/>
		</outline>
		<outline title="Countries">
			<outline text="AF" description="AFGHANISTAN"/>
		</outline>
 	</body>
</opml>

Die Datei gibt's derzeit unter http://www.rorkvell.de/prj/flexblog/lang.opml

Die url wird sich allerdings in Zukunft ändern, da das hier ein temporäres Projektverzeichnis ist.

Es sollte ein Leichtes sein, per xsl daraus z.B. einen Teil eines (x)html Formulars zu machen. Viel Spaß damit.