1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
<%@ Title="Internacjonalizacja w PRADO"
Page.Application.Globalization.TranslationCatalogue="index" %>
<com:TContent ID="body">
<h1>Internacjonalizacja w PRADO</h1>
<p>Ten przykład pokazuje podstawowe komponenty PRADO używane w procesach Internacjonalizacji i Lokalizacji aplikacji webowych. Ta strona używa wielu zlokalizowanych, pod względem językowo-kulturowym, szablonów aby wyświetlić właściwe tłumaczenie. Aby zobaczyć inne lokalizacje, musisz zmienić ustawienia językowe w swojej przeglądarce.
</p>
<p>
Twoim obecnym językiem jest: <%= $this->Page->CurrentCulture %>.
<div class="links">
Dostępne lokalizacje:
<com:LanguageList />
</div>
</p>
<p>
Nawiązanie do szablonów kulturowo-językowych. Tekst może zostać zlokalizowany przy użyciu wielu źródeł tłumaczeń. PRADO umożliwia przechowywanie tłumaczeń przy pomocy następujących modułów: gettext, XML, SQLite oraz MySQL. Przykład do którego prowadzi poniższy odnośnik pokazuje jak można zlokalizować treść używając kontrolki TTranslate.
<hr />
<h2>Wstęp</h2>
<p> Tworzenie i utrzymywanie wielojęzykowych serwisów to problem który trapi wielu programistów. </p>
<dl>
<dt><strong>Internacjonalizacja (I18N)</strong></dt>
<dd> To proces takiego przygotowania produktu aby mógł operować na danych w różnych językach, na wielu rynkach bez konieczności zmian w nim samym. </dd>
<dt><strong>Lokalizacja (L10N)</strong></dt>
<dd> To kolejny etap, jest to proces tłumaczenia i dostosowywania produktu do konkretnych wymagań językowo-kulturowych.</dd>
</dl>
<p>PRADO obsługuje następujące mechanizmy: </p>
<ul id="u1" class="block-content">
<li>Tłumaczenie tekstu </li>
<li>Tłumaczenie atrybutów (todo) </li>
<li>Podstawianie parametrów (wraz z koniecznym tłumaczeniem) </li>
<li>Formatowanie dat, liczb i walut </li>
</ul>
<h2>Przykłady</h2>
<h3>Data: pełny format językowo-kulturowy: en_GB</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TDateFormat ID="Time1" Pattern="full" Culture="en_GB"/>
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TDateFormat ID="Time1" Pattern="full" Culture="en_GB"/> <br />
<hr />
<h3>Data: format krótki</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TDateFormat ID="Time2" Pattern="short" />
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TDateFormat ID="Time2" Pattern="short" /> <br />
<hr />
<h3>Domyślny format daty dla języka: <%= $this->Page->CurrentCulture %> </h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TDateFormat ID="Time3" Value="2004/12/06" />
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TDateFormat ID="Time3" Value="2004/12/06" /> <br />
<hr />
<h3>Domyślny format waluty</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TNumberFormat Type="currency" Value="12.4" />
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TNumberFormat Type="currency" Value="12.4" /> <br />
<hr />
<h3>Waluty, format językowo-kulturowy de_DE w Euro</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TNumberFormat ID="Number2" Type="currency" Culture="de_DE" Currency="EUR"/>
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TNumberFormat ID="Number2" Type="currency" Culture="de_DE" Currency="EUR"/> <br />
<hr />
<h3>Waluty, format Amerykański w Euro</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TNumberFormat Type="currency" Culture="en_US" Currency="EUR" Value="100" />
</com:TTextHighlighter>
<h4>Wynik</h4>
<com:TNumberFormat Type="currency" Culture="en_US" Currency="EUR" Value="100" /> <br />
<hr />
<h3>Tłumaczenia</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TTranslate>Hello</com:TTranslate>
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TTranslate>Hello</com:TTranslate> <br />
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TTranslate Text="Goodbye" />
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TTranslate Text="Goodbye" /> <br />
<hr />
<h3>Using localization tag</h3>
<h4>Example:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<%[ Goodbye ]%>
</com:TTextHighlighter>
<h4>Result:</h4>
<%[ Goodbye ]%>
<br />
<hr />
<h3>Tłumaczenie z wykorzystaniem innego katalogu </h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TTranslate Text="Goodbye" Catalogue="tests" />
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TTranslate Text="Goodbye" Catalogue="tests" />
<br />
<hr />
<h3>Tłumaczenie z wykorzystanie podstawiania parametru</h3>
<h4>Przykład:</h4>
<com:TTextHighlighter Language="prado" CssClass="source">
<com:TTranslate>
{greeting} {name}!, The unix-time is "{time}".
<com:TTranslateParameter Key="name">
<com:TTranslate Catalogue="tests" Text="World" />
</com:TTranslateParameter>
<com:TTranslateParameter Key="greeting" Value="Hello" />
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
</com:TTextHighlighter>
<h4>Wynik:</h4>
<com:TTranslate>
{greeting} {name}!, The unix-time is "{time}".
<com:TTranslateParameter Key="name">
<com:TTranslate Catalogue="tests" Text="World" />
</com:TTranslateParameter>
<com:TTranslateParameter Key="greeting" Value="Hello" />
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
<div class="last-modified">$Id$</div></com:TContent>
|