Wpisy wielojęzykowe na Joggerze – implementacja

Znam kilku Joggerowiczów, którzy dodają swoje wpisy w językach innych niż ojczysty. Tworzą oni tym samym nowe kategorie, w których je umieszczają. Pytanie brzmi, po co, bądź czy nie dałoby się tego rozwiązać w inny, ciekawszy sposób?

Rozwiązanie, które zamierzam przedstawić w całości oparte jest na JavaScript i jQuery.

Pierwszą rzeczą, którą będziemy musieli wykonać jest ściągnięcie jednej z lepszych, darmowych bibliotek JavaScript – jQuery. Pozwoli nam ona w prosty sposób operować na treści(lub wyglądzie) i wprowadzi trochę dynamiki do naszych stron 😉

Po ściągnięciu biblioteki zmieniamy nazwę pliku js na jquery.js, uploadujemy na Joggera, a następnie dodajemy do naszej strony:


Aby wyświetlić informację użytkownikowi o tym, że istnieje wersja obcojęzyczna wpisu, dodajemy znacznik <div>, <p>, bądź jakikolwiek inny, oraz nadajemy mu atrybuty – id=”language” i class=”invisible”. W elemencie tym tworzymy odnośnik o przykładowej treści: Please give me english version of this article 🙂

Cały kod powinien wyglądać mniej więcej tak:


We wpisie, w którym chcemy umieścić dodatkową wersję językową tworzymy element <p>, <div> … , oraz nadajemy mu atrybut id będący skrótem literowym języka w jakim będziemy pisać. W celu dodania tytułu(w obcym języku), w naszym przykładzie dodamy także element <span>:

Some title English article about something

Nadszedł czas na napisanie trochę kodu:


W linijkach

    var env = document.getElementById("en");
    if(env) { 

pobieramy element o id=”en” oraz sprawdzamy, czy taki element istnieje(być może jest to wpis tylko w jednym, naszym ojczystym języku). Jeśli tak, to usuwamy klasę „invisible” oraz dodajemy jednocześnie nową klasę „visible” – dzięki temu zabiegowi wyświetlimy informację o istnieniu dodatkowej wersji obcojęzycznej tego wpisu.

Linijki

    $("#language a").click(
        function() {
            $("#en").toggle("slow");
            $("#language").remove();
        }
    )

odpowiedzialne są za dodanie akcji do odnośnika znajdującego się w elemencie o atrybucie id=”language”, oraz rozsunięcie wersji dodatkowej wpisu(w dodatkowym języku) i usunięcie całego elementu informującego.

Dodajmy jeszcze trochę kodu css:

.invisible {
    display: none;
    
}

.visible {
    display: block;
    
}

#en {
    border-top: 1px dotted #FFF;
    padding: 5px 0px 0px 0px;
}

#en span {
    display: block;
    font-weight: bold;
}

Żeby ułatwić sobie pracę w przyszłości dodajmy jeszcze tag do panelu administracyjnego. Będziemy mogli go użyć podczas pisania nowego postu:

Add new tag

To koniec – teraz stwórzmy przykładowy wpis o tytule: „Wpis wielojęzykowy”

Super jest móc tworzyć wpis w języku polskim i angielskim równocześnie

[ENG] Multilanguages article It's nice to create an article in polish and english languages.

Przykład działania omówionego tu rozwiązania, znaleźć można pod tym linkiem.

Jest to jedno z możliwych rozwiązań problemu pisania artykułów(postów) w wielu jeżykach, które każdy może dopasować do swoich potrzeb 🙂

10 thoughts on “Wpisy wielojęzykowe na Joggerze – implementacja

  1. @D4rky

    Nie bardzo rozumiem dlaczego uważasz, że jest to złe podejście. Jogger nie obsługuje czegoś takiego jak wielojęzykowe wpisy, więc w tym przypadku wcale nie jest to złe rozwiązanie.

    Owszem, w każdym innym przypadku, gdy masz do dyspozycji PHP wykonujesz to zupełnie inaczej, ale tutaj takiej możliwości nie ma.

    Poza tym… jeśli wyłączysz CSS czy strona traci coś na czytelności? Można by ew. dodać jakiś wiersz poprzedzający wpis w języku angielskim, który byłby zawsze ukryty, aby właśnie w przypadku wyłączonych css pokazać, że dalsza część wpisu jest tłumaczeniem.

    Pomysł nie jest rewolucyjny ani nowy, ale jest ciekawy i dobry.

  2. @d4rky

    Tak, ale tutaj rozpatrujemy kwestie jednego joggera right?

    Poza tym mam pewne wątpliwości co do efektywności takiego regexpa… to bedzie raczej mocno zasobożerne…

  3. @d4rky: nie uważam, że jest to najlepsze rozwiązanie 😉 w każdym bądź razie jedno z możliwych i na pewno idzie je jeszcze ulepszyć

    @andrzejk: dzięki za dobre słowo 😉

    @Livio: chodzi Ci o kontrast? czcionkę? coś innego?

  4. A ja się doczepię do wyglądu strony – znaczy nic nie widze w Operze 9.50 (testowej – nie wiem dlaczego). Może to w niej błąd, a może nie…

    A dwa – bardzo często się pojawiają jakieś wpisy o jQuery – może by ten plik sparrow dodał na joggera – wtedy można by z niego korzystać z http://jogger.pl/jquery.js – mniejszy transfer? 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *