Promotic

Makro wyrażenie $.text

Omawiane makro wyrażenie przedstawia tekst wczytany z pliku tekstowego. Plik tekstowy jest zapisany w formacie XML w kodowaniu znaków UTF-8, można do niego zapisywać większą ilość tekstów i każdy z tekstów można wprowadzić w większej ilości języków narodowych. Przy pomocy tego makra można w prosty sposób wytworzyć aplikację, która może być przełączana do innych języków (Patrz również: Jak wytworzyć aplikację w różnych językach narodowych). Makro wyrażenie można jednak z powodzeniem stosować również w przypadku aplikacji jednojęzykowej, gdzie teksty całej aplikacji znajdują się w jednym pliku (lub kilku plikach).
Odpowiednie makro wyrażenie wybierze z pliku wybrany tekst według identyfikatora tekstu i następnie według języka:
- W uruchomionej aplikacji: język tekstu jest wybrany według bieżącego ustawienia właściwości Pm.RtLang (według konfiguratora "Główny język runtime").
- Dla Web klienta: język Web komponentu jest określany według języka ustawionego w konfiguratorze "PmaWeb > Web > Język domyślny". Jeżeli Web komponent jest zarejestrowany w obiekcie PmaWebLang, wtedy język jest wybierany według wybranego adresu URL.


Makro wyrażenie $.text można zastosować na przykład przy ustawianiu w konfiguratorach PmgString > Tekst > Wartość, PmaPanel > Panel > Tytuł panela a wielu innych.

Składnia:
$.text("idFile","idText")
- idFile = określenie typu pliku XML
- idText = identyfikator tekstu w owym pliku

Przestarzała składnia zapisu makro wyrażenia: $text:idFile.idText

Typ pliku XML może być:
$.text("sys","idText") - Plik systemowy text_sys.xml ulokowany w folderze \Promotic\PmVXXYY. Plik ten jest dostarczany razem z systemem PROMOTIC i zawiera niektóre ogólne teksty. Równocześnie służy jako przykład do wytwarzania lokalizowanych tekstów (lecz nie wprowadzaj do omawianego pliku własnych tekstów).


$.text("app","idText") - plik text_app.xml ulokowany w folderze aplikacji (np. C:\Promotic\Apps\Aplikacja1\text_app.xml).


$.text("appXX","idText") - na przykład plik text_appL1.xml (jeżeli XX=L1) ulokowany w folderze aplikacji. Chodzi tutaj tylko o uogólnienie poprzedniego typu o możliwość posiadać większą ilość plików aplikacji w folderze aplikacji.


Wskazówka: Plik XML można wytworzyć oraz edytować przy pomocy okna konfiguracyjnego, które można otworzyć z menu " > Menedżer lokalizowanych tekstów".

Wygląd pliku XML "text_XXX.xml":
W pliku XML znajduje się tylko 1 tag <pmtext> a w nim wymagana ilość tagów <txtid> z atrybutem id. Wartość takiego atrybutu jest identyfikator odpowiedniego tekstu. W takim tagu znajdują się jeszcze tagi <txt> z atrybutem lang, które oznaczają odpowienią wersję językową. Atrybut lang może mieć na przykład wartość: pl (polski), en (angielski) ... Pełna lista patrz Jak wytworzyć aplikację w różnych językach narodowych.
Przykład zawartości pliku (plik nie musi zawierać wszystkich przedstawionych poniżej wersji językowych):
<?xml version="1.0" encoding="utf-8"?>
<pmtext>
...
<txtid id="id10">
  <txt lang="en">User text to set</txt>
  <txt lang="de">Aplikationstext zum Einstellen</txt>
  <txt lang="ru">Техт приложения к наладке</txt>
  <txt lang="pl">Tekst użytkownika do wprowadzenia</txt>
  <txt lang="cs">Aplikační text k nastavení</txt>
  <txt lang="sk">Aplikačný text k nastaveniu</txt>
</txtid>
...
</pmtext>


Przykład uzyskania lokalizacyjnego tekstu systemowego:
$.text("sys","day1")
Tekst o identyfikatorze day1 jest zapisany w pliku text_sys.xml w folderze \Promotic\PmVXXYY. Wynikiem będzie tekst dla języka polskiego "Poniedziałek, dla języka angielskiego "Monday", itd.
Przykład uzyskania lokalizacyjnego tekstu aplikacji:
$.text("app","id10")
Projektant aplikacji wytworzył plik text_app.xml w folderze aplikacji. W tym pliku jest wyszukany tag <txtid id='id10'> a w nim tag <txt> dla odpowiedniej bieżącej wersji językowej (np. pl).
Przykład pozyskania tekstu systemowego z wykorzystaniem parametru Pmg obiektu (nDay):
$.text("sys",$.join("day",$.par("nDay")))


Inną możliwością, jak uzyskać lokalizowany tekst, jest zastosowanie Pm.EvalMacro lub #pragma variable.
Konfiguratory w edytorze wartości rozszerzonej:
Wybierz lokalizowany tekstOtworzy okno konfiguracyjne "Menedżer lokalizowanych tekstów"
Typ pliku XMLOkreśla typ źródłowego pliku tekstów, tzn. 1. parametr makro wyrażenia $.text().
Identyfikator tekstuOkreśla identyfikator wymaganego tekstu, tzn. 2. parametr makro wyrażenia $.text().
© MICROSYS, spol. s r.o.