Poszukiwałam interfejsu do edycji plików językowych, który idealnie pasował do moich potrzeb. Nie znalazłam, a ponieważ poszukiwania i tak zajęły mi już za dużo czasu (być może źle wpisywałam słowa kluczowe ;o)) postanowiłam stworzyć własną wersję.

Tak więc jest to mój mały wkład w rozwój CodeIgniter.

Teraz możesz znaleźć projekt na github! :o)

Frontend edytor plików językowych na github

Podstawowe założenia

  • Wykorzystując Language Class moje pliki są przechowywane w  /folder_mojej_aplikacji/language/.
  • Chcę mieć możliwość edytowania par klucz=>wartość dla języków bez konieczności otwierania pliku. Chcę dodawać klucze które będą dostępne dla pozostałych języków.
  • Chcę mieć możliwość tworzenia nowych języków, nowych plików i kopiowania struktury pliku do innego języka.
  • Chcę mieć możliwość usuwania języków i plików.
  • Chcę mieć możliwość usunięcia jednego klucza ze wszystkich plików i z bazy.
  • Chcę aby klucze usuwały się z bazy jeśli plik nie istnieje w innych językach.
  • Chcę aby tworzyła się kopia pliku, tak na wszelki wypadek.

50frontned_files_editor_1

Tak więc klucze będą przechowywane w bazie. Jeśli dodam nowy klucz, zapiszę plik w którym go dodałam, a następnie przejdę do edycji tego pliku w innym języku, nowododany klucz będzie dostępny w formularz. Pamiętaj, nowy klucz fizycznie nie będzie istniał w innym pliku językowym dopóki go nie zapiszesz.

Instalacja

Pobierz zzipowany plik dla Codeigniter frontend edytor plików językowych, wypakuj i załaduj do odpowiedniego folderu.

W paczce znajduje się:

  • .htaccess z mod_rewrite który usuwa „index.php” z adresu url
  • plik sql do utworzenia tabeli do przechowywania kluczy
  • Pliki do interfejsu edytora plików językowych

Wymagania

Codeigniter 2.0.x, jQuery

Jak to działa

49frontned_files_editor_2

Wywołujesz edytor poprzez wpisanie adresu: http://twojadomena/language/

Lista języków tworzona jest na podstawie struktury katalogu /folder_mojej_aplikacji/language/.

Lista plików tworzona jest na podstawie zawartości katalogu języka. Tylko pliki z rozszerzeniem .php brane są pod uwagę, a pliki z kopii wyłączane.

Jeśli wybierzesz jakiś plik po raz pierwszy (klucze nie znajdują się w bazie) zostaniesz zapytany czy chcesz je dodać.

Jeśli istnieją różnice pomiędzy kluczami z pliku a kluczami z bazy są dwie możliwości.

  1. Jakieś klucze istnieją w pliku ale nie istnieją w bazie – zostaniesz zapytany czy chcesz je dodać. Dopóki nie zostaną dodane, nie będą dostępne w formularzu. Uwaga! Jeśli zapiszesz plik przed dodaniem tych kluczy, tłumaczenie i klucz zostanie usunięte z pliku.
  2. Jakieś klicze istnieją w bazie ale nie istnieją w pliku – zobaczysz (NEW!) obok nazwy klucza. Najprawdopodobniej zobaczysz to gdy został dodany nowy klucz dla pliku w innym języku.

Na wypadek gdyby coś miało pójść nie tak (mam nadzieję, że nie ;o)) dodałam funkcję copy która tworzy backup pliku, aby można go było odtworzyć. Lepiej być bezpiecznym niż potem żałować ;o)

Jeśli usuniesz klucz z pliku, zostanie on usunięty też z innych języków oraz z bazy.

Jeśli masz jakieś pytania/sugestie/problemy napisz w komentarzu.