@@ -34,16 +34,30 @@ let prepAnnotationConversionDict = [
3434
3535// Converts full gender names to abbreviations (e.g., "feminine" → "F")
3636func convertFullGenderToAbbr( _ genderFull: String ) -> String {
37- let genderMap : [ String : String ] = [
38- " feminine " : " F " ,
39- " masculine " : " M " ,
40- " neuter " : " N " ,
41- " common " : " C " ,
42- " common of two genders " : " C " ,
43- " PL " : " PL "
44- ]
45-
46- return genderMap [ genderFull. lowercased ( ) ] ?? genderFull
37+ let genderMap : [ String : String ] = [
38+ " feminine " : " F " ,
39+ " masculine " : " M " ,
40+ " neuter " : " N " ,
41+ " common " : " C " ,
42+ " common of two genders " : " C " ,
43+ " PL " : " PL "
44+ ]
45+
46+ return genderMap [ genderFull. lowercased ( ) ] ?? genderFull
47+ }
48+
49+ // Converts full preposition to abbreviations
50+ func convertFullPrepositionToAbbr( _ prepositionFull: String ) -> String {
51+ let prepositionMap : [ String : String ] = [
52+ " genitive case " : " Gen " ,
53+ " accusative case " : " Acc " ,
54+ " dative case " : " Dat " ,
55+ " locative case " : " Loc " ,
56+ " prepositional case " : " Pre " ,
57+ " instrumental case " : " Ins "
58+ ]
59+
60+ return prepositionMap [ prepositionFull. lowercased ( ) ] ?? prepositionFull
4761}
4862
4963/// The base function for annotation that's accessed by `typedWordAnnotation`.
@@ -77,6 +91,9 @@ func wordAnnotation(wordToAnnotate: String, KVC: KeyboardViewController) {
7791 let combinedNounForm = allAnnotations. joined ( separator: " / " )
7892
7993 prepAnnotationForm = LanguageDBManager . shared. queryPrepForm ( of: wordToAnnotate. lowercased ( ) ) [ 0 ]
94+ if !prepAnnotationForm. isEmpty {
95+ prepAnnotationForm = convertFullPrepositionToAbbr ( prepAnnotationForm)
96+ }
8097
8198 hasNounForm = !combinedNounForm. isEmpty
8299 hasPrepForm = !prepAnnotationForm. isEmpty
0 commit comments