Promotic
WikipediaLinkedInYoutubeTwitterFacebook

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że być zapisany 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 jest wybierane z pliku według identyfikatora tekstu i następnie według języka:

- W aplikacji lokalnej: język tekstu jest wybrany według bieżącego ustawienia właściwości Pm.RtLang (według ustawienia konfiguratora Główny język runtime).
- Dla Web klienta: język komponentu jest określany według języka ustawionego w konfiguratorze PmWeb > Web > Język domyślny. Jeżeli Web element jest zarejestrowany w obiekcie PmWebLang, wtedy język jest wybierany według wybranego adresu URL.
 
Makro wyrażenie $.text można stosować na przykład przy ustawianiu w konfiguratorach PmiText > Tekst > Tekst, PmPanel > Panel > Tytuł panelu 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 (np. c:/pm/text_sys.xml). 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 zlokalizowanych tekstów (lecz nie wprowadzaj do omawianego pliku własnych tekstów).

Notatka: Poza plikiem text_sys.xml istnieje jeszcze plik text_rt0.xml, który zawiera dalsze teksty systemowe. Nie stosuj tego pliku do uzyskiwania tekstów, ponieważ teksty zamieszczone w tym pliku mogą się zmieniać (nie jest zapewnione że w nowej wersji PROMOTIC będzie się tam znajdować wymagany tekst).

 
$.text("app","idText") - plik aplikacji text_app.xml ulokowany w folderze twojej aplikacji (np. d:/PmProj/Aplikacja/text_app.xml).
 
$.text("appXX","idText") - plik, na przykład text_appL1.xml (jeżeli XX=L1). Chodzi tutaj tylko o upgólnienie poprzedniego typu o możliwość posiadać większą ilość plików aplikacji w folderze aplikacji.
 
Wygląd pliku XML "text_XXX.xml" Wskazówka: Plik XML można stworzyć oraz edytować przy pomocy okna konfiguracyjnego, które można otworzyć z menu "Możliwości > Administrator tekstów zlokalizowanych".

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 zlokalizowanego tekstu systemowego:
$.text("sys","day1")
Tekst o identyfikatorze "day1" jest zapisany w pliku "text_sys.xml" w katalogu, w którym jest zainstalowany PROMOTIC. Wynikiem będzie tekst dla języka polskiego "Poniedziałek, dla języka angielskiego "Monday", itd.
Przykład uzyskania zlokalizowanego tekstu aplikacji:
$.text("app","id10")
Autor aplikacji wytworzył plik "text_app.xml" w katalogu 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 elementu (nDay):
$.text("sys",$.join("day",$.par("nDay")))
 
Inną możliwością, jak uzyskać zlokalizowany tekst, jest zastosowanie Pm.EvalMacro lub #pragma variable.
Elementy konfiguracyjne w edytorze wartości rozszerzonej:
Wybierz lokalizowany tekstOtworzy okno Administrator tekstów zlokalizowanych
Typ pliku XMLOkreśli typ źródłowego pliku tekstów, tzn. 1. parametr makro wyrażenia $.text().
Identyfikator tekstuOkreśli identyfikator wymaganego tekstu, tzn. 2. parametr makro wyrażenia $.text().
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice