Udostępnij przez


Lokalizacja wartości właściwości produktu

Nazwy produktów mogą być lokalizowane dla różnych regionów. Dzięki usłudze Dynamics 365 Sales można podać zlokalizowane etykiety dla niektórych atrybutów produktu, aby użytkownicy mogli zobaczyć zlokalizowane nazwy zgodne z preferencjami językowymi. Ten artykuł dotyczy metod interakcji deweloperów z tą funkcją. Aby uzyskać instrukcje krok po kroku dotyczące używania tej funkcji w aplikacji, zobacz dokumentację dotyczącą poprzednich wersji w części Tłumaczenie nazw i właściwości produktów na wiele języków.

Atrybuty obsługujące zlokalizowane wartości właściwości

Poniższa lista zawiera atrybuty, które obsługują wartości z możliwością lokalizowania:

  • Product.Name

  • DynamicProperty.Name

  • DynamicPropertyOptionSetItem.DynamicPropertyOptionName

  • DynamicPropertyOptionSetItem.DynamicPropertyOptionDescription

    Klasy StringAttributeMetadata i MemoAttributeMetadata mają właściwość logiczną tylko IsLocalizable do odczytu, która dotyczy false wszystkich atrybutów z wyjątkiem czterech w poprzedniej tabeli.

Pobieranie zlokalizowanych wartości właściwości

Nie musisz nic robić inaczej, aby pobrać zlokalizowaną wartość zgodną z preferencjami językowymi użytkownika. Jeśli zlokalizowana wartość istnieje dla preferowanego języka użytkownika, jest zwracana. Jeśli zlokalizowana wartość nie istnieje, zwracana jest wartość języka podstawowego organizacji. To zachowanie umożliwia zachowanie zgodności z poprzednimi wersjami; każdy kod, który obecnie używa atrybutu nazwy produktu, będzie nadal działać przy użyciu dowolnych zlokalizowanych wartości. Jeśli lokalizacja wartości właściwości jest niekompletna, użytkownicy mogą zobaczyć wartości w języku mieszanym.

Aby pobrać wszystkie zlokalizowane etykiety dla określonego atrybutu z możliwością lokalizowania, użyj komunikatu RetrieveLocLabelsRequest.

Wykonywanie zapytań przy użyciu zlokalizowanych wartości

Podczas wykonywania zapytań dotyczących tabel z warunkami przy użyciu wartości dla zlokalizowanych atrybutów warunki są najpierw oceniane przy użyciu preferowanego języka. Jeśli atrybut nie ma zlokalizowanych wartości, zapytanie zostanie przywrócone do języka podstawowego. Wyniki zapytania dotyczące zlokalizowanych wartości atrybutów są zwracane w preferowanym języku, jeśli istnieją. W przeciwnym razie wyniki są zwracane w języku podstawowym.

Tworzenie lub aktualizowanie rekordów przy użyciu atrybutów z możliwością lokalizowania

Rekordy ze zlokalizowanymi atrybutami są tylko do odczytu, chyba że preferowany język jest podstawowym językiem organizacji. Rekordy można tworzyć tylko z zlokalizowanymi wartościami właściwości przy użyciu języka podstawowego organizacji. Jeśli zaktualizujesz wartość języka podstawowego dla atrybutu z możliwością lokalizowania, wszystkie zlokalizowane wartości tego atrybutu nie są zmieniane, chyba że wyczyścisz wartości języka podstawowego. Jeśli ustawisz wartość języka podstawowego na null lub pusty ciąg, wszystkie zlokalizowane wartości dla tej właściwości również zostaną wyczyszczone.

Aby dodać lub zaktualizować zlokalizowane etykiety dla dowolnego zlokalizowanego atrybutu, użyj komunikatu SetLocLabelsRequest lub zaimportuj przetłumaczone wartości. Wszelkie zmiany atrybutów z możliwością lokalizowania są wyświetlane w historii inspekcji rekordu. Identyfikator kodu języka (LCID) dla zlokalizowanej wartości jest wyświetlany w historii inspekcji.

Tłumaczenie atrybutów z możliwością lokalizowania

Proces lokalizowania atrybutów z możliwością lokalizowania programowo jest podobny do procesu używanego do tłumaczenia zlokalizowanych etykiet rozwiązań. [!INCLUDE[proc_more_information]Tłumaczenie tekstu dostosowanej tabeli i kolumny

W przeciwieństwie do tłumaczenia wartości metadanych użytkownik eksportujący i importujący zlokalizowane wartości atrybutów nie musi mieć roli zabezpieczeń administratora systemu. Rola zabezpieczeń menedżera sprzedaży ma uprawnienia niezbędne do tłumaczenia atrybutów z możliwością lokalizowania. Osoba tłumacząca zlokalizowanych wartości właściwości może eksportować tylko te rekordy, do których ma dostęp, aby wyświetlać i aktualizować te rekordy, dla których ma uprawnienia do aktualizacji.

Aby programowo przetłumaczyć atrybuty z możliwością lokalizowania, należy najpierw wyeksportować bieżące zlokalizowane definicje etykiet przy użyciu polecenia ExportFieldTranslationRequest. ExportFieldTranslationResponse. ExportTranslationFile — ta właściwość zawiera byte[] dla skompresowanego pliku crmFieldTranslations.zip zawierającego plik [Content_types].xml i plik crmFieldTranslations.xml, który można otworzyć za pomocą programu Office Excel. Arkusz Zlokalizowane etykiety zawiera kolumnę z wartością LCID dla każdego aprowizowanego języka dla organizacji. Kolumna z wartościami języka podstawowego jest wypełniana, a kolumny dla każdego aprowizowanego języka zawierają wszystkie wcześniej zlokalizowane wartości. Tłumacz może edytować ten plik, aby zapewnić zlokalizowane etykiety dla właściwości z możliwością lokalizowania.

Wskazówka

Jeśli chcesz przeprowadzić zbiorczą aktualizację tylko nazw języków podstawowych, możesz również edytować wartości języka podstawowego.

Po edycji pliku crmFieldTranslations.xml w celu zapewnienia zlokalizowanych etykiet skompresuj go razem z plikiem [Content_types].xml i ustaw ten plik jako właściwość TranslationFile elementu ImportFieldTranslationRequest.

Modyfikowanie wartości uwzględnionych podczas eksportowania przetłumaczonych wartości właściwości

Wartości zawarte w wyeksportowanych tłumaczeniach są kontrolowane przez dostosowywalne widoki skojarzone z tabelami, które obsługują wartości właściwości z możliwością lokalizowania. Tylko tabele produktów wyświetlają ten widok w interfejsie użytkownika dostosowywania. Te widoki mają nazwę Eksportuj tłumaczenia pól. Poniższa tabela zawiera SavedQueryId dla tych widoków.

Tabela SavedQueryId Wartość domyślna FetchXml
produkt 9cfe2a9f-13c4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical"
distinct="false">
<nazwa podmiotu="produkt">
<attribute name="name" />
</entity>
</fetch>
dynamicproperty 4833cf48-1ac4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical">
<entity name="dynamicproperty">
<attribute name="name" />
</entity>
</fetch>
dynamicpropertyoptionsetitem d64cce30-1fc4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical">
<entity name="dynamicpropertyoptionsetitem">
<attribute name="dynamicpropertyoptionname" />
<attribute name="dynamicpropertyoptiondescription" />
</entity>
</fetch>

Możesz edytować właściwość FetchXml tych widoków, aby odfiltrować wszystkie wartości właściwości atrybutu, których nie chcesz uwzględniać. Możesz na przykład wykluczyć zarchiwizowane rekordy lub uwzględnić te rekordy tylko po określonej dacie.

Monitorowanie postępu zadań importowania tłumaczeń pól

Tabele zadań systemowych zawierają następujące widoki, aby monitorować postęp zadań importowania tłumaczeń pól:

  • Zadania importowania tłumaczeń dla wszystkich pól

  • Zadania importowania tłumaczeń dla pola Ukończone

  • Zadania importowania tłumaczeń dla pola W toku

  • Zadania importowania tłumaczeń dla mojego pola

  • Zadania importowania tłumaczeń dla pola Nie uruchomiono

    Następujące warunki powodują błędy podczas importowania zadań tłumaczenia:

Message Description
Ostrzeżenie: nie masz uprawnień do zapisu do co najmniej jednego wiersza określonego w pliku importu dla arkusza {0}, wiersz {1}. Osoba uruchamiająca import może nie mieć uprawnień do zapisu w wierszu dołączonym do zaimportowanego pliku.

Przetwarzanie innych wierszy będzie kontynuowane.
Ostrzeżenie: ciągi tłumaczenia języka podstawowego obecne w arkuszu {0}, wiersz {1}, kolumna {2}, mają wartość null. Nie można wyczyścić wartości języka podstawowego przez zaimportowanie tłumaczeń.

Przetwarzanie innych wierszy będzie kontynuowane
Ostrzeżenie: liczba komórek w wierszu {0} nie jest zgodna z liczbą komórek w wierszu 1 w arkuszu {1}. Wszystkie wiersze w arkuszu muszą mieć taką samą liczbę komórek.

Przetwarzanie innych wierszy będzie kontynuowane.
Ostrzeżenie: znaleziono nieprawidłową nazwę tabeli w arkuszu {0}, wiersz {1}, kolumna A. W systemie nie ma prawidłowej tabeli używającej nazwy w arkuszu.

Przetwarzanie innych wierszy będzie kontynuowane.
Ostrzeżenie: znaleziono nieprawidłową nazwę kolumny obiektu w arkuszu {0}, wiersz {1}, kolumna C. W systemie nie ma prawidłowego atrybutu z możliwością lokalizowania, który używa nazwy w arkuszu.

Przetwarzanie innych wierszy będzie kontynuowane.
Ostrzeżenie: znaleziono nieprawidłowy identyfikator obiektu w arkuszu {0}, wiersz {1}, kolumna B. W organizacji nie ma pasującego rekordu dla elementu w tym wierszu.

Przetwarzanie innych wierszy będzie kontynuowane.
Błąd: w arkuszu {0} nie znaleziono wierszy. Arkusz do zaimportowania jest pusty.
Błąd: identyfikator organizacji znajdujący się w arkuszu {0} nie jest zgodny z bieżącym identyfikatorem organizacji. Tłumaczenia można zaimportować tylko do tej samej organizacji, z której zostały wyeksportowane.
Ostrzeżenie: znaleziono nieprawidłowy kod języka w arkuszu {0}, kolumna {1}. | Szczegóły: {2} Identyfikator LCID w kolumnie nie jest prawidłową liczbą całkowitą lub pakiet językowy dla języka nie został zainstalowany.

Tłumaczenia w kolumnie są ignorowane.

Prawidłowe wartości identyfikatorów ustawień regionalnych można znaleźć na wykresie identyfikatorów ustawień regionalnych (LCID).
Błąd: znaleziono zduplikowany kod języka w arkuszu {0}, kolumna {1}. Każda kolumna musi mieć inny kod języka.
Błąd: plik tłumaczenia jest nieprawidłowy. Skompresowany plik musi zawierać następujące pliki w katalogu głównym: CrmFieldTranslations.xml, [Content_Types].xml Skompresowany (ZIP) plik do zaimportowania musi zawierać tylko pliki opisane w błędzie.
Błąd: plik tłumaczenia jest nieprawidłowy lub nie jest zgodny z wymaganym schematem. Plik CrmFieldTranslations.xml dołączony do skompresowanego pliku (ZIP) musi być plikiem wyeksportowanym z systemu i edytowanym tylko w celu zapewnienia zlokalizowanych wartości. Inne zmiany mogą unieważnić plik.

Odinstalowywanie języka

Wszystkie zlokalizowane etykiety dostarczone dla odinstalowywanego języka pozostają w systemie, tak aby były gotowe, gdy język zostanie ponownie zainstalowany.

Tabele katalogu produktów
Tłumaczenie tekstu dostosowanej tabeli i kolumnyTłumaczenie nazw i właściwości produktów na wiele języków