Wikipedia Diskussion:Wikyrill-o-mat

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Feedback[Quelltext bearbeiten]

Hey,

ich find das Tool schon jetzt recht brauchbar, ein paar Dinge sind mir aber aufgefallen:

  1. Umgang mit Apostroph: Im Weißrussisch-Modus wird аб’яднаных und аб'яднаных unterschiedlich transkribiert. Mit den Apostroph-Varianten sollte einheitlich umgegangen werden.
  2. wissenschaftliche Transliteration/Kopiervorlage: Bei den nicht-russischen Sprachen enthält die Kopiervorlage eine leere Transliterations-Vorlage ('''ab’jadnanыch''' ({{bgS|аб’яднаных}}, wiss. [[Transliteration]] ''{{lang|bg-Latn|}}''. Mir schiene es besser, sie nur angezeigt zu bekommen, wenn sie auch etwas enthält. Bei mehrzeiligem Input wird Zeile 1 normal outgeputtet, bei Zeile 2 bei nicht-russischen Sprachen nur die WP-Umschrift, ab Zeile 3 bei nicht russischen Sprachen gar nichts mehr.
  3. fremde Zeichen: бы wird im Ukrainisch-Modus zu bы transkribiert, das verräterische Zeichen also einfach original wieder zurückgegeben. Bug oder Feature? Ein Fehlerhinweis ("Input enthält ein Zeichen, das im Alphabet dieser Sprache nicht vorkommt.) wäre meiner Meinung nach besser.
  4. alte Varianten: Für irgendwann in der Zukunft fände ich es nett, wenn auch das Russische von vor der Reform unterstützt wäre, also auch Zeichen wie das ѣ aufgenommen sind.
  5. neues kasachisches Lateinalphabet: Die Diskussion muss man nicht hier führen, aber irgendwann vermutlich irgendwo anders. Jedenfalls scheint es da Konkurrenz für die bisherige Transkribiertradition zu geben.
  6. da die Usbeken auch heute noch die Kyrilliza nicht überwunden haben, wünsch ich mir, dass das Usbekische auch noch unterstützt wird.

Danke für die hier reingesteckte Energie, … «« Man77 »» (A) wie Autor 22:03, 2. Mär. 2018 (CET)

Danke dir für das Feedback. Ich habe mir mal erlaubt die Punkte durchzunummerieren. Dazu:
  1. Ich seh es. Da sollte ja eher kein Apostroph rein. Der Fehler lässt sich schnell beheben.
  2. Die Transliteration habe ich jetzt mal sekundär prioriziert. Die wird aber auch noch ergänzt. Wenn ich mal Lust habe. Deswegen gibt es sie bisher nur für Russisch, aber da das Design unabhängig von der ausgewählten Sprache ist, ist auch bei den anderen das Feld für Transliteration drin. Das wäre eher ein Fall für Sebastian, wenn das raus sollte.
  3. Hmmm.. Eher Feature. Was nicht existiert, kann nicht transkribiert werden. So sollte man den Fehler recht schnell sehen. Aber ich schaue mal, ob sich da was machen lässt.
  4. Uh. Davon habe ich mal gaaar keine Ahnung. Ist der Bedarf da so groß?
  5. Ja. Wir haben ja schon mal darüber diskutiert. Aber erstmal möchte ich wirklich feste Regeln, weil sich bei Kasachisches Alphabet die Tabelle, das Bild und das Beispiel alle wiedersprechen. Und bis 2025 ist es noch hin.
  6. Ich habe überlegt, was man mit Usbekisch, Turkmenisch und Aserbaidschanisch machen kann. Ob es möglich ist, aus englischer Transkription automatisch generierte Vorschläge zu erstellen, wie es richtig sein könnte, was man dann anhand von Google ausprobiert. Könnte für Laien aber schwer verständlich sein und ist wohl auch nicht so leicht zu programmieren. Usbekisches Kyrillisch solte aber schnell zu machen sein.
Ich kümmer mich die Tage und warte auf weiteres Feedback. Danke. --Kenny McFly (Diskussion) 22:28, 2. Mär. 2018 (CET)
Zu 2: Die nicht ausgegebenen Transliterationen seh ich auch nicht prioritär, die nicht ausgegebenen Kopiervorlagen ab Zeile 3 zumindest prioritärer.
Zu 4: Ich glaub nicht. Fänd es aber cool. Wenn dir mal richtig fad ist… … «« Man77 »» (A) wie Autor 23:01, 2. Mär. 2018 (CET)
Ich weiß leider nicht so wirklich, was du meinst mit den drei Zeilen. Gibst du mir ne Beispielabfrage? --Kenny McFly (Diskussion) 23:07, 2. Mär. 2018 (CET)
Kopier dir zB die (ganze) erste Strophe im Originaltext von hier und lass sie dir transkribieren.
Die Kopiervorlage ist zwar nicht für solche Beispiele gedacht, aber a) könnte man gleich mehrere Anwendungsfälle auf einmal durch den Automaten schicken wollen und b) funktionierts bei Russisch. … «« Man77 »» (A) wie Autor 00:09, 3. Mär. 2018 (CET)

ый[Quelltext bearbeiten]

Hallo,

das Tool transkribiert ый zu yj , bspw. Янтарный wird zu Jantarnyj. Sollte es aber nicht Jantarny heißen?

Viele Grüße --Mondfeuer61 (Diskussion) 12:22, 6. Apr. 2018 (CEST)

Ich danke dir. Wurde gemeinsam mit dem weißrussischen Apostroph-Bug gerade behoben. LG, Kenny McFly (Diskussion) 12:44, 6. Apr. 2018 (CEST)

Englische Transkription in dt. wikikonforme Transkription[Quelltext bearbeiten]

Ich hab englisch sprachige Texte mit der Transkription von Flussnamen. Die originale weißrus. oder ukr. Umschrift in kyrill. ist in der Quelle nicht angegeben. Diese entsprechen bei den mir bekannten Flussnamen nie der deutschen Transkription. Wie soll ich da vorgehen?--Francis McLloyd (Diskussion) 13:49, 7. Apr. 2018 (CEST)

Ich habe überlegt einen "Ratemodus" einzubauen, um von Englisch auf kyrillisch zu gehen und die dann manuell per Google oder so prüfen zu können. Aber das würde eigentlich nur für Russisch gehen. Aber ganz ehrlich. Ist es wirklich so schwer ohne Vorkenntnis die kyrillische Schreibung rauszufinden wenn man googlet? --Kenny McFly (Diskussion) 14:47, 7. Apr. 2018 (CEST)

Was ist eigentlich mit der Baschkirischen Sprache?[Quelltext bearbeiten]

Gibt es da schon Regeln? --Sebastian Wallroth (Diskussion) 20:22, 21. Apr. 2018 (CEST)

Nur Transliteration: Kyrillisches Alphabet#Baschkirisch. Offizielle Transkriptionsregeln haben wir noch nicht. Ich hatte mal einige Sprachen begonnen: Benutzer:Kenny McFly/Transkriptionen, aber das Einsatzgebiet ist klein, weil für die Lemmatisierung immer die Staatsangehörigkeit herangezogen wird und Baschkortostan kein unabhängiges Land ist. Für viele Sprachen kann man aber sehr schnell Transkriptionsregeln erschaffen, wie es im Artikel Baschkortostan passiert zu sein scheint, aber mMn ist das TF. --Kenny McFly (Diskussion) 20:35, 21. Apr. 2018 (CEST)

Link zu GitHub[Quelltext bearbeiten]

Der Link auf GitHub ([1]) ist zur Zeit 404. --Zenith4237 ( • Beiträge • ±) 16:43, 31. Mai 2018 (CEST)

Hallo @Zenith4237: Vielen Dank für den Hinweis. --Sebastian Wallroth (Diskussion) 20:57, 31. Mai 2018 (CEST)

Ausgabeformate[Quelltext bearbeiten]

Nettes Tool, aber ich habe trotzdem einen Featurewunsch: es wäre höchst hilfreich, wenn das Tool per Skript genutzt werden könnte. Sprich, Eingabe über URL-Parameter und Ausgabe als JSON- und/oder XML-Format anstelle der HTML-Seite, so ähnlich wie man das zum Beispiel bei Petscan auch machen kann. Könnt Ihr so etwas in Erwägung ziehen? Danke und viele Grüße! —MisterSynergy (Diskussion) 23:51, 7. Jun. 2018 (CEST)

Ich habe da wenig technische Ahnung von, werde mich aber mal drum kümmern (lassen). Tausend Dank für die Rückmeldung und LG, Kenny McFly (Diskussion) 01:12, 8. Jun. 2018 (CEST)
Wikyrill-o-mat ist mit Javascript umgesetzt. Man kann mit Javascript auch eine REST-Schnittstelle bauen. Wenn ich mal wieder ein Wochenende frei habe, schaue ich mir das gern an. --Sebastian Wallroth (Diskussion) 07:56, 8. Jun. 2018 (CEST)
Hallo MisterSynergy, ich habe gestern URL-Parameter und verschiedene Ausgabeformen eingebaut. Passt das so für Dich? --Sebastian Wallroth (Diskussion) 11:20, 7. Jan. 2019 (CET)
Die URL-Parameter sind schonmal super, aber mit den Ausgabeformaten komme ich noch nicht klar. mode=text zeigt im Browser die blanke Transkription an, aber im Quelltext ist das normale HTML-Skript zu finden, ohne die Eingabe und ohne die Ausgabe; ich fürchte, beides wird browserseitig mit Javascript eingelesen und erzeugt. Mein Plan ist eigentlich, mit Python (oder was auch immer) eine Liste von Eingaben automatisiert von dem Tool transkribieren zu lassen; dazu müsste dann aber auch die Ausgabe den transkribierten Text enthalten (optimalerweise nichts anderes als den transkribierten Text, aber im Zweifel würde ich das auch aus einem Quelltext rausfummeln können). —MisterSynergy (Diskussion) 13:38, 7. Jan. 2019 (CET)
Würde mich interessieren, wie Du das machst, MisterSynergy. Ich habe jedenfalls nichts dazu gefunden, wie man mit JavaScript eine Ausgabe so gestaltet, dass man es mit einem Webservice abfragen kann. Vielleicht auf die Konsole? Die "text"-Option werde ich wieder rausnehmen, weil sie ja nichts nutzt. --Sebastian Wallroth (Diskussion) 16:49, 7. Jan. 2019 (CET)
Ich kenne mich mit Javascript nicht richtig aus, daher kann ich da nicht wirklich helfen. Normalerweise wird JS ja im Browser von einer JS-Engine ausgeführt, und das Ergebnis dann irgendwie weitergenutzt (z. B. im Browser dargestellt). Soweit ich das verstehe, wird auch hier die Transkription komplett clientseitig durchgeführt. In Python hab ich (glaub ich) leider keine JS-Engine, so dass ich mit dem HTML+JS-Skript selbst nichts anfangen kann.
Irgendwann habe ich mal gehört, dass man JS auch serverseitig irgendwie ausführen kann. Erfahrung oder Details dazu hab ich leider keine. Ob das hier eine realistische Möglichkeit ist, kann ich nicht sagen. Wenn dem so wäre, dann könntest Du mutmaßlich eine echte textbasierte Ausgabe machen. —MisterSynergy (Diskussion) 18:07, 7. Jan. 2019 (CET)

Neuer Name[Quelltext bearbeiten]

Da Kenny dankenswerterweise Armenisch hinzugefügt hat, passt der Name des Tools nicht mehr. Ideen:

  1. Wikitranscripti-o-mat
  2. Wikitranscript-o-mat
  3. Wikitrans-o-mat
  4. Wikitranscriptioner
  5. Transcripti-o-mat
  6. Transcript-o-mat
  7. Transwikription
  8. Transwikripti-o-mat
  9. Transwikript-o-mat

Andere Vorschläge? --Sebastian Wallroth (Diskussion) 10:51, 8. Jun. 2018 (CEST)

Ich denke mal drüber nach. Vielleicht kann man es ja trotzdem so lassen. --Kenny McFly (Diskussion) 10:53, 8. Jun. 2018 (CEST)
Wenn noch für die anderen Sprachen die Transliteration folgt, würde alles mit "Transscript" den vollen Umfang des Programms ja erneut nicht wiedergeben und der nächste Namenswechsel stände an. Gruß Berihert ♦ (Disk.) 13:30, 8. Jun. 2018 (CEST)
PS: Transomat würde wahrscheinlich ganz andere Interessenten auf die Seite locken. Stichwort Gender, Berihert ♦ (Disk.) 13:33, 8. Jun. 2018 (CEST)
Made my day. xD --Kenny McFly (Diskussion) 13:34, 8. Jun. 2018 (CEST)

Fedossij Schtschus[Quelltext bearbeiten]

Wieso transkribiert das Programm den Namen des Anarchisten Fedossij Schtschus aus dem ukrainischen Федосій Юстинович Щусь Fedossij Justynowytsch Schtschus mit doppel-s im Vornamen aber aus dem russischen Феодосий Юстинович Щусь Feodosi Justinowitsch Schtschus mit nur einem s im Vornamen, wo doch in WP:NKK unter Anmerkung 5) steht с zwischen Vokalen ss, sonst s. ? Gruß, Berihert ♦ (Disk.) 20:39, 18. Jun. 2018 (CEST)

Das ist ein Bug. Warte kurz. --Kenny McFly (Diskussion) 20:42, 18. Jun. 2018 (CEST)
Neue Version online. Danke für die Meldung. Passt es? --Kenny McFly (Diskussion) 20:49, 18. Jun. 2018 (CEST)
Danke! Ja, von der transliteration abgesehen, aber die mag anders sein ... Berihert ♦ (Disk.) 20:50, 18. Jun. 2018 (CEST)
Ist sie. Da wird ja zwischen <s> (с) und <z> (з) unterschieden. --Kenny McFly (Diskussion) 20:58, 18. Jun. 2018 (CEST)
Was du so alles weist ... Super, gut das wir einen wie Dich haben! Berihert ♦ (Disk.) 21:02, 18. Jun. 2018 (CEST)

Wissenschaftliche Transliteration von ь und ъ beim Russischen[Quelltext bearbeiten]

Keine Ahnung, ob es so wichtig ist, aber das Programm gibt für ь das stinknormale Apostroph-Tastatur-Ersatzzeichen ' [U+0027] aus, für ъ aber ʺ [U+02BA], was korrekt ist. Um diesem zu entsprechen, müsste für ь ein ʹ [U+02B9] ausgegeben werden. Gruß, --HГq 17:14, 30. Jun. 2018 (CEST)

Fehlende schließende Klammer[Quelltext bearbeiten]

Unter "Wikipedia-Kopiervorlage" fehlt, falls ich das richtig sehe, die schließende Klammer. --Reiner Stoppok (Diskussion) 15:13, 3. Aug. 2018 (CEST)

Hallo Reiner. Da hast du Recht, allerdings ist das gewollt, damit man nach dem Einfügen direkt weiterschreiben kann, da ja noch das Geburtsdatum eingefügt und erst dann die Klammer geschlossen werden muss. --Kenny McFly (Diskussion) 15:20, 3. Aug. 2018 (CEST)
Ach so, das ist nur für Personennamen ... --Reiner Stoppok (Diskussion) 17:27, 3. Aug. 2018 (CEST) PS: ;)
Die Vorlage ist nur für Personennamen. Generell habe ich es leider erst geschafft, nur das Armenische so einzustellen, dass es Texttranskriptionen anfertigen kann. Bei allen anderen fehlt diese Funktion leider noch. Ich empfehle für Transkriptionen für Begriffe u.ä. alle Wörter mit einem Großbuchstaben beginnen zu lassen, aber so häufig sollte das nicht vorkommen. Das Tool ist halt hauptsächlich für Personennamen ausgelegt. --Kenny McFly (Diskussion) 18:14, 3. Aug. 2018 (CEST)

Георгієвський[Quelltext bearbeiten]

Tool sagt Georgієwski (wiss. Transliteration Georgієvs'kij) mit є in der Transkription. Gruß, Berihert ♦ (Disk.) 21:36, 31. Aug. 2018 (CEST)

Sicher, dass du auf Ukrainisch gestellt hast und nicht auf Russisch? --Kenny McFly (Diskussion) 22:07, 31. Aug. 2018 (CEST)
Ja, wiederholt und jetzt sicher! 22:35, 31. Aug. 2018 (CEST)
Hm. Also bei mir kommt ganz normal "Heorhijewskyj" raus... --Kenny McFly (Diskussion) 22:37, 31. Aug. 2018 (CEST)
Öem. Äh, was soll ich sagen? Mein Fehler! Zuviel Sprachdurcheinander in meinen Quellen. Alles ok, vergiss es. Dank, Berihert ♦ (Disk.) 22:52, 31. Aug. 2018 (CEST)
Kein Ding. Wünsch dir noch einen schönen Abend :) --Kenny McFly (Diskussion) 22:53, 31. Aug. 2018 (CEST)

Serbisch[Quelltext bearbeiten]

Ist geplant, das Tool auch auf die serbische Sprache auszudehnen, oder ist die Transkription vom serbischen kyrillisch mit einer anderen Sprache identisch so, dass man diese verwenden kann? --Mogelzahn (Diskussion) 16:04, 8. Sep. 2018 (CEST) PS: Ein klasse Tool, das mir schon häufig weitergeholfen hat.

Okay. Ich werde mich kümmern. Kann aber noch nicht sagen, wann ich da Zeit finde. Vielleicht nach der WikiCon. Da gehen sowieso noch einige Schriften und Textunterstützung, die bisher erst bei Armenisch gegeben ist. Ist bisher mehrheitlich nur auf Namen ausgelegt. --Kenny McFly (Diskussion) 16:30, 8. Sep. 2018 (CEST)
Eilt nicht, wollte nur nachfragen. Dass das Tool nur auf Namen ausgelegt ist, stört aus meiner Sicht nicht, weil Namen (und Ortsbezeichnungen) ja nunmal auch der Hauptanwendungsbereich sind. --Mogelzahn (Diskussion) 14:59, 10. Sep. 2018 (CEST)

JavaScript[Quelltext bearbeiten]

Ich bin mal über euer Schmuckstück gekommen.

  • An der Programmierung gefällt mir einiges nicht; dazu unten im Detail.
  • Die Doku (Vorderseite) ist fein; Lob!
  • Inhaltlich werden ich mich mittelfristig zu dem Gesamtkomplex erneut melden.

VG --PerfektesChaos 15:14, 8. Jan. 2019 (CET)

Deklarationsfehler[Quelltext bearbeiten]

Jede Variable wird nur genau einmal in einer Einheit (function) mittels var deklariert (und zwar ganz oben, vor allem anderen).

  • Eine Wiederholung der Deklaration könnte schlimmstenfalls dazu führen, dass die vorangegangene Wertzuweisung ignoriert würde.
  • Gnädigerweise lässt übliches JS das zwar durchgehen; das muss aber nicht bei jedem Benutzer und Browser so sein.
  • In jedem Fall ist es falsch, Nonsens und überflüssig.
  • Ich zähle über 900 unerlaubte wiederholte var.

Nicht korrekt: Erneute Deklaration.

var transcription = transcription.replace(/Ու/g, "U");
var transcription = transcription.replace(/ու/g, "u");

Vielmehr wird einmalig zu Beginn der Funktion deklariert:

function transcribe (){
   // Auslesen des Originaltextes
   var source = document.getElementById("source").value;
   // Entfernen des Unicode Character 'COMBINING ACUTE ACCENT' (U+0301)
   source = source.replace(/\u0301/g, '');
   // Initialisierung der Transkription
   var t = source;
   // Initialisierung der Transliteration
   var transliteration = source;
   // Auslesen der Sprache
   var language = document.theForm.languageSelect.value;
   // Sprachabhängige Variablen
   var template, testedTranscription, transcriptionAlert;

Innerhalb des Bereichs switch (language) { dürfen dann keinerlei var mehr vorkommen.

Die recht häufige und markante transcription habe ich hier mal mit t abgekürzt und damit die Nutzlast in Netzwerk und für die Interpretation um rund 25 Kilobyte erleichtert. Von 72 kB insgesamt.

Verketten[Quelltext bearbeiten]

Statt (in hy):

var transcription = transcription.replace(/([ԱԵԷԸԻՈՕաեէըիուօ])ս([աեէըիոօև])/g, "$1ss$2"); // ս zwischen zwei Vokalen = ss
var transcription = transcription.replace(/Ու/g, "U");
var transcription = transcription.replace(/ու/g, "u");
var transcription = transcription.replace(/(\s|$)ե/g, "$1je"); // ե im Anlaut = je

Besser:

      t = t.replace(/([ԱԵԷԸԻՈՕաեէըիուօ])ս([աեէըիոօև])/g, "$1ss$2") // ս zwischen zwei Vokalen = ss
           .replace(/Ու/g, "U")
           .replace(/ու/g, "u")
           .replace(/(\s|$)ե/g, "$1je"); // ե im Anlaut = je

Statt immer ein neues Statement auszuführen und eine erneute Wertzuweisung zu fordern, die dann sowieso wieder weggeschmissen wird, wendet man einfach die nächste Aktion auf das Resultat der vorangegangenen Aktion (eine Zeichenkette) an.

  • Dann käme der Name transcription bei jeder Sprache wohl nur in einem einzigen Statement an genau zwei Stellen vor, und dann bräuchte man ihn auch nicht abzukürzen.
  • Würde ich allerdings trotzdem nicht so machen, sondern gemäß #Trennung von Programm und Daten völlig anders.

Trennung von Programm und Daten[Quelltext bearbeiten]

Zurzeit ist das ganze Wissen in jeder Einzelsprache in Statements hinterlegt.

  • So macht man das aber in dieser Größenordnung nicht.
  • Man baut eigentlich ein reines Datenobjekt, sieht dann in etwa so aus wie mit JSON, das dann für sämtliche Sprachen alle Regeln enthält, aber keine ausführbaren Anweisungen.
  • Dazu schreibt man einen prozeduralen Teil, der in die einzelnen Komponente (Objekte, Arrays) des Datenobjekts hineingreift, die jeweiligen Aktivitäten der sehr ähnlich gelagerten Fälle ausführt, und fertig.
  • Da die eigentlichen Aktivitäten für alle Einzelsprachen anscheinend fast überall identisch sind, hat man die Programmierung, also etwa die einer Fehlermeldung, nur ein einziges Mal zentral am Bein und die Sprachdefinitionen werden übersichtlicher. Will man den Algorithmus verbessern, braucht es das nur an einer einzigen Stelle und nicht für jede momentane und zukünftige Einzelsprache.
  • Beispielsweise würde man ein Array aufmachen, dessen Elemente lauter Arrays aus zwei Elementen sind, nämlich RegExp-Zeichenkette und Ersetzungs-Zeichenkette, und dann der Reihe nach die Sammlung aller Paarungen RegExp-Zeichenkette und Ersetzung durchgehen; ggf. noch mit einem optionalen booleschen nicht-g-Parameter.
  • Dann könnte man nebenbei auch das RegExp-Objekt spontan aus der RegExp-Zeichenkette generieren, und mit diesem dann die Ersetzung ausführen. Momentan müssen beim Laden der Seite für sämtliche Einzelsprachen alle RegExp-Objekte generiert werden, völlig egal, ob überhaupt und für welche Sprache das Formular ausgefüllt wird. Wer mit Vielfach-Nutzung des Formulars rechnet, könnte die RegExp-Zeichenkette bei allererster Nutzung durch das erzeugte RegExp-Objekt ersetzen und merkt das ja dann, wenn für dieselbe Einzelsprache eine erneute Aktion gefordert wird. Hieße voll optimiert: Booleschen Merker, ob für diese Einzelsprache bereits initialisiert wurde; falls nicht, dann einmalig alle RegExp-Zeichenketten dieser Einzelsprache durch RegExp-Objekte ersetzen. Oder anders ausgedrückt: Statt mit Schrägstrichen einfach mit Gänsefüßchen hinschreiben; in der Form wird es dann schneller beim Laden interpretiert.
/* Globale Vereinbarung */
var data = { hy: { replace: [
                      [ "([ԱԵԷԸԻՈՕաեէըիուօ])ս([աեէըիոօև])", "$1ss$2" ], // ս zwischen zwei Vokalen = ss
                      [ "Ու", "U" ],
                      [ "ու", "u" ],
                      [ "(\s|$)ե", "$1je" ] ], // ե im Anlaut = je
                   test: "ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՒՓՔՕՖաբգդեզէըթժիլխծկհձղճմյնշոչպջռսվտրցւփքօֆև"
             },   // hy
             bg: { replace: [ /* ... */ ],
                   test: "..."
             }
           };

und

var t = data[ language ],
    e, i, n;
if ( typeof t  ===  "object" ) {
   n = t.replace.length;
   if ( ! t.init ) {
      data[ language ].init = true;
      data[ language ].test = new RegExp( "[" + t.test + " -,]",  "gi" );
      for ( i = 0;  i < n;  i++ ) {
         data[ language ].replace[ i ][ 0 ] = new RegExp( t.replace[ i ][ 0 ], "g" );
      }   // for i
   }
   for ( i = 0;  i < n;  i++ ) {
      e = t.replace[ i ];
      transcription = transcription.replace( e[ 0 ], e[ 1 ] );
   }
} else {
   // "Sprache " + language + " ist leider nicht bekannt!"
}

Datenschutz[Quelltext bearbeiten]

Es werden die nachstehenden Ressourcen eingebunden:

Damit hinterlässt momentan jeder (mindestens erstmalige) Aufruf dieser Seite Spuren auf drei Fremdservern.

  • Diese enthalten IP-Adresse, individuelles Browserprofil mit allen persönlichen Vorlieben, und die Seite wo das verwendet wurde.
  • Damit können Unbefugte Data-mining betreiben.

Um das zu vermeiden, unterhält die WMF auf selbst kontrolliertem Server ein eigenes CDN.

  • In toolforge:cdnjs müsste eigentlich alles drinstehn, was man so braucht.
  • Selbst wenn eine Fremdsoftware ein böswilliges Element wie etwa ein Zählpixel mit Kontaktierung irgendeines Weltkonzerns enthalten würde, wäre diese Version rekonstruierbar auf unserem Server hinterlegt, das könnte auch lange Zeit später nachgewiesen werden, und deshalb macht das ja wohl keiner.
  • Ich rate deshalb dringend zur Umstellung.

Ende des Postings; ggf. Diskussion dazu[Quelltext bearbeiten]

Vielen Dank für die Korrekturen! Ich werde das so umsetzen. --Sebastian Wallroth (Diskussion) 18:57, 8. Jan. 2019 (CET)

Nachtrag: RegExp-Fehler[Quelltext bearbeiten]

Ich verbrachte den Sonntag mal ein wenig beim Quelltext-Lesen und fand RegExp, die etwas anderes bewirken als beabsichtigt.

  • Es geht um Konstrukte wie: /(\s|$)ե/
    • Hier steht in der Wirkung ein $ am Anfang.
    • case "hy": – 4 Gebilde dieser Art
    • case "ka": – 32 Gebilde
  • Das kann nie funktionieren.
    • $ ist das Ende der Zeichenkette, nicht der Anfang.
  • Gemeint ist vermutlich: /(^|\s)ե/
    • Das verstehen sehr alte Browser nicht, sollte aber klappen.
    • ^ ist der Beginn des gesamten Textes.
  • Bei case "kk": und case "ky": und case "ru": und case "tg": kommt es auch gelegentlich vor, aber da passt es, weil Ende.
  • Jedoch zu rigide ist etwa in ky und tg
    "ий$", "i" }, // й nach и am Wortende weg
    weil das nur am Ende der ganzen Zeichenkette wirkt, nicht aber wie versprochen am Wortende.
  • In allen diesen Fällen könnte man jedoch das syntaktische Element \b verwenden, weil das in JavaScript ganz allgemein für eine Wortbegrenzung steht. Das liefert keinen Inhalt $1 und steht für die Begrenzung eines Wortes zu Anfang der Zeichenkette, Ende der Zeichenkette, oder Whitespace oder Interpunktion davor oder dahinter.
    • Schlumpfige Browser würden zwar möglicherweise nicht einen exotischen Buchstaben direkt als Bestandteil eines Wortes erkennen, jedoch unbekannte Zeichen als solche auffassen und problemlos Leerzeichen, Interpretation und Enden der Zeichenkette zuordnen können.

VG --PerfektesChaos 23:07, 20. Jan. 2019 (CET)

Danke[Quelltext bearbeiten]

Ich möchte mich nur einmal bei Euch bedanken. Ohne dieses Tool könnte ich keine Artikel über sowjetische Filme schreiben, denn ich kann zwar die kyrillischen Buchstaben lesen, aber das ist auch schon fast alles. Also: Vielen Dank! --Berlinspaziergang (Ich liebe Regeln) 13:28, 22. Jan. 2019 (CET)

transText, Vorlage, BETA und die Zukunft[Quelltext bearbeiten]

Ich hatte schon seit langer Zeit ähnliche Pläne und interessiert den Wikyrill-o-mat verfolgt.

Als Vorlage:transText gibt es nunmehr eine Basis-Version.

  • Das darunter liegende Modul:TransText ist für den globalen Einsatz konzipiert.
  • Prinzipiell soll von beliebiger Sprache/Schrift in beliebige Sprache/Schrift transferiert werden können, sofern die linguistischen Regeln trivial genug formalisierbar sind.
  • Eine Lösung per Lua-Untermodul für eine einzelne Regeldefinition erlaubt es jedem Wiki-Benutzer, ohne eine kleine Gruppe von GitHub-JS-Zugangsberechtigten selbst die Regeln zu verbessern und neue Beziehungen zu erstellen, zumal inWiki-Lua sicherheitstechnisch sehr viel weniger problematisch ist als eine externe JS-Lösung.

--PerfektesChaos 11:29, 28. Jan. 2019 (CET)

Integration von BETA-Vorschlägen[Quelltext bearbeiten]

@Kenny McFly, Sebastian Wallroth: Die fachliche Arbeit der bisherigen Ersteller von Regeln soll gewürdigt und hier in der echten WP dokumentiert werden.

  • Deshalb sollten Untermodule jeweils von einem Hauptbeteiligten hier als Seite erstellt werden.
  • Der Status Quo aus JavaScript liegt zum Testen im BETA-dewiki vor.
  • Dortige TransText-Spielwiese zum Rumprobieren.
  • WP:BETA zu dieser Umgebung.

Ich bitte deshalb um entsprechende Unterstützung. --PerfektesChaos 11:29, 28. Jan. 2019 (CET)

BETA-Migration[Quelltext bearbeiten]

Code/BETA Inhalt Status
be weißrussisch rot→blau
bg bulgarisch rot→blau
hy armenisch rot→blau
ka georgisch rot→blau
kk-Cyrl kasachisch rot→blau
ky-Cyrl kirgisisch rot→blau
mn-Cyrl mongolisch rot→blau
ru russisch rot→blau
tg-Cyrl tadschikisch rot→blau
uk ukrainisch rot→blau

Procedere:

  1. Erste Zeile: Aktuelles Datum drüberschreiben
  2. CREDITS: – hinter User: jeweils die Nicks derjenigen eintragen, die das linguistisch-fachlich erarbeitet hatten.
  3. SOURCE: – URL kann vermutlich entfallen.
  4. LICENSE STATEMENT: – ziemlich sinnfrei in einer WMF-Umgebung; komplett löschen
  5. Ggf. auf BETA zwischenspeichern.
  6. Ggf. auf TransText-Spielwiese experimentieren.
  7. Unter gleichem Namen in der echten Wikipedia Seite anlegen; möglichst durch den inhaltlichen Urheber.
  8. In der Tabelle eins drüber aktualisiert sich damit der Status.
  9. Um den Rest kümmere ich mich dann schon. --PerfektesChaos 11:29, 28. Jan. 2019 (CET)

Diskussion dazu[Quelltext bearbeiten]

Danke erstmal für deine Arbeit. Leider habe ich keine Ahnung mehr, was das alles ist und für Sebastian, mich und das Programm bedeutet und was ich jetzt machen muss. Könntest du mir da mal ne ausführliche Mail schreiben oder vielleicht auch telefonieren, wenn es schneller geht (Nummer auf Anfrage per Mail)? --Kenny McFly (Diskussion) 12:15, 28. Jan. 2019 (CET)

Ich versuch’s mal.
  1. Auf der angegebenen Spielwiese mal etwas experimentieren, damit das Prinzip klar wird.
  2. Für jede der in der Tabelle unter BETA-Migration angegebenen Sprachen durch einen hierbei Hauptbeteiligten das „Procedere“ ausführen.
  3. Anschließend steht das von mir vorbereitete Modul hier, und ich kümmere mich um die Vernetzung.
LG --PerfektesChaos 12:36, 28. Jan. 2019 (CET)