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

Nazwy produktów można lokalizować dla różnych regionów. Korzystając z Dynamics 365 Sales, można podać zlokalizowane etykiety dla niektórych atrybutów produktu, aby użytkownicy widzieli zlokalizowane nazwy zgodne z ich preferencjami językowymi. W tym artykule wyjaśniono, jak deweloperzy mogą korzystać z tej funkcji. 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, system go zwraca. Jeśli zlokalizowana wartość nie istnieje, system zwraca wartość języka podstawowego organizacji. To zachowanie zapewnia zgodność z poprzednimi wersjami; dowolny kod, który obecnie używa atrybutu nazwy produktu, 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 przy użyciu wartości zlokalizowanych atrybutów w warunkach, system ocenia te warunki najpierw 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 z atrybutami lokalizowalnymi są tylko do odczytu, chyba że preferowany język jest językiem podstawowym organizacji. Rekordy z zlokalizowanymi wartościami właściwości można tworzyć tylko przy użyciu języka podstawowego organizacji. Jeśli zaktualizujesz wartość języka podstawowego dla atrybutu lokalizowalnego, zlokalizowane wartości tego atrybutu nie zmienią się, z wyjątkiem wyczyszczenia 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 atrybutu lokalizowalnego, użyj wiadomości 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 potrzebuje 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 lokalizowalne, 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 Excel pakietu Office. 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 lokalizowalnych.

Tip

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

Po edytowaniu pliku crmFieldTranslations.xml w celu zapewnienia zlokalizowanych etykiet, skompresuj go wraz z plikiem [Content_types].xml i ustaw to jako właściwość TranslationFile dla ImportFieldTranslationRequest.

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

Dostosowywalne widoki skojarzone z tabelami, które obsługują wartości właściwości lokalizowalnych, kontrolują wartości zawarte w wyeksportowanych tłumaczeniach. 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
product 9cfe2a9f-13c4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical"
distinct="false">
<nazwa podmiotu="produkt">
<attribute name="name" />
</Jednostki>
</pobierz>
dynamicproperty 4833cf48-1ac4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical">
<entity name="dynamicproperty">
<attribute name="name" />
</Jednostki>
</pobierz>
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" />
</Jednostki>
</pobierz>

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:

Komunikat 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 jest 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, importując tłumaczenia.

Przetwarzanie innych wierszy jest 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 jest 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 jest 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 jest 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 jest 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

System przechowuje wszelkie zlokalizowane etykiety dla języka, który odinstalowujesz. Jeśli ponownie zainstalujesz język, etykiety są już zainstalowane.

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