der beste Weg, um Codeigniter Website mehrsprachig zu machen. von lang-arrays aufrufend hängt von lang session ab?
Ich bin die Erforschung Stunden und Stunden, aber ich konnte nicht finden, eine klare, effiziente Weg zu machen :/
Ich habe eine codeigniter-Basis-website in Englisch und ich muss hinzufügen eines polnischen Sprache. Was ist der beste Weg, um meine Website in 2 Sprache je Besucher Auswahl?
gibt es eine Möglichkeit zum erstellen von array-Dateien für jede Sprache, und rufen Sie in der Ansicht Dateien hängt davon ab, Session von lang-Auswahl? Ich will nicht verwenden Datenbank.
Schätzen wissen hilft! Ich bin läuft die Frist :/danke!!
InformationsquelleAutor der Frage designer-trying-coding | 2009-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie gesehen,CodeIgniter-Sprache-Bibliothek?
In Ihrem Fall...
polish_lang.php
undenglish_lang.php
innenapplication/language/polish
$lang['hello'] = "Witaj";
$this->lang->load('polish_lang', 'polish');
$this->lang->line('hello');
Nur speichern den Rückgabewert dieser Funktion in einer Variablen, so können Sie es in Ihre Ansicht.Wiederholen Sie die Schritte für die englische Sprache und alle anderen Sprachen, die Sie brauchen.
InformationsquelleAutor der Antwort Randell
Auch hinzufügen, um die Sprache in die session würde ich definieren einige Konstanten, die für jede Sprache, dann stellen Sie sicher, dass die session-Bibliothek geladen, die in config/autoload.php oder Sie laden Sie es, Wann immer Sie es brauchen. Fügen Sie die Benutzer gewünschte Sprache aus der session:
Dann kannst du dir es jederzeit wie diese:
InformationsquelleAutor der Antwort Matthew Rapati
In der Steuerung fügen Sie folgende Zeilen ein, wenn Sie die cunstructor
ich.e, nach
parent::Controller();
fügen Sie folgenden Zeilen
erstellen helper-Datei lang_translate_helper.php mit der folgenden Funktion, und legen Sie es im Verzeichnis system\application\helpers
für jede Sprache, erstellen Sie ein Verzeichnis mit Sprache Kürzel wie de, nl, fr, etc., unter
system\application\languages
Sprache anlegen Datei in oben genannten (jeweiligen) Verzeichnis, die enthalten $lang, array holding Paare label=>language_value wie unten angegeben
nl_site_lang.php
en_site_lang.php
können Sie eine Speicherung von mehreren Dateien für dieselbe Sprache mit anders wie pro die Anforderung
e.g, wenn Sie möchten, separates language-Datei zum verwalten von backend (administrator-Bereich) kannst du es im controller $this->lang->load('nl_admin', 'nl');
nl_admin_lang.php
und schließlich
drucken das Etikett in der gewünschten Sprache, Zugang Etiketten, wie unten in der Ansicht
label ("willkommen", $this);
ODER
label('hello word', $this);
beachten Sie die Leerzeichen in Hallo & word-Sie können es verwenden, wie auf diese Weise auch 🙂
whene es ist kein Label definiert, in der Sprache-Datei, wird es einfach drucken, was, die Sie übergeben, um die label-Funktion.
InformationsquelleAutor der Antwort YoGo
Ich zweite Randell Antwort.
Allerdings kann man immer integrieren eine GeoIP wie http://www.maxmind.com/app/php
oder http://www.ipinfodb.com/. Dann können Sie die Ergebnisse speichern mit dem codeigniter session-Klasse.
Wenn Sie verwenden möchten die ipinfodb.com -api können Sie die ip2locationlite.class.php Datei auf Ihre codeigniter-Anwendung library-Ordner und erstellen Sie dann ein Modell der Funktion zu tun, was geoip Logik, die Sie für Ihre Anwendung benötigen, wie:
InformationsquelleAutor der Antwort Ben Mullikin
Zur einfacheren Benutzung CI aktualisiert haben, so können Sie nur verwenden,
und zu übersetzen text
und wenn Sie wollen warp innen Etikett dann mit den optionalen parameter
Dieser Ausgabe wird
Für gute Lektüre
http://ellislab.com/codeigniter/user-guide/helpers/language_helper.html
InformationsquelleAutor der Antwort Samy Massoud
Wenn die Verwaltung die tatsächlichen Dateien, können die Dinge aus dem Takt geraten, ziemlich leicht, es sei denn, Sie sind wirklich wachsam. So haben wir gestartet eine (beta -) freien Dienst namens Stringdie können Sie behalten Sie Ihre Sprachdateien einfach und zur Zusammenarbeit mit übersetzern.
Können Sie Sie entweder importieren Sie vorhandene Sprach-Dateien (in PHP array, PHP Definieren, ini, po oder .Zeichenketten-Formate), oder erstellen Sie Ihre eigenen Abschnitte von vorne und hinzufügen von Inhalten direkt über das system.
String ist völlig kostenlos, so überprüfen Sie bitte heraus und sagen Sie uns, was Sie denken.
Es ist tatsächlich erbaut auf Codeigniter zu! Check-out die beta auf http://mygengo.com/string
InformationsquelleAutor der Antwort user151516
Ich verwendet habe, Wiredesignz ist MY_Language Klasse mit großem Erfolg.
Habe ich gerade veröffentlicht es auf github, wie ich kann nicht scheinen zu finden, eine Spur von es überall.
https://github.com/meigwilym/CI_Language
Meine einzigen änderungen sind, benennen Sie die Klasse, um CI_Lang, in übereinstimmung mit der neuen v2-änderungen.
InformationsquelleAutor der Antwort Mei
Folgen Sie diesem https://github.com/EllisLab/CodeIgniter/wiki/CodeIgniter-2.1-internationalization-i18n
seine einfache und klare, auch das Dokument Auschecken @ http://ellislab.com/codeigniter/user-guide/libraries/language.html
seinen Weg einfacher als
InformationsquelleAutor der Antwort Justis Matotoka
Ich verwende diesen code in config.php:
.... und dann bin ich in der Regel mit internen mechanizm von CI
o, fast vergessen! in Aussicht habe ich mit Tasten, die seting cookie "Sprache" mit der Sprache, bevorzugte Benutzer.
Also ersten diesen code versuchen zu erkennen "bevorzugte Sprache" gesetzt Benutzers useragent (browser). Dann den code versuchen zu Lesen, cookie 'Sprache'. Und endlich - Schalter legt die Sprache für CI-Anwendung
InformationsquelleAutor der Antwort Dmitry Khartsy
können Sie eine Funktion wie diese
InformationsquelleAutor der Antwort thanhquanky
Freund, Mach dir keine sorgen, wenn Sie irgendeine Anwendung installiert, gebaut in codeigniter und Sie wollen, fügen Sie einige language Packs Folgen Sie einfach diesen Schritten:
1. Hinzufügen von language-Dateien im Ordner Anwendung/Sprache/Arabisch (ich füge Arabisch lang in sma2 eingebauten ci)
2. Gehen Sie zu der Datei mit dem Namen
setting.php
im application/modules/settings/views/setting.php. Hier finden Sie die arrayNun speichern und ausführen der Anwendung. Es ist fein gearbeitet.
InformationsquelleAutor der Antwort snakehead