Lokalizacja atrybutów i komentarzy

Komentarze lokalizacji programu Windows Presentation Foundation (WPF) to właściwości wewnątrz kodu źródłowego XAML dostarczane przez deweloperów w celu zapewnienia reguł i wskazówek dotyczących lokalizacji. Komentarze lokalizacyjne WPF zawierają dwa zestawy informacji: atrybuty lokalizacji i komentarze lokalizacji wolnej formy. Atrybuty lokalizacji są używane przez interfejs API lokalizacji WPF, aby wskazać, które zasoby mają być zlokalizowane. Komentarze w dowolnej formie to wszelkie informacje, które autor aplikacji chce dołączyć.

Dodawanie komentarzy lokalizacji

Jeśli autorzy 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 lokalizatorom z komentarzami w kodzie XAML. Proces dodawania komentarzy do kodu źródłowego jest następujący:

  1. Deweloper aplikacji dodaje komentarze lokalizacji do kodu źródłowego XAML.

  2. Podczas procesu kompilacji można określić w pliku proj, czy pozostawić komentarze lokalizacyjne w postaci dowolnej w zestawie, usunąć część komentarzy lub usunąć wszystkie komentarze. Usunięte komentarze są umieszczane w osobnym pliku. Możesz określić opcję przy użyciu tagu LocalizationDirectivesToLocFile , np.

    <LocalizationDirectivesToLocFile>wartość</LocalizationDirectivesToLocFile>

  3. Wartości, które można przypisać, to:

    • Brak — komentarze i atrybuty pozostają wewnątrz zestawu i nie są generowane żadne oddzielne pliki.

    • CommentsOnly — usuwa tylko komentarze z zestawu i umieszcza je w osobnym LocFile.

    • Wszystkie — usuwa komentarze i atrybuty z zestawu i umieszcza je zarówno w osobnym pliku LocFile.

  4. Gdy zasoby lokalizowalne są wyodrębniane z języka BAML, atrybuty lokalizacji są przestrzegane przez interfejs API lokalizacji BAML.

  5. Pliki komentarzy lokalizacji, zawierające tylko komentarze bez formularza, są dołą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 formie bezpłatnej. W poniższych tabelach przedstawiono atrybuty i komentarze oraz ich znaczenie dla lokalizatora.

Atrybuty lokalizacji Znaczenie
$Content (niezmodyfikowalny tekst czytelny) Nie można zmodyfikować zawartości elementu TextBlock. Lokalizatory nie mogą zmienić słowa "Microsoft". Zawartość jest widoczna (z możliwością odczytu) do lokalizatora. Kategoria zawartości to tekst.
FontFamily (niezmodyfikowalny do odczytu) Nie można zmienić właściwości rodziny czcionek elementu TextBlock, ale jest ona widoczna dla lokalizatora.
Komentarze dotyczące lokalizacji w dowolnej formie Znaczenie
$Content (znak towarowy) Autor aplikacji informuje lokalizator, że zawartość elementu TextBlock jest znakiem towarowym.
FontSize (rozmiar czcionki znaku towarowego) Autor aplikacji wskazuje, że właściwość rozmiaru czcionki powinna być zgodna ze standardowym rozmiarem znaku towarowego.

Atrybuty lokalizability

Informacje w pliku Localization.Attributes zawierają listę par: nazwę wartości docelowej i skojarzone wartości lokalizacyjne. Nazwa docelowa może być nazwą właściwości lub specjalną nazwą $Content. Jeśli jest to nazwa właściwości, docelowa wartość 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 lokalizatora. Zobacz: Category.

  • Czytelność. Określa, czy narzędzie lokalizatora powinno odczytywać (i wyświetlać) wartość. Zobacz: Readability.

  • Możliwość modyfikacji. Określa, czy narzędzie lokalizatora zezwala na modyfikację wartości. Zobacz: Modifiability.

Te atrybuty można określić w dowolnej kolejności rozdzielanej spacją. W przypadku określenia zduplikowanych atrybutów ostatni atrybut zastąpi poprzednie. Na przykład Localization.Attributes = "Unmodifiable Modifiable" ustawia modyfikację na Modyfikowalna, ponieważ jest to ostatnia wartość.

Modyfikowanie i czytelność są objaśniające. Atrybut Category zawiera wstępnie zdefiniowane kategorie, które ułatwiają lokalizatorowi tłumaczenie tekstu. Kategorie, takie jak Tekst, Etykieta i Tytuł, zapewniają lokalizatorowi informacje o sposobie tłumaczenia tekstu. Istnieją również specjalne kategorie: Brak, Dziedzicz, Ignoruj i NigdyLokalizacja.

W poniższej tabeli przedstawiono znaczenie specjalnych kategorii.

Kategoria Znaczenie
None Wartość docelowa nie ma zdefiniowanej kategorii.
Dziedziczą Wartość docelowa dziedziczy swoją kategorię od jej elementu nadrzędnego.
Ignoruj 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.
Nigdy nielokalizacja Nie można lokalizować bieżącej wartości. Ta kategoria jest dziedziczona przez elementy podrzędne elementu.

Komentarze lokalizacji

Localization.Comments zawiera ciągi bez formularza dotyczące wartości docelowej. Deweloperzy aplikacji mogą dodawać informacje, aby nadać lokalizatorom wskazówki dotyczące sposobu tłumaczenia tekstu aplikacji. Format komentarzy może być dowolnym ciągiem otoczonym ciągiem "()". Użyj znaku "\", aby użyć znaków ucieczki.

Zobacz też