generated from knso/webklar-preview-template
App: Sprachen von 9 auf 27 erweitert + RTL-Darstellung repariert
Neue Zielsprachen fuer die groessten Sprachgemeinschaften in Deutschland, u. a. Kurdisch (Kurmanci), Bulgarisch, Kroatisch/Serbisch/Bosnisch, Albanisch, Italienisch, Griechisch, Spanisch, Vietnamesisch, Hindi, Urdu, Paschtu, Tigrinya, Somali, Chinesisch. Liste nach Groesse der Gemeinschaft in Deutschland sortiert. Ausserdem: Sprache bekommt ein rtl-Flag. Arabisch und Farsi wurden bisher linksbuendig dargestellt, was bei diesen Schriften falsch ist — jetzt laufen Kernaussage, Erklaerung, To-dos und Fachbegriff-Erklaerungen bei ar/fa/ur/ps von rechts nach links (der deutsche Fachbegriff bleibt links). Neuer Test sprachen.test.ts schuetzt vor doppelten Codes (die wuerden den Uebersetzungs-Cache ueberschreiben). 35 Tests gruen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8dc9074691
commit
464e9b109f
3 files changed
+77
-10
No files matched your search
@@ -72,6 +72,11 @@ export function AnalyseScreen({ navigation, route }: Props) {
|
||||
const checkliste = cache?.checkliste ?? analyse.checkliste;
|
||||
const fachbegriffe = cache?.fachbegriffe ?? analyse.fachbegriffe;
|
||||
|
||||
// Arabisch, Farsi, Urdu, Paschtu laufen von rechts nach links. Ohne das
|
||||
// steht der übersetzte Text linksbündig und liest sich falsch.
|
||||
const rtl = !!sprache.rtl;
|
||||
const rtlText = rtl ? ({ writingDirection: 'rtl', textAlign: 'right' } as const) : null;
|
||||
|
||||
const sprscheWaehlen = async (neu: Sprache) => {
|
||||
setSprachwahlOffen(false);
|
||||
setSprache(neu);
|
||||
@@ -221,8 +226,8 @@ export function AnalyseScreen({ navigation, route }: Props) {
|
||||
|
||||
{/* ── Das ist passiert ── */}
|
||||
<Text style={styles.kicker}>Das ist passiert</Text>
|
||||
<Text style={styles.kernaussage}>{kernaussage}</Text>
|
||||
<Text style={styles.erklaerung}>{erklaerung}</Text>
|
||||
<Text style={[styles.kernaussage, rtlText]}>{kernaussage}</Text>
|
||||
<Text style={[styles.erklaerung, rtlText]}>{erklaerung}</Text>
|
||||
|
||||
{/* ── Das müssen Sie tun ── */}
|
||||
{checkliste.length > 0 && (
|
||||
@@ -235,7 +240,7 @@ export function AnalyseScreen({ navigation, route }: Props) {
|
||||
return (
|
||||
<Pressable
|
||||
key={i}
|
||||
style={styles.todoZeile}
|
||||
style={[styles.todoZeile, rtl && { flexDirection: 'row-reverse' as const }]}
|
||||
onPress={() => setErledigt((e) => ({ ...e, [i]: !e[i] }))}
|
||||
accessibilityRole="checkbox"
|
||||
accessibilityState={{ checked: fertig }}
|
||||
@@ -247,7 +252,7 @@ export function AnalyseScreen({ navigation, route }: Props) {
|
||||
<Text style={styles.todoNummer}>{i + 1}</Text>
|
||||
)}
|
||||
</View>
|
||||
<Text style={[styles.todoText, fertig && styles.durchgestrichen]}>{punkt}</Text>
|
||||
<Text style={[styles.todoText, fertig && styles.durchgestrichen, rtlText]}>{punkt}</Text>
|
||||
</Pressable>
|
||||
);
|
||||
})}
|
||||
@@ -264,7 +269,7 @@ export function AnalyseScreen({ navigation, route }: Props) {
|
||||
{fachbegriffe.map((f, i) => (
|
||||
<View key={i} style={styles.begriffKarte}>
|
||||
<Text style={styles.begriff}>{f.begriff}</Text>
|
||||
<Text style={styles.begriffText}>{f.erklaerung}</Text>
|
||||
<Text style={[styles.begriffText, rtlText]}>{f.erklaerung}</Text>
|
||||
</View>
|
||||
))}
|
||||
</View>
|
||||
|
||||
Reference in new issue
Block a user