Mechanizm generowania plików tłumaczeń
Transakcja służy przede wszystkim do dynamicznego tworzenia słowników językowych w formacie JavaScript. Podczas inicjalizacji strony ładuje się metoda GenerowanieFiles, która pobiera z bazy danych unikalne kody języków. Następnie dla każdego języka generowany jest osobny plik .js zawierający mapowanie oryginalnych fraz na przetłumaczone wersje. Proces ten wykorzystuje zapytanie SQL do pobrania par ORYGINAL-TLUMACZENIE, formatując je następnie w strukturę obiektu JSON. Nowo utworzone pliki trafiają do katalogu Scripts, zastępując poprzednie wersje, co pozwala na natychmiastową aktualizację tłumaczeń w systemie bez konieczności ręcznej interwencji.
Bezpieczeństwo i kontrola dostępu
Każda operacja na plikach językowych jest rejestrowana w historii systemu poprzez wywołanie metody ssSys.Historia. Mechanizm autentykacji opiera się na sprawdzaniu tożsamości użytkownika przez User.Identity.Name, co zapewnia ścisłą kontrolę nad uprawnieniami. Podczas generowania zawartości plików stosowane są zabezpieczenia przed wstrzykiwaniem SQL poprzez filtrowanie apostrofów. W przypadku błędów zapisu pliku implementacja wykorzystuje blok try-catch, który wycisza wyjątki, minimalizując ryzyko wycieku wrażliwych informacji.
Integracja z interfejsem użytkownika
Wygenerowane pliki .js są automatycznie wykorzystywane przez komponenty UI takie jak comboboxy i pola tekstowe. Funkcja ssTranslate w skryptach JavaScript odwołuje się do tych słowników, dynamicznie podmieniając teksty w interfejsie. System umożliwia wielojęzyczność poprzez równoczesne ładowanie wielu plików językowych, co widać w zmiennej cJezyki przechowującej listę aktywnych języków. Rozwiązanie to pozwala na płynne przełączanie między wersjami językowymi bez przeładowywania strony.
Podsumowując, transakcja stanowi istotny element międzynarodowej obsługi systemu, łącząc generowanie zasobów językowych z mechanizmami bezpieczeństwa. Jej działanie opiera się na ścisłej integracji warstwy bazodanowej z logiką generowania plików i komponentami interfejsu. Użytkownicy mogą korzystać z funkcji tłumaczeń poprzez standardowe operacje w interfejsie administracyjnym, bez konieczności ręcznej edycji plików konfiguracyjnych.
adm_language.aspx - Funkcjonalność i Przeznaczenie
Przeznaczenie
Plik adm_language.aspx wraz z jego kodem serwerowym w adm_language.aspx.cs służy do zarządzania tłumaczeniami interfejsu użytkownika w systemie StudioSystem. Transakcja ta umożliwia generowanie plików zawierających tłumaczenia na różne języki, które mogą być później wykorzystywane przez aplikację do dynamicznego ładowania treści w zależności od ustawień językowych użytkownika.
Działanie warstwy serwerowej
Część serwerowa obsługuje funkcję GenerowanieFiles, która odpowiada za automatyczne tworzenie plików językowych na podstawie zawartości tabeli _LANGUAGE w bazie danych. Proces ten składa się z następujących kroków:
- Pobranie listy dostępnych języków z unikalnymi kodami (PRX) z tabeli
_LANGUAGE. - Iteracyjne generowanie plików tłumaczeń dla każdego języka poprzez funkcję
GenerowanieFilePrx.
Funkcja GenerowanieFilePrx:
- Pobiera dane tłumaczeń w wybranym języku (ORYGINAL oraz TLUMACZENIE) z tabeli
_LANGUAGE. - Tworzy plik w formacie JavaScript (ssDictionary.js), zawierający obiekt
ssDictionaryz parami klucz-wartość, gdzie klucz to oryginalny tekst, a wartość to tłumaczenie. - Zapisuje plik w katalogu
Scriptsaplikacji, umożliwiając jego łatwą integrację z logiką kliencką.
Automatyzacja generowania tłumaczeń
Proces generowania tłumaczeń jest całkowicie zautomatyzowany i pozwala na:
- Łatwe dodawanie nowych języków i aktualizację istniejących tłumaczeń poprzez edycję tabeli
_LANGUAGE. - Dynamiczne dostosowanie interfejsu użytkownika do preferencji użytkownika lub ustawień systemowych.
- Tworzenie historii zmian, gdzie każda aktualizacja pliku tłumaczeń jest zapisywana w logach systemowych.
Zastosowanie w praktyce
Transakcja ta jest wykorzystywana głównie przez administratorów systemu podczas konfiguracji obsługi wielu języków lub wprowadzania aktualizacji tłumaczeń. Pliki generowane przez adm_language.aspx są istotne dla funkcji wielojęzyczności, zapewniając spójność treści wyświetlanych w różnych językach.
Podsumowanie
adm_language.aspx to narzędzie służące do automatycznego zarządzania tłumaczeniami w systemie StudioSystem, pozwalając na łatwe tworzenie i aktualizację plików językowych. Dzięki temu system wspiera wielojęzyczność i elastyczność w obsłudze użytkowników.