[gelöst] Russische Sprachschicht mit NAVDACH

5. November 2014 13:01

Hallo,

einer unserer Kunden setzt derzeit die deutsche NAV 2009 R2 (RTC) Version ein.
Die Anwendung sowie die Datenbank sind also komplett germanisiert.

Unser Kunde möchte nun evtl. ein Update auf NAV 2013 R2 machen und dabei auf die Unicode-Fähigkeit von NAV zurückgreifen, da der Kunde sehr viel im russischsprachigem Raum unterwegs ist.

Hierzu habe ich einige Fragen & Problemstellungen :-)

Ich habe mir eine CRONUS AG NAV 2013R2 (CU 12, DEU) geschnappt und einfach mal losgelegt.
Mit Hilfe dieses MSDN Artikels habe ich die Serverkomponente und Windows Client Komponente erfolgreich eingerichtet.
Starte ich meinen RTC, kann ich die Sprache auf russisch umstellen und die Anwendung ist auf russisch.
Nun wollte ich die Datenbank (Objekte) ebenfalls mit einer russischen Sprachschickt ausstatten, also habe ich mir die RU Sprachschicht runtergeladen und mit o.g. MSDN Artikel "installiert".
Blöd gelaufen.
Die Anwendung ist zwar auf russisch, jegliche Captions werden aber nicht korrekt angezeigt (siehe Screenshot, russische Anwendungscaptions sind grün hinterlegt).
2014-11-05 11 53 37.jpg



Was ich aber ebenfalls ausprobiert habe:
Ich habe mir eine NAV 2013 R2 RU Version aus dem Partnersource besorgt und die Demo Datenbank eingebunden.
Gestartet mit dem gleichen Client -> alles sieht wunderbar aus, auch die russischen Captions sind korrekt eingetragen (siehe ebenfalls Screenshot).
navru.png


Was ich beim Vergleich der beiden Datenbanken festgestellt habe, ist dass die Kollationen abweichen.
NAVDACH Version: Latin1_General_100_CS_AS
NAVRU Version: Cyrillic_General_100_CS_AS

Versuche ich nun, die Kollation von der NAVDACH Version auf Cyrillic zu stellen, bekomme ich hunderttausend Fehlermeldungen von Schemen und VSIFTs und sonstwas.


Hat jemand von euch vielleicht Erfahrung, eine deutsche NAV Datenbank mit einer russischen Sprachschicht auszustatten?


Viele Grüße
dannyt
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von dannyt am 19. November 2014 12:59, insgesamt 1-mal geändert.

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 14:48

Eventuell kommt man da mit den Empfehlungen hier weiter (Englisch + Russisch):
https://community.dynamics.com/nav/f/34/t/122278.aspx

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 15:11

Hallo Kai,

leider nur bedingt.
Folge ich den Anweisungen von Roberto Stefanetti und versuche, die Kollation über NAV zu ändern, bekomme ich folgende Fehlermeldung:
Ihre Änderungen der Einstellungen zur Datenbanksortierung sollen in die Datenbankänderung einfließen.

Sie können die Sortierung nur ändern, wenn die Einstellung 'Sortierung überprüfen' bereits vor dem Ändern der Datenbank überprüft wurde.


Setze ich den Haken bei "Sortierung überprüfen", ist die Kollation Belarusian [...} nicht mehr verfügbar :-(


VG

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 16:02

Hallo Danny,

ich denke der folgende Artikel sollte dein Problem lösen: How to: Add Translated Strings for Conflicting Text Encoding Formats.

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 17:00

Hallo Carsten,

vielen Dank für den Artikel!
Dieser löst mein Problem quasi, aber nur bedingt *g*

Ich habe das Szenario einmal durchgespielt und habe testweise das Feld "Nr." beim Debitor übersetzt.
Dieses wird nun auch korrekt im RTC angezeigt :-)

Aber:
Ich soll doch nun nicht händisch alle Captions jeglicher Tabellen und Felder in meine Datei einpflegen, oder?
Es gibt doch bestimmt einen Weg, dies zu automatisieren, oder z.B. die .FLM Datei in eine "translations.txt" "zu konvertieren"?


Mal ganz blöd gefragt:
Wozu genau ist dann eigentlich die russische .FLM, wenn ich diese nicht verwenden kann?

Und - wie bekommt Microsoft selbst es hin, die russischen Captions zu hinterlegen? In der CRONUS RU Datenbank habe ich ja auch keine "translations.txt" Datei, hier ist es ja auch direkt in den CaptionML-Properties?

Und - eine Frage habe ich noch :-) - wenn wir zukünftig Individualanpassungen für diesen Kunden vornehmen, müssen jegliche russischen Captions in dieser Datei abgelegt werden?

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 18:10

dannyt hat geschrieben: In der CRONUS RU Datenbank habe ich ja auch keine "translations.txt" Datei, hier ist es ja auch direkt in den CaptionML-Properties?

Die werden dann ja Teil der Metadaten, und danach werden die nicht mehr benötigt. Ab 2013 R2 übernimmt der Server wegen der Multi-Tenancy ja ohnehin die Codeverwaltung, die vorher C/SIDE übernahm.
MSDN hat geschrieben:Microsoft Dynamics NAV Server adds the translated strings in the file to the metadata store for the Microsoft Dynamics NAV deployment.


dannyt hat geschrieben:oder z.B. die .FLM Datei in eine "translations.txt" "zu konvertieren"?

Das macht der Entwickungsumgebung. Man importiert die binäre .flm und kann dann eine Textdatei für die Captions durch den Translate-Export für diese Sprachlayer erzeugen.
Der Import einer .flm ist unkritisch, aber der Import einer Translation-Datei in eine veränderte Codeumgebung ruiniert ggf. den Code, den Effekt hatte ich hier neulich. Deswegen Export-/Reimport einer Sprachdatei nur innerhalb einer zwischenzeitlich nicht veränderten Datenbank, nie zum verteilen nutzen, das geht nur mit .flm.

Re: Russische Sprachschicht mit NAVDACH

5. November 2014 19:08

Ich hab das nun endlich auch mal gemacht, allerdings für Dynamics NAV 2015. Sollte aber für die Version 2013 R2 gleichermaßen funktionieren:

1. Sprachpaket heruntergeladen und entpackt
2. Sprachdateien für den Windows Client per MSI installiert
3. Sprachdateien für den Dynamics NAV Server per MSI installiert
4. Sprachdateien für den Web Client per MSI installiert
5. Sprachdateien für den Hilfeserver per MSI installiert
6. FLM in der Entwicklungsumgebung per Tools -> Language Module -> Import importiert (vorher ALLE Objekte markiert)
7. Abschließend per Tools -> Translate -> Export die Datei als RUS.txt ins Temp-Verzeichnis exportiert
8. Datei RUS.txt mit Notepad geöffnet, dann Speichern unter gewählt und unter RUS_UTF8.txt im Format UTF-8 im Verzeichnis Server\Translation gespeichert
9. Neustart des Dynamics NAV Servers und Windows Clients.

* Wichtig: von Schritt 6-8 muss die Sprache für Nicht-Unicode-Programme der der Sprachdatei entsprechen. Ansonsten hast du (selbstverständlich) wieder nur Kaudawelsch anstatt Russisch.
* Es ist empfehlenswert, nur die jeweilige Sprache in die Textdatei zu exportieren und darstellbare Sprachen (wie de-DE und en-US) weiterhin normal nur aus den Captions der Datenbank zu holen.

Nun den Windows Client starten und Sprache auf RUS umstellen. Voila...

Re: Russische Sprachschicht mit NAVDACH

6. November 2014 10:50

dannyt hat geschrieben:Was ich beim Vergleich der beiden Datenbanken festgestellt habe, ist dass die Kollationen abweichen.
NAVDACH Version: Latin1_General_100_CS_AS
NAVRU Version: Cyrillic_General_100_CS_AS

Daraus ergibt sich auch weiterhin ein unterschiedliches Sortier- und Filterungsverhalten der beiden Datenbanken.

Re: Russische Sprachschicht mit NAVDACH

6. November 2014 11:00

Hallo Carsten,

vielen Dank für deinen Workaround.
Ich habe es gerade auch einmal durchgegangen und habe leider noch das gleiche Problem.

Ich bin wie folgt vorgegangen:
Da ich auf meinem Rechner sehr viele NAV Dienste am laufen habe, habe ich die MSI übersprungen und nur die Binärdateien in die jeweiligen Programmverzeichnisse gepackt (hat ja bei der NAVRU Version auch funktioniert).
Anschließend habe ich meinen DevClient auf Russisch umgestellt (das Menü ist überall "kaputt") und bin die Schritte 6-9 genau so durchgegangen, wie du es getan hast.
Muss die Windows-Sprache hierbei auch umgestellt werden, oder reicht es, die DevClient Sprache auf RUS zu ändern?

Re: Russische Sprachschicht mit NAVDACH

6. November 2014 12:31

Hallo Danny,

du musst zwingend die Sprache für nicht-Unicode Programme umstellen und dich dann neu anmelden.

Region.png

Die Entwicklungsumgebung ist eine Nicht-Unicode Anwendung, kann also nur mit einer spezifischen Codepage arbeiten. Wenn du den russischen Sprachlayer exportierst, muss dementsprechend diese Einstellung auch Russisch sein, ansonsten bekommst du das Buchstaben-Kaudawelsch, welches du schon kennst.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Russische Sprachschicht mit NAVDACH

6. November 2014 14:01

Hallo Carsten,

wieder was dazu gelernt, das kannte ich noch gar nicht unter Windows :-)

Vielen Dank für den Tipp, nun hat es bei mir funktioniert!!!

Lediglich in einigen Überschriften habe ich noch "kaputte" Zeichen:
2014-11-06 12 57 28.jpg


Hast Du eine Idee, woran das liegen könnte?

Was ich auch noch nicht so ganz verstehe:
Schaue ich mir die RUS.txt nun an (Notepad oder Notepad++), sind die russischen Captions nach wie vor Kauderwelsch, obwohl ich es als UTF-8 gespeichert habe.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Russische Sprachschicht mit NAVDACH

6. November 2014 14:48

Ein massives Problem habe ich leider noch, wenn ich mich mal näher umsehe.
Die MenuSuite ist völlig zerschossen, lediglich in den Pages sieht alles gut aus (Actions usw. werden korrekt dargestellt).
2014-11-06 13 47 34.jpg


Sahen die MenuSuites bei Dir auch so aus, Carsten?

Eingebunden habe ich jetzt mal die originale exportierte RUS.txt Datei (inkl. DEU/ENU).
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Russische Sprachschicht mit NAVDACH

7. November 2014 14:27

Hallo Danny,

um ehrlich zu sein, jetzt wo ich mal nachgeschaut habe: ja. Kann ich mir derzeit nicht erklären. Vielleicht hat jemand anders eine Idee?

Re: Russische Sprachschicht mit NAVDACH

10. November 2014 15:01

Kein Problem.
Ich habe hierzu mal einen Support Case bei euch eröffnet :-)
Wenn ich etwas Neues hierzu habe, melde ich mich wieder.

Re: [gelöst] Russische Sprachschicht mit NAVDACH

19. November 2014 13:01

Das Problem konnte durch ein PowerShell Script von Carsten gelöst werden.

Hier die komplette Anleitung:

• Restore fresh Dynamics NAV 2013 R2 database and apply CU 13 (7.1.38455)
• Set Non-Unicode/System Language to Russian (Codepage 1049/866) and restart.
• Open Development Environment.
• Mark all objects, import "RUS.flm" from Database folder
• Export Translation as "Translation ALL.txt"
• Use custom PowerShell tool to remove all translations except RUS/1049. Let the file auto-convert to UTF-8. Name it "Language RUS UTF8.txt"
DeleteTranslation "Translation ALL.txt" "Translation RUS UTF8.txt" "1031,1033" 866 utf-8
• Set Non-Unicode/System Language back to original setting and restart.
• Copy file "Language RUS UTF8.txt" to Translations Service folder.
• Start Windows Client, set Language to Russian and enjoy


Das PS-Skript liegt als Anhang bei.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: [gelöst] Russische Sprachschicht mit NAVDACH

16. Dezember 2014 17:53

Zum optionalen Wechsel der Collation ist kürzlich ein MSDN-Artikel erschienen:
How to change the collation on a Microsoft Dynamics NAV 2013 R2 database