Home
Download
Add-ons
Help
Forum
Organisation
Project
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email?
May 25, 2012, 02:45:09 PM
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
Search:
Advanced search
Wollen Sie dem WebsiteBaker Team beitreten?
Nähere Informationen finden Sie unter
hier
und auf unserer
neuen Webseite
.
155506
Posts in
21711
Topics by
7737
Members
Latest Member:
simpleguy
WebsiteBaker Community Forum
Deutsch (German)
Module & Snippets
(Moderator:
badknight
)
Frage an die PHP-Profis.
Pages: [
1
]
Go Down
Author
Topic: Frage an die PHP-Profis. (Read 532 times)
CyberDyne
Offline
Posts: 158
Frage an die PHP-Profis.
«
on:
August 06, 2009, 08:53:52 AM »
Hallo,
ich habe das Modul Contactlist etwas zweckentfemdet und nutze es nun in vielen verschiedenen Sprachen, unter anderem auch Russisch.
In der Übersicht der Kontakte zeigt dieses Moduls ja eine Buchstabenauswahl von A bis Z an, welche via ...
Code:
$arrAlphabet = range('A', 'Z');
... in einer Zeile ausgegeben wird.
Meine Fragen nun:
1.) Ist jenes $arrAlphabet "schlau" genug, sich der Buchstaben des jeweilgen Landes zu bedienen?
2.) Wenn es nur unser Alphabet mit unseren Buchstaben kennt, wie bringe ich jenem $arrAlphabet bei, in Russland, das kyrillische Alphabet auszugeben?
Sommerliche Grüße,
Klaus
Logged
WebBird
Guest
Re: Frage an die PHP-Profis.
«
Reply #1 on:
August 06, 2009, 10:05:50 AM »
Quote from: CyberDyne on August 06, 2009, 08:53:52 AM
1.) Ist jenes $arrAlphabet "schlau" genug, sich der Buchstaben des jeweilgen Landes zu bedienen?
Nein. Es bekommt ja explizit die (lateinischen) Buchstaben A-Z angegeben. "Übersetzen" (oder besser, transcodieren) kann range() nicht.
Quote from: CyberDyne on August 06, 2009, 08:53:52 AM
2.) Wenn es nur unser Alphabet mit unseren Buchstaben kennt, wie bringe ich jenem $arrAlphabet bei, in Russland, das kyrillische Alphabet auszugeben?
Indem Du ein zweites Array machst und ihm die kyrillischen Buchstaben gibst.
Logged
CyberDyne
Offline
Posts: 158
Re: Frage an die PHP-Profis.
«
Reply #2 on:
August 06, 2009, 10:33:08 AM »
Quote from: WebBird on August 06, 2009, 10:05:50 AM
Indem Du ein zweites Array machst und ihm die kyrillischen Buchstaben gibst.
Hallo,
sowas habe ich befürchtet! Mit ...
Code:
array_push($arrAlphabet, 'Ä','Ö','Ü');
... kann ich wohl Sonderzeichen anfügen.
Nur wie erreiche ich, dass das Modul zwischen den Sprachen unterscheidet, sprich in Russisch nur Kyrill anzeigt, ansonsten aber Latein?
Gruß,
Klaus
Logged
WebBird
Guest
Re: Frage an die PHP-Profis.
«
Reply #3 on:
August 06, 2009, 10:45:28 AM »
WB setzt die Konstante LANGUAGE auf die verwendete Sprache. Diese könntest Du abfragen.
Code:
if ( defined('LANGUAGE') && LANGUAGE == '<Kürzel>' ) {
$arrAlphabet = array( ...kyrillisch... );
}
Das Ganze dann nach dem jetzigen $arrAlphabet-Kram. Ich weiß jetzt nicht, welches Kürzel Du nehmen mußt, vermutlich RU.
Logged
CyberDyne
Offline
Posts: 158
Re: Frage an die PHP-Profis.
«
Reply #4 on:
August 06, 2009, 12:35:08 PM »
Quote from: WebBird on August 06, 2009, 10:45:28 AM
WB setzt die Konstante LANGUAGE auf die verwendete Sprache. Diese könntest Du abfragen
Das habe ich nun mal probiert (zunächst mit den deutschen Umlauten zum testen, diese kyrillischen Zeichen machen einen nämlich völlig Zipfelsinnig, wenn man da länger drauf schauen muss). Es entspricht nicht ganz Deiner Version, die Abfrage nach dem Länderkürzel muss anders lauten.
Der Auszug sieht also wie folgt aus ...
Code:
if(LANGUAGE==RU) {
$arrAlphabet = array('Ä','Ö','Ü');
}
else
$arrAlphabet = range('A', 'Z');
array_push($arrAlphabet, 'Ä','Ö','Ü');
So funzt das schon mal mit Ä, Ö, und Ü.
Vielen Dank für Deine Hilfe!
Gruß,
Klaus
Logged
WebBird
Guest
Re: Frage an die PHP-Profis.
«
Reply #5 on:
August 06, 2009, 12:40:13 PM »
Quote from: CyberDyne on August 06, 2009, 12:35:08 PM
Es entspricht nicht ganz Deiner Version, die Abfrage nach dem Länderkürzel muss anders lauten.
Wieso?
Quote from: CyberDyne on August 06, 2009, 12:35:08 PM
Code:
if(LANGUAGE==RU) {
$arrAlphabet = array('Ä','Ö','Ü');
}
else
$arrAlphabet = range('A', 'Z');
array_push($arrAlphabet, 'Ä','Ö','Ü');
So funzt das schon mal mit Ä, Ö, und Ü.
Ja, so wird aber auch Ä, Ö und Ü dem kyrillischen Zeichensatz hinzugefügt. Ich bin mir nicht sicher, ob Du das willst.
Logged
CyberDyne
Offline
Posts: 158
Re: Frage an die PHP-Profis.
«
Reply #6 on:
August 06, 2009, 01:03:53 PM »
Quote from: WebBird on August 06, 2009, 12:40:13 PM
Wieso?
Weiß nich warum, nach Deiner Landerkürzelabfrage tut sich jedenfalls gar nix, mit der verkürzten geht es dann.
Quote from: WebBird on August 06, 2009, 12:40:13 PM
Ja, so wird aber auch Ä, Ö und Ü dem kyrillischen Zeichensatz hinzugefügt. Ich bin mir nicht sicher, ob Du das willst.
Du meinst durch das ...
Code:
array_push($arrAlphabet, 'Ä','Ö','Ü');
...?
Nee, das will ich natürlich nur für DE erzeugen. Aber wieso erscheint das denn beim RU, warum hält sich das nicht an das if und else?
Gruß
Logged
WebBird
Guest
Re: Frage an die PHP-Profis.
«
Reply #7 on:
August 06, 2009, 01:23:18 PM »
Weil Du das else nicht geklammert hast. Nur die erste nachfolgende Zeile gehört zum else. Alles andere nicht mehr.
Logged
Luisehahne
Board Member
Development Team
Offline
Posts: 3145
Re: Frage an die PHP-Profis.
«
Reply #8 on:
August 06, 2009, 02:04:01 PM »
Genau, immer grundsätzlich klammern, auch wenn es nicht nötig ist. Erhöht aber die Lesbarkeit des Codes. Naja ich weis, kein Thema für hier. Sollte auch nur eine kurze Info sein.
Dietmar
Logged
We are human beings - and nobody is perfect at all.
CyberDyne
Offline
Posts: 158
Re: Frage an die PHP-Profis.
«
Reply #9 on:
August 06, 2009, 02:06:15 PM »
Quote from: WebBird on August 06, 2009, 01:23:18 PM
Weil Du das else nicht geklammert hast. Nur die erste nachfolgende Zeile gehört zum else. Alles andere nicht mehr.
Habe nun die Umlaute nur auf DE beschränkt ...
Code:
if(LANGUAGE==RU) {
$arrAlphabet = array('А','Б','Ц','Д','Е','Ф','Г','Ч','И','Й','К','Л','М','Н','О','П','Я','Р','С','Т','У','В','Ш','Х','Ы','З');
}
else
$arrAlphabet = range('A', 'Z');
if(LANGUAGE==DE) {
array_push($arrAlphabet, 'Ä','Ö','Ü');
}
Nun passt alles!
Gruß,
Klaus
Logged
WebBird
Guest
Re: Frage an die PHP-Profis.
«
Reply #10 on:
August 07, 2009, 09:51:57 AM »
Ich würde trotzdem sauber klammern. Und saubere Codeeinrückung plus Verkürzung zu langer Zeilen ist auch immer hilfreich. Von Kommentaren ganz zu schweigen.
Code:
if(LANGUAGE=="RU") {
// kyrillisches Alphabet
$arrAlphabet
= array(
'А','Б','Ц','Д','Е','Ф','Г',
'Ч','И','Й','К','Л','М','Н',
'О','П','Я','Р','С','Т','У',
'В','Ш','Х','Ы','З'
);
}
else {
$arrAlphabet = range('A', 'Z');
}
// Bei Sprache "Deutsch" Umlaute hinzufuegen
if(LANGUAGE=="DE") {
array_push($arrAlphabet, 'Ä','Ö','Ü');
}
Übrigens werden Umlaute damit nur für
Deutsch
(also de-de) berücksichtigt. Es gibt aber noch andere deutschsprachige Regionen, die Umlaute kennen.
Logged
Pages: [
1
]
Go Up
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> General Announcements
=> Security Announcements
=> Documentation
=> WebsiteBaker Website Showcase
=> Guest Area & Off-Topic
-----------------------------
English
-----------------------------
=> WebsiteBaker 2.9
===> Announcements
===> Help/Support
=====> Modules / Extensions
===> Suggestions
===> Software bugs
=> Help & Support
=> Modules
=> Droplets (PHP code for use with Droplet module) & Snippets (raw PHP code)
=> jQuery
=> Templates, Menus & Design
=> WebsiteBaker Language Files
=> WebsiteBaker 2.x discussion
=> WebsiteBaker 3
=> Archive (posts up to 2007)
-----------------------------
Deutsch (German)
-----------------------------
=> Ankündigungen
=> WebsiteBaker 2.9
===> Ankündigungen
===> Hilfe/Support
=====> Module / Extensions
===> Vorschläge
===> Softwarefehler
===> Erfahrungs und Testberichte
=> Hilfe/Support
=> Module & Snippets
=> Templates & Design
=> Tutorials
=> jQuery
=> Diskussion über WB
=> Off-Topic
=> Archiv für Themen bis 2007
-----------------------------
Nederlands (Dutch)
-----------------------------
=> Aankondigingen
=> Hulp & Ondersteuning
=> Niet-Terzake (Off Topic)
-----------------------------
Francais (French)
-----------------------------
=> Help/Support
-----------------------------
Italiano (Italian)
-----------------------------
=> Help/Support
-----------------------------
Bakery (WB shop module)
-----------------------------
=> Bakery English
=> Bakery Deutsch
-----------------------------
KeepInTouch (Multi Contact Module)
-----------------------------
=> KeepInTouch English
=> KeepInTouch Deutsch
Loading...