Lokalizacja atrybutów i komentarzy
Interfejs API lokalizacji WPF wskazujący, które zasoby mają być zlokalizowane. Komentarze w dowolnej postaci to wszelkie informacje, które autor aplikacji chce uwzględnić.
Dodawanie komentarzy lokalizacji
Jeśli autorzy aplikacji znaczników mają wymagania dotyczące określonych elementów w języku XAML, takich jak ograniczenia dotyczące długości tekstu, rodziny czcionek lub rozmiaru czcionki, mogą przekazać te informacje do lokalizacjizatorów z komentarzami w kodzie XAML. Proces dodawania komentarzy do kodu źródłowego jest następujący:
deweloper aplikacji dodaje komentarze lokalizacji do kodu źródłowego XAML.
Podczas procesu kompilacji można określić w pliku proj, czy pozostawić komentarze lokalizacji w postaci wolnej w zestawie, wystawić część komentarzy lub rozejść wszystkie komentarze. Rozłożone komentarze są umieszczane w oddzielnym pliku. Możesz określić opcję przy użyciu
LocalizationDirectivesToLocFile
tagu, na przykład:<LocalizationDirectivesToLocFile>
Wartość</LocalizationDirectivesToLocFile>
Dostępne są wartości, które można przypisać:
Brak — komentarze i atrybuty pozostają w zestawie i nie jest generowany oddzielny plik.
CommentsOnly — rozdziela tylko komentarze z zestawu i umieszcza je w oddzielnym pliku LocFile.
Wszystkie — paski komentarze i atrybuty z zestawu i umieszcza je w oddzielnym pliku LocFile.
W przypadku wyodrębniania zasobów, które można zlokalizowane, z usługi BAML atrybuty możliwości lokalizacji są przestrzegane przez interfejs API lokalizacji BAML.
Pliki komentarza lokalizacji, zawierające tylko komentarze w formularzu swobodnym, są włączane do procesu lokalizacji w późniejszym czasie.
W poniższym przykładzie pokazano, jak dodać komentarze lokalizacji do pliku XAML.
<TextBlock x:Id = "text01"
FontFamily = "Microsoft Sans Serif"
FontSize = "12"
Localization.Attributes = "$Content (Unmodifiable Readable Text)
FontFamily (Unmodifiable Readable)"
Localization.Comments = "$Content (Trademark)
FontSize (Trademark font size)" >
Microsoft
</TextBlock>
W poprzednim przykładzie sekcja Localization.Attributes zawiera atrybuty lokalizacji i sekcję Localization.Comments komentarze w postaci bezpłatnej. W poniższych tabelach przedstawiono atrybuty i komentarze oraz ich znaczenie dla lokalizacji.
Atrybuty lokalizacji | Znaczenie |
---|---|
$Content (Tekst niemodyfikowalny do odczytu) | Nie można zmodyfikować zawartości elementu TextBlock. W lokalizacjach nie można zmienić słowa "Microsoft". Zawartość jest widoczna (czytelna) dla lokalizacji. Kategoria zawartości to tekst. |
FontFamily (Niemodyfikowalny do odczytu) | Nie można zmienić właściwości rodziny czcionek elementu TextBlock, ale jest ona widoczna dla lokalizacji. |
Lokalizacja komentarzy w postaci wolnej | Znaczenie |
---|---|
$Content (znak towarowy) | Autor aplikacji informuje lokalizacji, że zawartość w elemencie TextBlock jest znakiem towarowym. |
FontSize (rozmiar czcionki znaku towarowego) | Autor aplikacji wskazuje, że właściwość rozmiaru czcionki powinna być zgodne ze standardowym rozmiarem znaku towarowego. |
Atrybuty możliwości lokalizacji
Informacje w pliku Localization.Attributes zawierają listę par: nazwa wartości docelowej i skojarzone wartości możliwości lokalizacji. Nazwa obiektu docelowego może być nazwą właściwości lub specjalną $Content nazwę. Jeśli jest to nazwa właściwości, wartość docelowa jest wartością właściwości. Jeśli jest $Content, wartość docelowa jest zawartością elementu.
Istnieją trzy typy atrybutów:
Kategoria. Określa, czy wartość powinna być modyfikowalna z narzędzia do lokalizacji. Zobacz: Category.
Czytelność. Określa, czy narzędzie do lokalizacji ma odczytywać (i wyświetlać) wartość. Zobacz: Readability.
Modyfikowalność. Określa, czy narzędzie do lokalizacji umożliwia modyfikację wartości. Zobacz: Modifiability.
Te atrybuty można określić w dowolnej kolejności rozdzielone spacją. W przypadku, gdy zostaną określone zduplikowane atrybuty, ostatni atrybut zastąpi poprzednie. Na przykład Localization.Attributes = "Unmodifiable Modifiable" ustawia modyfikowalność na Modyfikowalne, ponieważ jest to ostatnia wartość.
Modyfikowalność i czytelność nie wymagają wyjaśnień. Atrybut Category zawiera wstępnie zdefiniowane kategorie, które ułatwiają lokalizacji podczas tłumaczenia tekstu. Kategorie, takie jak Tekst, Etykieta i Tytuł, zawierają informacje o tym, jak przetłumaczyć tekst. Istnieją również specjalne kategorie: None, Inherit, Ignore i NeverLocalize.
W poniższej tabeli przedstawiono znaczenie kategorii specjalnych.
Kategoria | Znaczenie |
---|---|
Brak | Wartość docelowa nie ma zdefiniowanej kategorii. |
Dziedziczą | Wartość docelowa dziedziczy swoją kategorię z elementu nadrzędnego. |
Zignoruj | Wartość docelowa jest ignorowana w procesie lokalizacji. Ignoruj wpływa tylko na bieżącą wartość. Nie wpłynie to na węzły podrzędne. |
NeverLocalize | Nie można zlokalizowane bieżącej wartości. Ta kategoria jest dziedziczona przez elementy children elementu. |
Komentarze dotyczące lokalizacji
Localization.Comments zawiera ciągi w postaci wolnej dotyczące wartości docelowej. Deweloperzy aplikacji mogą dodawać informacje, aby przekazać do lokalizacji wskazówki dotyczące sposobu tłumaczenia tekstu aplikacji. Formatem komentarzy może być dowolny ciąg otoczony ciągiem "()". Użyj znaków ucieczki "\".