ನಮ್ಮ 42 ಭಾಷೆಗಳಲ್ಲಿ 14ರಲ್ಲಿ, "one" ಎಂದು ಕರೆಯಲ್ಪಡುವ ಬಹುವಚನ ರೂಪವು ಕೇವಲ 1ಕ್ಕಾಗಿ ಮಾತ್ರವಲ್ಲ
ಭಾಷೆಗಳು
ಒಂದು ಆ್ಯಪ್ನ ಸ್ಟ್ರಿಂಗ್ "One habit left today"ಗೆ ಬಹುವಚನ ಸಂಗಾತಿ "%d habits left today" ಇದೆ. Android ಅವುಗಳ ನಡುವೆ ವರ್ಗದ ಆಧಾರದ ಮೇಲೆ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ: ಇಂಗ್ಲಿಷ್ನಲ್ಲಿ 1ಕ್ಕಾಗಿ "one" ಮತ್ತು ಉಳಿದ ಎಲ್ಲಕ್ಕೂ "other" ಬಳಸಲಾಗುತ್ತದೆ. ರಷ್ಯನ್ನಲ್ಲಿ "one" ವರ್ಗವನ್ನು 1, 21, 31, 41 ಮತ್ತು ಹೀಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ನಮ್ಮ ಅನುವಾದ ಪರಿಶೀಲನೆಯು ಅದೇ ದಿನ ಎರಡು ಬಾರಿ, ಪ್ರತಿಯೊಂದು ದಿಕ್ಕಿನಲ್ಲಿ ಒಮ್ಮೆ, ಇದನ್ನು ತಪ್ಪಾಗಿ ಗುರುತಿಸಿತು.
ಸರಿಯಾದ ಅನುವಾದವನ್ನು ಅದು ತಿರಸ್ಕರಿಸಿತು
2 ನವೆಂಬರ್ನಲ್ಲಿ ನಮ್ಮ ಅನುವಾದ ಸಾಫ್ಟ್ವೇರ್ ಕಿಟ್ ಅನ್ನು ಅದರ ಉದಾಹರಣೆ ಆ್ಯಪ್ನ ಮೇಲೆ ಮತ್ತೆ ನಡೆಸಿದೆವು. ರಷ್ಯನ್ನ "one"ಗಾಗಿ ಮಾದರಿಯು "Осталась %d привычка на сегодня" ಎಂದು ಬರೆದಿತು: "%d habit left today", ಸಂಖ್ಯೆಯೊಂದಿಗೆ. ನಮ್ಮ ಪರಿಶೀಲನೆಯು ಅದನ್ನು ಇಂಗ್ಲಿಷ್ನ "one" ರೂಪದೊಂದಿಗೆ ಹೋಲಿಸಿ, ಇಂಗ್ಲಿಷ್ನಲ್ಲಿ ಇಲ್ಲದ %d ಅನ್ನು ಕಂಡುಕೊಂಡು, ಅದನ್ನು ಕಲ್ಪಿಸಲಾದ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಎಂದು ತಿರಸ್ಕರಿಸಿತು. ಮಾದರಿ ಸರಿಯಾಗಿತ್ತು. 21 ಅಭ್ಯಾಸಗಳು ಉಳಿದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಈ ರೂಪ ಸಿಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದು ಸಂಖ್ಯೆಯನ್ನು ತೋರಿಸಬೇಕು. ನಾವು ಪರಿಶೀಲನೆಯನ್ನು ಬದಲಾಯಿಸಿದೆವು: ಒಂದು ರೂಪವು ಇಂಗ್ಲಿಷ್ನ "other" ರೂಪವು ಬಳಸುವ ಎಣಿಕೆಯನ್ನು ಸೇರಿಸಬಹುದು. ಮುಂದಿನ ರನ್ ಉದಾಹರಣೆಯ ಎಲ್ಲಾ 350 ಸ್ಟ್ರಿಂಗ್ಗಳನ್ನು ಬರೆದಿತು.
ತಪ್ಪಾದ ಅನುವಾದವನ್ನು ಅದು ಉತ್ತೀರ್ಣಗೊಳಿಸುತ್ತಿತ್ತು
ಅದೇ ಪರಿಶೀಲನೆಯು ವಿರುದ್ಧವಾದದ್ದನ್ನು ಒಪ್ಪಿಕೊಂಡಿತು. ಮಾದರಿಯು "Осталась одна привычка" ("one habit left") ಎಂದು ಬರೆದಿದ್ದರೆ, ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಏನೂ ಕಳೆದುಹೋಗದಿದ್ದರಿಂದ ಅದು ಉತ್ತೀರ್ಣಗೊಳ್ಳುತ್ತಿತ್ತು, ಮತ್ತು 21 ಅಭ್ಯಾಸಗಳು ಉಳಿದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಅವರಿಗೆ ಒಂದು ಅಭ್ಯಾಸ ಉಳಿದಿದೆ ಎಂದು ಹೇಳಲಾಗುತ್ತಿತ್ತು. ಹಳೆಯ ನಿಯಮವು ಯಾವುದೇ "one" ರೂಪವು ಸಂಖ್ಯೆಯನ್ನು ಕೈಬಿಡಲು ಅನುಮತಿಸಿತು, ಏಕೆಂದರೆ ಇಂಗ್ಲಿಷ್ನಲ್ಲಿ "one" ಎಂದರೆ ಕೇವಲ 1.
ಈಗ ಪರಿಶೀಲನೆಯು ಪ್ರತಿ ವರ್ಗವು ಯಾವ ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಎಂಬುದನ್ನು CLDR, Android ಮತ್ತು ICU ಬಳಸುವ ಯೂನಿಕೋಡ್ ಬಹುವಚನ ನಿಯಮಗಳಿಂದ ತಿಳಿದುಕೊಳ್ಳುತ್ತದೆ. ಹಲವು ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ವರ್ಗಕ್ಕಾಗಿ ಒಂದು ರೂಪವು ಸಂಖ್ಯೆಯನ್ನು ತೋರಿಸಬೇಕು. ಒಂದೇ ಸಂಖ್ಯೆಗಾಗಿ ಒಂದು ರೂಪವು ಅದನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು: ಜರ್ಮನ್ನ "one" ಕೇವಲ 1 ಆಗಿರುವುದರಿಂದ, "Noch eine Gewohnheit" ಅಲ್ಲಿ ಸರಿ.
"one" ಕೇವಲ 1 ಆಗಿಲ್ಲದಿರುವ ಕಡೆ
Babel 2.10 ತಿಳಿದಿರುವ CLDR ಡೇಟಾದ 41 ಗುರಿ ಭಾಷೆಗಳಲ್ಲಿ 14ರಲ್ಲಿ, "one" ಸಂಖ್ಯೆ 1ಕ್ಕಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಒಳಗೊಂಡಿದೆ:
- 1, 21, 31, 41…: ರಷ್ಯನ್, ಉಕ್ರೇನಿಯನ್, ಸರ್ಬಿಯನ್, ಮ್ಯಾಸೆಡೋನಿಯನ್.
- 0 ಮತ್ತು 1: ಫ್ರೆಂಚ್, ಪೋರ್ಚುಗೀಸ್, ಪರ್ಷಿಯನ್, ಆರ್ಮೇನಿಯನ್, ಕನ್ನಡ, ಪಂಜಾಬಿ, ಅಮ್ಹಾರಿಕ್. 0 ಅಭ್ಯಾಸಗಳಿಗೆ "Une habitude restante" ತೋರಿಸಲಾಗುತ್ತದೆ.
- 1 ಮತ್ತು 11: ಸ್ಕಾಟಿಷ್ ಗೇಲಿಕ್. 1, 101, 201…: ಸ್ಲೋವೇನಿಯನ್, ಇದರ "two" ಕೂಡ 102 ಮತ್ತು 202 ಆಗಿದೆ.
- 4, 6 ಅಥವಾ 9ನಲ್ಲಿ ಕೊನೆಗೊಳ್ಳದ ಪ್ರತಿ ಸಂಖ್ಯೆ: ಫಿಲಿಪಿನೋ.
ICU ಸಂದೇಶಗಳಲ್ಲಿ ಅದರದೇ ಆದ ಒಂದು ಶಾಖೆಯು ಇದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಸಂದೇಶದಲ್ಲಿ =0{…} ಇದ್ದಾಗ, ಫ್ರೆಂಚ್ನ "one" ಕೇವಲ 1 ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಪರಿಶೀಲನೆಯು ಅದನ್ನು ಪರಿಗಣಿಸುತ್ತದೆ.
Androidನ ಸ್ವಂತ ಸ್ಟ್ರಿಂಗ್ಗಳ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಲಾಗಿದೆ
ನಿಯಮವನ್ನು ರವಾನಿಸುವ ಮೊದಲು, ನಾವು Android ಫ್ರೇಮ್ವರ್ಕ್ ಸ್ಟ್ರಿಂಗ್ಗಳಲ್ಲಿನ ಬಹುವಚನ ಸಂದೇಶಗಳ ಮೇಲೆ ಅದನ್ನು ಚಲಾಯಿಸಿದೆವು: ನಮ್ಮ 39 ಭಾಷೆಗಳಲ್ಲಿ 897 ಅನುವಾದಗಳು. ಅದು ಯಾವುದನ್ನೂ ಗುರುತಿಸಲಿಲ್ಲ. Google ಅನುವಾದಕರು, ಇಂಗ್ಲಿಷ್ನಲ್ಲಿ 1 ಕ್ಕೆ ಸ್ವಂತ ಶಾಖೆ ಇರುವ ಸಂದರ್ಭಗಳಲ್ಲಿಯೂ ಸೇರಿದಂತೆ, ಹಲವಾರು ಸಂಖ್ಯೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪ್ರತಿ ಶಾಖೆಯಲ್ಲಿ ಸಂಖ್ಯೆಯನ್ನು ಇರಿಸಿದ್ದಾರೆ, ರಷ್ಯನ್ "one" ಸೇರಿದಂತೆ. ನಾವು ಒಂದು ರಷ್ಯನ್ "one" ಶಾಖೆಯಿಂದ ಸಂಖ್ಯೆಯನ್ನು ಕೈಯಾರೆ ತೆಗೆದಾಗ, ಪರಿಶೀಲನೆಯು 21, 31, 41 ಮತ್ತು 51 ಕ್ಕೂ ಸಹ ಅದೇ ರೂಪವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಎಂದು ಹೇಳಿತು.
ನಿಯಮವು translation-checks 1.2.0 ನಲ್ಲಿ ಇದೆ, GitHub ನಲ್ಲಿ ಉಚಿತವಾಗಿದೆ, ICU ಸಂದೇಶಗಳಿಗಾಗಿ, ಮತ್ತು Android ಬಹುವಚನಗಳು ಹಾಗೂ ICU ಸಂದೇಶಗಳೆರಡಕ್ಕೂ Polyglot 1.2.0 ನಲ್ಲಿ ಇದೆ. ಈ ವಾರ ನಾವು ಸೇರಿಸಿದ ಇತರ ಪರಿಶೀಲನೆಗಳು ಇತರ ಲಿಪಿಯ ಅಕ್ಷರಗಳ ಬಗ್ಗೆ ಟಿಪ್ಪಣಿಯಲ್ಲಿ ಇವೆ.