Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS [Fmx, iOS] Sprachausgabe von Zahlen hat länderspezifische Probleme (https://www.delphipraxis.net/192426-%5Bfmx-ios%5D-sprachausgabe-von-zahlen-hat-laenderspezifische-probleme.html)

Rollo62 17. Apr 2017 20:29


[Fmx, iOS] Sprachausgabe von Zahlen hat länderspezifische Probleme
 
Hallo zusammen,

hat das vieleicht schonmal jemand gefunden:

Die simple Sprachausgabe von Zahlen, hier auf iOS9, wird fehlerhaft interptetiert und gesprochen
z.B. konkret unter Sprache und Regio NL (Dutch)
2,13 --> 2 Komma 1 3 (OK)
2,013 --> 2 Tausend 13

Bei Deutsch ist es korrekt (es sollte immer mit Komma sein).

Jetzt frage ich mich wo und auf welchen Platformen finde ich wohl noch solche Probleme,
und was könnte man dagegen tun ?

Ich habe die Decimal/ThousandsSeparatoren in alle Richtungen ausprobiert, im Moment habe
ich bei NL Decimal = "," und Thousand = #0 gesetzt.
Es bleibt aber immer falsch gesprochen, egal wie man es setzt.

Die einzige Lösung wäre jeweils selber die Zahl in String-Sprachteile zu zerlegen, und das dann noch
für jede defekte Sprachengine womöglich anders.
Das hört sich nach einer Herkulesaufgabe an ...
Gibt es da vielleicht eine fertige Funktion irgendwo ?

Rollo

himitsu 17. Apr 2017 20:32

AW: [Fmx, iOS] Sprachausgabe von Zahlen hat länderspezifische Probleme
 
Rate mal, warum dieses Trennzeichen in vielen Sprachen Dezimalpunkt und nicht Dezimalkomma heißt. :roll:

Rollo62 17. Apr 2017 20:43

AW: [Fmx, iOS] Sprachausgabe von Zahlen hat länderspezifische Probleme
 
Irgendwo in verschiedenen ISO Definitionen habe ich gelesen das EU weit eigentlich Komma gilt, wie z.B. im Link.

Das ist aber nicht mein Problem, sondern das in NL er nicht richtig spricht, je nachdem welche Zahl drinsteht.

Punkt und Komma habe ich natürlich ausprobiert, beides geht nicht, sogar verschiedene UTF-8 Komma/Punkt Varianten.

Edit
Ich denke auch das DecimalSeparator hier gar nicht relevant ist.
Denn ich gebe ja einen String an die Tts-Engine, und die spricht es aus.
Natürlich muss die Tts-Engine Punkt oder Komma entsprechend richtig beachten, darauf habe ich glaube ich aber
keinen Einfluss.
Ich kann lediglich den EingabeString verändern.

Rollo


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz